SlideShare une entreprise Scribd logo
1  sur  271
Télécharger pour lire hors ligne
SOFTWARE
ENGINEERING
‫البرمجيات‬ ‫هندسة‬ ‫محور‬
By Eng. Joud Khattab
Content
■ Overview.
■ Software Processes.
■ Software Development Life Cycle (SDLC).
■ RequirementEngineering.
■ Unified Modeling Language (UML).
■ ArchitectureDesign.
■ Testing & Maintenance.
■ Others.
■ MCQ.
2
OVERVIEW
3
Overview
■‫البرمجيات؟‬ ‫هندسة‬ ‫تعريف‬
–‫بناء‬ ‫تعني‬ ‫البرمجيات‬ ‫هندسة‬product‫و‬ ‫القديمة‬ ‫النظم‬ ‫تطوير‬ ‫و‬ ‫التعديل‬ ‫أو‬ ‫جديدة‬ ‫نظم‬ ‫أو‬ ‫جديد‬
‫مسبقا‬ ‫الموجودة‬ ‫المشاكل‬ ‫اكتشاف‬ ‫تعني‬ ‫كذلك‬ ‫و‬ ‫أخطائها‬ ‫تحسين‬.
–‫البرمجيات‬ ‫تطوير‬ ‫عن‬ ‫مسؤول‬ ‫العلم‬ ‫فروع‬ ‫من‬ ‫فرع‬ ‫هي‬(software)‫مستمر‬ ‫و‬ ‫الفكرة‬ ‫لحظة‬ ‫ذلك‬ ‫و‬
‫الخدمة‬ ‫من‬ ‫خروجها‬ ‫لحظة‬ ‫حتى‬.
■‫نظم؟‬ ‫بكلمة‬ ‫نقصد‬ ‫ماذا‬
–‫األهدا‬ ‫تلك‬ ‫و‬ ‫معينة‬ ‫أهداف‬ ‫لتحقيق‬ ‫البعض‬ ‫بعضها‬ ‫مع‬ ‫تتفاعل‬ ‫أجزاء‬ ‫أو‬ ‫مكونات‬ ‫مجموعة‬ ‫هو‬ ‫النظام‬‫ف‬
‫الحياتية‬ ‫المشاكل‬ ‫بعض‬ ‫لحل‬ ‫بوجودها‬ ‫المرغوب‬ ‫هي‬.
–‫نوعان‬ ‫وله‬ ،‫النظام‬ ‫تعريف‬ ‫عن‬ ‫يختلف‬ ‫ال‬ ‫البرمجي‬ ‫النظام‬:
–‫مفتوحة‬ ‫نظم‬:
■‫هي‬ ‫البرمجية‬ ‫النظم‬ ‫معظم‬ ‫و‬ ‫الخارجي‬ ‫الوسط‬ ‫مع‬ ‫المعطيات‬ ‫و‬ ‫المعلومات‬ ‫بتبادل‬ ‫تقوم‬ ‫التي‬ ‫النظم‬ ‫هي‬
‫تتلقى‬ ‫ألنها‬ ‫مفتوحة‬ ‫نظم‬input‫تخرج‬ ‫و‬ ‫تعالجه‬ ‫و‬ ‫الخارجي‬ ‫الوسط‬ ‫من‬output.
–‫مغلقة‬ ‫نظم‬:
■‫الخارجي‬ ‫الوسط‬ ‫مع‬ ‫المعطيات‬ ‫و‬ ‫المعلومات‬ ‫تتبادل‬ ‫ال‬ ‫التي‬ ‫النظم‬ ‫هي‬.
■‫مثال‬:‫فقط‬ ‫واحدة‬ ‫لمرة‬ ‫ضبطها‬ ‫يتم‬ ‫التي‬ ‫الساعات‬ ‫أنظمة‬ ‫بعض‬.
4
Overview
■‫ال‬ ‫تعريف‬software:
–‫ال‬ ‫مع‬ ‫البرامج‬ ‫عن‬ ‫عبارة‬ ‫هي‬data‫التوثيق‬ ‫مع‬(documentation)،‫هنا‬ ‫نقصد‬ ‫وال‬
‫البرنامج‬ ‫أسطر‬ ‫بين‬ ‫التعليقات‬ ‫وضع‬ ‫بالتوثيق‬.
–‫ال‬ ‫المراحل‬ ‫كل‬ ‫في‬ ‫برمجي‬ ‫نظام‬ ‫أي‬ ‫تطوير‬ ‫في‬ ‫بها‬ ‫نقوم‬ ‫التي‬ ‫الخطوات‬ ‫كل‬ ‫توثيق‬‫تي‬
‫اختبار‬ ‫و‬ ‫تنجيز‬ ‫و‬ ‫تصميم‬ ‫و‬ ‫تحليل‬ ‫من‬ ‫بها‬ ‫يمر‬.
5
Overview
■‫ال‬ ‫مواصفات‬ ‫هي‬ ‫ما‬software‫الجيد؟‬
–‫جيد‬ ‫بشكل‬ ‫الخدمات‬ ‫تلك‬ ‫ينجز‬ ‫و‬ ‫منه‬ ‫المطلوبة‬ ‫الخدمات‬ ‫يقدم‬ ‫أن‬ ‫يجب‬.
–‫عند‬ ‫ذلك‬ ‫و‬ ‫للصيانة‬ ‫قابال‬ ‫يكون‬ ‫أن‬‫طروء‬‫عمله‬ ‫في‬ ‫خطأ‬ ‫أي‬ ‫ظهور‬ ‫أو‬ ‫مشكلة‬ ‫أي‬.
–‫األمان‬( :security)
■‫يجب‬ ‫ال‬ ‫أنه‬ ‫بها‬ ‫نقصد‬‫لل‬users‫إليها‬ ‫الوصول‬ ‫عليه‬ ‫يتوجب‬ ‫ال‬ ‫النظام‬ ‫داخل‬ ‫لمعلومات‬ ‫يصل‬ ‫أن‬ ‫شخص‬ ‫أي‬ ‫أو‬.
–‫االتاحة‬( :availability)
■‫نظام‬ ‫نطور‬ ‫كنا‬ ‫لو‬web‫ال‬ ‫بأن‬ ‫تخبرنا‬ ‫رسالة‬ ‫تظهر‬ ‫دقائق‬ ‫بضع‬ ‫كل‬ ‫و‬server‫نظامنا‬ ‫يكون‬ ‫عندها‬ ،‫متاح‬ ‫غير‬
‫للمستخدمين‬ ‫دائم‬ ‫بشكل‬ ‫متاح‬ ‫غير‬ ‫و‬ ‫سيء‬.
–‫الموثوقية‬( :reliability)
■‫حسابي‬ ‫بين‬ ‫أموال‬ ‫لتحويل‬ ‫تطبيق‬ ‫مثل‬ ‫الموثوقية‬ ‫فيها‬ ‫تهمنا‬ ‫التي‬ ‫التطبيقات‬ ‫من‬ ‫الكثير‬ ‫هناك‬‫ن‬.
–‫الحماية‬( :safety)
■‫طائ‬ ‫ضمن‬ ‫تواجده‬ ‫يجب‬ ‫النظام‬ ‫هذا‬ ‫و‬ ‫اآللي‬ ‫الطيار‬ ‫يسمى‬ ‫ما‬ ‫أو‬ ‫بالطائرة‬ ‫األتوماتيكي‬ ‫التحكم‬ ‫نظام‬ ‫مثل‬‫رة‬
‫البشر‬ ‫أرواح‬ ‫على‬ ‫للمحافظة‬ ‫الالزمة‬ ‫الحماية‬ ‫فيه‬ ‫تتوفر‬ ‫أت‬ ‫يجب‬ ‫و‬ ‫الطيار‬ ‫على‬ ‫طارئ‬ ‫أي‬ ‫حدوث‬ ‫عند‬.
■‫بال‬ ‫تسمى‬ ‫األنظمة‬ ‫تلك‬real time software‫اللحظية‬ ‫الحقيقية‬ ‫األنظمة‬ ‫أو‬.
6
Overview
■‫ال‬ ‫مواصفات‬ ‫هي‬ ‫ما‬software‫الجيد؟‬
–‫الفاعلية‬( :efficiency)
■‫معالجة‬ ‫من‬ ‫أقل‬ ‫موارد‬ ‫استخدمت‬ ‫إذا‬ ‫فعالة‬ ‫أنها‬ ‫برمجيات‬ ‫عن‬ ‫نقول‬CPU‫و‬memory.
–‫القبول‬( :accessibility)
■‫المعيار‬ ‫و‬ ،‫آلخر‬ ‫مستخدم‬ ‫من‬ ‫و‬ ‫ألخرى‬ ‫شركة‬ ‫من‬ ‫يختلف‬ ‫برمجي‬ ‫نظام‬ ‫قبول‬ ‫معايير‬
‫الواجهات‬ ‫هو‬ ‫برمجي‬ ‫نظام‬ ‫لقبول‬ ‫األساسي‬.
7
Overview
■‫البرمجيات‬ ‫هندسة‬ ‫بين‬ ‫الفرق‬software engineering‫الحاسوب‬ ‫علوم‬ ‫و‬computer
science‫؟‬
–‫النظرية‬ ‫العلوم‬ ‫على‬ ‫تعتمد‬ ‫الحاسب‬ ‫علوم‬ ‫إن‬.
–‫البرمجيات‬ ‫هندسة‬ ‫أما‬‫نظ‬ ‫تطوير‬ ‫و‬ ‫العملي‬ ‫التطبيق‬ ‫على‬ ‫و‬ ‫الواقع‬ ‫على‬ ‫تعتمد‬ ‫فهي‬‫م‬
‫فعلية‬.
8
Overview
■‫البرمجيات‬ ‫هندسة‬ ‫بين‬ ‫الفرق‬software engineering‫النظام‬ ‫هندسة‬ ‫و‬system
engineering‫؟‬
–‫مطلق‬ ‫بشكل‬ ‫البرمجية‬ ‫المواضيع‬ ‫على‬ ‫تركز‬ ‫البرمجيات‬ ‫هندسة‬ ‫إن‬.
–‫ال‬ ‫فتشمل‬ ‫شيء‬ ‫كل‬ ‫على‬ ‫تركز‬ ‫فهي‬ ‫النظام‬ ‫هندسة‬ ‫أما‬hardware‫ال‬ ‫و‬software‫و‬
‫البرمجيات‬ ‫هندسة‬ ‫من‬ ‫أشمل‬ ‫و‬ ‫أوسع‬ ‫هي‬.
9
Overview
■ Enterprise Resource Planning (ERP):
–‫بعضها‬ ‫مع‬ ‫تشكل‬ ‫متكاملة‬ ‫برمجية‬ ‫حزمة‬ ‫عن‬ ‫عبارة‬ ‫هي‬system‫أي‬ ‫إلدارة‬ ‫ذلك‬ ‫و‬ ‫كامل‬
‫الشركة‬ ‫أنظمة‬ ‫بأتمتة‬ ‫تقوم‬ ‫أي‬ ،‫شركة‬.
■ Embedded System: (‫المضمنة‬ ‫)النظم‬
–‫أو‬ ‫ذاكرة‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ‫المضمنة‬ ‫النظم‬ROM‫هي‬ ‫أي‬cheep‫عليها‬ ‫تخزن‬ ‫ذاكرة‬ ‫من‬
‫الذكي‬ ‫المنزل‬ ‫و‬ ‫الغسالة‬ ‫و‬ ‫البراد‬ ‫برمجيات‬ ‫مثل‬ ‫ثابتة‬ ‫معلومات‬.
■ Computer Aided Software Engineering (CASE)
–‫نوعين‬ ‫لها‬ ‫و‬ ‫البرمجيات‬ ‫هندسة‬ ‫تطوير‬ ‫في‬ ‫مساعدة‬ ‫أدوات‬:
–Upper case:‫و‬ ‫تحليل‬ ‫من‬ ‫األولى‬ ‫المراحل‬ ‫على‬ ‫فقط‬ ‫تقتصر‬ ‫و‬ ‫قليلة‬ ‫تكون‬ ‫األدوات‬ ‫هذه‬
‫أدوات‬ ‫تضم‬ ‫أي‬ ‫تصميم‬tools‫و‬ ‫المخططات‬ ‫رسم‬ ‫و‬ ‫المتطلبات‬ ‫جمع‬ ‫عملية‬ ‫في‬ ‫تساعد‬
‫المتطلبات‬ ‫تصنيف‬..‫الخ‬.
–Lower case:‫ال‬ ‫عمليات‬ ‫في‬ ‫تساعد‬ ‫التي‬ ‫األدوات‬ ‫هي‬debugging‫االختبار‬ ‫و‬ ‫البرمجة‬ ‫و‬.
10
Overview
■‫المهتمون‬( :stakeholders)
–‫تتأث‬ ‫أو‬ ‫تؤثر‬ ‫ألنها‬ ‫البرمجية‬ ‫النظم‬ ‫تطوير‬ ‫في‬ ‫المهتمة‬ ‫مؤسسات‬ ‫أو‬ ‫أشخاص‬ ‫انهم‬‫ر‬
‫المقترح‬ ‫بالنظام‬ ‫مباشرة‬ ‫غير‬ ‫أو‬ ‫مباشرة‬ ‫بطريقة‬.
–‫مثال‬:‫أو‬ ‫العالي‬ ‫التعليم‬ ‫لوزارة‬ ‫تعليمي‬ ‫نظام‬online management system‫من‬ ‫فكل‬
‫ال‬ ‫يشكلون‬ ‫الطالب‬ ‫و‬ ‫الوزارة‬stakeholders‫الدور‬ ‫لهم‬ ‫و‬ ‫النظام‬ ‫بهذا‬ ‫يتأثرون‬ ‫ألنهم‬
‫النظام‬ ‫ذلك‬ ‫تطوير‬ ‫في‬ ‫األساسي‬.
11
Overview
■‫ال‬ ‫تقسيم‬stack holders:
–‫النظام‬ ‫يطورون‬ ‫الذين‬ ‫المطورون‬developers:
■‫ال‬ ‫يعتبر‬ ‫حيث‬developers‫مهتمون‬‫بالنظام‬ ‫بآخر‬ ‫أو‬ ‫بشكل‬ ‫يتأثرون‬ ‫ألنهم‬.
–‫المستخدمون‬users :
■‫النظام‬ ‫يستخدمون‬ ‫من‬ ‫ألنهم‬ ‫المهتمون‬ ‫من‬ ‫هم‬.
–‫الممولون‬sponsors:
■‫المال‬ ‫بدفع‬ ‫يقومون‬ ‫أي‬ ‫النظام‬ ‫يمولون‬ ‫الذين‬ ‫المسؤولون‬.
12
Overview
■‫ال‬ ‫مفهومي‬ ‫بين‬ ‫الفرق‬actor‫ال‬ ‫و‬stack holders:
–‫ال‬stack holders‫أشخاص‬ ً‫دائما‬ ‫هم‬ ‫و‬ ‫النظام‬ ‫يستخدمون‬ ‫من‬ ‫هم‬ ‫و‬ ‫المهتمون‬ ‫هم‬
‫فقط‬.
–‫ال‬actor‫النظام‬ ‫من‬ ‫خدمة‬ ‫ل‬ّ‫ع‬‫يف‬ ‫أو‬ ‫النظام‬ ‫ل‬ّ‫ع‬‫يف‬ ‫من‬ ‫هو‬.
■‫ال‬ ‫أن‬ ‫حيث‬ ‫شخص‬ ‫يكون‬ ‫أن‬ ‫بالضرورة‬ ‫ليس‬actor،‫شخص‬ ‫يكون‬ ‫قد‬hardware،software،
‫نفسه‬ ‫النظام‬ ‫ماعدا‬ ‫شيء‬ ‫أي‬ ‫يكون‬ ‫أن‬ ‫يمكن‬ ‫و‬.
13
Overview
■‫البرمجية‬ ‫اإلجرائية‬( :Software Processes)
–‫التي‬ ‫البعض‬ ‫بعضها‬ ‫المترابطة‬ ‫المخططات‬ ‫و‬ ‫األدوات‬ ‫و‬ ‫الطرق‬ ‫و‬ ‫األنشطة‬ ‫مجموعة‬
‫يحقق‬ ‫الذي‬ ‫و‬ ‫المشكلة‬ ‫تلك‬ ‫لحل‬ ‫مجدي‬ ‫جديد‬ ‫نظام‬ ‫إيجاد‬ ‫و‬ ‫المشكلة‬ ‫لفهم‬ ‫تؤدي‬
‫الزبون‬ ‫رضا‬ ‫و‬ ‫العالية‬ ‫الجودة‬ ‫و‬ ‫المنخفضة‬ ‫الكلفة‬.
■‫البرمجية‬ ‫اإلجرائيات‬ ‫نماذج‬( :Software Process Models)
–‫معين‬ ‫طريقة‬ ‫أو‬ ‫معين‬ ‫إجراء‬ ‫وفق‬ ‫السابقة‬ ‫األنشطة‬ ‫تلك‬ ‫ورود‬ ‫طريقة‬ ‫به‬ ‫فنقصد‬‫ة‬.
–‫اسم‬ ‫اإلجرائي‬ ‫النموذج‬ ‫على‬ ‫نطلق‬ ‫خطي‬ ‫بشكل‬ ‫األنشطة‬ ‫تلك‬ ‫وردت‬ ‫إذا‬ ‫مثل‬
(‫النموذج‬‫الشاللي‬.)
14
Overview
■‫تطوير‬ ‫مرحلة‬ ‫تمر‬(‫النظام‬)‫مراحل‬ ‫أربع‬ ‫في‬ ‫عام‬ ‫بشكل‬ ‫البرمجيات‬ ‫أو‬( :activities)
Analysis ‫التحليل‬ 1
Design ‫التصميم‬ 2
Implementation ‫التنجيز‬ 3
Testing ‫االختبار‬ 4
15
Question 1
■ Which of these is incorrect?
A. Software engineering belongs to Computer science.
B. Software engineering is a part of more general form of System Engineering.
C. Computer science belongs to Software engineering.
D. Software engineering is concerned with the practicalities of developing and
delivering useful software.
16
Question 1
■ Which of these is incorrect?
A. Software engineering belongs to Computer science.
B. Software engineering is a part of more general form of System Engineering.
C. Computer science belongs to Software engineering.
D. Software engineering is concerned with the practicalities of developing and
delivering useful software.
17
Question 2
■ A stakeholder is anyone who will purchasethe completed software systemunder
development.
A. True.
B. False.
18
Question 2
■ A stakeholder is anyone who will purchasethe completed software systemunder
development.
A. True.
B. False.
19
Question 3
■ What are the characteristicsof software?
A. Software is developed or engineered; it is not manufactured in the classical
sense.
B. Software doesn’t“wear out”.
C. Software can be custom built or custombuild.
D. All mentioned above.
20
Question 3
■ What are the characteristicsof software?
A. Software is developed or engineered; it is not manufactured in the classical
sense.
B. Software doesn’t“wear out”.
C. Software can be custom built or custombuild.
D. All mentioned above.
21
Question 4
■ Software is defined as ____ .
A. Instructions.
B. Data Structures.
C. Documents.
D. All of the above.
22
Question 4
■ Software is defined as ____ .
A. Instructions.
B. Data Structures.
C. Documents.
D. All of the above.
23
Question 5
■ What are the signs that a software project is in trouble?
A. The productscope is poorly defined.
B. Deadlines are unrealistic.
C. Changes are managed poorly.
D. All of the above.
24
Question 5
■ What are the signs that a software project is in trouble?
A. The productscope is poorly defined.
B. Deadlines are unrealistic.
C. Changes are managed poorly.
D. All of the above.
25
SOFTWARE PROCESSES
‫البرمجية‬ ‫اإلجرائية‬
26
Software Processes
Descriptions (‫التحليل‬ ‫او‬ ‫)التوصيف‬
■‫التوصيف‬:
–‫خدمات‬ ‫من‬ ‫النظام‬ ‫يقدمه‬ ‫ما‬ ‫أو‬ ‫النظام‬ ‫من‬ ‫مطلوب‬ ‫هو‬ ‫ما‬.
–‫تسمى‬ ‫بوثيقة‬ ‫التوصيف‬ ‫مرحلة‬ ‫تنتهي‬(‫الشروط‬ ‫دفتر‬)‫أو‬(‫المتطلبات‬ ‫وثيقة‬.)
27
Software Processes
Design (‫)التصميم‬
■‫التصميم‬:
–‫هي‬ ‫عديدة‬ ‫وظائف‬ ‫له‬ ‫و‬ ‫المصمم‬ ‫هو‬ ‫المرحلة‬ ‫هذه‬ ‫عن‬ ‫المسؤول‬:
■‫النظام‬ ‫بمعمارية‬ ‫يعرف‬ ‫أن‬.
■‫مخططات‬ ‫و‬ ‫المعطيات‬ ‫قاعدة‬ ‫بتصميم‬ ‫يقوم‬ ‫أن‬ ‫يجب‬.
■‫البرمجي‬ ‫بالنظام‬ ‫الخاصة‬ ‫الواجهات‬ ‫بتصميم‬ ‫يقوم‬.
–‫النظام‬ ‫بناء‬ ‫أثناء‬ ‫في‬ ‫الوحيدة‬ ‫الهندسية‬ ‫العملية‬ ‫هي‬ ‫التصميم‬ ‫عملية‬.
28
Software Processes
Implementation (‫)التنجيز‬
■‫التنجيز‬:
–‫إلى‬ ‫تحويلها‬ ‫و‬ ‫المصمم‬ ‫صممها‬ ‫التي‬ ‫الخوارزميات‬ ‫بكتابة‬ ‫نقوم‬code.
29
Software Processes
Testing (‫)االختبار‬
■‫االختبار‬:
–‫تصحيحها‬ ‫و‬ ‫أخطاء‬ ‫على‬ ‫العثور‬ ‫بهدف‬ ‫النظام‬ ‫تجريب‬ ‫مرحلة‬ ‫هي‬.
–‫المظلة‬ ‫نشاط‬(umbrella activity:)
–‫ال‬ ‫عمليات‬ ‫بتقسيم‬ ‫نقوم‬testing‫المراحل‬ ‫من‬ ‫مرحلة‬ ‫كل‬ ‫أن‬ ‫بحيث‬ ‫اجزاء‬ ‫الى‬
‫لدينا‬ ‫يكون‬ ‫السابقة‬testing‫نهايتها‬ ‫في‬ ‫معين‬.
30
Question 1
■ 1. RequirementElicitation ------- a. Module Development and integration.
■ 2. Design -----------------------------------b. Analysis.
■ 3. Implementation --------------------c. Structure and behavioral.
■ 4. Maintenance ------------------------d. Performancetuning.
A. 1-c , 2-a , 3-d , 4-b
B. 1-c , 2-a , 3-b , 4-d
C. 1-a , 2-c , 3-d , 4-b
D. 1-b , 2-c , 3-a , 4-d
31
Question 1
■ 1. RequirementElicitation ------- a. Module Development and integration.
■ 2. Design -----------------------------------b. Analysis.
■ 3. Implementation --------------------c. Structure and behavioral.
■ 4. Maintenance ------------------------d. Performancetuning.
A. 1-c , 2-a , 3-d , 4-b
B. 1-c , 2-a , 3-b , 4-d
C. 1-a , 2-c , 3-d , 4-b
D. 1-b , 2-c , 3-a , 4-d
32
Question 2
■ A Project can be characterized as _____ .
A. Every project may not have a unique and distinct goal.
B. Project is routine activity or day-to-day operations.
C. Project does not comes with a start time and end time.
D. None of the above.
33
Question 2
■ A Project can be characterized as _____ .
A. Every project may not have a unique and distinct goal.
B. Project is routine activity or day-to-day operations.
C. Project does not comes with a start time and end time.
D. None of the above.
34
Question 3
■ Which of these software activities are not a part of software processes?
A. Software dependence.
B. Software development.
C. Software validation.
D. Software specification.
35
Question 3
■ Which of these software activities are not a part of software processes?
A. Software dependence.
B. Software development.
C. Software validation.
D. Software specification.
36
SOFTWARE DEVELOPMENT
LIFE CYCLE (SDLC)
software process model
‫البرمجية‬ ‫اإلجرائيات‬ ‫نماذج‬
37
Software Process Model
(‫البرمجية‬ ‫االجرائيات‬ ‫)نماذج‬
■‫قسمين‬ ‫إلى‬ ‫البرمجية‬ ‫اإلجرائيات‬ ‫نماذج‬ ‫تقسم‬:
–‫المخطط‬( :plan driven)
■‫نضع‬ ‫و‬ ‫تام‬ ‫بشكل‬ ‫و‬ ‫كامل‬ ‫بشكل‬ ‫لها‬ ‫التخطيط‬ ‫يتم‬ ‫عنها‬ ‫تحدثنا‬ ‫التي‬ ‫األنشطة‬ ‫كل‬
‫الطارئة‬ ‫الحاالت‬ ‫في‬ ‫بديلة‬ ‫خطط‬ ‫تضع‬ ‫و‬ ،‫االعتبار‬ ‫بعين‬ ‫المخاطر‬.
–‫السريع‬( :agile process)
■‫ذلك‬ ‫و‬ ‫ممكن‬ ‫وقت‬ ‫بأسرع‬ ‫النظام‬ ‫تطوير‬ ‫عملية‬ ‫من‬ ‫االنتهاء‬ ‫هي‬ ‫النماذج‬ ‫هذه‬ ‫من‬ ‫الهدف‬
‫سريعا‬ ‫تخطيطا‬ ‫نخطط‬ ‫فترة‬ ‫كل‬ ‫حيث‬ ‫عالي‬ ‫لتخطيط‬ ‫يحتاج‬ ‫ال‬ ‫هو‬ ‫و‬ ‫الجودة‬ ‫حساب‬ ‫على‬
‫كامل‬ ‫ليس‬ ‫أنه‬ ‫أي‬ ‫ننجزها‬ ‫ثم‬ ‫معينة‬ ‫لخدمة‬.
38
Software Development Life Cycle (SDLC)
Waterfall Model ( ‫النموذج‬‫الشاللي‬ )
■‫تعريف‬:
–‫األ‬ ‫نحو‬ ‫الماء‬ ‫يتدفق‬ ‫حيث‬ ‫المياه‬ ‫تدفق‬ ‫مثل‬ ‫البعض‬ ‫بعضها‬ ‫وراء‬ ‫األنشطة‬ ‫تورد‬ ‫عندما‬‫مام‬
‫الشللي‬ ‫بالنموذج‬ ‫النموذج‬ ‫هذا‬ ‫يسمى‬ ‫الوراء‬ ‫إلى‬ ‫العودة‬ ‫دون‬.
■‫النموذج‬ ‫هذا‬ ‫مشاكل‬:
–‫النظام‬ ‫على‬ ‫الحصول‬ ‫حتى‬ ‫و‬ ‫الفكرة‬ ‫مرحلة‬ ‫من‬ ‫النظام‬ ‫يستهلكه‬ ‫الذي‬ ‫الكبير‬ ‫الوقت‬.
■‫عمل‬ ‫بأي‬ ‫المصممون‬ ‫يقوم‬ ‫ال‬ ‫التحليل‬ ‫بعملية‬ ‫القيام‬ ‫أثناء‬ ‫ألنه‬.
–‫أ‬ ‫يجب‬ ‫النموذج‬ ‫هذا‬ ‫اختيار‬ ‫عند‬ ‫لذلك‬ ‫و‬ ‫المتطلبات‬ ‫في‬ ‫تغيير‬ ‫أي‬ ‫يقبل‬ ‫ال‬ ‫النموذج‬ ‫هذا‬‫ن‬
‫الدقيقة‬ ‫تفاصيله‬ ‫بكل‬ ‫واضح‬ ‫النظام‬ ‫يكون‬.
■‫الشللي‬ ‫بنموذج‬ ‫تطويره‬ ‫يمكننا‬ ‫لدينا‬ ‫قديم‬ ‫نظام‬ ‫تطوير‬ ‫مثل‬.
■‫النموذج‬ ‫هذا‬ ‫محاسن‬:
–‫النموذج‬ ‫مثل‬ ‫تماما‬ ‫الخطية‬ ‫الطريقة‬ ‫يقبل‬ ‫العقل‬ ‫إن‬‫الشاللي‬‫غيره‬ ‫من‬ ‫أسهل‬ ‫يراه‬ ‫و‬.
–‫النموذج‬ ‫فإن‬ ‫الكافية‬ ‫الخبرة‬ ‫يملك‬ ‫ال‬ ‫النظام‬ ‫بتطوير‬ ‫يقوم‬ ‫الذي‬ ‫الفريق‬ ‫كان‬ ‫إذا‬‫الش‬‫اللي‬
‫جدا‬ ‫لهم‬ ‫مفيد‬.
39
Software Development Life Cycle (SDLC)
Waterfall Model ( ‫النموذج‬‫الشاللي‬ )
■‫مالحظة‬:
–‫الويب‬ ‫تطبيقات‬ ‫جميع‬web‫الشللي‬ ‫بالنموذج‬ ‫تطور‬ ‫ال‬!!
–‫خد‬ ‫على‬ ‫تعديالت‬ ‫و‬ ‫تغييرات‬ ‫و‬ ‫فترة‬ ‫كل‬ ‫خدمات‬ ‫إضافة‬ ‫لها‬ ‫يحدث‬ ‫تطبيقات‬ ‫ألنها‬‫مات‬
‫الشللي‬ ‫بالنموذج‬ ‫تطور‬ ‫ال‬ ‫لذلك‬ ‫و‬ ‫قديمة‬.
40
Software Development Life Cycle (SDLC)
Incremental Model ( ‫النموذج‬‫التزايدي‬ )
■‫تعريف‬:
–‫يقدم‬ ‫معين‬ ‫نظام‬ ‫لدينا‬ ‫ليكن‬100‫معينة‬ ‫خدمة‬.
–‫يقد‬ ‫التي‬ ‫الخدمات‬ ‫و‬ ‫المتطلبات‬ ‫تحديد‬ ‫و‬ ‫المشكلة‬ ‫فهم‬ ‫بعد‬ ‫العمل‬ ‫فريق‬ ‫يقوم‬‫مها‬
‫اختيار‬ ‫يتم‬ ‫أن‬ ‫بها‬ ‫نقصد‬ ‫و‬ ‫األولويات‬ ‫بتحديد‬ ‫النظام‬10‫في‬ ‫أولوية‬ ‫أساسية‬ ‫خدمات‬
‫النظام‬.
–‫ملموس‬ ‫لمنتج‬ ‫نصل‬ ‫هكذا‬ ‫و‬ ‫تنجيز‬ ‫ثم‬ ‫تصميم‬ ‫ثم‬ ‫لها‬ ‫تحليل‬ ‫مرحلة‬ ‫عمل‬ ‫يتم‬ ‫ثم‬‫يقدم‬
10،‫خدمات‬
–‫إليه‬ ‫نضيف‬ ‫و‬ ‫المنتج‬ ‫هذا‬ ‫نأخذ‬ ‫ذلك‬ ‫بعد‬5‫التحليل‬ ‫عمليات‬ ‫بإعادة‬ ‫ذلك‬ ‫و‬ ‫أخرى‬ ‫خدمات‬
‫و‬ ‫التصميم‬ ‫و‬‫التنجيز‬‫يقدم‬ ‫المنتج‬ ‫فيصبح‬ ‫لها‬15،‫خدمة‬
–‫دائم‬ ‫تطوير‬ ‫مرحلة‬ ‫في‬ ‫يبقى‬ ‫أو‬ ‫نظامنا‬ ‫ينتهي‬ ‫حتى‬ ‫هكذا‬ ‫و‬.
41
Software Development Life Cycle (SDLC)
Incremental Model ( ‫النموذج‬‫التزايدي‬ )
■‫النموذج‬ ‫هذه‬ ‫محاسن‬:
–‫كامل‬ ‫غير‬ ‫لكنه‬ ‫ملموس‬ ‫منتج‬ ‫على‬ ‫الحصول‬ ‫من‬ ‫يمكننا‬ ‫الذي‬ ‫القصير‬ ‫الوقت‬.
–‫ت‬ ‫يمكننا‬ ‫بها‬ ‫نقوم‬ ‫دورة‬ ‫فبكل‬ ،‫متغيرة‬ ‫متطلبات‬ ‫مع‬ ‫يتعامل‬ ‫ان‬ ‫النموذج‬ ‫لهذا‬ ‫يمكن‬‫عديل‬
‫جديدة‬ ‫خدمات‬ ‫إضافة‬ ‫أو‬ ‫متطلبات‬.
–‫الويب‬ ‫تطبيقات‬ ‫خاصة‬ ‫و‬ ‫النموذج‬ ‫بهذا‬ ‫تطور‬ ‫االنظمة‬ ‫معظم‬.
■‫النموذج‬ ‫هذا‬ ‫مساوئ‬:
–‫تم‬ ‫قد‬ ‫قديمة‬ ‫متطلبات‬ ‫مع‬ ‫تتناقض‬ ‫أن‬ ‫الجديدة‬ ‫المتطلبات‬ ‫أو‬ ‫الخدمات‬ ‫لبعض‬ ‫يمكن‬‫تنجيزها‬
‫النظام‬ ‫من‬ ‫نسفها‬ ‫إلى‬ ‫نضطر‬ ‫لذلك‬ ‫بالنظام‬.
–‫خدمة‬ ‫بدون‬ ‫مفيدة‬ ‫غير‬ ‫لكنها‬ ‫خدمة‬ ‫فتقدم‬ ‫البعض‬ ‫ببعضها‬ ‫الخدمات‬ ‫ترتبط‬ ‫أن‬ ‫يمكن‬‫أخرى‬
‫ثانية‬ ‫كاملة‬ ‫دورة‬ ‫االنتظار‬ ‫يجب‬ ‫هنا‬ ‫و‬‫لتنجيز‬‫الخدمة‬ ‫لتفعيل‬ ‫ذلك‬ ‫و‬ ‫الثانية‬ ‫الخدمة‬‫و‬ ‫األولى‬
‫النظام‬ ‫في‬ ‫أولوياتنا‬ ‫ترتيب‬ ‫أثناء‬ ‫لخطأ‬ ‫يعود‬ ‫هذا‬.
■‫مساوئه‬ ‫من‬ ‫أكثر‬ ‫النظام‬ ‫هذا‬ ‫محاسن‬ ‫عام‬ ‫بشكل‬.
42
Software Development Life Cycle (SDLC)
Reuse-oriented Software Engineering
(‫االستخدام‬ ‫بإعادة‬ ‫المقام‬ ‫)النموذج‬
■‫تعريف‬:
–‫اختبار‬ ‫ثم‬ ‫تنجيز‬ ‫ثم‬ ‫بحث‬ ‫ثم‬ ‫تصميم‬ ‫ثم‬ ‫تحليل‬.
–‫عن‬ ‫بالبحث‬ ‫بها‬ ‫نقوم‬ ‫مرحلة‬ ‫هي‬ ‫البحث‬component،‫مشروعنا‬ ‫في‬ ‫نضمنها‬ ‫جاهزة‬
‫ب‬ ‫يقوم‬ ‫التي‬ ‫الخدمات‬ ‫و‬ ‫المتطلبات‬ ‫تحديد‬ ‫و‬ ‫التحليل‬ ‫بعملية‬ ‫القيام‬ ‫بعد‬ ‫حيث‬‫النظام‬ ‫ها‬
‫يقدمها‬ ‫التي‬ ‫الخدمات‬ ‫تخدم‬ ‫قديمة‬ ‫أنظمة‬ ‫عن‬ ‫السوق‬ ‫في‬ ‫بحث‬ ‫عملية‬ ‫نجري‬
‫نظامنا‬ ‫ليتشكل‬ ‫سويا‬ ‫ربطها‬ ‫و‬ ‫الجاهزة‬ ‫المكونات‬ ‫هذه‬ ‫بتجميع‬ ‫فنقوم‬ ‫نظامي‬.
–‫ال‬ ‫تلك‬ ‫تكون‬ ‫أن‬ ‫مراعاة‬ ‫يجب‬component‫و‬ ‫موثوقة‬ ‫نظامنا‬ ‫في‬ ‫منها‬ ‫نستفيد‬ ‫التي‬
‫بعملية‬ ‫القيام‬ ‫علينا‬ ‫يتوجب‬ ‫لذلك‬testing‫النظام‬ ‫في‬ ‫تضمينها‬ ‫قبل‬ ‫للمكونات‬.
43
Software Development Life Cycle (SDLC)
Reuse-oriented Software Engineering
(‫االستخدام‬ ‫بإعادة‬ ‫المقام‬ ‫)النموذج‬
■‫النموذج‬ ‫هذا‬ ‫محاسن‬:
–‫نظامنا‬ ‫تنجيز‬ ‫في‬ ‫السرعة‬.
–‫ال‬ ‫عمليات‬ ‫بسبب‬ ‫الموثوقية‬testing‫المكونات‬ ‫من‬ ‫مكون‬ ‫كل‬ ‫أجل‬ ‫من‬ ‫بها‬ ‫نقوم‬ ‫التي‬
‫الجاهزة‬.
■‫النموذج‬ ‫هذا‬ ‫مساوئ‬:
–‫ال‬ ‫تتوافر‬ ‫ال‬ ‫أحيانا‬component‫إلى‬ ‫نضطر‬ ‫ولذلك‬ ‫المناسبة‬‫تنجيزها‬‫بأنفسنا‬.
–‫ال‬ ‫ربط‬ ‫و‬ ‫التكامل‬ ‫عملية‬ ‫أن‬components‫هي‬ ‫و‬ ‫جدا‬ ‫معقد‬ ‫عملية‬ ‫البعض‬ ‫بعضها‬ ‫مع‬
‫عالي‬ ‫فهم‬ ‫إلى‬ ‫تحتاج‬‫لل‬interfaces‫ال‬ ‫بين‬components.
44
Software Development Life Cycle (SDLC)
Prototyping Model (‫االولي‬ ‫او‬ ‫البدائي‬ ‫)النموذج‬
■‫تعريف‬:
–‫نظ‬ ‫أي‬ ‫يوجد‬ ‫ال‬ ‫أي‬ ‫أبدا‬ ‫قبل‬ ‫من‬ ‫مطبق‬ ‫غير‬ ‫جديدة‬ ‫فكرة‬ ‫ذو‬ ‫جديد‬ ‫نظام‬ ‫تطوير‬ ‫نريد‬‫ام‬
‫ا‬ ‫لفريق‬ ‫بالنسبة‬ ‫النظام‬ ‫يكون‬ ‫الحالة‬ ‫هذه‬ ‫في‬ ‫و‬ ‫كليا‬ ‫جديد‬ ‫نظام‬ ‫هو‬ ‫بل‬ ‫يشبهه‬‫لعمل‬
‫غامض‬.
–‫يم‬ ‫ال‬ ‫هنا‬ ‫و‬ ‫يريدها‬ ‫التي‬ ‫متطلباته‬ ‫عن‬ ‫التعبير‬ ‫عن‬ ‫قادر‬ ‫غير‬ ‫الزبون‬ ‫يكون‬ ‫عندما‬‫كننا‬
‫مباشر‬ ‫بشكل‬ ‫الزبون‬ ‫من‬ ‫المتطلبات‬ ‫جمع‬.
–‫نوعين‬ ‫يوجد‬ ‫النموذج‬:
■‫مهمل‬.
■‫تطويري‬.
45
Software Development Life Cycle (SDLC)
Prototyping Model (‫االولي‬ ‫او‬ ‫البدائي‬ ‫)النموذج‬
■‫النموذج‬ ‫هذا‬ ‫محاسن‬:
–‫كان‬ ‫حال‬ ‫في‬ ‫الوحيد‬ ‫الحل‬ ‫إنه‬:
■‫تماما‬ ‫جديد‬ ‫نظامنا‬.
■‫متطلباته‬ ‫عن‬ ‫التعبير‬ ‫على‬ ‫قادر‬ ‫غير‬ ‫الزبون‬.
■‫النموذج‬ ‫هذا‬ ‫مساوئ‬:
–‫المتطلبات‬ ‫جمع‬ ‫عملية‬ ‫في‬ ‫المستهلك‬ ‫الوقت‬ ‫بسبب‬ ‫ذلك‬ ‫و‬ ‫للوقت‬ ‫مستهلك‬.
–‫الرسومات‬ ‫من‬ ‫نموذج‬ ‫من‬ ‫أكثر‬ ‫و‬ ‫واجهة‬ ‫من‬ ‫أكثر‬ ‫بعمل‬ ‫نقوم‬ ‫فقد‬ ‫للجهد‬ ‫مستهلك‬.
–‫بإمك‬ ‫عالقة‬ ‫له‬ ‫ذلك‬ ‫ألن‬ ،‫المتطلبات‬ ‫إليجاد‬ ‫حل‬ ‫إلى‬ ‫نصل‬ ‫ال‬ ‫قد‬ ‫ألننا‬ ‫مضمون‬ ‫غير‬‫انية‬
‫بتصميماتنا‬ ‫الزبون‬ ‫إقناع‬.
46
Software Development Life Cycle (SDLC)
Spiral Model (‫الحلزوني‬ ‫)النموذج‬
■‫تعريف‬:
–‫هي‬ ‫و‬ ‫أساسية‬ ‫قطاعات‬ ‫أربعة‬ ‫من‬ ‫مكون‬ ‫النموذج‬ ‫هذا‬:
.1‫التخطيط‬( .Planning)
.2‫المخاطر‬ ‫دراسة‬( .Risk analysis)
.3‫التطوير‬( .Development)
.4‫التقييم‬( .Assessment)
–‫المخاطر‬ ‫لدراسة‬ ‫أساسي‬ ‫بشكل‬ ‫موجه‬ ‫النموذج‬ ‫هذا‬.
–‫الضخمة‬ ‫األنظمة‬ ‫في‬ ‫إال‬ ‫يطلب‬ ‫ال‬ ‫الحلزوني‬ ‫النموذج‬‫والمعقدة‬.
–‫مخطط‬ ‫بين‬ ‫دمج‬ ‫يعتبر‬‫الشاللي‬‫والبروتوتايب‬
■‫النموذج‬ ‫و‬ ‫الحلزوني‬ ‫النموذج‬ ‫بين‬ ‫الفرق‬ ‫ما‬‫التزايدي‬‫؟‬
–‫النموذج‬ ‫إن‬‫التزايدي‬،‫ملموس‬ ‫منتج‬ ‫على‬ ‫نحصل‬ ‫فقط‬ ‫واحدة‬ ‫دورة‬ ‫بعد‬
–‫إلى‬ ‫نصل‬ ‫ال‬ ‫و‬ ‫دورة‬ ‫من‬ ‫أكثر‬ ‫ندور‬ ‫قد‬ ‫الحلزوني‬ ‫النموذج‬ ‫أما‬product‫إنتاج‬ ‫يتطلب‬ ‫قد‬ ‫أي‬
‫دورة‬ ‫من‬ ‫أكثر‬ ‫نظام‬.
47
Software Development Life Cycle (SDLC)
Spiral Model (‫الحلزوني‬ ‫)النموذج‬
■‫النموذج‬ ‫هذا‬ ‫محاسن‬:
–‫التغييرات‬ ‫االعتبار‬ ‫بعين‬ ‫يأخذ‬ ‫النموذج‬ ‫هذا‬change‫المخاطر‬ ‫دراسة‬ ‫كذلك‬ ‫و‬risk،
‫الدورات‬ ‫و‬ ‫التكرارات‬ ‫عدد‬ ‫بسبب‬ ‫عالية‬ ‫جودة‬ ‫ذا‬ ‫يكون‬ ‫النموذج‬ ‫بهذا‬ ‫المطور‬ ‫فالنظام‬
‫للصيا‬ ‫قابل‬ ‫النظام‬ ‫يكون‬ ‫أيضا‬ ‫و‬ ‫النظام‬ ‫هذا‬ ‫على‬ ‫للحصول‬ ‫تنفيذها‬ ‫يتم‬ ‫التي‬‫نة‬.
■‫النموذج‬ ‫هذا‬ ‫مساوئ‬:
–‫مؤهالت‬ ‫و‬ ‫خبرات‬ ‫ذو‬ ‫فريق‬ ‫إلى‬ ‫يحتاج‬ ‫و‬ ‫كبير‬ ‫بشكل‬ ‫التطبيق‬ ‫صعب‬ ‫أنه‬ ‫مساوئه‬
‫الكبيرة‬ ‫المشاريع‬ ‫في‬ ‫يطبق‬ ‫هو‬ ‫و‬ ،‫عالية‬.
48
Software Development Life Cycle (SDLC)
Rational Unified Process (RUP)
(‫الموحدة‬ ‫)اإلجراءات‬
■‫تعريف‬:
–‫كلمة‬Rational‫اسمها‬ ‫التي‬ ‫طورتها‬ ‫التي‬ ‫للشركة‬ ‫نسبة‬ ‫هي‬Rational software
corporation
–‫لغة‬ ‫بمساعدة‬ ‫التوجه‬ ‫غرضي‬ ‫التصميم‬ ‫و‬ ‫التحليل‬ ‫بعمليات‬ ‫تقوم‬ ‫اإلجرائية‬ ‫هذه‬
‫النمذجة‬‫الموحدة‬(unified model language UML.)
49
Software Process Model
(‫البرمجية‬ ‫االجرائيات‬ ‫)نماذج‬
■‫للنظام؟‬ ‫المناسب‬ ‫اإلجرائي‬ ‫النموذج‬ ‫نختار‬ ‫تجعلنا‬ ‫التي‬ ‫األمور‬ ‫هي‬ ‫ما‬
–‫المتطلبات‬:
■‫النموذج‬ ‫نختار‬ ‫واضح‬ ‫النظام‬ ‫و‬ ‫واضحة‬ ‫كانت‬ ‫إذا‬‫الشاللي‬.
■‫البدائي‬ ‫النموذج‬ ‫نختار‬ ‫معروفة‬ ‫غير‬ ‫و‬ ‫جديدة‬ ‫كانت‬ ‫إذا‬(prototyping.)
■‫النموذج‬ ‫نختار‬ ‫النظام‬ ‫إنجاز‬ ‫في‬ ‫السرعة‬ ‫أردنا‬ ‫إذا‬‫التزايدي‬.
■‫نختار‬ ‫العالية‬ ‫الجودة‬ ‫أردنا‬ ‫إذا‬RUP.
■‫الحلزوني‬ ‫النموذج‬ ‫الخترنا‬ ‫االعتبار‬ ‫بعين‬ ‫المخاطر‬ ‫وضع‬.
■‫نختار‬ ‫متغيرة‬ ‫المتطلبات‬ ‫كانت‬ ‫لو‬‫التزايدي‬.
–‫العمل‬ ‫فريق‬:
■‫الفريق‬ ‫كان‬ ‫إذا‬‫نختار‬ ‫جدا‬ ‫كبير‬RUP
■‫الحلزوني‬ ‫نختار‬ ‫عالية‬ ‫كفاءة‬ ‫و‬ ‫كبيرة‬ ‫خبرات‬ ‫ذا‬ ‫كان‬ ‫إذا‬.
■‫ال‬ ‫نختار‬ ‫صغير‬ ‫كان‬ ‫إذا‬agile‫أو‬‫التزايدي‬.
■‫نختار‬ ‫الكافية‬ ‫المؤهالت‬ ‫و‬ ‫الخبرة‬ ‫يملك‬ ‫ال‬ ‫كان‬ ‫إذا‬‫الشاللي‬.
–‫الزبون‬:
■‫البدائي‬ ‫النموذج‬ ‫نختار‬ ‫متطلباته‬ ‫عن‬ ‫التعبير‬ ‫يعرف‬ ‫ال‬ ‫الزبون‬ ‫كان‬ ‫إذا‬.
■‫النموذج‬ ‫نختار‬ ‫باستمرار‬ ‫متطلباته‬ ‫يغير‬ ‫و‬ ‫متقلبا‬ ‫كان‬ ‫إذا‬‫التزايدي‬.
50
Agile Software Development
(‫الرشيقة‬ ‫البرمجيات‬ ‫)تطوير‬
■‫حساب‬ ‫على‬ ‫ذلك‬ ‫و‬ ‫الوقت‬ ‫بمسألة‬ ‫فقط‬ ‫تهتم‬ ‫الطريقة‬ ‫هذه‬ ‫ان‬‫أن‬ ‫أي‬ ‫الجودة‬ ‫و‬ ‫الكلفة‬
‫ب‬ ‫التطوير‬ ‫من‬ ‫الهدف‬agile‫هو‬‫بأقصر‬ ‫ذلك‬ ‫و‬ ‫التطور‬ ‫تواكب‬ ‫برمجية‬ ‫منتجات‬ ‫على‬ ‫الحصول‬
‫ممكن‬ ‫وقت‬.
■‫و‬ ‫كبير‬ ‫تخطيط‬ ‫لدينا‬ ‫يوجد‬ ‫ال‬ ‫النظم‬ ‫تطوير‬ ‫من‬ ‫النوع‬ ‫بهذا‬‫توثيق‬ ‫لدينا‬ ‫يوجد‬ ‫ال‬ ‫كذلك‬
documentation،‫ظهور‬ ‫عند‬ ‫بالتالي‬ ‫و‬‫ذلك‬ ‫و‬ ‫حلها‬ ‫نستطيع‬ ‫ال‬ ‫النظام‬ ‫في‬ ‫معينة‬ ‫مشاكل‬
‫من‬ ‫األنشطة‬ ‫ألن‬(‫اختبار‬ ، ‫تنجيز‬ ، ‫تصميم‬ ، ‫تحليل‬)‫البعض‬ ‫بعضها‬ ‫مع‬ ‫متداخلة‬.
■‫يتم‬‫تزايدي‬ ‫بشكل‬ ‫النظام‬ ‫تطوير‬Incremental‫يقدم‬ ‫لنجعله‬ ‫ذلك‬ ‫و‬‫و‬ ‫األساسية‬ ‫الخدمات‬
‫تقوم‬ ‫ما‬ ‫غالبا‬ ‫و‬ ‫التطوير‬ ‫مرحلة‬ ‫تبدأ‬ ‫ذلك‬ ‫بعد‬‫باستخدام‬component‫أو‬ ‫جاهزة‬tools
‫تطوير‬ ‫عملية‬ ‫في‬ ‫تساعدنا‬‫النظام‬.
51
Agile Software Development
(‫الرشيقة‬ ‫البرمجيات‬ ‫)تطوير‬
■‫ال‬ ‫بتطبيق‬ ‫نقوم‬ ‫متى‬Agile method‫؟‬
–ً‫وسطا‬ ‫أو‬ ً‫صغيرا‬ ‫النظام‬ ‫حجم‬ ‫يكون‬ ‫عندما‬.
–‫ال‬ ‫يكون‬ ‫عندما‬customer‫الزب‬ ‫نعد‬ ‫ألننا‬ ‫ذلك‬ ‫و‬ ‫التطوير‬ ‫فريق‬ ‫مع‬ ‫االلتزام‬ ‫على‬ ً‫قادرا‬‫ون‬
‫التطوير‬ ‫مرحلة‬ ‫خالل‬ ‫للنظام‬ ‫كاملة‬ ‫تقييم‬ ‫آلية‬.
–‫بمهاراته‬ ً‫متكامال‬ ‫و‬ ً‫صغيرا‬ ‫المطور‬ ‫الفريق‬ ‫يكون‬ ‫عندما‬.
■‫ب‬ ‫المطور‬ ‫النظام‬ ‫أن‬ ‫بما‬Agile method‫شكل‬ ‫على‬ ‫يقدم‬versions‫خطأ‬ ‫هناك‬ ‫يكون‬ ‫فقد‬
‫الخدمات‬ ‫و‬ ‫بالنظام‬ ‫األولويات‬ ‫تحديد‬ ‫في‬‫النظام‬ ‫فشل‬ ‫إلى‬ ‫يؤدي‬ ‫مما‬ ‫األساسية‬.
52
Agile Software Development
(‫الرشيقة‬ ‫البرمجيات‬ ‫)تطوير‬
■‫ال‬ ‫نماذج‬ ‫و‬ ‫طرق‬Agile
–‫األولى‬ ‫الطريقة‬:(Rapid Application Development RAD)
■‫طريقة‬RAD‫طريقة‬ ‫هي‬‫النموذج‬ ‫من‬ ‫مشتقة‬‫الشاللي‬‫القيام‬ ‫على‬ ‫تقوم‬ ‫هي‬ ‫و‬‫تحليل‬ ‫بعملية‬
‫يتم‬ ‫بحيث‬ ‫التطوير‬ ‫فريق‬ ‫بين‬ ‫المهام‬ ‫تقسيم‬ ‫ثم‬ ‫للنظام‬‫تحاول‬ ‫هي‬ ‫و‬ ‫التوازي‬ ‫على‬ ‫التطوير‬
‫من‬ ‫االستفادة‬ ‫كذلك‬component‫جاهزة‬‫النظام‬ ‫ضمن‬ ‫تضمينها‬ ‫و‬.
–‫الثانية‬ ‫الطريقة‬( :Extreme Programming XP)
■‫تعني‬(‫المتطرفة‬ ‫البرمجية‬:)‫بال‬ ‫األساسية‬ ‫الطريقة‬ ‫هي‬ ‫و‬Agile method‫بهذا‬ ‫سميت‬ ‫قد‬ ‫و‬
‫هي‬ ً‫عمليا‬ ‫و‬ ‫البرمجة‬ ‫عمليات‬ ‫على‬ ‫تركز‬ ‫ألنها‬ ‫االسم‬‫ال‬ ‫بتحويل‬ ‫تهتم‬stories‫ال‬ ‫يقصها‬ ‫التي‬
costumers‫إلى‬code.
–‫الثالثة‬ ‫الطريقة‬scrum :
■‫المطورة‬ ‫النظم‬ ‫في‬ ‫إدارية‬ ‫مشاكل‬ ‫لظهور‬ ‫نتيجة‬ ‫ظهرت‬ ‫الطريقة‬ ‫هذه‬‫ال‬ ‫بطرق‬Agile
■‫يتم‬ ‫الذي‬ ‫النظام‬ ‫على‬ ‫إشراف‬ ‫بها‬ ‫يوجد‬ ‫الطريقة‬ ‫فهذه‬‫على‬ ‫التركيز‬ ‫مع‬ ‫إداري‬ ‫بشكل‬ ‫تطويره‬
‫وقت‬ ‫بأسرع‬ ‫النظام‬ ‫على‬ ‫الحصول‬‫ممكن‬.
53
Question 1
■ The most important feature of spiral model is
A. requirement analysis.
B. risk management.
C. quality management.
D. configuration management.
54
Question 1
■ The most important feature of spiral model is
A. requirement analysis.
B. risk management.
C. quality management.
D. configuration management.
55
Question 2
■ In the spiral model ‘risk analysis’ is performed.
A. In the first loop.
B. in the first and second loop.
C. In every loop.
D. before using spiral model.
56
Question 2
■ In the spiral model ‘risk analysis’ is performed.
A. In the first loop.
B. in the first and second loop.
C. In every loop.
D. before using spiral model.
57
Question 3
■ The spiral model of software development
A. Ends with the delivery of the software product
B. Is more chaotic than the incremental model.
C. Includes project risks evaluation during each iteration.
D. All of the above.
58
Question 3
■ The spiral model of software development
A. Ends with the delivery of the software product
B. Is more chaotic than the incremental model.
C. Includes project risks evaluation during each iteration.
D. All of the above.
59
Question 4
■ The model in which the requirements are implemented by category is:
A. Evolutionary Development Model.
B. Waterfall Model.
C. Prototyping.
D. Iterative EnhancementModel.
60
Question 4
■ The model in which the requirements are implemented by category is:
A. Evolutionary Development Model.
B. Waterfall Model.
C. Prototyping.
D. Iterative EnhancementModel.
61
Question 5
■ For a well understood data processingapplication it is best to use
A. The waterfall model.
B. Prototyping model.
C. The evolutionarymodel.
D. The spiral model.
62
Question 5
■ For a well understood data processingapplication it is best to use
A. The waterfall model.
B. Prototyping model.
C. The evolutionarymodel.
D. The spiral model.
63
Question 6
■ RAD stands for:
A. Relative Application Development.
B. Rapid Application Development.
C. Rapid Application Document.
D. None of the mentioned.
64
Question 6
■ RAD stands for:
A. Relative Application Development.
B. Rapid Application Development.
C. Rapid Application Document.
D. None of the mentioned.
65
Question 7
■ SDLC stands for:
A. Software Development Life Cycle.
B. System Development Life Cycle.
C. Software Design Life Cycle.
D. System Design Life Cycle.
66
Question 7
■ SDLC stands for:
A. Software Development Life Cycle.
B. System Development Life Cycle.
C. Software Design Life Cycle.
D. System Design Life Cycle.
67
Question 8
■ Which model can be selected if user is involved in all the phases of SDLC?
A. Waterfall Model.
B. Prototyping Model.
C. RAD Model.
D. both Prototyping Model & RAD Model.
68
Question 8
■ Which model can be selected if user is involved in all the phases of SDLC?
A. Waterfall Model.
B. Prototyping Model.
C. RAD Model.
D. both Prototyping Model & RAD Model.
69
Question 9
■ Selection of a model is based on:
A. Requirements.
B. Development team & users.
C. Project type and associated risk.
D. All of the mentioned.
70
Question 9
■ Selection of a model is based on:
A. Requirements.
B. Development team & users.
C. Project type and associated risk.
D. All of the mentioned.
71
Question 10
■ Which two models doesn’tallow defining requirements early in the cycle?
A. Waterfall & RAD.
B. Prototyping & Spiral.
C. Prototyping & RAD.
D. Waterfall & Spiral.
72
Question 10
■ Which two models doesn’tallow defining requirements early in the cycle?
A. Waterfall & RAD.
B. Prototyping & Spiral.
C. Prototyping & RAD.
D. Waterfall & Spiral.
73
Question 11
■ If you were a lead developer of a software company and you are asked to submit a
project/productwithin a stipulated time-frame with no cost barriers, which model
would you select?
A. Waterfall.
B. Spiral.
C. RAD.
D. Incremental.
74
Question 11
■ If you were a lead developer of a software company and you are asked to submit a
project/productwithin a stipulated time-frame with no cost barriers, which model
would you select?
A. Waterfall.
B. Spiral.
C. RAD.
D. Incremental.
75
Question 12
■ Spiral Model has high reliability requirements.
A. True.
B. False.
76
Question 12
■ Spiral Model has high reliability requirements.
A. True.
B. False.
77
Question 13
■ RAD Model has high reliability requirements.
A. True.
B. False.
78
Question 13
■ RAD Model has high reliability requirements.
A. True.
B. False.
79
REQUIREMENT
ENGINEERING
‫المتطلبات‬ ‫هندسة‬
80
Requirement Engineering
(‫المتطلبات‬ ‫)هندسة‬
■‫هو‬ ‫المرحلة‬ ‫هذه‬ ‫دخل‬ ‫يكون‬‫أو‬ ‫المتطلبات‬ ‫وثيقة‬ ‫هو‬ ‫المرحلة‬ ‫هذه‬ ‫خرج‬ ‫و‬ ‫الجدوى‬ ‫دراسة‬
RequirementDocument‫بشكلين‬ ‫المتطلبات‬ ‫تضم‬ ‫التي‬ ‫الوثيقة‬ ‫هي‬ ‫و‬:
–‫للمستخدم‬ ‫مبسط‬ ‫شكل‬.
–‫للمطور‬ ‫مفصل‬ ‫شكل‬.
■‫ب‬ ً‫أحيانا‬ ‫الوثيقة‬ ‫هذه‬ ‫تسمى‬SRS‫هي‬ ‫و‬software requirement specification.
81
Requirement Engineering
(‫المتطلبات‬ ‫)هندسة‬
■‫اقسام‬ ‫ثالثة‬ ‫إلى‬ ‫المتطلبات‬ ‫أنواع‬ ‫تقسيم‬ ‫نستطيع‬:
–‫الوظيفية‬ ‫المتطلبات‬:
■‫النظام‬ ‫يقدمها‬ ‫التي‬ ‫الفعلية‬ ‫الخدمات‬ ‫بها‬ ‫نقصد‬(‫العمل‬ ‫إجرائيات‬)‫األس‬ ‫الوظائف‬ ‫أي‬‫اسية‬
‫مثل‬ ‫النظام‬ ‫يقدمها‬ ‫التي‬(‫غيرها‬ ‫و‬ ‫التسجيل‬ ، ‫العرض‬ ، ‫الحجز‬ ‫خدمة‬.)
–‫وظيفية‬ ‫الغير‬ ‫المتطلبات‬:
■‫المتطلبات‬ ‫على‬ ‫القيود‬ ‫عن‬ ‫عبارة‬ ‫هي‬:
–‫بالجودة‬ ‫تتعلق‬ ‫متطلبات‬:‫مثل‬(security،reliability،performance،availability)
–‫بالكلفة‬ ‫متعلقة‬ ‫متطلبات‬.
–‫بالوقت‬ ‫متعلقة‬ ‫متطلبات‬.
–‫ال‬ ‫او‬ ‫المجال‬domain
82
Requirement Engineering
(‫المتطلبات‬ ‫)هندسة‬
■‫المتطلبات‬ ‫جمع‬ ‫طرق‬:
–‫قديمة‬ ‫طرق‬:
■‫المقابلة‬.
■‫االستبيان‬.
■‫المالحظة‬.
■‫الوثائق‬ ‫دراسة‬.
–‫حديثة‬ ‫طرق‬:
■Prototyping.
■‫المشترك‬ ‫التطبيقات‬ ‫تطوير‬( .Join DevelopmentApplication JAD)
83
Question 1
■ IEEE 830-1993 is a IEEE recommendedstandard for
A. Software requirement specification.
B. Software design.
C. Testing.
D. Both (A) and (B).
84
Question 1
■ IEEE 830-1993 is a IEEE recommendedstandard for
A. Software requirement specification.
B. Software design.
C. Testing.
D. Both (A) and (B).
85
Question 2
■ If every requirement stated in the Software RequirementSpecification (SRS) has
only one interpretation, SRS is said to be
A. correct.
B. unambiguous.
C. consistent.
D. verifiable.
86
Question 2
■ If every requirement stated in the Software RequirementSpecification (SRS) has
only one interpretation, SRS is said to be
A. correct.
B. unambiguous.
C. consistent.
D. verifiable.
87
Question 3
■ SRS is also known as specification of
A. White box testing.
B. Stress testing.
C. Integrated testing.
D. Black box testing.
88
Question 3
■ SRS is also known as specification of
A. White box testing.
B. Stress testing.
C. Integrated testing.
D. Black box testing.
89
Question 4
■ If every requirement can be checked by a cost-effectiveprocess, then the SRS is
A. verifiable.
B. traceable.
C. modifiable.
D. complete.
90
Question 4
■ If every requirement can be checked by a cost-effectiveprocess, then the SRS is
A. verifiable.
B. traceable.
C. modifiable.
D. complete.
91
UNIFIED MODELING
LANGUAGE (UML)
‫لغة‬‫النمذجة‬‫الموحدة‬
92
Unified Modeling Language (UML)
( ‫لغة‬‫النمذجة‬‫الموحدة‬ )
93
Unified Modeling Language (UML)
UseCase Diagram (‫االستخدام‬ ‫حاالت‬ ‫)مخطط‬
■‫مجرد‬ ‫بشكل‬ ‫للنظام‬ ‫ينظر‬ ‫مخطط‬high abstract‫المستخدم‬ ‫على‬ ‫الفهم‬ ‫سهل‬ ‫وهو‬.
■‫جوانبه‬ ‫من‬ ‫واحد‬ ‫جانب‬ ‫يفهمنا‬ ‫فهو‬ ‫النظام‬ ‫بنية‬ ‫عن‬ ‫يتحدث‬ ‫ال‬ ‫مخطط‬.
■‫مثل‬ ‫البعض‬ ‫بعضها‬ ‫مع‬ ‫الخدمات‬ ‫تربط‬ ‫عالقات‬ ‫يوجد‬ ‫المخطط‬ ‫هذا‬ ‫في‬
–Include.
–Extent.
–Generalization.
94
Unified Modeling Language (UML)
Activity Diagram
■‫يعتبر‬middle abstract‫يتم‬ ‫كيف‬ ‫االستخدام‬ ‫حاالت‬ ‫من‬ ‫حالة‬ ‫كل‬ ‫يرى‬ ‫حيث‬‫ضمن‬ ‫تحقيقها‬
‫االستخدام‬ ‫حالة‬ ‫مثل‬ ‫النظام‬login.
■‫ال‬ ‫يعبر‬activity Diagram‫األحداث‬ ‫دفق‬ ‫أي‬ ‫خدمة‬ ‫بكل‬ ‫المشمولة‬ ‫النشاطات‬ ‫كل‬ ‫عن‬
(flow of events)‫االعتبار‬ ‫بعين‬ ‫الفشل‬ ‫و‬ ‫النجاح‬ ‫نأخذ‬ ‫و‬ ‫خدمة‬ ‫كل‬ ‫في‬.
95
Unified Modeling Language (UML)
Sequence Diagram
■‫تحت‬ ‫يندرج‬ ‫المخطط‬ ‫هذا‬ ‫نعتبر‬behavioral + Interaction‫خدمة‬ ‫كل‬ ‫أجل‬ ‫من‬ ‫ألنه‬ ‫ذلك‬ ‫و‬
‫ال‬ ‫ماهي‬ ‫يحدد‬objects‫الرسائل‬ ‫يحدد‬ ‫أنه‬ ‫كما‬ ‫الخدمة‬ ‫بتلك‬ ‫المشمولة‬Messages‫بين‬
‫ال‬ ‫تلك‬objects‫النظام‬ ‫بنية‬ ‫إلى‬ ‫دخلنا‬ ‫قد‬ ‫نكون‬ ‫هنا‬ ‫و‬ ‫النظام‬ ‫بين‬ ‫و‬.
■‫ال‬ ‫تسلسل‬ ‫يكون‬ ‫كما‬messages‫تسلسل‬ ‫و‬ ‫معينة‬ ‫أحداث‬ ‫ترتيب‬ ‫و‬ ‫معين‬ ‫زمن‬ ‫وفق‬
‫األسفل‬ ‫إلى‬ ‫األعلى‬ ‫من‬ ‫يقرأ‬ ‫األحداث‬.
■‫المخطط‬ ‫بهذا‬ ‫التجريد‬ ‫يعتبر‬ ‫و‬very low.
96
Unified Modeling Language (UML)
Collaboration Diagram (‫التعاوني‬ ‫)المخطط‬
■‫ال‬ ‫يشبه‬sequence‫فقط‬ ‫يهتم‬ ‫التعاوني‬ ‫المخطط‬ ‫أما‬ ‫الزمني‬ ‫بالبعد‬ ‫يهتم‬ ‫األخير‬ ‫لكن‬
‫الزمن‬ ‫بموضوع‬ ‫االهتمام‬ ‫دون‬ ‫فقط‬ ‫بالترقيم‬ ‫أو‬ ‫الرسائل‬ ‫بتسلسل‬.
97
Unified Modeling Language (UML)
Class Diagram
■‫عامة‬ ‫صفوف‬ ‫ثالثة‬ ‫إلى‬ ‫الصفوف‬ ‫توزيع‬ ‫مبدأ‬:
–‫ال‬ ‫صفوف‬Entity :
■‫بال‬ ‫عالقة‬ ‫لهم‬data base‫طيران‬ ‫حجز‬ ‫نظام‬ ‫مثل‬online،‫هو‬ ‫المسافر‬Entity‫يعتبر‬ ‫و‬
‫كصف‬.
–‫ال‬ ‫صف‬Interface:
■‫المستخدم‬ ‫معها‬ ‫يتعامل‬ ‫التي‬ ‫النظام‬ ‫واجهة‬ ‫هو‬.
–‫ال‬ ‫صف‬behavior :
■‫ال‬ ‫يحوي‬ ‫الذي‬ ‫الصف‬ ‫هو‬method‫ا‬ ‫صفوف‬ ‫من‬ ً‫كال‬ ‫اكتشاف‬ ‫يتم‬ ‫و‬ ،‫النظام‬ ‫بها‬ ‫يقوم‬ ‫التي‬‫ل‬
interface‫ال‬ ‫و‬behavior‫النظام‬ ‫تحليل‬ ‫مرحلة‬ ‫في‬.
–‫صف‬ ‫مثل‬ ‫ملموسة‬ ‫ليست‬ ‫و‬ ‫مجردة‬ ‫صفوف‬ ‫وجود‬ ‫االعتبار‬ ‫بعين‬ ‫نأخذ‬ ‫بالطبع‬ ‫و‬(‫ال‬‫حجز‬)
‫الحجز‬ ‫نظام‬ ‫في‬ ‫هام‬ ‫صف‬ ‫لكنه‬ ‫و‬ ‫فيزيائي‬ ‫وجود‬ ‫له‬ ‫ليس‬online
■‫البطاقات‬ ‫مبدأ‬CRC :‫ل‬ ‫اختصار‬ ‫هو‬ ‫و‬Card Responsibility Corporation
98
Unified Modeling Language (UML)
Class Diagram
■‫مالحظة‬:
–‫ال‬ ‫كل‬ ‫يكون‬ ‫أن‬ ‫يجب‬ ‫التصميم‬ ‫لمرحلة‬ ‫الوصول‬ ‫عند‬classes‫ال‬ ‫أما‬ ‫معروفة‬ ‫أصبحت‬ ‫قد‬
attribute‫ال‬ ‫و‬method‫النقصان‬ ‫أو‬ ‫للزيادة‬ ‫قابلة‬ ‫صف‬ ‫بكل‬ ‫الخاصة‬.
–‫ال‬ ‫تصفية‬ ‫أثناء‬ ‫لدينا‬ ‫ظهر‬ ‫إذا‬classes‫آلية‬ ‫بواسطة‬CRC Unique class‫كالس‬ ‫أي‬
ً‫فورا‬ ‫بحذفة‬ ‫نقوم‬ ‫أحد‬ ‫مع‬ ‫مسؤولياته‬ ‫يتشارك‬ ‫ال‬ ‫و‬ ‫بذاته‬ ‫ومستقل‬ ‫متفرد‬.
99
Unified Modeling Language (UML)
State Diagram
■‫لدراسة‬ ‫النظام‬ ‫هذا‬ ‫يتوجه‬object‫النظام‬ ‫حياة‬ ‫دورة‬ ‫أثناء‬ ‫بها‬ ‫يمر‬ ‫التي‬ ‫الحاالت‬ ‫و‬ ‫معين‬.
■‫مثال‬:‫الكهرباء‬ ‫زر‬
–‫هما‬ ‫اثنتين‬ ‫حالتين‬ ‫له‬on‫و‬off.
–‫تكون‬ ‫البدائية‬ ‫الحالة‬off‫لحالة‬ ‫ينتقل‬ ‫الزر‬ ‫على‬ ‫بالضغط‬ ‫و‬on‫بالعكس‬ ‫و‬.
100
Question 1
■ What is an object?
A. An object is an instance of a class.
B. An object includes encapsulation of data.
C. An object is not an instance of a class.
D. All of the mentioned.
101
Question 1
■ What is an object?
A. An object is an instance of a class.
B. An object includes encapsulation of data.
C. An object is not an instance of a class.
D. All of the mentioned.
102
Question 2
■ What is an abstract class?
A. A class that has direct instances, but whose descendants may have direct
instances.
B. A class that has direct instances, but whose descendants may not have direct
instances.
C. A class that has no direct instances, but whose descendants may have direct
instances.
D. All of the mentioned.
103
Question 2
■ What is an abstract class?
A. A class that has direct instances, but whose descendants may have direct
instances.
B. A class that has direct instances, but whose descendants may not have direct
instances.
C. A class that has no direct instances, but whose descendants may have direct
instances.
D. All of the mentioned.
104
Question 3
■ Which of the following are the valid relationships in Use Case Diagrams
A. Generalization.
B. Include.
C. Extend.
D. All of the mentioned.
105
Question 3
■ Which of the following are the valid relationships in Use Case Diagrams
A. Generalization.
B. Include.
C. Extend.
D. All of the mentioned.
106
Question 4
■ What is a collection of operations that specify a service of a class or component?
A. Use Case.
B. Actor.
C. Interface.
D. Relationship.
107
Question 4
■ What is a collection of operations that specify a service of a class or component?
A. Use Case.
B. Actor.
C. Interface.
D. Relationship.
108
Question 5
■ Which diagram in UML emphasizes the time-ordering of messages?
A. Activity.
B. Sequence.
C. Collaboration.
D. Class.
109
Question 5
■ Which diagram in UML emphasizes the time-ordering of messages?
A. Activity.
B. Sequence.
C. Collaboration.
D. Class.
110
Question 6
■ If you are working on real-time process control applications or systems that involve
concurrentprocessing, you would use a
A. Activity diagram.
B. Sequence diagram.
C. State diagram.
D. Object diagram.
111
Question 6
■ If you are working on real-time process control applications or systems that involve
concurrentprocessing, you would use a
A. Activity diagram.
B. Sequence diagram.
C. State diagram.
D. Object diagram.
112
Question 7
■ Which diagram shows the configuration of run-time processingelements?
A. Deployment diagram.
B. Componentdiagram.
C. Node diagram.
D. ER-diagram.
113
Question 7
■ Which diagram shows the configuration of run-time processingelements?
A. Deployment diagram.
B. Componentdiagram.
C. Node diagram.
D. ER-diagram.
114
Question 8
■ Which of the following term is best defined by the statement: ”a structural
relationship that specifies that objects of one thing are connected to objects of
another”?
A. Association.
B. Aggregation.
C. Realization.
D. Generalization.
115
Question 8
■ Which of the following term is best defined by the statement: ”a structural
relationship that specifies that objects of one thing are connected to objects of
another”?
A. Association.
B. Aggregation.
C. Realization.
D. Generalization.
116
Question 9
■ Which of the following UML diagrams has a static view?
A. Collaboration.
B. Use case.
C. State chart.
D. Activity.
117
Question 9
■ Which of the following UML diagrams has a static view?
A. Collaboration.
B. Use case.
C. State chart.
D. Activity.
118
Question 10
■ What type of core-relationshipis represented by the symbol in the figure below?
A. Aggregation.
B. Dependency.
C. Generalization.
D. Association.
119
Question 10
■ What type of core-relationshipis represented by the symbol in the figure below?
A. Aggregation.
B. Dependency.
C. Generalization.
D. Association.
120
Question 11
■ Which core element of UML is being shown in the figure?
A. Node.
B. Interface.
C. Class.
D. Component.
121
Question 11
■ Which core element of UML is being shown in the figure?
A. Node.
B. Interface.
C. Class.
D. Component.
122
Question 12
■ What type of relationship is represented by Shape class and Square ?
A. Realization.
B. Generalization.
C. Aggregation.
D. Dependency.
123
Question 12
■ What type of relationship is represented by Shape class and Square ?
A. Realization.
B. Generalization.
C. Aggregation.
D. Dependency.
124
Question 13
■ Which of the following diagram is time oriented?
A. Collaboration.
B. Sequence.
C. Activity.
D. None of the mentioned.
125
Question 13
■ Which of the following diagram is time oriented?
A. Collaboration.
B. Sequence.
C. Activity.
D. None of the mentioned.
126
ARCHITECTURE DESIGN
‫المعماري‬ ‫التصميم‬
127
Coupling V.S. Cohesion
■‫ال‬ ‫تعريف‬component:
–‫ال‬component‫ل‬ ‫رديفة‬ ‫كلمة‬ ‫هو‬sub system‫ال‬ ‫و‬sub system‫و‬ ‫أكثر‬ ‫أو‬ ‫خدمة‬ ‫يقدم‬
‫ال‬ ‫فإن‬ ‫لذلك‬component‫عن‬ ‫عبارة‬ ‫هو‬block of code‫عدة‬ ‫أو‬ ‫واحدة‬ ‫خدمة‬ ‫يقدم‬
‫خدمات‬.
■‫ال‬ ‫انوع‬component:
–Large grain
■‫هو‬component‫هو‬ ‫آخر‬ ‫بمعنى‬ ‫أي‬ ‫كبيرة‬ ‫مهام‬ ‫و‬ ‫وظائف‬ ‫يقدم‬code‫متعددة‬ ‫خدمات‬ ‫يقدم‬.
–Fine grain
■‫هو‬code‫األكثر‬ ‫على‬ ‫اثنين‬ ‫أو‬ ‫مهمة‬ ‫صغيرة‬ ‫مهمات‬ ‫يقدم‬.
–‫مالحظات‬:
■‫نستخدم‬ ‫عندما‬large grain‫االلتحام‬ ‫مفهوم‬ ‫نحقق‬ ‫فنحن‬(cohesion.)‫التجانس‬
■‫نستخدم‬ ‫عندما‬fine grain‫االقتران‬ ‫مفهوم‬ ‫نحقق‬ ‫فنحن‬(coupling.)‫الترابط‬
128
Coupling V.S. Cohesion
■‫ال‬ ‫من‬ ً‫كال‬ ‫يعني‬ ‫ماذا‬cohesion‫ال‬ ‫و‬coupling‫؟‬
–Cohesion:
■‫ال‬ ‫يقدمها‬ ‫التي‬ ‫الوظائف‬ ‫أن‬ ‫أي‬component‫و‬ ‫البعض‬ ‫بعضها‬ ‫مع‬ ‫متالحمة‬‫أكواد‬‫هذه‬
‫على‬ ‫تعتمد‬ ‫ال‬ ‫و‬ ‫البعض‬ ‫بعضها‬ ‫على‬ ‫معتمدة‬ ‫الخدمات‬‫أكواد‬‫ال‬ ‫خارج‬component
–:coupling
■‫استخدام‬ ‫فعند‬fine grain‫ال‬ ‫أن‬ ‫يعني‬component‫خدمتين‬ ‫أو‬ ‫صغيرة‬ ‫خدمة‬ ‫يقدم‬ ‫الواحد‬
‫ال‬ ‫هذا‬ ‫من‬ ‫معينة‬ ‫خدمة‬ ‫طلب‬ ‫فعند‬ ‫األكثر‬ ‫على‬component‫و‬ ‫االتصال‬ ‫إلى‬ ‫سيضطر‬
‫ال‬ ‫باقي‬ ‫مع‬ ‫االقتران‬component‫ال‬ ‫ب‬ ‫نسميه‬ ‫ما‬ ‫هذا‬ ‫و‬ ‫الخدمة‬ ‫هذه‬ ‫لتلبية‬coupling
129
Coupling V.S. Cohesion
130
Coupling V.S. Cohesion
■‫المحتوى‬ ‫تقارن‬:
–‫أخرى‬ ‫برنامج‬ ‫لوحدة‬ ‫الداخلية‬ ‫األعمال‬ ‫على‬ ‫تعتمد‬ ‫أو‬ ‫برنامج‬ ‫وحدة‬ ‫تعدل‬ ‫عندما‬ ‫المحتوى‬ ‫تقارن‬ ‫يكون‬
–‫مثال‬:‫أخرى‬ ‫برنامج‬ ‫بوحدة‬ ‫خاصة‬ ‫بيانات‬ ‫إلي‬ ‫الدخول‬.
■‫شائع‬ ‫تقارن‬:
–‫يكون‬‫التقارن‬‫اإلجمالية‬ ‫البيانات‬ ‫نفس‬ ‫للبرامج‬ ‫وحدتان‬ ‫تتقاسم‬ ‫عندما‬ ‫الشائع‬(‫العام‬ ‫المتغير‬ ‫مثل‬.)
■‫خارجي‬ ‫تقارن‬:
–‫يحدث‬‫التقارن‬‫البين‬ ‫الوصلة‬ ‫أو‬ ،‫االتصال‬ ‫وبروتوكول‬ ،‫الخارج‬ ‫من‬ ‫المفروضة‬ ‫البيانات‬ ‫صيغة‬ ‫وحدتان‬ ‫تتقاسم‬ ‫عندما‬ ‫الخارجي‬‫للجهاز‬ ‫ية‬.
■‫التحكم‬ ‫تقارن‬:
–‫تفعله‬ ‫أن‬ ‫عليها‬ ‫لما‬ ‫لها‬ ‫معلومات‬ ‫تمرير‬ ‫خالل‬ ‫من‬ ،‫أخرى‬ ‫وحدة‬ ‫تدفق‬ ‫في‬ ‫وحدة‬ ‫تحكم‬.
■‫الطابع‬ ‫تقارن‬( :‫البيانات‬ ‫مركب‬ ‫تقارن‬)
–‫مختلفا‬ ‫جزء‬ ‫وربما‬ ‫منه‬ ‫جزء‬ ‫فقط‬ ‫وتستخدم‬ ‫مركبة‬ ‫بيانات‬ ‫هيكل‬ ‫وحدتان‬ ‫تتقاسم‬ ‫عندما‬ ‫الطابع‬ ‫تقارن‬ ‫يكون‬.
–‫مثل‬:‫منه‬ ‫واحدة‬ ‫خانة‬ ‫فقط‬ ‫تحتاج‬ ‫لوظيفة‬ ‫كامل‬ ‫سجل‬ ‫تمرير‬.
■‫البيانات‬ ‫تقارن‬:
–‫مثال‬ ‫خالل‬ ‫من‬ ‫البيانات‬ ‫وحدتان‬ ‫تتقاسم‬ ‫عدما‬ ‫البيانات‬ ‫تقارن‬ ‫يكون‬:‫وسيطة‬ ‫قيمة‬parameters،‫أساسي‬ ‫هو‬ ‫البيانات‬ ‫من‬ ‫جزء‬ ‫فكل‬
‫فقط‬ ‫المشتركة‬ ‫البيانات‬ ‫هي‬ ‫وهذه‬(‫تربيعي‬ ‫جذرا‬ ‫تحسب‬ ‫لوظيفة‬ ‫صحيح‬ ‫عدد‬ ‫تمرير‬ ،‫مثال‬.)
131
Architectural Pattern
(‫المعمارية‬ ‫)األنماط‬
■MVC:
–‫لكلمات‬ ‫اختصار‬(Model View Controller.)
–‫الويب‬ ‫تطبيقات‬ ‫لكل‬ ‫مناسب‬ ‫النمط‬ ‫هذا‬.
–‫عملها؟‬ ‫مبدأ‬
■‫لدينا‬view‫ال‬ ‫صفحات‬ ‫مثل‬ ‫للمستخدم‬ ‫ستظهر‬ ‫التي‬ ‫التابعة‬ ‫الواجهات‬ ‫مع‬ ‫للتعامل‬html
‫نظامنا‬ ‫كان‬ ‫إذا‬ ‫العادية‬web.
■‫ال‬ ‫لدينا‬Model‫بتطبيقنا‬ ‫الخاصة‬ ‫المعطيات‬ ‫قواعد‬ ‫مع‬ ‫التعامل‬ ‫عن‬ ‫مسؤولة‬ ‫هي‬ ‫و‬.‫أي‬
‫هي‬code‫ال‬ ‫مع‬ ‫للتواصل‬data base.
■‫لدينا‬controller‫ال‬ ‫بين‬ ‫وصل‬ ‫كصلة‬ ‫مخصص‬ ‫هو‬ ‫و‬Model‫ال‬ ‫و‬view.
132
Architectural Pattern
(‫المعمارية‬ ‫)األنماط‬
■‫الطبقية‬ ‫المعمارية‬( :architecturelayered)
–‫ال‬ ‫تقسيم‬ ‫يتم‬ ‫المعمارية‬ ‫بهذه‬code‫الواحدة‬ ‫الطبقة‬ ‫ضمن‬ ‫نضع‬ ‫و‬ ‫طبقات‬ ‫لمجموعة‬
‫لدينا‬ ‫أي‬ ، ‫البعض‬ ‫بعضها‬ ‫مع‬ ‫المنسجمة‬ ‫الخدمات‬ ‫مجموعة‬large grain‫طبقة‬ ‫كل‬ ‫في‬
‫هام‬ ‫معينة‬ ‫خدمة‬ ‫طبقة‬ ‫بكل‬ ‫و‬ ‫الطبقات‬ ‫من‬ ‫كبير‬ ‫عدد‬ ‫لدينا‬ ‫يكون‬ ‫أن‬ ‫الممكن‬ ‫من‬ ‫و‬‫ة‬.
–‫منا‬ ‫تطلب‬ ‫عندما‬ ‫النمط‬ ‫هذا‬ ‫استخدام‬ ‫يمكن‬security‫المهمة‬ ‫المعلومات‬ ‫نضع‬ ‫و‬ ‫عالية‬
‫الداخلية‬ ‫بالطبقات‬.
–‫ال‬ ‫تجعل‬ ‫أنها‬ ‫مشكلتها‬performance‫أبطئ‬.
133
Architectural Pattern
(‫المعمارية‬ ‫)األنماط‬
■‫المخزن‬ ‫معمارية‬( :repository architecture)
–‫لدينا‬ ‫يكون‬ ‫عندما‬ ‫المعمارية‬ ‫هذه‬ ‫تستخدم‬data‫ال‬ ‫كل‬ ‫و‬ ‫مركزية‬ ‫معينة‬component‫و‬
‫ال‬sub system‫ال‬ ‫هذه‬ ‫استخدام‬ ‫تريد‬data‫جميع‬ ‫نجعل‬ ‫و‬ ‫بمخزن‬ ‫بوضعها‬ ‫نقوم‬ ‫لذلك‬
‫ال‬component‫المخزن‬ ‫هذا‬ ‫مع‬ ‫تتصل‬.
134
Architectural Pattern
(‫المعمارية‬ ‫)األنماط‬
■server / client architecture:
–‫لها‬ ‫و‬ ‫الخدمات‬ ‫مجموعة‬ ‫يقدم‬ ‫الذي‬ ‫المخدم‬ ‫بين‬ ‫و‬ ‫الخدمة‬ ‫طالب‬ ‫بين‬ ‫الفصل‬ ‫هي‬
‫أنواع‬thin‫و‬flat.
135
Architectural Pattern
(‫المعمارية‬ ‫)األنماط‬
■‫المرشح‬ ‫األنبوب‬ ‫معمارية‬( :pipe and filter architecture)
–‫بشكل‬ ‫تتم‬ ‫نظامنا‬ ‫في‬ ‫المعالجة‬ ‫لدينا‬ ‫يكون‬ ‫عندما‬ ‫المعمارية‬ ‫هذه‬ ‫استخدام‬ ‫يتم‬
‫بالمرحلة‬ ‫مرورنا‬ ‫من‬ ‫نتأكد‬ ‫أن‬ ‫قبل‬ ‫التالية‬ ‫المرحلة‬ ‫إلى‬ ‫ننتقل‬ ‫ال‬ ‫أي‬ ‫تسلسلي‬
‫تتكون‬ ‫حيث‬ ، ‫لها‬ ‫السابقة‬‫معماريتنا‬‫ومرشحات‬ ‫أنابيب‬ ‫مجموعة‬ ‫من‬.
136
Architectural Pattern
(‫المعمارية‬ ‫)األنماط‬
■‫التالية؟‬ ‫للتطبيقات‬ ‫المناسبة‬ ‫المعمارية‬ ‫حدد‬
–Web base application:
■‫هو‬ ‫المناسب‬3tiers‫رمع‬MVC‫فيه‬ ‫موقع‬ ‫كان‬ ‫إذا‬ ‫ذلك‬ ‫و‬dynamic process(‫معالجة‬
‫ديناميكية‬)‫ال‬ ‫صفحات‬ ‫لعرض‬ ‫موقع‬ ‫فقط‬ ‫ليس‬ ‫و‬ ‫للمعطيات‬html
–‫االلكترونية‬ ‫للتجارة‬ ‫موقع‬:e-commercereservation
■‫ل‬ ‫شيء‬ ‫أقل‬ ‫إلى‬ ‫بحاجة‬ ‫نحن‬4tiers‫فيتصل‬ ‫الموقع‬ ‫في‬ ‫تتوافر‬ ‫ال‬ ‫أو‬ ‫مواد‬ ‫تنقص‬ ‫قد‬ ‫ألن‬
‫مع‬‫مخدمات‬‫أي‬ ، ‫للزبون‬ ‫لتوفيرها‬ ‫أخرى‬3tiers‫فوق‬ ‫ما‬ ‫و‬.
■‫كذلك‬ ‫و‬MVC‫مثل‬ ‫كبيرة‬ ‫معالجات‬ ‫لوجود‬ ‫إجباري‬:‫و‬ ‫االلكتروني‬ ‫الدفع‬ ‫بالبنك‬ ‫االتصال‬
‫ال‬ ‫رقم‬ ‫كون‬ ‫من‬ ‫التأكد‬credit card‫صحيح‬.
–‫اللغات‬ ‫معالجة‬ ‫نظام‬:
■‫األنبوب‬ ‫و‬ ‫المرشح‬ ‫أسلوب‬ ‫نستخدم‬.
137
Interfaces
■‫تعريفها‬:
–‫المستخدمين‬ ‫حصول‬ ‫مكان‬External Entities‫النظام‬ ‫يقدمها‬ ‫التي‬ ‫الوظائف‬ ‫على‬.
–‫ال‬ ‫مثل‬ ‫النظام‬ ‫مع‬ ‫األخرى‬ ‫األنظمة‬ ‫بين‬ ‫للتواصل‬ ‫وسيلة‬API‫ل‬ ‫اختصار‬ ‫وهي‬
Application Program Interface‫ثاني‬ ‫ونظام‬ ‫نظام‬ ‫بين‬ ‫تواصل‬ ‫واجهة‬ ‫أي‬.
■‫ال‬ ‫تقسم‬Interface‫إلى‬:
–User Interface:‫النظام‬ ‫مع‬ ‫للتفاعل‬ ‫للمستخدم‬ ‫واجهة‬.
–System Interface:‫ل‬ ‫واجهة‬System‫النظام‬ ‫مع‬ ‫ليتفاعل‬.
138
Question 1
■ The worst type of coupling is:
A. data coupling.
B. control coupling.
C. stamp coupling.
D. content coupling.
139
Question 1
■ The worst type of coupling is:
A. data coupling.
B. control coupling.
C. stamp coupling.
D. content coupling.
140
Question 2
■ The desired level of coupling is:
A. No coupling.
B. Control coupling.
C. Common coupling.
D. Data coupling.
141
Question 2
■ The desired level of coupling is:
A. No coupling.
B. Control coupling.
C. Common coupling.
D. Data coupling.
142
Question 3
■ Coupling and cohesion can be represented using a
A. cause-effectgraph.
B. dependencematrix.
C. structurechart.
D. SRS.
143
Question 3
■ Coupling and cohesion can be represented using a
A. cause-effectgraph.
B. dependencematrix.
C. structurechart.
D. SRS.
144
Question 4
■ Modules X and Y operate on the same input and output data, then the cohesion is
A. Sequential.
B. Communicational.
C. Procedural.
D. Logical.
145
Question 4
■ Modules X and Y operate on the same input and output data, then the cohesion is
A. Sequential.
B. Communicational.
C. Procedural.
D. Logical.
146
TESTING &
MAINTENANCE
‫والصيانة‬ ‫االختبار‬
147
Testing & Maintenance
■‫المهمة‬ ‫المصطلحات‬ ‫بعض‬:
–‫خطأ‬(error.)
–‫عيب‬(fault.)
–‫فشل‬(failure.)
–‫كلمة‬ ‫إطالق‬ ‫يتم‬ ‫كما‬BUG‫ال‬ ‫من‬ ‫كل‬ ‫على‬ERROR‫و‬FAULT‫وكلمة‬DEFECT‫على‬
FAILURE.
148
Testing & Maintenance
■‫ال‬error‫البشري‬ ‫العنصر‬ ‫أخطاء‬ ‫من‬ ‫ينشأ‬.
■‫ال‬fault‫ال‬ ‫لداخل‬ ‫اإلنسان‬ ‫ارتكبه‬ ‫الذي‬ ‫الخطأ‬ ‫انتقال‬ ‫عند‬code‫اسمه‬ ‫يصبح‬(‫عيب‬.)
–‫أمرين‬ ‫أمام‬ ‫هنا‬ ‫ونحن‬:
■‫العيب‬ ‫هذا‬‫داخل‬ ‫أو‬ ‫معينة‬ ‫إجرائية‬ ‫بداخل‬ ‫يكون‬ ‫قد‬ ‫التنفيذ‬ ‫عملية‬ ‫أثناء‬case‫شرط‬ ‫أو‬if
‫التنفيذ‬ ‫في‬ ‫فشل‬ ‫لدي‬ ‫يظهر‬ ‫ال‬ ‫وعندها‬ ‫يتنفذ‬ ‫أال‬ ‫فيمكن‬ ‫معين‬failure.
■‫ل‬ ‫يصبح‬ ‫الحالة‬ ‫بهذه‬ ‫وعندها‬ ‫منطقية‬ ‫غير‬ ‫نتيجة‬ ‫على‬ ‫ونحصل‬ ‫يتنفذ‬ ‫أن‬ ‫له‬ ‫يمكن‬ ‫أو‬‫دي‬
‫وهو‬ ‫النظام‬ ‫في‬ ‫فشل‬failure.
■‫الفشل‬failure‫الم‬ ‫القيمة‬ ‫مع‬ ‫الفعلية‬ ‫القيمة‬ ‫اختالف‬ ‫وهو‬ ‫التنفيذ‬ ‫عند‬ ‫نلمسه‬ ‫ما‬ ‫هو‬‫توقعة‬.
149
Testing & Maintenance
■Test-Data:
–‫ال‬ ‫مجموعة‬ ‫هي‬data‫إلجراء‬ ‫ندخلها‬ ‫التي‬testing‫معين‬.
■Test-Case:
–‫ال‬ ‫مجموعة‬ ‫هي‬data‫التوقع‬ ‫إلى‬ ‫باإلضافة‬ ‫المدخلة‬(‫النتيجة‬ ‫توقع‬)‫أجل‬ ‫من‬ ‫وذلك‬
‫الفعلية‬ ‫والقيمة‬ ‫المتوقعة‬ ‫القيمة‬ ‫بين‬ ‫ما‬ ‫المقارنة‬.
■Test-Suite:
–‫ال‬ ‫جميع‬ ‫مجموعة‬ ‫هي‬Test-Case‫نطبقها‬ ‫التي‬.
■Testing:
–‫أخطاء‬ ‫إيجاد‬ ‫بهدف‬ ‫النظام‬ ‫اختبار‬ ‫إجرائية‬ ‫هي‬"‫ال‬ ‫من‬ ‫الغاية‬ ‫حيث‬testing‫ليست‬ ً‫أبدا‬
‫العكس‬ ‫بل‬ ‫النظام‬ ‫في‬ ‫أخطاء‬ ‫وجود‬ ‫عدم‬ ‫إثبات‬."
■Debugging:
–‫تالية‬ ‫مرحلة‬ ‫هي‬‫لل‬Testing‫ال‬ ‫يكون‬ ‫عندما‬ ‫حيث‬Testing‫األخطاء‬ ‫بإصالح‬ ‫نقوم‬ ً‫ناجحا‬
‫ال‬ ‫مرحلة‬ ‫في‬ ‫اكتشفناها‬ ‫التي‬debugging
150
Verification and Validation
■Verification:‫التحقق‬
–‫ما‬ ‫بمطابقة‬ ‫نقوم‬ ‫النظام‬ ‫تطوير‬ ‫مراحل‬ ‫من‬ ‫مرحلة‬ ‫كل‬ ‫في‬ ‫ومستمر‬ ‫دائم‬ ‫عمل‬ ‫هو‬
‫المتطلبات‬ ‫مع‬ ‫نطوره‬specification‫في‬ ً‫فمثال‬ ،‫المرحلة‬ ‫بداية‬ ‫في‬ ‫وضعناها‬ ‫التي‬
‫المتطلبات‬ ‫مع‬ ‫ومتطابق‬ ‫متوافق‬ ‫اآلن‬ ‫إلى‬ ‫طورنا‬ ‫ما‬ ‫هل‬ ‫نرى‬ ‫التحليل‬ ‫مرحلة‬ ‫نهاية‬
‫صممناه‬ ‫ما‬ ‫هل‬ ‫نرى‬ ‫التصميم‬ ‫مرحلة‬ ‫نهاية‬ ‫وفي‬ ‫النظام؟‬ ‫من‬ ‫المطلوبة‬ ‫والمواصفات‬
‫ال‬ ‫مع‬ ‫ومتطابق‬ ‫متوافق‬design document‫وضعناها؟‬ ‫التي‬
■‫مرحلة‬ ‫كل‬ ‫نهاية‬ ‫في‬ ‫نفسنا‬ ‫نسال‬ ‫أي‬:
–Are we building the product right?
151
Verification and Validation
■Validation:‫التثبت‬
–‫وال‬ ‫الوثائق‬ ‫نرى‬ ‫مرحلة‬ ‫كل‬ ‫آخر‬ ‫ففي‬document‫عليه‬ ‫اتفقنا‬ ‫ما‬ ‫توافق‬ ‫هل‬ ‫لدينا‬ ‫التي‬
‫إما‬ ‫المنتج‬ ‫أن‬ ‫نقول‬ ‫وهنا‬ ‫المراحل‬ ‫من‬ ‫مرحلة‬ ‫كل‬ ‫نهاية‬ ‫في‬ ‫يتم‬ ‫عمل‬ ‫وهو‬ ‫الزبون؟‬ ‫مع‬
‫رفض‬ ‫أو‬ ‫نجح‬.
■‫كالتالي‬ ‫يكون‬ ‫والسؤال‬:
–Are we build the right product?
152
Testing Levels
■‫ولدينا‬ ‫الكبيرة‬ ‫إلى‬ ً‫صعودا‬ ‫الصغيرة‬ ‫المكونات‬ ‫من‬ ‫نبدأ‬4‫من‬ ‫أنواع‬‫االختبارات‬:
■‫اختبار‬‫الواحدات‬(Unit testing:)
–‫نعتبر‬ ‫التقليدية‬ ‫المنهجية‬ ‫في‬‫الواحدات‬‫ال‬ ‫هي‬functions‫الخدمات‬ ‫تؤدي‬ ‫التي‬.
–‫كون‬ ‫حال‬ ‫في‬ ‫أما‬‫التوجه‬ ‫غرضية‬ ‫المنهجية‬ ‫هي‬ ‫المنهجية‬oop‫أن‬ ‫نعتبر‬‫الواحدات‬‫هي‬
‫ال‬class‫مجموعة‬ ‫أو‬classes‫واحدة‬ ‫خدمة‬ ‫تقدم‬.
–‫كانت‬ ‫إذا‬‫منهجيتنا‬‫تكون‬ ‫البرمجية‬ ‫بالمكونات‬ ‫المقادة‬‫الواحدات‬‫ال‬ ‫هي‬component.
–‫يقوم‬‫تعمل‬ ‫كانت‬ ‫إن‬ ‫ويرى‬ ‫حدى‬ ‫على‬ ‫واحدة‬ ‫كل‬ ‫ويخبر‬ ‫المبرمج‬ ‫االختبار‬ ‫بهذا‬‫بشكل‬
‫ال‬ ‫أو‬ ‫سليم‬.
■‫التكامل‬ ‫اختبار‬(integration testing:)
–‫اسم‬ ‫البعض‬ ‫عليه‬ ‫يطلق‬Component Testing‫باختبار‬ ‫به‬ ‫نقوم‬ ‫الذي‬ ‫االختبار‬ ‫وهو‬‫الواحدات‬
‫البعض؟‬ ‫بعضها‬ ‫مع‬ ‫تعمل‬ ‫هل‬
–‫ال‬ ‫بعمليات‬ ‫مختص‬ ‫فريق‬ ‫بمساعدة‬ ‫المبرمج‬ ‫االختبار‬ ‫بهذا‬ ‫يقوم‬Testing
■‫األساسية‬ ‫الوظائف‬ ‫اختبار‬ ‫على‬ ‫السابقين‬ ‫النوعين‬ ‫في‬ ‫التركيز‬ ‫يتم‬.
153
Testing Levels
■‫التكامل‬ ‫الختبارات‬ ‫أنواع‬ ‫ثالث‬ ‫هناك‬:
–Top down
■‫أو‬ ‫كبيرة‬ ‫وحدة‬ ‫لدينا‬ ‫يكون‬ ‫أن‬ ‫عبارة‬ ‫وهو‬component‫على‬ ‫االشراف‬ ‫عن‬ ‫مسؤول‬ ‫معين‬
‫مجموعة‬‫واحدات‬units‫األص‬ ‫الوحدات‬ ‫إلى‬ ً‫نزوال‬ ‫الكبيرة‬ ‫الوحدة‬ ‫باختبار‬ ‫نبدأ‬ ‫وهنا‬ ‫صغيرة‬‫غر‬
‫منها‬.
–Button up
■‫من‬ ‫باالختبار‬ ‫نبدأ‬‫الواحدات‬‫األس‬ ‫وهو‬ ‫الكبيرة‬ ‫الوحدة‬ ‫إلى‬ ‫نصل‬ ‫حتى‬ ً‫صعودا‬ ‫الصغيرة‬‫هل‬
ً‫اعتمادا‬ ‫واألكثر‬.
–Sandwish
■‫األعلى‬ ‫من‬ ‫باالختبارات‬ ‫يبدأ‬ ‫قسم‬ ‫لقسمين‬ ‫يقسم‬ ‫التطوير‬ ‫فريق‬top down‫يبدأ‬ ‫وقسم‬
‫األسفل‬ ‫من‬ ‫االختبارات‬button up‫الطريق‬ ‫منتصف‬ ‫في‬ ‫الطرفين‬ ‫ويلتقي‬.
154
Testing Levels
■‫النظام‬ ‫اختبار‬(systemtesting:)
–‫االخت‬ ‫من‬ ‫المرحلة‬ ‫بهذه‬ ‫التركيز‬ ‫ويتم‬ ‫ذاته‬ ‫بحد‬ ‫النظام‬ ‫اختبار‬ ‫يتم‬ ‫االختبار‬ ‫بهذا‬‫بارات‬
‫مثل‬ ‫الوظيفية‬ ‫غير‬ ‫الخدمات‬ ‫على‬:
■Reusability Testing
■Performance Testing
■Security Testing
■Recovering Testing
■Stress Testing
155
Testing Levels
■‫االختبار‬‫العودي‬(regression testing:)
–‫النظام‬ ‫في‬ ‫أخطاء‬ ‫اكتشاف‬ ‫عن‬ ‫و‬ ‫النظام‬ ‫في‬ ‫االخطاء‬ ‫بكشف‬ ‫يقوم‬ ‫الناجح‬ ‫االختبار‬
‫ال‬ ‫مرحلة‬ ‫إلى‬ ‫األخطاء‬ ‫بتحويل‬ ‫نقوم‬debugging‫األخطاء‬ ‫هذه‬ ‫تصحيح‬ ‫مرحلة‬ ‫وهي‬
‫عملية‬ ‫بإجراء‬ ‫أخرى‬ ‫مرة‬ ‫نقوم‬ ‫أن‬ ‫علينا‬ ‫األخطاء‬ ‫تصليح‬ ‫بعد‬ ‫لكن‬Testing‫تتضمن‬ ‫جديدة‬
‫ال‬data‫إل‬ ‫القديمة‬ ‫األخطاء‬ ‫تصليح‬ ‫أدى‬ ‫هل‬ ‫ونرى‬ ‫األخطاء‬ ‫لنا‬ ‫كشفت‬ ‫التي‬ ‫نفسها‬‫ى‬
‫عودي‬ ‫بشكل‬ ‫االختبار‬ ‫يتم‬ ‫وهكذا‬ ‫جديدة؟‬ ‫أخطاء‬ ‫ظهور‬.
156
Testing Levels
■‫ال‬ ‫أنواع‬ ‫من‬ ‫نوعين‬ ‫لدينا‬Testing:
–Static testing:
■‫ال‬ ‫من‬ ‫المرحلة‬ ‫وبهذه‬Testing‫مراجعة‬ ‫على‬ ‫فقط‬ ‫تقتصر‬ ‫هي‬ ‫بل‬ ‫التنفيذ‬ ‫بعمليات‬ ‫نقوم‬ ‫ال‬
‫وتفحصه‬ ‫ومراجعته‬ ‫الكود‬ ‫قراءة‬ ‫أو‬ ‫وتفحصها‬ ‫والتصميم‬ ‫التحليل‬ ‫مراحل‬ ‫في‬ ‫الوثائق‬.
■‫ال‬ ‫عملية‬ ‫إن‬Static Testing‫النظام‬ ‫تطوير‬ ‫مراحل‬ ‫من‬ ‫مرحلة‬ ‫كل‬ ‫نهاية‬ ‫في‬ ‫تتم‬
■‫م‬ ‫مطلوبة‬ ‫معينة‬ ‫لخدمة‬ ‫نسيان‬ ‫من‬ ‫االختبار‬ ‫من‬ ‫العملية‬ ‫هذه‬ ‫في‬ ‫هائلة‬ ‫أخطاء‬ ‫اكتشاف‬ ‫يتم‬‫ن‬
‫والتصميم‬ ‫التحليل‬ ‫مراحل‬ ‫أخطاء‬ ‫أو‬ ‫نظامنا‬.
■‫ال‬ ‫عملية‬static testing‫الصيانة‬ ‫مرحلة‬ ‫وحتى‬ ‫التحليل‬ ‫مرحلة‬ ‫من‬ ‫مستمرة‬.
–Dynamic testing:
■‫ال‬ ‫من‬ ‫مرحلة‬ ‫هي‬Testing‫ال‬ ‫مرحلة‬ ‫في‬ ‫فقط‬ ‫تتم‬Testing‫تطوير‬ ‫مراحل‬ ‫مع‬ ‫مستمرة‬ ‫وليست‬
‫ال‬ ‫مثل‬ ‫النظام‬Static testing.
■‫إدخال‬ ‫عن‬ ‫عبارة‬ ‫هي‬data‫ال‬ ‫واختبار‬ ‫النظام‬ ‫إلى‬code.
■‫ال‬ ‫على‬ ‫االعتماد‬ ‫اإلمكان‬ ‫قدر‬ ‫المرحلة‬ ‫هذه‬ ‫في‬ ‫نحاول‬Automatic Testing
157
Testing Levels
■‫ال‬ ‫مرحلة‬ ‫إن‬Dynamic Testing‫أساسيتين‬ ‫منهجيتين‬ ‫لها‬:
–Black Box Testing:‫األسود‬ ‫الصندوق‬ ‫اختبار‬.
–White Box Testing:‫األبيض‬ ‫الصندوق‬ ‫اختبار‬.
158
Testing
■Validation Testing:
–‫ال‬ ‫قبول‬ ‫في‬ ‫واألخير‬ ‫األول‬ ‫القرار‬ ‫صاحب‬ ‫الزبون‬ ‫يعتبر‬System‫يقوم‬ ‫فهو‬ ‫ال‬ ‫أو‬‫باإلطالع‬
‫ال‬ ‫يقدمها‬ ‫التي‬ ‫الوظائف‬ ‫على‬System‫جيد‬ ‫بشكل‬ ‫تعمل‬ ‫أنها‬ ‫من‬ ‫والتأكد‬.
–‫النظام‬ ‫قبول‬ ‫في‬ ‫أساسيين‬ ‫معيارين‬ ‫هناك‬expectance Testing:
■‫ألفا‬.
■‫بيتا‬.
–‫الش‬ ‫في‬ ‫وذلك‬ ‫جيد‬ ‫بشكل‬ ‫تعمل‬ ‫بأنها‬ ‫الوظائف‬ ‫الزبون‬ ‫يختبر‬ ‫ألفا‬ ‫االختبار‬ ‫في‬‫ركة‬
‫للنظام‬ ‫المطورة‬.
–‫المطورين‬ ‫من‬ ‫يطلب‬ ‫الزبون‬ ‫فإن‬ ‫بيتا‬ ‫اختبار‬ ‫في‬ ‫أما‬installation‫البيئة‬ ‫في‬ ‫للنظام‬
‫تعمل‬ ‫هل‬ ‫الوظائف‬ ‫باختبار‬ ‫ويقوم‬ ‫عبرها‬ ‫النظام‬ ‫يستخدم‬ ‫أن‬ ‫المستخدم‬ ‫يرد‬ ‫التي‬
‫فاش‬ ‫االختبار‬ ‫كان‬ ‫وإذا‬ ‫النظام‬ ‫هذا‬ ‫بقبول‬ ‫يقوم‬ ً‫ناجحا‬ ‫االختبار‬ ‫كان‬ ‫وإذا‬ ‫جيد‬ ‫بشكل‬ً‫ال‬
‫النظام‬ ‫هذا‬ ‫برفض‬ ‫يقوم‬.
–‫غير‬ ‫ال‬ ‫بالمكان‬ ‫السابقين‬ ‫النوعين‬ ‫بين‬ ‫الفرق‬.
159
Testing
■Debugging:
–‫مرح‬ ‫في‬ ‫المكتشفة‬ ‫األخطاء‬ ‫أماكن‬ ‫على‬ ‫للتعرف‬ ‫تشخيصية‬ ‫إجرائية‬ ‫عن‬ ‫عبارة‬ ‫هي‬‫لة‬
‫ال‬Testing‫وتصليحها‬.
–‫مالحظة‬:‫تعتبر‬ ‫النظام‬ ‫تشغيل‬ ‫بعد‬ ‫بها‬ ‫القيام‬ ‫يتم‬ ‫اصالح‬ ‫عملية‬ ‫كل‬maintenance
‫اسمها‬ ‫صار‬ ‫النظام‬ ‫تشغيل‬ ‫قبل‬ ‫بها‬ ‫القيام‬ ‫يتم‬ ‫إصالح‬ ‫عملية‬ ‫وكل‬debugging.
■‫اإلصالح‬ ‫كلفة‬:
–‫ال‬ ‫عملية‬ ‫إن‬Testing‫بنسبة‬ ‫مكلفة‬60%،‫تسبقها‬ ‫التي‬ ‫المراحل‬ ‫إلى‬ ‫بالنسبة‬
‫بنسبة‬ ً‫جدا‬ ً‫جدا‬ ‫مكلفة‬ ‫عملية‬ ً‫أيضا‬ ‫الصيانة‬ ‫عملية‬ ‫وكذلك‬21%‫كل‬ ‫كلفة‬ ‫إلى‬
‫تسبقها‬ ‫التي‬ ‫المراحل‬.
160
Legacy System
(‫الموروثة‬ ‫)النظم‬
■‫فهي‬ ‫األربعة‬ ‫المعايير‬ ‫أما‬:
–‫لدينا‬ ‫كان‬ ‫إذا‬low quality‫و‬low business value:
■‫غيره‬ ً‫نظاما‬ ‫ونطور‬ ‫الحالة‬ ‫بهذه‬ ‫النظام‬ ‫من‬ ‫نتخلص‬ ‫عندها‬.
–‫لدينا‬ ‫كان‬ ‫إذا‬low quality‫و‬high business value:
■‫نقوم‬ ‫ولذلك‬ ‫األخطاء‬ ‫من‬ ‫العديد‬ ‫فيه‬ ‫لكن‬ ‫جيد‬ ‫بشكل‬ ‫يخدمني‬ ‫النظام‬ ‫هذا‬ ‫أن‬ ‫يعني‬ ‫هذا‬
‫بعملية‬re-engineering‫النظام‬ ‫لهذا‬.
–‫لدينا‬ ‫كان‬ ‫إذا‬high quality‫و‬low business value:
■‫له‬ ‫جديدة‬ ‫خدمات‬ ‫إضافة‬ ‫بعملية‬ ‫ونقوم‬ ‫النظام‬ ‫هذا‬ ‫من‬ ‫أجزاء‬ ‫استبدال‬ ‫بعمليات‬ ‫نقوم‬
‫وصيانته‬.
–‫لدينا‬ ‫كان‬ ‫إذا‬high quality‫و‬high businessvalue:
■‫مكانه‬ ‫في‬ ‫ندعه‬ ‫بل‬ ‫بشيء‬ ‫استبداله‬ ‫وال‬ ‫النظام‬ ‫بتغيير‬ ‫نقوم‬ ‫ال‬.
161
Question 1
■ One of the fault base testing techniquesis
A. unit testing.
B. beta testing.
C. stress testing.
D. mutation testing. (‫الطفرات‬ ‫اختبار‬)
162
Question 1
■ One of the fault base testing techniquesis
A. unit testing.
B. beta testing.
C. stress testing.
D. mutation testing. (‫الطفرات‬ ‫اختبار‬)
163
Question 2
■ All the modules of the system are integrated and tested as complete system in the
case of
A. Bottom up testing.
B. Top-down testing.
C. Sandwich testing.
D. Big-Bang testing.
164
Question 2
■ All the modules of the system are integrated and tested as complete system in the
case of
A. Bottom up testing.
B. Top-down testing.
C. Sandwich testing.
D. Big-Bang testing.
165
Question 3
■ A fault simulation testing techniqueis
A. Mutation testing.
B. Stress testing.
C. Black box testing.
D. White box testing.
166
Question 3
■ A fault simulation testing techniqueis
A. Mutation testing.
B. Stress testing.
C. Black box testing.
D. White box testing.
167
Question 4
■ Output comparators are used in
A. static testing of single module.
B. dynamic testing of single module.
C. static testing of single and multiple module.
D. dynamic testing of single and multiple module.
168
Question 4
■ Output comparators are used in
A. static testing of single module.
B. dynamic testing of single module.
C. static testing of single and multiple module.
D. dynamic testing of single and multiple module.
169
Question 5
■ Alpha and Beta Testing are forms of
A. Acceptance testing.
B. Integration testing.
C. System Testing.
D. Unit testing.
170
Question 5
■ Alpha and Beta Testing are forms of
A. Acceptance testing.
B. Integration testing.
C. System Testing.
D. Unit testing.
171
Question 6
■ The main purpose of integration testing is to find
A. design errors.
B. analysis errors.
C. procedureerrors.
D. interface errors.
172
Question 6
■ The main purpose of integration testing is to find
A. design errors.
B. analysis errors.
C. procedureerrors.
D. interface errors.
173
Question 7
■ The testing that focuses on the variables is called
A. black box testing.
B. white box testing.
C. data variable testing.
D. data flow testing.
174
Question 7
■ The testing that focuses on the variables is called
A. black box testing.
B. white box testing.
C. data variable testing.
D. data flow testing.
175
Question 8
■ Site for Alpha Testing is
A. Software Company.
B. Installation place.
C. Any where.
D. None of the above.
176
Question 8
■ Site for Alpha Testing is
A. Software Company.
B. Installation place.
C. Any where.
D. None of the above.
177
Question 9
■ What is the normal order of activities in which software testing is organized?
A. unit, integration, system, validation.
B. system, integration, unit, validation.
C. unit, integration, validation, system.
D. None of the above.
178
Question 9
■ What is the normal order of activities in which software testing is organized?
A. unit, integration, system, validation.
B. system, integration, unit, validation.
C. unit, integration, validation, system.
D. None of the above.
179
Question 10
■ Units and stubs are not needed for unit testing becausethe modules are tested
independentlyof one another
A. True.
B. False.
180
Question 10
■ Units and stubs are not needed for unit testing becausethe modules are tested
independentlyof one another
A. True.
B. False.
181
Question 11
■ Changes made to an information systemto add the desired but not necessarilythe
required features is called
A. Preventative maintenance.
B. Adaptive maintenance.
C. Corrective maintenance.
D. Perfective maintenance.
182
Question 11
■ Changes made to an information systemto add the desired but not necessarilythe
required features is called
A. Preventative maintenance.
B. Adaptive maintenance.
C. Corrective maintenance.
D. Perfective maintenance.
183
Question 12
■ Modifying the software to match changes in the ever changing environment is called
A. adaptive maintenance.
B. corrective maintenance.
C. perfective maintenance.
D. preventive maintenance.
184
Question 12
■ Modifying the software to match changes in the ever changing environment is called
A. adaptive maintenance.
B. corrective maintenance.
C. perfective maintenance.
D. preventive maintenance.
185
Question 13
■ Changes made to the system to reduce the future system failure chances is called
A. PreventiveMaintenance.
B. Adaptive Maintenance.
C. Corrective Maintenance.
D. Perfective Maintenance.
186
Question 13
■ Changes made to the system to reduce the future system failure chances is called
A. PreventiveMaintenance.
B. Adaptive Maintenance.
C. Corrective Maintenance.
D. Perfective Maintenance.
187
SOFTWARE METRICS
‫البرمجية‬ ‫المقاييس‬
188
Software Metrics
■ Measure:
– quantitative indication of extent, amount, dimension, capacity, or size of some
attribute of a productor process.
– E.g., Number of errors
■ Metric:
– quantitative measure of degree to which a system, component or process
possessesa given attribute. “A handle or guess about a given attribute.”
– E.g., Number of errors found per person hours expended
189
Motivation for Metrics
1. Estimate the cost & scheduleof future projects.
2. Evaluate the productivity impacts of new tools and techniques.
3. Establish productivity trends over time.
4. Improvesoftware quality.
5. Forecast future staffing needs.
6. Anticipate and reduce future maintenanceneeds.
190
Types of Measures
■ Direct Measures (internal attributes)
– Cost, LOC, speed, memory
■ Indirect Measures (external attributes)
– Functionality, quality, complexity, efficiency, reliability, maintainability
191
Cyclomatic Complexity
Sequence
If-then-else
While
Until
192
Cyclomatic Complexity
■ Set of independentpaths through the graph (basis set)
■ V(G) = E – N + 2
■ E is the number of flow graph edges
■ N is the number of nodes
193
Cyclomatic Complexity
i = 0;
while (i<n-1) do
j = i + 1;
while (j<n) do
if A[i]<A[j] then
swap(A[i], A[j]);
end do;
i=i+1;
end do;
1
3
54
6
7
2
194
Cyclomatic Complexity
■ V(G) = 9 – 7 + 2 = 4
■ Basis Set
– 1, 7
– 1, 2, 6, 1, 7
– 1, 2, 3, 4, 5, 2, 6, 1, 7
– 1, 2, 3, 5, 2, 6, 1, 7
195
ESTIMATION AND
PLANNING
‫والتخمين‬ ‫التخطيط‬
196
Estimation and Planning
■Milestone:
–‫مقدار‬ ‫من‬ ‫التحقق‬ ‫في‬ ‫تساعد‬ ‫وهي‬ ‫الزمني‬ ‫الجدول‬ ‫على‬ ‫عالم‬ ‫نقاط‬ ‫عن‬ ‫عبارة‬ ‫هي‬
،‫المشروع‬ ‫في‬ ‫والتطور‬ ‫التقدم‬
–‫المشروع‬ ‫تطوير‬ ‫على‬ ‫يعملون‬ ‫الذين‬ ‫لألشخاص‬ ‫خاصة‬ ‫هي‬.
■Deliverable:
–‫ومخططات‬ ‫تقارير‬ ‫من‬ ‫للزبون‬ ‫يسلم‬ ‫ما‬ ‫كل‬ ‫عن‬ ‫عبارة‬ ‫هي‬...‫الخ‬.
–‫كل‬ ‫عند‬ ‫يكون‬ ‫أن‬ ‫بالضروري‬ ‫ليس‬Milestone‫هناك‬Deliverable‫الغالب‬ ‫على‬ ‫لكن‬
‫هناك‬ ‫يكون‬Deliverable
–‫وضعنا‬ ً‫فمثال‬Milestone‫مرحلة‬ ‫من‬ ‫انتهينا‬ ‫هل‬ ‫لنعرف‬ ‫التحليل‬ ‫مرحلة‬ ‫نهاية‬ ‫في‬
‫؟‬ ‫التحليل‬
197
MCQ
198
Question 1
■ If the objects focus on the problem domain, then we are concerned with
A. Object Oriented Analysis.
B. Object Oriented Design
C. Object Oriented Analysis & Design.
D. None of the above.
199
Question 1
■ If the objects focus on the problem domain, then we are concerned with
A. Object Oriented Analysis.
B. Object Oriented Design
C. Object Oriented Analysis & Design.
D. None of the above.
200
Question 2
■ The feature of the object oriented paradigm which helps code reuse is
A. object.
B. class.
C. inheritance.
D. aggregation.
201
Question 2
■ The feature of the object oriented paradigm which helps code reuse is
A. object.
B. class.
C. inheritance.
D. aggregation.
202
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018
Software Engineering 2018

