مقدمة في هندسة البرمجيات (ITGS-213) - محاضرة 4 - PDF

Document Details

JoyfulSphene

Uploaded by JoyfulSphene

جامعة طرابلس - كلية تقنية المعلومات

2020

ITGS

Tags

software engineering software requirements engineering programming computer science

Summary

هذه محاضرة عن هندسة المتطلبات البرمجية، وتشمل تحليل المتطلبات والمنهجيات المستخدمة في التحليل، والمنهجية الهيكلية، والمنهجية الشيئية، و UML و مخطط حالة الاستخدام (Use Case Diagram) لنظام إدارة محاضرات (software requirements management system).

Full Transcript

‫‪5/31/2022‬‬ ‫جامعة طرابلس ـ كلية تقنية المعلومات‬ ‫مقدمة في هندسة البرمجيات‬ ‫‪Introduction to software Engineering‬‬ ‫‪ITGS-213‬‬ ‫المحاضرة الرابعة – هندسة الم...

‫‪5/31/2022‬‬ ‫جامعة طرابلس ـ كلية تقنية المعلومات‬ ‫مقدمة في هندسة البرمجيات‬ ‫‪Introduction to software Engineering‬‬ ‫‪ITGS-213‬‬ ‫المحاضرة الرابعة – هندسة المتطلبات البرمجية (تحليل‬ ‫المتطلبات)‬ ‫‪Software Requirement Engineering‬‬ ‫مواضيع المحاضرة‬ ‫تحليل المتطلبات‬ ‫‪‬‬ ‫‪ ‬المنهجيات المستخدمة في التحليل‬ ‫‪ ‬المنهجية الهيكلية‬ ‫‪ ‬المنهجية الشيئية‬ ‫‪‬لغة النمذجة الموحدة‪UML‬‬ ‫‪‬مخطط حالة االستخدام ‪Use Case Diagram UCD‬‬ ‫‪Lect2_Fall2020‬‬ ‫‪1‬‬ ‫‪5/31/2022‬‬ ‫تحليل المتطلبات‬ ‫‪Requirements Analysis‬‬ ‫هي تقييم احتياجات المستخدم للوصول الى تعريف محدد للمتطلبات البرمجية المستهدفة‪.‬‬ ‫‪‬‬ ‫ونعني بتحليل المتطلبات هي عملية تفكيك المتطلبات العامة (العالية المستوى) الى‬ ‫‪‬‬ ‫متطلبات وظيفية تفصيلية (متدنية المستوى) باستخدام أدوات لتمثيلها ونمذجتها‪.‬‬ ‫‪3‬‬ ‫منهجيات تحليل المتطلبات‬ ‫‪Methodology of Requirements Analysis‬‬ ‫‪‬عند تحليل المتطلبات يتم اختيار االدوات المناسبة بناءا على المنهجية المختارة‬ ‫لعملية تحليل و نمذجة المتطلبات ‪.‬يوجد منهجيتان شائعتان لالستخدام على نطاق واسع‪.‬‬ ‫‪.1‬المنهجية الهيكلية‪Structured Methodology‬‬ ‫‪.2‬المنهجية الشيئية ‪Object Oriented Methodology‬‬ ‫‪4‬‬ ‫‪Lect2_Fall2020‬‬ ‫‪2‬‬ ‫‪5/31/2022‬‬ ‫المنهجية الهيكلية‪Structured Methodology‬‬ ‫‪‬تركز هذه المنهجية على وظائف المنظومة (المعالجة) حيث تستخدم أدواتها لتمثيل ووصف ونمذجة‬ ‫هذه الوظائف‪.‬‬ ‫‪‬تركز هذه المنهجية على العمليات واإلجراءات حيث تقوم بتجميع وتخزين وتشغيل وتوزيع البيانات‬ ‫عبر النظام‪.‬‬ ‫‪‬ومن هذه االدوات‪Structured Methodology tools :‬‬ ‫‪Data Flow Diagram DFD ‬مخطط انسياب البيانات‬ ‫‪Data Dictionary ‬قاموس البيانات‬ ‫المنهجية الهيكلية‪Structured Methodology‬‬ ‫‪IF-THEN-ELSE, DO-WHILE-UNTIL‬‬ ‫‪Structure English ‬االنجليزية الهيكلية‬ ‫‪Decision Table ‬جدول القرار‬ ‫‪Decision Tree ‬شجرة القرار‬ ‫‪Entity Relational Diagram ‬مخطط الكائنات العالئقية‬ ‫‪Lect2_Fall2020‬‬ ‫‪3‬‬ ‫‪5/31/2022‬‬ ‫‪Data Flow Diagram DFD‬‬ ‫ هناك فرق واضح بين ‪ DFD‬و ‪ Flowchart.‬يوضح مخطط التدفق تدفق التحكم في وحدات البرنامج‪DFDs.‬تصور‬ ‫تدفق البيانات في النظام على مستويات مختلفة‪.‬ال يحتوي ‪DFD‬على أي عنصر تحكم أو فرع‪.‬‬ ‫ يسرد قاموس البيانات جميع عناصر البيانات التي تظهر في نموذج ‪ DFD‬للنظام‪.‬‬ ‫ تجدر اإلشارة إلى أن نموذج ‪ DFD‬لنظام ما يتكون عادة من عدة مستويات ‪ DFDs:‬المستوى ‪ ، 0‬المستوى ‪ ، 1‬إلخ‪.‬‬ ‫ومع ذلك ‪ ،‬يجب أن يلتقط قاموس بيانات واحد جميع البيانات التي تظهر في جميع ‪ DFDs‬التي تشكل النموذج‪.‬‬ ‫‪Level 1 DFD for Tic-Tac-Toe game‬‬ ‫‪Level 0 DFD‬‬ ‫‪DECISOIN TREE‬‬ ‫ضا بيانيًا لمنطق المعالجة‬ ‫ تعطي شجرة القرار عر ً‬ ‫المتضمن في صنع القرار واإلجراءات المقابلة المتخذة‪.‬‬ ‫تمثل حواف شجرة القرار الشروط والعقد الطرفية‬ ‫تمثل اإلجراءات التي يتعين القيام بها اعتمادًا على مخرج‬ ‫الشرط ‪.‬‬ ‫ مثال‪- :‬ضع في اعتبارك برنامج أتمتة عضوية المكتبة (‬ ‫‪(LMS‬حيث يجب أن يدعم الخيارات الثالثة التالية‪:‬‬ ‫عضو جديد ‪New member‬‬ ‫‪.1‬‬ ‫التجديد ‪Renewal‬‬ ‫‪.2‬‬ ‫الغاء العضوية ‪Cancel membership‬‬ ‫‪.3‬‬ ‫‪DECISION TABLE‬‬ ‫عمود في الجدول يسمى قاعدة‪.‬تشير القاعدة إلى أنه إذا‬ ‫حا ‪ ،‬فسيتم تنفيذ اإلجراء المقابل‪.‬‬ ‫كان الشرط صحي ً‬ ‫‪Lect2_Fall2020‬‬ ‫‪4‬‬ ‫‪5/31/2022‬‬ ‫‪ Object Oriented Methodology‬المنهجية الشيئية‬ ‫يتم التعامل مع النظام على اساس انه مجموعة من الكائنات‪.‬‬ ‫‪‬‬ ‫يعتبر التحليل الهيكلي البيانات منفصلة وليس لها أهمية في عملية التحليل‪.‬‬ ‫‪‬‬ ‫التحليل الشيئي هو ربط البيانات والعمليات او وظائف النظام في جسم واحد يسمى‬ ‫‪‬‬ ‫)‪(Object‬أو )‪ (Class‬حيث يتم ايجاد العالقات بين هذه الفصائل‪.‬‬ ‫‪9‬‬ ‫‪ Object Oriented Methodology‬المنهجية الشيئية‬ ‫يمكن ان نتبع نشأة التحليل و التصميم الكائني كاالتي‪:‬‬ ‫‪‬‬ ‫‪ 1978‬تعريف لغة كلغة كائنية‪.‬‬ ‫‪‬‬ ‫‪1985‬اسلوب التصميم الكائني‬ ‫‪‬‬ ‫‪1990‬أسلوب التحليل الكائنة‬ ‫‪‬‬ ‫‪1996‬إصدار النسخة االولي من لغة النمذجة الموحدة‪UML‬‬ ‫‪‬‬ ‫‪10‬‬ ‫‪Lect2_Fall2020‬‬ ‫‪5‬‬ ‫‪5/31/2022‬‬ ‫الفرق بين المنهجية الشيئية و الهيكلية‬ ‫المنهجية الهيكلية‬ ‫المنهجية الشيئية‬ ‫العالقة بين العمليات و البيانات عالقة قوية تدمج ‪ ‬العالقة بين البيانات و العمليات مترابطة‬ ‫‪‬‬ ‫بشكل ضعيف‪.‬لتركيز على المعالجة و‬ ‫العمليات و البيانات ( الخصائص) في وحدة‬ ‫اعتبار البيانات ذات اهمية ثانوية ‪.‬‬ ‫واحدة تسمي كائن‪.‬‬ ‫‪ ‬يتم تحليل النظام كأجزاء برمجية‬ ‫يتم تحليل النظام الي مجموعة كائنات (معالجة‬ ‫‪‬‬ ‫(معالجة)‪.‬‬ ‫وبيانات معا)‪.‬‬ ‫البرنامج باالسلوب الشيئي اصبح وحدة البرنامج ‪ ‬البرنامج المكتوب باالسلوب الهيكلي‬ ‫‪‬‬ ‫عبارة عن دالة رئيسية و مجموعة دوال‬ ‫فيه هي الصنف ‪ Class‬التي تتكون من بيانات‬ ‫فرعية ‪ ,‬يتم استدعاء الدوال الفرعية من‬ ‫و دوال التي تعمل على هذه البيانات ويتم‬ ‫داخل الدالة الرئيسية‪.‬‬ ‫استدعاء الدوال كعناصر لالصناف‪.‬‬ ‫لغة النمذجة الموحدة ‪UML‬‬ ‫‪‬لغة النمذجة الموحدة)‪ ، (Unified Modeling Language‬أو )‪ ، (UML‬هي لغة‬ ‫نمذجة رسومية تقدم لنا صيغة لوصف العناصر الرئيسية للنظم البرمجية‪.‬‬ ‫‪ Descriptions‬في شكل‬ ‫‪UML ‬وهي عبارة عن مجموعة مخططات ‪ Diagrams‬و مواصفات‬ ‫سيناريوات ‪ Scenarios ,‬تم االتفاق عليها من قبل علماء هندسة البرمجيات كأدوات قياسية تستخدم في تحليل‬ ‫وتصميم وتنفيذ النظم الشيئية ‪.‬‬ ‫‪12‬‬ ‫‪Lect2_Fall2020‬‬ ‫‪6‬‬ ‫‪5/31/2022‬‬ ‫مخططات ‪UML‬‬ ‫‪‬ومن امثلة هذه االدوات‪:‬‬ ‫‪‬مخطط حالة االستخدام ‪ Use Case Diagram‬يبين "كيف سيتفاعل نظامنا مع العالم‬ ‫الخارجي؟"‬ ‫‪‬مخطط الفئة ‪ Class Diagram‬يبين "ما هي الكائنات التي نحتاجها؟ و ما عالقتها؟“‬ ‫‪‬مخطط التسلسل ‪ Sequence Diagram‬يبين "كيف تتعامل الكائنات مع بعض؟”‬ ‫‪ ‬مخطط النشاط ‪ Activity Diagram :‬تستخدم في وصف خطوات تنفيذ اي مهمة ‪.‬وظيفيتها‬ ‫مشابهة لوظيفة الخرائط االنسيابية‪.‬‬ ‫‪13‬‬ ‫مخطط حالة االستخدام‬ ‫‪Use Case Diagram UCD‬‬ ‫‪‬يعتبر ‪ UCD‬أداة لتحديد ووصف المتطلبات الوظيفية للنظام ويتكون من اشكال هندسية‬ ‫تعبر عن حالة االستخدام ‪ use case‬وهي المعاملة أو الوظيفة التي يؤديها النظام‬ ‫والممثل أو الفاعل ‪ Actor‬وهو الذي يقوم بأداة هذه المعاملة (حالة االستخدام)‪.‬‬ ‫‪14‬‬ ‫‪Lect2_Fall2020‬‬ ‫‪7‬‬ ‫‪5/31/2022‬‬ ‫مكونات مخطط حالة االستخدام‬ ‫‪Use Case Diagram UCD‬‬ ‫‪‬حالة االستخدام ‪ use case‬وهي المعاملة أو الوظيفة التي يؤديها النظام‬ ‫‪‬الممثل أو الفاعل ‪ Actor‬وهو الذي يقوم بأداة هذه المعاملة (حالة االستخدام)‬ ‫‪ ‬حدود النظام‪System Boundary.‬‬ ‫‪‬العالقات ‪Relationships‬‬ ‫‪15‬‬ ‫رموز مخطط حالة االستخدام‪UCD‬‬ ‫‪System‬‬ ‫‪.1‬النظام ( حدود النظام) ‪:‬‬ ‫يبين نطاق النظام على شكل مستطيل‬ ‫‪.2‬الممثل ‪ Actor :‬وهو دور يلعبه المستخدم أو نظام خارجي مع النظام المقترح‪.‬‬ ‫الممثل الواحد يمكن أن يمثل عدة مستخدمين أو انظمة خارجية‪.‬‬ ‫موظف‬ ‫‪Actor‬‬ ‫مثال ‪ :‬موظف – زبون – بائع‬ ‫‪16‬‬ ‫‪Lect2_Fall2020‬‬ ‫‪8‬‬ ‫‪5/31/2022‬‬ ‫رموز مخطط حالة االستخدام‪UCD‬‬ ‫حالة استخدام‪Use Case:‬‬ ‫‪.3‬‬ ‫هي عبارة عن إجراء عن طريقه يتفاعل الممثلون مع النظام ‪ ,‬اي عبارة عن معاملة او وظيفة ‪.‬‬ ‫أمثلة‪.:‬‬ ‫تجهيز فاتورة‬ ‫عمل طلبية‬ ‫تسجيل مقرر‬ ‫دراسي‬ ‫‪17‬‬ ‫الشكل العام لمخطط حالة االستخدام‬ ‫‪System‬‬ ‫‪Use Case‬‬ ‫‪Use Case‬‬ ‫‪actor‬‬ ‫‪Actor‬‬ ‫‪Use Case‬‬ ‫>> ‪> ‪ ‪ ‪ ‪ ‪ ‪> ‪> ‪

Use Quizgecko on...
Browser
Browser