Softwere Requirment

Download Report

Transcript Softwere Requirment

‫الفصل السادس‬
‫متطلبات البرمجيات‬
‫‪Software Requirements‬‬
‫مقدمة‬
‫‪‬‬
‫تبين مجموعة المتطلبات ما يجب أن يقوم به النظام وتقوم‬
‫بتعريف القيود على تشغيل هذا النظام وتنفيذه‪ ،‬وتبين مجموعة‬
‫المتطلبات الوظيفية الخدمات التى يوفرها النظام‪ ،‬وتبين مجموعة‬
‫المتطلبات غير الوظيفية القيود التى يتم خاللها تطوير النظام‪.‬‬
‫نماذج عمليات البرمجيات‬
‫‪Software Process Models‬‬
‫‪‬‬
‫نموذج الشالل أو النموذج اإلنحدارى ‪Waterfall Model‬‬
‫‪‬‬
‫النماذج المتزايدة ‪Incremental Models‬‬
‫‪‬‬
‫‪‬‬
‫النموذج التزايدى‪ :‬يسلم البرمجيات فى قطع صغيرة قابلة‬
‫لإلستخدام تتراكب كل قطعة منها على القطع السابقة‪.‬‬
‫نموذج التطبيق والتطوير المفاجئ اإلستخدام المكثف لمكونات‬
‫إعادة اإلستخدام مع دورة تطوير قصيرة نسبيا‪.‬‬
‫نماذج العمليات اإلرتقائية‬
‫‪Evolutionary Process Models‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫النموذج األولى ‪ :Prototype Model‬خطوة أولى جيدة عندما تكون‬
‫للمستهلك حاجة ممكنة لكن بدون تفاصيل عملية فإن المطور يحتاج‬
‫مقاومة الضغط بعمل نموذج أولى تمهيدى إلنتاج المنتج‪.‬‬
‫النموذج الحلزونى ‪ :Spiral Model‬يجمع بين طبيعة النموذج‬
‫األولى مع خصائص التحكم والعمل التقليدى للنموذج الخطى المتتالى‪.‬‬
‫نموذج التطوير المتزامن ‪ :Concurrent Development Model‬يشبه‬
‫النموذج الحلزونى وغالبا ما يستخدم عند تطوير تطبيقات العميل‬
‫الخادم‪.‬‬
‫دورة حياة تطوير البرمجيات‬
‫‪Software Development Life Cycle‬‬
‫‪‬‬
‫هندسة البرمجيات عمل إبداعى يتم خطوة بخطوة بتعاون فريق عمل لكل‬
‫منهم مهمة محددة بإستخدام طرق معينة لتنظيم العمل‪ ،‬وتمر عملية بناء أى‬
‫منتج برمجى بعدة مراحل يطلق عليها أسم دورة الحياة وتتضمن األنشطة‬
‫التالية‪:‬‬
‫‪‬‬
‫تحديد وتعريف المتطلبات‪.‬‬
‫‪‬‬
‫تصميم النظام‪.‬‬
‫‪‬‬
‫كتابة البرنامج‪.‬‬
‫‪‬‬
‫إختبار وحدات البرنامج واختبار النظام‪.‬‬
‫‪‬‬
‫تسليم النظام‪.‬‬
‫‪‬‬
‫صيانة النظام‪.‬‬
‫مرحلة تجميع المتطلبات‬
‫‪Requirements Engineering‬‬
‫تتم هذه المرحلة على خطوتين هما‪:‬‬
‫‪‬‬
‫دراسة السوق وتجميع متطلبات البرنامج‪.‬‬
‫‪‬‬
‫تحليل المتطلبات وفهم العالقات بينهم‪.‬‬
‫خطوات تحديد المتطلبات‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اإلجتماعات مع العميل للتعرف على المتطلبات‪.‬‬
‫تسجيل المتطلبات فى وثائق أو قاعدة بيانات‪ ،‬وعرضها على‬
‫العميل ليوافق عليها بإعتبار أنها ما يطلبه بالفعل‪.‬‬
‫إعادة تسجيل التطلبات رياضيا ليتمكن المصمم من تحويلها إلى‬
‫تصميم جيد للنظام‪.‬‬
‫التثبت والتحقق من المتطلبات‪.‬‬
‫هندسة المتطلبات‬
‫‪Requirements Engineering‬‬
‫‪‬‬
‫هى عملية إنجاز الخدمات التى يطلبها المستهلك من النظام‬
‫والقيود التى يعمل ويطور فيها النظام‪ ،‬المتطلبات نفسها هى‬
‫وصف لخدمات النظام والقيود التى تتولد خالل عملية هندسة‬
‫المتطلبات‪.‬‬
‫تجريد وتلخيص المتطلبات‬
‫‪Requirements Abstraction‬‬
‫‪‬‬
‫إذا أرادت شركة عمل عقد لتطوير مشروع برمجيات كبير فيجب‬
‫عليها تعريف إحتياجاتها بملخص مجرد بطريقة ال تحتاج إعادة‬
‫تعريف هذا الحل‪ ،‬ويجب أن تكتب المتطلبات حتى يتمكن‬
‫المقاولون من استبيان العقد والعروض وعرض إحتياجات العميل‬
‫بطرق مختلفة‪ ،‬وما أن يتم كتابة العقد حتى يجب على المقاول أن‬
‫يقوم بكتابة تعريف النظام للمستهلك بتفاصيل أكثر حتى يتمكن‬
‫العميل من الفهم ويتحقق مما تفعله البرمجيات‪ ،‬وكال من هذين‬
‫المستندين هما مستندات متطلبات النظام‪.‬‬
‫أنواع المتطلبات‬
‫‪Types of Requirements‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫متطلبات مستخدم‪ :‬جمل بلغة طبيعية مع أشكال توضيحية‬
‫للخدمات التى يوفرها النظام وقيود التشغيل مكتوبة‬
‫للمستهلك‪.‬‬
‫متطلبات النظام‪ :‬وثيقة هيكلية تبين الوصف التفصيلى‬
‫لخدمات النظام‪ ،‬مكتوبة كعقد بين المقاول والمستهلك‪.‬‬
‫مواصفات البرمجيات‪ :‬وصف تفصيلى للبرمجيات يعمل‬
‫كأساس لتصميم وتنفيذ‪ ،‬مكتوب لمطورى النظام‪.‬‬
‫تعريف المتطلبات ومواصفات المتطلبات‬
‫‪Definitions and Specifications‬‬
‫‪‬‬
‫‪‬‬
‫قراء المتطلبات‪:‬‬
‫تقوم كل من األطراف التالية بقراءة المتطلبات‬
‫والمواصفات‪:‬‬
Requirements readers
User requirements
Client managers
System end-users
Client engineers
Contractor managers
System architects
System requirements
System end-users
Client engineers
System architects
Software developers
Software design
specification
Client engineers (perhaps)
System architects
Software developers
‫المتطلبات الوظيفية وغير الوظيفية‬
‫‪Functional and non functional Requirements‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫المتطلبات الوظيفية‪ :‬يجب توفير بيان وافادة وعرض الخدمات‬
‫التى يوفرها النظام‪ ،‬وكيف يجب للنظام أن يتعامل مع المدخالت‬
‫المعينة‪ ،‬وكيفية تصرف النظام فى مواقف معينة‪.‬‬
‫متطلبات المجال‪ :‬المتطلبات التى تأتى من مجال التطبيق للنظام‬
‫والخصائص المنعكسة من هذا المجال‪.‬‬
‫المتطلبات الغير وظيفية‪:‬‬
‫تعريف خصائص النظام والقيود‪ :‬مثل اإلعتمادية وزمن اإلستجابة‬
‫ومتطلبات التخزين ‪.....‬‬
‫التصنيفات الغير وظيفية‬
‫‪Non functional Classifications‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫متطلبات المنتج‪ :‬وهى متطلبات مواصفات تصرف المنتج المسلم‬
‫بكريقة معينة مثل سرعة التنفيذ واإلعتمادية وغيرها‪.‬‬
‫المتطلبات التنظيمية‪ :‬وهى متطلبات تعبر عن نتائج سياسات‬
‫المنظمة واإلجراءات مثل المعايير المستخدم‪ ،‬ومتطلبات التنفيذ‬
‫وغيرها‪.‬‬
‫المتطلبات الخارجية‪ :‬وهى متطلبات تنشأ من عوامل خارج النظام‬
‫وعمية تطويره مثل متطلبات السلطة التشريعية وغيرها‪.‬‬
‫أنواع المتطلبات غير الوظيفية‬
‫‪Non – Functional Requirements types‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تضم ‪ :‬متطلبات المنتج مثل المتطلبات اإلعتمادية ومتطلبات‬
‫قابلية النقل ومتطلبات قابلية اإلستخدام ومتطلبات الكفاءة‪.‬‬
‫المتطلبات التنظيمية‪ :‬وتضم متطلبات التسليم ومتطلبات التنفيذ‬
‫ومتطلبات المعايير‪.‬‬
‫متطلبات خارجية وتضم‪ :‬متطلبات قابلية اإلجراء ومتطلبات‬
‫أخالقية ومتطلبات تشريعية‪.‬‬
Non-functional requirement types
Non-functional
requir ements
Product
requir ements
Ef ficiency
requir ements
Reliability
requir ements
Usability
requirements
Performance
requirements
Or ganizational
requir ements
Portability
requirements
Delivery
requirements
Space
requir ements
External
requirements
Interoperability
requirements
Implementation
requir ements
Ethical
requirements
Standards
requirements
Legislative
requirements
Privacy
requirements
Safety
requirements
‫األهداف والمتطلبات‬
‫‪Goals and Requirements‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اليمكن تحديد المتطلبات الغير وظيفية بدقة كما أن المتطلبات‬
‫الغامضة يصعب تحقيقها‪.‬‬
‫الهدف‪ :‬مقصد عام يتحقق للمستخدم مثل سولة اإلستخدام‪.‬‬
‫تساعد األهداف المطور على بلوغ وتحقيق رغبات ومقاصد‬
‫مستخدمى النظام‪.‬‬
‫تفاعل المتطلبات‪:‬‬
‫التنازع بين المتطلبات الغير وظيفية امختلفة أمر شائع فى النظم‬
‫المعقدة‪.‬‬
‫متطلبات المجال‬
‫‪Domain Requirements‬‬
‫‪‬‬
‫مستخرج من مجال تطبيق ووصف خصائص نظم والمالمح التى‬
‫تعكس المجال وقد تكون متطلبات وظيفية جديدة أو قيدا على‬
‫متطلبات موجودة أو تعريف عمليات حسابية معينة‪.‬‬
‫مشاكل متطلبات المجال‪:‬‬
‫‪‬‬
‫‪‬‬
‫قدرة الفهم‪ :‬فالمتطلبات يعبر عنها بلغة مجال التطبيق وهذا غالبا‬
‫ما يكون غير مفهوم لمهندس البرمجيات المطور للنظام‪.‬‬
‫الوضوح‪ :‬متخصص المجال يفهم المنطقة بدرجة جيدة للدرجة‬
‫التى اليقوم فيها بالتفكير فى جعل متطلبات المجال واضحة بينة‪.‬‬
‫الخطوط الرئيسية لكتابة المتطلبات‬
‫‪‬‬
‫‪:System Requirements‬‬
‫متطلبات النظام‬
‫مواصفات أكثر تفصيال من متطلبات المستخدم‪ ،‬تخدم‬
‫أسس تصميم النظام‪ ،‬وقد تستخدم كجزء من العقد‬
‫المكتوب المحرر بين المطور ومستخدم أو مستهلك‬
‫النظام‪ ،‬وقد يعبر عن متطلبات النظام بإستخدام نماذج‬
‫النظام‪.‬‬
‫اللغة المهيكلة للمواصفات‬
‫‪Structured Language Specifications‬‬
‫مواصفات مبينة على شكل ثابت‪:‬‬
‫‪‬‬
‫تعريف الوظيفة أو المكون‪ ،‬وصف المدخالت ومن أين‬
‫يأتى‪ ،‬وصف المخرجات والى أين تذهب‪ ،‬اإلشارة إلى أى‬
‫مكونات أخرى مطلوبة‪ ،‬الشروط‪ ،‬والتأثيرات الجانبية إذا‬
‫كانت موجودة‪.‬‬
‫مواصفات واجهة المستخدم‬
‫‪Interface Specification‬‬
‫أنواعها‪:‬‬
‫‪‬‬
‫الواجهات اإلجرائية‬
‫‪‬‬
‫هياكل البيانات التى سيتم تبادلها‬
‫‪‬‬
‫تمثيل البيانات‬
‫‪‬‬
‫التدوين الشكلى طريقة تقنية مؤثرة لمواصفات واجهة‬
‫المستخدم‪.‬‬
‫توثيق المتطلبات‬
‫‪Requirement Document‬‬
‫‪‬‬
‫وثائق المتطلبات هى إفادة رسمية بما هو مطلوب من‬
‫مطور النظام‪ ،‬ويجب أن تتضمن كال من تعريف‬
‫المتطلبات ومواصفاتها‪ ،‬وهى ليست مستند تصميم‪ ،‬وبقدر‬
‫اإلمكان فإنها عبارة عن مجموعة مما يجب أن يجب أن‬
‫يفعله النظام بدال من أن تكون مجموعة من كيفية ما يجب‬
‫عمله‪.‬‬
‫هيكل توثيق المتطلبات‬
‫‪Requirements Document Structure‬‬
‫‪‬‬
‫وتتضمن مقدمة‪ ،‬مفردات‪ ،‬تعريف متطلبات المستخدم‪،‬‬
‫بنية النظام‪ ،‬مواصفات متطلبات النظام‪ ،‬نماذج النظام‪،‬‬
‫إرتقاء النظام‪ ،‬مالحق‪ ،‬وفهرس‪.‬‬
‫الفصل السابع‬
‫عمليات هندسة المتطلبات‬
Requirements Engineering
Processes
‫مقدمة‬
‫‪‬‬
‫وتتضمن هندسة المتطلبات‪ :‬دراسة الجدوى واستنباط وتحليل‬
‫المتطلبات ومواصفات وادارة هذه المتطلبات‪.‬‬
‫مهام هندسة المتطلبات‬
‫‪‬‬
‫تختلف مناهج تقسيم مهام هندسة البرمجيات لكنها تتفق فى‬
‫النهاية على مجمل العمليات التى تتم فيها‪.‬‬
‫مقدمة‬
‫‪‬‬
‫‪‬‬
‫(تابع)‬
‫البداية أو اإلستهالل‪ :‬حيث يستخم مهندس البرمجيات أسئلة حرة‬
‫السياق لتأسيس فهم مبدئى للمشكلة واألشخاص الذين يريدون حل‬
‫هذه المشكلة‪ ،‬وطبيعة الحل‪ ،‬ومدى فاعلية التعاون بين‬
‫المستهلكين والمطورين‪.‬‬
‫اإلستنباط‪ :‬من المستهلكين يمكن إيجاد أهداف المنتج وماذا يتم‬
‫عمله وكيف يتالئم المنتج مع إحتياجات األعمال وكيفية إستخدام‬
‫المنتج‪.‬‬
‫إدارة المتطلبات‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪Requirements management‬‬
‫مجموعة من األنشطة التى تساعد فريق المشروع على تعريف‬
‫والتحكم فى ومتابعة المتطلبات والتغييرات كلما تقدم المشروع‪،‬‬
‫ومعظم هذه األنشطة تماثل تلك التى يتم عملها فى عملية إدارة‬
‫تكوين البرمجيات‪.‬‬
‫يتم تعريف المتطلبات أوال وتسمى بالنوع (وظيفيا وبيانات وسلوك‬
‫وواجهة أو مخرجات)‬
‫يتم تطوير جدول التعقب مثل المالمح والمصدر واإلعتماد والنظم‬
‫الفرعية والواجهة‪.‬‬
‫ويتم تحديثها فى أى وقت يتم فيه تعديل المتطلبات‪.‬‬
‫بداية عملية هندسة المتطلبات‬
‫‪‬‬
‫تبدأ بتعريف الشركاء المشتركين فى العملية‪ ،‬التعرف على‬
‫وجود وجهات نظر متعددة لشركاء العمل‪ ،‬العمل تجاه‬
‫التعاون بين الشركاء‪ ،‬تركيز األسئلة على المستهلك‬
‫والشركاء والهدف الكلى والمنافع‪.‬‬
‫أستنباط المتطلبات‬
‫‪Eliciting Requirements‬‬
‫‪‬‬
‫تجهيز وظيفة الجودة بتعريف ثالث أنواع من المتطلبات‬
‫العادية والمتوقعة والموجودة‪ ،‬وفى إجتماعات المستهلك‬
‫يستخدم تجهبز الوظيفة لتحديد قيمة كل وظيفة مطلوبة‬
‫للنظام‪ ،‬ويعرف تجهيز المعلومات كال من كائنات البيانات‬
‫واألحداث التى يجب على النظام أن يستهلكها أو ينتجها‪.‬‬
‫منتجات عمل اإلستنباط‬
‫‪Elicitation Work Products‬‬
‫‪‬‬
‫بيانات اإلحتياجات والجدوى‪.‬‬
‫‪‬‬
‫بيان مقيد عن مدى النظام أو المنتج‪.‬‬
‫‪‬‬
‫قائمة بمجموعة الشركاء المنشغلين بإستنباط اإلحتياجات‪.‬‬
‫‪‬‬
‫وصف بيئة النظام الفنية‪.‬‬
‫‪‬‬
‫‪‬‬
‫قائمة من المتطلبات منظمة بواسطة الوظائف وقيود المجال‬
‫المطبقة‪.‬‬
‫نماذج أولية يتم تطويرها للفهم األفضل للمتطلبات‪.‬‬
‫نموذج التحليل‬
‫‪Analysis Model‬‬
‫‪‬‬
‫الغرض هو توفير توصيفات للمعلومات المطلوبة والوظائف والمجاالت‬
‫السلوكية للنظم المبنية على الكمبيوتر‪.‬‬
‫‪‬‬
‫عناصر نموذج التحليل‪:‬‬
‫‪‬‬
‫العناصر المبنية على السيناريو‪ :‬وتصف النظام من وجهة نظر المستخدم‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫العناصر المبنية على الفئة‪ :‬العالقات بين الكائنات التى تدار بواسطة الفعلة‬
‫وسماتها‪.‬‬
‫العناصر السلوكية‪ :‬تصور النظام وتصرف الفئة كحاالت وانتقاالت بين‬
‫الحاالت‪.‬‬
‫العناصر التدفقية المنحى‪ :‬تبين كيفية إنسياب المعلومات من خالل النظام وهل‬
‫تم تحويلها بواسطة وظائف النظام‪.‬‬
‫تفاوض المتطلبات‬
‫‪Negotiating Requirements‬‬
‫‪‬‬
‫أنشطة التفاوض تتضمن تعريف الشركاء األساسيين فى‬
‫النظام‪ ،‬وتحديد شروط فوز الشركاء‪ ،‬التفاوض للتصالح على‬
‫تحويل شروط فوز الشركاء إلى حالة الفوز المتبادل لكل‬
‫الشركاء بما فيهم المطور‪.‬‬
‫عمليات هندسة المتطلبات‬
‫‪Requirements Engineering Processes‬‬
‫هى العمليات التى تستخدم إلكتشاف وتحليل والتحقق من‬
‫متطلبات النظام‪.‬‬
‫‪‬‬
‫األنشطة العامة الشائعة فى هذه العمليات‪:‬‬
‫‪‬‬
‫إستبيان أو أستباط واستخرج المتطلبات‪.‬‬
‫‪‬‬
‫تحليل المتطلبات‪.‬‬
‫‪‬‬
‫التثبت من المتطلبات‪.‬‬
‫‪‬‬
‫إدارة المتطلبات‪.‬‬
The requirements engineering process
Feasibility
study
Requirements
elicitation and
analysis
Requir ements
specification
Feasibility
report
Requirements
validation
System
models
User and system
requirements
Requirements
document
‫دراسات الجدوى‬
‫‪Feasibility studies‬‬
‫‪‬‬
‫تحدد ما إذا كان النظام المقترح يستحق اإلهتمام أم ال‪ ،‬وهى‬
‫دراسة دراسة مركزة قصيرة تفحص‪ :‬إذا كان النظام يتوافق مع‬
‫ويحقق أهداف المنظمة‪ ،‬واذا كان ممكنا هندسة النظام‬
‫بإستخدام التقنيات الحالية وفى حدود الميزانية واذا كان ممكنا‬
‫تجميع النظام وتكامله مع النظم األخرى المستخدمة‪.‬‬
‫‪‬‬
‫تنفيذ دراسة الجدوى‪:‬‬
‫‪‬‬
‫تعتمد على تقييم المعلومات وتجميع المعلومات وكتابة‬
‫اإلستباط والتحليل‬
‫‪Elicitation and analysis‬‬
‫‪‬‬
‫يسمى أحيانا بإستبيان أو أكتشاف المتطلبات‪ ،‬ويتضمن قيام‬
‫فريق عمل محترف بالتعامل مع المستهلكين إليجاد أسلوب‬
‫وطبيعة مجال التطبيق والخدمات التى يجب أن يوفرها‬
‫النظام‪ ،‬وقيود التشغيل التنظيمية‪.‬‬
‫عملية تحليل المتطلبات‬
‫‪requirements analysis process‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تتم بفهم المجال وتحديد األولويات وتحقق وتجميع المتطلبات‬
‫وحل التعارض وتصنيف وتعريف وتوصيف المتطلبات‪.‬‬
‫أنشط عمليات التحليل‪ :‬فهم للمجال‪ ،‬تجميع المتطلبات‪،‬‬
‫التصنيف‪ ،‬حل التعارض‪ ،‬التصنيف‪ :‬تعريف وتوصيف‬
‫المتطلبات‪.‬‬
‫أنشطة عمليات التحليال‪ :‬فهم المجال‪ ،‬تجميع المتطلبات‪،‬‬
‫التصنيف‪ ،‬حل التعارض‪ ،‬األولويات والمعامالت التفضيلية‪،‬‬
‫فحص واختبار المتطلبات‪.‬‬
The requirements analysis
process
Requir ements
definition and
specification
Requirements
validation
Process
entry
Domain
understanding
Prioritization
Requirements
collection
Conflict
resolution
Classification
‫وجهات النظر الخارجية‬
‫‪Types of viewpoint‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫من الطبيعى التفكير فى المستخدمين النهائيين للنظام‬
‫كمستقبلين لخدمات النظام‪ ،‬ووجهات النظر هى الطريقة‬
‫طبيعية لتشيير إستبيان المتطلبات‪ ،‬ومن السهل نسبيا تحديد‬
‫ما إذا كانت وجهة النظر تتحقق‪ ،‬وتستخدم وجهات النظر‬
‫والخدمات فى تشييد المتطلبات الغير وظيفية‪.‬‬
‫الطريقة الموجهة بوجهة النظر‪:‬‬
‫تعريف وجهة النظر هيكلة أو تشييد وجهة النظر ‪ ،‬توثيق‬
‫وجهة النظر‪ ،‬وجهة نظر تخطيط النظام‪.‬‬
The VORD method
Viewpoint
identification
Viewpoint
structuring
Viewpoint
documenta tion
Viewpoint
system ma pping
‫الطريقة الموجهة بوجهة النظر‬
‫‪The VORD method‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تعريف وجهة النظر‪ :‬إكتشاف وجهات النظر التى تستقبل‬
‫خدمات النظام وتعريف هذه الخدمات المصاحبة لكل وجهة‬
‫نظر‪.‬‬
‫وجهة نظر تخطيط النظام‬
‫كائنى التوجه‪.‬‬
‫‪ :‬تحويل التحليل إلى تصميم‬
‫النماذج القياسية للطريقة الموجهة بوجهة النظر‪:‬‬
VORD standard forms
Vie wpoint te mplate
Re feren ce :
The viewpoint name.
Attribu tes:
Attributes
providing
viewp oint information.
Eve nts:
A reference to a set of event
scenarios describing
how
the system reacts to
viewp oint events.
S e rvices
A reference to a set of
service descriptions.
S ub-VPs:
The names of
subviewp oints.
S e rvice template
Re feren ce :
The service name.
Rationale:
Reason why the service is
provided.
S pecification:
Reference to a list of service
specifications. These
may
be expressed in different
notations.
Vie wpoints:
List of viewpoint names
receiving the service.
Non -function al
Reference to a set of non requiremen ts:
functional
requirements
which constrain the service.
Provider:
Reference to a list of system
objects which provide the
service.
‫تعريف وجهة النظر فى نظام الصراف اآللى‬
‫‪Viewpoint identification‬‬
‫‪‬‬
‫فضاء من اإلحتياجات يتضمن‪ :‬إستعالم الموازنة – التعامالت –‬
‫السحب النقدى – دخول التعامل – تزويد – إعادة البطاقة – ترقية‬
‫البرمجيات البعدية – صرف الشيك – واجهة المستخدم – معلومات‬
‫الحساب – دخول الرسائل – حجم البرمجيات – المستخدم الغير‬
‫صحيح – تكلفة النظام – الطابعة – التأمسن – إحتباس البطاقة –‬
‫البطاقة المسروقة – حالة األمر – إعتمادية تشخيصات بعدية –‬
‫تحديث الحساب – نقل األموال – تمرير الرسالة – التحقق من البطاقة‬
‫– قاعدة بيانات المستهلك – إدارة – مسك الحساب – المستهلك‬
‫األجنبى – صيانة العتاد – صراف البنك‪.‬‬
Viewpoint identification
Query
balance
Machine
supplies
Get
transactions
Customer
database
Account
holder
Remote
diagnostics
Card
returning
Manager
Message
log
Account
information
User
interface
System cost
Stolen
card
Reliability
Cash
withdrawal
Foreign
customer
Order
statement
Update
account
Software
size
Printe
r
Hardware
maintenance
Funds
transfer
Transaction
log
Remote
software
upgrade
Order
cheques
Bank
teller
Invalid
user
Security
Message
passing
Card
retention
Card
validation
Viewpoint service information
ACCOUNT
HOLDER
Service list
Withdraw cash
Query balance
Or der cheques
Send message
Transaction list
Or der statement
Transfer funds
FOREIGN
CUSTOMER
Service list
Withdraw cash
Query balance
BANK
TELLER
Service list
Run diagnostics
Add cash
Add paper
Send message
‫وجهة نظر البيانات‬
Viewpoint data/control
‫والتحكم‬
ACCOUNT
HOLDER
Control input
Start transaction
Cancel transaction
End transaction
Select service
Da ta input
Card details
PIN
Am ount required
Message
‫معمارية وجهة النظر‬
‫‪Viewpoint hierarchy‬‬
‫‪‬‬
‫تتبلور كل وجهات النظر عند وجهات نظر المستهلك‪ ،‬وطاقم‬
‫البنك‪ ،‬وتتجمع منهما الخدمات التى تتوفر للزبون‪ ،‬والخدمات التى‬
‫تنتظم لماسك الحساب‪.‬‬
Viewpoint hierarchy
All VPs
Services
Query balance
Withdraw cash
Services
Order cheques
Send message
Transaction list
Order statement
Transfer funds
Customer
Account
holder
Foreign
customer
Bank staff
Teller
Manager
Engineer
‫السيناريوهات‬
‫‪Scenarios‬‬
‫‪‬‬
‫هى وصف كيفية إستخدام النظام فى الواقع‪ ،‬وتساعد هذه‬
‫السيناريوهات فى إستنباط المتطلبات‪ ،‬فاألشخاص يتمكنون من‬
‫فهمها أكثر من اإلفادات والجمل والطرق المجردة لتحديد ما‬
‫يحتاجون إليه فى النظام‪ ،‬وهى أيضا مفيدة فى وضع واضافة‬
‫وسف الخطوط الرئيسية اإلجمالية للمتطلبات‪.‬‬
‫أوصاف السيناريو‬
‫‪Scenario descriptions‬‬
‫‪‬‬
‫حالة النظام فى بداية السيناريو‪.‬‬
‫‪‬‬
‫تدفق األحداث الطبيعى فى السيناريو‪.‬‬
‫‪‬‬
‫ماذا يمكن أن يحدث من خطأ وكيفية التعامل معه‪.‬‬
‫‪‬‬
‫األنشطة المتالقية أو المساعدة األخرى‪.‬‬
‫‪‬‬
‫حالة النظام عند إكتمال السيناريو‪.‬‬
‫سيناريوهات األحداث‬
‫‪Event scenarios‬‬
‫‪‬‬
‫تستخدم لوصف كيفية إستجابة النظم لحدوث حدث معين مثل‬
‫بداية التعامالت‪ ،‬ويتضمن نموذج ‪ VORD‬تمثيال تخطيطيا‬
‫لسيناريوهات الحدث التى تشمل‪:‬‬
‫‪‬‬
‫البيانات المزودة والمدفوعة‪.‬‬
‫‪‬‬
‫معلومات التحكم‪.‬‬
‫‪‬‬
‫معالجة اإلستثناء‪.‬‬
‫‪‬‬
‫الحدث التالى المتوقع‪.‬‬
Event scenario - start transaction
‫مثال سيناريو حدث بداية معاملة‬
Card present
Valid card
User OK
Card
Request PIN
PIN
Timeout
Return card
Account
number
PIN
Validate user
Incorrect PIN
Re-enter PIN
Invalid card
Return card
Incorrect PIN
Stolen card
Retain card
Return card
Account
number
Select
service
‫تدوين البيانات وتحليل التحكم‬
‫‪Notation for data and control analysis‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫الشكل البيضاوى‪ :‬البيانات المزودة من أو المدفوعة إلى وجهة‬
‫النظر‪.‬‬
‫تدخل بيانات التحكم وتخرج عند قمة كل صندوق‪.‬‬
‫البيانات الخارجة من يمين كل صندوق‪.‬‬
‫‪‬‬
‫اإلستثناءات تظهر عند قاع كل صندوق‪.‬‬
‫‪‬‬
‫أسم الحدث التالى فى صندوق ثقيل الحواف‪.‬‬
‫وصف اإلستثناء‬
‫‪Exception description‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اإلستثناءات هى‪:‬‬
‫إنقضاء الوقت‪ :‬بعدم تمكن المستخدم من إدخال الرقم السرى فى‬
‫مدى الوقت المسموح به‪.‬‬
‫بطاقة غير متحققة‪ :‬عدم التعرف على البطاقة وتتم إعادتها‪.‬‬
‫بطاقة مسروقة‪ :‬بعد اإلبالغ عن سرقتها وتسجيل بيانتها‪ ،‬لذلك‬
‫سيتم اإلحتفاظ بها فى الماكينة‪.‬‬
‫حاالت اإلستخدام‬
‫‪Use cases‬‬
‫‪‬‬
‫‪‬‬
‫هى سيناريو يعتمد على تقنيات فى لغة النمذجة الموحدة التى‬
‫تعرف الفاعلين فى تفاعل وتصف التفاعل نفسه‪.‬‬
‫مجموعة حاالت اإلستخدام يجب أن تصف كل التفاعالت‬
‫المحتملة مع النظام‪.‬‬
Lending use-case
:‫مثال حالة إستخدام إعارة من مكتبة‬
Lending services
:‫مثال حاالت إستخدام المكتبة‬
‫خدمات اإلعارة – إدارة المستخدم – خدمات توفير الفهرس – مستخدم المكتبة – طاقم المكتبة‬
Library use-cases.
Lending services
Library
User
User administration
Supplier
Catalog services
Library
Staff
‫‪‬‬
‫قد تستخدم مخططات التتابع إلضافة تفاصيل إلى حاالت‬
‫اإلستخدام بإظهار تتابع معالجة الحدث فى النظام‪.‬‬
Catalogue management
Item:
Library Item
Books:
Catalog
Cataloguer:
Library Staff
Bookshop:
Supplier
Acquire
New
Catalog Item
Dispose
Uncatalog Item
‫العوامل المجتمعية والتنظيمية‬
‫‪Social and organisational factors‬‬
‫‪‬‬
‫تستخدم نظم البرمجيات فى بيئة وسياق مجتمع تحت مظلة‬
‫تنظيمية‪ ،‬وهذا األمر قد يتداخل فى تحديد وتوصيف المتطلبات‬
‫وقد يحكم متطلبات النظام‪ ،‬العوامل المجتمعية والتنظيمية ليست‬
‫وجهات نظر مستقلة لكنها تؤثر على كل وجهات النظر األخرى‪.‬‬
‫ويجب على التحليل الجيد أن يكون حساسا لهذه العوامل بما ال‬
‫يعوق هذه التحليالت‪.‬‬
‫التحقق من المتطلبات‬
‫‪Requirements validation‬‬
‫‪‬‬
‫يهتم بإظهار واثبات أن المتطلبات تقوم فعال بتعريف النظام الذى‬
‫يريده المستهلك‪ ،‬تكلفة خطأ المتطلبات باهظة لذلك فإن التحقق‬
‫منها له أهمية عالية‪ ،‬أن تصحيح خطأ المتطلبات بعد تسليم‬
‫النظام قد يكلف مايزيد بمائة مرة عن تكلفة تصحيح خطأ التنفيذ‪.‬‬
‫فحص واختبار المتطلبات‬
‫‪Requirements checking‬‬
‫‪‬‬
‫التحقق‪ :‬هل يوفر النظام الوظائف التى تلبى بأفضل أسلوب‬
‫حاجات المستهلك‪.‬‬
‫‪‬‬
‫التماسك أو المتانة‪ :‬هل تتعارض المتطلبات مع بعضها‪.‬‬
‫‪‬‬
‫اإلكتمال‪ :‬هل تم تضمين كل الوظائف المطلوبة للمستهلك‪.‬‬
‫‪‬‬
‫‪‬‬
‫الواقعية‪ :‬هل يمكن تنفيذ كل المتطلبات فى حدود الميزانية المتاحة‬
‫والتقنية المتوفرة‪.‬‬
‫قابلية التحقق‪ :‬هل يمكن فحص واختبار المتطلبات‪.‬‬
‫مراجعة المتطلبات‬
‫‪Requirements reviews‬‬
‫‪‬‬
‫مراجعات عامة يجب أن تنفذ خالل إستنباط وصياغة‬
‫تعريف المتطلبات‪ ،‬ويجب أن يقوم بهذه المراجعات كل من‬
‫المستهلك وطاقم تنفيذ العقد ويمكن أن تكون المراجعات‬
‫مكتوبة فى مستندات كاملة أو شفوية‪ ،‬ويمكن لإلتصاالت‬
‫الجيدة بين المستهلكين ومطورى النظم أن تحل المشاكل‬
‫فى مراحل مبكرة من العمل‪.‬‬
‫فحوصات المراجعة‬
‫‪Review checks‬‬
‫‪‬‬
‫قابلية التحقق منها‪.‬‬
‫‪‬‬
‫قابلية الفهم‪.‬‬
‫‪‬‬
‫قابلية التتبع‪.‬‬
‫‪‬‬
‫قابلية التكيف‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫إدارة المتطلبات ‪Requirements management‬‬
‫هى عملية إدارة تغيير المتطلبات خالل عملية هندسة‬
‫المتطلبات وتطوير النظام‪.‬‬
‫تغيير المتطلبات ‪Requirements change‬‬
‫أولوية أو أسبقية المتطلبات من تغييرات وجهات النظر‬
‫المختلفة خالل عمليات التطوير‪.‬‬
‫إرتقاء المتطلبات ‪Requirements evolution‬‬
‫عن طريق الفهم المبدئى للمشكلة ووضع متطلبات مبدئية‬
‫ومعرفة التغييرات فى فهم المشكلة ثم تغيير المتطلبات‪.‬‬
Requirements evolution
Initial
understanding
of problem
Initial
requirements
Changed
understanding
of problem
Changed
requir ements
Time
‫المتطلبات الثابتة والمتقلبة‬
‫‪Enduring and volatile requirements‬‬
‫‪‬‬
‫‪‬‬
‫المتطلبات الثابتة هى متطلبات مستقرة تنبثق من قلب تشاط‬
‫مؤسسة المستهلك وقد تنتج هذه المتطلبات من نماذج المجال‪.‬‬
‫المتطلبات المتقلبة هى متطلبات تتغير خالل التطوير أو عندما‬
‫يكون النظام قيد اإلستعمال‪.‬‬
‫تصنيف المتطلبات‬
‫‪Classification of requirements‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫المتطلبات المتحولة ‪ :Mutable requirements‬وهى تتغير‬
‫نتيجة بيئة النظام‪.‬‬
‫المتطلبات الطارئة ‪ :Emergent requirements‬وهى تنبثق‬
‫من الفهم كلما تطور النظام‪.‬‬
‫المتطلبات الناتجة ‪ : Consequential requirements‬وتنتج‬
‫من تقديم وادخال نظام الكمبيوتر‪.‬‬
‫متطلبات التوافقية ‪ : Compatibility requirements‬تعتمد‬
‫على النظم األخرى أو العمليات التنظيمية‪.‬‬
‫تخطيط إدارة المتطلبات‬
‫‪Requirements management planning‬‬
‫حيث يجب تخطيط‬
‫‪‬‬
‫تعريف المتطلبات‬
‫‪‬‬
‫عملية إدارة التغيير‬
‫‪‬‬
‫سياسة قابلية التتبع‬
‫‪‬‬
‫دعم أدوات هندسة البرمجيات بمساندة الكمبيوتر‬
‫دعم أدوات هندسة البرمجيات بمساندة الكمبيوتر‬
‫‪CASE tool support‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تخزين المتطلبات‪ :‬بإدارة المتطلبات مع تأمينها وادارة التخزين‬
‫للبيانات‪.‬‬
‫إدارة التغيير‪ :‬تدفق عمل يمكن تعريف مراحلها وتدفق البيانات‬
‫بين هذه المراحل وتنفيذها آليا جزئيا‪.‬‬
‫إدارة قابلية التتبع‪ :‬اإلستجالب التلقائى للوصالت بين المتطلبات‪.‬‬
‫إدارة تغيير المتطلبات‬
‫‪Requirements change management‬‬
‫‪‬‬
‫تتضمن‪ :‬المشكلة المعرفة – تحليل المشكلة وتغيير المواصفات –‬
‫تحليل التغيير والتكلفة – تنفيذ التغيير – مراجعة المتطلبات‪.‬‬
Requirements change management
Identified
problem
Problem analysis and
change specification
Change analysis
and costing
Change
implementation
Revised
requirements
‫المراحل األساسية‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تحليل المشكلة‪ :‬بمناقشة المتطلبات والتغييرات المقترحة‪.‬‬
‫تحليل التغيير والتكلفة‪ :‬بمعرفة وتخمين وتقدير مدى تأثير التغيير‬
‫على المتطلبات األخرى‪.‬‬
‫تنفيذ التغيير‪ :‬بتعديل مستند المتطلبات والمستندات األخرى‬
‫لتعكس التغيير الذى تم‪.‬‬