Contenu connexe

Tendances

Software Engineering 2020
Software Engineering 2020Software Engineering 2020
Software Engineering 2020Joud Khattab
 
أساسيات الكمبيوتر وتقنية المعلومات
أساسيات الكمبيوتر وتقنية المعلوماتأساسيات الكمبيوتر وتقنية المعلومات
أساسيات الكمبيوتر وتقنية المعلوماتHashim Hussein
 
مكونات الحاسب الآلي - اللوحة الأم
مكونات الحاسب الآلي - اللوحة الأممكونات الحاسب الآلي - اللوحة الأم
مكونات الحاسب الآلي - اللوحة الأمAhmad Abdelbaqy
 
الحوسبة السحابية
الحوسبة السحابيةالحوسبة السحابية
الحوسبة السحابيةSalmaalghamdi5
 
icdl-it-presentation-20031
icdl-it-presentation-20031icdl-it-presentation-20031
icdl-it-presentation-20031Zaid Alzoubi
 
الوحدة الثامنة - مقدمة عن أمن المعلومات - مهارات الحاسوب
الوحدة الثامنة - مقدمة عن أمن المعلومات - مهارات الحاسوبالوحدة الثامنة - مقدمة عن أمن المعلومات - مهارات الحاسوب
الوحدة الثامنة - مقدمة عن أمن المعلومات - مهارات الحاسوبEyad Almasri
 
