التصميم باستخدام لغة النمذجة الموحدة UML

Download Report

Transcript التصميم باستخدام لغة النمذجة الموحدة UML

‫الفصل الرابع‬
‫إدارة المشروع‬
‫‪Project management‬‬
‫مقدمة‬
‫‪‬‬
‫اإلدارة الجيدة للمشروع هى أقوى وأهم عوامل نجاح‬
‫المشروع‪ ،‬وتسبب الطبيعة غير الملموسة للبرمجيات‬
‫المشاكل المتعددة فى إدارة المشروعات‪ .‬وبالرغم من إتباع‬
‫القواعد فإن أهم األنشطة التى لها تأثير قوى هى ‪:‬‬
‫التخطيط‪ ،‬التوقع‪ ،‬وجدولة المهام‪.‬‬
‫أنشطة اإلدارة‬
‫‪Management activities‬‬
‫‪‬‬
‫تتضمن‪ :‬كتابة المقترح‪ ،‬تخطيط المشروع وجدولته‪ ،‬تكاليف‬
‫المشروع‪ ،‬مراقبة المشروع‪ ،‬إعادة تقدير الوقف‪ ،‬اإلختيار‬
‫الشخصى والتقييم‪ ،‬كتابة التقرير والعروض التقديمية‪.‬‬
‫عموميات اإلدارة‬
‫‪Management commonalities‬‬
‫‪‬‬
‫هيئة أو طاقم المشروع‪ :‬قد ال يمكن تخصيص األشخاص المناسبين‬
‫للعمل فى المشروع‪ ،‬كما ال تسمح الميزانية المخصصة للمشروع‬
‫بإستخدام طاقم من األفراد لهم تكلفة عالية‪ ،‬وقد ال يكون متاحا توفر‬
‫األشخاص الذين يملكون الخبرة المرغوب فيها‪ ،‬وقد ترغب المؤسسة فى‬
‫تطوير مهارات األفراد والموظفين العاملين لديها من خالل مشروع‬
‫البرمجيات‪ ،‬ويحب أن يعمل جهاز اإلدارة فى إطار هذه القيود خاصة‬
‫عندما يكون هناك قصور فى توافر المتخصصين المهرة فى مجال‬
‫تقنية المعلومات وهى الحالة التى تصادف العمل فى مشروعات‬
‫البرمجيات‪.‬‬
‫تخطيط المشروع‬
‫‪Project planning‬‬
‫‪‬‬
‫هو الوقت الكبير المستهلك فى أنشطة إدارة المشروع‪ ،‬وهى‬
‫أنشطة مستمرة من التصور المبدئى حتى تسليم المشروع‪ ،‬ويجب‬
‫أن تتم مراجعة الخطط بإنتظام كلما أتيحت معلومات جديدة‪،‬‬
‫ويمكن تطوير العديد من أنواع الخطط التى تلبى ما يحتاجه دعم‬
‫خطة مشروع البرمجيات مكن ميزانية وجدولة‪.‬‬
Types of project plan
Plan
Quality plan
Validation plan
Configuration
management plan
Maintenance plan
Staff development plan.
Des cription
Des cribes the quality
procedures and
s tandards that will be us ed in a project.
Des cribes the approach, resources and
s chedule used for sys tem validation.
Des cribes the configuration management
procedures and structures to be us ed.
Predicts the maintenance requirements of
the s ystem, maintenance cos ts and
effort
required.
Des cribes how the skills and experience of
the project team
members will be
developed.
‫عملية تخطيط المشروع‬
‫‪Project planning process‬‬
‫‪‬‬
‫تقدير قيود المشروع‪.‬‬
‫‪‬‬
‫عمل تقييمات تمهيدية لمعامالت المشروع‬
‫‪‬‬
‫تعريف أحداث المشروع الهامة وقابلية التسليم‪.‬‬
Project planning process
Establish the project cons traints
Make initial as sess ments of the project parameters
Define project m iles tones and deliverables
while project has not been com pleted or cancelledloop
Draw up project schedule
Initiate activities according to s chedule
Wait ( for a while )
Review project progres s
Revise estimates of project parameters
Update the project s chedule
Re-negotiate project constraints and deliverables
if ( problems arise )then
Initiate technical review and pos sible revis ion
end if
end loop
‫هيكل خطة المشروع يتكون من‬
‫‪Project plan structure‬‬
‫‪‬‬
‫مقدمة‪ ،‬تنظيم المشروع‪ ،‬تحليل المخاطر‪ ،‬متطلبات موارد العتاد‬
‫والبرمجيات‪ ،‬تقسيم العمل‪ ،‬جدولة المشروع‪ ،‬مراقبة اآللية وتقريرها‪.‬‬
‫تنظيم األنشطة‬
‫‪Activity organization‬‬
‫‪‬‬
‫يجب تنظيم األنشطة فى المشروع إلنتاج مخرجات واضحة‬
‫ملموسة لإلدارة للحكم على تقدم المشروع‪ ،‬األحداث الهامة‬
‫والمعالم الرئيسية هى نقطة النهاية وغاية نشاط العمليات‪ ،‬قابلية‬
‫التسليم هى نتائج المشروع التى تسلم إلى المستهلك‪ ،‬تسمح‬
‫عمليات الشالل بالتعريف المباشر الواضح والتقديم لألحداث‬
‫الهامة‪.‬‬
‫جدولة المشروع‬
‫‪Project scheduling‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تقسيم المشروع إلى مهام‪ ،‬تخمين الوقت والموارد الالزمة إلكتمال‬
‫كل مهمة‪.‬‬
‫عملية جدولية مهام المشروع‪:‬‬
‫من هندسة المتطلبات يتم تعريف األنشطة وتعريف إعتمادية‬
‫األنشطة وتقدير موارد األنشطة وتخصيص البشر لإلنشطة إنشاء‬
‫مخططات المشروع للحصول على المخططات البيانية لألنشطة‪.‬‬
The project scheduling process
Identify
activities
Software
requirements
Identify activity
dependencies
Estimate resources
for activities
Allocate people
to activities
Create project
charts
Activity charts
and bar charts
‫مشاكل جدولة المهام‬
‫‪The project scheduling process‬‬
‫‪‬‬
‫توقع صعوبة المشاكل‪ ،‬وبالتالى صعوبة تكلفة حلول التطوير‪.‬‬
‫‪‬‬
‫التتناسب اإلنتاجية مع عدد األشخاص القائمين على تنفيذ‪.‬‬
‫‪‬‬
‫إضافة األشخاص إلى مشروع متأخر قد يزيد التأخير سبب أعباء‬
‫اإلتصاالت‪.‬‬
‫المخططات البيانية وشبكة األنشطة‬
‫‪Bar charts and activity networks‬‬
‫‪‬‬
‫تدوين رسومى يستخدم لتمثيل جدولة مهام المشروع‪ ،‬ويبين تقسيم‬
‫المشروع إلى مهام‪ ،‬واليجب أن تكون المهام قصيرة جدا بحيث‬
‫تتراوح مدتها بين أسبوعين‪ ،‬وتبين مخططات األنشطة إعتمادية‬
‫األنشطة والمسار الحرج لها‪ ،‬وتبين أعمدة المخططات جدولة‬
‫المهام مع وقت التقويم التاريخى‪.‬‬
Task
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
Task durations and
dependencies
Duration (da ys)
8
15
15
10
10
5
20
25
15
15
7
10
Dependencies
T1 (M1)
T2, T4 (M2)
T1, T2 (M3)
T1 (M1)
T4 (M5)
T3, T6 (M4)
T5, T7 (M7)
T9 (M6)
T11 (M8)
Activity network
‫شبكة األنشطة‬
8 days
15 days
M1
T3
15 days
T9
T1
25/7/99
4/7/99
start
14/7/99
5 days
4/8/99
25/8/99
T6
M4
M6
M3
7 days
20 days
15 days
T7
T2
25/7/99
10 days
M2
T4
T11
10 days
M7
T5
5/9/99
11/8/99
T10
18/7/99
M8
15 days
10 days
T12
M5
25 days
T8
Finish
19/9/99
Activity timeline
‫لألنشطة‬
‫الخط الزمنى‬
4/ 7
11/ 7
18 /7
25 /7
1/ 8
8/ 8
15 /8
22 /8
29 /8
5/ 9
12 /9
19 /9
St art
T4
T1
T2
M1
T7
T3
M5
T8
M3
M2
T6
T5
M4
T9
M7
T 10
M6
T 11
M8
T 12
Fi nish
Staff allocation
‫العمل‬
‫تخصيص طاقم‬
4/7
Fred
11/7
18/7
25/
1/8
8/8
15/8 22/8
29/8
5/9
T4
T8
T11
T12
Jane
T1
T3
T9
Anne
T2
T6
Jim
M ary
T7
T5
T10
12/9
19/9
‫إدارة المخاطر‬
‫‪Risk management‬‬
‫‪‬‬
‫‪‬‬
‫تهتم إدارة المخاطر بتعريف المخاطر ورسم الخطط لتقليل تأثيرها‬
‫على المشروع‪.‬‬
‫المخاطرة هى إحتما حدوث ظرف مناوئ‪ ،‬وتؤثر مخاطر المشروع‬
‫على جدولة المهام والموارد‪ ،‬وتؤثؤ مخاطر المنتج على كفاءة‬
‫وأداء البرمجيات التى يجرى تطويرها‪ ،‬وتؤثر مخاطر األعمال‬
‫على تطوير المنظمة أو إنتاج البرمجيات‪.‬‬
‫عملية إدارة المخاطر وتتضمن‬
‫‪The risk management process‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تعريف المخاطرة‪ :‬بتعريف مخاطر المشروع‪ ،‬والمنتج واألعمال‪.‬‬
‫تحليل المخاطرة‪ :‬بتخمين وتقييم وترجيح اإلحتماالت والنتائج‬
‫المنطقية لهذه المخاطر‪.‬‬
‫تخطيط المخاطرة‪ :‬مراقبة المخاطر خالل المشروع‪.‬‬
The risk management process
Risk
identification
Risk analysis
Risk planning
Risk
monitoring
List of potential
risks
Prioritised risk
list
Risk avoidance
and contingency
plans
Risk
assessment
‫تعريف المخاطرة‬
Risk identification
‫ مخاطر‬،‫ المخاطر التنظيمية‬،‫ مخاطر البشر‬،‫مخاطر التقنية‬
.‫ مخاطر التقييم‬،‫المتطلبات‬
Organisational - People risks - Technology risks
Estimation risks - Requirements risks -risks


