You are on page 1of 16

‫تصميم وتطوير البرمجيات‬

‫‪MISY301‬‬
‫تحليل وتصميم المتطلبات‬
‫‪‬هندسة المتطلبات‪ :‬يُطلق تعبير هندسة المتطلبات‬
‫على عملية تحديد الخدمات التي يطلبها الزبون من‬
‫نظام ما والقيود التي سيعمل ضمنها‪.‬‬

‫‪‬المتطلبات ‪ :‬فهي الوصف الكامل لخدمات النظام‬


‫والقيود التي جرى تحديدها‪.‬‬
‫تقسم المتطلبات إلى نوعين بحسب عموميتها ودرجة‬
‫تفصيلها‪:‬‬

‫‪‬متطلبات المس تخدم‪ :‬وه‪BBB‬ي عبارة ع‪BBB‬ن تعداد للخدمات‬


‫وقيود العم‪B‬ل بلغ‪B‬ة طبيعي‪B‬ة م‪B‬ع مخططات توضيحي‪B‬ة موجه‪B‬ة‬
‫أكث‪BB‬ر للزبائ‪BB‬ن أ‪BB‬و المدراء الذي‪BB‬ن ال يهتمون بكيفي‪BB‬ة تنجي‪BB‬ز‬
‫النظام أو تفاصيل التسهيالت التي يوفرها‪.‬‬

‫‪‬متطلبات النظام‪ :‬وهي وثيقة بنيوية تعطي وصفًا مفصال ً‬


‫لوظائف النظام وخدماته وقيود عمله تعرف‪ B‬ما يجب‬
‫تنجيزه وتكون جز ًءا من العقد بين الزبون والعارض‪.‬‬
‫والمطورين‬
‫ِّ‬ ‫وهي موجهة أكثرللمهندسين والمصممين‬
‫الذين يحتاجون لمعرفة ما سيقوم به النظام بدقة‪.‬‬
‫تقسم المتطلبات من حيث طبيعتها إلى متطلبات وظيفية‬
‫ومتطلبات غير وظيفية‪:‬‬

‫‪ -1‬المتطلبات الوظيفية‪ :‬وهي الخدمات التي يجب أن‬


‫يوفرها النظام وكيفية تفاعله مع مدخالت معينة وكيفية‬
‫تصرفه في حاالت خاصة‪.‬‬

‫تختص المتطلبات الوظيفية بالخصائص التالية‪:‬‬


‫‪ -1‬تصف‪ B‬وظائف‪ B‬وخدمات النظام‪.‬‬
‫‪ -2‬تتعلق بنوعية البرامج والمستخدمين المتوقعين وطبيعة‬
‫العمل الذي سيُستخدم فيه النظام‪.‬‬
‫‪ -2‬المتطلبات غير الوظيفية‪:‬‬
‫وه‪BB‬ي خص‪BB‬ائص وقيود تتعل‪BB‬ق بالوظائ‪BB‬ف والخدمات الت‪BB‬ي يوفره‪BB‬ا‬
‫النظام مثل القيود الزمنية والقيود على إجرائية التطوير والمعايير‪.‬‬

‫أنواع المتطلبات غير الوظيفية‪:‬‬


‫‪ -1‬متطلبات المنت ج‪ :‬تحدد خص‪B‬ائص المنت‪B‬ج النهائ‪B‬ي كس‪B‬رعة التنفي‪B‬ذ‬
‫والوثوقية‪.‬‬
‫‪ -2‬متطلبات تنظيمي ة‪ :‬تنت‪BBB‬ج ع‪BBB‬ن س‪BBB‬ياسات تنظيمي‪BBB‬ة أ‪BBB‬و إجراءات‬
‫كالمعايير اإلجرائية المستخدمة أو متطلبات التنجيز‪.‬‬
‫‪ -3‬متطلبات خارجية‪ :‬تنتج عن عوامل خارج النظام وإجرائية تطويره‬
‫كمتطلبات قابلية التشغيل والمتطلبات القانونية (سرية المعلومات)‪.‬‬
‫توجيهات كتابة المتطلبات‪:‬‬

‫‪ -1‬اعتمد صيغة معيارية لجميع المتطلبات‪.‬‬

‫‪ -2‬استخدم اللغة الطبيعية بطريقة متجانسة‪.‬‬

‫‪ -3‬استخدم وسائل إظهار النص كالكتابة بلون غامق لتحديد‬


‫األجزاء الهامة من المتطلبات‪.‬‬

‫‪ -4‬تجنب استخدام االختصارات‪.‬‬


‫يمكن التفكير بعدة بدائل عن توصيف المتطلبات بلغة طبيعية مثل‪:‬‬

‫‪ -1‬لغ ة بنيوي ة‪ :‬تعتم‪BBB‬د عل‪BBB‬ى نماذج وقوال‪BBB‬ب معياري‪BBB‬ة لتوص‪BBB‬يف‬