المهارات المتقدمة في مؤشرات الاداء
المهارات المتقدمة في مؤشرات الاداءالمهارات المتقدمة في مؤشرات الاداء
المهارات المتقدمة في مؤشرات الاداءMarwaBadr11
 
مقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقومقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقوlunarhalo
 
إدارة المشروعات.ppt
إدارة المشروعات.pptإدارة المشروعات.ppt
إدارة المشروعات.pptAtefMarzouk1
 
المخاطر التى تهدد أمن المعلومات اليوم التانى222 .pptx
المخاطر التى تهدد أمن  المعلومات اليوم التانى222 .pptxالمخاطر التى تهدد أمن  المعلومات اليوم التانى222 .pptx
المخاطر التى تهدد أمن المعلومات اليوم التانى222 .pptxAtefMarzouk1
 
Types Of Networks انواع الشبكات
Types Of Networks انواع الشبكاتTypes Of Networks انواع الشبكات
Types Of Networks انواع الشبكاتNermeen Mobdy
 
(Win7) مقدمة في نظام التشغيل
(Win7) مقدمة في نظام التشغيل  (Win7) مقدمة في نظام التشغيل
(Win7) مقدمة في نظام التشغيل DrMohammed Qassim
 
الذكاء الإصطناعي لكل الناس
الذكاء الإصطناعي لكل الناسالذكاء الإصطناعي لكل الناس
الذكاء الإصطناعي لكل الناسMohamed Alrshah
 
