Transcript Slide 1
تصميم وتحليل النظم
أساليب ومناهج تطوير أنظمة املعلومات
د /مازن عمر خيرو
[email protected]
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
أساليب تطوير النظم ومناهجه
• يمكن تطوير أنظمة املعلومات باستخدام أساليب تطووير مختلةوة و قوا لطييعوة
وحج و ووم النظ و ووام ومتطلي و ووات اس و ووتخدامه أم و ووا مناجي و ووات التط و وووير يقص و وود و وا
مجموع و و ووة اخدوات املذ و و ووتخدمة لنمتب و و ووة النظ و و ووام والط و و وور املتيع و و ووة لتحدي و و وود
متطلي و ووات املذ و ووتخدم (احتياب و ووات املذ و ووتخدم ) تحويله و ووا م و و نظ و ووام معلوم و وات
حاسوبي.
• وهك ووتا و وونن تطو وووير أنظمو ووة املعلومو ووات اأساس ووو ية يمكو وون أن يو ووتم و و و أسو و
متعووددو و اسووتخدام مناجيووات تطوووير مختلةووة وعل و ري و تطوووير النظووام أن
يحوودد ووب اليدايووة أسوولور التطوووير الووتمل سوويعتمدي واملناجيووة ال و س ذووتخدمها
ب ذلك.
نسخة خاصة غري قابلة للنشر والتوزيع، مازن خريو/د
أساليب تطوير النظم
SDLC
Prototyping
Rapid Application Development RAD
Extreme Programming XP
Staged Development
Team Centered Development
Synthesis
Ready Made Software Packages
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
دورو حياو تطوير النظم SDLC
• هو ووب طريق و ووة م و وون ط و وور التحلي و وول والتصو ووميم م لة و ووة م و وون ع و وودو مراح و وول موزع و ووة
بأسوولور ي وومن تطوووير الوونظم بأ وول ووخل ممكوون موون خ و اسووتخدام دورو
معينة من اخنشطة ال يقوم ا املحللون واملذتخدمون.
• علو الوور م موون أن روول مرحلووة مم لووة شووخل معوورو عوون بقيووة املراحوول م انووه
توبوود مرحلووة تنةووت صخطوووو منةصوولة عوون بقيووة املراحوول بوول يمكوون أن تحوودث
عدو أنشطة ب الوقت نةذه وقد يتكرر ع ها.
• موون املةيوود أن نتخيوول أن دورو حيوواو تطوووير الوونظم علو أم ووا تنةووت ووب مراحول روول
من ووا تحتووومل علو أنشووطة تيلووح أعلو مراحوول اخداد واأسيويووة وتتووداخل مو يرهووا
موون املراحوول اووم يطنوواقي نشوواطها توودريجيا ووب خطوووات منةصوولة عوون ع ووها
اليعي.
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
دورو حياو تطوير النظم SDLC
حتديد املشالك والفرص
وا ألهداف
حتديد متطلبات
املعلومات
تنفيذ النظام عىل أأرض
الواقع وتقيميه
حتليل احتياجات النظام
اختبار النظام وصيانته
تطوير وتوثيق الربميات
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
دورو حياو تطوير النظم SDLC
تحديد املشارل والةرص واخهداف
•
•
•
•
•
•
•
•
ال يوجد شخص يريد أن يهدر وقته في حل املشكلة الخطأ.
تتطلووب هووتي املرحلووة موون املحلوول أن يقوووم بووالنظر بواقعيووة م و مووا يحوودث ووب العموول اووم يحوودد املشووارل
بدقة بالتعاون م أع اد املنظمة اآلخرين.
تتولد هتي املشارل من قيل أشخاص آخرين وهتا هو الذبب التمل دعا للجود م محلل النظام.
أم ووا الة وورص حو و اأس ووا ت ال و و عتق وود املحل وول أن ووه يمك وون تحذ ووين ا م وون خو و نظ ووم املعلوم ووات .من
اصطشاف الةرص يمكن أن ي دمل م زيوادو قودرو العمول علو املنا ذوة أو قود ذوهم وب و و معيوار موا
ب مجا التجارو ال يقوم ا أو اأخدمة ال ي دي ا.
صما أن تحديد اخهداف هو أي ا مخون هام من مخونات هتي املرحلة واخهداف هوب موا يحواو العمول
تحقيقو ووه .يجو ووب عل و و املحلو وول أو أن عو وورف اخهو ووداف وبعو وودها سو وويعرف مو ووا مذا رو ووان بنمخو ووان نظو ووم
املعلوموات أن سذوواعد العموول ووب تحقيو أهدا ووه عوون طريو حوول مشووارل معينووة أو موون خو اسووت
رص معينة.
من اخشووخاص املطلووور مشووارص م ووب هووتي املرحلووة هووم :املذووتخدمون واملحللووون وموودراد الوونظم الووتين
يقومون بتنذي املشروع.
اخنشووطة املطلو ووة ووب هووتي املرحلووة :مقابلووة مدارو املذووتخدمين وتلخوويم املعلومووات ال و تووم اأسصووو
علي ا وتقدير نطا املشروع ام تواي النتائج
أما مخربات هتي املرحلة ح :تقرير لدراسة بدوى يت من تحديدا للمشوارل واخهوداف .و وب الن ايوة
ييقى عل اإلدارو أن تقرر ما مذا رانت ستمض ب املشروع املقترح أم .
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
دورو حياو تطوير النظم SDLC
تحديد متطليات املعلومات
•
•
•
•
•
•
•
وهنووا عوودو طوور لتعري و متطليووات معلومووات العموول من ووا :طري و ميا وورو راملقوواب ت ال خصووية واإلس وطيانات
وأخووت عينووات موون الييانووات الورقيووة ودراسو ا ومن ووا طوور يوور ميا وورو م وول مراقيووة سوولو ووناع القورار و ئووات
املخاتب وهنا طر تجم الصةتين م ل النمتبة اخولية.
ووب هووتي املرحلووة ييووت املحللووون أقمو ح بهوودهم لتحديوود احتيابووات املذووتخدمين ال زمووة إلنجوواز مهووامهم .هنووا
عوودو طوور لتحديوود متطليووات املعلومووات وبميعهووا يتطلووب التةاعوول امليا وور م و املذووتخدمين من هووتي املرحلووة
سذاهم ب مصما الصورو ال رسمها املحلل عن املنظمة وأهدا ها.
ب عي اخحيان يتم منجاز املرحلتين اخو وال انية قط من دورو حياو تطوير النظم بقصد هدف آخر و اليا
ما يقوم ا محلل املعلومات ).Information Analyst (IA
أما اخشخاص املشاررون ب هتي املرحلة هم :املحللون واملذتخدمون ومدراد العمليات والعاملون ب العمليات.
يجووب أن عوورف محلوول ال وونظم واووائ النظووام اأس ووا ب بالتةص وويل :اخش ووخاص املش ووارصين يووه أنشووطة العم وول
مخان العمل زمن منجاز العمل صيةية منجاز مبرادات العمل اأسالية يجب أن ذوأ املحلول عون سوبب سذويير
العمل بالطر اأسالية وأن يأخت هتا الذبب عين ا عتيار عند تصميم أمل نظام بديد.
مذا رووان اأجوووار عوون اسووتخدام العمليووات اأساليووة هووو :أنووه يو ادى دائمووا علو هووتا النحووو و ووتي الطريقووة عنودها
يجووب علو املحلوول تطوووير تلووك اإلبورادات وقوود ذوواعد مةهوووم معووادو هندسووة عمليووات اخعمووا Business
Process Reengineeringعل و طريقة إلعادو التةكير ب العمل بطريقة مبداعية.
عند متمام هتي املرحلة يجب أن يخون املحلل قد استوعب سير العمل وامتلك معلومات عن رل من لوه ع قوة
بالعمل من أشخاص وأهداف و يانات ومبرادات.
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
دورو حياو تطوير النظم SDLC
تحليل احتيابات النظام
• هنووا أدوات وتقنيووات خا ووة سذوواعد املحلوول عل و تحديوود املتطليووات م وول :مخططووات
تد الييانوات Data Flow Diagramsلتم يول الييانوات الداخلوة م و العمول
وآليووة معاأجووة هووتي الييانووات واملعلومووات الناتجووة شووخل رسووومي هيكلووب اووم ذووتةاد
موون مخططووات توود الييانووات ووب منشوواد قووامو الييانووات الووتمل يحتووومل عل و بمي و
تةصيلب لخل عنصر من ا.
عنا ر الييانات املذتخدمة ب النظام م و
• أانوواد هووتي املرحلووة يقوووم املحلوول بتحليوول الق ورارات الهيخليووة وهووب الق ورارات ال و يمكوون
ي ا تحديد الشروط و دائلها واخ عا وقواعدها وهنا او ث طور رئ ذوية لتحليول
القرارات الهيخلية :الل ة اإلنجليزية الهيخلية وبداو القرار وأشجار القرار.
• ووب هووتي النقطووة موون دورو حيوواو تطوووير الوونظم يقوووم املحلوول بنعووداد عوور يلخووم م وا
قووام بجمعووه ويقوودم عووي ا قتراحووات والنصووائ م و اإلدارو بخصوووص مووا ين و بووه
وونذا وا ق ووت اإلدارو علو و ه ووتي املقترح ووات يت ووا املحل وول عمل ووه ووب منش وواد النظ ووام .ر وول
مشووخلة موون مشووارل النظووام ريوودو ويمكوون أن تحوول عوودو طوور وسعتموود الطريقووة ال و
شخل ا ا قتراح عل مقومات شخصية محلل النظم وعل مدى احترا ه.
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
دورو حياو تطوير النظم SDLC
تصميم النظام املقترح
• ذووتخدم املحل وول هنووا املعلومووات ال و بمعه ووا ووب املراحوول الذووابقة لو و التصووميم املنطق ووي
لنظام املعلومات يجب عليه تصميم مبرادات دقيقة إلدخا الييانات م نظام املعلوموات
لي من صسة الييانات املدخلة صما يجب أن يخوون تصوميم نمواذش و ا وات اإلدخوا بيود
ل و وومان اعليو ووة اإلدخو ووا .م و وون أب و وراد التصو ووميم املنطقو ووي لنظو ووام املعلوم و ووات :ابتخ و ووار وابه و وة
املذتخدم وسميت تا ا سم خم ا تور ط املذوتخدم مو النظوام ولوتا حو هاموة ومون اخم لوة
علو وابهووة املذووتخدم :لوحووة املةوواتي القوووائم ال و تظهوور علو ا ووة اأساسووور ومجموعووة
متنوعوة مون وابهوات املذوتخدم الرسوومية GUال و سذوتخدم الةوأرو والشا وات ال و سعموول
باللم .
وتي املرحلووة تصووميم امللةووات وقواعوود الييانووات ال و سوونقوم بتخوورين الييانووات ال و
• تت وومن هو
ا
يحتابهووا ا ووناع الق ورار ووب املنظمووة .حيووع سعوود قاعوودو الييانووات ال و تتميووز بدرب وة عاليووة م وون
التنظوويم اخسووا أجميو نظووم املعلومووات و ووب هووتي املرحلووة يتعوواون املحلوول واملذووتخدمون ووب
تص و ووميم املخرب و ووات ال و و تحق و و متطلي و ووات املعلوم و ووات س و ووواد أران و ووت مطيوع و ووة عل و و ور أم
ستظهر عل الشا ة .يجب عل املحلول أن يصومم أزرار الوتحكم ومبورادات النالوت ا حتيواطي
موون أبوول حمايووة النظووام والييانووات وموون أبوول منتوواش حوورم املوا ووةات لل رنووامج وال و سوويعطي ا
للم وورمجين حيووع سووتحتومل روول حرمووة علو مخططووات الوودخل واأخوورش موا ووةات امللة وات
تةا وويل املعاأج ووة ب ووداو قو ورار أو أش ووجار ق ورار أو مخطط ووات ت وود الييان ووات أو مخطط ووات
انذيابية للنظام وأسماد وواائ را ة روت نات الشيةرو املكتو ة.
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
دورو حياو تطوير النظم SDLC
تطوير وتواي ال رمجيات
• عم و وول املحل و وول وامل رمج و ووون عل و و تط و وووير ال و ورامج اأجدي و وودو وهن و ووا تقني و ووات هيخلي و ووة
لتصوميم وتوايو ال ورامج من وا :مخططوات الينيوة Structure Chartومخططوات
ناس و -وونايدرمان والشوويةرو الوهميووة Pseudocodeحيووع يمكوون للمحلوول أن
ذووتخدم واحوودو أو أصهوور موون هووتي اخدوات ويعطيووه للم وورمج ليعوورف مووا الووتمل سوويقوم
ب رمجته.
• يتع و وواون املحل و وول واملذ و ووتخدمون علو و و و و و و وا و ووائ ال و و ورامج وه و ووب :دلي و وول ا س و ووتخدام
واملذوواعدو الةوري ووة ومواق و الوي ووب ال و تقوودم اخس ووئلة اخصه وور طرح ووا FAQSوذل ووك
من ملةات Read Meال سوتر مو ال ورامج اأجديودو ائودو الواوائ هوب أم وا
تر وود املذووتخدمين م و صيةيووة اسووتخدام ال ورامج وم و صيةيووة حوول مشووارل ال ورامج ووب
حا اهورها.
• يلعووب امل رمجووون دورا هامووا ووب هووتي املرحلووة خم ووم يقومووون بتصووميم ال رن وامج وو و
وويةرته ومزالووة اخخطوواد القواعديووة منووه .مذا رانووت سطش و ل ال ورامج ووب ب ئووة حاسووور
مرصورمل Mainframeيجوب منشواد ل ووة الوتحكم باخعموا Job Control
) Language (JCLويمكون للم ورمج أن يأخوت التصوميم أو الشويةرو ال و صتب وا
ويشو وورح اخب و وراد املعقو وودو مو وون ال رنو ووامج لةري و و مو وون امل و وورمجين اآلخو وورين لر و و مذ و وتوى
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
دورو حياو تطوير النظم SDLC
اختيار النظام و يانته
• قيل التمكن من استخدام نظام املعلومات يجب اختيواري خن اصطشواف اخخطواد
قيوول توزي و النظووام عل و املذووتخدمين يخل و أقوول ممووا يخلةووه اصطشوواف اخخطوواد
عوود التوزي و .ووب هووتي املرحلووة يووتم مب وراد عووي ا ختيووارات موون قيوول امل ورمجين
وحوودهم أو بالتعوواون م و محللووب الوونظم يووتم أو مب وراد سلذوولة موون ا ختي وارات
لتص وويد اخخط وواد بواسو ووطة بيان ووات تجريبيو ووة ا ووم بواس ووطة بيانو ووات حقيقي ووة مو وون
النظام اأسا ب.
• ب هوتي املرحلوة قوط تيودأ ويانة النظوام وسذوتمر الصويانة شوخل روتينو ح وح
م اي ووة عم وور النظ ووام ويقضو و امل وورمج ب وورد صيي وور م وون عمل ووه ووب الص وويانة وتنةو و
اخعما أموا طائلة علي ا.
• هنا أنوواع مون الصويانة يمكون مبرافهوا وورا ع ور موقو اليواو علو الويوب م ول
ب و و ورامج التحو و ووديع .يمكو و وون أن سذو و وواعد اإلب و و ورادات املخططو و ووة واملدروسو و ووة ال و و و
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
دورو حياو تطوير النظم SDLC
تنةيت النظام عل أر
الواق وتقييمه
• و ووب املرحلو ووة اخخيو وورو مو وون دورو حيو وواو تطو وووير الو وونظم عمو وول املحلو وول عل و و تنةيو ووت نظ و وام
املعلوم ووات عل و أبه وورو املذ ووتخدمين ووب مخ ووان العم وول وتت وومن ت وودريب املذ ووتخدمين
علو صيةيووة اسووتخدام النظووام ويمكوون أن يقوووم اليوواوعون بجوورد موون هووتي التوودرييات
لكوون يجووب أن يووتم التوودريب بن وراف محلوول الوونظم يجووب علو محلوول الوونظم أن ي و
طريقووة سلذوولة للتحووو موون النظووام القووديم م و النظووام اأجديوود وموون هووتي العمليووات
تحويل امللةات من التنذيقات القديمة م التنذيقات اأجديدو أو بناد قاعدو بيانات
وتنص ب التجهيزات وو النظام اأجديد عل خط العمل.
• التقييم هو آخر املراحل ب دورو حياو تطوير النظم ويتم مبرافي ودف املناقشوة خن
التقي وويم يح وودث علي ووا ووب ر وول مرحل ووة وهن ووا معي ووار رئ و عط ووي م ووارو عل و نج وواح
النظام ويجب التأصد منه وهو :هل املذتخدمون ذط مرون النظام حقا؟
• من محلل النظم عمل ب حلقة دائرية عندما ينتح من مرحلة ييودأ وب التاليوة وقود
ي و ووطري اصطشو وواف مشو ووخلة مو ووا و ووب محو وودى املراحو وول م و و العو ووودو م و و املرحلو ووة الذو ووابقة
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
دورو حياو تطوير النظم SDLC
أسلور دورو حياو النظم SDLC
• و ووالر م موون أهميووة أسوولور دورو تطوووير حيوواو النظووام ومووا يووو ري موون خطوووات
مطذلذ و و وولة ومح و و ووددو ي و و ووتم اتياعه و و ووا ل و و وومان تط و و وووير أنظم و و ووة معلوم و و ووات تل و و و و
ا حتياب ووات املطلو ووة للمذ ووتخدمين م أن ووه عت وور ي وور مناس وويا لتط ووير أنظم ووة
املعلومو ووات الكييو وورو بو وودا وصو ووتلك تلو ووك اخنظمو ووة ال و و تتص و و عو وودم الو و ووح
Imprecise Systemصأنظموة دعوم القورارات واخنظموة اأجديودو عموموا نظورا
لع وودم ت ووو ر اأخ وورو الخا ي ووة ووا أس ووداا ا أو لخوم ووا ل ووم سذ ووتخدم ع وود و وب ب ئ ووة
العمل.
• وهكو ووتا و وونن أسو وولور دورو حيو وواو تطو وووير اخنظمو ووة عت و وور م اليو ووا وبيو وودا لتطو وووير
اخنظمة ال يمكن تحديدها بدقة ( Precisely Definedأمل تحديود مخربا وا
وعمليا ا ومدخ ا بالدقة الخا ية) مما وب اأسوا ت ال و يمكون الو وو ي وا
م م ول هوتا التحديود الودقي ( نظورا لخوخامة حجمهوا أو لعودم توو ر املعلوموات
الخا يووة بمخونا ووا ) ننووه بوود موون اللجووود م و اسووتخدام أسوواليب تطوووير أخوورى
رو ووالتطوير التو وودري ب Staged Approachأو اسو ووتخدام النمو وواذش الطشو وويي ية
نسخة خاصة غري قابلة للنشر والتوزيع، مازن خريو/د
أساليب تطوير النظم
SDLC
Prototyping
Rapid Application Development RAD
Extreme Programming XP
Staged Development
Team Centered Development
Synthesis
Ready Made Software Packages
Extreme Programming XP
دية
مشاريع البرمجة الح ّ
دية XPهي إحدى الطرق
البرمجة الح ّ
المستخدمة في تطوير النظم تقوم على مبدأ
تبني ممارسات التطوير الجيدة ،ثم القيام
بدفعها إلى أقصى مدى ممكن.
هناك أربعة متحوالت يمكن لمحلل النظم أن
يتحكم بها و هي :الزمن والكلفة والجودة
والمجال.
دية:
و هناك أربعة أنشطة في البرمجة الح ّ
كتابة الشيفرة ،االختيار ،االستماع ،و التصميم.
Extreme Programming XP
املتحوالت
ا ألنشطة
اجلودة
الاختيار
اجملال
التصممي
اللكفة
الاس امتع
الزمن
الش يفرة
Extreme Programming XP
المتحوالت األربعة األساسية في طريقة
البرمجة الحدية
دية أنه إذا قام المحلل بتحديد كمية
تفترض فلسفة البرمجة الح ّ
المجال و الجودة و الفترة الزمنية الالزمة إلتمام المشروع فإنه
يستطيع بحساب تلك المتحوالت الثالثة أن يضبط المتحول الرابع و
هو الكلفة و بأحسن قيمة ممكنة له ،و هذا هو معنى Extremeأي
أن المتحول يبلغ أقصى غاية ممكنة.
املتحوالت الثالثة
املتحول الرابع
املتحوالت الثالثة
املتحول الرابع
Extreme Programming XP
المتحوالت األربعة األساسية في طريقة
البرمجة الحدية
فإذا كان المشروع يمر في المرحلة األخيرة من الجدول
الزمني ،فيمكن زيادة الكلفة عن طريق استئجار أفراد
آخرين .أو ،إذا قام المحلل بتحديد الفترة الزمنية الالزمة
إلتمام المشروع و الجودة و الكلفة ،فإنه يستطيع
تحديد المجال وفقاً لذلك ،عندها إذا واجه المشروع
خطر التأخر عن موعد التسليم يمكن للمحلل مثال ً أن
يعرض على الزبون التخلي عن إحدى مزايا النظام.
وهذا هو المقصود بكلمة Extremeحيث يتم تحديد قيمة
بعض الموارد و يتم دفع قيمة المورد األخير إلى أقصى
غاية ممكنة.
ففلسفة XPهي أن تبحث عن األداء األقصى ،و من هنا
دية
يظهر أن التفكير بالطرق المعتمدة في البرمجة الح ّ
شيء ،و العمل بها شيء آخر تماماً.
Extreme Programming XP
دية و طريقتها في زيادة و إنقاص
البرمجة الح ّ
المورد
ال شك أن إنهاء المشروع في الزمن المحدد و
ضمن كل القيود هو أمر عظيم ،ولكن كي يتم ذلك
ال بد من االعتناء بمسألة إدارة المشروع ألهميتها
البالغة ،فإدارة المشروع ال تعني مجرد تحديد
األنشطة وفق الموارد فقط ،بل يعني أيضاً أن
المحلل يجب أن يقوم ببعض المقايضات ،فأحياناً
يتم تحديد الكلفة في البداية ،و في ظروف أخرى
يكون الزمن أهم العوامل،
و فيما يلي سنناقش المتحوالت األربعة للتحكم
بالموارد و هي الزمن و الكلفة و الجودة و المجال.
Extreme Programming XP
الزمن
يجب أن يقوم المحلل بتحديد الزمن الكافي إلتمام المشروع ثم يقوم
بتقسيمه إلى عدة فترات ،فهناك زمن مخصص لالستماع إلى الزبائن و
زمن مخصص للتصميم و زمن مخصص لكتابة شيفرة البرامج و زمن مخصص
لالختبار.
ينطبق هذا الكالم على تطوير النظم فيمكن للمحلل إنتاج برامج ذات جودة
عالية ،و لكن يفشل في االستماع ،و يمكنه أن يصمم نظاماً رائعاً و لكن ال
يقضي الوقت الكافي الختبار النظام .إن إدارة الوقت مسألة صعبة ،فإذا
وجدت نفسك تعاني من ضيق في الوقت ،فماذا ستفعل ؟
دية تبطل فكرة أن توفر المزيد من الوقت سيحقق النتائج
إن البرمجة الح ّ
المطلوبة ،ألنه ربما كان الزبون يفضل استالم المشروع في الموعد
المحدد ،بدال ً من تمديد الموعد النهائي مقابل إضافة ميزة جديدة ،و قد
أثبتت الدراسات أن الزبائن يشعرون بالسعادة عندما يرون بعض الوظائف
التي طالبوا بها قد تم إنجازها وأصبحت قابلة للتشغيل ،و قد تبين لنا أن
الزبون يكون راضياً بنسبة %80مع انتهاء %20من إنجاز الوظائف ،و هذا
يعني أن سعادته ستكون أقل بعد إتمام النسبة %80الباقية من العمل ،و
أننا بهذا الكالم نريد إيصال الرسالة التالية :ال تقم بتمديد موعد التسليم
دية تصر على وجوب إنهاء العمل في الوقت
النهائي ،إن نظرية البرمجة الح ّ
المحدد.
Extreme Programming XP
الكلفة
قد يظهر لنا أن أنشطة التشفير و التصميم و االختبار و االستماع ترجح كفة الميزان و أن الموارد
المتوفرة و هي الزمن و المجال و الجودة ال تكفي لموازنة المشروع ،و أنه حتى لو خصصنا كمية
طبيعية من الكلفة فهي ال تكفي لتحقيق الموازنة في المشروع ،في هذه الحالة يجب أن تكون
الكلفة المطلوبة فوق المعدل بكثير.
معنى هذا أنه يجب المساهمة بالمزيد من المال ،حتى تتم موازنة المشروع ،و أسهل الطرق لزيادة
الكلفة هي استئجار المزيد من العاملين ،و قد يبدو هذا الحل هو الحل األمثل ،فإذا استأجرنا مبرمجين
آخرين سننتهي بسرعة أكبر .أليس كذلك ؟
الواقع أن هذا ليس بالضرورة صحيحاً و لنوضح ذلك تخيل أنك استأخرت عاملين إلصالح سقف منزلك،
ثم استأخرت عاملين آخرين ،فأصبح عددهم أربعة ،إن هؤالء العمال سرعان ما سيصطدم بعضهم
ببعض ،إن زيادة عدد العمال من 2إلى 4ال يعني بالضرورة أن الزمن الالزم إلتمام العمل سينخفض
إلى النصف ،فهناك مسألة التواصل و التكاليف غير المادية التي يجب حسابها قبل استئجار المزيد من
العاملين ،ألن العضو الجديد في الفريق ال يعرف المشروع وال الفريق ،و سيؤدي بالتالي إلى عرقلة
األعضاء األصليين في الفريق و خفض سرعة العمل ،ألن األعضاء األصليين مضطرون إلى أن يصرفوا
شيئاً من وقتهم إلدخال األعضاء الجدد في جو العمل.
كما أن وضع ساعات عمل إضافية ليس حال ً سليماً .صحيح أن هذا يزيد الكلفة ،لكن ال يزيد اإلنتاجية
بالضرورة ،ألن المبرمج المتعب أقل فاعلية من المبرمج اليقظ فهو يستغرق وقتاً طويال ً إلنجاز مهمة
عادية كما أنه ترتكب أخطاء تستهلك وقتاً أطول في إصالحها.
هناك طرق أخرى إلنفاق المال من أجل زيادة اإلنتاجية مثل إحضار تجهيزات جديدة ،فالحواسيب
المحمولة و األجهزة الخلوية تزيد اإلنتاجية عندما يكون العمل بعيداً عن المكتب ،شاشات العرض
الضخمة و أجهزة الماوس و لوحات المفاتيح الالسلكية و بطاقات الرسوميات القوية يمكنها أيضاً أن تزيد
اإلنتاجية.
Extreme Programming XP
الجودة
دية بضبط هذا المورد و بجهد أقل من
تسمح فلسفة البرمجة الح ّ
الجهد المبذول في الموارد األخرى ،و يمكن ضبط الجودة داخلياً و
خارجياً،
فالجودة الداخلية تتضمن اختبار البرمجيات من ناحية التشغيل (هل يقوم
البرنامج بما هو مطلوب منه فعال ً ) و من ناحية االنسجام ( هل يلبي
البرنامج معايير معينة في االنسجام و هل هو مقابل للصيانة ؟) ،و بشكل
عام ال يكون هناك أجر مقابل التعديالت الصغيرة التي تعمل على تحسين
الجودة الداخلية.
أ ّما الجودة الخارجية و هي كيف يتخيل الزبون النظام .يهتم الزبون بموضوع
األداء فمن األسئلة التي يحتمل أن يطرحها :هل يعمل البرنامج بموثوقية
أم ال تزال هناك أخطاء في البرنامج ؟ هل مخرجات البرنامج فعالة ؟ هل
تصل المخرجات في الوقت المطلوب ؟ هل تعمل البرمجيات بسهولة ؟ هل
واجهة المستخدم سهلة الفهم و االستخدام ؟
تسمح فلسفة الحدية للبرمجة الحدية بالتنازل عن بعض نواحي
الجودة الخارجية ،فلكي يتم تسليم النظام في الوقت المطلوب و
اضطر المحلل إلى مكافحة بعض أخطاء البرمجيات ،عندها يمكن أن
تكون واجهة المستخدم غير كاملة في اإلصدار األول و يمكن
تحسينها في إصدار الحق.
Extreme Programming XP
المجال
المجال المتحول الرابع و األخير هو المجال .يتم
دية من خالل
تحديد المجال في البرمجة الح ّ
االستماع إلى الزبائن و تكليفهم بكتابة
قصصهم ،و بعدها يتم فحص و تحليل تلك
القصص لمعرفة كمية العمل الممكن إنجازها
في فترة زمنية معينة من أجل إرضاء الزبون ،و
يجب أن تتسم هذه القصص باالختصار و
سهولة الفهم.
Extreme Programming XP
األنشطة األربعة األساسية في طريقة
البرمجة الحدية
هناك أربعة أنشطة تطويرية في البرمجة الحدية
هي :كتابة الشيفرة البرمجية واالختبار واالستماع
والتصميم ،ويجب على المحلل الذي يتبع طريقة
البرمجة الحدية أن يعرف مقدار الجهد الالزم في
كل نشاط ثم موازنة ذلك مع الموارد المتوفرة إلنجاز
المشروع ،على شكل ميزان قد وضع في كتفيه
عدد من األوزان ،تمثل األوزان الموضوعة في الكفة
اليمنى في طريقة البرمجة الحدية األنشطة في
حين تمثل األوزان الموضوعة في الكفة اليسرى
الموارد التي تحدثنا عنها سابقاً.
Extreme Programming XP
كتابة الشيفرة
يوصف نشاط كتابة الشيفرة البرمجية بأنه النشاط
الوحيد الذي ال يمكن القيام بشيء بدونه ،وقد ذكر
أحد المؤلفين أن أثمن شيء نستفيده من الشيفرة
البرمجية هو التعلم ويتم هذا على النحو التالي:
ابتكر فكرة ثم اكتب شيفرتها ثم اختبرها ثم انظر هل
كانت الفكرة فكرة منطقية أم ال .ويمكن استخدام
الشيفرة البرمجية أيضاً لتوصيل أفكار معينة مشوشة
وغير واضحة لو لم يتم كتابة شيفرتها ،فعندما أشاهد
الشيفرة التي كتبتها يمكن أن أكتسب فكرة جديدة .
إن الشيفرة المصدرية تعد األساس للنظام الحي وهي
ضرورية لعملية التطوير.
Extreme Programming XP
االختبار
تعتبر االختبارات المؤتمتة هامة للغاية في طريقة البرمجة
الحدية ،لذلك ننصح بكتابة االختبارات الالزمة لفحص الشيفرة
والوظائفية واألداء واالستجابة .تعتمد البرمجة الحدية على
االختبارات المؤتمتة حيث إنه توجد في معظم لغات البرمجة
مكتبات ضخمة تحتوي على االختبارات وتحتاج هذه االختبارات
الى التحديث عند الضرورة أثناء إنجاز المشروع .
هناك أسباب قصيرة المدى وأسباب طويلة المدى إلجراء
االختبار الذي يتم إجراؤه في فترة قصيرة يمنحك الثقة
القصوى في الشيء الذي تقوم ببنائه حيث إن إجراء االختبار
بشكل ممتاز يمكن المبرمج من االستمرار في العمل وقد
تجددت ثقته ،أما االختبارات التي يتم إجراؤها على المدى
الطويل فهي التي تبقي النظام حياً وتسمح بإجراء تغييرات
أطول من التغييرات التي يمكنك إجراؤها لو لم تنفذ أية
اختبارات.
Extreme Programming XP
االستماع
في البرمجة الحدية يتم تطبيق نشاط االستماع
بأقصى ما يمكن حيث يستخدم المطورون االستماع
الفعال لكي يستمع كل منهم الى شريكه في البرمجة
وبما أنه في البرمجة الحدية هناك اعتماد قليل على
التواصل المكتوب فقد أصبح االستماع المهارة العظمى
والمهيمنة.
كما يحتاج المطور الى االستماع الفعال الى الزبون .
يفترض أنه ال يعلم شيئاً عن العمل الذي يقوم بإنجازه
ولذا يجب أن يستمع بعناية وحرص ألصحاب األعمال
ليحصل على إجابات ألسئلتهم .يجب أن يعرف المطور
كيف يكون االستماع الفعال ،ألن المطور الذي ال
يحسن االستماع ،لن يعرف الشيء الذي يجب عليه
أن يكتب شيفرته وال الشيء الذي يجب عليه اختباره .
Extreme Programming XP
التصميم
يعرف بأنه الطريقة المستخدمة إلنشاء بنية تنظم
منطق النظام الكامل ،وهو نشاط دائم التطور
ولذلك ينظر الى النظم المصممة باستخدام
البرمجة الحدية على أنها نظم متطورة يجري
تصميمها دائماً .وعادة يكون التصميم الجيد هو
التصميم البسيط ويجب أن يسمح التصميم
بالمرونة أيضا ،وأن يمكن من إجراء توسيعات على
النظام بإجراء التغييرات في مكان واحد فقط .إن
التصميم الفعال هو الذي يبحث عن المنطق قرب
البيانات التي سيعمل عليها وفوق كل شيء يجب
أن يكون التصميم مفيداً لكل شخص سيحتاجه مع
مضي جهود التطوير وهذا يتضمن الزبائن
والمبرمجين .
Extreme Programming XP
الممارسات الجوهرية األربع في البرمجة
دية
الح ّ
إن موازنة الموارد إلتمام
مشروع ما في الوقت
المطلوب هي إحدى طرق
المشاريع إال أن الطريقة
األفضل هي :تطوير
ممارسات تعطى نتائج
مدهشة ،فقد طوّرت حركة
دية مجموعة من
البرمجة الح ّ
الممارسات الجوهرية التي
غيرت طريقة تطوير النظم ،و
سنذكر فيما يلي أربع
دية و هي حدية
ممارسات ح ّ
مقارن ًة بما ناقشناه حتى اآلن
في إدارة المشاريع.
short
release
working
40 hours
per week
XP
Onsite
Customer
Pair
Program
ming
Extreme Programming XP
اإلصدار المؤقت short release
دية يجب إصدار
حتى تنجح طريقة تطوير البرمجة الح ّ
المنتج في الوقت المحدد في الجدول الزمني حتى لو
لم يستطيع المبرمجون وضع كافة المزايا في البرنامج.
ربما تكون هذه مبالغة لكن الزبائن سيكونون عندها
سعداء لحصولهم على المنتج ،أما التحسينات فيمكن
القيام بها الحقاً ،و هذه الممارسة شائعة االستخدام
في مجال تطوير برمجيات الحاسوب و أكثر شيوعاً في
عالم األجهزة الكفية ،ففي الواليات المتحدة يتم إصدار
برامج الضرائب في بداية موسم الضرائب قبل االنتهاء
من وضع قوانين الضرائب في البالد ،ألن مطوري برامج
الضرائب يعرفون جيداً أن الزبون يريد المنتج في أقرب
وقت ممكن.
زمن أسبوع العمل 40ساعة
Extreme Programming XP
working 40 hours
per week
لقد شجع هذا النموذج المبرمجين على قضاء حياتهم
في المكتب و هم يعملون على مدار الساعة ،و األمر
دية .حيث يقوم فريق
ليس كذلك في البرمجة الح ّ
دية هنا بتوقيع اتفاقية على ممارسة
تطوير البرمجة الح ّ
ثقافية جوهرية و هي أن يعملوا معاً بجد طيلة أسبوع
عمل تقليدي مدته 40ساعة .تهدف هذه الممارسة
الجوهرية إلى تحفيز أعضاء الفريق على العمل بجد
أثناء الدوام ثم أخذ استراحة كافية بحيث يكونون في
حالة استرخاء عند العودة إلى العمل و غير متوترين و
قادرين على اكتشاف المشاكل ،و يقل احتمال
ارتكابهم لألخطاء المكلفة و احتمال الوقوع في
النسيان نتيجة األداء المتعب و استهالك طاقة المبرمج
و هذا ما يحدث عندما ال تكون هناك فترة راحة.
Extreme Programming XP
إحضار الزبون إلى موقع العمل Onsite
Customer
معظم مطوري النظم يوافقون على ضرورة وجود
الزبون و أهميته في نجاح النظام لكنهم يكتفون
بعد ذلك بإجراء لقاء أو لقائين مع الزبون ليحددوا
متطلبات النظام .إن وجود الزبون في موقع
العمل يبلغ أقصى قوته عند وجود الزبون الخبير
في شؤون العمل في مكان العمل أثناء فترة
التطوير ،و هو الشخص الفعال في تحديد آلية
معالجة البيانات ،و كتابة قصص المستخدمين و
التواصل مع أعضاء الفريق و المساعدة في
تحديد األولويات.
Extreme Programming XP
البرمجة الزوجية Pair Programming
إن البرمجة الزوجية هي في غاية القوة .فطالما أن
هناك فريق من محللي النظم لماذا ال يكون هناك
فريق من المبرمجين ؟
ال نعني بالبرمجة الزوجية أن يقوم المبرمج األول
باختالس النظر إلى شيفرة المبرمج الثاني الكتشاف
األخطاء التي ارتكبها،
بل المقصود :أن يقوم المبرمجان بالعمل معاً لكتابة
الشيفرة البرمجية و إجراء االختبارات و مناقشة أفضل
الطرق و أكثرها فاعلية في إنجاز العمل .إن البرمجة
الزوجية توفر الوقت و تقلل من التفكير الالمبالي و تشغل
حس اإلبداع و تضفي على البرمجة جواً من المرح.
Extreme Programming XP
دية
عملية التطوير لمشروع البرمجة الح ّ
هناك عدد من األنشطة و
السلوكيات تشكل طريقة
أعضاء فريق التطوير و
الزبائن أثناء تطوير مشروع
دية ،هناك
البرمجة الح ّ
كلمتان تصفان المشروع
المنجز بهذه الطريقة هما
:التفاعل و التدرج.
Extreme Programming XP
دية
عملية التطوير لمشروع البرمجة الح ّ
الحظ األسهم الثالثة التي تخرج
من صندوق (التكرارات على
اإلصدار األول) و تعود إليه و التي
تدل على وجود حلقة تكرار ،هذه
األسهم تدل على التعديالت
المتدرجة نتيجة االختبار و
التقييم المتكررين ،حيث حصلنا
في النهاية على نظام مستقر و
دائم التطور.
الحظ أيضاً وجود أسهم مماثلة
في مرحلة اإلنتاج ،تدل هذه
األسهم على أن خطوة
التعديالت المتكررة تزداد بعد
إصدار المنتج.
هناك سهم يخرج من مرحلة
الصيانة و يعود إلى مرحلة
التخطيط و هو يدل على حلقة
تغذية عكسية مستمرة يشترك
فيها الزبائن و فريق التطوير
ألنهم اتفقوا على تعديل النظام
المطوّر.
نسخة خاصة غري قابلة للنشر والتوزيع، مازن خريو/د
أساليب تطوير النظم
SDLC
Prototyping
Rapid Application Development RAD
Extreme Programming XP
Staged Development
Team Centered Development
Synthesis
Ready Made Software Packages
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
النمتبة اخولية Prototyping
ا
• سذمح أي ا النمتبة التجريبية أو النمتبة الطشيي ية.
ا
• سذووتخدم النمتبووة اخوليووة للمذوواعدو ووب تو ووي وتحديوود متطليووات املذووتخدم.
ولقد انطشر هتا اخسلور ب التطووير نظورا للسابوة م و تطووير أنظموة بديودو لوم
سذووتخدم موون قيوول و ووب م وول هووتي اأسووا ت يخووون النظووام املطلووور تطووويري يوور
واض اي ا لخل من املذتخدم واملحلل عل الذواد.
• هووب محوودى تقنيووات بم و املعلومووات حيووع ذووتخدمها املحلوول للتعوورف عل و ردود
أ ع ووا املذ ووتخدمين واإلدارو تج وواي النم وووذش اخو ووب ويق وووم بطال ووجيل اقتراح ووات
املذو ووتخدمين لت يو وور النمو وووذش اخو و ووب الو ووتمل يم و وول النظو ووام وتحذ و و نه وو و و أمل
م ا ات بديدو ممكنه وتحديد خطط املرابعة من ابل تحديد أبراد النظوام
ال و يجووب اليوودد ووا قيوول يرهووا وتحديوود ووروع املنظمووة ال و يجووب نمووتب ا ووب
املرحلة التالية.
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
النمتبة اخولية Prototyping
• وهكو و ووتا يمكو و وون اسو و ووتخدام أس و وولور النمو و وواذش التجريبيو و ووة لتطو و وووير أنظمو و ووة املعلومو و ووات
اأساسو ية ب اأسا ت التالية:
▫
▫
▫
▫
▫
عنوودما تخووون ا حتيابووات يوور معرو ووة نظ ورا أسدااووة النظووام الووتمل يجوورمل تطووويري وع ودم
توو ر اأخ ورو الخا يووة لتحديود هوتي املتطليووات وهوتا يحودث اليووا عنود اسوتخدام تطييقووات
بديدو لتقنية املعلومات.
عندما تخون ا حتيابات معرو ة ولكن املذتخدم ير متأصد من ممخانية تطييقهوا شوخل
مي ووداني عل و أر الواق و ول ووتلك يحت وواش م و تجر ووا أو وتقييمه ووا قي وول الي وودد ب والتطيي
الةعلب للنظام.
عندما يخون تطوير النظام مخلةا بدا ولتا ير وب املذوتخدم بالتأصيود مون صوسة وبوودو
التصووميم املقتوورح قيوول اليوودد بالتنةيووت ولووتلك يمكوون اسووتخدام النموووذش التجري و إلبوراد
ا ختيارات ال زمة والتأصد من صسة وبودو عمل النظام.
عندما تخون املخاطرو با نتقا م النظوام اأجديود صييورو بودا وب هوتي اأسالوة يمكون أو
اللجووود م و النموووذش التجري و إلبوراد ا ختيووارات ال زمووة والتأصوود موون صووسة وبووودو عموول
النظام.
عندما تخون املخاطرو با نتقا م النظام اأجديد صييرو بدا اُ ب هتي اأسالوة يمكون أو
اللج ووود م و و النم وووذش التجري و و والت وودريب علو و اس ووتخدام ومبو وراد ا ختي ووارات للظو ووروف
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
النمتبة اخولية Prototyping
• ويختل و و أس و وولور النم و وواذش التجريبي و ووة Prototypeع و وون أس و وولور التط و وووير
ا رتق وواوي ب ووأن النم وووذش اخو ووب Pilot Systemال ووتمل ي ووتم مع وودادي خ و
عمليووة التطوووير يتحووو م و الن ايووة ليصووي بووردا موون النظووام الن وواوي الووتمل يجوورمل
بن ووادي .أم ووا ووب أس وولور النم وواذش التجريبي ووة وونن ه ووتا النم وووذش ي ووتم اس ووطيداله ووب
الن اية بالنظام اخ لب أمل ذتخدم قط صأداو للتحليل وتحديد ا حتيابات.
• أما أهم مجا ت استخدام النماذش التجريبية ح :
▫ اختيار اأسلو التصميمية اأجديدو شخل عملب.
▫ تحلي وول املتطلي ووات Requirement Analysisباعتياره ووا أداو هام ووة
سذاعد ب ذلك تو ي متطليات املذتخدم.
▫ عر اإلمخانات واأخيارات ال يمكن أن يو رها النظام املقترح.
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
النمتبة اخولية Prototyping
• صمووا يمكوون اسووتخدام النموواذش التجريبيووة وومن دورو حيوواو النظووام ووب مرحلووة دراسووة اأجودوى
لأل را التالية:
وول ع وون اأسل ووو املمكن ووة للمش ووخلة ال و و تج وورى
▫ إلبو وراد ا ختي ووارات وودف الو ووو م و و ه ووم أ
دراس ا.
▫ لتحديد العمليات الرئ ذية للنظام املطلور تطويري.
▫ لتقييم اليدائل املختلةة ا ملقترحة لتصميم النظام.
• أما ب مرحلة التصميم
▫
▫
▫
▫
▫
طذتخدم النماذش التجريبية لتعري املذتخدم شخل ملمو علو مودخ ت ومخربوات النظوام
املقترح وعل طريقة عمله.
تحديد املتطليات.
تطوووير النموووذش التجري و واسووتخدام لةتوورو موون الوورمن للتعوورف عل و ممخاناتووه وواائةووه واصطذووار
اأخ رو ب التعامل م مدخ ته ومخرباته.
تقي وويم النم وووذش التجري و وودف اقت وراح اأخص ووائم ال و يج ووب ح ووت ها من ووه أو تل ووك ال و يج ووب
سعديلها أو م ا ة خصائم بديدو وهكتا.
مبراد التعودي ت املطلو وة وب النمووذش التجري و اوم و وعه قيود ا سوتخدام وتقييموه وهكوتا ح وح
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
أنواع النماذش اخولية
•
•
•
•
النموذش اخو ب املجم
النموذش ير القابل للطش يل
نموذش اخو ب الذلذلة
النموذش ا و ب ذو املرايا املنتقاو
النموذج األولي المجمع
هو نموذج يعمل ويؤدي وظيفته بغض النظر عن مستوى الفاعلية
فيه ،ويكون مجمعا أي انه مكون من أجزاء مركبة من هنا وهناك،
ومن األمثلة على ذلك من عالم اإللكترونيات :لوحة التجريب
breadboardوهي لوحة تحتوي على ثقوب تسمح بتركيب العناصر
اإللكترونية عليها بدون استخدام لحام ولذلك يمكن إعادة
استخدامها ،فهذه اللوحة تسمح لنا بصنع دارات يمكن تشغيلها
بشكل نظامي ولكن عملها اليشترط إن يكون على احسن وجه،
وهكذا يمكن إنشاء دارة الكترونية كاملة وتجربتها وتشغيلها.
وينطبق هذا الكالم على عالم نظم المعلومات .فالنموذج المجمع
هو نموذج قابل للتشغيل ويحتوي على كافة المزايا الالزمة لكن ال
يشترط ان يكون فعاال في مخرجاته ،وهكذا يمكن للمستفيدين
التفاعل مع النظام والتأقلم مع واجهته وأنواع المخرجات المتوفرة،
ولكن استعادة وتخزين المعلومات يمكن أال تتم على نحو فعال الن
البرامج تمت كتابتها بسرعة بحيث تكون قابلة للتشغيل دون التركيز
على فاعلية االنجاز.
النموذج غير القابل للتشغيل
هذا النوع من النماذج ال يمكن تشغيله حيث يتم اعداده من
اجل اختبار نواح معينة من التصميم ومن األمثلة علية إنشاء
نموذج كامل لهيكل السيارة يمكن استخدامه في اختبارات
النفق الهوائي ،ويكون حجم وشكل السياره دقيقين تماما
ولكن ال يمكن تشغيل السيارة وليس هذا مطلوبا ،وفي هذا
النوع من النماذج يتم التركيز فقط على مزايا السياره الالزمة
لتنفيذ اختبارات النفق الهوائي.
وينطبق الكالم على عالم نظم المعلومات حيث يتم انتاج
نموذج كامل لنظام المعلومات ولكنه غير قابل للتشغيل ألن
الشيفره البرمجية الالزمة لكتابة التطبيقات مكلفه جدا ومن
المتعذر نمذجتها ولكن يمكن الحصول على فكرة جيدة عن
النظام عن طريق نمذجة المدخالت والمخرجات فقط وال تتم
هنا نمذجة العمليات ألنها تكلف الكثير من المال والوقت.
نموذج األول في السلسلة
في هذا النوع يتم إنشاء نموذج أولي كامل لنظام
يطلق عليه عادة :الطيار ،ومن األمثلة على هذا
النموذج نموذج الطائرة األولي في سلسلة من
الطائرات ،حيث يكون النموذج األولي هنا قابال
للتشغيل ويتم االستفادة منه بهدف إنشاء سلسلة
من الطائرات تتمتع بمزايا أولية مماثلة حتى لو كانت
ستختلف في المراحل التالية.
وفي عالم نظم المعلومات يمكن استخدام هذا النوع
من النماذج األولية عند التخطيط إلجراء عدة إعدادات
تنصيب لنظام معلومات وحيد .يسمح النموذج الكامل
للمستخدمين بالتفاعل مع النظام الجديد ولكن هذا
النموذج يقلل من تكاليف إصالح المشاكل التي تحدث
فيه.
النموذج االولي ذو المزايا المنتقاة
هذا النوع قابل للتشغيل ولكنه ال يتضمن جميع المزايا التي
سيتم وضعها في النظام النهائي ،ومن االمثلة على ذلك
القيام بافتتاح مركز تجاري جديد للبيع بالتجزئة قبل ان يكتمل
بناء كل المحالت االخرى.
إما في عالم نظم المعلومات فعندما نريد نمذجة نظم
المعلومات بهذه الطريقة نقوم بإضافة بعض مزايا النظام وليس
كلها ،ومن األمثلة على ذلك :قائمة النظام الكامل للبرنامج
التي تظهر على الشاشة وتقدم ست مزايا وهي :اضافة
سجل وتحديث سجل وحذف سجل والبحث في سجل ما عن
كلمة اساسية وعرض سجل ومسح سجل ،في حين يتم في
النموذج االولي لهذا النظام وضع ثالث مزايا فقط من المزايا
الست السابقة فيتمكن المستخدم فقط من اضافة سجل
وحذف سجل وعرض سجل.
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
استخدام النمتبة ا ولية صيديل لدورو حياو النظم
• عت وور عووي املحللووين النمتبووة ا وليووة طريقووة بديلووة مة وولة عل و طريقووة دورو
حي و وواو تط و وووير ال و وونظم وه و ووب طريق و ووة منطقي و ووه منظم و ووه ومدروس و ووه لتط و وووير نظ و ووم
املعلومات.
▫ طو الرمن ال زم لتنةيت مراحل دورو حياو تطوير النظم :م ازدياد الرمن التمل
ذ لكه املحلل ترداد رلةة النظام املطلور تنةيتي
▫ ان متطلي ووات املذ ووتخدمين تت ي وور مو و الو وورمن ة ووي الةت وورو الطويل ووة الةا و ولة ب ووين
الوقووت الووتمل تووم تحليوول متطليووات املذووتخدمين يووه ووقووت سذووليم النظووام الن وواوي
تت يور متطليووات املذوتخدمين و التووا ب وونم م قود ي مووو النظووام بأنوه يل و متطليووات
املعلومات ال يردوم ا
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
استخدام النمتبة ا ولية صيديل لدورو حياو النظم
• ويمكوون ان نذووتنتج موون هووتي املشووخلة أنووه موون ال وورورمل أن نيقووى عل و ا ط و ع
ال وودائم ملتطلي ووات املذ ووتخدمين .ر م ووا ر ووان املذ ووتخدمون عر ووون ع و م وواذا
يريدون وما يريدونه ح ح شاهدونه محذوسا.
• وهن ووا تمك وون املش ووخلة ووب دورو حي وواو ال وونظم حي ووع يخ ووون الي ووا ق وود ووات ا وان
تماما عل س ير النظام ير املر ور يه عد ان يتم سذليمه.
ا
• النمتبو ووة اخوليو ووة سذو وواهم و ووب الق و وواد عل و و ال مو ووو الو ووتمل يكتن و و تحديو وود
متطليات املعلومات للمذتخدمين.
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
قواعد تطوير النموذش اخو ب
•
•
•
•
تقذيم العمل ا وحدات قابلة لإلدارو.
اإلسراع ب منشاد النموذش اخو ب.
ان يخون النموذش اخو ب قابل للتعديل ب مراحل التحذين املتتالية.
الترصيز عل وابهة املذتخدم.
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
قواعد تطوير النموذش اخو ب
• تقذيم العمل ا وحدات قابلة لإلدارو:
▫ يجب ان يقوم املحلول بتقذويم العمول ا و وحودات قابلوة لوإلدارو و ذتحذون بنواد نظوام
رامل قابل للطش يل وهتي من مرايا النمتبة اخولية.
▫ ومعنووح الوحوودو القابلووة لووإلدارو هووب الوحوودو ال و يمكوون للمذووتخدمين التةاعوول مو مراياهووا
ا ساسووية ويمكوون بنافهووا بمعوور عوون الوحوودات ا خوورى ويووتم تجاهوول املرايووا ذات اخهميووة
اخقل وعدم ا ا ا ا النموذش اخو ب امليدوي.
• اإلسراع ب منشاد النموذش اخو ب:
▫ بوود ا س وراع ووب انشووائه خن موون نقوواط ووع دورو حيوواو الوونظم التقليديووة طووو الةتوورو
الرمنية الةا لة بوين تحديود املتطليوات و وين سذوليم النظوام الخامول للر وائن مموا يقلول مون
اعلي ا ب تليية احتيابات املذتخدمين ال تت ير دوما.
▫ يج و ووب علو و و املحل و وول تقص و ووير تل و ووك الةج و وووو الرمني و ووة وتق و ووديم نموذب و ووا عملي و ووا ذ و ووتطي
املذووتخدم رفيتووه ويكطذووب خ وورو عمليووة ووب اسووتخدامه ووب مرحلووة ميكوورو بوود مون ا نتظووار
ح ح يكتمل النظام م ائيا.
▫ ان تط وووير نم وووذش او ووب قاب وول للطشو و يل ذ وورعه ووب مرحل ووة ميك وورو م وون دورو حي وواو تطو ووير
النظم يرود املحلل برفيه عن صيةية اصما بقية املشروع .
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
قواعد تطوير النموذش اخو ب
• سعديل النموذش اخو ب:
▫
▫
▫
▫
عنوود انشوواد نموووذش او ووب هووب ان يووتم بنووافي بحيووع يمكوون ابوراد التعوودي ت عليووه حقووا وهووتا عنو
ان يتووأل النموووذش اخو ووب موون وحوودات سعتموود ع ووها علو عووي شووخل صييوور و التووا ب يخووون
هنا مشخلة عند اأسابة حقا ا ابراد بي التعدي ت.
ا
يتم عادو سعديل النموذش اخو ب عدو مرات باملرور ب عودو مراحول تكراريوة سذومح .Iterations
حيووع يووتم ووب روول مرحلووة مب وراد الت ي ورات ال و ت و دمل م و تقريووب النظووام موون اأسالووة ال و تناسووب
املذتخدمين.
ب م اية رل مرحلة بتقييم النموذش اخو ب من بديد وهتا هو املقصود بالتكرار.
يج ووب ان ع وورف املذ ووتخدمون من النم وووذش اخو ووب ل و نظام ووا م ائي ووا ب وول ه ووو نال ووخة اولي ووة س و تم
سعووديلها عوودو م ورات و التووا ب يجووب عل و املذووتخدمين القيووام بتقيوويم النظووام ووب م ايووة روول مرحلووة
تكرارية ح ح يتم تحذين النظام.
• الترصيز عل وابهة املذتخدم:
▫ ان وابهة املذتخدم ب النموذش اخو ب و ب النظام الن اوي هب بال ة اخهمية.
▫ يجو ووب من يو ووتمكن املذو ووتخدمون مو وون التةاعو وول م و و النمو وووذش اخو و ووب للنظو ووام ذو ووهوله خن الهو وودف
اخساس و و م و وون النم و وووذش اخو و ووب ه و ووو من يق و وووم املذ و ووتخدمون بتو و ووي متطلي و ووات املعلوم و ووات ال و و
يحتابوم وا شووخل اص وور و موا من الوابهووة بالنذووية للعديود موون املذووتخدمين هوب النظووام يجووب من
يخون التعامل معها سه ح ح سذاعدي عل مي اح متطليات املعلومات.
نسخة خاصة غري قابلة للنشر والتوزيع، مازن خريو/د
أساليب تطوير النظم
SDLC
Prototyping
Rapid Application Development RAD
Extreme Programming XP
Staged Development
Team Centered Development
Synthesis
Ready Made Software Packages
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
التطوير الذري للتطييقات
Rapid Application Development
RAD
• هب طريقة رائنيه التوبه ب تطوير النظم تتأل
من:
▫ طريقة التطوير.
▫ أدوات برمجة.
• وودف م و اختصووار الوورمن الطويوول الووتمل يةصوول بووين تصووميم النظووام وتنةيووتي ووب
دورو حيوواو تطوووير الوونظم و التووا ب م و تلييووة متطليووات العموول املت يورو ذوورعة ووب
وقت قصير.
• ينظوور عووي املطووورين م و التطوووير الذووري للتطييقووات علو أنووه طريقووة مذوواعدو
ووب ب ئ ووات التج ووارو اإللكتروني ووة اأجدي وودو املعتم وودو علو و الوي ووب حي ووع يكطذ ووب
اه ووور العم وول عل و الوي ووب قي وول اخعم ووا املنا ذ ووة ل ووه أهمي ووة خا ووة وونذا أراد
املحلوول و و تطييو مووا علو الويووب ذوورعة قيوول أن تةعوول اخعمووا املنا ذووة لووه
اخ ل أن يطينح هو و ريقه طريقة التطور الذري للتطييقات.
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
مراحل التطوير الذري للتطييقات RAD
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
املرحلة اخو :مرحلة تخطيط املتطليات
• ب هتي املرحلة يجتم املحللوون واملذوتخدمون مون أبول تحديود أهوداف النظوام
ومتطليات املعلومات الناتجة عن تلوك اخهوداف .وهوب تتطلوب مشوارصة قويوة مون
املذووتخدمين وموون املحللووين ول ذووت مجوورد توقي و عل و عووي ا تةاقي وات وموون
اأجدير بالوتصر هنوا أنوه يمكون أن تحتواش هوتي الطريقوة م و مشوارصة املذوتخدمين
من بمي مذتويات املنظمة العليا والوسطى والدنيا.
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
املرحلة ال انية :ور ة التصميم
• وسذوومح أي ووا مرحلووة :وومم و ا
حذوون design-and-refineوأد مووا ع وور
عن ووا ه ووو رلم ووة ور ووة workshopعن وودما نتخي وول ور ووة العم وول تقة وور م و
أذهاننا ورو املشارصة القوية لأل راد وعدم الذليية.
• يج ووب علو و املذ ووتخدمين أان وواد ه ووتي املرحل ووة مب ووداد ردود أ ع ووالهم واس ووتجابا م
للنماذش اخوليوة القابلوة للطشو يل وعلو املحللوين أن يقومووا بتحذوين الوحودات
ال رمجية ال تم تصميمها اعتمادا عل ردود أ عا املذتخدمين.
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
املرحلة ال ال ة :التنةيت
• ن حو أن املحللوين واملذوتخدمين عملوون وب ور وة التصوميم مون أبول تصوميم
النوووا ب يوور الةنيووة موون النظووام وبعوود ا تةووا عل و النوووا ب يوور الةني وة و نوواد
النظووام وسشووتييه يووتم اختيووار الوونظم اأجديوودو أو عووي أبرا ووا اووم عر وها علو
املنظمة.
نسخة خاصة غري قابلة للنشر والتوزيع، مازن خريو/د
أساليب تطوير النظم
SDLC
Prototyping
Rapid Application Development RAD
Extreme Programming XP
Staged Development
Team Centered Development
Synthesis
Ready Made Software Packages
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
التطوير التدري ب Staged Development
• ذ ووتخدم ه ووتا اخس وولور لتط وووير اخنظم ووة الكيي وورو ب وودا وال و يمك وون تقذ وويمها م و ع وودد م وون
اخنظمة الةرعية دف تنةيت عملية بناد هتي اخنظمة عل مراحل مموا يطوي ممخانيوة مدارو
هووتي العمليووة بكةووادو و اعليووة .و قووا لهووتي الطريقووة يووتم ووب روول مرحلووة Stageتطوووير أحوود
الوونظم الةرعيووة لنظووام املعلومووات الووتمل يجوورمل تطووويري اووم يووتم ر ووط هووتا النظووام الةرعووب مو
املراحل الذابقة.
• أما خطوات تطيي هتا اخسلور ح :
▫
▫
▫
▫
دراسة بدوى النظام الكلب الكيير.
تقذيم النظام م عدد من اخنظمة الةرعية.
تقذيم املشروع م عدد من املراحل بحيع يتم ب رل مرحلة تطووير أحود هوتي اخنظموة الةرعيوة
باستخدام مناجية دورو حياو تطوير النظام ال سعر نا ملي ا ب الةقرو الذابقة.
ر ووط النظووام الةرعووب الووتمل تووم تنةيووتي ووب م ايووة روول مرحلووة باخنظمووة الةرعيووة ال و تووم تطويرهووا ووب
املراحل الذابقة.
• م و :يمك وون تقذ وويم نظ ووام املعلوم ووات ووب وورصة صيي وورو م و ع وودو أنظم ووة رعي ووة م ول :نظ ووام
معلومووات املييعووات ونظووام معلومووات املشووتريات ونظووام رقابووة املخوورون اووم يووتم ووب رول مرحلووة
بن وواد أح وود ه ووتي اخنظم ووة ق ووط مم ووا يط ووي إلدارو املش ووروع ممخاني ووة متا ع ووة أنش ووطة التطو ووير
والرقابووة علي ووا بطريقووة أ وول .صمووا يةيوود هووتا اخسوولور ووب رونووه ذوواعد علو اصطذوار اأخ وورو
ال زمة تي العمليات لدى رل من املدراد واملذتخدمين و ري العمل التمل يقووم بوالتطوير
نسخة خاصة غري قابلة للنشر والتوزيع، مازن خريو/د
أساليب تطوير النظم
SDLC
Prototyping
Rapid Application Development RAD
Extreme Programming XP
Staged Development
Team Centered Development
Synthesis
Ready Made Software Packages
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
التطوير املعتمد عل ري عمل
Team Centered
Development
•
•
•
•
يقوووم هووتا اخسوولور عل و لذووةة مناق ووة تمامووا ملةهوووم دورو حيوواو تطوووير اخنظم ووة
حيووع يتوور اأسريووة الخاملووة لةري و التطوووير لتطوووير نظووام املعلومووات دون ايووة قيووود
تتعل بطذلذل عمليات التطوير.
يوود موون الترصيووز عل و تنةيووت عمليووات وأنشووطة التطوووير شووخل رسووم ومطذلذوول صمووا
ه ووو اأس ووا ووب دورو حي وواو تط وووير النظ ووام ا ذ ووم للةريو و بالعم وول ووب ه ووتي اخنشو وطة
باخسلور التمل يراي مناسيا وأصهر عالية إلنجاز النظام املطلور.
وسذ ووطند لذ ووةة ه ووتا اخس وولور لتط وووير أنظم ووة املعلوم ووات ال و تخ ووون ووب اليداي ووة ي وور
واض ووسة التحدي وود Imprecise Systemsوو قووا ل ووتلك ي ووتم تطوووير النظ ووام بطريق ووة
تجريبية وبشخل ارتقاوي.
ة ووي اليداي ووة ي ووتم تط وووير نظ ووام أو ووب ذ وويط Pilot Systemيو و قي وود ا س ووتخدام
وا ختيووار اووم تجوورمل ترقيتووه Upgradingشووخل متوودرش علو خطوووات حيووع يووتم ووب روول
خطوووو تاليووة م ووا ة ممخانووات وقوودرات بديوودو م و هووتا النظووام املوبووود قيوود ا ختيوار.
نسخة خاصة غري قابلة للنشر والتوزيع، مازن خريو/د
أساليب تطوير النظم
SDLC
Prototyping
Rapid Application Development RAD
Extreme Programming XP
Staged Development
Team Centered Development
Synthesis
Ready Made Software Packages
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
أسلور الترصيب Synthesis
• و ق و ووا له و ووتا اخس و وولور ي و ووتم تط و وووير أنظم و ووة املعلوم و ووات م و وون وح و وودات وايةي و ووة
Modulesموبو ووودو وهو ووتا يتطلو ووب أن يتو ووو ر لو وودى املنظمو ووة مكتيو ووة برمجيو ووات
Software Libraryت ووم العدي وود م وون الوح وودات الوايةي ووة Modulesوال و و
يمكوون معووادو اسووتخدامها م ورات عديوودو Reusableعنوود بنوواد أنظمووة ا ملعلومووات
اأجديدو.
• ولخ و ووي تت و ووو ر م و وول ه و ووتي املكتي و ووة يج و ووب أن سعتم و وود املنظم و ووة اخس و وولور الهيكل و ووب
لتص ووميم ال وونظم Structural Designال ووتمل يق وووم علو و تقذ وويم النظ ووام م و و
مجموع ووة م وون الوح وودات الوايةي ووة Program Modulesال و و تق وووم ر وول من ووا
بواية ووة مح ووددو تمام ووا .وأه ووم ميو وزات ه ووتا اخس وولور ه ووو مع ووادو اس ووتخدام ه ووتي
الوحدات الوايةية عند تصميم اخنظمة اأجديدو.
نسخة خاصة غري قابلة للنشر والتوزيع، مازن خريو/د
أساليب تطوير النظم
SDLC
Prototyping
Rapid Application Development RAD
Extreme Programming XP
Staged Development
Team Centered Development
Synthesis
Ready Made Software Packages
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
اسلور استخدام اأسرم ال رمجية اأجاهرو
• نظرا لخون العديد من التطييقات اإلدارية ذات طييعوة متماالوة وب مختلو املنظموات
لق وود انطش وورت وبش ووخل واس و ح وورم برمجي و اوات تطييقي ووة ب وواهرو ت ووو ر ممخاني ووات بي وودو
أسوس ووية مجموع ووة واس ووعة م وون وا ووائ املنظم ووة م وول :املحاس ووية والتخط وويط امل ووا ب
والتني و ومدارو اإلنت وواش واملخ وورون وتحلي وول املييع ووات ومعاأج ووة الطلي ووات وم وودار أوام وور
الشراد و يرها.
• ولق و وود و و وورت ه و ووتي اأس و وورم اأج و وواهرو ممخاني و ووة حوس و ووية التطييق و ووات املختلة و ووة ذ و وورعة
و كةادو ملسواة .وعند استخدام هتي املناجية لتطوير اخنظمة اأساسوو ية ننوه مون
اله ووم ب وودا أن يخ ووون املذ ووتخدم أو اأجه ووة املذ ووتةيدو علو و دراي ووة واس ووعة باحتيابا ووا
تمكن ووا م وون اختي ووار اأسرم ووة املناس ووية وو ووعها قي وود الطش و يل وا س ووتةادو من وا بأس وورع
وقت و دون اأسابة م مبراد س ييرات أو سعدي ت واسعة ي ا.
• وبش ووخل ع ووام يتزاي وود اإلقي ووا علو و اس ووتخدام اأس وورم اأج وواهرو ووب حوس ووية التطييق ووات
والنظم املختلةة نظرا للتطور الذري والكيير ب اإلمخانوات ال و تو رهوا هوتي اخنظموة
ووب معاأج ووة الييان ووات ومل ووا تطيح ووه م وون مرون ووة صيي وورو ووب مدخ ووا التع وودي ت والت يو ورات
وتة ووي ت املذووتخدم بمووا يتماغ و ح معووالت يرات املمكنووة ووب ا حتيابووات ولكوون ييقووى
استخدام هتي اأسرم محصورا أو محددا بالتطييقات النمطية ذات الطييعة العامة.
د /مازن خريو ،نسخة خاصة غري قابلة للنشر والتوزيع
اختيار اخسلور اخم ل لتطوير النظام
• دربووة و وووح وتحديوود بنيووة النظووام:
يمكوون تطويرهووا باسووتخدام أسوولور دورو حيوواو تطوووير النظووام املشووار ملي ووا أع و ي أمووا
بالنذووية لألنظمووة ال و تخووون ب ن ووا يوور واضووسة وويمكن تطويرهووا باسووتخدام اخسوولور
التدري ب أو النماذش التجريبية.
• ت ووو ر اأخ وورو واملعر ووة بتقني ووة اخنظم ووة :أمل عن وودما يخ ووون املذ ووتخدمين علو و معر ووة و
مط ع بتقنية املعلوموات يمكون تطووير النظوام باسوتخدام أسولور دورو حيواو النظوام
أم ووا عن وودما يخ ووون املذ ووتخدمين ي وور ع ووار ين ووتي التقني ووة ويذ ووتخدموم ا للم ورو اخو و
ننه ية ل تطوير النظام باستخدام اخسلور التجري .
• حجووم النظووام الووتمل يجوورمل تطووويري عنوودما يخووون النظووام صييوور بوودا ية وول تجرئتووه م و
نظوم رعيووة محوددو شووخل واضو اووم اتيواع اخسوولور املرحلوب Stagedلتطووويري أمل
التطوير عل مراحل.
النظووام ذات الينيووة الواضووسة Well Defined
مناهج تطوير النظم
يقصد بمنهجية التطوير مجموعة الطرق واألدوات المستخدمة
في تطوير النظام بدءاً من تجميع المعلومات و تحديد احتياجات
المستخدم ،مروراً بعمليات النمذجة ووصوال ً إلى بناء النظام
الحاسوبي الجديد بالطريقة التي تلبي االحتياجات بالكفاءة
والفاعلية المطلوبة.
وهكذا فإن المنهجية تحدد الخطوات التي سيتم من خاللها
تطوير النظام واألدوات Toolsالالزمة لكل خطوة ونظراً للتنوع
الشديد في أساليب تطوير النظم ووجود العديد من األدوات
التي يمكن استخدامها في كل خطوة أو مرحلة من عملية
التطوير ،فإنه نظرياً يمكن اشتقاق العديد من المنهجيات
الممكنة لتطوير النظم ولكن من الناحية العملية يفضل أن
تستخدم المنظمات منهجية واحدة عامة لتطوير أنظمتها
Standard Methodologyنظراً للمزايا التالية:
تنميط وتوحيد عمليات وأنشطة التطوير لكي تتم بأسلوب موحد
ومنسق مما يسهل عمليات التوثيق والمتابعة.
تركيز جهود المحللين والمصممين على دراسة النظم التي يقومون
بتطويرها ،وإعفائهم من المهام المتعلقة باختيار األدوات واألساليب
المختلفة للنمذجة والتوثيق لكل مشروع على حدة.
مناهج تطوير النظم
ويقصد بتحديد منهجية معينة ،واعتمادها لتطوير أنظمة المعلومات في
المنظمة ما يلي:
تحديد مجموعة األدوات واألساليب التي سيتم استخدامها في إنجاز المهام
المختلفة بدءاً من تجميع المعلومات وانتهاء بتنفيذ النظام ووضعه قيد التشغيل.
توزيع استخدام هذه األدوات واألساليب على سلسلة من الخطوات التي سيتم
وفقها تطوير النظام ،وبحيث تكون مخرجات كل خطوة هي مدخالت الخطوة التالية.
وهذا يعني تحديد الخطوات التي سيتم من خاللها تنفيذ مراحل دورة حياة التطوير
واألدوات التي ستستخدم في كل مرحلة والطريقة التي سيتم استخدامها لتوثيق
النظام.
وبشكل عام فإن جميع منهجيات التطوير تؤدي في النهاية إلى بناء نظام
المعلومات المطلوب ولكن اختالف هذه المنهجيات يعود إلى اختالف
الطريقة التي تعتمدها كل منهجية لتنفيذ مهام وأنشطة عملية التطوير،
ونظراً ألن المكونات الرئسية ألي نظام هي عملياته وهيكل بياناته وتدفقات
البيانات فيه ،فإن المنهجيات المختلفة يمكن أن تبدأ بدراسة إحدى هذه
المكونات وتنطلق منها لبناء نموذج النظم وتطويره .ولذلك نجد أن بعض
المنهجيات تركز على دراسة تدفقات البيانات ،بينما تركز منهجيات أخرى
على دراسة العمليات ،في حين تركز منهجيات ثالثة على دراسة هيكل
بيانات النظام.