Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

‫رنا حسين الشهراني‬

‫‪Ch2‬‬

‫صفحة ‪10‬‬

‫‪ .2‬عملية البرمجيات‬

‫‪  ‬تعريف‪ : 1 :‬عملية البرمجيات هي مجموعة من األنشطة ذات الصلة التي تؤدي إلى إنتاج منتج البرمجيات‪.‬‬

‫تعريف ‪ : 2‬عملية البرمجيات هي مجموعة من األنشطة اإلطار إلنجاز هذه المهمة‪.‬‬

‫‪ 2.1‬نموذج عملية البرمجيات‬

‫نموذج عملية البرمجيات هو تمثيل مبسط لعملية البرمجيات التي تبين األنشطة المعنية وتسلسلها‪ .‬هناك العديد من نماذج‬
‫عملية محددة جيدا وال يزال أحدث البحوث الجارية للعثور على نماذج أكثر وأكثر أفضل‪ .‬في كل نموذج رقم من األنشطة‬
‫وترتيبها يختلف ولكن بعض األنشطة المشتركة كما هو مبين أدناه‪:‬‬

‫‪ 2.1.1‬مواصفات البرمجيات‪ :‬يجب تحديد وظائف البرنامج والقيود المفروضة على تشغيله‪.‬‬

‫‪ 2.1.2‬تصميم البرمجيات وتنفيذها‪ :‬يجب أن يتم إنتاج البرمجيات‪ B‬لتلبية المواصفات‪.‬‬

‫‪ 2.1.3‬التحقق من صحة البرامج‪ :‬يجب التحقق من صحة البرنامج للتأكد من أنه يفعل ما يريده العميل‪.‬‬

‫‪ 2.1.4  ‬تطور البرمجيات‪ :‬يجب أن يتطور البرنامج لتلبية احتياجات العمالء المتغيرة‬

‫‪ 2.2‬أنواع نماذج عمليات البرمجيات‬

‫‪  ‬ال يوجد نموذج العملية المثالية أيضا معظم المنظمات قد وضعت نماذج العملية الخاصة بها‪ .‬ويتم اختيار نموذج العملية‬
‫وفقا لطبيعة البرنامج‪ .‬كما أنه يعتمد على مدى معرفة العميل عن نظامه ومقدار التفاصيل التي يمكن أن توفر متطلبات‬
‫نظامه‪ .‬بالنسبة لنظم األعمال‪ ،‬مع التغيرات السريعة نموذج أقل رسمية ومرنة يمكن أن تكون أكثر فعالية‪ .‬في القسم‬
‫سنناقش بعض النماذج العامة التي هي‬

‫ويناقش عادة في الكتب‪ .‬ولكن في الحياة العملية ال تستخدم هذه النماذج العامة كما يتم اتباعها بدال من ذلك نماذج مجردة‬
‫لشرح مراحل مختلفة من تطوير البرمجيات‬

‫___________________________________________________________________‬
‫صفحة ‪:11‬‬

‫‪ 2.2.1‬نموذج عملية الشالل‬

‫‪  ‬وهذا هو النموذج األول الذي ينشر أنشطة العملية األساسية في تتابع كما هو مبين في الشكل ‪ .2.1‬في البداية كان هذا‬
‫النموذج يسمى دورة تطوير البرمجيات (سدلك)‪ .‬نموذج الشالل هو مثال على عملية مدفوعة خطة وهذا يعني منظمة‬
‫التنمية يجب تخطيط وجدولة جميع أنشطة العملية قبل البدء في العمل عليها‪.‬‬

‫تحليل المتطلبات والتعريف‪ :‬يتم إنشاء خدمات النظام‪ ،‬والقيود‪ ،‬واألهداف من خالل التشاور مع مستخدمي النظام‪ .‬ثم يتم‬
‫تعريفها بالتفصيل وتخدم كمواصفات النظام‪.‬‬

‫‪  ‬تصميم النظام والبرمجيات‪ :‬تقوم عملية تصميم األنظمة بتخصيص المتطلبات ألي من األجهزة أو أنظمة البرمجيات من‬
‫خالل إنشاء بنية عامة للنظام‪ .‬تصميم البرمجيات‬
‫رنا حسين الشهراني‬

‫صفحة ‪:12‬‬