(Computers) تاريخ الحاسوب ومكوناته
 (Computers) تاريخ الحاسوب ومكوناته (Computers) تاريخ الحاسوب ومكوناته
(Computers) تاريخ الحاسوب ومكوناتهDrMohammed Qassim
 
المحاضرة2
المحاضرة2المحاضرة2
المحاضرة2almgd33
 
أدارة المخاطر
أدارة المخاطرأدارة المخاطر
أدارة المخاطرHAZEM ABO ELNIL
 
الحوكمة الإلكترونية
 الحوكمة الإلكترونية الحوكمة الإلكترونية
الحوكمة الإلكترونيةsomia Djalm
 

Tendances (20)

Icdl intro
Icdl introIcdl intro
Icdl intro
 
Software Engineering 2020
Software Engineering 2020Software Engineering 2020
Software Engineering 2020
 
أساسيات الكمبيوتر وتقنية المعلومات
أساسيات الكمبيوتر وتقنية المعلوماتأساسيات الكمبيوتر وتقنية المعلومات
أساسيات الكمبيوتر وتقنية المعلومات
 
المحاضرة الأولى مقدمة عن الحاسوب
المحاضرة الأولى مقدمة عن الحاسوبالمحاضرة الأولى مقدمة عن الحاسوب
المحاضرة الأولى مقدمة عن الحاسوب
 
مكونات الحاسب الآلي - اللوحة الأم
مكونات الحاسب الآلي - اللوحة الأممكونات الحاسب الآلي - اللوحة الأم
مكونات الحاسب الآلي - اللوحة الأم
 
الحوسبة السحابية
الحوسبة السحابيةالحوسبة السحابية
الحوسبة السحابية
 
icdl-it-presentation-20031
icdl-it-presentation-20031icdl-it-presentation-20031
icdl-it-presentation-20031
 
الوحدة الثامنة - مقدمة عن أمن المعلومات - مهارات الحاسوب
الوحدة الثامنة - مقدمة عن أمن المعلومات - مهارات الحاسوبالوحدة الثامنة - مقدمة عن أمن المعلومات - مهارات الحاسوب
الوحدة الثامنة - مقدمة عن أمن المعلومات - مهارات الحاسوب
 
المهارات المتقدمة في مؤشرات الاداء
المهارات المتقدمة في مؤشرات الاداءالمهارات المتقدمة في مؤشرات الاداء
المهارات المتقدمة في مؤشرات الاداء
 
مقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقومقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقو
 
إدارة المشروعات.ppt
إدارة المشروعات.pptإدارة المشروعات.ppt
إدارة المشروعات.ppt
 
المخاطر التى تهدد أمن المعلومات اليوم التانى222 .pptx
المخاطر التى تهدد أمن  المعلومات اليوم التانى222 .pptxالمخاطر التى تهدد أمن  المعلومات اليوم التانى222 .pptx
المخاطر التى تهدد أمن المعلومات اليوم التانى222 .pptx
 
Types Of Networks انواع الشبكات
Types Of Networks انواع الشبكاتTypes Of Networks انواع الشبكات
Types Of Networks انواع الشبكات
 
(Win7) مقدمة في نظام التشغيل
(Win7) مقدمة في نظام التشغيل  (Win7) مقدمة في نظام التشغيل
(Win7) مقدمة في نظام التشغيل
 
الذكاء الإصطناعي لكل الناس
الذكاء الإصطناعي لكل الناسالذكاء الإصطناعي لكل الناس
الذكاء الإصطناعي لكل الناس
 
الأمن السيبراني
الأمن السيبرانيالأمن السيبراني
الأمن السيبراني
 
(Computers) تاريخ الحاسوب ومكوناته
 (Computers) تاريخ الحاسوب ومكوناته (Computers) تاريخ الحاسوب ومكوناته
(Computers) تاريخ الحاسوب ومكوناته
 
المحاضرة2
المحاضرة2المحاضرة2
المحاضرة2
 
أدارة المخاطر
أدارة المخاطرأدارة المخاطر
أدارة المخاطر
 
الحوكمة الإلكترونية
 الحوكمة الإلكترونية الحوكمة الإلكترونية
الحوكمة الإلكترونية
 

Similaire à Software Engineering 2018

تحليل نظم 3.ppt
تحليل نظم 3.pptتحليل نظم 3.ppt
تحليل نظم 3.pptrafeakrafeak
 
مواصفات التصميم التفصيلي .ppt
مواصفات التصميم التفصيلي .pptمواصفات التصميم التفصيلي .ppt
مواصفات التصميم التفصيلي .pptHalobYemen
 
ميادين الذكاء الاصطناعي
ميادين الذكاء الاصطناعيميادين الذكاء الاصطناعي
ميادين الذكاء الاصطناعيnada labib
 
قراءات في نظم المعلومات المحاسبية - الجزء الأول
قراءات في نظم المعلومات المحاسبية - الجزء الأولقراءات في نظم المعلومات المحاسبية - الجزء الأول
قراءات في نظم المعلومات المحاسبية - الجزء الأولHeba ElKomy
 
First lecture
First lectureFirst lecture
First lectureghayth
 
تصميم نظم
تصميم نظمتصميم نظم
تصميم نظمahmed66710
 
Www.kutub.info 5727
Www.kutub.info 5727Www.kutub.info 5727
Www.kutub.info 5727Adel Totott
 
مراجعة نظم التشغيل
مراجعة نظم التشغيلمراجعة نظم التشغيل
مراجعة نظم التشغيلMoselhy Hussein
 
