Software Requirement Engineering ITGS-213 Lecture 5 (PDF)

Summary

These lecture notes from Tripoli University cover software requirement engineering, with a focus on requirements specifications, documentation, and validation for ITGS-213. The Fall 2020 lecture materials provide a structured approach to these areas.

Full Transcript

‫جامعة طرابلس ـ كلٌة تمنٌة المعلومات‬ ‫مقدمت في هندست البرمجياث‬ ‫‪Introduction to software Engineering‬‬ ‫‪ITGS-213‬‬ ‫المحاضرة الخامسة – هندسة المتطلبات البرمجية‏‬ ‫‪Software Requirement Engineering‬‬ ‫خريف‪2020‬‬ ‫مواضيع المحاضرة‬ ‫‪ ‬توصيف أو...

‫جامعة طرابلس ـ كلٌة تمنٌة المعلومات‬ ‫مقدمت في هندست البرمجياث‬ ‫‪Introduction to software Engineering‬‬ ‫‪ITGS-213‬‬ ‫المحاضرة الخامسة – هندسة المتطلبات البرمجية‏‬ ‫‪Software Requirement Engineering‬‬ ‫خريف‪2020‬‬ ‫مواضيع المحاضرة‬ ‫‪ ‬توصيف أو تحديد المتطلباث‬ ‫‪ ‬مصادقت المتطلباث‬ ‫‪ ‬إدارة المتطلباث‬ ‫توصيف أو تحذيذ المتطلباث‬ ‫‪Requirements Specifications‬‬ ‫فً هذا النشاط ٌتم كتابة و تجهٌز كل المتطلبات الممترحة للمنظومة فً وثائك مهمة وتسمى‬ ‫‪‬‬ ‫وثيمة مواصفات المتطلبات‪Requirements Specification Document‬‬ ‫تعتبر الوثائك أساسا للتعالد مع الزبون‪.‬‬ ‫‪‬‬ ‫تعتبر الوثائك لها دور هام اٌضا فً مرحلتً التصمٌم والتنفٌذ‪.‬‬ ‫‪‬‬ ‫ثبتت بعض الدراسات ان ‪ %85‬من اخطاء البرمجٌات ٌعود الى المتطلبات ومشاكلها‪.‬‬ ‫‪‬‬ ‫توصيف أو تحذيذ المتطلباث‬ ‫‪Requirements Specifications‬‬ ‫التوثيك ‪ٌ Documentation‬عتبر التوثٌك مهما فً اعداد البرمجٌات واستمرار‬ ‫‪‬‬ ‫عملها بعد االعداد‪.‬‬ ‫هو مجموعة من أوصاف نصٌة ورسومٌة وشروح للمنظومة البرمجٌة ‪.‬لد ٌشمل التوثٌك‬ ‫‪‬‬ ‫على التالً‪:‬‬ ‫ مخططات‬ ‫ سرد النص‪.‬‬ ‫ ملفات صوتٌة‪.‬‬ ‫ جداول‬ ‫ صور متحركة‪.‬‬ ‫ ملفات فٌدٌو‪.‬‬ ‫ تعلٌمات فً البرنامج‪.‬‬ ‫توصيف أو تحذيذ المتطلباث‬ ‫‪Requirements Specifications‬‬ ‫أهداف التوثيك‪:‬‬ ‫مرجع ارشادي وتوضٌحً‪.‬‬ ‫‪‬‬ ‫متابعة جودة المنتوج‪.‬‬ ‫‪‬‬ ‫التواصل بٌن مراحل اعداد المنظومة‪.‬‬ ‫‪‬‬ ‫التواصل بٌن المهام فً كل مرحلة‪.‬‬ ‫‪‬‬ ‫اتفاق بٌن المستخدم أو الزبون ومعد المنظومة‪.‬‬ ‫‪‬‬ ‫توصيف أو تحذيذ المتطلباث‬ ‫‪Requirements Specifications‬‬ ‫استخدم التوثيك من لبل‪:‬‬ ‫‪‬‬ ‫االدارة لغرض المراجعة‪.‬‬ ‫‪.1‬‬ ‫المائمٌن على صٌانة المنظومة‪.‬‬ ‫‪.2‬‬ ‫فرٌك التفتٌش‪.‬‬ ‫‪.3‬‬ ‫فرٌك المراجعة غٌر الرسمٌة (زمالء العمل)‪.‬‬ ‫‪.4‬‬ ‫موظفً التحمك والمصادلة‪.‬‬ ‫‪.5‬‬ ‫توصيف أو تحذيذ المتطلباث‬ ‫‪Requirements Specifications‬‬ ‫سنستعرض وثيمة مواصفات المتطلبات ‪Requirements Specification‬‬ ‫‪‬‬ ‫‪Document‬والتً ٌجب ان ٌعدها محلل النظم فً نهاٌة مرحلة التحلٌل‬ ‫ولتتم مراجعتها من لبل االدارة التخاذ أحد المرارات االتٌة‪:‬‬ ‫االستمرار فً المشروع وتنفٌذ المرحلة التالٌة التصمٌم‪.‬‬ ‫ ‬ ‫ولف االستمرار فً المشروع‪.‬‬ ‫ ‬ ‫اجراء بعض التعدٌالت ثم االستمرار فً المشروع‪.‬‬ ‫ ‬ ‫توصيف أو تحذيذ المتطلباث‬ ‫‪Requirements Specifications‬‬ ‫توجد معاٌٌر مختلفة لكتابة وثٌمة مواصفات المتطلبات وٌمكن استخدام معاٌٌر‬ ‫‪‬‬ ‫مؤسسات ذات عاللة مثل‪: 1993-ACM, IEEE, ANCI 830‬‬ ‫تناول العالم )‪ Boehm (1984‬خصائص مواصفات المتطلبات البرمجٌة الجٌدة‪:‬‬ ‫‪‬‬ ‫ غٌر متضاربة‬ ‫ كاملة‬ ‫ لابلة لالختبار‬ ‫ واضحة‬ ‫ دلٌمة‬ ‫ سهلة التعدٌل‬ ‫توصيف أو تحذيذ المتطلباث‬ ‫‪Requirements Specifications‬‬ ‫وثيمة تحديد المتطلبات‪Requirements specification Document‬‬ ‫‪‬‬ ‫هً وثٌمة ٌتم اعدادها فً نهاٌة مرحلة التحلٌل وتتضمن وظائف المنظومة‬ ‫ ‬ ‫وخصائص الجودة المتعلمة بها‪.‬‬ ‫وتشمل هذه الوثٌمة على البنود التالٌة‪:‬‬ ‫ ‬ ‫ممدمة‪Introduction‬‬ ‫‪(1‬‬ ‫وصف عام‪overall description‬‬ ‫‪.1‬‬ ‫تعرٌف المسألة‪problem definition‬‬ ‫‪.a‬‬ ‫األهداف‪the system’s Objectives‬‬ ‫‪.b‬‬ ‫حدود النظام‪Scope of the system‬‬ ‫‪.c‬‬ ‫المٌود‪Constraints‬‬ ‫‪.d‬‬ ‫توصيف أو تحذيذ المتطلباث‬ Requirements Specifications ‫ ‏‬Functional description‫المتطلبات الوظيفية‬ (2 list of functions‫ لائمة الوظائف‬ Narrative for each function‫ وصف كل وظٌفة‬ ‫‏‬ Non-Functional description‫المتطلبات الغير الوظيفية‬ (2 ‫ ‏‬Performance Requirements:‫متطلباث األداء‬ Memory.‫الذاكرة‬ Response time.‫زمن االستجابة‬ Validation/Acceptance Criteria:‫معيار التحقق والقبول‬ Quality attributes ‫خصائص الجودة‬ ‫توصيف أو تحذيذ المتطلباث‬ ‫‪Requirements Specifications‬‬ ‫‪ (4‬نمذجة المتطلبات‬ ‫‪‬مخطط حاالت االستخدام‬ ‫‪ ‬مخطط النشاط‬ ‫توصيف أو تحذيذ المتطلباث‬ ‫‪Requirements Specifications‬‬ ‫مالحظات عن وثيمة مواصفات المتطلبات‪:‬‬ ‫‪‬‬ ‫وثٌمة بٌن الزبون والمحلل وتستخدم فً مرحلة التصمٌم‪.‬‬ ‫ ‬ ‫تموم بتحوٌل االحتٌاجات الى متطلبات‪.‬‬ ‫ ‬ ‫ٌجب مراجعتها من لبل المستخدم ومعد المنظومة‪.‬‬ ‫ ‬ ‫تبٌن ما هو المتولع ولٌس كٌفٌة عمل المنظومة‪.‬‬ ‫ ‬ ‫اعتماد المتطلباث) المصادقت(‬ ‫‪Requirements Validation‬‬ ‫ٌعتبر من أهم النشاطات وٌهدف للتأكد من أن مواصفات المتطلبات التً تم تجهٌزها تتوافك‬ ‫‪‬‬ ‫مع المعاٌٌر ‪ standards‬فً كتابة وثٌمة المتطلبات وجاهزة الن تكون اساسا لمرحلة‬ ‫التصمٌم ‪.‬‬ ‫هنان عدة طرق للميام بهذا النشاط وهي‪:‬‬ ‫الفحص‪Inspection Formal :‬‬ ‫‪‬‬ ‫ٌتم فحص الوثائك من لبل متمرسٌن ولهم خبرة سابمة فً الكشف عن األخطاء لمنظومات‬ ‫ ‬ ‫مشابهة‪.‬‬ ‫اعتماد المتطلباث) المصادقت(‬ ‫‪Requirements Validation‬‬ ‫المراجعة السريعة‪Walkthrough :‬‬ ‫‪‬‬ ‫المراجعة السرٌعة عن طرٌك زمٌل فً فرٌك اعداد المنظومة‪.‬‬ ‫ ‬ ‫التحمك‪Verification :‬‬ ‫‪‬‬ ‫التحمك من لبل جهة مستملة أو مكتب استشاري أو محلل من أن أهداف واحتٌاجات الزبون تم ترجمتها فً‬ ‫ ‬ ‫شكل متطلبات‪.‬‬ ‫المراجعة النهائية‪Review:‬‬ ‫‪‬‬ ‫المراجعة النهائٌة فً نهاٌة مرحلة التحلٌل بحضور الزبون واعضاء فرٌك المنظومة التخاذ المرار النهائً‬ ‫ ‬ ‫بخصوص وثٌمة المتطلبات‪.‬‬ ‫نالحظ بأن اختبار المتطلبات إليجاد االخطاء يتم على الوثائك وليس على جهاز الحاسوب‪.‬‬ ‫‪‬‬ ‫إدارة المتطلباث‬ ‫‪Requirements Management‬‬ ‫ٌهدف هذا النشاط الى التركٌز بشكل اساسً على التغيير فً المتطلبات فً حٌاة المشروع ‪.‬هذه‬ ‫‪‬‬ ‫التغٌٌرات تعد من أصعب المشاكل التً تسبب اربان لفرٌك العمل‪.‬‬ ‫ادارة المتطلبات هي دراسة واستخدام االجراءات والسٌاسات والعملٌات التً تحدد كٌفٌة‬ ‫‪‬‬ ‫التعامل مع التغٌر فً المتطلبات‪ ،‬ومن اهمها‪:‬‬ ‫كٌفٌة تمدٌم مستند طلب تغٌٌر‪Change Request.‬‬ ‫‪.1‬‬ ‫كٌفٌة تحلٌل هذا الطلب ومعرفة تأثٌره على التكالٌف والجدول الزمنً وحدود المشروع‪.‬‬ ‫‪.2‬‬ ‫كٌفٌة المصادلة والموافمة على اجراء التغٌٌر ورفضه‪.‬‬ ‫‪.3‬‬ ‫كٌفٌة تنفٌذ التغٌٌر بعد اخذ الموافمة علٌه‪.‬‬ ‫‪.4‬‬ ‫إدارة المتطلباث‬ ‫‪Requirements Management‬‬ ‫ومن المهام االدارية الخاصة بادارة المتطلبات‪:‬‬ ‫‪‬‬ ‫إدارة النسخ الخاصة بمنظومة التغٌٌر‪.‬‬ ‫‪.1‬‬ ‫التواصل مع الذٌن لهم عاللة بالمنظومة‪.‬‬ ‫‪.2‬‬ ‫هنان برمجٌات جاهزة إلدارة المتطلبات من لبل شركات خاصة‪ ،‬ومن أبرزها‪:‬‬ ‫‪Doors - RTM Workshop‬‬ ‫ ‬ ‫ونظرا ألهمٌة المتطلبات أنشأت بعض الشركات إدارة تموم بمتابعة التغٌٌرات التً تحدث فً إصدار‬ ‫‪‬‬ ‫النسخ واإلصدارات لهذه البرمجٌات والتً تسمى ادارة المكونات البرمجية ‪Software‬‬ ‫‪Configuration Management.‬‬ ‫إدارة المكوناث البرمجيت‬ ‫‪Software Configuration management SCM‬‬ ‫تتعامل هذه االدارة مع مشاكل التغٌٌر فً المتطلبات من لبل المستخدمٌن ومعدي البرامج‪.‬‬ ‫‪‬‬ ‫مدٌر ادارة المكونات البرمجٌة مسئول عن متابعة تشغٌل المنظومة وتمدٌم الدعم الفنً الالزم‬ ‫‪‬‬ ‫للمنظومة ‪.‬بهذا ٌكون للمنظومة مسؤولٌن وهما‪:‬‬ ‫مدٌر المشروع هو المسئول عن اعداد المنظومة من التخطٌط الى االختبار‪.‬‬ ‫‪.1‬‬ ‫مدٌر المكونات البرمجٌة )‪ (Software Configuration Manager‬وهو مسؤول عن‬ ‫‪.2‬‬ ‫صٌانة واعداد االصدارات والنسخ للمنظومة‪.‬‬ ‫إدارة المكوناث البرمجيت‬ ‫‪Software Configuration management SCM‬‬ ‫وتتلخص مهام مدير المكونات البرمجيات في التالي‪:‬‬ ‫‪‬‬ ‫ٌتابع االصدارات البرمجٌة ‪ Software versions‬ومواكبة كل ما هو جدٌد ‪ ،‬حٌث أن‬ ‫‪(1‬‬ ‫النسخة المدٌمة ‪ +‬التغٌٌر = النسخة الجدٌدة ‪Releases , Versions. ،‬‬ ‫ٌمرر متى ٌجب اجراء التغٌٌر‪.‬‬ ‫‪(2‬‬ ‫التأكد من ان االصدارات تصدر للزبائن المستهدفٌن وفً الولت المناسب‪.‬‬ ‫‪(3‬‬ ‫تدوٌن طلبات التغٌٌر‪.‬‬ ‫‪(4‬‬ ‫االشٌاء المراد تغٌٌرها فً المنظومة تسمى بعناصر المكونات البرمجٌة ‪(Configuration‬‬ ‫‪‬‬ ‫)‪Management Items‬هً‪:‬‬ ‫برامج‪programs‬‬ ‫‪‬‬ ‫بٌانات ‪data‬‬ ‫‪‬‬ ‫وثائك‪documents‬‬ ‫‪‬‬ ‫إدارة المكوناث البرمجيت‬ ‫‪Software Configuration management SCM‬‬ ‫ٌجب أن ٌمر التغٌٌر ‪ change‬وٌسمى (ادارة متابعة المنظومة )سواء أكان التغٌٌر فً‬ ‫‪‬‬ ‫المتطلبات أو فً التمنٌة المستخدمة أو بسبب األخطاء عبر الخطوات التالٌة‪:‬‬ ‫الشكل يوضح خطوات إدارة التغييرات‬ ‫الخط الرئيسي‪Base-Line‬‬ ‫ٌستخدم هذا المصطلح أثناء إعداد البرمجٌات وهو ما ٌشبه الخرٌطة المعمارٌة النهائٌة والتً‬ ‫‪‬‬ ‫تم تحدٌثها من المهندس بعد اجراء التعدٌالت أو التغٌٌرات من لبل الزبون علٌها حٌث ٌطلك‬ ‫علٌها فً علم هندسة البرمجيات اسم‪Base-Line.‬‬ ‫ٌعتبر أي منتوج برمجً أو جزء تم اعداده ومراجعته (مثل وثٌمة مواصفات المتطلبات) فً‬ ‫‪‬‬ ‫نهاٌة اي مرحلة من مراحل اعداد المنظومة خطا رئيسيا‪.‬‬ ‫الخط الرئيسي هو وثٌمة مواصفات نهاٌة مرحلة ما وال ٌمكن اجراء اي تغٌرات علٌها اال عن‬ ‫‪‬‬ ‫طرٌك لرار رسمً من االدارة وتحت اجراءات محكمة‪.‬‬ ‫أمثلة على ‪ base-Lines :‬وثٌمة مواصفات المتطلبات‪ ،‬شفرة المصدر‪.‬‬ ‫‪‬‬ End

Use Quizgecko on...
Browser
Browser