‫التنفيذ واختبار الوحدة‪ :‬خالل هذه المرحلة‪ ،‬يتم تصميم البرمجيات كمجموعة من البرامج أو وحدات البرامج‪ .‬يتضمن‬
‫اختبار الوحدة التحقق من أن كل وحدة تلبي مواصفاتها‪.‬‬

‫التكامل واختبار النظام‪ :‬يتم دمج واختبار وحدات البرامج الفردية أو البرامج كجهاز متكامل لضمان تلبية متطلبات‬
‫البرنامج‪ .‬بعد االختبار‪ ،‬يتم تسليم نظام البرمجيات إلى العميل‪ .‬التشغيل والصيانة ‪ ::‬عادة (وإن لم يكن بالضرورة)‪ ،‬وهذا‬
‫هو أطول دورة دورة الحياة‪ .‬يتم تثبيت النظام ووضعها موضع التنفيذ العملي‪ .‬وتشمل الصيانة تصحيح األخطاء التي لم‬
‫يتم اكتشافها في المراحل األولى من دورة الحياة‪ ،‬وتحسين تنفيذ وحدات النظام وتعزيز خدمات النظام مع اكتشاف‬
‫متطلبات جديدة‬

‫مزايا‬ ‫العيوب ‪ /‬مشاكل ‪ /‬القيود‬


‫‪ ‬بسيطة وسهلة الفهم واالستخدام‪.‬‬ ‫‪ ‬تقسيم غير مرنة من مراحل المشروع يجعل من الصعب‬
‫‪ ‬كل مرحلة لها مخرجات محددة وعملية مراجعة‪.‬تتم‬ ‫االستجابة لمتطلبات العمالء المتغيرة‪.‬‬
‫معالجة‬ ‫‪ ‬مناسبة فقط عندما تكون المتطلبات مفهومة جيدا‪( .‬عدد‬
‫‪ ‬مراحل ويكتمل المنتج الكامل في وقت واحد‪.‬‬ ‫قليل جدا من نظم األعمال لديها متطلبات مستقرة)‪.‬‬
‫‪ ‬إذا تأخرت عملية ما‪ ،‬فسيتم تأجيل كل عملية أخرى‪.‬‬
‫‪ 2.2.2‬نموذج التنمية اإلضافية‬

‫‪  ‬نموذج تزايدي استخدام النهج المتسلسل الخطي مع الطبيعة التكرارية للنماذج األولية‪ .‬وتستند التنمية اإلضافية إلى فكرة‬
‫وضع تنفيذ أولي وتقديمه إلى المستعمل للتعليق عليه وتحسينه من خالل عدة نسخ من إصدارات المنتجات إلى أن يتم‬
‫تطوير نظام مقبول كما هو مبين في الشكل ‪.2.2‬‬

‫___________________________________________________________________‬
‫صفحة ‪:13‬‬

‫مزايا‬ ‫العيوب ‪ /‬مشاكل ‪ /‬القيود‬


‫‪ ‬أفضل من نهج شالل لمعظم الشركات‪ ،‬والتجارة‬ ‫وفقا إلدارة المشروع النموذج التدريجي لديه مشكلتين‪:‬‬
‫اإللكترونية‪ ،‬والنظم الشخصية‪.‬‬ ‫‪ ‬العملية غير مرئية‪ .‬يحتاج المديرون إلى مخرجات‬
‫‪ ‬التغییرات المتکاملة أمر سھل جدا والجهود المبذولة في‬ ‫منتظمة لقياس التقدم المحرز‪ .‬إذا تم تطوير النظم بسرعة‪،‬‬
‫التحلیل والتوثیق أقل کثیرا من نموذج الشالل‪.‬‬ ‫فإنه ليس من حيث التكلفة إلنتاج وثائق تعكس كل نسخة من‬
‫‪ ‬الحصول على مالحظات‪ B‬العمالء ضد اإلفراج المقدمة‬ ‫النظام‪.‬‬
‫عن دقة ومستوى اإلنجاز‪.‬‬ ‫‪ t‬يميل هيكل النظام إلى التدهور‪ .‬كما يتم إضافة الزيادات‬
‫‪ ‬تسليم أسرع من المنتج هو ممكن‪ ،‬حتى لو لم يتم تضمين‬ ‫الجديدة‪ .‬ما لم ينفق الوقت والمال على إعادة هيكلة لتحسين‬
‫جميع وظائف‪ .‬يمكن للعمالء على األقل استخدام المهام‬ ‫البرنامج‪ ،‬تغيير منتظم يميل إلى فساد هيكلها‪ .‬ويصبح دمج‬
‫المكتملة في وقت سابق بغض النظر عن النظام كله لم يتم‬ ‫المزيد من التغييرات البرمجية أمرا صعبا ومكلفا على نحو‬
‫تسليمها حتى اآلن‬ ‫متزايد‪.‬‬

