INTRODUCTION

Download Report

Transcript INTRODUCTION

‫نمذجة إجرائيات األعمال‬
Business Process Modeling
‫وصف عام لمحتوى المادة‬
‫• إجرائيات تطوير نظم المعلومات‬
‫– مراحل دورة حياة المنتج البرمجي‬
‫– نماذج أساسية إلجرائيات التطوير‬
‫• اإلجرائية الموحدة لتطوير نظم المعلومات‪:‬‬
‫– مبادئ الهندسة غرضية التوجه‬
‫– اإلجرائية التكرارية التزايدية‬
‫• نمذجة التحليل والتصميم باستخدام لغة النمذجة الموحدة‪:‬‬
‫–‬
‫–‬
‫–‬
‫–‬
‫‪2‬‬
‫نمذجة حاالت االستخدام وبناء مخططاتها‬
‫نمذجة الصفوف وعالقاتها وبناء مخطط الصفوف‬
‫نمذجة السلوك (مخططات التسلسل ومخططات النشاط)‬
‫نمذجة واجهات االستخدام‬
‫‪ITA330_F12_S1‬‬
‫ما هي “إجرائية العمل”؟‬
‫يمكن تعريف إجرائية العمل (‪ )Business Process‬بأنها مجموعة‬
‫من األنشطة أو المهام المهيكلة والمترابطة والتي ُتنتج بعد نجاح‬
‫تنفيذها خدمة أو منتجا يحقق غاية محددة لزبون محدد‪.‬‬
‫يمكن التمييز بين ثالثة أنماط من إجرائيات األعمال‪:‬‬
‫‪ .1‬اإلجرائيات اإلدارية (‪ :)Management Processes‬وهي الموجهة‬
‫إلدارة عمل مؤسسة على المستوى األعلى (إدارة استراتيجية)‪.‬‬
‫‪ .2‬اإلجرائيات العملياتية (‪ :)Operational Processes‬وهي المتعلقة‬
‫بجوهر العملية اإلنتاجية والتي تعطي المنتج قيمته (عمليات الشراء‪،‬‬
‫التصنيع‪ ،‬التسويق‪ ،‬المبيعات‪.)...‬‬
‫‪ .3‬اإلجرائيات الداعمة (‪ :)Supporting Processes‬موجهة لدعم‬
‫اإلجرائيات العملياتية (المحاسبة‪ ،‬التوظيف‪ ،‬الدعم الفني‪.)...‬‬
‫‪3‬‬
‫‪ITA330_F12_S1‬‬
‫أنماط اإلجرائيات ومستويات اإلدارة‬
‫• مستويات اإلدارة الثالث‪:‬‬
‫– استراتيجي )‪.(Strategic‬‬
‫– تكتيكي )‪.(Tactical‬‬
‫– عملياتي )‪.(Operational‬‬
‫• التطبيقات والحلول الموافقة لمستويات القرار‪ :‬يبين الشكل في الشريحة‬
‫التالية التطبيقات والحلول الموافقة لمستويات القرار المختلفة في المؤسسة‪.‬‬
‫– المستوى االستراتيجي‪ :‬التطبيقات والحلول التي تعود على المؤسسة بالفائدة األكبر‪،‬‬
‫لكنها أيضا الحلول األصعب تحقيقا فهي تحتاج الستخدام أحدث التقانات كما تتطلب‬
‫درجة عالية من المهارة والتصميم التخصصي‪ .‬وهذه األنظمة هي التي تعطي المؤسسة‬
‫قدرتها التنافسية‪.‬‬
‫– المستوى العملياتي‪ :‬أنظمة روتينية تستخدم تقانات قواعد المعطيات التقليدية وغالبا ما‬
‫تبنى بتخصيص حلول موجودة مسبقا‪.‬‬
‫‪4‬‬
‫‪ITA330_F12_S1‬‬
‫أنماط نظم المعلومات ومستويات اإلدارة‬
‫النظم والتقانات الداعمة لمستويات القرار المختلفة‬
‫مستوى اتخاذ القرار‬
‫استراتيجي‬
‫تكتيكي‬
‫عملياتي‬
‫‪5‬‬
‫موضوع اهتمام القرار‬
‫الداعم ت ت ت ت ت‬
‫االس ت ت ت ت ت ا‬
‫لغ ت ت ت المىسس ت ت ت ع ت ت ت‬
‫المدى الطو ل‬
‫تطبيقات نظم المعلومات‬
‫النمطية‬
‫حلول تقانات المعلومات‬
‫النمطية‬
‫نق ت ت ت ت فت ت ت تتت المعط ت ت ت ت‬
‫ح ت ت ت ت ت ت ت ت ت ت ت تتل ال س ت ت ت ت ت ت ت ت ت ت ت تتو‬
‫ط ت ت ت ت ت ت ت ت ط (ط ت ت ت ةح ت ت ت ) ةدا ة‬
‫والمب ع ت ت ت ت ت ت ت ت‬
‫المع ف ‪.‬‬
‫اإلن ج ق م األداء‪.‬‬
‫الس ست ت ت ت ت ت ت ت ت الداعمت ت ت ت ت ت ت ت ت ح ت ت تتل الموازنت ت ت ت ق ت ت تتد م ت ت ت ت ت ت ت ت زن المعط ت ت ت ت ت ت ت ت ت‬
‫دولت ت د المع ل ت ال ح ت و ا‬
‫أله ت تتداؤ المىسست ت ت ع ت ت ت ك ل ال وا‬
‫الم ت تتدى الق ت ت ت ول ت ت ت م ن المو ت ت ت ت ت ت ت تتودا‬
‫دمت ت ت ت ت ت ت ت ت ال دول‪.‬‬
‫الزب ن‪.‬‬
‫الموا د‬
‫األنشت ت تتط ال وم ت ت ت ودعت ت تتم ة تتدا ال وا ت التتتو ة‬
‫تق الش اء المح سب‬
‫اإلن ج‬
‫قواعد المعط ت‬
‫المن قال ‪.‬‬
‫مع ل ت‬
‫‪ITA330_F12_S1‬‬
‫إجرائية العمل (نموذج عام)‬
‫‪6‬‬
‫‪ITA330_F12_S1‬‬
‫ما هو النموذج؟‬
‫• النموذج هو محاولة لتبسيط الواقع‪.‬‬
‫‪7‬‬
‫‪ITA330_F12_S1‬‬
‫لم نقوم ببناء النماذج؟‬
‫• نبني النموذج لنفهم النظام الذي ننوي تطويره فهما أفضل‪.‬‬
‫• تحقق النمذجة أربعة أهداف أساسية‪:‬‬
‫–‬
‫–‬
‫–‬
‫–‬
‫تساعدنا على معاينة النظام كما نريده أن يكون‪.‬‬
‫تسمح لنا بتوصيف بنية النظام وسلوكه‪.‬‬
‫تزودنا بقالب يرشدنا أثناء بناء النظام‪.‬‬
‫ّ‬
‫توثق القرارات التي اتخذناها‪.‬‬
‫• نبني نماذج لألنظمة المعقدة التي يتعذر فهمها بكليتها‪.‬‬
‫‪8‬‬
‫‪ITA330_F12_S1‬‬
‫لم نقوم ببناء النماذج؟‬
‫على مستوى اإلجراء‬
‫لبناء تصور وفهم مشترك لطريقة تنفيذ اإلجراء‬
‫للبحث عن الخطوات المتناقضة أو المكررة أو الناقصة لضمان فعالية‬
‫اإلجراء‪.‬‬
‫لدراسة األنشطة المالئمة للوصول ألهداف اإلجراء وتقييمها‪.‬‬
‫لتعديل إجراء عام بحيث يصبح مالئما لحالة محددة سيُستخدم فيها‪.‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪9‬‬
‫‪ITA330_F12_S1‬‬
‫ما المقصود بـ “نمذجة إجرائيات األعمال ”؟‬
‫في هندسة النظم‪ :‬هي تمثيل إجرائيات عمل المؤسسة بما يسمح‬
‫بتحليلها وتحسينها (وتوثيقها أيضا)‪.‬‬
‫• أكثر الطرق شيوعا‪ :‬مخطط تدفق العمل (‪.)Workflow Diagram‬‬
‫• يقوم بالعملية عادة محللو األعمال (‪ )Business analysts‬والمدراء‬
‫الذين يتطلعون إلى تحسين كفاءة (‪ )efficiency‬وجودة (‪)quality‬‬
‫اإلجرائيات‪.‬‬
‫• قد تتطلب التحسينات التي جرى توصيفها استخدام تقانة المعلومات (وقد‬
‫ال تتطلب ذلك)‪.‬‬
‫‪10‬‬
‫‪ITA330_F12_S1‬‬
‫بعض أدوات النمذجة التقليدية‬
.)Business Workflow( ‫مخطط تدفق األعمال‬
.)Entity Relationship Diagram – ERD( ‫مخطط عالقات الكيانات‬
.)Data Flow Diagram – DFD( ‫مخطط تدفق المعطيات‬
.)Data Dictionary – DD( ‫قاموس المعطيات‬
.)Process Description Tools( ‫أدوات توصيف اإلجراءات‬
ITA330_F12_S1
•
•
•
•
•
11
‫مخطط تدفق أعمال‬
ContractorPM
PM
Contractor
Change
Change
ContractorPM
PM Change
ChangeControl
ControlBoard
Board
Contractor
Control
Board
Control Board
ContractorPM
PM CACAPM
PM
Contractor
Change Management Process
ITA330_F12_S1
Appendix A –
Section 1
Initiate a Change
Request
Register in CR
Log
Appendix A –
Section 2
Assess Change
Impact
Approve/Reject
(Evaluate & Classify
the Change)
Approved
Decision
?
Appendix A –
Section 3
More Info
Required
Return to Beneficiary
Rejected
Update
Project
Plan (if
applicable),
Update CR
Log
Implement
Change
Verify Successful
Implementation
Appendix A –
Section 4
Close Change
Requset
Update CR
Log
12
‫مخطط عالقات الكيانات‬
‫‪13‬‬
‫‪ITA330_F12_S1‬‬
‫مخطط تدفق المعطيات‬
Context diagram DFD for a grading system.
ITA330_F12_S1
14
‫أدوات توصيف اإلجراءات‬
(Process Description Tools)
.)Modular Design( ‫التصميم الوحدوي‬
.)Structured English( ‫اللغة المهيكلة‬
.)Decision Tables( ‫جداول القرار‬
.)Decision Trees( ‫أشجار القرار‬
ITA330_F12_S1
•
•
•
•
15
‫التصميم الوحدوي‬
‫‪Modular Design‬‬
‫• تعتمد على تراكيب من ثالث بنى منطقية (تسمى أحيانا‬
‫بنى تحكم) وتشكل كتل بناء اإلجراء‪:‬‬
‫‪ .1‬التسلسل (‪.)Sequence‬‬
‫‪ .2‬االختيار (‪.)Selection‬‬
‫‪ .3‬التكرار (‪.)Iteration – looping‬‬
‫‪16‬‬
‫‪ITA330_F12_S1‬‬
‫اللغة المهيكلة‬
‫‪Structured Language‬‬
‫• يوصف اإلجراء بصيغة نصية تحترم القواعد التالية‪:‬‬
‫• استخدام بنى التحكم األساسية الثالث فقط (التسلسل واالختيار‬
‫والتكرار)‪.‬‬
‫• تنسيق النص (باستخدام اإلزاحة) لتسهيل القراءة‪.‬‬
‫• استخدام عدد محدود من المفردات بما فيها تلك المعرفة في قاموس‬
‫المعطيات وبعض المفردات لوصف قواعد المعالجة‪.‬‬
‫‪17‬‬
‫‪ITA330_F12_S1‬‬
‫جداول القرار‬
‫‪Decision Tables‬‬
‫–جدول يبين كل التوليفات الممكنة من الشروط وما يقابلها من‬
‫أفعال‪.‬‬
‫‪18‬‬
‫‪ITA330_F12_S1‬‬
‫أشجار القرار‬
‫‪Decision Trees‬‬
‫–تمثيل بياني للشروط واألفعال الموجودة في جداول القرار‪.‬‬
‫‪19‬‬
‫‪ITA330_F12_S1‬‬
‫مشكالت أدوات النمذجة السابقة‬
‫• أين تظهر وجهة نظر الزبون؟‬
‫• تصعب قراءتها من قبل غير االختصاصي (تتعامل غالبا مع‬
‫تفاصيل فنية)‪.‬‬
‫• صعوبة ضمان التكامل (‪ )Integrity‬واالنسجام (‪)Coherence‬‬
‫بين النماذج المختلفة‪.‬‬
‫‪20‬‬
‫‪ITA330_F12_S1‬‬
‫العوامل المؤثرة على نجاح‪/‬فشل البرمجيات‬
‫متى نقول عن مشروع برمجي إنه فاشل؟‬
‫بالرغم من تعدد وجهات النظر‪ ،‬يبقى رضى الزبون هو المعيار‬
‫األساسي‪ ،‬وعليه يمكن القول عن مشروع برمجي إنه مشروع‬
‫فاشل إذا‪:‬‬
‫ب المنتج البرمجي احتياجات الزبون‬
‫• لم يل ِ‬
‫• تأخر تسليم المنتج عن الموعد المتوقع أو المخطط له‬
‫• تضمن المنتج عددا هاما من األخطاء‬
‫‪21‬‬
‫‪ITA330_F12_S1‬‬
‫معلومات إحصائية (‪)1‬‬
‫• تبين الدراسات اإلحصائية أن مشاريع البرمجيات هشة علميا وعرضة للفشل‬
‫أكثر من المشاريع الهندسية األخرى‪.‬‬
‫• أظهرت نتائج ابحاث أجرتها مجموعة ‪ Standish Group‬أن ‪ %31.1‬من‬
‫المشاريع البرمجية قد ألغيت قبل أن يُستكمل بناؤها‪ ،‬وأن ‪ %52.7‬من‬
‫المشاريع بلغت كلفتها ‪ %189‬من الكلفة المتوقعة‪.‬‬
‫• وقد أظهرت إحصائيات أخرى شملت شركات برمجيات بحجوم وأنماط‬
‫مختلفة أننا‪:‬‬
‫"‪...‬نواجه فشال في المشاريع البرمجية أكثر بكثير مما نتوقع‪ ،‬واألكثر من‬
‫ذلك أنه ال يمكن التنبؤ بفشل المشاريع البرمجية‪ ،‬فهذا يحدث في كل الدول‪،‬‬
‫في الشركات الكبيرة والصغيرة‪ ،‬في المؤسسات التجارية كما في المنظمات‬
‫غير الربحية‪ ،‬وفي المؤسسات الحكومية وبغض النظر عن السمعة التي‬
‫تتمتع بها تلك الشركات والمؤسسات‪"...‬‬
‫‪22‬‬
‫‪ITA330_F12_S1‬‬
‫معلومات إحصائية (‪)2‬‬
‫نتائج إحصاءات ‪( Standish Group‬أجري البحث عام ‪:)2005‬‬
‫‪23‬‬
‫‪ITA330_F12_S1‬‬
‫أسباب فشل المشاريع البرمجية (‪:)Standish Group‬‬
‫السبب‪/‬العامل‬
‫‪ .1‬نقص المع وم‬
‫ال ت قدمه المس دم و الزبون‬
‫‪ .2‬عدم اك م ل الم ط ب‬
‫‪ .3‬غ‬
‫‪ .4‬غ‬
‫الم ط ب‬
‫والموا ت‬
‫و ق و الدعم اإلدا ي‬
‫‪ .5‬ضعؤ الكت ءا‬
‫التن‬
‫‪%12.8‬‬
‫‪%12.3‬‬
‫‪%11.8‬‬
‫‪%7.5‬‬
‫‪%7‬‬
‫‪ .6‬ق الموا د‬
‫‪%6.4‬‬
‫‪ .7‬الواقع ال وقع‬
‫‪%5.9‬‬
‫‪ .8‬عدم وضوح األهداؤ‬
‫‪%5.3‬‬
‫‪ .9‬الواقع األط الزمن‬
‫‪%4.3‬‬
‫‪ .10‬ال طو ال قنت‬
‫‪%3.7‬‬
‫سب‬
‫‪24‬‬
‫والموا ت‬
‫النسبة‬
‫ى‬
‫‪%23‬‬
‫‪ITA330_F12_S1‬‬
‫ل َم تتعرض المشاريع البرمجية للفشل؟‬
‫‪ .1‬مس وى نضج هندس الب م‬
‫‪ .2‬طب ع المن ج الب م ت (من ح ث كونه م دًا وغ م موس)‬
‫‪ .3‬غ الم ط ب والموا ت ثن ء العمل‬
‫‪ .4‬سوء ةدا ة الوق‬
‫‪ .5‬ضعؤ المه ا اإلدا‬
‫منه العمل (دو ة ح ة المن ج الب م ت) او اس دام منه‬
‫‪ .6‬غ‬
‫ال وث و ضعته‬
‫‪ .7‬غ‬
‫‪ .8‬سوء و ؤ الم ط ب الب م‬
‫‪ .9‬ق و اال ب ا‬
‫‪.10‬سوء ةدا ة الموا د البش ل مش وع‬
‫‪.11‬عدم االه م م بإدا ة اإل دا ا والنسخ‬
‫هل ةدا ة الم ط ‪.‬‬
‫‪.12‬ق و و ح‬
‫‪25‬‬
‫غ‬
‫من سب ‪.‬‬
‫‪ITA330_F12_S1‬‬
‫تصنيف أسباب الفشل‬
‫• أسباب جوهرية مرتبطة بالتعقيد المالزم للبرمجيات (من حيث‬
‫كونها منتجات مجردة غير ملموسة)‪.‬‬
‫• أسباب طارئة‪ :‬الصعوبات الناجمة عن الخبرات المتعلقة بإنتاج‬
‫البرمجيات والتي يمكن إعادتها إلى‪:‬‬
‫‪ .1‬التخطيط واإلدارة‬
‫‪ .2‬العامل البشري‬
‫‪ .3‬اإلجرائية (بما فيها لغة النمذجة وأدواتها)‪.‬‬
‫‪26‬‬
‫‪ITA330_F12_S1‬‬
‫الحقول ذات الصلة بالموضوع‬
)Business Planning( ‫التخطيط‬
)Project Management( ‫إدارة المشاريع‬
)Quality Management( ‫إدارة الجودة‬
ITA330_F12_S1
27
‫تخطيط النظام‬
‫‪ -1‬مقدمة‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪28‬‬
‫دور التخطيط في مشاريع نظم المعلومات‪.‬‬
‫استراتيجية العمل‪ :‬يجري تحديد استراتيجية العمل عبر إجرائيات متنوعة‬
‫حيث تهتم مناهج وضع االستراتيجيات بدراسة إجرائيات العمل األساسية في‬
‫المؤسسة بهدف وضع تصور مستقبلي على المدى البعيد لنمط وآلية العمل‬
‫ومن ثم إعطاء األولوية للمواضيع والمشكالت التي يمكن حلها باستخدام‬
‫تقانات المعلومات‪.‬‬
‫استراتيجيات العمل في المؤسسات الصغيرة‪ :‬تختار المؤسسات الصغيرة‬
‫نظم المعلومات التي ترغب بتطويرها تبعا ألكثر مشكالت العمل إلحاحا‪ .‬فإذا‬
‫تغيرت بنية عمل المؤسسة أو تغيرت شروط العمل داخلها تضطر لتعديل‬
‫نظم المعلومات الموجودة فيها من جديد‪.‬‬
‫استراتيجيات العمل في المؤسسات الكبيرة‪ :‬تقوم المؤسسات الكبيرة بصياغة‬
‫المحيط وتشكيله تبعا الحتياجاتها الحالية‪.‬‬
‫‪ITA330_F12_S1‬‬
‫تخطيط النظام‬
‫‪ -2‬طرق وضع الخطط‬
‫•‬
‫طرق وضع الخطط‪:‬‬
‫– ‪( SWOT‬اختصارا للكلمات األربع‪Strengths, Weakness, Opportunities, .‬‬
‫‪ Threats‬أي‪ :‬القوة‪ ،‬الضعف‪ ،‬الفرص‪ ،‬التحديات)‬
‫– استراتيجية المرونة ‪ ،Value Chain Model( VCM‬أي نموذج سلسلة القيمة)‪.‬‬
‫– الطريقة ‪ Business Process Reengineering( BPR‬أي إعادة هندسة إجرائية‬
‫العمل)‬
‫– النموذج ‪ ،Information System Architecture( ISA‬أي بنيان نظام‬
‫المعلومات)‪ :‬لتقدير احتياجات المؤسسة من المعلومات‬
‫•‬
‫تشترك طرق التخطيط المذكورة كلها بخاصية هامة‪ ،‬فهي كلها تركز على واقعية الفعل‬
‫(القيام بالفعل المطلوب فعال ‪ (effectiveness -‬بدال من التركيز على الفعالية (تنفيذ العمل‬
‫بشكل صحيح ‪ ،)efficiency -‬فحل المسألة الخطأ بطريقة فعالة ال يفيد بشيء‪.‬‬
‫‪29‬‬
‫‪ITA330_F12_S1‬‬
‫العامل البشري‬
‫األطراف المعنية (‪)Stakeholders‬‬
‫• الطرف المعني‪ :‬هو أي شخص (أو جهة) معني بالمشروع البرمجي بطريقة‬
‫أو بأخرى‪ ،‬سواء كان سيتأثر بالنظام أم سيؤثر على تطويره أو استخدامه‪،‬‬
‫ونميز هنا بين‪:‬‬
‫– مالك النظام (‪)System Owner‬‬
‫– المستخدمون‬
‫– المطورون (محللون‪ ،‬مصممون‪ ،‬مبرمجون‪.)....‬‬
‫(ثمة أطراف أخرى‪ :‬منافسون‪ ،‬شركاء‪)...‬‬
‫‪30‬‬
‫‪ITA330_F12_S1‬‬
‫العامل البشري‬
‫دوره وأثره‬
‫•‬
‫دور العامل البشري في فشل البرمجيات‪:‬‬
‫– من ناحية الزبون‪:‬‬
‫• ال ُتفهم كل احتياجات الزبون أو يُفهم بعضها خطأ‪.‬‬
‫• تتغير متطلبات الزبون بتواتر كبير‪.‬‬
‫• الزبائن غير مهيئين لتقديم موارد كافية للمشروع‪.‬‬
‫• ال يريد المستخدمون أن يتعاونوا مع المطورين‪.‬‬
‫• للزبائن تصورات وتوقعات غير منطقية‪.‬‬
‫• لم يعد النظام مفيدا للزبائن‪.‬‬
‫– من ناحية المطورين‪ :‬قد تفشل المشاريع أيضا ألن المطورين ليسوا‬
‫على المستوى المطلوب ألداء المهمة‪.‬‬
‫‪31‬‬
‫‪ITA330_F12_S1‬‬
‫مهارات محلل األنظمة‬
‫• معرفة عملية بتقانات المعلومات‪.‬‬
‫• خبرة بالبرمجة ولغاتها‪.‬‬
‫• معرفة عامة باألعمال‪.‬‬
‫• مهارات في حل المشكالت‪.‬‬
‫• مهارات شخصية وقدرة على التواصل مع اآلخرين ( ‪Interpersonal‬‬
‫‪.)Communication Skills‬‬
‫• المرونة والقدرة على التأقلم مع بيئات عمل مختلفة‪.‬‬
‫• احترام األخالق المهنية‪.‬‬
‫‪32‬‬
‫‪ITA330_F12_S1‬‬
‫اإلجرائية؟‬
‫‪33‬‬
‫‪ITA330_F12_S1‬‬
‫تطوير البرمجيات ‪ -‬نظريا‬
‫• نظريا‪ ،‬يجري تطوير البرمجيات‬
‫بدءا من الصفر وبشكل تسلسلي‪.‬‬
‫‪34‬‬
‫‪ITA330_F12_S1‬‬
‫دورة حياة المنتج البرمجي‬
(Software Development Life Cycle – SDLC)
ITA330_F12_S1
35
‫دورة حياة المنتج البرمجي‬
‫• التخطيط (‪)Planning‬‬
‫– ل َم نريد بناء النظام؟‬
‫• التحليل (‪)Analysis‬‬
‫– من هم المستخدمون؟‬
‫– ما هي المتطلبات (‪)Requirements‬؟‬
‫– ما هو نطاق النظام (‪)Scope‬؟‬
‫• التصميم (‪)Design‬‬
‫– كيف سيعمل النظام؟‬
‫• التحقيق (‪)Implementation‬‬
‫– تسليم النظام (‪.)System Delivery‬‬
‫– كيف ندعم المستخدمين؟‬
‫‪36‬‬
‫‪ITA330_F12_S1‬‬
‫المراحل األساسية ومخرجاتها‬
‫المنتج‬
‫‪37‬‬
‫المرحلة‬
‫خطة المشروع‬
‫التخطيط‬
‫مقترح النظام‬
‫التحليل‬
‫توصيف التصميم‬
‫التصميم‬
‫النظام الجديد وخطة صيانته‬
‫التحقيق‬
‫‪ITA330_F12_S1‬‬
‫تطوير البرمجيات ‪ -‬عمليا‬
‫• يبدو تطوير البرمجيات في الواقع مختلفا تماما عن التوصيف‬
‫النظري وأكثر فوضوية مما هو متوقع‪.‬‬
‫– يرتكب إخصائيو تطوير البرمجيات العديد من األخطاء‪.‬‬
‫– تتغير متطلبات الزبون خالل فترة تطوير المنتج البرمجي‪.‬‬
‫– يُعتبر المنتج البرمجي نموذجا للعالم الحقيقي الذي يتغير‬
‫باستمرار‪.‬‬
‫‪38‬‬
‫‪ITA330_F12_S1‬‬
‫ما هي اإلجرائية البرمجية؟‬
‫• مجموعة من األنشطة المرتبة هدفها النهائي تطوير منتج برمجي جديد أو‬
‫تحسين منتج موجود‪.‬‬
‫• تتمحور كل اإلجرائيات البرمجية حول أنشطة عامة أساسية‪:‬‬
‫– التوصيف (‪ :)Specification‬ما يجب أن يؤديه النظام والقيود‬
‫المفروضة عليه‪.‬‬
‫– التطوير (‪ :)Development‬عملية إنتاج النظام البرمجي‪.‬‬
‫– التحقق (‪ :)Validation‬التأكد من أن النظام يحقق ما يريده الزبون‪.‬‬
‫– التحسين (‪ :)Evolution‬تغيير النظام استجابة لمتطلبات متغيرة‪.‬‬
‫• نموذج اإلجرائية هو تمثيل مجرد لإلجرائية يصفها من زاوية نظر معينة‪.‬‬
‫– تسلسل األنشطة (‪.)Workflow perspective‬‬
‫– تدفق المعلومات (‪.)Data-flow perspective‬‬
‫– من يفعل ماذا (‪.)Role/action perspective‬‬
‫‪39‬‬
‫‪ITA330_F12_S1‬‬
‫دورة الحياة واإلجرائية‬
‫• تقسم دورة الحياة حياة نظام المعلومات إلى مرحلتين أساسيتين‪:‬‬
‫تطوير النظام‪ ،‬وتشغيل النظام ودعمه‪.‬‬
‫• منهجية تطوير النظام هي إجرائية صورية دقيقة تعرِّ ف مجموعة من‬
‫األنشطة (‪ )Activities‬والطرق (‪ )Methods‬والخبرات ( ‪Best‬‬
‫‪ )practices‬والمخرجات (‪ )Deliverables‬واألدوات المؤتمتة‬
‫(‪ )Automated Tools‬التي يجب على مطوري النظم ومدراء‬
‫المشاريع اتباعها لتطوير نظم المعلومات والبرمجيات وصيانتها‪.‬‬
‫‪40‬‬
‫‪ITA330_F12_S1‬‬
‫مكونات اإلجرائية‬
‫• تتضمن اإلجرائية مجموعة منسجمة من النماذج (‪)Models‬‬
‫واألدوات (‪ )Tools‬والتقنيات (‪.)Techniques‬‬
‫‪41‬‬
‫‪ITA330_F12_S1‬‬
‫النماذج‬
‫– تمثيل لجانب مهم من العالم الحقيقي لكن غير مطابق له‪.‬‬
‫– تعتمد على التجريد للفصل بين الجوانب المختلفة‪.‬‬
‫– تعتمد على استخدام المخططات البيانية‪.‬‬
‫– تساعد على إعداد الخطط (فنيا وماليا)‪.‬‬
‫– بعض النماذج المستخدمة في تطوير النظم‪:‬‬
‫• لمكونات النظام‪Flowchart, DFD, ERD, Structure chart, :‬‬
‫‪...Class Diagram‬‬
‫• إلدارة إجرائية التطوير‪Financial Analysis ،Gantt Chart :‬‬
‫‪...Models‬‬
‫‪42‬‬
‫‪ITA330_F12_S1‬‬
‫األدوات‬
‫– برمجيات تساعد على إنشاء النماذج‪.‬‬
‫– تتنوع من برامج الرسم البسيطة إلى األدوات المساندة في هندسة‬
‫البرمجيات (‪ )CASE Tools‬إلى برمجيات إدارة المشاريع‪.‬‬
‫– أمثلة لبعض األدوات المستخدمة‪ :‬معالجات الرسوم‪ ،‬معالجات‬
‫النصوص‪ ،‬بيئات التطوير المتكاملة (‪ ،)IDE‬أدوات الهندسة‬
‫العكسية‪ ،‬مولدات الرماز‪...‬‬
‫‪43‬‬
‫‪ITA330_F12_S1‬‬
‫األدوات المساندة في هندسة البرمجيات‬
‫‪CASE Tools‬‬
‫األدوات المساندة هي برمجيات حاسوبية ُتستخدم ألتمتة عمليات‬
‫تحليل ورسم نماذج النظام أو تسهيلها كما تساعد على ترجمة النماذج‬
‫وتحويلها إلى تطبيقات برمجية‪.‬‬
‫– الهندسة األمامية (‪ )Forward Engineering‬وتعني أن يقوم محلل‬
‫النظام ببناء نماذجه (من الصفر أو باستخدام قوالب معدة مسبقا) ليجري‬
‫فيما بعد تحويل هذه النماذج إلى رماز (‪ )Code‬لتطبيقات برمجية‪.‬‬
‫– الهندسة العكسية (‪ )Reverse Engineering‬وتعني أن تقوم األداة‬
‫المساندة بقراءة رماز تطبيق برمجي موجود لتحويله إلى نماذج تمثل‬
‫النظام والتي يمكن لمحلل النظم تنقيحها وتحسينها‪.‬‬
‫‪44‬‬
‫‪ITA330_F12_S1‬‬
‫بيئات التطوير‬
‫بيئة تطوير التطبيقات هي عبارة عن أداة برمجية متكاملة توفر التسهيالت‬
‫الالزمة لتطوير تطبيقات برمجية جديدة ذات جودة عالية وبأزمنة قصيرة‬
‫(تدعى عادة ‪ ADE‬أو ‪.)IDE‬‬
‫من أمثلة التسهيالت هذه‪:‬‬
‫–لغات البرمجة ومترجماتها (أو مفسراتها)‬
‫–أدوات بناء الواجهات‬
‫–أدوات االختبار‬
‫–أدوات إدارة اإلصدارات‬
‫–أدوات إعداد نصوص المساعدة (‪.)Help authoring‬‬
‫يمكن أن يكون لبعض هذه البيئات واجهات اتصال مع أدوات مساندة في‬
‫هندسة البرمجيات أو أن تتضمن بعضا من إمكاناتها‪.‬‬
‫‪45‬‬
‫‪ITA330_F12_S1‬‬
‫التقنيات‬
‫– مجموعة من التوجيهات والنصائح التي تساعد المحلل على إكمال‬
‫مهمات تطوير النظام‪.‬‬
‫– يمكن أن تكون بصيغة نصائح عامة أو توجيهات على شكل‬
‫خطوات متسلسلة‪.‬‬
‫– أمثلة‪ :‬تقنيات إجراء المقابالت‪ ،‬تقنيات تصميم قواعد المعطيات‪،‬‬
‫تقنيات إجراء االختبارات‪...‬‬
‫‪46‬‬
‫‪ITA330_F12_S1‬‬
‫إدارة المشروع وإدارة اإلجرائية‬
‫• إدارة المشروع (‪ :)Project Management‬وتشمل تعريف‬
‫المشروع‪ ،‬التخطيط له‪ ،‬توجيه العمل ومراقبة التنفيذ بهدف تطوير‬
‫نظام مقبول ضمن قيود الزمن والموارد المتاحة‪.‬‬
‫• إدارة اإلجرائية (‪ :)Process management‬هي عملية مستمرة‬
‫ُتعنى بتحديد اإلجرائية (أو المنهجية – ‪ )Methodology‬وتحسينها‬
‫وتطبيقها على كل مشاريع التطوير البرمجية‪.‬‬
‫‪47‬‬
‫‪ITA330_F12_S1‬‬
‫اإلجرائية )‪(Process‬‬
‫نموذج استحقاق األهلية‬
‫• ‪CMM: Capability Maturity Model‬‬
‫• يمثل نموذج استحقاق األهلية )‪ (CMM‬طريقة شائعة لتقييم إجرائية التطوير‬
‫وتحسينها‪.‬‬
‫• طريقة العمل‪ :‬يعتمد النموذج ‪ CMM‬بشكل رئيسي على استمارة أسئلة يجب‬
‫أن تمألها المؤسسة ليتم بعد ذلك التحقق منها والتأكد من صحة ما يرد فيها‬
‫لتعطى المؤسسة مستوى من مستويات النموذج ‪ CMM‬الخمسة‪ ،‬التي يعبر‬
‫فيها المستوى األعلى عن نضج وأهلية أفضل إلجرائية التطوير‪.‬‬
‫‪48‬‬
‫‪ITA330_F12_S1‬‬
‫مستويات النموذج ‪CMM‬‬
‫– المستوى ‪ 5‬األمثلية ‪)Optimizing( :‬‬
‫» يجري تحسين إجرائية التطوير باستمرار‪.‬‬
‫» تحسين طريقة تعديل اإلجرائية‪.‬‬
‫– المستوى ‪ 4‬مُدارة‪)Managed( :‬‬
‫» تستخدم مقاييس للتحكم بإجرائية التطوير‪.‬‬
‫» تحسين مقاييس اإلجرائية‪.‬‬
‫– المستوى ‪ 3‬معرّ فة‪)Defined( :‬‬
‫» يجري إتباع إجرائيات إدارية وهندسية معرفة ومنظمة‪.‬‬
‫» تحسين تعريف اإلجرائية‪.‬‬
‫– المستوى ‪ 2‬م ِّكررة‪)Repeatable( :‬‬
‫» إدارة مشاريع مكرَّ رة‬
‫» إمكانية تقدير الوقت والجهد الالزمين لمشاريع متشابهة‪.‬‬
‫» تحسين مستوى تخصص اإلجرائية‪.‬‬
‫– المستوى ‪ 1‬بدائية‪)Initial( :‬‬
‫» إجرائية غير ثابتة وغير واضحة تعتمد على الفريق الحالي‪.‬‬
‫‪49‬‬
‫‪ITA330_F12_S1‬‬
‫مستويات النموذج ‪CMM‬‬
‫المستوى ‪ - 5‬األمثلة‬
‫حس ن ة ا‬
‫بسما‬
‫ال طو‬
‫تحسين إدارة عملية‬
‫تعديل اإلجرائية‬
‫المستوى ‪ - 4‬مدارة‬
‫ي ابع ة ا‬
‫مع ف ومنظم‬
‫ةدا‬
‫وهندس‬
‫تحسين قياسات‬
‫اإلجرائية‬
‫المستوى ‪ - 3‬معرفة‬
‫ي ابع ة ا‬
‫مع ف ومنظم‬
‫ةدا‬
‫وهندس‬
‫تحسين تعريف‬
‫اإلجرائية‬
‫المستوى ‪ - 2‬مكررة‬
‫ةدا ة مش ع مك ة مكن قد‬
‫الوق وال هد له ‪.‬‬
‫مستويات النضج في النموذج ‪CMM‬‬
‫‪50‬‬
‫المستوى ‪ - 1‬بدائية‬
‫ة ا غ مضبوط و ع مد ع‬
‫ف العمل الح لت‬
‫‪ITA330_F12_S1‬‬
‫االنتقال بين مستويات نموذج ‪CMM‬‬
‫• االنتقال بين المستويات‪ :‬لقد بينت الخبرات العملية والتجربة أن االنتقال من‬
‫مستوى إلى المستوى األعلى مباشرة يتطلب عدة سنوات‪ ،‬فمعظم المؤسسات‬
‫مازالت في المستوى األول وبعضها في المستوى الثاني‪ ،‬أما المؤسسات التي‬
‫وصلت المستوى الخامس فعددها قليل جدا‪.‬‬
‫‪51‬‬
‫‪ITA330_F12_S1‬‬
‫أهمية اإلجرائية‬
‫• فرض انسجام بنيوي على مجموعة األنشطة الالزمة لتطوير‬
‫النظم‪.‬‬
‫• تساعدنا على فهم األنشطة وتفحصها وتحسينها والتحكم بها‪.‬‬
‫• تمكننا من بلورة خبراتنا واالستفادة منها في مشاريع تطوير‬
‫الحقة‪.‬‬
‫‪52‬‬
‫‪ITA330_F12_S1‬‬