Full Transcript

‫المحاضرة رقم‬8 ‫عمليات هندسة المتطلبات‬ Requirements Engineering Processes ‫مقدمة‬ ‫وتتضمن هندسة المتطلبات‪ :‬دراسة الجدوى وإستنباط وتحليل ‬ ‫المتطلبات ومواصفات وإدارة هذه المتطلبات‪.‬‬ ‫مهام هندسة المتطلبات‬ ‫تختلف مناهج تقسيم مهام هندسة البرمجيات لكنها تتفق فى ‬ ‫النهاية على مجمل العملي...

‫المحاضرة رقم‬8 ‫عمليات هندسة المتطلبات‬ Requirements Engineering Processes ‫مقدمة‬ ‫وتتضمن هندسة المتطلبات‪ :‬دراسة الجدوى وإستنباط وتحليل ‬ ‫المتطلبات ومواصفات وإدارة هذه المتطلبات‪.‬‬ ‫مهام هندسة المتطلبات‬ ‫تختلف مناهج تقسيم مهام هندسة البرمجيات لكنها تتفق فى ‬ ‫النهاية على مجمل العمليات التى تتم فيها‪.‬‬ ‫(تابع)‬ ‫مقدمة‬ ‫البداية أو اإلستهالل‪ :‬حيث يستخم مهندس البرمجيات أسئلة حرة ‬ ‫السياق لتأسيس فهم مبدئى للمشكلة واألشخاص الذين يريدون‬ ‫حل هذه المشكلة‪ ،‬وطبيعة الحل‪ ،‬ومدى فاعلية التعاون بين‬ ‫المستهلكين والمطورين‪.‬‬ ‫اإلستنباط‪ :‬من المستهلكين يمكن إيجاد أهداف المنتج وماذا يتم ‬ ‫عمله وكيف يتالئم المنتج مع إحتياجات األعمال وكيفية‬ ‫إستخدام المنتج‪.‬‬ ‫إدارة المتطلبات‬ ‫‪Requirements management‬‬ ‫مجموعة من األنشطة التى تساعد فريق المشروع على تعريف والتحكم ‬ ‫فى ومتابعة المتطلبات والتغييرات كلما تقدم المشروع‪ ،‬ومعظم هذه‬ ‫األنشطة تماثل تلك التى يتم عملها فى عملية إدارة تكوين البرمجيات‪.‬‬ ‫يتم تعريف المتطلبات أولا وتسمى بالنوع (وظيفيا وبيانات وسلوك ‬ ‫وواجهة أو مخرجات)‬ ‫يتم تطوير جدول التعقب مثل المالمح والمصدر واإلعتماد والنظم ‬ ‫الفرعية والواجهة‪.‬‬ ‫ويتم تحديثها فى أى وقت يتم فيه تعديل المتطلبات‪.‬‬ ‫بداية عملية هندسة المتطلبات‬ ‫تبدأ بتعريف الشركاء المشتركين فى العملية‪ ،‬التعرف على ‬ ‫وجود وجهات نظر متعددة لشركاء العمل‪ ،‬العمل تجاه‬ ‫التعاون بين الشركاء‪ ،‬تركيز األسئلة على المستهلك‬ ‫والشركاء والهدف الكلى والمنافع‪.‬‬ ‫أستنباط المتطلبات‬ ‫‪Eliciting Requirements‬‬ ‫تجهيز وظيفة الجودة بتعريف ثالث أنواع من المتطلبات ‬ ‫العادية والمتوقعة والموجودة‪ ،‬وفى إجتماعات المستهلك‬ ‫يستخدم تجهبز الوظيفة لتحديد قيمة كل وظيفة مطلوبة‬ ‫للنظام‪ ،‬ويعرف تجهيز المعلومات كال من كائنات البيانات‬ ‫واألحداث التى يجب على النظام أن يستهلكها أو ينتجها‪.‬‬ ‫منتجات عمل اإلستنباط‬ ‫‪Elicitation Work Products‬‬ ‫بيانات اإلحتياجات والجدوى‪.‬‬ ‫بيان مقيد عن مدى النظام أو المنتج‪.‬‬ ‫قائمة بمجموعة الشركاء المنشغلين بإستنباط اإلحتياجات‪.‬‬ ‫وصف بيئة النظام الفنية‪.‬‬ ‫قائمة من المتطلبات منظمة بواسطة الوظائف وقيود المجال ‬ ‫المطبقة‪.‬‬ ‫نماذج أولية يتم تطويرها للفهم األفضل للمتطلبات‪.‬‬ ‫نموذج التحليل‬ ‫‪Analysis Model‬‬ ‫الغرض هو توفير توصيفات للمعلومات المطلوبة والوظائف والمجالت السلوكية للنظم ‬ ‫المبنية على الكمبيوتر‪.‬‬ ‫عناصر نموذج التحليل‪ :‬‬ ‫العناصر المبنية على السيناريو‪ :‬وتصف النظام من وجهة نظر المستخدم‪.‬‬ ‫العناصر المبنية على الفئة‪ :‬العالقات بين الكائنات التى تدار بواسطة الفعلة وسماتها‪.‬‬ ‫العناصر السلوكية‪ :‬تصور النظام وتصرف الفئة كحالت وانتقالت بين الحالت‪.‬‬ ‫العناصر التدفقية المنحى‪ :‬تبين كيفية إنسياب المعلومات من خالل النظام وهل تم ‬ ‫تحويلها بواسطة وظائف النظام‪.‬‬ ‫تفاوض المتطلبات‬ ‫‪Negotiating Requirements‬‬ ‫أنشطة التفاوض تتضمن تعريف الشركاء األساسيين فى النظام‪ ،‬وتحديد شروط فوز ‬ ‫الشركاء‪ ،‬التفاوض للتصالح على تحويل شروط فوز الشركاء إلى حالة الفوز المتبادل لكل‬ ‫الشركاء بما فيهم المطور‪.‬‬ ‫عمليات هندسة المتطلبات‬ ‫‪Requirements Engineering Processes‬‬ ‫هى العمليات التى تستخدم إلكتشاف وتحليل والتحقق من متطلبات النظام‪.‬‬ ‫األنشطة العامة الشائعة فى هذه العمليات‪ :‬‬ ‫إستبيان أو أستباط وإستخرج المتطلبات‪.‬‬ ‫تحليل المتطلبات‪.‬‬ ‫التثبت من المتطلبات‪.‬‬ ‫إدارة المتطلبات‪.‬‬ The requirements engineering process Feasibility Requirements study elicitation and analysis Requir ements specification Feasibility Requirements report 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 Requirements specification validation Domain Prioritization understanding Process entry Requirements Conflict collection resolution Classification ‫وجهات النظر الخارجية‬ ‫‪Types of viewpoint‬‬ ‫من الطبيعى التفكير فى المستخدمين النهائيين للنظام كمستقبلين لخدمات النظام‪ ،‬ووجهات ‬ ‫النظر هى الطريقة طبيعية لتشيير إستبيان المتطلبات‪ ،‬ومن السهل نسبيا تحديد ما إذا كانت‬ ‫وجهة النظر تتحقق‪ ،‬وتستخدم وجهات النظر والخدمات فى تشييد المتطلبات الغير وظيفية‪.‬‬ ‫الطريقة الموجهة بوجهة النظر‪ :‬‬ ‫تعريف وجهة النظر هيكلة أو تشييد وجهة النظر ‪ ،‬توثيق وجهة النظر‪ ،‬وجهة نظر تخطيط ‬ ‫النظام‪.‬‬ Viewpoint Oriented Requirements Definition (VORD) Method Viewpoint Viewpoint Viewpoint Viewpoint identification structuring documenta tion system ma pping ‫الطريقة الموجهة بوجهة النظر‬ ‫‪The VORD method‬‬ ‫تعريف وجهة النظر‪ :‬إكتشاف وجهات النظر التى تستقبل خدمات النظام وتعريف هذه ‬ ‫الخدمات المصاحبة لكل وجهة نظر‪.‬‬ ‫وجهة نظر تخطيط النظام ‪ :‬تحويل التحليل إلى تصميم كائنى التوجه‪.‬‬ ‫النماذج القياسية للطريقة الموجهة بوجهة النظر‪ :‬‬ ATM Example :Viewpoint service information ACCOUNT FOREIGN BANK HOLDER CUSTOMER TELLER Service list Service list Service list Withdraw cash Withdraw cash Run diagnostics Query balance Query balance Add cash Or der cheques Add paper Send message Send message Transaction list Or der statement Transfer funds ‫معمارية وجهة النظر‬ ‫‪Viewpoint hierarchy‬‬ ‫تتبلور كل وجهات النظر عند وجهات نظر المستهلك‪ ،‬وطاقم ‬ ‫البنك‪ ،‬وتتجمع منهما الخدمات التى تتوفر للزبون‪ ،‬والخدمات‬ ‫التى تنتظم لماسك الحساب‪.‬‬ Viewpoint hierarchy All VPs Services Query balance Withdraw cash Customer Bank staff Services Account Foreign Teller Manager Engineer holder customer Order cheques Send message Transaction list Order statement Transfer funds ‫السيناريوهات‬ ‫‪Scenarios‬‬ ‫هى وصف كيفية إستخدام النظام فى الواقع‪ ،‬وتساعد هذه ‬ ‫السيناريوهات فى إستنباط المتطلبات‪ ،‬فاألشخاص يتمكنون من‬ ‫فهمها أكثر من اإلفادات والجمل والطرق المجردة لتحديد ما‬ ‫يحتاجون إليه فى النظام‪ ،‬وهى أيضا مفيدة فى وضع وإضافة‬ ‫وسف الخطوط الرئيسية اإلجمالية للمتطلبات‪.‬‬ ‫أوصاف السيناريو‬ ‫‪Scenario descriptions‬‬ ‫حالة النظام فى بداية السيناريو‪.‬‬ ‫تدفق األحداث الطبيعى فى السيناريو‪.‬‬ ‫ماذا يمكن أن يحدث من خطأ وكيفية التعامل معه‪.‬‬ ‫األنشطة المتالقية أو المساعدة األخرى‪.‬‬ ‫حالة النظام عند إكتمال السيناريو‪.‬‬ ‫سيناريوهات األحداث‬ ‫‪Event scenarios‬‬ ‫تستخدم لوصف كيفية إستجابة النظم لحدوث حدث معين مثل ‬ ‫تمثيال تخطيطيا ‪VORD‬بداية التعامالت‪ ،‬ويتضمن نموذج‬ ‫لسيناريوهات الحدث التى تشمل‪:‬‬ ‫البيانات المزودة والمدفوعة‪.‬‬ ‫معلومات التحكم‪.‬‬ ‫معالجة اإلستثناء‪.‬‬ ‫الحدث التالى المتوقع‪.‬‬ Event scenario - start transaction ‫مثال سيناريو حدث بداية معاملة‬ Card present Valid card Card User OK Request PIN PIN Account Validate user Account number number Select PIN service Timeout Return card Incorrect PIN Re-enter PIN Invalid card Return card Incorrect PIN Stolen card Return card Retain card ‫تدوين البيانات وتحليل التحكم‬ ‫‪Notation for data and control analysis‬‬ ‫الشكل البيضاوى‪ :‬البيانات المزودة من أو المدفوعة إلى وجهة ‬ ‫النظر‪.‬‬ ‫تدخل بيانات التحكم وتخرج عند قمة كل صندوق‪.‬‬ ‫البيانات الخارجة من يمين كل صندوق‪.‬‬ ‫اإلستثناءات تظهر عند قاع كل صندوق‪.‬‬ ‫أسم الحدث التالى فى صندوق ثقيل الحواف‪.‬‬ ‫وصف اإلستثناء‬ ‫‪Exception description‬‬ ‫اإلستثناءات هى‪ :‬‬ ‫إنقضاء الوقت‪ :‬بعدم تمكن المستخدم من إدخال الرقم السرى فى ‬ ‫مدى الوقت المسموح به‪.‬‬ ‫بطاقة غير متحققة‪ :‬عدم التعرف على البطاقة وتتم إعادتها‪.‬‬ ‫بطاقة مسروقة‪ :‬بعد اإلبالغ عن سرقتها وتسجيل بيانتها‪ ،‬لذلك ‬ ‫سيتم اإلحتفاظ بها فى الماكينة‪.‬‬ ‫فحص وإختبار المتطلبات‬ ‫‪Requirements checking‬‬ ‫التحقق‪ :‬هل يوفر النظام الوظائف التى تلبى بأفضل أسلوب ‬ ‫حاجات المستهلك‪.‬‬ ‫التماسك أو المتانة‪ :‬هل تتعارض المتطلبات مع بعضها‪.‬‬ ‫اإلكتمال‪ :‬هل تم تضمين كل الوظائف المطلوبة للمستهلك‪.‬‬ ‫الواقعية‪ :‬هل يمكن تنفيذ كل المتطلبات فى حدود الميزانية ‬ ‫المتاحة والتقنية المتوفرة‪.‬‬ ‫قابلية التحقق‪ :‬هل يمكن فحص وإختبار المتطلبات‪.‬‬ ‫مراجعة المتطلبات‬ ‫‪Requirements reviews‬‬ ‫مراجعات عامة يجب أن تنفذ خالل إستنباط وصياغة ‬ ‫تعريف المتطلبات‪ ،‬ويجب أن يقوم بهذه المراجعات كل‬ ‫من المستهلك وطاقم تنفيذ العقد ويمكن أن تكون‬ ‫المراجعات مكتوبة فى مستندات كاملة أو شفوية‪ ،‬ويمكن‬ ‫لإلتصالت الجيدة بين المستهلكين ومطورى النظم أن‬ ‫تحل المشاكل فى مراحل مبكرة من العمل‪.‬‬ ‫فحوصات المراجعة‬ ‫‪Review checks‬‬ ‫قابلية التحقق منها‪.‬‬ ‫قابلية الفهم‪.‬‬ ‫قابلية التتبع‪.‬‬ ‫قابلية التكيف‪.‬‬ ‫‪Requirements management‬إدارة المتطلبات ‬ ‫هى عملية إدارة تغيير المتطلبات خالل عملية هندسة ‬ ‫المتطلبات وتطوير النظام‪.‬‬ ‫‪Requirements change‬تغيير المتطلبات ‬ ‫أولوية أو أسبقية المتطلبات من تغييرات وجهات النظر المختلفة ‬ ‫خالل عمليات التطوير‪.‬‬ ‫‪Requirements evolution‬إرتقاء المتطلبات ‬ ‫عن طريق الفهم المبدئى للمشكلة ووضع متطلبات مبدئية ‬ ‫ومعرفة التغييرات فى فهم المشكلة ثم تغيير المتطلبات‪.‬‬ Requirements evolution Initial Changed understanding understanding of problem of problem Initial Changed requirements 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 Revised problem requirements Problem analysis and Change analysis Change change specification and costing implementation ‫المراحل األساسية‬ ‫تحليل المشكلة‪ :‬بمناقشة المتطلبات والتغييرات المقترحة‪.‬‬ ‫تحليل التغيير والتكلفة‪ :‬بمعرفة وتخمين وتقدير مدى تأثير ‬ ‫التغيير على المتطلبات األخرى‪.‬‬ ‫تنفيذ التغيير‪ :‬بتعديل مستند المتطلبات والمستندات األخرى ‬ ‫لتعكس التغيير الذى تم‪.‬‬

Use Quizgecko on...
Browser
Browser