‫___________________________________________________________________‬
‫صفحة ‪:14‬‬

‫‪ 2.2.3‬هندسة البرمجيات الموجهة إلعادة االستخدام الموديل‪:‬‬

‫ويستند هذا النهج إلى وجود عدد كبير من المكونات القابلة إلعادة االستخدام‪ .‬وتركز عملية تطوير النظام على دمج هذه‬
‫المكونات في نظام بدال من تطويرها من الصفر‪ .‬في معظم مشاريع البرمجيات‪ ،‬وهناك بعض إعادة استخدام البرمجيات‪.‬‬
‫وكثيرا ما يحدث ذلك بشكل غير رسمي عندما يعرف األشخاص الذين يعملون في المشروع التصاميم أو الشفرة التي تشبه‬
‫ما هو مطلوب‪.‬‬

‫ويرد في الشكل ‪ 2.3‬نموذج عملي عام للتنمية القائمة على إعادة االستخدام‪ .‬مراحل "مواصفات المتطلبات" و "التحقق من‬
‫صحة النظام" هي نفسها كما في نماذج أخرى ولكن المراحل المتوسطة في هذا النموذج مختلفة‪ .‬ويمكن تفسيرها بالتفصيل‬
‫على النحو التالي‪:‬‬
‫رنا حسين الشهراني‬

‫تحليل المكونات‪ :‬بعد الحصول على متطلبات المستخدم يتم إجراء بحث عن المكونات التي سيتم تنفيذها والتي تتوفر في‬
‫المكتبة كما هو أو مع االختالفات‪ B‬الصغيرة‪ .‬عادة‪ ،‬ال يوجد تطابق تام والمكونات المتاحة بالفعل توفر سوى بعض‬
‫الوظائف المطلوبة‪.‬‬

‫‪ ‬متطلبات التعديل‪ :‬خالل هذه المرحلة‪ ،‬يتم تحليل المتطلبات باستخدام معلومات عن المكونات التي تم اكتشافها‪ .‬ثم يتم‬
‫تعديلها لتعكس المكونات المتاحة‪ .‬وعندما تكون التعديالت مستحيلة‪ ،‬يمكن إعادة إدخال نشاط تحليل المكونات للبحث عن‬
‫حلول بديلة‪ .‬تصميم النظام مع إعادة االستخدام‪ :‬خالل هذه المرحلة‪ ،‬تم تصميم إطار النظام أو إعادة استخدام إطار القائمة‪.‬‬
‫ويأخذ المصممون في الحسبان المكونات التي يعاد استخدامها وينظمون اإلطار لتلبية ذلك‪ .‬قد يكون من الضروري تصميم‬
‫بعض البرامج الجديدة إذا لم تكن المكونات القابلة إلعادة االستخدام متاحة‪.‬‬

‫التطوير والتكامل‪ :‬يتم تطوير البرمجيات التي ال يمكن شراؤها خارجيا‪ ،‬والمكونات وأنظمة كوتس متكاملة إلنشاء النظام‬
‫الجديد‪ .‬وقد يكون تكامل النظام‪ ،‬في هذا النموذج‪ ،‬جزءا من عملية التطوير بدال من نشاط منفصل‬

‫صفحة ‪:15‬‬

‫‪ 2.2.4‬نموذج بووم الحلزوني‬

‫‪  ‬وقد اقترح بوم إطار عمل برمجيات يحركه المخاطر (النموذج الحلزوني)‪ .‬هنا‪ ،‬يتم تمثيل عملية البرمجيات باعتبارها‬
‫دوامة‪ ،‬بدال من سلسلة من األنشطة مع بعض التراجع من نشاط إلى آخر‪ .‬كل حلقة في دوامة تمثل مرحلة من عملية‬
‫البرمجيات‪ .‬وهكذا‪ ،‬فإن الحلقة األعمق قد تكون المعنية مع جدوى النظام‪ ،‬الحلقة القادمة مع تعريف المتطلبات‪ ،‬الحلقة‬
‫التالية مع تصميم النظام‪ ،‬وهلم جرا‪ .‬يتم تقييم المخاطر بشكل واضح وحلها طوال العملية‪.‬‬