المرحلة التمهيدية 4.pdf
المرحلة التمهيدية 4.pdfالمرحلة التمهيدية 4.pdf
المرحلة التمهيدية 4.pdfanasabeden22
 
Agile mindset (Arabic)
Agile mindset (Arabic)Agile mindset (Arabic)
Agile mindset (Arabic)Sameh Deabes
 
‫‫‫‫‫‫‫و2 د3-م1
‫‫‫‫‫‫‫و2 د3-م1‫‫‫‫‫‫‫و2 د3-م1
‫‫‫‫‫‫‫و2 د3-م17asebno1
 
في المؤسسات استراتيجيات تطوير نظم المعلومات.pdf
في المؤسسات استراتيجيات تطوير نظم المعلومات.pdfفي المؤسسات استراتيجيات تطوير نظم المعلومات.pdf
في المؤسسات استراتيجيات تطوير نظم المعلومات.pdfHamzaALaskari
 
مقدمة في الـبرمـجة
مقدمة في الـبرمـجةمقدمة في الـبرمـجة
مقدمة في الـبرمـجةtttyyyuuuiiiooo78A_0
 

Similaire à Software Engineering 2018 (20)

تحليل نظم 3.ppt
تحليل نظم 3.pptتحليل نظم 3.ppt
تحليل نظم 3.ppt
 
Process activities.pptx
Process activities.pptxProcess activities.pptx
Process activities.pptx
 
مواصفات التصميم التفصيلي .ppt
مواصفات التصميم التفصيلي .pptمواصفات التصميم التفصيلي .ppt
مواصفات التصميم التفصيلي .ppt
 
محاضرة1
محاضرة1محاضرة1
محاضرة1
 
ميادين الذكاء الاصطناعي
ميادين الذكاء الاصطناعيميادين الذكاء الاصطناعي
ميادين الذكاء الاصطناعي
 
قراءات في نظم المعلومات المحاسبية - الجزء الأول
قراءات في نظم المعلومات المحاسبية - الجزء الأولقراءات في نظم المعلومات المحاسبية - الجزء الأول
قراءات في نظم المعلومات المحاسبية - الجزء الأول
 
First lecture
First lectureFirst lecture
First lecture
 
First lecture
First lectureFirst lecture
First lecture
 
نظام التشغيل
نظام التشغيلنظام التشغيل
نظام التشغيل
 
تصميم نظم
تصميم نظمتصميم نظم
تصميم نظم
 
تطوير نظم المعلومات
تطوير نظم المعلوماتتطوير نظم المعلومات
تطوير نظم المعلومات
 
نظم التشغيل
نظم التشغيلنظم التشغيل
نظم التشغيل
 
Www.kutub.info 5727
Www.kutub.info 5727Www.kutub.info 5727
Www.kutub.info 5727
 
مراجعة نظم التشغيل
مراجعة نظم التشغيلمراجعة نظم التشغيل
مراجعة نظم التشغيل
 
تحليل نظم 3 مترجم.pptx
تحليل نظم 3 مترجم.pptxتحليل نظم 3 مترجم.pptx
تحليل نظم 3 مترجم.pptx
 
المرحلة التمهيدية 4.pdf
المرحلة التمهيدية 4.pdfالمرحلة التمهيدية 4.pdf
المرحلة التمهيدية 4.pdf
 
Agile mindset (Arabic)
Agile mindset (Arabic)Agile mindset (Arabic)
Agile mindset (Arabic)
 
‫‫‫‫‫‫‫و2 د3-م1
‫‫‫‫‫‫‫و2 د3-م1‫‫‫‫‫‫‫و2 د3-م1
‫‫‫‫‫‫‫و2 د3-م1
 
في المؤسسات استراتيجيات تطوير نظم المعلومات.pdf
في المؤسسات استراتيجيات تطوير نظم المعلومات.pdfفي المؤسسات استراتيجيات تطوير نظم المعلومات.pdf
في المؤسسات استراتيجيات تطوير نظم المعلومات.pdf
 
مقدمة في الـبرمـجة
مقدمة في الـبرمـجةمقدمة في الـبرمـجة
مقدمة في الـبرمـجة
 

Plus de Joud Khattab

Customer Engagement Management
Customer Engagement ManagementCustomer Engagement Management
Customer Engagement ManagementJoud Khattab
 
Design thinking and Role Playing
Design thinking and Role PlayingDesign thinking and Role Playing
Design thinking and Role PlayingJoud Khattab
 
Algorithms and Data Structure 2020
Algorithms and Data Structure 2020Algorithms and Data Structure 2020
Algorithms and Data Structure 2020Joud Khattab
 
Artificial Intelligence 2020
Artificial Intelligence 2020Artificial Intelligence 2020
Artificial Intelligence 2020Joud Khattab
 
Automata and Compiler 2020
Automata and Compiler 2020Automata and Compiler 2020
Automata and Compiler 2020Joud Khattab
 
Automate and Compiler 2018
Automate and Compiler 2018Automate and Compiler 2018
Automate and Compiler 2018Joud Khattab
 
Artificial Intelligence 2018
Artificial Intelligence 2018Artificial Intelligence 2018
Artificial Intelligence 2018Joud Khattab
 
Algorithms and Data Structure 2018
Algorithms and Data Structure 2018Algorithms and Data Structure 2018
Algorithms and Data Structure 2018Joud Khattab
 
Geospatial Information Management
Geospatial Information ManagementGeospatial Information Management
Geospatial Information ManagementJoud Khattab
 
Big Data for Development
Big Data for DevelopmentBig Data for Development
Big Data for DevelopmentJoud Khattab
 
Personality Detection via MBTI Test
Personality Detection via MBTI TestPersonality Detection via MBTI Test
Personality Detection via MBTI TestJoud Khattab
 
Optimization Techniques
Optimization TechniquesOptimization Techniques
Optimization TechniquesJoud Khattab
 
Network Address Translation (NAT)
Network Address Translation (NAT)Network Address Translation (NAT)
Network Address Translation (NAT)Joud Khattab
 
From Image Processing To Computer Vision
From Image Processing To Computer VisionFrom Image Processing To Computer Vision
From Image Processing To Computer VisionJoud Khattab
 

Plus de Joud Khattab (20)

Customer Engagement Management
Customer Engagement ManagementCustomer Engagement Management
Customer Engagement Management
 
Design thinking and Role Playing
Design thinking and Role PlayingDesign thinking and Role Playing
Design thinking and Role Playing
 
Algorithms and Data Structure 2020
Algorithms and Data Structure 2020Algorithms and Data Structure 2020
Algorithms and Data Structure 2020
 
Artificial Intelligence 2020
Artificial Intelligence 2020Artificial Intelligence 2020
Artificial Intelligence 2020
 
Automata and Compiler 2020
Automata and Compiler 2020Automata and Compiler 2020
Automata and Compiler 2020
 
Database 2020
Database 2020Database 2020
Database 2020
 
Database 2018
Database 2018Database 2018
Database 2018
 
Automate and Compiler 2018
Automate and Compiler 2018Automate and Compiler 2018
Automate and Compiler 2018
 
Artificial Intelligence 2018
Artificial Intelligence 2018Artificial Intelligence 2018
Artificial Intelligence 2018
 
Algorithms and Data Structure 2018
Algorithms and Data Structure 2018Algorithms and Data Structure 2018
Algorithms and Data Structure 2018
 
Data Storytelling
Data StorytellingData Storytelling
Data Storytelling
 
Geospatial Information Management
Geospatial Information ManagementGeospatial Information Management
Geospatial Information Management
 
Big Data for Development
Big Data for DevelopmentBig Data for Development
Big Data for Development
 
Personality Detection via MBTI Test
Personality Detection via MBTI TestPersonality Detection via MBTI Test
Personality Detection via MBTI Test
 
Fog Computing
Fog ComputingFog Computing
Fog Computing
 
Seasonal ARIMA
Seasonal ARIMASeasonal ARIMA
Seasonal ARIMA
 
Optimization Techniques
Optimization TechniquesOptimization Techniques
Optimization Techniques
 
Network Address Translation (NAT)
Network Address Translation (NAT)Network Address Translation (NAT)
Network Address Translation (NAT)
 
From Image Processing To Computer Vision
From Image Processing To Computer VisionFrom Image Processing To Computer Vision
From Image Processing To Computer Vision
 
Spark SQL
Spark SQLSpark SQL
Spark SQL
 