‫المتطلبات‪.‬‬
‫‪ -2‬لغة لوصف التصميم‪ :‬تشبه لغة البرمجة لكن بتجريد أعلى لتحديد‬
‫المتطلبات بتعريف نموذج تشغيلي للنظام‪.‬‬
‫‪ -3‬تدوين بياني‪ :‬مخططات بيانية مدعمة بحواشي نصية تستخدم‬
‫لتعريف المتطلبات الوظيفية‪.‬‬
‫مثل‪ :‬مخططات التسلسل ومخططات حاالت االستخدام‪.‬‬
‫‪ -4‬توصيف رياضي‪ :‬يعتمد على مفاهيم رياضية كاآلالت ذات‬
‫الحاالت المحدودة العدد‪ ،‬أوالمجموعات التي تحدد بدقة وظائف‬
‫النظام لكن معظم الزبائن ال يفهمونها‪.‬‬
‫كتابة المتطلبات بلغة بنيوية‬
‫إ‪B‬ن وجود قوال‪B‬ب محددة لكتاب‪B‬ة المتطلبات يح‪B‬د م‪B‬ن حري‪B‬ة كتابته‪B‬ا‬
‫ويساهم في توحيد تعريفها بطريقة معيارية‪.‬‬
‫كما يمكن الحد من المصطلحات المستخدمة في التوصيف‪.‬‬
‫هذا الخيار مفي‪BBB‬د ج ًدا‪ ،‬فم‪BBB‬ع اس‪BBB‬تمرار االس‪BBB‬تفادة م‪BBB‬ن القوة‬
‫التعبيري‪BBB‬ة للغ‪BBB‬ة يجري فرض درج‪BBB‬ة م‪BBB‬ن النظامي‪BBB‬ة عل‪BBB‬ى‬
‫التوصيف كما في الشكل التالي‪:‬‬
‫حساب جرعة االنسولين‬ ‫الوظيفة‬

‫تحليل مستوى امن للسكر‬ ‫الوصف‬

‫قراءة السكر الحالية‬ ‫المدخالت‬

‫قراءة السكر االخرى من الذاكرة‬ ‫المصدر‬


‫النماذج البيانية‬
‫‪‬النماذج البيانية هي األكثر‪ B‬جدوى عند ضرور‪B‬ة إظهار‬
‫متطلبات تتعلق بتغييرات الحالة أو بسلسلة من األعمال أو‬
‫بكيفية إجراء الحسابات وتفاعل المستخدم مع النظام‪.‬‬

‫‪‬ترتبط هندسة المتطلبات ارتباطًا وثيقًا بعملية النمذجة‬


‫حيث يقوم المحللون ببناء نماذج بيانية للنظام تساعد في‬
‫فهم وظائفه والتواصل بشأنها مع الزبون‪.‬‬
‫نماذج السياق‬
‫‪‬تستخدم نماذج السياق إلظهار السياق التشغيلي للنظام‬
‫واألشياء التي تقع خارج حدوده‪.‬‬

‫‪‬يمكن ج ًدا لمؤثرات تنظيمية أو اجتماعية أن تساهم في‬


‫تقرير حدود النظام‪ .‬الخطوة األولى بعد تعريف‪.‬‬

‫‪‬حدود النظام هي تعريف ارتباطاته مع البيئة واألنظمة‬


‫األخرى المحيطة به باستخدام مخطط بنيان‪.‬‬
‫نموذج بنيان لبنية نظام معلومات للتوزيع اآللي يتضمن‬
‫شبكة آالت توز‪B‬يع مصر‪B‬فية أوتوماتيكية‪ATM‬‬
‫نماذج إجرائية‬
‫مخططات تدفق المعطيات‬
‫النماذج الغرضية‬
‫‪‬تصف هذه النماذج النظام عن طريق صفوف‬
‫األغر‪B‬اض وارتباطاتها وسلوكها‪ .‬حيث يمثل كل صف‬
‫مفهوم تجريدي لنوع من األغراض التي لها واصفات‬
‫مشتركة وتقدم نفس الخدمات (العمليات)‪ .‬تعتبر‪ B‬هذه‬
‫النماذج الطريقة الطبيعية لتمثيل معطيات العالم الحقيقي‬
‫وتعبر عن فهم عميق لمجال التطبيق‪.‬‬
‫‪‬أصبحت لغة النمذجة الموحدة‪ UML‬معيا ًرا فعليًا‬
‫للنمذجة الغر‪B‬ضية مستخد ًما بكثرة في طرق التحليل‬
‫والتصميم الغرضية التوجه‪.‬‬
‫تتضمن لغة ‪ UML‬عدة أنواع من المخططات‬

‫ن ماذج ا لوراثة ‪1-‬‬


‫تابع‪...‬‬
‫ن ماذج ا لتجميع ‪2-‬‬

You might also like