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
Question 3
■ Which of the following statements is true:
A. Abstract data types are the same as classes.
B. Abstract data types do not allow inheritance.
C. Classes cannot inherit from the same base class.
D. Object have state and behavior.
203
Question 3
■ Which of the following statements is true:
A. Abstract data types are the same as classes.
B. Abstract data types do not allow inheritance.
C. Classes cannot inherit from the same base class.
D. Object have state and behavior.
204
Question 4
■ SRD stands for:
A. Software requirements definition.
B. Structured requirements definition.
C. Software requirements diagram.
D. Structured requirements diagram.
205
Question 4
■ SRD stands for:
A. Software requirements definition.
B. Structured requirements definition.
C. Software requirements diagram.
D. Structured requirements diagram.
206
Question 5
■ A COCOMO model is:
A. Common Cost Estimation Model.
B. ConstructiveCost Estimation Model.
C. Complete Cost Estimation Model.
D. ComprehensiveCost Estimation Model.
207
Question 5
■ A COCOMO model is:
A. Common Cost Estimation Model.
B. ConstructiveCost Estimation Model.
C. Complete Cost Estimation Model.
D. ComprehensiveCost Estimation Model.
208
Question 6
■ The model that assumes that effort and developmenttime are functions of product
size alone is
A. Basic COCOMO model.
B. IntermediateCOCOMO model.
C. Detailed COCOMOmodel.
D. All the three COCOMO models.
209
Question 6
■ The model that assumes that effort and developmenttime are functions of product
size alone is
A. Basic COCOMO model.
B. IntermediateCOCOMO model.
C. Detailed COCOMOmodel.
D. All the three COCOMO models.
210
Question 7
■ The next symbol represents
A. mandatory 1 cardinality.
B. mandatory many cardinality.
C. optional 0 or 1 cardinality.
D. optional zero-many cardinality.
211
Question 7
■ The next symbol represents
A. mandatory 1 cardinality.
B. mandatory many cardinality.
C. optional 0 or 1 cardinality.
D. optional zero-many cardinality.
212
Question 8
■ Each time a defect gets detected and fixed, the reliability of a softwareproduct
A. increases.
B. decreases.
C. remains constant.
D. cannot say anything.
213
Question 8
■ Each time a defect gets detected and fixed, the reliability of a softwareproduct
A. increases.
B. decreases.
C. remains constant.
D. cannot say anything.
214
Question 9
■ As the reliability increases, failure intensity
A. decreases.
B. Increases.
C. no effect.
D. none of the above.
215
Question 9
■ As the reliability increases, failure intensity
A. decreases.
B. Increases.
C. no effect.
D. none of the above.
216
Question 10
■ The level at which the software uses scarceresources is
A. Reliability.
B. Efficiency.
C. Portability.
D. all of the above.
217
Question 10
■ The level at which the software uses scarceresources is
A. Reliability.
B. Efficiency.
C. Portability.
D. All of the above.
218
Question 11
■ All activities lying on critical path have slack time equal to
A. 0
B. 1
C. 2
D. None of above
219
Question 11
■ All activities lying on critical path have slack time equal to
A. 0
B. 1
C. 2
D. None of above
220
Question 12
■ An object encapsulates
A. Data
B. Behavior
C. State
D. Both Data and behavior
221
Question 12
■ An object encapsulates
A. Data
B. Behavior
C. State
D. Both Data and behavior
222
Question 13
■ Aggregation represents (‫التجميع‬)
A. is_a relationship
B. part_of relationship
C. composed_of relationship
D. none of above
223
Question 13
■ Aggregation represents (‫التجميع‬)
A. is_a relationship
B. part_of relationship
C. composed_of relationship
D. none of above
224
Question 14
■ The tools that support different stages of software developmentlife cycle are called:
A. CASE Tools
B. CAME tools
C. CAQE tools
D. CARE tools
225
Question 14
■ The tools that support different stages of software developmentlife cycle are called:
A. CASE Tools
B. CAME tools
C. CAQE tools
D. CARE tools
226
Question 15
■ Requirements can be refined using
A. The waterfall model
B. Prototyping model
C. The evolutionarymodel
D. The spiral model
227
Question 15
■ Requirements can be refined using
A. The waterfall model
B. Prototyping model
C. The evolutionarymodel
D. The spiral model
228
Question 16
■ Structured charts are a productof
A. requirements gathering
B. requirements analysis
C. design
D. coding
229
Question 16
■ Structured charts are a productof
A. requirements gathering
B. requirements analysis
C. design
D. coding
230
Question 17
■ A problem that threatens the successof a project but which has not yet happened:
A. bug
B. error
C. risk
D. failure
231
Question 17
■ A problem that threatens the successof a project but which has not yet happened:
A. bug
B. error
C. risk
D. failure
232
Question 18
■ Pseudocodecan replace
A. flowcharts
B. structurecharts
C. decision tables
D. cause-effectgraphs
233
Question 18
■ Pseudocodecan replace
A. flowcharts
B. structurecharts
C. décision tables
D. cause-effectgraphs
234
Question 19
■ If a program in its functioninghas not met user requirements is some way, then it is
A. an error.
B. a failure.
C. a fault.
D. a defect.
235
Question 19
■ If a program in its functioninghas not met user requirements is some way, then it is
A. an error.
B. a failure.
C. a fault.
D. a defect.
236
Question 20
■ CASE Tool is
A. Computer Aided Software Engineering
B. ComponentAided Software Engineering
C. ConstructiveAided Software Engineering
D. Computer Analysis Software Engineering
237
Question 20
■ CASE Tool is
A. Computer Aided Software Engineering
B. ComponentAided Software Engineering
C. ConstructiveAided Software Engineering
D. Computer Analysis Software Engineering
238
Question 21
■ Software consists of
A. Set of instructions + operating procedures
B. Programs + documentation + operating procedures
C. Programs + hardwaremanuals
D. Set of programs
239
Question 21
■ Software consists of
A. Set of instructions + operating procedures
B. Programs + documentation + operating procedures
C. Programs + hardwaremanuals
D. Set of programs
240
Question 22
■ Which phase is not available in software life cycle?
A. Coding
B. Testing
C. Maintenance
D. Abstraction
241
Question 22
■ Which phase is not available in software life cycle?
A. Coding
B. Testing
C. Maintenance
D. Abstraction
242
Question 23
■ Which is not a step of requirement engineering?
A. Requirements elicitation
B. Requirements analysis
C. Requirements design
D. Requirements documentation
243
Question 23
■ Which is not a step of requirement engineering?
A. Requirements elicitation
B. Requirements analysis
C. Requirements design
D. Requirements documentation
244
Question 24
■ FAST stands for
A. Functional Application Specification Technique
B. Fast Application Specification Technique
C. Facilitated Application Specification Technique
D. None of the above
245
Question 24
■ FAST stands for
A. Functional Application Specification Technique
B. Fast Application Specification Technique
C. Facilitated Application Specification Technique
D. None of the above
246
Question 25
■ Which is not a size metric?
A. LOC
B. Function count
C. Program length
D. Cyclomatic complexity
247
Question 25
■ Which is not a size metric?
A. LOC
B. Function count
C. Program length
D. Cyclomatic complexity
248
Question 26
■ Software deteriorates rather than wears out because
A. software suffers from exposure to hostile environments.
B. defects are more likely to arise after software has been used often.
C. multiple change requests introduceerrors in component interactions.
D. software spare parts become harder to order.
249
Question 26
■ Software deteriorates rather than wears out because
A. software suffers from exposure to hostile environments.
B. defects are more likely to arise after software has been used often.
C. multiple change requests introduceerrors in component interactions.
D. software spare parts become harder to order.
250
Question 27
■ What are the three generic phases of software engineering?
A. Definition, development, support
B. What, how, where
C. Programming, debugging, maintenance
D. Analysis, design, testing
251
Question 27
■ What are the three generic phases of software engineering?
A. Definition, development, support
B. What, how, where
C. Programming, debugging, maintenance
D. Analysis, design, testing
252
Question 28
■ Which of these terms is a level name in the Capability Maturity Model?
A. Ad hoc
B. Repeatable
C. Reusable
D. Organized
253
Question 28
■ Which of these terms is a level name in the Capability Maturity Model?
A. Ad hoc
B. Repeatable
C. Reusable
D. Organized
254
Question 29
■ Which of the items listed below is not one of the softwareengineering layers?
A. Process
B. Manufacturing
C. Methods
D. Tools
255
Question 29
■ Which of the items listed below is not one of the softwareengineering layers?
A. Process
B. Manufacturing
C. Methods
D. Tools
256
Question 30
■ Which of the following are advantages of using LOC (lines of code) as a size oriented
metric?
A. LOC is easily computed.
B. LOC is a language dependentmeasure.
C. LOC is a language independentmeasure.
D. LOC can be computed before a design is completed.
257
Question 30
■ Which of the following are advantages of using LOC (lines of code) as a size oriented
metric?
A. LOC is easily computed.
B. LOC is a language dependentmeasure.
C. LOC is a language independentmeasure.
D. LOC can be computed before a design is completed.
258
Question 31
■ Which of the following is not an attribute of software engineering
A. Efficiency.
B. Scalability.
C. Dependability.
D. Usability.
259
Question 31
■ Which of the following is not an attribute of software engineering
A. Efficiency.
B. Scalability.
C. Dependability.
D. Usability.
260
Question 32
■ A key concept of quality control is that all work products
A. are delivered on time and under budget
B. have complete documentation
C. have measurablespecification for process outputs
D. are thoroughly tested before delivery to the customer
261
Question 32
■ A key concept of quality control is that all work products
A. are delivered on time and under budget
B. have complete documentation
C. have measurablespecification for process outputs
D. are thoroughly tested before delivery to the customer
262
Question 33
■ The ISO quality assurancestandard that applies to software engineering is
A. ISO 9000
B. ISO 9001
C. ISO 9002
D. ISO 9003
263
Question 33
■ The ISO quality assurancestandard that applies to software engineering is
A. ISO 9000
B. ISO 9001
C. ISO 9002
D. ISO 9003
264
Question 34
■ What types of models are created during software requirements analysis?
A. Functional and behavioral
B. Algorithmic and data structure
C. Architecturaland structural
D. Usability and reliability
265
Question 34
■ What types of models are created during software requirements analysis?
A. Functional and behavioral
B. Algorithmic and data structure
C. Architecturaland structural
D. Usability and reliability
266
Question 35
■ Software feasibility is based on which of the following
A. businessand marketing concerns
B. scope, constraints, market
C. technology, finance, time, resources
D. technical prowessof the developers
267
Question 35
■ Software feasibility is based on which of the following
A. businessand marketing concerns
B. scope, constraints, market
C. technology, finance, time, resources
D. technical prowessof the developers
268
Question 36
■ The software metrics chosen by an organization are driven by the business or
technical goals an organization wishes to accomplish.
A. True
B. False
269
Question 36
■ The software metrics chosen by an organization are driven by the business or
technical goals an organization wishes to accomplish.
A. True
B. False
270
CONTACT INFO