Software Engineering 2018

  • 2. Content ■ Overview. ■ Software Processes. ■ Software Development Life Cycle (SDLC). ■ RequirementEngineering. ■ Unified Modeling Language (UML). ■ ArchitectureDesign. ■ Testing & Maintenance. ■ Others. ■ MCQ. 2
  • 4. Overview ■‫البرمجيات؟‬ ‫هندسة‬ ‫تعريف‬ –‫بناء‬ ‫تعني‬ ‫البرمجيات‬ ‫هندسة‬product‫و‬ ‫القديمة‬ ‫النظم‬ ‫تطوير‬ ‫و‬ ‫التعديل‬ ‫أو‬ ‫جديدة‬ ‫نظم‬ ‫أو‬ ‫جديد‬ ‫مسبقا‬ ‫الموجودة‬ ‫المشاكل‬ ‫اكتشاف‬ ‫تعني‬ ‫كذلك‬ ‫و‬ ‫أخطائها‬ ‫تحسين‬. –‫البرمجيات‬ ‫تطوير‬ ‫عن‬ ‫مسؤول‬ ‫العلم‬ ‫فروع‬ ‫من‬ ‫فرع‬ ‫هي‬(software)‫مستمر‬ ‫و‬ ‫الفكرة‬ ‫لحظة‬ ‫ذلك‬ ‫و‬ ‫الخدمة‬ ‫من‬ ‫خروجها‬ ‫لحظة‬ ‫حتى‬. ■‫نظم؟‬ ‫بكلمة‬ ‫نقصد‬ ‫ماذا‬ –‫األهدا‬ ‫تلك‬ ‫و‬ ‫معينة‬ ‫أهداف‬ ‫لتحقيق‬ ‫البعض‬ ‫بعضها‬ ‫مع‬ ‫تتفاعل‬ ‫أجزاء‬ ‫أو‬ ‫مكونات‬ ‫مجموعة‬ ‫هو‬ ‫النظام‬‫ف‬ ‫الحياتية‬ ‫المشاكل‬ ‫بعض‬ ‫لحل‬ ‫بوجودها‬ ‫المرغوب‬ ‫هي‬. –‫نوعان‬ ‫وله‬ ،‫النظام‬ ‫تعريف‬ ‫عن‬ ‫يختلف‬ ‫ال‬ ‫البرمجي‬ ‫النظام‬: –‫مفتوحة‬ ‫نظم‬: ■‫هي‬ ‫البرمجية‬ ‫النظم‬ ‫معظم‬ ‫و‬ ‫الخارجي‬ ‫الوسط‬ ‫مع‬ ‫المعطيات‬ ‫و‬ ‫المعلومات‬ ‫بتبادل‬ ‫تقوم‬ ‫التي‬ ‫النظم‬ ‫هي‬ ‫تتلقى‬ ‫ألنها‬ ‫مفتوحة‬ ‫نظم‬input‫تخرج‬ ‫و‬ ‫تعالجه‬ ‫و‬ ‫الخارجي‬ ‫الوسط‬ ‫من‬output. –‫مغلقة‬ ‫نظم‬: ■‫الخارجي‬ ‫الوسط‬ ‫مع‬ ‫المعطيات‬ ‫و‬ ‫المعلومات‬ ‫تتبادل‬ ‫ال‬ ‫التي‬ ‫النظم‬ ‫هي‬. ■‫مثال‬:‫فقط‬ ‫واحدة‬ ‫لمرة‬ ‫ضبطها‬ ‫يتم‬ ‫التي‬ ‫الساعات‬ ‫أنظمة‬ ‫بعض‬. 4
  • 5. Overview ■‫ال‬ ‫تعريف‬software: –‫ال‬ ‫مع‬ ‫البرامج‬ ‫عن‬ ‫عبارة‬ ‫هي‬data‫التوثيق‬ ‫مع‬(documentation)،‫هنا‬ ‫نقصد‬ ‫وال‬ ‫البرنامج‬ ‫أسطر‬ ‫بين‬ ‫التعليقات‬ ‫وضع‬ ‫بالتوثيق‬. –‫ال‬ ‫المراحل‬ ‫كل‬ ‫في‬ ‫برمجي‬ ‫نظام‬ ‫أي‬ ‫تطوير‬ ‫في‬ ‫بها‬ ‫نقوم‬ ‫التي‬ ‫الخطوات‬ ‫كل‬ ‫توثيق‬‫تي‬ ‫اختبار‬ ‫و‬ ‫تنجيز‬ ‫و‬ ‫تصميم‬ ‫و‬ ‫تحليل‬ ‫من‬ ‫بها‬ ‫يمر‬. 5
  • 6. Overview ■‫ال‬ ‫مواصفات‬ ‫هي‬ ‫ما‬software‫الجيد؟‬ –‫جيد‬ ‫بشكل‬ ‫الخدمات‬ ‫تلك‬ ‫ينجز‬ ‫و‬ ‫منه‬ ‫المطلوبة‬ ‫الخدمات‬ ‫يقدم‬ ‫أن‬ ‫يجب‬. –‫عند‬ ‫ذلك‬ ‫و‬ ‫للصيانة‬ ‫قابال‬ ‫يكون‬ ‫أن‬‫طروء‬‫عمله‬ ‫في‬ ‫خطأ‬ ‫أي‬ ‫ظهور‬ ‫أو‬ ‫مشكلة‬ ‫أي‬. –‫األمان‬( :security) ■‫يجب‬ ‫ال‬ ‫أنه‬ ‫بها‬ ‫نقصد‬‫لل‬users‫إليها‬ ‫الوصول‬ ‫عليه‬ ‫يتوجب‬ ‫ال‬ ‫النظام‬ ‫داخل‬ ‫لمعلومات‬ ‫يصل‬ ‫أن‬ ‫شخص‬ ‫أي‬ ‫أو‬. –‫االتاحة‬( :availability) ■‫نظام‬ ‫نطور‬ ‫كنا‬ ‫لو‬web‫ال‬ ‫بأن‬ ‫تخبرنا‬ ‫رسالة‬ ‫تظهر‬ ‫دقائق‬ ‫بضع‬ ‫كل‬ ‫و‬server‫نظامنا‬ ‫يكون‬ ‫عندها‬ ،‫متاح‬ ‫غير‬ ‫للمستخدمين‬ ‫دائم‬ ‫بشكل‬ ‫متاح‬ ‫غير‬ ‫و‬ ‫سيء‬. –‫الموثوقية‬( :reliability) ■‫حسابي‬ ‫بين‬ ‫أموال‬ ‫لتحويل‬ ‫تطبيق‬ ‫مثل‬ ‫الموثوقية‬ ‫فيها‬ ‫تهمنا‬ ‫التي‬ ‫التطبيقات‬ ‫من‬ ‫الكثير‬ ‫هناك‬‫ن‬. –‫الحماية‬( :safety) ■‫طائ‬ ‫ضمن‬ ‫تواجده‬ ‫يجب‬ ‫النظام‬ ‫هذا‬ ‫و‬ ‫اآللي‬ ‫الطيار‬ ‫يسمى‬ ‫ما‬ ‫أو‬ ‫بالطائرة‬ ‫األتوماتيكي‬ ‫التحكم‬ ‫نظام‬ ‫مثل‬‫رة‬ ‫البشر‬ ‫أرواح‬ ‫على‬ ‫للمحافظة‬ ‫الالزمة‬ ‫الحماية‬ ‫فيه‬ ‫تتوفر‬ ‫أت‬ ‫يجب‬ ‫و‬ ‫الطيار‬ ‫على‬ ‫طارئ‬ ‫أي‬ ‫حدوث‬ ‫عند‬. ■‫بال‬ ‫تسمى‬ ‫األنظمة‬ ‫تلك‬real time software‫اللحظية‬ ‫الحقيقية‬ ‫األنظمة‬ ‫أو‬. 6
  • 7. Overview ■‫ال‬ ‫مواصفات‬ ‫هي‬ ‫ما‬software‫الجيد؟‬ –‫الفاعلية‬( :efficiency) ■‫معالجة‬ ‫من‬ ‫أقل‬ ‫موارد‬ ‫استخدمت‬ ‫إذا‬ ‫فعالة‬ ‫أنها‬ ‫برمجيات‬ ‫عن‬ ‫نقول‬CPU‫و‬memory. –‫القبول‬( :accessibility) ■‫المعيار‬ ‫و‬ ،‫آلخر‬ ‫مستخدم‬ ‫من‬ ‫و‬ ‫ألخرى‬ ‫شركة‬ ‫من‬ ‫يختلف‬ ‫برمجي‬ ‫نظام‬ ‫قبول‬ ‫معايير‬ ‫الواجهات‬ ‫هو‬ ‫برمجي‬ ‫نظام‬ ‫لقبول‬ ‫األساسي‬. 7
  • 8. Overview ■‫البرمجيات‬ ‫هندسة‬ ‫بين‬ ‫الفرق‬software engineering‫الحاسوب‬ ‫علوم‬ ‫و‬computer science‫؟‬ –‫النظرية‬ ‫العلوم‬ ‫على‬ ‫تعتمد‬ ‫الحاسب‬ ‫علوم‬ ‫إن‬. –‫البرمجيات‬ ‫هندسة‬ ‫أما‬‫نظ‬ ‫تطوير‬ ‫و‬ ‫العملي‬ ‫التطبيق‬ ‫على‬ ‫و‬ ‫الواقع‬ ‫على‬ ‫تعتمد‬ ‫فهي‬‫م‬ ‫فعلية‬. 8
  • 9. Overview ■‫البرمجيات‬ ‫هندسة‬ ‫بين‬ ‫الفرق‬software engineering‫النظام‬ ‫هندسة‬ ‫و‬system engineering‫؟‬ –‫مطلق‬ ‫بشكل‬ ‫البرمجية‬ ‫المواضيع‬ ‫على‬ ‫تركز‬ ‫البرمجيات‬ ‫هندسة‬ ‫إن‬. –‫ال‬ ‫فتشمل‬ ‫شيء‬ ‫كل‬ ‫على‬ ‫تركز‬ ‫فهي‬ ‫النظام‬ ‫هندسة‬ ‫أما‬hardware‫ال‬ ‫و‬software‫و‬ ‫البرمجيات‬ ‫هندسة‬ ‫من‬ ‫أشمل‬ ‫و‬ ‫أوسع‬ ‫هي‬. 9
  • 10. Overview ■ Enterprise Resource Planning (ERP): –‫بعضها‬ ‫مع‬ ‫تشكل‬ ‫متكاملة‬ ‫برمجية‬ ‫حزمة‬ ‫عن‬ ‫عبارة‬ ‫هي‬system‫أي‬ ‫إلدارة‬ ‫ذلك‬ ‫و‬ ‫كامل‬ ‫الشركة‬ ‫أنظمة‬ ‫بأتمتة‬ ‫تقوم‬ ‫أي‬ ،‫شركة‬. ■ Embedded System: (‫المضمنة‬ ‫)النظم‬ –‫أو‬ ‫ذاكرة‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ‫المضمنة‬ ‫النظم‬ROM‫هي‬ ‫أي‬cheep‫عليها‬ ‫تخزن‬ ‫ذاكرة‬ ‫من‬ ‫الذكي‬ ‫المنزل‬ ‫و‬ ‫الغسالة‬ ‫و‬ ‫البراد‬ ‫برمجيات‬ ‫مثل‬ ‫ثابتة‬ ‫معلومات‬. ■ Computer Aided Software Engineering (CASE) –‫نوعين‬ ‫لها‬ ‫و‬ ‫البرمجيات‬ ‫هندسة‬ ‫تطوير‬ ‫في‬ ‫مساعدة‬ ‫أدوات‬: –Upper case:‫و‬ ‫تحليل‬ ‫من‬ ‫األولى‬ ‫المراحل‬ ‫على‬ ‫فقط‬ ‫تقتصر‬ ‫و‬ ‫قليلة‬ ‫تكون‬ ‫األدوات‬ ‫هذه‬ ‫أدوات‬ ‫تضم‬ ‫أي‬ ‫تصميم‬tools‫و‬ ‫المخططات‬ ‫رسم‬ ‫و‬ ‫المتطلبات‬ ‫جمع‬ ‫عملية‬ ‫في‬ ‫تساعد‬ ‫المتطلبات‬ ‫تصنيف‬..‫الخ‬. –Lower case:‫ال‬ ‫عمليات‬ ‫في‬ ‫تساعد‬ ‫التي‬ ‫األدوات‬ ‫هي‬debugging‫االختبار‬ ‫و‬ ‫البرمجة‬ ‫و‬. 10
  • 11. Overview ■‫المهتمون‬( :stakeholders) –‫تتأث‬ ‫أو‬ ‫تؤثر‬ ‫ألنها‬ ‫البرمجية‬ ‫النظم‬ ‫تطوير‬ ‫في‬ ‫المهتمة‬ ‫مؤسسات‬ ‫أو‬ ‫أشخاص‬ ‫انهم‬‫ر‬ ‫المقترح‬ ‫بالنظام‬ ‫مباشرة‬ ‫غير‬ ‫أو‬ ‫مباشرة‬ ‫بطريقة‬. –‫مثال‬:‫أو‬ ‫العالي‬ ‫التعليم‬ ‫لوزارة‬ ‫تعليمي‬ ‫نظام‬online management system‫من‬ ‫فكل‬ ‫ال‬ ‫يشكلون‬ ‫الطالب‬ ‫و‬ ‫الوزارة‬stakeholders‫الدور‬ ‫لهم‬ ‫و‬ ‫النظام‬ ‫بهذا‬ ‫يتأثرون‬ ‫ألنهم‬ ‫النظام‬ ‫ذلك‬ ‫تطوير‬ ‫في‬ ‫األساسي‬. 11
  • 12. Overview ■‫ال‬ ‫تقسيم‬stack holders: –‫النظام‬ ‫يطورون‬ ‫الذين‬ ‫المطورون‬developers: ■‫ال‬ ‫يعتبر‬ ‫حيث‬developers‫مهتمون‬‫بالنظام‬ ‫بآخر‬ ‫أو‬ ‫بشكل‬ ‫يتأثرون‬ ‫ألنهم‬. –‫المستخدمون‬users : ■‫النظام‬ ‫يستخدمون‬ ‫من‬ ‫ألنهم‬ ‫المهتمون‬ ‫من‬ ‫هم‬. –‫الممولون‬sponsors: ■‫المال‬ ‫بدفع‬ ‫يقومون‬ ‫أي‬ ‫النظام‬ ‫يمولون‬ ‫الذين‬ ‫المسؤولون‬. 12
  • 13. Overview ■‫ال‬ ‫مفهومي‬ ‫بين‬ ‫الفرق‬actor‫ال‬ ‫و‬stack holders: –‫ال‬stack holders‫أشخاص‬ ً‫دائما‬ ‫هم‬ ‫و‬ ‫النظام‬ ‫يستخدمون‬ ‫من‬ ‫هم‬ ‫و‬ ‫المهتمون‬ ‫هم‬ ‫فقط‬. –‫ال‬actor‫النظام‬ ‫من‬ ‫خدمة‬ ‫ل‬ّ‫ع‬‫يف‬ ‫أو‬ ‫النظام‬ ‫ل‬ّ‫ع‬‫يف‬ ‫من‬ ‫هو‬. ■‫ال‬ ‫أن‬ ‫حيث‬ ‫شخص‬ ‫يكون‬ ‫أن‬ ‫بالضرورة‬ ‫ليس‬actor،‫شخص‬ ‫يكون‬ ‫قد‬hardware،software، ‫نفسه‬ ‫النظام‬ ‫ماعدا‬ ‫شيء‬ ‫أي‬ ‫يكون‬ ‫أن‬ ‫يمكن‬ ‫و‬. 13
  • 14. Overview ■‫البرمجية‬ ‫اإلجرائية‬( :Software Processes) –‫التي‬ ‫البعض‬ ‫بعضها‬ ‫المترابطة‬ ‫المخططات‬ ‫و‬ ‫األدوات‬ ‫و‬ ‫الطرق‬ ‫و‬ ‫األنشطة‬ ‫مجموعة‬ ‫يحقق‬ ‫الذي‬ ‫و‬ ‫المشكلة‬ ‫تلك‬ ‫لحل‬ ‫مجدي‬ ‫جديد‬ ‫نظام‬ ‫إيجاد‬ ‫و‬ ‫المشكلة‬ ‫لفهم‬ ‫تؤدي‬ ‫الزبون‬ ‫رضا‬ ‫و‬ ‫العالية‬ ‫الجودة‬ ‫و‬ ‫المنخفضة‬ ‫الكلفة‬. ■‫البرمجية‬ ‫اإلجرائيات‬ ‫نماذج‬( :Software Process Models) –‫معين‬ ‫طريقة‬ ‫أو‬ ‫معين‬ ‫إجراء‬ ‫وفق‬ ‫السابقة‬ ‫األنشطة‬ ‫تلك‬ ‫ورود‬ ‫طريقة‬ ‫به‬ ‫فنقصد‬‫ة‬. –‫اسم‬ ‫اإلجرائي‬ ‫النموذج‬ ‫على‬ ‫نطلق‬ ‫خطي‬ ‫بشكل‬ ‫األنشطة‬ ‫تلك‬ ‫وردت‬ ‫إذا‬ ‫مثل‬ (‫النموذج‬‫الشاللي‬.) 14
  • 15. Overview ■‫تطوير‬ ‫مرحلة‬ ‫تمر‬(‫النظام‬)‫مراحل‬ ‫أربع‬ ‫في‬ ‫عام‬ ‫بشكل‬ ‫البرمجيات‬ ‫أو‬( :activities) Analysis ‫التحليل‬ 1 Design ‫التصميم‬ 2 Implementation ‫التنجيز‬ 3 Testing ‫االختبار‬ 4 15
  • 16. Question 1 ■ Which of these is incorrect? A. Software engineering belongs to Computer science. B. Software engineering is a part of more general form of System Engineering. C. Computer science belongs to Software engineering. D. Software engineering is concerned with the practicalities of developing and delivering useful software. 16
  • 17. Question 1 ■ Which of these is incorrect? A. Software engineering belongs to Computer science. B. Software engineering is a part of more general form of System Engineering. C. Computer science belongs to Software engineering. D. Software engineering is concerned with the practicalities of developing and delivering useful software. 17
  • 18. Question 2 ■ A stakeholder is anyone who will purchasethe completed software systemunder development. A. True. B. False. 18
  • 19. Question 2 ■ A stakeholder is anyone who will purchasethe completed software systemunder development. A. True. B. False. 19
  • 20. Question 3 ■ What are the characteristicsof software? A. Software is developed or engineered; it is not manufactured in the classical sense. B. Software doesn’t“wear out”. C. Software can be custom built or custombuild. D. All mentioned above. 20
  • 21. Question 3 ■ What are the characteristicsof software? A. Software is developed or engineered; it is not manufactured in the classical sense. B. Software doesn’t“wear out”. C. Software can be custom built or custombuild. D. All mentioned above. 21
  • 22. Question 4 ■ Software is defined as ____ . A. Instructions. B. Data Structures. C. Documents. D. All of the above. 22
  • 23. Question 4 ■ Software is defined as ____ . A. Instructions. B. Data Structures. C. Documents. D. All of the above. 23
  • 24. Question 5 ■ What are the signs that a software project is in trouble? A. The productscope is poorly defined. B. Deadlines are unrealistic. C. Changes are managed poorly. D. All of the above. 24
  • 25. Question 5 ■ What are the signs that a software project is in trouble? A. The productscope is poorly defined. B. Deadlines are unrealistic. C. Changes are managed poorly. D. All of the above. 25
  • 27. Software Processes Descriptions (‫التحليل‬ ‫او‬ ‫)التوصيف‬ ■‫التوصيف‬: –‫خدمات‬ ‫من‬ ‫النظام‬ ‫يقدمه‬ ‫ما‬ ‫أو‬ ‫النظام‬ ‫من‬ ‫مطلوب‬ ‫هو‬ ‫ما‬. –‫تسمى‬ ‫بوثيقة‬ ‫التوصيف‬ ‫مرحلة‬ ‫تنتهي‬(‫الشروط‬ ‫دفتر‬)‫أو‬(‫المتطلبات‬ ‫وثيقة‬.) 27
  • 28. Software Processes Design (‫)التصميم‬ ■‫التصميم‬: –‫هي‬ ‫عديدة‬ ‫وظائف‬ ‫له‬ ‫و‬ ‫المصمم‬ ‫هو‬ ‫المرحلة‬ ‫هذه‬ ‫عن‬ ‫المسؤول‬: ■‫النظام‬ ‫بمعمارية‬ ‫يعرف‬ ‫أن‬. ■‫مخططات‬ ‫و‬ ‫المعطيات‬ ‫قاعدة‬ ‫بتصميم‬ ‫يقوم‬ ‫أن‬ ‫يجب‬. ■‫البرمجي‬ ‫بالنظام‬ ‫الخاصة‬ ‫الواجهات‬ ‫بتصميم‬ ‫يقوم‬. –‫النظام‬ ‫بناء‬ ‫أثناء‬ ‫في‬ ‫الوحيدة‬ ‫الهندسية‬ ‫العملية‬ ‫هي‬ ‫التصميم‬ ‫عملية‬. 28
  • 29. Software Processes Implementation (‫)التنجيز‬ ■‫التنجيز‬: –‫إلى‬ ‫تحويلها‬ ‫و‬ ‫المصمم‬ ‫صممها‬ ‫التي‬ ‫الخوارزميات‬ ‫بكتابة‬ ‫نقوم‬code. 29
  • 30. Software Processes Testing (‫)االختبار‬ ■‫االختبار‬: –‫تصحيحها‬ ‫و‬ ‫أخطاء‬ ‫على‬ ‫العثور‬ ‫بهدف‬ ‫النظام‬ ‫تجريب‬ ‫مرحلة‬ ‫هي‬. –‫المظلة‬ ‫نشاط‬(umbrella activity:) –‫ال‬ ‫عمليات‬ ‫بتقسيم‬ ‫نقوم‬testing‫المراحل‬ ‫من‬ ‫مرحلة‬ ‫كل‬ ‫أن‬ ‫بحيث‬ ‫اجزاء‬ ‫الى‬ ‫لدينا‬ ‫يكون‬ ‫السابقة‬testing‫نهايتها‬ ‫في‬ ‫معين‬. 30
  • 31. Question 1 ■ 1. RequirementElicitation ------- a. Module Development and integration. ■ 2. Design -----------------------------------b. Analysis. ■ 3. Implementation --------------------c. Structure and behavioral. ■ 4. Maintenance ------------------------d. Performancetuning. A. 1-c , 2-a , 3-d , 4-b B. 1-c , 2-a , 3-b , 4-d C. 1-a , 2-c , 3-d , 4-b D. 1-b , 2-c , 3-a , 4-d 31
  • 32. Question 1 ■ 1. RequirementElicitation ------- a. Module Development and integration. ■ 2. Design -----------------------------------b. Analysis. ■ 3. Implementation --------------------c. Structure and behavioral. ■ 4. Maintenance ------------------------d. Performancetuning. A. 1-c , 2-a , 3-d , 4-b B. 1-c , 2-a , 3-b , 4-d C. 1-a , 2-c , 3-d , 4-b D. 1-b , 2-c , 3-a , 4-d 32
  • 33. Question 2 ■ A Project can be characterized as _____ . A. Every project may not have a unique and distinct goal. B. Project is routine activity or day-to-day operations. C. Project does not comes with a start time and end time. D. None of the above. 33
  • 34. Question 2 ■ A Project can be characterized as _____ . A. Every project may not have a unique and distinct goal. B. Project is routine activity or day-to-day operations. C. Project does not comes with a start time and end time. D. None of the above. 34
  • 35. Question 3 ■ Which of these software activities are not a part of software processes? A. Software dependence. B. Software development. C. Software validation. D. Software specification. 35
  • 36. Question 3 ■ Which of these software activities are not a part of software processes? A. Software dependence. B. Software development. C. Software validation. D. Software specification. 36
  • 37. SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) software process model ‫البرمجية‬ ‫اإلجرائيات‬ ‫نماذج‬ 37
  • 38. Software Process Model (‫البرمجية‬ ‫االجرائيات‬ ‫)نماذج‬ ■‫قسمين‬ ‫إلى‬ ‫البرمجية‬ ‫اإلجرائيات‬ ‫نماذج‬ ‫تقسم‬: –‫المخطط‬( :plan driven) ■‫نضع‬ ‫و‬ ‫تام‬ ‫بشكل‬ ‫و‬ ‫كامل‬ ‫بشكل‬ ‫لها‬ ‫التخطيط‬ ‫يتم‬ ‫عنها‬ ‫تحدثنا‬ ‫التي‬ ‫األنشطة‬ ‫كل‬ ‫الطارئة‬ ‫الحاالت‬ ‫في‬ ‫بديلة‬ ‫خطط‬ ‫تضع‬ ‫و‬ ،‫االعتبار‬ ‫بعين‬ ‫المخاطر‬. –‫السريع‬( :agile process) ■‫ذلك‬ ‫و‬ ‫ممكن‬ ‫وقت‬ ‫بأسرع‬ ‫النظام‬ ‫تطوير‬ ‫عملية‬ ‫من‬ ‫االنتهاء‬ ‫هي‬ ‫النماذج‬ ‫هذه‬ ‫من‬ ‫الهدف‬ ‫سريعا‬ ‫تخطيطا‬ ‫نخطط‬ ‫فترة‬ ‫كل‬ ‫حيث‬ ‫عالي‬ ‫لتخطيط‬ ‫يحتاج‬ ‫ال‬ ‫هو‬ ‫و‬ ‫الجودة‬ ‫حساب‬ ‫على‬ ‫كامل‬ ‫ليس‬ ‫أنه‬ ‫أي‬ ‫ننجزها‬ ‫ثم‬ ‫معينة‬ ‫لخدمة‬. 38
  • 39. Software Development Life Cycle (SDLC) Waterfall Model ( ‫النموذج‬‫الشاللي‬ ) ■‫تعريف‬: –‫األ‬ ‫نحو‬ ‫الماء‬ ‫يتدفق‬ ‫حيث‬ ‫المياه‬ ‫تدفق‬ ‫مثل‬ ‫البعض‬ ‫بعضها‬ ‫وراء‬ ‫األنشطة‬ ‫تورد‬ ‫عندما‬‫مام‬ ‫الشللي‬ ‫بالنموذج‬ ‫النموذج‬ ‫هذا‬ ‫يسمى‬ ‫الوراء‬ ‫إلى‬ ‫العودة‬ ‫دون‬. ■‫النموذج‬ ‫هذا‬ ‫مشاكل‬: –‫النظام‬ ‫على‬ ‫الحصول‬ ‫حتى‬ ‫و‬ ‫الفكرة‬ ‫مرحلة‬ ‫من‬ ‫النظام‬ ‫يستهلكه‬ ‫الذي‬ ‫الكبير‬ ‫الوقت‬. ■‫عمل‬ ‫بأي‬ ‫المصممون‬ ‫يقوم‬ ‫ال‬ ‫التحليل‬ ‫بعملية‬ ‫القيام‬ ‫أثناء‬ ‫ألنه‬. –‫أ‬ ‫يجب‬ ‫النموذج‬ ‫هذا‬ ‫اختيار‬ ‫عند‬ ‫لذلك‬ ‫و‬ ‫المتطلبات‬ ‫في‬ ‫تغيير‬ ‫أي‬ ‫يقبل‬ ‫ال‬ ‫النموذج‬ ‫هذا‬‫ن‬ ‫الدقيقة‬ ‫تفاصيله‬ ‫بكل‬ ‫واضح‬ ‫النظام‬ ‫يكون‬. ■‫الشللي‬ ‫بنموذج‬ ‫تطويره‬ ‫يمكننا‬ ‫لدينا‬ ‫قديم‬ ‫نظام‬ ‫تطوير‬ ‫مثل‬. ■‫النموذج‬ ‫هذا‬ ‫محاسن‬: –‫النموذج‬ ‫مثل‬ ‫تماما‬ ‫الخطية‬ ‫الطريقة‬ ‫يقبل‬ ‫العقل‬ ‫إن‬‫الشاللي‬‫غيره‬ ‫من‬ ‫أسهل‬ ‫يراه‬ ‫و‬. –‫النموذج‬ ‫فإن‬ ‫الكافية‬ ‫الخبرة‬ ‫يملك‬ ‫ال‬ ‫النظام‬ ‫بتطوير‬ ‫يقوم‬ ‫الذي‬ ‫الفريق‬ ‫كان‬ ‫إذا‬‫الش‬‫اللي‬ ‫جدا‬ ‫لهم‬ ‫مفيد‬. 39
  • 40. Software Development Life Cycle (SDLC) Waterfall Model ( ‫النموذج‬‫الشاللي‬ ) ■‫مالحظة‬: –‫الويب‬ ‫تطبيقات‬ ‫جميع‬web‫الشللي‬ ‫بالنموذج‬ ‫تطور‬ ‫ال‬!! –‫خد‬ ‫على‬ ‫تعديالت‬ ‫و‬ ‫تغييرات‬ ‫و‬ ‫فترة‬ ‫كل‬ ‫خدمات‬ ‫إضافة‬ ‫لها‬ ‫يحدث‬ ‫تطبيقات‬ ‫ألنها‬‫مات‬ ‫الشللي‬ ‫بالنموذج‬ ‫تطور‬ ‫ال‬ ‫لذلك‬ ‫و‬ ‫قديمة‬. 40
  • 41. Software Development Life Cycle (SDLC) Incremental Model ( ‫النموذج‬‫التزايدي‬ ) ■‫تعريف‬: –‫يقدم‬ ‫معين‬ ‫نظام‬ ‫لدينا‬ ‫ليكن‬100‫معينة‬ ‫خدمة‬. –‫يقد‬ ‫التي‬ ‫الخدمات‬ ‫و‬ ‫المتطلبات‬ ‫تحديد‬ ‫و‬ ‫المشكلة‬ ‫فهم‬ ‫بعد‬ ‫العمل‬ ‫فريق‬ ‫يقوم‬‫مها‬ ‫اختيار‬ ‫يتم‬ ‫أن‬ ‫بها‬ ‫نقصد‬ ‫و‬ ‫األولويات‬ ‫بتحديد‬ ‫النظام‬10‫في‬ ‫أولوية‬ ‫أساسية‬ ‫خدمات‬ ‫النظام‬. –‫ملموس‬ ‫لمنتج‬ ‫نصل‬ ‫هكذا‬ ‫و‬ ‫تنجيز‬ ‫ثم‬ ‫تصميم‬ ‫ثم‬ ‫لها‬ ‫تحليل‬ ‫مرحلة‬ ‫عمل‬ ‫يتم‬ ‫ثم‬‫يقدم‬ 10،‫خدمات‬ –‫إليه‬ ‫نضيف‬ ‫و‬ ‫المنتج‬ ‫هذا‬ ‫نأخذ‬ ‫ذلك‬ ‫بعد‬5‫التحليل‬ ‫عمليات‬ ‫بإعادة‬ ‫ذلك‬ ‫و‬ ‫أخرى‬ ‫خدمات‬ ‫و‬ ‫التصميم‬ ‫و‬‫التنجيز‬‫يقدم‬ ‫المنتج‬ ‫فيصبح‬ ‫لها‬15،‫خدمة‬ –‫دائم‬ ‫تطوير‬ ‫مرحلة‬ ‫في‬ ‫يبقى‬ ‫أو‬ ‫نظامنا‬ ‫ينتهي‬ ‫حتى‬ ‫هكذا‬ ‫و‬. 41
  • 42. Software Development Life Cycle (SDLC) Incremental Model ( ‫النموذج‬‫التزايدي‬ ) ■‫النموذج‬ ‫هذه‬ ‫محاسن‬: –‫كامل‬ ‫غير‬ ‫لكنه‬ ‫ملموس‬ ‫منتج‬ ‫على‬ ‫الحصول‬ ‫من‬ ‫يمكننا‬ ‫الذي‬ ‫القصير‬ ‫الوقت‬. –‫ت‬ ‫يمكننا‬ ‫بها‬ ‫نقوم‬ ‫دورة‬ ‫فبكل‬ ،‫متغيرة‬ ‫متطلبات‬ ‫مع‬ ‫يتعامل‬ ‫ان‬ ‫النموذج‬ ‫لهذا‬ ‫يمكن‬‫عديل‬ ‫جديدة‬ ‫خدمات‬ ‫إضافة‬ ‫أو‬ ‫متطلبات‬. –‫الويب‬ ‫تطبيقات‬ ‫خاصة‬ ‫و‬ ‫النموذج‬ ‫بهذا‬ ‫تطور‬ ‫االنظمة‬ ‫معظم‬. ■‫النموذج‬ ‫هذا‬ ‫مساوئ‬: –‫تم‬ ‫قد‬ ‫قديمة‬ ‫متطلبات‬ ‫مع‬ ‫تتناقض‬ ‫أن‬ ‫الجديدة‬ ‫المتطلبات‬ ‫أو‬ ‫الخدمات‬ ‫لبعض‬ ‫يمكن‬‫تنجيزها‬ ‫النظام‬ ‫من‬ ‫نسفها‬ ‫إلى‬ ‫نضطر‬ ‫لذلك‬ ‫بالنظام‬. –‫خدمة‬ ‫بدون‬ ‫مفيدة‬ ‫غير‬ ‫لكنها‬ ‫خدمة‬ ‫فتقدم‬ ‫البعض‬ ‫ببعضها‬ ‫الخدمات‬ ‫ترتبط‬ ‫أن‬ ‫يمكن‬‫أخرى‬ ‫ثانية‬ ‫كاملة‬ ‫دورة‬ ‫االنتظار‬ ‫يجب‬ ‫هنا‬ ‫و‬‫لتنجيز‬‫الخدمة‬ ‫لتفعيل‬ ‫ذلك‬ ‫و‬ ‫الثانية‬ ‫الخدمة‬‫و‬ ‫األولى‬ ‫النظام‬ ‫في‬ ‫أولوياتنا‬ ‫ترتيب‬ ‫أثناء‬ ‫لخطأ‬ ‫يعود‬ ‫هذا‬. ■‫مساوئه‬ ‫من‬ ‫أكثر‬ ‫النظام‬ ‫هذا‬ ‫محاسن‬ ‫عام‬ ‫بشكل‬. 42
  • 43. Software Development Life Cycle (SDLC) Reuse-oriented Software Engineering (‫االستخدام‬ ‫بإعادة‬ ‫المقام‬ ‫)النموذج‬ ■‫تعريف‬: –‫اختبار‬ ‫ثم‬ ‫تنجيز‬ ‫ثم‬ ‫بحث‬ ‫ثم‬ ‫تصميم‬ ‫ثم‬ ‫تحليل‬. –‫عن‬ ‫بالبحث‬ ‫بها‬ ‫نقوم‬ ‫مرحلة‬ ‫هي‬ ‫البحث‬component،‫مشروعنا‬ ‫في‬ ‫نضمنها‬ ‫جاهزة‬ ‫ب‬ ‫يقوم‬ ‫التي‬ ‫الخدمات‬ ‫و‬ ‫المتطلبات‬ ‫تحديد‬ ‫و‬ ‫التحليل‬ ‫بعملية‬ ‫القيام‬ ‫بعد‬ ‫حيث‬‫النظام‬ ‫ها‬ ‫يقدمها‬ ‫التي‬ ‫الخدمات‬ ‫تخدم‬ ‫قديمة‬ ‫أنظمة‬ ‫عن‬ ‫السوق‬ ‫في‬ ‫بحث‬ ‫عملية‬ ‫نجري‬ ‫نظامنا‬ ‫ليتشكل‬ ‫سويا‬ ‫ربطها‬ ‫و‬ ‫الجاهزة‬ ‫المكونات‬ ‫هذه‬ ‫بتجميع‬ ‫فنقوم‬ ‫نظامي‬. –‫ال‬ ‫تلك‬ ‫تكون‬ ‫أن‬ ‫مراعاة‬ ‫يجب‬component‫و‬ ‫موثوقة‬ ‫نظامنا‬ ‫في‬ ‫منها‬ ‫نستفيد‬ ‫التي‬ ‫بعملية‬ ‫القيام‬ ‫علينا‬ ‫يتوجب‬ ‫لذلك‬testing‫النظام‬ ‫في‬ ‫تضمينها‬ ‫قبل‬ ‫للمكونات‬. 43
  • 44. Software Development Life Cycle (SDLC) Reuse-oriented Software Engineering (‫االستخدام‬ ‫بإعادة‬ ‫المقام‬ ‫)النموذج‬ ■‫النموذج‬ ‫هذا‬ ‫محاسن‬: –‫نظامنا‬ ‫تنجيز‬ ‫في‬ ‫السرعة‬. –‫ال‬ ‫عمليات‬ ‫بسبب‬ ‫الموثوقية‬testing‫المكونات‬ ‫من‬ ‫مكون‬ ‫كل‬ ‫أجل‬ ‫من‬ ‫بها‬ ‫نقوم‬ ‫التي‬ ‫الجاهزة‬. ■‫النموذج‬ ‫هذا‬ ‫مساوئ‬: –‫ال‬ ‫تتوافر‬ ‫ال‬ ‫أحيانا‬component‫إلى‬ ‫نضطر‬ ‫ولذلك‬ ‫المناسبة‬‫تنجيزها‬‫بأنفسنا‬. –‫ال‬ ‫ربط‬ ‫و‬ ‫التكامل‬ ‫عملية‬ ‫أن‬components‫هي‬ ‫و‬ ‫جدا‬ ‫معقد‬ ‫عملية‬ ‫البعض‬ ‫بعضها‬ ‫مع‬ ‫عالي‬ ‫فهم‬ ‫إلى‬ ‫تحتاج‬‫لل‬interfaces‫ال‬ ‫بين‬components. 44
  • 45. Software Development Life Cycle (SDLC) Prototyping Model (‫االولي‬ ‫او‬ ‫البدائي‬ ‫)النموذج‬ ■‫تعريف‬: –‫نظ‬ ‫أي‬ ‫يوجد‬ ‫ال‬ ‫أي‬ ‫أبدا‬ ‫قبل‬ ‫من‬ ‫مطبق‬ ‫غير‬ ‫جديدة‬ ‫فكرة‬ ‫ذو‬ ‫جديد‬ ‫نظام‬ ‫تطوير‬ ‫نريد‬‫ام‬ ‫ا‬ ‫لفريق‬ ‫بالنسبة‬ ‫النظام‬ ‫يكون‬ ‫الحالة‬ ‫هذه‬ ‫في‬ ‫و‬ ‫كليا‬ ‫جديد‬ ‫نظام‬ ‫هو‬ ‫بل‬ ‫يشبهه‬‫لعمل‬ ‫غامض‬. –‫يم‬ ‫ال‬ ‫هنا‬ ‫و‬ ‫يريدها‬ ‫التي‬ ‫متطلباته‬ ‫عن‬ ‫التعبير‬ ‫عن‬ ‫قادر‬ ‫غير‬ ‫الزبون‬ ‫يكون‬ ‫عندما‬‫كننا‬ ‫مباشر‬ ‫بشكل‬ ‫الزبون‬ ‫من‬ ‫المتطلبات‬ ‫جمع‬. –‫نوعين‬ ‫يوجد‬ ‫النموذج‬: ■‫مهمل‬. ■‫تطويري‬. 45
  • 46. Software Development Life Cycle (SDLC) Prototyping Model (‫االولي‬ ‫او‬ ‫البدائي‬ ‫)النموذج‬ ■‫النموذج‬ ‫هذا‬ ‫محاسن‬: –‫كان‬ ‫حال‬ ‫في‬ ‫الوحيد‬ ‫الحل‬ ‫إنه‬: ■‫تماما‬ ‫جديد‬ ‫نظامنا‬. ■‫متطلباته‬ ‫عن‬ ‫التعبير‬ ‫على‬ ‫قادر‬ ‫غير‬ ‫الزبون‬. ■‫النموذج‬ ‫هذا‬ ‫مساوئ‬: –‫المتطلبات‬ ‫جمع‬ ‫عملية‬ ‫في‬ ‫المستهلك‬ ‫الوقت‬ ‫بسبب‬ ‫ذلك‬ ‫و‬ ‫للوقت‬ ‫مستهلك‬. –‫الرسومات‬ ‫من‬ ‫نموذج‬ ‫من‬ ‫أكثر‬ ‫و‬ ‫واجهة‬ ‫من‬ ‫أكثر‬ ‫بعمل‬ ‫نقوم‬ ‫فقد‬ ‫للجهد‬ ‫مستهلك‬. –‫بإمك‬ ‫عالقة‬ ‫له‬ ‫ذلك‬ ‫ألن‬ ،‫المتطلبات‬ ‫إليجاد‬ ‫حل‬ ‫إلى‬ ‫نصل‬ ‫ال‬ ‫قد‬ ‫ألننا‬ ‫مضمون‬ ‫غير‬‫انية‬ ‫بتصميماتنا‬ ‫الزبون‬ ‫إقناع‬. 46
  • 47. Software Development Life Cycle (SDLC) Spiral Model (‫الحلزوني‬ ‫)النموذج‬ ■‫تعريف‬: –‫هي‬ ‫و‬ ‫أساسية‬ ‫قطاعات‬ ‫أربعة‬ ‫من‬ ‫مكون‬ ‫النموذج‬ ‫هذا‬: .1‫التخطيط‬( .Planning) .2‫المخاطر‬ ‫دراسة‬( .Risk analysis) .3‫التطوير‬( .Development) .4‫التقييم‬( .Assessment) –‫المخاطر‬ ‫لدراسة‬ ‫أساسي‬ ‫بشكل‬ ‫موجه‬ ‫النموذج‬ ‫هذا‬. –‫الضخمة‬ ‫األنظمة‬ ‫في‬ ‫إال‬ ‫يطلب‬ ‫ال‬ ‫الحلزوني‬ ‫النموذج‬‫والمعقدة‬. –‫مخطط‬ ‫بين‬ ‫دمج‬ ‫يعتبر‬‫الشاللي‬‫والبروتوتايب‬ ■‫النموذج‬ ‫و‬ ‫الحلزوني‬ ‫النموذج‬ ‫بين‬ ‫الفرق‬ ‫ما‬‫التزايدي‬‫؟‬ –‫النموذج‬ ‫إن‬‫التزايدي‬،‫ملموس‬ ‫منتج‬ ‫على‬ ‫نحصل‬ ‫فقط‬ ‫واحدة‬ ‫دورة‬ ‫بعد‬ –‫إلى‬ ‫نصل‬ ‫ال‬ ‫و‬ ‫دورة‬ ‫من‬ ‫أكثر‬ ‫ندور‬ ‫قد‬ ‫الحلزوني‬ ‫النموذج‬ ‫أما‬product‫إنتاج‬ ‫يتطلب‬ ‫قد‬ ‫أي‬ ‫دورة‬ ‫من‬ ‫أكثر‬ ‫نظام‬. 47
  • 48. Software Development Life Cycle (SDLC) Spiral Model (‫الحلزوني‬ ‫)النموذج‬ ■‫النموذج‬ ‫هذا‬ ‫محاسن‬: –‫التغييرات‬ ‫االعتبار‬ ‫بعين‬ ‫يأخذ‬ ‫النموذج‬ ‫هذا‬change‫المخاطر‬ ‫دراسة‬ ‫كذلك‬ ‫و‬risk، ‫الدورات‬ ‫و‬ ‫التكرارات‬ ‫عدد‬ ‫بسبب‬ ‫عالية‬ ‫جودة‬ ‫ذا‬ ‫يكون‬ ‫النموذج‬ ‫بهذا‬ ‫المطور‬ ‫فالنظام‬ ‫للصيا‬ ‫قابل‬ ‫النظام‬ ‫يكون‬ ‫أيضا‬ ‫و‬ ‫النظام‬ ‫هذا‬ ‫على‬ ‫للحصول‬ ‫تنفيذها‬ ‫يتم‬ ‫التي‬‫نة‬. ■‫النموذج‬ ‫هذا‬ ‫مساوئ‬: –‫مؤهالت‬ ‫و‬ ‫خبرات‬ ‫ذو‬ ‫فريق‬ ‫إلى‬ ‫يحتاج‬ ‫و‬ ‫كبير‬ ‫بشكل‬ ‫التطبيق‬ ‫صعب‬ ‫أنه‬ ‫مساوئه‬ ‫الكبيرة‬ ‫المشاريع‬ ‫في‬ ‫يطبق‬ ‫هو‬ ‫و‬ ،‫عالية‬. 48
  • 49. Software Development Life Cycle (SDLC) Rational Unified Process (RUP) (‫الموحدة‬ ‫)اإلجراءات‬ ■‫تعريف‬: –‫كلمة‬Rational‫اسمها‬ ‫التي‬ ‫طورتها‬ ‫التي‬ ‫للشركة‬ ‫نسبة‬ ‫هي‬Rational software corporation –‫لغة‬ ‫بمساعدة‬ ‫التوجه‬ ‫غرضي‬ ‫التصميم‬ ‫و‬ ‫التحليل‬ ‫بعمليات‬ ‫تقوم‬ ‫اإلجرائية‬ ‫هذه‬ ‫النمذجة‬‫الموحدة‬(unified model language UML.) 49
  • 50. Software Process Model (‫البرمجية‬ ‫االجرائيات‬ ‫)نماذج‬ ■‫للنظام؟‬ ‫المناسب‬ ‫اإلجرائي‬ ‫النموذج‬ ‫نختار‬ ‫تجعلنا‬ ‫التي‬ ‫األمور‬ ‫هي‬ ‫ما‬ –‫المتطلبات‬: ■‫النموذج‬ ‫نختار‬ ‫واضح‬ ‫النظام‬ ‫و‬ ‫واضحة‬ ‫كانت‬ ‫إذا‬‫الشاللي‬. ■‫البدائي‬ ‫النموذج‬ ‫نختار‬ ‫معروفة‬ ‫غير‬ ‫و‬ ‫جديدة‬ ‫كانت‬ ‫إذا‬(prototyping.) ■‫النموذج‬ ‫نختار‬ ‫النظام‬ ‫إنجاز‬ ‫في‬ ‫السرعة‬ ‫أردنا‬ ‫إذا‬‫التزايدي‬. ■‫نختار‬ ‫العالية‬ ‫الجودة‬ ‫أردنا‬ ‫إذا‬RUP. ■‫الحلزوني‬ ‫النموذج‬ ‫الخترنا‬ ‫االعتبار‬ ‫بعين‬ ‫المخاطر‬ ‫وضع‬. ■‫نختار‬ ‫متغيرة‬ ‫المتطلبات‬ ‫كانت‬ ‫لو‬‫التزايدي‬. –‫العمل‬ ‫فريق‬: ■‫الفريق‬ ‫كان‬ ‫إذا‬‫نختار‬ ‫جدا‬ ‫كبير‬RUP ■‫الحلزوني‬ ‫نختار‬ ‫عالية‬ ‫كفاءة‬ ‫و‬ ‫كبيرة‬ ‫خبرات‬ ‫ذا‬ ‫كان‬ ‫إذا‬. ■‫ال‬ ‫نختار‬ ‫صغير‬ ‫كان‬ ‫إذا‬agile‫أو‬‫التزايدي‬. ■‫نختار‬ ‫الكافية‬ ‫المؤهالت‬ ‫و‬ ‫الخبرة‬ ‫يملك‬ ‫ال‬ ‫كان‬ ‫إذا‬‫الشاللي‬. –‫الزبون‬: ■‫البدائي‬ ‫النموذج‬ ‫نختار‬ ‫متطلباته‬ ‫عن‬ ‫التعبير‬ ‫يعرف‬ ‫ال‬ ‫الزبون‬ ‫كان‬ ‫إذا‬. ■‫النموذج‬ ‫نختار‬ ‫باستمرار‬ ‫متطلباته‬ ‫يغير‬ ‫و‬ ‫متقلبا‬ ‫كان‬ ‫إذا‬‫التزايدي‬. 50
  • 51. Agile Software Development (‫الرشيقة‬ ‫البرمجيات‬ ‫)تطوير‬ ■‫حساب‬ ‫على‬ ‫ذلك‬ ‫و‬ ‫الوقت‬ ‫بمسألة‬ ‫فقط‬ ‫تهتم‬ ‫الطريقة‬ ‫هذه‬ ‫ان‬‫أن‬ ‫أي‬ ‫الجودة‬ ‫و‬ ‫الكلفة‬ ‫ب‬ ‫التطوير‬ ‫من‬ ‫الهدف‬agile‫هو‬‫بأقصر‬ ‫ذلك‬ ‫و‬ ‫التطور‬ ‫تواكب‬ ‫برمجية‬ ‫منتجات‬ ‫على‬ ‫الحصول‬ ‫ممكن‬ ‫وقت‬. ■‫و‬ ‫كبير‬ ‫تخطيط‬ ‫لدينا‬ ‫يوجد‬ ‫ال‬ ‫النظم‬ ‫تطوير‬ ‫من‬ ‫النوع‬ ‫بهذا‬‫توثيق‬ ‫لدينا‬ ‫يوجد‬ ‫ال‬ ‫كذلك‬ documentation،‫ظهور‬ ‫عند‬ ‫بالتالي‬ ‫و‬‫ذلك‬ ‫و‬ ‫حلها‬ ‫نستطيع‬ ‫ال‬ ‫النظام‬ ‫في‬ ‫معينة‬ ‫مشاكل‬ ‫من‬ ‫األنشطة‬ ‫ألن‬(‫اختبار‬ ، ‫تنجيز‬ ، ‫تصميم‬ ، ‫تحليل‬)‫البعض‬ ‫بعضها‬ ‫مع‬ ‫متداخلة‬. ■‫يتم‬‫تزايدي‬ ‫بشكل‬ ‫النظام‬ ‫تطوير‬Incremental‫يقدم‬ ‫لنجعله‬ ‫ذلك‬ ‫و‬‫و‬ ‫األساسية‬ ‫الخدمات‬ ‫تقوم‬ ‫ما‬ ‫غالبا‬ ‫و‬ ‫التطوير‬ ‫مرحلة‬ ‫تبدأ‬ ‫ذلك‬ ‫بعد‬‫باستخدام‬component‫أو‬ ‫جاهزة‬tools ‫تطوير‬ ‫عملية‬ ‫في‬ ‫تساعدنا‬‫النظام‬. 51
  • 52. Agile Software Development (‫الرشيقة‬ ‫البرمجيات‬ ‫)تطوير‬ ■‫ال‬ ‫بتطبيق‬ ‫نقوم‬ ‫متى‬Agile method‫؟‬ –ً‫وسطا‬ ‫أو‬ ً‫صغيرا‬ ‫النظام‬ ‫حجم‬ ‫يكون‬ ‫عندما‬. –‫ال‬ ‫يكون‬ ‫عندما‬customer‫الزب‬ ‫نعد‬ ‫ألننا‬ ‫ذلك‬ ‫و‬ ‫التطوير‬ ‫فريق‬ ‫مع‬ ‫االلتزام‬ ‫على‬ ً‫قادرا‬‫ون‬ ‫التطوير‬ ‫مرحلة‬ ‫خالل‬ ‫للنظام‬ ‫كاملة‬ ‫تقييم‬ ‫آلية‬. –‫بمهاراته‬ ً‫متكامال‬ ‫و‬ ً‫صغيرا‬ ‫المطور‬ ‫الفريق‬ ‫يكون‬ ‫عندما‬. ■‫ب‬ ‫المطور‬ ‫النظام‬ ‫أن‬ ‫بما‬Agile method‫شكل‬ ‫على‬ ‫يقدم‬versions‫خطأ‬ ‫هناك‬ ‫يكون‬ ‫فقد‬ ‫الخدمات‬ ‫و‬ ‫بالنظام‬ ‫األولويات‬ ‫تحديد‬ ‫في‬‫النظام‬ ‫فشل‬ ‫إلى‬ ‫يؤدي‬ ‫مما‬ ‫األساسية‬. 52
  • 53. Agile Software Development (‫الرشيقة‬ ‫البرمجيات‬ ‫)تطوير‬ ■‫ال‬ ‫نماذج‬ ‫و‬ ‫طرق‬Agile –‫األولى‬ ‫الطريقة‬:(Rapid Application Development RAD) ■‫طريقة‬RAD‫طريقة‬ ‫هي‬‫النموذج‬ ‫من‬ ‫مشتقة‬‫الشاللي‬‫القيام‬ ‫على‬ ‫تقوم‬ ‫هي‬ ‫و‬‫تحليل‬ ‫بعملية‬ ‫يتم‬ ‫بحيث‬ ‫التطوير‬ ‫فريق‬ ‫بين‬ ‫المهام‬ ‫تقسيم‬ ‫ثم‬ ‫للنظام‬‫تحاول‬ ‫هي‬ ‫و‬ ‫التوازي‬ ‫على‬ ‫التطوير‬ ‫من‬ ‫االستفادة‬ ‫كذلك‬component‫جاهزة‬‫النظام‬ ‫ضمن‬ ‫تضمينها‬ ‫و‬. –‫الثانية‬ ‫الطريقة‬( :Extreme Programming XP) ■‫تعني‬(‫المتطرفة‬ ‫البرمجية‬:)‫بال‬ ‫األساسية‬ ‫الطريقة‬ ‫هي‬ ‫و‬Agile method‫بهذا‬ ‫سميت‬ ‫قد‬ ‫و‬ ‫هي‬ ً‫عمليا‬ ‫و‬ ‫البرمجة‬ ‫عمليات‬ ‫على‬ ‫تركز‬ ‫ألنها‬ ‫االسم‬‫ال‬ ‫بتحويل‬ ‫تهتم‬stories‫ال‬ ‫يقصها‬ ‫التي‬ costumers‫إلى‬code. –‫الثالثة‬ ‫الطريقة‬scrum : ■‫المطورة‬ ‫النظم‬ ‫في‬ ‫إدارية‬ ‫مشاكل‬ ‫لظهور‬ ‫نتيجة‬ ‫ظهرت‬ ‫الطريقة‬ ‫هذه‬‫ال‬ ‫بطرق‬Agile ■‫يتم‬ ‫الذي‬ ‫النظام‬ ‫على‬ ‫إشراف‬ ‫بها‬ ‫يوجد‬ ‫الطريقة‬ ‫فهذه‬‫على‬ ‫التركيز‬ ‫مع‬ ‫إداري‬ ‫بشكل‬ ‫تطويره‬ ‫وقت‬ ‫بأسرع‬ ‫النظام‬ ‫على‬ ‫الحصول‬‫ممكن‬. 53
  • 54. Question 1 ■ The most important feature of spiral model is A. requirement analysis. B. risk management. C. quality management. D. configuration management. 54
  • 55. Question 1 ■ The most important feature of spiral model is A. requirement analysis. B. risk management. C. quality management. D. configuration management. 55
  • 56. Question 2 ■ In the spiral model ‘risk analysis’ is performed. A. In the first loop. B. in the first and second loop. C. In every loop. D. before using spiral model. 56
  • 57. Question 2 ■ In the spiral model ‘risk analysis’ is performed. A. In the first loop. B. in the first and second loop. C. In every loop. D. before using spiral model. 57
  • 58. Question 3 ■ The spiral model of software development A. Ends with the delivery of the software product B. Is more chaotic than the incremental model. C. Includes project risks evaluation during each iteration. D. All of the above. 58
  • 59. Question 3 ■ The spiral model of software development A. Ends with the delivery of the software product B. Is more chaotic than the incremental model. C. Includes project risks evaluation during each iteration. D. All of the above. 59
  • 60. Question 4 ■ The model in which the requirements are implemented by category is: A. Evolutionary Development Model. B. Waterfall Model. C. Prototyping. D. Iterative EnhancementModel. 60
  • 61. Question 4 ■ The model in which the requirements are implemented by category is: A. Evolutionary Development Model. B. Waterfall Model. C. Prototyping. D. Iterative EnhancementModel. 61
  • 62. Question 5 ■ For a well understood data processingapplication it is best to use A. The waterfall model. B. Prototyping model. C. The evolutionarymodel. D. The spiral model. 62
  • 63. Question 5 ■ For a well understood data processingapplication it is best to use A. The waterfall model. B. Prototyping model. C. The evolutionarymodel. D. The spiral model. 63
  • 64. Question 6 ■ RAD stands for: A. Relative Application Development. B. Rapid Application Development. C. Rapid Application Document. D. None of the mentioned. 64
  • 65. Question 6 ■ RAD stands for: A. Relative Application Development. B. Rapid Application Development. C. Rapid Application Document. D. None of the mentioned. 65
  • 66. Question 7 ■ SDLC stands for: A. Software Development Life Cycle. B. System Development Life Cycle. C. Software Design Life Cycle. D. System Design Life Cycle. 66
  • 67. Question 7 ■ SDLC stands for: A. Software Development Life Cycle. B. System Development Life Cycle. C. Software Design Life Cycle. D. System Design Life Cycle. 67
  • 68. Question 8 ■ Which model can be selected if user is involved in all the phases of SDLC? A. Waterfall Model. B. Prototyping Model. C. RAD Model. D. both Prototyping Model & RAD Model. 68
  • 69. Question 8 ■ Which model can be selected if user is involved in all the phases of SDLC? A. Waterfall Model. B. Prototyping Model. C. RAD Model. D. both Prototyping Model & RAD Model. 69
  • 70. Question 9 ■ Selection of a model is based on: A. Requirements. B. Development team & users. C. Project type and associated risk. D. All of the mentioned. 70
  • 71. Question 9 ■ Selection of a model is based on: A. Requirements. B. Development team & users. C. Project type and associated risk. D. All of the mentioned. 71
  • 72. Question 10 ■ Which two models doesn’tallow defining requirements early in the cycle? A. Waterfall & RAD. B. Prototyping & Spiral. C. Prototyping & RAD. D. Waterfall & Spiral. 72
  • 73. Question 10 ■ Which two models doesn’tallow defining requirements early in the cycle? A. Waterfall & RAD. B. Prototyping & Spiral. C. Prototyping & RAD. D. Waterfall & Spiral. 73
  • 74. Question 11 ■ If you were a lead developer of a software company and you are asked to submit a project/productwithin a stipulated time-frame with no cost barriers, which model would you select? A. Waterfall. B. Spiral. C. RAD. D. Incremental. 74
  • 75. Question 11 ■ If you were a lead developer of a software company and you are asked to submit a project/productwithin a stipulated time-frame with no cost barriers, which model would you select? A. Waterfall. B. Spiral. C. RAD. D. Incremental. 75
  • 76. Question 12 ■ Spiral Model has high reliability requirements. A. True. B. False. 76
  • 77. Question 12 ■ Spiral Model has high reliability requirements. A. True. B. False. 77
  • 78. Question 13 ■ RAD Model has high reliability requirements. A. True. B. False. 78
  • 79. Question 13 ■ RAD Model has high reliability requirements. A. True. B. False. 79
  • 81. Requirement Engineering (‫المتطلبات‬ ‫)هندسة‬ ■‫هو‬ ‫المرحلة‬ ‫هذه‬ ‫دخل‬ ‫يكون‬‫أو‬ ‫المتطلبات‬ ‫وثيقة‬ ‫هو‬ ‫المرحلة‬ ‫هذه‬ ‫خرج‬ ‫و‬ ‫الجدوى‬ ‫دراسة‬ RequirementDocument‫بشكلين‬ ‫المتطلبات‬ ‫تضم‬ ‫التي‬ ‫الوثيقة‬ ‫هي‬ ‫و‬: –‫للمستخدم‬ ‫مبسط‬ ‫شكل‬. –‫للمطور‬ ‫مفصل‬ ‫شكل‬. ■‫ب‬ ً‫أحيانا‬ ‫الوثيقة‬ ‫هذه‬ ‫تسمى‬SRS‫هي‬ ‫و‬software requirement specification. 81
  • 82. Requirement Engineering (‫المتطلبات‬ ‫)هندسة‬ ■‫اقسام‬ ‫ثالثة‬ ‫إلى‬ ‫المتطلبات‬ ‫أنواع‬ ‫تقسيم‬ ‫نستطيع‬: –‫الوظيفية‬ ‫المتطلبات‬: ■‫النظام‬ ‫يقدمها‬ ‫التي‬ ‫الفعلية‬ ‫الخدمات‬ ‫بها‬ ‫نقصد‬(‫العمل‬ ‫إجرائيات‬)‫األس‬ ‫الوظائف‬ ‫أي‬‫اسية‬ ‫مثل‬ ‫النظام‬ ‫يقدمها‬ ‫التي‬(‫غيرها‬ ‫و‬ ‫التسجيل‬ ، ‫العرض‬ ، ‫الحجز‬ ‫خدمة‬.) –‫وظيفية‬ ‫الغير‬ ‫المتطلبات‬: ■‫المتطلبات‬ ‫على‬ ‫القيود‬ ‫عن‬ ‫عبارة‬ ‫هي‬: –‫بالجودة‬ ‫تتعلق‬ ‫متطلبات‬:‫مثل‬(security،reliability،performance،availability) –‫بالكلفة‬ ‫متعلقة‬ ‫متطلبات‬. –‫بالوقت‬ ‫متعلقة‬ ‫متطلبات‬. –‫ال‬ ‫او‬ ‫المجال‬domain 82
  • 83. Requirement Engineering (‫المتطلبات‬ ‫)هندسة‬ ■‫المتطلبات‬ ‫جمع‬ ‫طرق‬: –‫قديمة‬ ‫طرق‬: ■‫المقابلة‬. ■‫االستبيان‬. ■‫المالحظة‬. ■‫الوثائق‬ ‫دراسة‬. –‫حديثة‬ ‫طرق‬: ■Prototyping. ■‫المشترك‬ ‫التطبيقات‬ ‫تطوير‬( .Join DevelopmentApplication JAD) 83
  • 84. Question 1 ■ IEEE 830-1993 is a IEEE recommendedstandard for A. Software requirement specification. B. Software design. C. Testing. D. Both (A) and (B). 84
  • 85. Question 1 ■ IEEE 830-1993 is a IEEE recommendedstandard for A. Software requirement specification. B. Software design. C. Testing. D. Both (A) and (B). 85
  • 86. Question 2 ■ If every requirement stated in the Software RequirementSpecification (SRS) has only one interpretation, SRS is said to be A. correct. B. unambiguous. C. consistent. D. verifiable. 86
  • 87. Question 2 ■ If every requirement stated in the Software RequirementSpecification (SRS) has only one interpretation, SRS is said to be A. correct. B. unambiguous. C. consistent. D. verifiable. 87
  • 88. Question 3 ■ SRS is also known as specification of A. White box testing. B. Stress testing. C. Integrated testing. D. Black box testing. 88
  • 89. Question 3 ■ SRS is also known as specification of A. White box testing. B. Stress testing. C. Integrated testing. D. Black box testing. 89
  • 90. Question 4 ■ If every requirement can be checked by a cost-effectiveprocess, then the SRS is A. verifiable. B. traceable. C. modifiable. D. complete. 90
  • 91. Question 4 ■ If every requirement can be checked by a cost-effectiveprocess, then the SRS is A. verifiable. B. traceable. C. modifiable. D. complete. 91
  • 93. Unified Modeling Language (UML) ( ‫لغة‬‫النمذجة‬‫الموحدة‬ ) 93
  • 94. Unified Modeling Language (UML) UseCase Diagram (‫االستخدام‬ ‫حاالت‬ ‫)مخطط‬ ■‫مجرد‬ ‫بشكل‬ ‫للنظام‬ ‫ينظر‬ ‫مخطط‬high abstract‫المستخدم‬ ‫على‬ ‫الفهم‬ ‫سهل‬ ‫وهو‬. ■‫جوانبه‬ ‫من‬ ‫واحد‬ ‫جانب‬ ‫يفهمنا‬ ‫فهو‬ ‫النظام‬ ‫بنية‬ ‫عن‬ ‫يتحدث‬ ‫ال‬ ‫مخطط‬. ■‫مثل‬ ‫البعض‬ ‫بعضها‬ ‫مع‬ ‫الخدمات‬ ‫تربط‬ ‫عالقات‬ ‫يوجد‬ ‫المخطط‬ ‫هذا‬ ‫في‬ –Include. –Extent. –Generalization. 94
  • 95. Unified Modeling Language (UML) Activity Diagram ■‫يعتبر‬middle abstract‫يتم‬ ‫كيف‬ ‫االستخدام‬ ‫حاالت‬ ‫من‬ ‫حالة‬ ‫كل‬ ‫يرى‬ ‫حيث‬‫ضمن‬ ‫تحقيقها‬ ‫االستخدام‬ ‫حالة‬ ‫مثل‬ ‫النظام‬login. ■‫ال‬ ‫يعبر‬activity Diagram‫األحداث‬ ‫دفق‬ ‫أي‬ ‫خدمة‬ ‫بكل‬ ‫المشمولة‬ ‫النشاطات‬ ‫كل‬ ‫عن‬ (flow of events)‫االعتبار‬ ‫بعين‬ ‫الفشل‬ ‫و‬ ‫النجاح‬ ‫نأخذ‬ ‫و‬ ‫خدمة‬ ‫كل‬ ‫في‬. 95
  • 96. Unified Modeling Language (UML) Sequence Diagram ■‫تحت‬ ‫يندرج‬ ‫المخطط‬ ‫هذا‬ ‫نعتبر‬behavioral + Interaction‫خدمة‬ ‫كل‬ ‫أجل‬ ‫من‬ ‫ألنه‬ ‫ذلك‬ ‫و‬ ‫ال‬ ‫ماهي‬ ‫يحدد‬objects‫الرسائل‬ ‫يحدد‬ ‫أنه‬ ‫كما‬ ‫الخدمة‬ ‫بتلك‬ ‫المشمولة‬Messages‫بين‬ ‫ال‬ ‫تلك‬objects‫النظام‬ ‫بنية‬ ‫إلى‬ ‫دخلنا‬ ‫قد‬ ‫نكون‬ ‫هنا‬ ‫و‬ ‫النظام‬ ‫بين‬ ‫و‬. ■‫ال‬ ‫تسلسل‬ ‫يكون‬ ‫كما‬messages‫تسلسل‬ ‫و‬ ‫معينة‬ ‫أحداث‬ ‫ترتيب‬ ‫و‬ ‫معين‬ ‫زمن‬ ‫وفق‬ ‫األسفل‬ ‫إلى‬ ‫األعلى‬ ‫من‬ ‫يقرأ‬ ‫األحداث‬. ■‫المخطط‬ ‫بهذا‬ ‫التجريد‬ ‫يعتبر‬ ‫و‬very low. 96
  • 97. Unified Modeling Language (UML) Collaboration Diagram (‫التعاوني‬ ‫)المخطط‬ ■‫ال‬ ‫يشبه‬sequence‫فقط‬ ‫يهتم‬ ‫التعاوني‬ ‫المخطط‬ ‫أما‬ ‫الزمني‬ ‫بالبعد‬ ‫يهتم‬ ‫األخير‬ ‫لكن‬ ‫الزمن‬ ‫بموضوع‬ ‫االهتمام‬ ‫دون‬ ‫فقط‬ ‫بالترقيم‬ ‫أو‬ ‫الرسائل‬ ‫بتسلسل‬. 97
  • 98. Unified Modeling Language (UML) Class Diagram ■‫عامة‬ ‫صفوف‬ ‫ثالثة‬ ‫إلى‬ ‫الصفوف‬ ‫توزيع‬ ‫مبدأ‬: –‫ال‬ ‫صفوف‬Entity : ■‫بال‬ ‫عالقة‬ ‫لهم‬data base‫طيران‬ ‫حجز‬ ‫نظام‬ ‫مثل‬online،‫هو‬ ‫المسافر‬Entity‫يعتبر‬ ‫و‬ ‫كصف‬. –‫ال‬ ‫صف‬Interface: ■‫المستخدم‬ ‫معها‬ ‫يتعامل‬ ‫التي‬ ‫النظام‬ ‫واجهة‬ ‫هو‬. –‫ال‬ ‫صف‬behavior : ■‫ال‬ ‫يحوي‬ ‫الذي‬ ‫الصف‬ ‫هو‬method‫ا‬ ‫صفوف‬ ‫من‬ ً‫كال‬ ‫اكتشاف‬ ‫يتم‬ ‫و‬ ،‫النظام‬ ‫بها‬ ‫يقوم‬ ‫التي‬‫ل‬ interface‫ال‬ ‫و‬behavior‫النظام‬ ‫تحليل‬ ‫مرحلة‬ ‫في‬. –‫صف‬ ‫مثل‬ ‫ملموسة‬ ‫ليست‬ ‫و‬ ‫مجردة‬ ‫صفوف‬ ‫وجود‬ ‫االعتبار‬ ‫بعين‬ ‫نأخذ‬ ‫بالطبع‬ ‫و‬(‫ال‬‫حجز‬) ‫الحجز‬ ‫نظام‬ ‫في‬ ‫هام‬ ‫صف‬ ‫لكنه‬ ‫و‬ ‫فيزيائي‬ ‫وجود‬ ‫له‬ ‫ليس‬online ■‫البطاقات‬ ‫مبدأ‬CRC :‫ل‬ ‫اختصار‬ ‫هو‬ ‫و‬Card Responsibility Corporation 98
  • 99. Unified Modeling Language (UML) Class Diagram ■‫مالحظة‬: –‫ال‬ ‫كل‬ ‫يكون‬ ‫أن‬ ‫يجب‬ ‫التصميم‬ ‫لمرحلة‬ ‫الوصول‬ ‫عند‬classes‫ال‬ ‫أما‬ ‫معروفة‬ ‫أصبحت‬ ‫قد‬ attribute‫ال‬ ‫و‬method‫النقصان‬ ‫أو‬ ‫للزيادة‬ ‫قابلة‬ ‫صف‬ ‫بكل‬ ‫الخاصة‬. –‫ال‬ ‫تصفية‬ ‫أثناء‬ ‫لدينا‬ ‫ظهر‬ ‫إذا‬classes‫آلية‬ ‫بواسطة‬CRC Unique class‫كالس‬ ‫أي‬ ً‫فورا‬ ‫بحذفة‬ ‫نقوم‬ ‫أحد‬ ‫مع‬ ‫مسؤولياته‬ ‫يتشارك‬ ‫ال‬ ‫و‬ ‫بذاته‬ ‫ومستقل‬ ‫متفرد‬. 99
  • 100. Unified Modeling Language (UML) State Diagram ■‫لدراسة‬ ‫النظام‬ ‫هذا‬ ‫يتوجه‬object‫النظام‬ ‫حياة‬ ‫دورة‬ ‫أثناء‬ ‫بها‬ ‫يمر‬ ‫التي‬ ‫الحاالت‬ ‫و‬ ‫معين‬. ■‫مثال‬:‫الكهرباء‬ ‫زر‬ –‫هما‬ ‫اثنتين‬ ‫حالتين‬ ‫له‬on‫و‬off. –‫تكون‬ ‫البدائية‬ ‫الحالة‬off‫لحالة‬ ‫ينتقل‬ ‫الزر‬ ‫على‬ ‫بالضغط‬ ‫و‬on‫بالعكس‬ ‫و‬. 100
  • 101. Question 1 ■ What is an object? A. An object is an instance of a class. B. An object includes encapsulation of data. C. An object is not an instance of a class. D. All of the mentioned. 101
  • 102. Question 1 ■ What is an object? A. An object is an instance of a class. B. An object includes encapsulation of data. C. An object is not an instance of a class. D. All of the mentioned. 102
  • 103. Question 2 ■ What is an abstract class? A. A class that has direct instances, but whose descendants may have direct instances. B. A class that has direct instances, but whose descendants may not have direct instances. C. A class that has no direct instances, but whose descendants may have direct instances. D. All of the mentioned. 103
  • 104. Question 2 ■ What is an abstract class? A. A class that has direct instances, but whose descendants may have direct instances. B. A class that has direct instances, but whose descendants may not have direct instances. C. A class that has no direct instances, but whose descendants may have direct instances. D. All of the mentioned. 104
  • 105. Question 3 ■ Which of the following are the valid relationships in Use Case Diagrams A. Generalization. B. Include. C. Extend. D. All of the mentioned. 105
  • 106. Question 3 ■ Which of the following are the valid relationships in Use Case Diagrams A. Generalization. B. Include. C. Extend. D. All of the mentioned. 106
  • 107. Question 4 ■ What is a collection of operations that specify a service of a class or component? A. Use Case. B. Actor. C. Interface. D. Relationship. 107
  • 108. Question 4 ■ What is a collection of operations that specify a service of a class or component? A. Use Case. B. Actor. C. Interface. D. Relationship. 108
  • 109. Question 5 ■ Which diagram in UML emphasizes the time-ordering of messages? A. Activity. B. Sequence. C. Collaboration. D. Class. 109
  • 110. Question 5 ■ Which diagram in UML emphasizes the time-ordering of messages? A. Activity. B. Sequence. C. Collaboration. D. Class. 110
  • 111. Question 6 ■ If you are working on real-time process control applications or systems that involve concurrentprocessing, you would use a A. Activity diagram. B. Sequence diagram. C. State diagram. D. Object diagram. 111
  • 112. Question 6 ■ If you are working on real-time process control applications or systems that involve concurrentprocessing, you would use a A. Activity diagram. B. Sequence diagram. C. State diagram. D. Object diagram. 112
  • 113. Question 7 ■ Which diagram shows the configuration of run-time processingelements? A. Deployment diagram. B. Componentdiagram. C. Node diagram. D. ER-diagram. 113
  • 114. Question 7 ■ Which diagram shows the configuration of run-time processingelements? A. Deployment diagram. B. Componentdiagram. C. Node diagram. D. ER-diagram. 114
  • 115. Question 8 ■ Which of the following term is best defined by the statement: ”a structural relationship that specifies that objects of one thing are connected to objects of another”? A. Association. B. Aggregation. C. Realization. D. Generalization. 115
  • 116. Question 8 ■ Which of the following term is best defined by the statement: ”a structural relationship that specifies that objects of one thing are connected to objects of another”? A. Association. B. Aggregation. C. Realization. D. Generalization. 116
  • 117. Question 9 ■ Which of the following UML diagrams has a static view? A. Collaboration. B. Use case. C. State chart. D. Activity. 117
  • 118. Question 9 ■ Which of the following UML diagrams has a static view? A. Collaboration. B. Use case. C. State chart. D. Activity. 118
  • 119. Question 10 ■ What type of core-relationshipis represented by the symbol in the figure below? A. Aggregation. B. Dependency. C. Generalization. D. Association. 119
  • 120. Question 10 ■ What type of core-relationshipis represented by the symbol in the figure below? A. Aggregation. B. Dependency. C. Generalization. D. Association. 120
  • 121. Question 11 ■ Which core element of UML is being shown in the figure? A. Node. B. Interface. C. Class. D. Component. 121
  • 122. Question 11 ■ Which core element of UML is being shown in the figure? A. Node. B. Interface. C. Class. D. Component. 122
  • 123. Question 12 ■ What type of relationship is represented by Shape class and Square ? A. Realization. B. Generalization. C. Aggregation. D. Dependency. 123
  • 124. Question 12 ■ What type of relationship is represented by Shape class and Square ? A. Realization. B. Generalization. C. Aggregation. D. Dependency. 124
  • 125. Question 13 ■ Which of the following diagram is time oriented? A. Collaboration. B. Sequence. C. Activity. D. None of the mentioned. 125
  • 126. Question 13 ■ Which of the following diagram is time oriented? A. Collaboration. B. Sequence. C. Activity. D. None of the mentioned. 126
  • 128. Coupling V.S. Cohesion ■‫ال‬ ‫تعريف‬component: –‫ال‬component‫ل‬ ‫رديفة‬ ‫كلمة‬ ‫هو‬sub system‫ال‬ ‫و‬sub system‫و‬ ‫أكثر‬ ‫أو‬ ‫خدمة‬ ‫يقدم‬ ‫ال‬ ‫فإن‬ ‫لذلك‬component‫عن‬ ‫عبارة‬ ‫هو‬block of code‫عدة‬ ‫أو‬ ‫واحدة‬ ‫خدمة‬ ‫يقدم‬ ‫خدمات‬. ■‫ال‬ ‫انوع‬component: –Large grain ■‫هو‬component‫هو‬ ‫آخر‬ ‫بمعنى‬ ‫أي‬ ‫كبيرة‬ ‫مهام‬ ‫و‬ ‫وظائف‬ ‫يقدم‬code‫متعددة‬ ‫خدمات‬ ‫يقدم‬. –Fine grain ■‫هو‬code‫األكثر‬ ‫على‬ ‫اثنين‬ ‫أو‬ ‫مهمة‬ ‫صغيرة‬ ‫مهمات‬ ‫يقدم‬. –‫مالحظات‬: ■‫نستخدم‬ ‫عندما‬large grain‫االلتحام‬ ‫مفهوم‬ ‫نحقق‬ ‫فنحن‬(cohesion.)‫التجانس‬ ■‫نستخدم‬ ‫عندما‬fine grain‫االقتران‬ ‫مفهوم‬ ‫نحقق‬ ‫فنحن‬(coupling.)‫الترابط‬ 128
  • 129. Coupling V.S. Cohesion ■‫ال‬ ‫من‬ ً‫كال‬ ‫يعني‬ ‫ماذا‬cohesion‫ال‬ ‫و‬coupling‫؟‬ –Cohesion: ■‫ال‬ ‫يقدمها‬ ‫التي‬ ‫الوظائف‬ ‫أن‬ ‫أي‬component‫و‬ ‫البعض‬ ‫بعضها‬ ‫مع‬ ‫متالحمة‬‫أكواد‬‫هذه‬ ‫على‬ ‫تعتمد‬ ‫ال‬ ‫و‬ ‫البعض‬ ‫بعضها‬ ‫على‬ ‫معتمدة‬ ‫الخدمات‬‫أكواد‬‫ال‬ ‫خارج‬component –:coupling ■‫استخدام‬ ‫فعند‬fine grain‫ال‬ ‫أن‬ ‫يعني‬component‫خدمتين‬ ‫أو‬ ‫صغيرة‬ ‫خدمة‬ ‫يقدم‬ ‫الواحد‬ ‫ال‬ ‫هذا‬ ‫من‬ ‫معينة‬ ‫خدمة‬ ‫طلب‬ ‫فعند‬ ‫األكثر‬ ‫على‬component‫و‬ ‫االتصال‬ ‫إلى‬ ‫سيضطر‬ ‫ال‬ ‫باقي‬ ‫مع‬ ‫االقتران‬component‫ال‬ ‫ب‬ ‫نسميه‬ ‫ما‬ ‫هذا‬ ‫و‬ ‫الخدمة‬ ‫هذه‬ ‫لتلبية‬coupling 129
  • 131. Coupling V.S. Cohesion ■‫المحتوى‬ ‫تقارن‬: –‫أخرى‬ ‫برنامج‬ ‫لوحدة‬ ‫الداخلية‬ ‫األعمال‬ ‫على‬ ‫تعتمد‬ ‫أو‬ ‫برنامج‬ ‫وحدة‬ ‫تعدل‬ ‫عندما‬ ‫المحتوى‬ ‫تقارن‬ ‫يكون‬ –‫مثال‬:‫أخرى‬ ‫برنامج‬ ‫بوحدة‬ ‫خاصة‬ ‫بيانات‬ ‫إلي‬ ‫الدخول‬. ■‫شائع‬ ‫تقارن‬: –‫يكون‬‫التقارن‬‫اإلجمالية‬ ‫البيانات‬ ‫نفس‬ ‫للبرامج‬ ‫وحدتان‬ ‫تتقاسم‬ ‫عندما‬ ‫الشائع‬(‫العام‬ ‫المتغير‬ ‫مثل‬.) ■‫خارجي‬ ‫تقارن‬: –‫يحدث‬‫التقارن‬‫البين‬ ‫الوصلة‬ ‫أو‬ ،‫االتصال‬ ‫وبروتوكول‬ ،‫الخارج‬ ‫من‬ ‫المفروضة‬ ‫البيانات‬ ‫صيغة‬ ‫وحدتان‬ ‫تتقاسم‬ ‫عندما‬ ‫الخارجي‬‫للجهاز‬ ‫ية‬. ■‫التحكم‬ ‫تقارن‬: –‫تفعله‬ ‫أن‬ ‫عليها‬ ‫لما‬ ‫لها‬ ‫معلومات‬ ‫تمرير‬ ‫خالل‬ ‫من‬ ،‫أخرى‬ ‫وحدة‬ ‫تدفق‬ ‫في‬ ‫وحدة‬ ‫تحكم‬. ■‫الطابع‬ ‫تقارن‬( :‫البيانات‬ ‫مركب‬ ‫تقارن‬) –‫مختلفا‬ ‫جزء‬ ‫وربما‬ ‫منه‬ ‫جزء‬ ‫فقط‬ ‫وتستخدم‬ ‫مركبة‬ ‫بيانات‬ ‫هيكل‬ ‫وحدتان‬ ‫تتقاسم‬ ‫عندما‬ ‫الطابع‬ ‫تقارن‬ ‫يكون‬. –‫مثل‬:‫منه‬ ‫واحدة‬ ‫خانة‬ ‫فقط‬ ‫تحتاج‬ ‫لوظيفة‬ ‫كامل‬ ‫سجل‬ ‫تمرير‬. ■‫البيانات‬ ‫تقارن‬: –‫مثال‬ ‫خالل‬ ‫من‬ ‫البيانات‬ ‫وحدتان‬ ‫تتقاسم‬ ‫عدما‬ ‫البيانات‬ ‫تقارن‬ ‫يكون‬:‫وسيطة‬ ‫قيمة‬parameters،‫أساسي‬ ‫هو‬ ‫البيانات‬ ‫من‬ ‫جزء‬ ‫فكل‬ ‫فقط‬ ‫المشتركة‬ ‫البيانات‬ ‫هي‬ ‫وهذه‬(‫تربيعي‬ ‫جذرا‬ ‫تحسب‬ ‫لوظيفة‬ ‫صحيح‬ ‫عدد‬ ‫تمرير‬ ،‫مثال‬.) 131
  • 132. Architectural Pattern (‫المعمارية‬ ‫)األنماط‬ ■MVC: –‫لكلمات‬ ‫اختصار‬(Model View Controller.) –‫الويب‬ ‫تطبيقات‬ ‫لكل‬ ‫مناسب‬ ‫النمط‬ ‫هذا‬. –‫عملها؟‬ ‫مبدأ‬ ■‫لدينا‬view‫ال‬ ‫صفحات‬ ‫مثل‬ ‫للمستخدم‬ ‫ستظهر‬ ‫التي‬ ‫التابعة‬ ‫الواجهات‬ ‫مع‬ ‫للتعامل‬html ‫نظامنا‬ ‫كان‬ ‫إذا‬ ‫العادية‬web. ■‫ال‬ ‫لدينا‬Model‫بتطبيقنا‬ ‫الخاصة‬ ‫المعطيات‬ ‫قواعد‬ ‫مع‬ ‫التعامل‬ ‫عن‬ ‫مسؤولة‬ ‫هي‬ ‫و‬.‫أي‬ ‫هي‬code‫ال‬ ‫مع‬ ‫للتواصل‬data base. ■‫لدينا‬controller‫ال‬ ‫بين‬ ‫وصل‬ ‫كصلة‬ ‫مخصص‬ ‫هو‬ ‫و‬Model‫ال‬ ‫و‬view. 132
  • 133. Architectural Pattern (‫المعمارية‬ ‫)األنماط‬ ■‫الطبقية‬ ‫المعمارية‬( :architecturelayered) –‫ال‬ ‫تقسيم‬ ‫يتم‬ ‫المعمارية‬ ‫بهذه‬code‫الواحدة‬ ‫الطبقة‬ ‫ضمن‬ ‫نضع‬ ‫و‬ ‫طبقات‬ ‫لمجموعة‬ ‫لدينا‬ ‫أي‬ ، ‫البعض‬ ‫بعضها‬ ‫مع‬ ‫المنسجمة‬ ‫الخدمات‬ ‫مجموعة‬large grain‫طبقة‬ ‫كل‬ ‫في‬ ‫هام‬ ‫معينة‬ ‫خدمة‬ ‫طبقة‬ ‫بكل‬ ‫و‬ ‫الطبقات‬ ‫من‬ ‫كبير‬ ‫عدد‬ ‫لدينا‬ ‫يكون‬ ‫أن‬ ‫الممكن‬ ‫من‬ ‫و‬‫ة‬. –‫منا‬ ‫تطلب‬ ‫عندما‬ ‫النمط‬ ‫هذا‬ ‫استخدام‬ ‫يمكن‬security‫المهمة‬ ‫المعلومات‬ ‫نضع‬ ‫و‬ ‫عالية‬ ‫الداخلية‬ ‫بالطبقات‬. –‫ال‬ ‫تجعل‬ ‫أنها‬ ‫مشكلتها‬performance‫أبطئ‬. 133
  • 134. Architectural Pattern (‫المعمارية‬ ‫)األنماط‬ ■‫المخزن‬ ‫معمارية‬( :repository architecture) –‫لدينا‬ ‫يكون‬ ‫عندما‬ ‫المعمارية‬ ‫هذه‬ ‫تستخدم‬data‫ال‬ ‫كل‬ ‫و‬ ‫مركزية‬ ‫معينة‬component‫و‬ ‫ال‬sub system‫ال‬ ‫هذه‬ ‫استخدام‬ ‫تريد‬data‫جميع‬ ‫نجعل‬ ‫و‬ ‫بمخزن‬ ‫بوضعها‬ ‫نقوم‬ ‫لذلك‬ ‫ال‬component‫المخزن‬ ‫هذا‬ ‫مع‬ ‫تتصل‬. 134
  • 135. Architectural Pattern (‫المعمارية‬ ‫)األنماط‬ ■server / client architecture: –‫لها‬ ‫و‬ ‫الخدمات‬ ‫مجموعة‬ ‫يقدم‬ ‫الذي‬ ‫المخدم‬ ‫بين‬ ‫و‬ ‫الخدمة‬ ‫طالب‬ ‫بين‬ ‫الفصل‬ ‫هي‬ ‫أنواع‬thin‫و‬flat. 135
  • 136. Architectural Pattern (‫المعمارية‬ ‫)األنماط‬ ■‫المرشح‬ ‫األنبوب‬ ‫معمارية‬( :pipe and filter architecture) –‫بشكل‬ ‫تتم‬ ‫نظامنا‬ ‫في‬ ‫المعالجة‬ ‫لدينا‬ ‫يكون‬ ‫عندما‬ ‫المعمارية‬ ‫هذه‬ ‫استخدام‬ ‫يتم‬ ‫بالمرحلة‬ ‫مرورنا‬ ‫من‬ ‫نتأكد‬ ‫أن‬ ‫قبل‬ ‫التالية‬ ‫المرحلة‬ ‫إلى‬ ‫ننتقل‬ ‫ال‬ ‫أي‬ ‫تسلسلي‬ ‫تتكون‬ ‫حيث‬ ، ‫لها‬ ‫السابقة‬‫معماريتنا‬‫ومرشحات‬ ‫أنابيب‬ ‫مجموعة‬ ‫من‬. 136
  • 137. Architectural Pattern (‫المعمارية‬ ‫)األنماط‬ ■‫التالية؟‬ ‫للتطبيقات‬ ‫المناسبة‬ ‫المعمارية‬ ‫حدد‬ –Web base application: ■‫هو‬ ‫المناسب‬3tiers‫رمع‬MVC‫فيه‬ ‫موقع‬ ‫كان‬ ‫إذا‬ ‫ذلك‬ ‫و‬dynamic process(‫معالجة‬ ‫ديناميكية‬)‫ال‬ ‫صفحات‬ ‫لعرض‬ ‫موقع‬ ‫فقط‬ ‫ليس‬ ‫و‬ ‫للمعطيات‬html –‫االلكترونية‬ ‫للتجارة‬ ‫موقع‬:e-commercereservation ■‫ل‬ ‫شيء‬ ‫أقل‬ ‫إلى‬ ‫بحاجة‬ ‫نحن‬4tiers‫فيتصل‬ ‫الموقع‬ ‫في‬ ‫تتوافر‬ ‫ال‬ ‫أو‬ ‫مواد‬ ‫تنقص‬ ‫قد‬ ‫ألن‬ ‫مع‬‫مخدمات‬‫أي‬ ، ‫للزبون‬ ‫لتوفيرها‬ ‫أخرى‬3tiers‫فوق‬ ‫ما‬ ‫و‬. ■‫كذلك‬ ‫و‬MVC‫مثل‬ ‫كبيرة‬ ‫معالجات‬ ‫لوجود‬ ‫إجباري‬:‫و‬ ‫االلكتروني‬ ‫الدفع‬ ‫بالبنك‬ ‫االتصال‬ ‫ال‬ ‫رقم‬ ‫كون‬ ‫من‬ ‫التأكد‬credit card‫صحيح‬. –‫اللغات‬ ‫معالجة‬ ‫نظام‬: ■‫األنبوب‬ ‫و‬ ‫المرشح‬ ‫أسلوب‬ ‫نستخدم‬. 137
  • 138. Interfaces ■‫تعريفها‬: –‫المستخدمين‬ ‫حصول‬ ‫مكان‬External Entities‫النظام‬ ‫يقدمها‬ ‫التي‬ ‫الوظائف‬ ‫على‬. –‫ال‬ ‫مثل‬ ‫النظام‬ ‫مع‬ ‫األخرى‬ ‫األنظمة‬ ‫بين‬ ‫للتواصل‬ ‫وسيلة‬API‫ل‬ ‫اختصار‬ ‫وهي‬ Application Program Interface‫ثاني‬ ‫ونظام‬ ‫نظام‬ ‫بين‬ ‫تواصل‬ ‫واجهة‬ ‫أي‬. ■‫ال‬ ‫تقسم‬Interface‫إلى‬: –User Interface:‫النظام‬ ‫مع‬ ‫للتفاعل‬ ‫للمستخدم‬ ‫واجهة‬. –System Interface:‫ل‬ ‫واجهة‬System‫النظام‬ ‫مع‬ ‫ليتفاعل‬. 138
  • 139. Question 1 ■ The worst type of coupling is: A. data coupling. B. control coupling. C. stamp coupling. D. content coupling. 139
  • 140. Question 1 ■ The worst type of coupling is: A. data coupling. B. control coupling. C. stamp coupling. D. content coupling. 140
  • 141. Question 2 ■ The desired level of coupling is: A. No coupling. B. Control coupling. C. Common coupling. D. Data coupling. 141
  • 142. Question 2 ■ The desired level of coupling is: A. No coupling. B. Control coupling. C. Common coupling. D. Data coupling. 142
  • 143. Question 3 ■ Coupling and cohesion can be represented using a A. cause-effectgraph. B. dependencematrix. C. structurechart. D. SRS. 143
  • 144. Question 3 ■ Coupling and cohesion can be represented using a A. cause-effectgraph. B. dependencematrix. C. structurechart. D. SRS. 144
  • 145. Question 4 ■ Modules X and Y operate on the same input and output data, then the cohesion is A. Sequential. B. Communicational. C. Procedural. D. Logical. 145
  • 146. Question 4 ■ Modules X and Y operate on the same input and output data, then the cohesion is A. Sequential. B. Communicational. C. Procedural. D. Logical. 146
  • 148. Testing & Maintenance ■‫المهمة‬ ‫المصطلحات‬ ‫بعض‬: –‫خطأ‬(error.) –‫عيب‬(fault.) –‫فشل‬(failure.) –‫كلمة‬ ‫إطالق‬ ‫يتم‬ ‫كما‬BUG‫ال‬ ‫من‬ ‫كل‬ ‫على‬ERROR‫و‬FAULT‫وكلمة‬DEFECT‫على‬ FAILURE. 148
  • 149. Testing & Maintenance ■‫ال‬error‫البشري‬ ‫العنصر‬ ‫أخطاء‬ ‫من‬ ‫ينشأ‬. ■‫ال‬fault‫ال‬ ‫لداخل‬ ‫اإلنسان‬ ‫ارتكبه‬ ‫الذي‬ ‫الخطأ‬ ‫انتقال‬ ‫عند‬code‫اسمه‬ ‫يصبح‬(‫عيب‬.) –‫أمرين‬ ‫أمام‬ ‫هنا‬ ‫ونحن‬: ■‫العيب‬ ‫هذا‬‫داخل‬ ‫أو‬ ‫معينة‬ ‫إجرائية‬ ‫بداخل‬ ‫يكون‬ ‫قد‬ ‫التنفيذ‬ ‫عملية‬ ‫أثناء‬case‫شرط‬ ‫أو‬if ‫التنفيذ‬ ‫في‬ ‫فشل‬ ‫لدي‬ ‫يظهر‬ ‫ال‬ ‫وعندها‬ ‫يتنفذ‬ ‫أال‬ ‫فيمكن‬ ‫معين‬failure. ■‫ل‬ ‫يصبح‬ ‫الحالة‬ ‫بهذه‬ ‫وعندها‬ ‫منطقية‬ ‫غير‬ ‫نتيجة‬ ‫على‬ ‫ونحصل‬ ‫يتنفذ‬ ‫أن‬ ‫له‬ ‫يمكن‬ ‫أو‬‫دي‬ ‫وهو‬ ‫النظام‬ ‫في‬ ‫فشل‬failure. ■‫الفشل‬failure‫الم‬ ‫القيمة‬ ‫مع‬ ‫الفعلية‬ ‫القيمة‬ ‫اختالف‬ ‫وهو‬ ‫التنفيذ‬ ‫عند‬ ‫نلمسه‬ ‫ما‬ ‫هو‬‫توقعة‬. 149
  • 150. Testing & Maintenance ■Test-Data: –‫ال‬ ‫مجموعة‬ ‫هي‬data‫إلجراء‬ ‫ندخلها‬ ‫التي‬testing‫معين‬. ■Test-Case: –‫ال‬ ‫مجموعة‬ ‫هي‬data‫التوقع‬ ‫إلى‬ ‫باإلضافة‬ ‫المدخلة‬(‫النتيجة‬ ‫توقع‬)‫أجل‬ ‫من‬ ‫وذلك‬ ‫الفعلية‬ ‫والقيمة‬ ‫المتوقعة‬ ‫القيمة‬ ‫بين‬ ‫ما‬ ‫المقارنة‬. ■Test-Suite: –‫ال‬ ‫جميع‬ ‫مجموعة‬ ‫هي‬Test-Case‫نطبقها‬ ‫التي‬. ■Testing: –‫أخطاء‬ ‫إيجاد‬ ‫بهدف‬ ‫النظام‬ ‫اختبار‬ ‫إجرائية‬ ‫هي‬"‫ال‬ ‫من‬ ‫الغاية‬ ‫حيث‬testing‫ليست‬ ً‫أبدا‬ ‫العكس‬ ‫بل‬ ‫النظام‬ ‫في‬ ‫أخطاء‬ ‫وجود‬ ‫عدم‬ ‫إثبات‬." ■Debugging: –‫تالية‬ ‫مرحلة‬ ‫هي‬‫لل‬Testing‫ال‬ ‫يكون‬ ‫عندما‬ ‫حيث‬Testing‫األخطاء‬ ‫بإصالح‬ ‫نقوم‬ ً‫ناجحا‬ ‫ال‬ ‫مرحلة‬ ‫في‬ ‫اكتشفناها‬ ‫التي‬debugging 150
  • 151. Verification and Validation ■Verification:‫التحقق‬ –‫ما‬ ‫بمطابقة‬ ‫نقوم‬ ‫النظام‬ ‫تطوير‬ ‫مراحل‬ ‫من‬ ‫مرحلة‬ ‫كل‬ ‫في‬ ‫ومستمر‬ ‫دائم‬ ‫عمل‬ ‫هو‬ ‫المتطلبات‬ ‫مع‬ ‫نطوره‬specification‫في‬ ً‫فمثال‬ ،‫المرحلة‬ ‫بداية‬ ‫في‬ ‫وضعناها‬ ‫التي‬ ‫المتطلبات‬ ‫مع‬ ‫ومتطابق‬ ‫متوافق‬ ‫اآلن‬ ‫إلى‬ ‫طورنا‬ ‫ما‬ ‫هل‬ ‫نرى‬ ‫التحليل‬ ‫مرحلة‬ ‫نهاية‬ ‫صممناه‬ ‫ما‬ ‫هل‬ ‫نرى‬ ‫التصميم‬ ‫مرحلة‬ ‫نهاية‬ ‫وفي‬ ‫النظام؟‬ ‫من‬ ‫المطلوبة‬ ‫والمواصفات‬ ‫ال‬ ‫مع‬ ‫ومتطابق‬ ‫متوافق‬design document‫وضعناها؟‬ ‫التي‬ ■‫مرحلة‬ ‫كل‬ ‫نهاية‬ ‫في‬ ‫نفسنا‬ ‫نسال‬ ‫أي‬: –Are we building the product right? 151
  • 152. Verification and Validation ■Validation:‫التثبت‬ –‫وال‬ ‫الوثائق‬ ‫نرى‬ ‫مرحلة‬ ‫كل‬ ‫آخر‬ ‫ففي‬document‫عليه‬ ‫اتفقنا‬ ‫ما‬ ‫توافق‬ ‫هل‬ ‫لدينا‬ ‫التي‬ ‫إما‬ ‫المنتج‬ ‫أن‬ ‫نقول‬ ‫وهنا‬ ‫المراحل‬ ‫من‬ ‫مرحلة‬ ‫كل‬ ‫نهاية‬ ‫في‬ ‫يتم‬ ‫عمل‬ ‫وهو‬ ‫الزبون؟‬ ‫مع‬ ‫رفض‬ ‫أو‬ ‫نجح‬. ■‫كالتالي‬ ‫يكون‬ ‫والسؤال‬: –Are we build the right product? 152
  • 153. Testing Levels ■‫ولدينا‬ ‫الكبيرة‬ ‫إلى‬ ً‫صعودا‬ ‫الصغيرة‬ ‫المكونات‬ ‫من‬ ‫نبدأ‬4‫من‬ ‫أنواع‬‫االختبارات‬: ■‫اختبار‬‫الواحدات‬(Unit testing:) –‫نعتبر‬ ‫التقليدية‬ ‫المنهجية‬ ‫في‬‫الواحدات‬‫ال‬ ‫هي‬functions‫الخدمات‬ ‫تؤدي‬ ‫التي‬. –‫كون‬ ‫حال‬ ‫في‬ ‫أما‬‫التوجه‬ ‫غرضية‬ ‫المنهجية‬ ‫هي‬ ‫المنهجية‬oop‫أن‬ ‫نعتبر‬‫الواحدات‬‫هي‬ ‫ال‬class‫مجموعة‬ ‫أو‬classes‫واحدة‬ ‫خدمة‬ ‫تقدم‬. –‫كانت‬ ‫إذا‬‫منهجيتنا‬‫تكون‬ ‫البرمجية‬ ‫بالمكونات‬ ‫المقادة‬‫الواحدات‬‫ال‬ ‫هي‬component. –‫يقوم‬‫تعمل‬ ‫كانت‬ ‫إن‬ ‫ويرى‬ ‫حدى‬ ‫على‬ ‫واحدة‬ ‫كل‬ ‫ويخبر‬ ‫المبرمج‬ ‫االختبار‬ ‫بهذا‬‫بشكل‬ ‫ال‬ ‫أو‬ ‫سليم‬. ■‫التكامل‬ ‫اختبار‬(integration testing:) –‫اسم‬ ‫البعض‬ ‫عليه‬ ‫يطلق‬Component Testing‫باختبار‬ ‫به‬ ‫نقوم‬ ‫الذي‬ ‫االختبار‬ ‫وهو‬‫الواحدات‬ ‫البعض؟‬ ‫بعضها‬ ‫مع‬ ‫تعمل‬ ‫هل‬ –‫ال‬ ‫بعمليات‬ ‫مختص‬ ‫فريق‬ ‫بمساعدة‬ ‫المبرمج‬ ‫االختبار‬ ‫بهذا‬ ‫يقوم‬Testing ■‫األساسية‬ ‫الوظائف‬ ‫اختبار‬ ‫على‬ ‫السابقين‬ ‫النوعين‬ ‫في‬ ‫التركيز‬ ‫يتم‬. 153
  • 154. Testing Levels ■‫التكامل‬ ‫الختبارات‬ ‫أنواع‬ ‫ثالث‬ ‫هناك‬: –Top down ■‫أو‬ ‫كبيرة‬ ‫وحدة‬ ‫لدينا‬ ‫يكون‬ ‫أن‬ ‫عبارة‬ ‫وهو‬component‫على‬ ‫االشراف‬ ‫عن‬ ‫مسؤول‬ ‫معين‬ ‫مجموعة‬‫واحدات‬units‫األص‬ ‫الوحدات‬ ‫إلى‬ ً‫نزوال‬ ‫الكبيرة‬ ‫الوحدة‬ ‫باختبار‬ ‫نبدأ‬ ‫وهنا‬ ‫صغيرة‬‫غر‬ ‫منها‬. –Button up ■‫من‬ ‫باالختبار‬ ‫نبدأ‬‫الواحدات‬‫األس‬ ‫وهو‬ ‫الكبيرة‬ ‫الوحدة‬ ‫إلى‬ ‫نصل‬ ‫حتى‬ ً‫صعودا‬ ‫الصغيرة‬‫هل‬ ً‫اعتمادا‬ ‫واألكثر‬. –Sandwish ■‫األعلى‬ ‫من‬ ‫باالختبارات‬ ‫يبدأ‬ ‫قسم‬ ‫لقسمين‬ ‫يقسم‬ ‫التطوير‬ ‫فريق‬top down‫يبدأ‬ ‫وقسم‬ ‫األسفل‬ ‫من‬ ‫االختبارات‬button up‫الطريق‬ ‫منتصف‬ ‫في‬ ‫الطرفين‬ ‫ويلتقي‬. 154
  • 155. Testing Levels ■‫النظام‬ ‫اختبار‬(systemtesting:) –‫االخت‬ ‫من‬ ‫المرحلة‬ ‫بهذه‬ ‫التركيز‬ ‫ويتم‬ ‫ذاته‬ ‫بحد‬ ‫النظام‬ ‫اختبار‬ ‫يتم‬ ‫االختبار‬ ‫بهذا‬‫بارات‬ ‫مثل‬ ‫الوظيفية‬ ‫غير‬ ‫الخدمات‬ ‫على‬: ■Reusability Testing ■Performance Testing ■Security Testing ■Recovering Testing ■Stress Testing 155
  • 156. Testing Levels ■‫االختبار‬‫العودي‬(regression testing:) –‫النظام‬ ‫في‬ ‫أخطاء‬ ‫اكتشاف‬ ‫عن‬ ‫و‬ ‫النظام‬ ‫في‬ ‫االخطاء‬ ‫بكشف‬ ‫يقوم‬ ‫الناجح‬ ‫االختبار‬ ‫ال‬ ‫مرحلة‬ ‫إلى‬ ‫األخطاء‬ ‫بتحويل‬ ‫نقوم‬debugging‫األخطاء‬ ‫هذه‬ ‫تصحيح‬ ‫مرحلة‬ ‫وهي‬ ‫عملية‬ ‫بإجراء‬ ‫أخرى‬ ‫مرة‬ ‫نقوم‬ ‫أن‬ ‫علينا‬ ‫األخطاء‬ ‫تصليح‬ ‫بعد‬ ‫لكن‬Testing‫تتضمن‬ ‫جديدة‬ ‫ال‬data‫إل‬ ‫القديمة‬ ‫األخطاء‬ ‫تصليح‬ ‫أدى‬ ‫هل‬ ‫ونرى‬ ‫األخطاء‬ ‫لنا‬ ‫كشفت‬ ‫التي‬ ‫نفسها‬‫ى‬ ‫عودي‬ ‫بشكل‬ ‫االختبار‬ ‫يتم‬ ‫وهكذا‬ ‫جديدة؟‬ ‫أخطاء‬ ‫ظهور‬. 156
  • 157. Testing Levels ■‫ال‬ ‫أنواع‬ ‫من‬ ‫نوعين‬ ‫لدينا‬Testing: –Static testing: ■‫ال‬ ‫من‬ ‫المرحلة‬ ‫وبهذه‬Testing‫مراجعة‬ ‫على‬ ‫فقط‬ ‫تقتصر‬ ‫هي‬ ‫بل‬ ‫التنفيذ‬ ‫بعمليات‬ ‫نقوم‬ ‫ال‬ ‫وتفحصه‬ ‫ومراجعته‬ ‫الكود‬ ‫قراءة‬ ‫أو‬ ‫وتفحصها‬ ‫والتصميم‬ ‫التحليل‬ ‫مراحل‬ ‫في‬ ‫الوثائق‬. ■‫ال‬ ‫عملية‬ ‫إن‬Static Testing‫النظام‬ ‫تطوير‬ ‫مراحل‬ ‫من‬ ‫مرحلة‬ ‫كل‬ ‫نهاية‬ ‫في‬ ‫تتم‬ ■‫م‬ ‫مطلوبة‬ ‫معينة‬ ‫لخدمة‬ ‫نسيان‬ ‫من‬ ‫االختبار‬ ‫من‬ ‫العملية‬ ‫هذه‬ ‫في‬ ‫هائلة‬ ‫أخطاء‬ ‫اكتشاف‬ ‫يتم‬‫ن‬ ‫والتصميم‬ ‫التحليل‬ ‫مراحل‬ ‫أخطاء‬ ‫أو‬ ‫نظامنا‬. ■‫ال‬ ‫عملية‬static testing‫الصيانة‬ ‫مرحلة‬ ‫وحتى‬ ‫التحليل‬ ‫مرحلة‬ ‫من‬ ‫مستمرة‬. –Dynamic testing: ■‫ال‬ ‫من‬ ‫مرحلة‬ ‫هي‬Testing‫ال‬ ‫مرحلة‬ ‫في‬ ‫فقط‬ ‫تتم‬Testing‫تطوير‬ ‫مراحل‬ ‫مع‬ ‫مستمرة‬ ‫وليست‬ ‫ال‬ ‫مثل‬ ‫النظام‬Static testing. ■‫إدخال‬ ‫عن‬ ‫عبارة‬ ‫هي‬data‫ال‬ ‫واختبار‬ ‫النظام‬ ‫إلى‬code. ■‫ال‬ ‫على‬ ‫االعتماد‬ ‫اإلمكان‬ ‫قدر‬ ‫المرحلة‬ ‫هذه‬ ‫في‬ ‫نحاول‬Automatic Testing 157
  • 158. Testing Levels ■‫ال‬ ‫مرحلة‬ ‫إن‬Dynamic Testing‫أساسيتين‬ ‫منهجيتين‬ ‫لها‬: –Black Box Testing:‫األسود‬ ‫الصندوق‬ ‫اختبار‬. –White Box Testing:‫األبيض‬ ‫الصندوق‬ ‫اختبار‬. 158
  • 159. Testing ■Validation Testing: –‫ال‬ ‫قبول‬ ‫في‬ ‫واألخير‬ ‫األول‬ ‫القرار‬ ‫صاحب‬ ‫الزبون‬ ‫يعتبر‬System‫يقوم‬ ‫فهو‬ ‫ال‬ ‫أو‬‫باإلطالع‬ ‫ال‬ ‫يقدمها‬ ‫التي‬ ‫الوظائف‬ ‫على‬System‫جيد‬ ‫بشكل‬ ‫تعمل‬ ‫أنها‬ ‫من‬ ‫والتأكد‬. –‫النظام‬ ‫قبول‬ ‫في‬ ‫أساسيين‬ ‫معيارين‬ ‫هناك‬expectance Testing: ■‫ألفا‬. ■‫بيتا‬. –‫الش‬ ‫في‬ ‫وذلك‬ ‫جيد‬ ‫بشكل‬ ‫تعمل‬ ‫بأنها‬ ‫الوظائف‬ ‫الزبون‬ ‫يختبر‬ ‫ألفا‬ ‫االختبار‬ ‫في‬‫ركة‬ ‫للنظام‬ ‫المطورة‬. –‫المطورين‬ ‫من‬ ‫يطلب‬ ‫الزبون‬ ‫فإن‬ ‫بيتا‬ ‫اختبار‬ ‫في‬ ‫أما‬installation‫البيئة‬ ‫في‬ ‫للنظام‬ ‫تعمل‬ ‫هل‬ ‫الوظائف‬ ‫باختبار‬ ‫ويقوم‬ ‫عبرها‬ ‫النظام‬ ‫يستخدم‬ ‫أن‬ ‫المستخدم‬ ‫يرد‬ ‫التي‬ ‫فاش‬ ‫االختبار‬ ‫كان‬ ‫وإذا‬ ‫النظام‬ ‫هذا‬ ‫بقبول‬ ‫يقوم‬ ً‫ناجحا‬ ‫االختبار‬ ‫كان‬ ‫وإذا‬ ‫جيد‬ ‫بشكل‬ً‫ال‬ ‫النظام‬ ‫هذا‬ ‫برفض‬ ‫يقوم‬. –‫غير‬ ‫ال‬ ‫بالمكان‬ ‫السابقين‬ ‫النوعين‬ ‫بين‬ ‫الفرق‬. 159
  • 160. Testing ■Debugging: –‫مرح‬ ‫في‬ ‫المكتشفة‬ ‫األخطاء‬ ‫أماكن‬ ‫على‬ ‫للتعرف‬ ‫تشخيصية‬ ‫إجرائية‬ ‫عن‬ ‫عبارة‬ ‫هي‬‫لة‬ ‫ال‬Testing‫وتصليحها‬. –‫مالحظة‬:‫تعتبر‬ ‫النظام‬ ‫تشغيل‬ ‫بعد‬ ‫بها‬ ‫القيام‬ ‫يتم‬ ‫اصالح‬ ‫عملية‬ ‫كل‬maintenance ‫اسمها‬ ‫صار‬ ‫النظام‬ ‫تشغيل‬ ‫قبل‬ ‫بها‬ ‫القيام‬ ‫يتم‬ ‫إصالح‬ ‫عملية‬ ‫وكل‬debugging. ■‫اإلصالح‬ ‫كلفة‬: –‫ال‬ ‫عملية‬ ‫إن‬Testing‫بنسبة‬ ‫مكلفة‬60%،‫تسبقها‬ ‫التي‬ ‫المراحل‬ ‫إلى‬ ‫بالنسبة‬ ‫بنسبة‬ ً‫جدا‬ ً‫جدا‬ ‫مكلفة‬ ‫عملية‬ ً‫أيضا‬ ‫الصيانة‬ ‫عملية‬ ‫وكذلك‬21%‫كل‬ ‫كلفة‬ ‫إلى‬ ‫تسبقها‬ ‫التي‬ ‫المراحل‬. 160
  • 161. Legacy System (‫الموروثة‬ ‫)النظم‬ ■‫فهي‬ ‫األربعة‬ ‫المعايير‬ ‫أما‬: –‫لدينا‬ ‫كان‬ ‫إذا‬low quality‫و‬low business value: ■‫غيره‬ ً‫نظاما‬ ‫ونطور‬ ‫الحالة‬ ‫بهذه‬ ‫النظام‬ ‫من‬ ‫نتخلص‬ ‫عندها‬. –‫لدينا‬ ‫كان‬ ‫إذا‬low quality‫و‬high business value: ■‫نقوم‬ ‫ولذلك‬ ‫األخطاء‬ ‫من‬ ‫العديد‬ ‫فيه‬ ‫لكن‬ ‫جيد‬ ‫بشكل‬ ‫يخدمني‬ ‫النظام‬ ‫هذا‬ ‫أن‬ ‫يعني‬ ‫هذا‬ ‫بعملية‬re-engineering‫النظام‬ ‫لهذا‬. –‫لدينا‬ ‫كان‬ ‫إذا‬high quality‫و‬low business value: ■‫له‬ ‫جديدة‬ ‫خدمات‬ ‫إضافة‬ ‫بعملية‬ ‫ونقوم‬ ‫النظام‬ ‫هذا‬ ‫من‬ ‫أجزاء‬ ‫استبدال‬ ‫بعمليات‬ ‫نقوم‬ ‫وصيانته‬. –‫لدينا‬ ‫كان‬ ‫إذا‬high quality‫و‬high businessvalue: ■‫مكانه‬ ‫في‬ ‫ندعه‬ ‫بل‬ ‫بشيء‬ ‫استبداله‬ ‫وال‬ ‫النظام‬ ‫بتغيير‬ ‫نقوم‬ ‫ال‬. 161
  • 162. Question 1 ■ One of the fault base testing techniquesis A. unit testing. B. beta testing. C. stress testing. D. mutation testing. (‫الطفرات‬ ‫اختبار‬) 162
  • 163. Question 1 ■ One of the fault base testing techniquesis A. unit testing. B. beta testing. C. stress testing. D. mutation testing. (‫الطفرات‬ ‫اختبار‬) 163
  • 164. Question 2 ■ All the modules of the system are integrated and tested as complete system in the case of A. Bottom up testing. B. Top-down testing. C. Sandwich testing. D. Big-Bang testing. 164
  • 165. Question 2 ■ All the modules of the system are integrated and tested as complete system in the case of A. Bottom up testing. B. Top-down testing. C. Sandwich testing. D. Big-Bang testing. 165
  • 166. Question 3 ■ A fault simulation testing techniqueis A. Mutation testing. B. Stress testing. C. Black box testing. D. White box testing. 166
  • 167. Question 3 ■ A fault simulation testing techniqueis A. Mutation testing. B. Stress testing. C. Black box testing. D. White box testing. 167
  • 168. Question 4 ■ Output comparators are used in A. static testing of single module. B. dynamic testing of single module. C. static testing of single and multiple module. D. dynamic testing of single and multiple module. 168
  • 169. Question 4 ■ Output comparators are used in A. static testing of single module. B. dynamic testing of single module. C. static testing of single and multiple module. D. dynamic testing of single and multiple module. 169
  • 170. Question 5 ■ Alpha and Beta Testing are forms of A. Acceptance testing. B. Integration testing. C. System Testing. D. Unit testing. 170
  • 171. Question 5 ■ Alpha and Beta Testing are forms of A. Acceptance testing. B. Integration testing. C. System Testing. D. Unit testing. 171
  • 172. Question 6 ■ The main purpose of integration testing is to find A. design errors. B. analysis errors. C. procedureerrors. D. interface errors. 172
  • 173. Question 6 ■ The main purpose of integration testing is to find A. design errors. B. analysis errors. C. procedureerrors. D. interface errors. 173
  • 174. Question 7 ■ The testing that focuses on the variables is called A. black box testing. B. white box testing. C. data variable testing. D. data flow testing. 174
  • 175. Question 7 ■ The testing that focuses on the variables is called A. black box testing. B. white box testing. C. data variable testing. D. data flow testing. 175
  • 176. Question 8 ■ Site for Alpha Testing is A. Software Company. B. Installation place. C. Any where. D. None of the above. 176
  • 177. Question 8 ■ Site for Alpha Testing is A. Software Company. B. Installation place. C. Any where. D. None of the above. 177
  • 178. Question 9 ■ What is the normal order of activities in which software testing is organized? A. unit, integration, system, validation. B. system, integration, unit, validation. C. unit, integration, validation, system. D. None of the above. 178
  • 179. Question 9 ■ What is the normal order of activities in which software testing is organized? A. unit, integration, system, validation. B. system, integration, unit, validation. C. unit, integration, validation, system. D. None of the above. 179
  • 180. Question 10 ■ Units and stubs are not needed for unit testing becausethe modules are tested independentlyof one another A. True. B. False. 180
  • 181. Question 10 ■ Units and stubs are not needed for unit testing becausethe modules are tested independentlyof one another A. True. B. False. 181
  • 182. Question 11 ■ Changes made to an information systemto add the desired but not necessarilythe required features is called A. Preventative maintenance. B. Adaptive maintenance. C. Corrective maintenance. D. Perfective maintenance. 182
  • 183. Question 11 ■ Changes made to an information systemto add the desired but not necessarilythe required features is called A. Preventative maintenance. B. Adaptive maintenance. C. Corrective maintenance. D. Perfective maintenance. 183
  • 184. Question 12 ■ Modifying the software to match changes in the ever changing environment is called A. adaptive maintenance. B. corrective maintenance. C. perfective maintenance. D. preventive maintenance. 184
  • 185. Question 12 ■ Modifying the software to match changes in the ever changing environment is called A. adaptive maintenance. B. corrective maintenance. C. perfective maintenance. D. preventive maintenance. 185
  • 186. Question 13 ■ Changes made to the system to reduce the future system failure chances is called A. PreventiveMaintenance. B. Adaptive Maintenance. C. Corrective Maintenance. D. Perfective Maintenance. 186
  • 187. Question 13 ■ Changes made to the system to reduce the future system failure chances is called A. PreventiveMaintenance. B. Adaptive Maintenance. C. Corrective Maintenance. D. Perfective Maintenance. 187
  • 189. Software Metrics ■ Measure: – quantitative indication of extent, amount, dimension, capacity, or size of some attribute of a productor process. – E.g., Number of errors ■ Metric: – quantitative measure of degree to which a system, component or process possessesa given attribute. “A handle or guess about a given attribute.” – E.g., Number of errors found per person hours expended 189
  • 190. Motivation for Metrics 1. Estimate the cost & scheduleof future projects. 2. Evaluate the productivity impacts of new tools and techniques. 3. Establish productivity trends over time. 4. Improvesoftware quality. 5. Forecast future staffing needs. 6. Anticipate and reduce future maintenanceneeds. 190
  • 191. Types of Measures ■ Direct Measures (internal attributes) – Cost, LOC, speed, memory ■ Indirect Measures (external attributes) – Functionality, quality, complexity, efficiency, reliability, maintainability 191
  • 193. Cyclomatic Complexity ■ Set of independentpaths through the graph (basis set) ■ V(G) = E – N + 2 ■ E is the number of flow graph edges ■ N is the number of nodes 193
  • 194. Cyclomatic Complexity i = 0; while (i<n-1) do j = i + 1; while (j<n) do if A[i]<A[j] then swap(A[i], A[j]); end do; i=i+1; end do; 1 3 54 6 7 2 194
  • 195. Cyclomatic Complexity ■ V(G) = 9 – 7 + 2 = 4 ■ Basis Set – 1, 7 – 1, 2, 6, 1, 7 – 1, 2, 3, 4, 5, 2, 6, 1, 7 – 1, 2, 3, 5, 2, 6, 1, 7 195
  • 197. Estimation and Planning ■Milestone: –‫مقدار‬ ‫من‬ ‫التحقق‬ ‫في‬ ‫تساعد‬ ‫وهي‬ ‫الزمني‬ ‫الجدول‬ ‫على‬ ‫عالم‬ ‫نقاط‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ،‫المشروع‬ ‫في‬ ‫والتطور‬ ‫التقدم‬ –‫المشروع‬ ‫تطوير‬ ‫على‬ ‫يعملون‬ ‫الذين‬ ‫لألشخاص‬ ‫خاصة‬ ‫هي‬. ■Deliverable: –‫ومخططات‬ ‫تقارير‬ ‫من‬ ‫للزبون‬ ‫يسلم‬ ‫ما‬ ‫كل‬ ‫عن‬ ‫عبارة‬ ‫هي‬...‫الخ‬. –‫كل‬ ‫عند‬ ‫يكون‬ ‫أن‬ ‫بالضروري‬ ‫ليس‬Milestone‫هناك‬Deliverable‫الغالب‬ ‫على‬ ‫لكن‬ ‫هناك‬ ‫يكون‬Deliverable –‫وضعنا‬ ً‫فمثال‬Milestone‫مرحلة‬ ‫من‬ ‫انتهينا‬ ‫هل‬ ‫لنعرف‬ ‫التحليل‬ ‫مرحلة‬ ‫نهاية‬ ‫في‬ ‫؟‬ ‫التحليل‬ 197
  • 199. Question 1 ■ If the objects focus on the problem domain, then we are concerned with A. Object Oriented Analysis. B. Object Oriented Design C. Object Oriented Analysis & Design. D. None of the above. 199
  • 200. Question 1 ■ If the objects focus on the problem domain, then we are concerned with A. Object Oriented Analysis. B. Object Oriented Design C. Object Oriented Analysis & Design. D. None of the above. 200
  • 201. Question 2 ■ The feature of the object oriented paradigm which helps code reuse is A. object. B. class. C. inheritance. D. aggregation. 201
  • 202. Question 2 ■ The feature of the object oriented paradigm which helps code reuse is A. object. B. class. C. inheritance. D. aggregation. 202