‫تحديد األهداف‪ :‬تحدد أهداف محددة لتلك المرحلة من المشاريع‪ .‬يتم تحديد القيود على العملية والمنتج ووضع خطة إدارة‬
‫مفصلة‪ .‬يتم تحديد مخاطر المشروع‪ .‬ويمكن التخطيط الستراتيجيات بديلة‪ ،‬اعتمادا على هذه المخاطر‪.‬‬

‫___________________________________________________________________‬
‫صفحة ‪:16‬‬

‫تقييم المخاطر والحد منها‪ :‬يتم إجراء تحليل مفصل لكل من مخاطر المشروع المحددة‪ .‬وتتخذ خطوات للحد من المخاطر‪.‬‬
‫على سبيل المثال‪ ،‬إذا كان هناك خطر من أن المتطلبات غير مالئمة‪ ،‬قد يتم تطوير نظام النموذج األولي‪ .‬التطوير‬
‫والتصديق‪ :‬بعد تقييم المخاطر‪ ،‬يتم اختيار نموذج تطوير للنظام‪ .‬على سبيل المثال‪ ،‬قد تكون النماذج األولية المهجورة‬
‫أفضل نهج للتنمية إذا كانت مخاطر واجهة المستخدم مهيمنة‪ .‬وإذا كانت مخاطر السالمة هي االعتبار الرئيسي‪ ،‬فإن‬
‫التنمية القائمة على التحوالت الرسمية قد تكون العملية األنسب‪ ،‬وما إلى ذلك‪ .‬إذا كان الخطر الرئيسي المحدد هو تكامل‬
‫النظام الفرعي‪ ،‬قد يكون نموذج الشالل أفضل نموذج للتنمية الستخدامه‪.‬‬

‫التخطيط‪ :‬يتم مراجعة المشروع واتخاذ قرار ما إذا كان االستمرار في حلقة أخرى من دوامة‪ .‬وإذا تقرر االستمرار‪ ،‬يتم‬
‫وضع خطط للمرحلة التالية من المشروع‪.‬‬

‫‪ 2.2.5‬نموذج رشيق‬

‫‪  ‬نموذج رشيق هو مزيج من تكرارية ونماذج عملية تدريجية مع التركيز على عملية التكيف ورضا العمالء عن طريق‬
‫التسليم السريع للمنتج البرمجيات‪ B‬العمل‪ .‬طرق رشيقة كسر المنتج إلى يبني تدريجية صغيرة‪ .‬يتم توفير هذه البنيات في‬
‫التكرارات‪ .‬ويستمر كل تكرار عادة من أسبوع إلى ثالثة أسابيع‪ .‬في نهاية كل تكرار يتم عرض منتج العمل للعميل‬
‫رنا حسين الشهراني‬

‫صفحة ‪:17‬‬

‫مبادئ أجيل البيان‪:‬‬

‫‪  ‬األفراد والتفاعالت‪ :‬في التنمية الرشيقة‪ ،‬والتنظيم الذاتي والتحفيز مهمة‪ ،‬وكذلك التفاعالت مثل المشاركة‪ B‬في الموقع‬
‫والبرمجة الزوج‪.‬‬

‫برنامج العمل‪ :‬يعتبر برنامج العمل التجريبي أفضل وسيلة للتواصل مع العميل لفهم متطلباتهم‪ ،‬بدال من االعتماد فقط على‬
‫الوثائق‪.‬‬

‫‪  ‬التعاون مع العمالء‪ :‬كما ال يمكن جمع المتطلبات تماما في بداية المشروع بسبب عوامل مختلفة‪ ،‬التفاعل المستمر‬
‫العمالء مهم جدا للحصول على متطلبات المنتج المناسبة‪.‬‬

‫‪  ‬االستجابة للتغيير‪ :‬تركز التنمية الرشيقة على االستجابات السريعة للتغيير والتطوير المستمر‪.‬‬

You might also like