Software Engineering 2018

  • 1.
  • 2.
    Content ■ Overview. ■ SoftwareProcesses. ■ Software Development Life Cycle (SDLC). ■ RequirementEngineering. ■ Unified Modeling Language (UML). ■ ArchitectureDesign. ■ Testing & Maintenance. ■ Others. ■ MCQ. 2
  • 3.
  • 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 ResourcePlanning (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 ■‫البرمجية‬ ‫اإلجرائية‬( :SoftwareProcesses) –‫التي‬ ‫البعض‬ ‫بعضها‬ ‫المترابطة‬ ‫المخططات‬ ‫و‬ ‫األدوات‬ ‫و‬ ‫الطرق‬ ‫و‬ ‫األنشطة‬ ‫مجموعة‬ ‫يحقق‬ ‫الذي‬ ‫و‬ ‫المشكلة‬ ‫تلك‬ ‫لحل‬ ‫مجدي‬ ‫جديد‬ ‫نظام‬ ‫إيجاد‬ ‫و‬ ‫المشكلة‬ ‫لفهم‬ ‫تؤدي‬ ‫الزبون‬ ‫رضا‬ ‫و‬ ‫العالية‬ ‫الجودة‬ ‫و‬ ‫المنخفضة‬ ‫الكلفة‬. ■‫البرمجية‬ ‫اإلجرائيات‬ ‫نماذج‬( :Software Process Models) –‫معين‬ ‫طريقة‬ ‫أو‬ ‫معين‬ ‫إجراء‬ ‫وفق‬ ‫السابقة‬ ‫األنشطة‬ ‫تلك‬ ‫ورود‬ ‫طريقة‬ ‫به‬ ‫فنقصد‬‫ة‬. –‫اسم‬ ‫اإلجرائي‬ ‫النموذج‬ ‫على‬ ‫نطلق‬ ‫خطي‬ ‫بشكل‬ ‫األنشطة‬ ‫تلك‬ ‫وردت‬ ‫إذا‬ ‫مثل‬ (‫النموذج‬‫الشاللي‬.) 14
  • 15.
    Overview ■‫تطوير‬ ‫مرحلة‬ ‫تمر‬(‫النظام‬)‫مراحل‬‫أربع‬ ‫في‬ ‫عام‬ ‫بشكل‬ ‫البرمجيات‬ ‫أو‬( :activities) Analysis ‫التحليل‬ 1 Design ‫التصميم‬ 2 Implementation ‫التنجيز‬ 3 Testing ‫االختبار‬ 4 15
  • 16.
    Question 1 ■ Whichof 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 ■ Whichof 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 ■ Astakeholder is anyone who will purchasethe completed software systemunder development. A. True. B. False. 18
  • 19.
    Question 2 ■ Astakeholder is anyone who will purchasethe completed software systemunder development. A. True. B. False. 19
  • 20.
    Question 3 ■ Whatare 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 ■ Whatare 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 ■ Softwareis defined as ____ . A. Instructions. B. Data Structures. C. Documents. D. All of the above. 22
  • 23.
    Question 4 ■ Softwareis defined as ____ . A. Instructions. B. Data Structures. C. Documents. D. All of the above. 23
  • 24.
    Question 5 ■ Whatare 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 ■ Whatare 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
  • 26.
  • 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 ■ AProject 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 ■ AProject 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 ■ Whichof 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 ■ Whichof 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 LifeCycle (SDLC) Waterfall Model ( ‫النموذج‬‫الشاللي‬ ) ■‫تعريف‬: –‫األ‬ ‫نحو‬ ‫الماء‬ ‫يتدفق‬ ‫حيث‬ ‫المياه‬ ‫تدفق‬ ‫مثل‬ ‫البعض‬ ‫بعضها‬ ‫وراء‬ ‫األنشطة‬ ‫تورد‬ ‫عندما‬‫مام‬ ‫الشللي‬ ‫بالنموذج‬ ‫النموذج‬ ‫هذا‬ ‫يسمى‬ ‫الوراء‬ ‫إلى‬ ‫العودة‬ ‫دون‬. ■‫النموذج‬ ‫هذا‬ ‫مشاكل‬: –‫النظام‬ ‫على‬ ‫الحصول‬ ‫حتى‬ ‫و‬ ‫الفكرة‬ ‫مرحلة‬ ‫من‬ ‫النظام‬ ‫يستهلكه‬ ‫الذي‬ ‫الكبير‬ ‫الوقت‬. ■‫عمل‬ ‫بأي‬ ‫المصممون‬ ‫يقوم‬ ‫ال‬ ‫التحليل‬ ‫بعملية‬ ‫القيام‬ ‫أثناء‬ ‫ألنه‬. –‫أ‬ ‫يجب‬ ‫النموذج‬ ‫هذا‬ ‫اختيار‬ ‫عند‬ ‫لذلك‬ ‫و‬ ‫المتطلبات‬ ‫في‬ ‫تغيير‬ ‫أي‬ ‫يقبل‬ ‫ال‬ ‫النموذج‬ ‫هذا‬‫ن‬ ‫الدقيقة‬ ‫تفاصيله‬ ‫بكل‬ ‫واضح‬ ‫النظام‬ ‫يكون‬. ■‫الشللي‬ ‫بنموذج‬ ‫تطويره‬ ‫يمكننا‬ ‫لدينا‬ ‫قديم‬ ‫نظام‬ ‫تطوير‬ ‫مثل‬. ■‫النموذج‬ ‫هذا‬ ‫محاسن‬: –‫النموذج‬ ‫مثل‬ ‫تماما‬ ‫الخطية‬ ‫الطريقة‬ ‫يقبل‬ ‫العقل‬ ‫إن‬‫الشاللي‬‫غيره‬ ‫من‬ ‫أسهل‬ ‫يراه‬ ‫و‬. –‫النموذج‬ ‫فإن‬ ‫الكافية‬ ‫الخبرة‬ ‫يملك‬ ‫ال‬ ‫النظام‬ ‫بتطوير‬ ‫يقوم‬ ‫الذي‬ ‫الفريق‬ ‫كان‬ ‫إذا‬‫الش‬‫اللي‬ ‫جدا‬ ‫لهم‬ ‫مفيد‬. 39
  • 40.
    Software Development LifeCycle (SDLC) Waterfall Model ( ‫النموذج‬‫الشاللي‬ ) ■‫مالحظة‬: –‫الويب‬ ‫تطبيقات‬ ‫جميع‬web‫الشللي‬ ‫بالنموذج‬ ‫تطور‬ ‫ال‬!! –‫خد‬ ‫على‬ ‫تعديالت‬ ‫و‬ ‫تغييرات‬ ‫و‬ ‫فترة‬ ‫كل‬ ‫خدمات‬ ‫إضافة‬ ‫لها‬ ‫يحدث‬ ‫تطبيقات‬ ‫ألنها‬‫مات‬ ‫الشللي‬ ‫بالنموذج‬ ‫تطور‬ ‫ال‬ ‫لذلك‬ ‫و‬ ‫قديمة‬. 40
  • 41.
    Software Development LifeCycle (SDLC) Incremental Model ( ‫النموذج‬‫التزايدي‬ ) ■‫تعريف‬: –‫يقدم‬ ‫معين‬ ‫نظام‬ ‫لدينا‬ ‫ليكن‬100‫معينة‬ ‫خدمة‬. –‫يقد‬ ‫التي‬ ‫الخدمات‬ ‫و‬ ‫المتطلبات‬ ‫تحديد‬ ‫و‬ ‫المشكلة‬ ‫فهم‬ ‫بعد‬ ‫العمل‬ ‫فريق‬ ‫يقوم‬‫مها‬ ‫اختيار‬ ‫يتم‬ ‫أن‬ ‫بها‬ ‫نقصد‬ ‫و‬ ‫األولويات‬ ‫بتحديد‬ ‫النظام‬10‫في‬ ‫أولوية‬ ‫أساسية‬ ‫خدمات‬ ‫النظام‬. –‫ملموس‬ ‫لمنتج‬ ‫نصل‬ ‫هكذا‬ ‫و‬ ‫تنجيز‬ ‫ثم‬ ‫تصميم‬ ‫ثم‬ ‫لها‬ ‫تحليل‬ ‫مرحلة‬ ‫عمل‬ ‫يتم‬ ‫ثم‬‫يقدم‬ 10،‫خدمات‬ –‫إليه‬ ‫نضيف‬ ‫و‬ ‫المنتج‬ ‫هذا‬ ‫نأخذ‬ ‫ذلك‬ ‫بعد‬5‫التحليل‬ ‫عمليات‬ ‫بإعادة‬ ‫ذلك‬ ‫و‬ ‫أخرى‬ ‫خدمات‬ ‫و‬ ‫التصميم‬ ‫و‬‫التنجيز‬‫يقدم‬ ‫المنتج‬ ‫فيصبح‬ ‫لها‬15،‫خدمة‬ –‫دائم‬ ‫تطوير‬ ‫مرحلة‬ ‫في‬ ‫يبقى‬ ‫أو‬ ‫نظامنا‬ ‫ينتهي‬ ‫حتى‬ ‫هكذا‬ ‫و‬. 41
  • 42.
    Software Development LifeCycle (SDLC) Incremental Model ( ‫النموذج‬‫التزايدي‬ ) ■‫النموذج‬ ‫هذه‬ ‫محاسن‬: –‫كامل‬ ‫غير‬ ‫لكنه‬ ‫ملموس‬ ‫منتج‬ ‫على‬ ‫الحصول‬ ‫من‬ ‫يمكننا‬ ‫الذي‬ ‫القصير‬ ‫الوقت‬. –‫ت‬ ‫يمكننا‬ ‫بها‬ ‫نقوم‬ ‫دورة‬ ‫فبكل‬ ،‫متغيرة‬ ‫متطلبات‬ ‫مع‬ ‫يتعامل‬ ‫ان‬ ‫النموذج‬ ‫لهذا‬ ‫يمكن‬‫عديل‬ ‫جديدة‬ ‫خدمات‬ ‫إضافة‬ ‫أو‬ ‫متطلبات‬. –‫الويب‬ ‫تطبيقات‬ ‫خاصة‬ ‫و‬ ‫النموذج‬ ‫بهذا‬ ‫تطور‬ ‫االنظمة‬ ‫معظم‬. ■‫النموذج‬ ‫هذا‬ ‫مساوئ‬: –‫تم‬ ‫قد‬ ‫قديمة‬ ‫متطلبات‬ ‫مع‬ ‫تتناقض‬ ‫أن‬ ‫الجديدة‬ ‫المتطلبات‬ ‫أو‬ ‫الخدمات‬ ‫لبعض‬ ‫يمكن‬‫تنجيزها‬ ‫النظام‬ ‫من‬ ‫نسفها‬ ‫إلى‬ ‫نضطر‬ ‫لذلك‬ ‫بالنظام‬. –‫خدمة‬ ‫بدون‬ ‫مفيدة‬ ‫غير‬ ‫لكنها‬ ‫خدمة‬ ‫فتقدم‬ ‫البعض‬ ‫ببعضها‬ ‫الخدمات‬ ‫ترتبط‬ ‫أن‬ ‫يمكن‬‫أخرى‬ ‫ثانية‬ ‫كاملة‬ ‫دورة‬ ‫االنتظار‬ ‫يجب‬ ‫هنا‬ ‫و‬‫لتنجيز‬‫الخدمة‬ ‫لتفعيل‬ ‫ذلك‬ ‫و‬ ‫الثانية‬ ‫الخدمة‬‫و‬ ‫األولى‬ ‫النظام‬ ‫في‬ ‫أولوياتنا‬ ‫ترتيب‬ ‫أثناء‬ ‫لخطأ‬ ‫يعود‬ ‫هذا‬. ■‫مساوئه‬ ‫من‬ ‫أكثر‬ ‫النظام‬ ‫هذا‬ ‫محاسن‬ ‫عام‬ ‫بشكل‬. 42
  • 43.
    Software Development LifeCycle (SDLC) Reuse-oriented Software Engineering (‫االستخدام‬ ‫بإعادة‬ ‫المقام‬ ‫)النموذج‬ ■‫تعريف‬: –‫اختبار‬ ‫ثم‬ ‫تنجيز‬ ‫ثم‬ ‫بحث‬ ‫ثم‬ ‫تصميم‬ ‫ثم‬ ‫تحليل‬. –‫عن‬ ‫بالبحث‬ ‫بها‬ ‫نقوم‬ ‫مرحلة‬ ‫هي‬ ‫البحث‬component،‫مشروعنا‬ ‫في‬ ‫نضمنها‬ ‫جاهزة‬ ‫ب‬ ‫يقوم‬ ‫التي‬ ‫الخدمات‬ ‫و‬ ‫المتطلبات‬ ‫تحديد‬ ‫و‬ ‫التحليل‬ ‫بعملية‬ ‫القيام‬ ‫بعد‬ ‫حيث‬‫النظام‬ ‫ها‬ ‫يقدمها‬ ‫التي‬ ‫الخدمات‬ ‫تخدم‬ ‫قديمة‬ ‫أنظمة‬ ‫عن‬ ‫السوق‬ ‫في‬ ‫بحث‬ ‫عملية‬ ‫نجري‬ ‫نظامنا‬ ‫ليتشكل‬ ‫سويا‬ ‫ربطها‬ ‫و‬ ‫الجاهزة‬ ‫المكونات‬ ‫هذه‬ ‫بتجميع‬ ‫فنقوم‬ ‫نظامي‬. –‫ال‬ ‫تلك‬ ‫تكون‬ ‫أن‬ ‫مراعاة‬ ‫يجب‬component‫و‬ ‫موثوقة‬ ‫نظامنا‬ ‫في‬ ‫منها‬ ‫نستفيد‬ ‫التي‬ ‫بعملية‬ ‫القيام‬ ‫علينا‬ ‫يتوجب‬ ‫لذلك‬testing‫النظام‬ ‫في‬ ‫تضمينها‬ ‫قبل‬ ‫للمكونات‬. 43
  • 44.
    Software Development LifeCycle (SDLC) Reuse-oriented Software Engineering (‫االستخدام‬ ‫بإعادة‬ ‫المقام‬ ‫)النموذج‬ ■‫النموذج‬ ‫هذا‬ ‫محاسن‬: –‫نظامنا‬ ‫تنجيز‬ ‫في‬ ‫السرعة‬. –‫ال‬ ‫عمليات‬ ‫بسبب‬ ‫الموثوقية‬testing‫المكونات‬ ‫من‬ ‫مكون‬ ‫كل‬ ‫أجل‬ ‫من‬ ‫بها‬ ‫نقوم‬ ‫التي‬ ‫الجاهزة‬. ■‫النموذج‬ ‫هذا‬ ‫مساوئ‬: –‫ال‬ ‫تتوافر‬ ‫ال‬ ‫أحيانا‬component‫إلى‬ ‫نضطر‬ ‫ولذلك‬ ‫المناسبة‬‫تنجيزها‬‫بأنفسنا‬. –‫ال‬ ‫ربط‬ ‫و‬ ‫التكامل‬ ‫عملية‬ ‫أن‬components‫هي‬ ‫و‬ ‫جدا‬ ‫معقد‬ ‫عملية‬ ‫البعض‬ ‫بعضها‬ ‫مع‬ ‫عالي‬ ‫فهم‬ ‫إلى‬ ‫تحتاج‬‫لل‬interfaces‫ال‬ ‫بين‬components. 44
  • 45.
    Software Development LifeCycle (SDLC) Prototyping Model (‫االولي‬ ‫او‬ ‫البدائي‬ ‫)النموذج‬ ■‫تعريف‬: –‫نظ‬ ‫أي‬ ‫يوجد‬ ‫ال‬ ‫أي‬ ‫أبدا‬ ‫قبل‬ ‫من‬ ‫مطبق‬ ‫غير‬ ‫جديدة‬ ‫فكرة‬ ‫ذو‬ ‫جديد‬ ‫نظام‬ ‫تطوير‬ ‫نريد‬‫ام‬ ‫ا‬ ‫لفريق‬ ‫بالنسبة‬ ‫النظام‬ ‫يكون‬ ‫الحالة‬ ‫هذه‬ ‫في‬ ‫و‬ ‫كليا‬ ‫جديد‬ ‫نظام‬ ‫هو‬ ‫بل‬ ‫يشبهه‬‫لعمل‬ ‫غامض‬. –‫يم‬ ‫ال‬ ‫هنا‬ ‫و‬ ‫يريدها‬ ‫التي‬ ‫متطلباته‬ ‫عن‬ ‫التعبير‬ ‫عن‬ ‫قادر‬ ‫غير‬ ‫الزبون‬ ‫يكون‬ ‫عندما‬‫كننا‬ ‫مباشر‬ ‫بشكل‬ ‫الزبون‬ ‫من‬ ‫المتطلبات‬ ‫جمع‬. –‫نوعين‬ ‫يوجد‬ ‫النموذج‬: ■‫مهمل‬. ■‫تطويري‬. 45
  • 46.
    Software Development LifeCycle (SDLC) Prototyping Model (‫االولي‬ ‫او‬ ‫البدائي‬ ‫)النموذج‬ ■‫النموذج‬ ‫هذا‬ ‫محاسن‬: –‫كان‬ ‫حال‬ ‫في‬ ‫الوحيد‬ ‫الحل‬ ‫إنه‬: ■‫تماما‬ ‫جديد‬ ‫نظامنا‬. ■‫متطلباته‬ ‫عن‬ ‫التعبير‬ ‫على‬ ‫قادر‬ ‫غير‬ ‫الزبون‬. ■‫النموذج‬ ‫هذا‬ ‫مساوئ‬: –‫المتطلبات‬ ‫جمع‬ ‫عملية‬ ‫في‬ ‫المستهلك‬ ‫الوقت‬ ‫بسبب‬ ‫ذلك‬ ‫و‬ ‫للوقت‬ ‫مستهلك‬. –‫الرسومات‬ ‫من‬ ‫نموذج‬ ‫من‬ ‫أكثر‬ ‫و‬ ‫واجهة‬ ‫من‬ ‫أكثر‬ ‫بعمل‬ ‫نقوم‬ ‫فقد‬ ‫للجهد‬ ‫مستهلك‬. –‫بإمك‬ ‫عالقة‬ ‫له‬ ‫ذلك‬ ‫ألن‬ ،‫المتطلبات‬ ‫إليجاد‬ ‫حل‬ ‫إلى‬ ‫نصل‬ ‫ال‬ ‫قد‬ ‫ألننا‬ ‫مضمون‬ ‫غير‬‫انية‬ ‫بتصميماتنا‬ ‫الزبون‬ ‫إقناع‬. 46
  • 47.
    Software Development LifeCycle (SDLC) Spiral Model (‫الحلزوني‬ ‫)النموذج‬ ■‫تعريف‬: –‫هي‬ ‫و‬ ‫أساسية‬ ‫قطاعات‬ ‫أربعة‬ ‫من‬ ‫مكون‬ ‫النموذج‬ ‫هذا‬: .1‫التخطيط‬( .Planning) .2‫المخاطر‬ ‫دراسة‬( .Risk analysis) .3‫التطوير‬( .Development) .4‫التقييم‬( .Assessment) –‫المخاطر‬ ‫لدراسة‬ ‫أساسي‬ ‫بشكل‬ ‫موجه‬ ‫النموذج‬ ‫هذا‬. –‫الضخمة‬ ‫األنظمة‬ ‫في‬ ‫إال‬ ‫يطلب‬ ‫ال‬ ‫الحلزوني‬ ‫النموذج‬‫والمعقدة‬. –‫مخطط‬ ‫بين‬ ‫دمج‬ ‫يعتبر‬‫الشاللي‬‫والبروتوتايب‬ ■‫النموذج‬ ‫و‬ ‫الحلزوني‬ ‫النموذج‬ ‫بين‬ ‫الفرق‬ ‫ما‬‫التزايدي‬‫؟‬ –‫النموذج‬ ‫إن‬‫التزايدي‬،‫ملموس‬ ‫منتج‬ ‫على‬ ‫نحصل‬ ‫فقط‬ ‫واحدة‬ ‫دورة‬ ‫بعد‬ –‫إلى‬ ‫نصل‬ ‫ال‬ ‫و‬ ‫دورة‬ ‫من‬ ‫أكثر‬ ‫ندور‬ ‫قد‬ ‫الحلزوني‬ ‫النموذج‬ ‫أما‬product‫إنتاج‬ ‫يتطلب‬ ‫قد‬ ‫أي‬ ‫دورة‬ ‫من‬ ‫أكثر‬ ‫نظام‬. 47
  • 48.
    Software Development LifeCycle (SDLC) Spiral Model (‫الحلزوني‬ ‫)النموذج‬ ■‫النموذج‬ ‫هذا‬ ‫محاسن‬: –‫التغييرات‬ ‫االعتبار‬ ‫بعين‬ ‫يأخذ‬ ‫النموذج‬ ‫هذا‬change‫المخاطر‬ ‫دراسة‬ ‫كذلك‬ ‫و‬risk، ‫الدورات‬ ‫و‬ ‫التكرارات‬ ‫عدد‬ ‫بسبب‬ ‫عالية‬ ‫جودة‬ ‫ذا‬ ‫يكون‬ ‫النموذج‬ ‫بهذا‬ ‫المطور‬ ‫فالنظام‬ ‫للصيا‬ ‫قابل‬ ‫النظام‬ ‫يكون‬ ‫أيضا‬ ‫و‬ ‫النظام‬ ‫هذا‬ ‫على‬ ‫للحصول‬ ‫تنفيذها‬ ‫يتم‬ ‫التي‬‫نة‬. ■‫النموذج‬ ‫هذا‬ ‫مساوئ‬: –‫مؤهالت‬ ‫و‬ ‫خبرات‬ ‫ذو‬ ‫فريق‬ ‫إلى‬ ‫يحتاج‬ ‫و‬ ‫كبير‬ ‫بشكل‬ ‫التطبيق‬ ‫صعب‬ ‫أنه‬ ‫مساوئه‬ ‫الكبيرة‬ ‫المشاريع‬ ‫في‬ ‫يطبق‬ ‫هو‬ ‫و‬ ،‫عالية‬. 48
  • 49.
    Software Development LifeCycle (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 ■ Themost important feature of spiral model is A. requirement analysis. B. risk management. C. quality management. D. configuration management. 54
  • 55.
    Question 1 ■ Themost important feature of spiral model is A. requirement analysis. B. risk management. C. quality management. D. configuration management. 55
  • 56.
    Question 2 ■ Inthe 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 ■ Inthe 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 ■ Thespiral 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 ■ Thespiral 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 ■ Themodel 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 ■ Themodel 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 ■ Fora 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 ■ Fora 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 ■ RADstands for: A. Relative Application Development. B. Rapid Application Development. C. Rapid Application Document. D. None of the mentioned. 64
  • 65.
    Question 6 ■ RADstands for: A. Relative Application Development. B. Rapid Application Development. C. Rapid Application Document. D. None of the mentioned. 65
  • 66.
    Question 7 ■ SDLCstands 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 ■ SDLCstands 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 ■ Whichmodel 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 ■ Whichmodel 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 ■ Selectionof 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 ■ Selectionof 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 ■ Whichtwo 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 ■ Whichtwo 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 ■ Ifyou 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 ■ Ifyou 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 ■ SpiralModel has high reliability requirements. A. True. B. False. 76
  • 77.
    Question 12 ■ SpiralModel has high reliability requirements. A. True. B. False. 77
  • 78.
    Question 13 ■ RADModel has high reliability requirements. A. True. B. False. 78
  • 79.
    Question 13 ■ RADModel has high reliability requirements. A. True. B. False. 79
  • 80.
  • 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 ■ IEEE830-1993 is a IEEE recommendedstandard for A. Software requirement specification. B. Software design. C. Testing. D. Both (A) and (B). 84
  • 85.
    Question 1 ■ IEEE830-1993 is a IEEE recommendedstandard for A. Software requirement specification. B. Software design. C. Testing. D. Both (A) and (B). 85
  • 86.
    Question 2 ■ Ifevery 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 ■ Ifevery 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 ■ SRSis also known as specification of A. White box testing. B. Stress testing. C. Integrated testing. D. Black box testing. 88
  • 89.
    Question 3 ■ SRSis also known as specification of A. White box testing. B. Stress testing. C. Integrated testing. D. Black box testing. 89
  • 90.
    Question 4 ■ Ifevery requirement can be checked by a cost-effectiveprocess, then the SRS is A. verifiable. B. traceable. C. modifiable. D. complete. 90
  • 91.
    Question 4 ■ Ifevery requirement can be checked by a cost-effectiveprocess, then the SRS is A. verifiable. B. traceable. C. modifiable. D. complete. 91
  • 92.
  • 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 ■ Whatis 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 ■ Whatis 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 ■ Whatis 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 ■ Whatis 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 ■ Whichof 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 ■ Whichof 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 ■ Whatis 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 ■ Whatis 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 ■ Whichdiagram in UML emphasizes the time-ordering of messages? A. Activity. B. Sequence. C. Collaboration. D. Class. 109
  • 110.
    Question 5 ■ Whichdiagram in UML emphasizes the time-ordering of messages? A. Activity. B. Sequence. C. Collaboration. D. Class. 110
  • 111.
    Question 6 ■ Ifyou 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 ■ Ifyou 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 ■ Whichdiagram shows the configuration of run-time processingelements? A. Deployment diagram. B. Componentdiagram. C. Node diagram. D. ER-diagram. 113
  • 114.
    Question 7 ■ Whichdiagram shows the configuration of run-time processingelements? A. Deployment diagram. B. Componentdiagram. C. Node diagram. D. ER-diagram. 114
  • 115.
    Question 8 ■ Whichof 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 ■ Whichof 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 ■ Whichof the following UML diagrams has a static view? A. Collaboration. B. Use case. C. State chart. D. Activity. 117
  • 118.
    Question 9 ■ Whichof the following UML diagrams has a static view? A. Collaboration. B. Use case. C. State chart. D. Activity. 118
  • 119.
    Question 10 ■ Whattype of core-relationshipis represented by the symbol in the figure below? A. Aggregation. B. Dependency. C. Generalization. D. Association. 119
  • 120.
    Question 10 ■ Whattype of core-relationshipis represented by the symbol in the figure below? A. Aggregation. B. Dependency. C. Generalization. D. Association. 120
  • 121.
    Question 11 ■ Whichcore element of UML is being shown in the figure? A. Node. B. Interface. C. Class. D. Component. 121
  • 122.
    Question 11 ■ Whichcore element of UML is being shown in the figure? A. Node. B. Interface. C. Class. D. Component. 122
  • 123.
    Question 12 ■ Whattype of relationship is represented by Shape class and Square ? A. Realization. B. Generalization. C. Aggregation. D. Dependency. 123
  • 124.
    Question 12 ■ Whattype of relationship is represented by Shape class and Square ? A. Realization. B. Generalization. C. Aggregation. D. Dependency. 124
  • 125.
    Question 13 ■ Whichof the following diagram is time oriented? A. Collaboration. B. Sequence. C. Activity. D. None of the mentioned. 125
  • 126.
    Question 13 ■ Whichof the following diagram is time oriented? A. Collaboration. B. Sequence. C. Activity. D. None of the mentioned. 126
  • 127.
  • 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
  • 130.
  • 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 ■‫تعريفها‬: –‫المستخدمين‬ ‫حصول‬ ‫مكان‬ExternalEntities‫النظام‬ ‫يقدمها‬ ‫التي‬ ‫الوظائف‬ ‫على‬. –‫ال‬ ‫مثل‬ ‫النظام‬ ‫مع‬ ‫األخرى‬ ‫األنظمة‬ ‫بين‬ ‫للتواصل‬ ‫وسيلة‬API‫ل‬ ‫اختصار‬ ‫وهي‬ Application Program Interface‫ثاني‬ ‫ونظام‬ ‫نظام‬ ‫بين‬ ‫تواصل‬ ‫واجهة‬ ‫أي‬. ■‫ال‬ ‫تقسم‬Interface‫إلى‬: –User Interface:‫النظام‬ ‫مع‬ ‫للتفاعل‬ ‫للمستخدم‬ ‫واجهة‬. –System Interface:‫ل‬ ‫واجهة‬System‫النظام‬ ‫مع‬ ‫ليتفاعل‬. 138
  • 139.
    Question 1 ■ Theworst type of coupling is: A. data coupling. B. control coupling. C. stamp coupling. D. content coupling. 139
  • 140.
    Question 1 ■ Theworst type of coupling is: A. data coupling. B. control coupling. C. stamp coupling. D. content coupling. 140
  • 141.
    Question 2 ■ Thedesired level of coupling is: A. No coupling. B. Control coupling. C. Common coupling. D. Data coupling. 141
  • 142.
    Question 2 ■ Thedesired level of coupling is: A. No coupling. B. Control coupling. C. Common coupling. D. Data coupling. 142
  • 143.
    Question 3 ■ Couplingand cohesion can be represented using a A. cause-effectgraph. B. dependencematrix. C. structurechart. D. SRS. 143
  • 144.
    Question 3 ■ Couplingand cohesion can be represented using a A. cause-effectgraph. B. dependencematrix. C. structurechart. D. SRS. 144
  • 145.
    Question 4 ■ ModulesX 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 ■ ModulesX and Y operate on the same input and output data, then the cohesion is A. Sequential. B. Communicational. C. Procedural. D. Logical. 146
  • 147.
  • 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 ■ Oneof the fault base testing techniquesis A. unit testing. B. beta testing. C. stress testing. D. mutation testing. (‫الطفرات‬ ‫اختبار‬) 162
  • 163.
    Question 1 ■ Oneof the fault base testing techniquesis A. unit testing. B. beta testing. C. stress testing. D. mutation testing. (‫الطفرات‬ ‫اختبار‬) 163
  • 164.
    Question 2 ■ Allthe 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 ■ Allthe 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 ■ Afault simulation testing techniqueis A. Mutation testing. B. Stress testing. C. Black box testing. D. White box testing. 166
  • 167.
    Question 3 ■ Afault simulation testing techniqueis A. Mutation testing. B. Stress testing. C. Black box testing. D. White box testing. 167
  • 168.
    Question 4 ■ Outputcomparators 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 ■ Outputcomparators 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 ■ Alphaand Beta Testing are forms of A. Acceptance testing. B. Integration testing. C. System Testing. D. Unit testing. 170
  • 171.
    Question 5 ■ Alphaand Beta Testing are forms of A. Acceptance testing. B. Integration testing. C. System Testing. D. Unit testing. 171
  • 172.
    Question 6 ■ Themain purpose of integration testing is to find A. design errors. B. analysis errors. C. procedureerrors. D. interface errors. 172
  • 173.
    Question 6 ■ Themain purpose of integration testing is to find A. design errors. B. analysis errors. C. procedureerrors. D. interface errors. 173
  • 174.
    Question 7 ■ Thetesting 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 ■ Thetesting 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 ■ Sitefor Alpha Testing is A. Software Company. B. Installation place. C. Any where. D. None of the above. 176
  • 177.
    Question 8 ■ Sitefor Alpha Testing is A. Software Company. B. Installation place. C. Any where. D. None of the above. 177
  • 178.
    Question 9 ■ Whatis 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 ■ Whatis 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 ■ Unitsand stubs are not needed for unit testing becausethe modules are tested independentlyof one another A. True. B. False. 180
  • 181.
    Question 10 ■ Unitsand stubs are not needed for unit testing becausethe modules are tested independentlyof one another A. True. B. False. 181
  • 182.
    Question 11 ■ Changesmade 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 ■ Changesmade 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 ■ Modifyingthe 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 ■ Modifyingthe 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 ■ Changesmade 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 ■ Changesmade to the system to reduce the future system failure chances is called A. PreventiveMaintenance. B. Adaptive Maintenance. C. Corrective Maintenance. D. Perfective Maintenance. 187
  • 188.
  • 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
  • 192.
  • 193.
    Cyclomatic Complexity ■ Setof 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
  • 196.
  • 197.
    Estimation and Planning ■Milestone: –‫مقدار‬‫من‬ ‫التحقق‬ ‫في‬ ‫تساعد‬ ‫وهي‬ ‫الزمني‬ ‫الجدول‬ ‫على‬ ‫عالم‬ ‫نقاط‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ،‫المشروع‬ ‫في‬ ‫والتطور‬ ‫التقدم‬ –‫المشروع‬ ‫تطوير‬ ‫على‬ ‫يعملون‬ ‫الذين‬ ‫لألشخاص‬ ‫خاصة‬ ‫هي‬. ■Deliverable: –‫ومخططات‬ ‫تقارير‬ ‫من‬ ‫للزبون‬ ‫يسلم‬ ‫ما‬ ‫كل‬ ‫عن‬ ‫عبارة‬ ‫هي‬...‫الخ‬. –‫كل‬ ‫عند‬ ‫يكون‬ ‫أن‬ ‫بالضروري‬ ‫ليس‬Milestone‫هناك‬Deliverable‫الغالب‬ ‫على‬ ‫لكن‬ ‫هناك‬ ‫يكون‬Deliverable –‫وضعنا‬ ً‫فمثال‬Milestone‫مرحلة‬ ‫من‬ ‫انتهينا‬ ‫هل‬ ‫لنعرف‬ ‫التحليل‬ ‫مرحلة‬ ‫نهاية‬ ‫في‬ ‫؟‬ ‫التحليل‬ 197
  • 198.
  • 199.
    Question 1 ■ Ifthe 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 ■ Ifthe 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 ■ Thefeature of the object oriented paradigm which helps code reuse is A. object. B. class. C. inheritance. D. aggregation. 201
  • 202.
    Question 2 ■ Thefeature of the object oriented paradigm which helps code reuse is A. object. B. class. C. inheritance. D. aggregation. 202
  • 203.
    Question 3 ■ Whichof the following statements is true: A. Abstract data types are the same as classes. B. Abstract data types do not allow inheritance. C. Classes cannot inherit from the same base class. D. Object have state and behavior. 203
  • 204.
    Question 3 ■ Whichof the following statements is true: A. Abstract data types are the same as classes. B. Abstract data types do not allow inheritance. C. Classes cannot inherit from the same base class. D. Object have state and behavior. 204
  • 205.
    Question 4 ■ SRDstands for: A. Software requirements definition. B. Structured requirements definition. C. Software requirements diagram. D. Structured requirements diagram. 205
  • 206.
    Question 4 ■ SRDstands for: A. Software requirements definition. B. Structured requirements definition. C. Software requirements diagram. D. Structured requirements diagram. 206
  • 207.
    Question 5 ■ ACOCOMO model is: A. Common Cost Estimation Model. B. ConstructiveCost Estimation Model. C. Complete Cost Estimation Model. D. ComprehensiveCost Estimation Model. 207
  • 208.
    Question 5 ■ ACOCOMO model is: A. Common Cost Estimation Model. B. ConstructiveCost Estimation Model. C. Complete Cost Estimation Model. D. ComprehensiveCost Estimation Model. 208
  • 209.
    Question 6 ■ Themodel that assumes that effort and developmenttime are functions of product size alone is A. Basic COCOMO model. B. IntermediateCOCOMO model. C. Detailed COCOMOmodel. D. All the three COCOMO models. 209
  • 210.
    Question 6 ■ Themodel that assumes that effort and developmenttime are functions of product size alone is A. Basic COCOMO model. B. IntermediateCOCOMO model. C. Detailed COCOMOmodel. D. All the three COCOMO models. 210
  • 211.
    Question 7 ■ Thenext symbol represents A. mandatory 1 cardinality. B. mandatory many cardinality. C. optional 0 or 1 cardinality. D. optional zero-many cardinality. 211
  • 212.
    Question 7 ■ Thenext symbol represents A. mandatory 1 cardinality. B. mandatory many cardinality. C. optional 0 or 1 cardinality. D. optional zero-many cardinality. 212
  • 213.
    Question 8 ■ Eachtime a defect gets detected and fixed, the reliability of a softwareproduct A. increases. B. decreases. C. remains constant. D. cannot say anything. 213
  • 214.
    Question 8 ■ Eachtime a defect gets detected and fixed, the reliability of a softwareproduct A. increases. B. decreases. C. remains constant. D. cannot say anything. 214
  • 215.
    Question 9 ■ Asthe reliability increases, failure intensity A. decreases. B. Increases. C. no effect. D. none of the above. 215
  • 216.
    Question 9 ■ Asthe reliability increases, failure intensity A. decreases. B. Increases. C. no effect. D. none of the above. 216
  • 217.
    Question 10 ■ Thelevel at which the software uses scarceresources is A. Reliability. B. Efficiency. C. Portability. D. all of the above. 217
  • 218.
    Question 10 ■ Thelevel at which the software uses scarceresources is A. Reliability. B. Efficiency. C. Portability. D. All of the above. 218
  • 219.
    Question 11 ■ Allactivities lying on critical path have slack time equal to A. 0 B. 1 C. 2 D. None of above 219
  • 220.
    Question 11 ■ Allactivities lying on critical path have slack time equal to A. 0 B. 1 C. 2 D. None of above 220
  • 221.
    Question 12 ■ Anobject encapsulates A. Data B. Behavior C. State D. Both Data and behavior 221
  • 222.
    Question 12 ■ Anobject encapsulates A. Data B. Behavior C. State D. Both Data and behavior 222
  • 223.
    Question 13 ■ Aggregationrepresents (‫التجميع‬) A. is_a relationship B. part_of relationship C. composed_of relationship D. none of above 223
  • 224.
    Question 13 ■ Aggregationrepresents (‫التجميع‬) A. is_a relationship B. part_of relationship C. composed_of relationship D. none of above 224
  • 225.
    Question 14 ■ Thetools that support different stages of software developmentlife cycle are called: A. CASE Tools B. CAME tools C. CAQE tools D. CARE tools 225
  • 226.
    Question 14 ■ Thetools that support different stages of software developmentlife cycle are called: A. CASE Tools B. CAME tools C. CAQE tools D. CARE tools 226
  • 227.
    Question 15 ■ Requirementscan be refined using A. The waterfall model B. Prototyping model C. The evolutionarymodel D. The spiral model 227
  • 228.
    Question 15 ■ Requirementscan be refined using A. The waterfall model B. Prototyping model C. The evolutionarymodel D. The spiral model 228
  • 229.
    Question 16 ■ Structuredcharts are a productof A. requirements gathering B. requirements analysis C. design D. coding 229
  • 230.
    Question 16 ■ Structuredcharts are a productof A. requirements gathering B. requirements analysis C. design D. coding 230
  • 231.
    Question 17 ■ Aproblem that threatens the successof a project but which has not yet happened: A. bug B. error C. risk D. failure 231
  • 232.
    Question 17 ■ Aproblem that threatens the successof a project but which has not yet happened: A. bug B. error C. risk D. failure 232
  • 233.
    Question 18 ■ Pseudocodecanreplace A. flowcharts B. structurecharts C. decision tables D. cause-effectgraphs 233
  • 234.
    Question 18 ■ Pseudocodecanreplace A. flowcharts B. structurecharts C. décision tables D. cause-effectgraphs 234
  • 235.
    Question 19 ■ Ifa program in its functioninghas not met user requirements is some way, then it is A. an error. B. a failure. C. a fault. D. a defect. 235
  • 236.
    Question 19 ■ Ifa program in its functioninghas not met user requirements is some way, then it is A. an error. B. a failure. C. a fault. D. a defect. 236
  • 237.
    Question 20 ■ CASETool is A. Computer Aided Software Engineering B. ComponentAided Software Engineering C. ConstructiveAided Software Engineering D. Computer Analysis Software Engineering 237
  • 238.
    Question 20 ■ CASETool is A. Computer Aided Software Engineering B. ComponentAided Software Engineering C. ConstructiveAided Software Engineering D. Computer Analysis Software Engineering 238
  • 239.
    Question 21 ■ Softwareconsists of A. Set of instructions + operating procedures B. Programs + documentation + operating procedures C. Programs + hardwaremanuals D. Set of programs 239
  • 240.
    Question 21 ■ Softwareconsists of A. Set of instructions + operating procedures B. Programs + documentation + operating procedures C. Programs + hardwaremanuals D. Set of programs 240
  • 241.
    Question 22 ■ Whichphase is not available in software life cycle? A. Coding B. Testing C. Maintenance D. Abstraction 241
  • 242.
    Question 22 ■ Whichphase is not available in software life cycle? A. Coding B. Testing C. Maintenance D. Abstraction 242
  • 243.
    Question 23 ■ Whichis not a step of requirement engineering? A. Requirements elicitation B. Requirements analysis C. Requirements design D. Requirements documentation 243
  • 244.
    Question 23 ■ Whichis not a step of requirement engineering? A. Requirements elicitation B. Requirements analysis C. Requirements design D. Requirements documentation 244
  • 245.
    Question 24 ■ FASTstands for A. Functional Application Specification Technique B. Fast Application Specification Technique C. Facilitated Application Specification Technique D. None of the above 245
  • 246.
    Question 24 ■ FASTstands for A. Functional Application Specification Technique B. Fast Application Specification Technique C. Facilitated Application Specification Technique D. None of the above 246
  • 247.
    Question 25 ■ Whichis not a size metric? A. LOC B. Function count C. Program length D. Cyclomatic complexity 247
  • 248.
    Question 25 ■ Whichis not a size metric? A. LOC B. Function count C. Program length D. Cyclomatic complexity 248
  • 249.
    Question 26 ■ Softwaredeteriorates rather than wears out because A. software suffers from exposure to hostile environments. B. defects are more likely to arise after software has been used often. C. multiple change requests introduceerrors in component interactions. D. software spare parts become harder to order. 249
  • 250.
    Question 26 ■ Softwaredeteriorates rather than wears out because A. software suffers from exposure to hostile environments. B. defects are more likely to arise after software has been used often. C. multiple change requests introduceerrors in component interactions. D. software spare parts become harder to order. 250
  • 251.
    Question 27 ■ Whatare the three generic phases of software engineering? A. Definition, development, support B. What, how, where C. Programming, debugging, maintenance D. Analysis, design, testing 251
  • 252.
    Question 27 ■ Whatare the three generic phases of software engineering? A. Definition, development, support B. What, how, where C. Programming, debugging, maintenance D. Analysis, design, testing 252
  • 253.
    Question 28 ■ Whichof these terms is a level name in the Capability Maturity Model? A. Ad hoc B. Repeatable C. Reusable D. Organized 253
  • 254.
    Question 28 ■ Whichof these terms is a level name in the Capability Maturity Model? A. Ad hoc B. Repeatable C. Reusable D. Organized 254
  • 255.
    Question 29 ■ Whichof the items listed below is not one of the softwareengineering layers? A. Process B. Manufacturing C. Methods D. Tools 255
  • 256.
    Question 29 ■ Whichof the items listed below is not one of the softwareengineering layers? A. Process B. Manufacturing C. Methods D. Tools 256
  • 257.
    Question 30 ■ Whichof the following are advantages of using LOC (lines of code) as a size oriented metric? A. LOC is easily computed. B. LOC is a language dependentmeasure. C. LOC is a language independentmeasure. D. LOC can be computed before a design is completed. 257
  • 258.
    Question 30 ■ Whichof the following are advantages of using LOC (lines of code) as a size oriented metric? A. LOC is easily computed. B. LOC is a language dependentmeasure. C. LOC is a language independentmeasure. D. LOC can be computed before a design is completed. 258
  • 259.
    Question 31 ■ Whichof the following is not an attribute of software engineering A. Efficiency. B. Scalability. C. Dependability. D. Usability. 259
  • 260.
    Question 31 ■ Whichof the following is not an attribute of software engineering A. Efficiency. B. Scalability. C. Dependability. D. Usability. 260
  • 261.
    Question 32 ■ Akey concept of quality control is that all work products A. are delivered on time and under budget B. have complete documentation C. have measurablespecification for process outputs D. are thoroughly tested before delivery to the customer 261
  • 262.
    Question 32 ■ Akey concept of quality control is that all work products A. are delivered on time and under budget B. have complete documentation C. have measurablespecification for process outputs D. are thoroughly tested before delivery to the customer 262
  • 263.
    Question 33 ■ TheISO quality assurancestandard that applies to software engineering is A. ISO 9000 B. ISO 9001 C. ISO 9002 D. ISO 9003 263
  • 264.
    Question 33 ■ TheISO quality assurancestandard that applies to software engineering is A. ISO 9000 B. ISO 9001 C. ISO 9002 D. ISO 9003 264
  • 265.
    Question 34 ■ Whattypes of models are created during software requirements analysis? A. Functional and behavioral B. Algorithmic and data structure C. Architecturaland structural D. Usability and reliability 265
  • 266.
    Question 34 ■ Whattypes of models are created during software requirements analysis? A. Functional and behavioral B. Algorithmic and data structure C. Architecturaland structural D. Usability and reliability 266
  • 267.
    Question 35 ■ Softwarefeasibility is based on which of the following A. businessand marketing concerns B. scope, constraints, market C. technology, finance, time, resources D. technical prowessof the developers 267
  • 268.
    Question 35 ■ Softwarefeasibility is based on which of the following A. businessand marketing concerns B. scope, constraints, market C. technology, finance, time, resources D. technical prowessof the developers 268
  • 269.
    Question 36 ■ Thesoftware metrics chosen by an organization are driven by the business or technical goals an organization wishes to accomplish. A. True B. False 269
  • 270.
    Question 36 ■ Thesoftware metrics chosen by an organization are driven by the business or technical goals an organization wishes to accomplish. A. True B. False 270
  • 271.