‫المخاطر وأنواعها‬
‫فيما يلى نوع المخاطرة والمخاطر المحتملة‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مخاطرة تقنية‪ :‬قد ال تتمكن قاعدة البيانات المستخدمة فى النظام‬
‫من العمل والمعالجة كلما زاد معدل إنتقال البيانات الكثير المتوقع‬
‫مع الوقت‪.‬‬
‫البشر‪ :‬حاجة إمداد طاقم العمل بمهارات مطلوبة‪.‬‬
‫التنظيمية‪ :‬إعادة تشكيل بنية المنظمة قد يؤدى إلى إدارة مختلفة‬
‫مسئولة عن المشروع‪.‬‬
‫المخاطر وأنواعها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫(تابع)‬
‫األدوات‪ :‬الشفرة الملدة بواسطة أدوات هندسة البرمجيات بمساعدة‬
‫الكمبيوتر غير كافية‪ ،‬كما قد اليمكن تجميع أو توافر تكامل‬
‫أدوات هندسة البرمجبات بمساعدة الكمبيوتر‪.‬‬
‫المتطلبات‪ :‬تغيير المتطلبات تحتاج إعادة أعمال لتصميم‪ ،‬كما قد‬
‫يفشل الزبون فى فهم حتمية تغيير المتطلبات‪.‬‬
‫التقدير‪ :‬عدم التخمين والتقدير الصحيح للوقت المطلوب فى‬
‫تطوير البرمجيات‪ ،‬كما قد اليكون هناك تخمين وتقدير صحيح‬
‫إلصالح األعطال‪ ،‬وحجم البرمجيات‪.‬‬
‫تحليل المخاطر‬
‫‪Risk analysis‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تخمين وتقدير إحتمالية ومدى جدية كل خطر‪ ،‬وقد يكون إحتمال‬
‫الخطر منخفضا أو متوسطا أو عاليا جدا‪ ،‬وقد تكون تأثيرات‬
‫الخطر فاجعة أو خطيرة أو مقبولة أو ضئيلة غير مؤثرة‪.‬‬
‫تخطيط المخاطر‪:‬‬
‫وضع كل مخاطرة فى اإلعتبار‪ ،‬وتطوير إستراتيجية للتعامل مع‬
‫هذه المخاطرة‪.‬‬
‫مراقبة المخاطرة‬
‫‪Risk monitoring‬‬
‫‪‬‬
‫تقدير كل المخاطر المعرفة على فترات منتظمة لتقدير ما إذا‬
‫كانت سوف تصبح أقل أو أكثر إحتماال‪ .‬أيضا تقدير ما إذا كانت‬
‫تأثيرات المخاطرة قد تغيرت‪ .‬يجب مناقشة كل مخاطرة رئيسية فى‬
‫إجتماعات تقدم إدارة المشروع الدورية‪.‬‬
‫الفصل الخامس‬
‫لغة النمذجة الموحدة‬
‫‪UML‬‬
‫مقدمة‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تقدم لغة النمذجة الموحدة مجموعة من أفضل خبرات الممارسات‬
‫الهندسية التى ثبت نجاحها فى نمذجة النظم الكبيرة والمعقدة‪ ،‬وهى جزء‬
‫مهم من التطوير الكائنى المنحى للبرمجيات وعمليات تطوير‬
‫البرمجيات‪.‬‬
‫ليست لغة النمذجة الموحدة منهجية لبناء أو تصميم البرمجيات‬
‫وتطويرها‪.‬‬
‫ال ترتبط لغة النمذجة الموحدة بمنهجية أو طرق إنتاج البرمجيات‪،‬‬
‫ويمكن توظيف هذه اللغة على مختلف العمليات البرمجية بغض النظر‬
‫عن المنهجية المتبعة‪.‬‬
‫تتألف لغة النمذجة الموحة من أربع طبقات أساسية تقسم كل طبقة بدورها إلى‬
‫طبقات فرعية وهى بناء على التجريد تقسم إلى‪:‬‬
‫طبقة كائنات المستخدم‬
‫‪User Objects Layer‬‬
‫‪‬‬
‫‪‬‬
‫هى الطبقة السطحية العامة التى يستخدمها الذين يتعاملون مع لغة‬
‫النمذجة الموحدة‪ ،‬وتتألف من تسعة مخططات رئيسية باإلضافة إلى‬
‫كائنات وأدوات مساعدة وهى الطبقة األكثر وضوحا وتوصيفا‪ ،‬وتشرح‬
‫كتب تعليم اللغة هذه الطبقة‪ ،‬والمستخدم هنا المقصود هو مستخدم‬
‫اللغة وليس المستخدم النهائى للبرمجية أو المنتج البرمجى‪ ،‬تشمل‬
‫الطبقة األولى المخططات التسعة التالية‪.‬‬
‫مخطط حاالت إلستخدام‪ ،‬مخطط الفئة‪ ،‬مخطط الكائن‪ ،‬مخطط‬
‫النشاط‪ ،‬مخطط التعاون‪ ،‬مخطط الحالة‪ ،‬مخطط التتابع‪ ،‬مخطط‬
‫المكونات‪ ،‬مخطط التوزيع‪.‬‬
‫الطبقة الثانية تسمى طبقة النموذج‬
‫‪Model Layer‬‬
‫‪‬‬
‫وتكون فى المرحل األولى من التحليل حيث تحتوى على‬
‫مفاهيم موضوع التحليل كفهم النظام بشكل عام أو مجال‬
‫التحليل أو مجال النظام‪ ،‬ويستخدم هذه الطبقة محلل النظام‬
‫أثناء عمله قبل نضج فكرة النظام أو وضوحه بتوصيف أقل‬
‫من طبقة المستخدم األولى‪.‬‬
‫الطبقة الثالثة‪ :‬طبقة ما وراء النموذج‬
‫‪Meta Model Layer‬‬
‫‪‬‬
‫وتعنى هذه الطبقة بالمفاهيم المتعلقة بلغة النمذجة الموحدة‬
‫كمفهوم الصنف والظاهرة ونوع البيانات والتجريد واألنماط‬
‫وغيرها من مفاهيم اللغة‪ ،‬وهى طبقة تصف ما يجرى فى‬
‫النموذج وتتألف من ثالث حزم رئيسية هى‪ :‬حزمة األساس‬
‫حزمة العناصر السلوكية‪ ،‬حزمة إدارة النموذج‪.‬‬
‫الطبقة الرابعة‪ :‬طبقة ما وراء ما وراء النموذج‬
‫‪Meta meta model layer‬‬
‫‪‬‬
‫طبقة ال تهم معظم محللى النظم حيث تشكل أساس اللغة‬
‫وتهتم بلغة كتابة النمذجة الموحدة‪ ،‬وتهم مطورى أدوات لغة‬
‫النمذجة الموحدة مثل البرامج التى تؤتمت المخططات‬
‫وترسمها‪.‬‬
‫مكونات لغة النمذجة الموحدة‬
‫‪UML Components‬‬
‫‪‬‬
‫‪‬‬
‫تحتوى على عدد من العناصر الرسومية التى تدمج مع المخططات‪،‬‬
‫وألنها لغة فإن لها قواعدها فى دمج هذه العناصر‪.‬‬
‫أن الهدف من المخططات هو تقديم النظام من وجهات نظر متعددة‪،‬‬
‫وهذه المجموعة المتعددة من وجهات النظر تسمى بالنموذج‪ ،‬فنموذج‬
‫لغة النمذجة لموحدة يصف ما المفروض أن يفعله النظام‪.‬‬
‫وتحتوى اللغة على تسعة نماذج أساسية هى‬
‫مخطط األنشطة‬
‫‪‬‬
‫مخطط الفئات‬
‫‪‬‬
‫‪‬‬
‫مخطط الكائن‬
‫‪‬‬
‫‪‬‬
‫مخطط حالة اإلستخدام‬
‫‪‬‬
‫مخطط المكون‬
‫‪‬‬
‫مخطط الحالة‬
‫‪‬‬
‫مخطط التجهيز‬
‫‪‬‬
‫مخطط التتابع‬
‫مخطط التعاون‬
‫أنواع مخططات لغة النمذجة الموحدة‬
‫‪UML Diagrams‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مخطط حالة اإلستخدام‪ :‬التى تعرض العالقة بين الفعلة ‪actors‬‬
‫وحاالت اإلستخدام‪.‬‬
‫مخططات الفئة‪ :‬التى تنمذج هيكل الفئة المحتويات بإستخدام عناصر‬
‫التصميم مثل الفئات والحزم والكائنات وتعرض أيضا العالقات مثل‬
‫المحتوى والوراثة واإلرتباطات وغيرها‪.‬‬
‫مخططات التفاعل‪ :‬وتشمل‬
‫مخطط التتابع‪ :‬الذى يعرض التتابع الزمنى للكائنات المشاركة فى‬
‫التفاعل‪ ،‬ويتكون من بعد رأسى للزمن وبعد افقى للكانئات المختلفة‪.‬‬
‫أنواع مخططات لغة النمذجة الموحدة‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫(تابع)‬
‫مخطط التعاون‪ :‬ويعرض التفاعالت التى تنتظم حول الكائنات‬
‫والوصالت بينها وبعضها البعض‪ ،‬وتستخدم األرقام لبيان تتابع‬
‫الرسائل‪.‬‬
‫مخطط الحالة‪ :‬يعرض تتابع الحاالت التى يكون عليها كائن التفاعل‬
‫خالل دورة حياته إستجابة إلستقبال تنيه مع إستجابته وأفعاله‪.‬‬
‫مخطط النشاط‪ :‬يعرض مخطط حالة خاصة حيث تكون معظم‬
‫الحاالت حاالت أفعال ومعظم التعامالت تم قدحها بواسطة إتمام أفعال‬
‫الحاالت المصدر‪ ،‬ويركز هذا المخطط على التدفقات المقادة بالمعالجة‬
‫الداخلية‪.‬‬