التطوير القائم على الميزات
تطوير البرمجيات الموجه بالميزات ( FDD ) هو عملية تطوير برمجيات تكرارية وتراكمية . وهو أسلوب مرن وخفيف لتطوير البرمجيات . يدمج FDD العديد من أفضل الممارسات في إطار متكامل. تنطلق هذه الممارسات من منظور تقديم وظائف ( ميزات ) ذات قيمة للعميل. [ 1 ] هدفه الرئيسي هو تقديم برمجيات عملية وملموسة بشكل متكرر وفي الوقت المناسب، بما يتوافق مع مبادئ بيان أجايل . [ 2 ]
تاريخ
ابتكر جيف دي لوكا منهجية تطوير البرمجيات القائمة على الوظائف (FDD) لتلبية الاحتياجات الخاصة لمشروع تطوير برمجيات استمر 15 شهرًا وضم 50 شخصًا في أحد البنوك الكبرى بسنغافورة عام 1997. نتج عن ذلك مجموعة من خمس عمليات تغطي تطوير نموذج شامل، وحصر الميزات، وتخطيطها، وتصميمها، وبنائها. تأثرت العملية الأولى بشكل كبير بمنهج بيتر كواد في نمذجة الكائنات . أما العملية الثانية، فتتضمن أفكار كواد حول استخدام قائمة الميزات لإدارة المتطلبات الوظيفية ومهام التطوير. بينما تُعدّ العمليات الأخرى نتاجًا لخبرة جيف دي لوكا. وقد تم تطبيق منهجية FDD عدة مرات منذ نجاح استخدامها في مشروع سنغافورة.
تم تقديم وصف FDD للعالم لأول مرة في الفصل السادس من كتاب Java modelling in Color with UMLبقلم بيتر كواد وإريك لوفيفر وجيف دي لوكا عام 1999. وفي وقت لاحق، في كتاب ستيفن بالمر وماك فيلسينج "دليل عملي لتطوير البرمجيات القائم على الميزات".(نُشر في عام 2002)، تم تقديم وصف أكثر عمومية لـ FDD منفصل عن نمذجة Java.
ملخص
FDD هي عملية تكرارية قصيرة تعتمد على النموذج، وتتألف من خمسة أنشطة أساسية. ولضمان دقة تقارير الحالة ومتابعة مشروع تطوير البرمجيات، تُحدد معالم رئيسية تُشير إلى التقدم المُحرز في كل ميزة. يُقدم هذا القسم نظرة عامة على الأنشطة. في الشكل على اليمين، يظهر نموذج العملية الفوقية لهذه الأنشطة. خلال النشاطين الأولين المتتاليين، يتم وضع الشكل العام للنموذج . أما الأنشطة الثلاثة الأخيرة، فتُكرر لكل ميزة.

تطوير النموذج الشامل
يبدأ مشروع FDD بجولة تعريفية عامة لنطاق النظام وسياقه. بعد ذلك، تقوم مجموعات صغيرة بإنشاء نماذج تفصيلية لكل مجال من مجالات النمذجة، ثم تُعرض هذه النماذج على النظراء للمراجعة . يتم اختيار نموذج واحد أو أكثر من النماذج المقترحة ليصبح النموذج المعتمد لكل مجال. تُدمج نماذج المجالات تدريجيًا في نموذج شامل.
قائمة ميزات الإنشاء
تُستخدم المعرفة المُكتسبة خلال مرحلة النمذجة الأولية لتحديد قائمة بالميزات من خلال تقسيم المجال وظيفيًا إلى مجالات موضوعية. يحتوي كل مجال موضوعي على أنشطة تجارية، وتشكل الخطوات ضمن كل نشاط تجاري أساسًا لقائمة ميزات مُصنفة. الميزات في هذا السياق عبارة عن أجزاء صغيرة من وظائف ذات قيمة للعميل، مُعبر عنها بالصيغة "<الإجراء> <النتيجة> <الكائن>" ، على سبيل المثال: "حساب إجمالي عملية بيع" أو "التحقق من صحة كلمة مرور المستخدم". يجب ألا تستغرق الميزات أكثر من أسبوعين لإكمالها، وإلا فينبغي تقسيمها إلى أجزاء أصغر.
خطة حسب الميزة
بعد الانتهاء من قائمة الميزات، تتمثل الخطوة التالية في إعداد خطة التطوير وتحديد ملكية الميزات (أو مجموعات الميزات) كفئات للمبرمجين .
التصميم حسب الميزة
يتم إعداد حزمة تصميم لكل ميزة. يختار كبير المبرمجين مجموعة صغيرة من الميزات التي سيتم تطويرها خلال أسبوعين. وبالتعاون مع أصحاب الفئات المعنية، يضع كبير المبرمجين مخططات تسلسل تفصيلية لكل ميزة ويُحسّن النموذج العام. بعد ذلك، تُكتب مقدمات الفئات والأساليب، وأخيرًا يُجرى فحص للتصميم .
البناء حسب الميزة
بعد إجراء فحص تصميم ناجح لكل نشاط يُخطط له لإنتاج ميزة معينة، يقوم مالكو الفئات بتطوير التعليمات البرمجية لفئاتهم. بعد اختبار الوحدة وفحص التعليمات البرمجية بنجاح ، تُضاف الميزة المكتملة إلى الإصدار الرئيسي.
المعالم الرئيسية
نظرًا لصغر حجم الميزات، يُعدّ إنجاز كل ميزة مهمةً صغيرة نسبيًا. ولضمان دقة تقارير حالة المشروع ومتابعة تقدمه، من المهم تحديد التقدم المُحرز في كل ميزة. ولذلك، تُحدد منهجية تصميم الميزات (FDD) ست مراحل رئيسية لكل ميزة، تُنجز بالتتابع. تُنجز المراحل الثلاث الأولى خلال نشاط "التصميم حسب الميزة" ، بينما تُنجز المراحل الثلاث الأخيرة خلال نشاط "البناء حسب الميزة" . ولمتابعة التقدم، تُخصص نسبة إنجاز لكل مرحلة. يوضح الجدول أدناه المراحل الرئيسية ونسب إنجازها. عند بدء كتابة الكود، تكون الميزة قد أنجزت 44% من العمل (1% لاستعراض المجال، و40% للتصميم، و3% لفحص التصميم = 44%).
| جولة تعريفية بالمجال | تصميم | فحص التصميم | شفرة | فحص الكود | الترويج للبناء |
|---|---|---|---|---|---|
| 1% | 40% | 3% | 45% | 10% | 1% |
أفضل الممارسات
يعتمد تطوير البرمجيات القائم على الميزات على مجموعة أساسية من أفضل ممارسات هندسة البرمجيات التي تهدف إلى منظور الميزات التي يقدرها العميل.
- نمذجة كائنات المجال . تتضمن نمذجة كائنات المجال استكشاف مجال المشكلة المراد حلها وشرحه. يوفر نموذج كائنات المجال الناتج إطارًا عامًا لإضافة الميزات.
- التطوير حسب الميزة . أي وظيفة معقدة للغاية بحيث لا يمكن تنفيذها في غضون أسبوعين تُقسّم إلى وظائف أصغر حتى تصبح كل مشكلة فرعية صغيرة بما يكفي لتُعتبر ميزة. هذا يُسهّل تقديم وظائف صحيحة وتوسيع النظام أو تعديله.
- الملكية الفردية للفئة ( ملكية الكود ). تعني الملكية الفردية للفئة أن أجزاءً أو مجموعاتٍ متميزة من الكود تُسند إلى مالك واحد. يكون المالك مسؤولاً عن اتساق الفئة وأدائها وسلامتها المفاهيمية.
- فرق تطوير الميزات . فريق تطوير الميزات هو فريق صغير يتم تشكيله بشكل ديناميكي، ويتولى تطوير نشاط محدد. يتم دائماً الاستعانة بآراء متعددة في كل قرار تصميمي، ويتم تقييم خيارات تصميم متعددة قبل اختيار أحدها.
- عمليات التفتيش . يتم إجراء عمليات التفتيش لضمان جودة التصميم والبرمجة بشكل أساسي من خلال الكشف عن العيوب.
- إدارة التكوين . تساعد إدارة التكوين في تحديد شفرة المصدر لجميع الميزات التي تم إنجازها حتى الآن، وفي الحفاظ على سجل التغييرات التي تطرأ على الفئات أثناء قيام فرق الميزات بتحسينها.
- عمليات البناء المنتظمة . تضمن عمليات البناء المنتظمة وجود نظام محدّث دائمًا يمكن عرضه على العميل، وتساعد في تسليط الضوء على أخطاء التكامل في شفرة المصدر للميزات في وقت مبكر.
- وضوح التقدم والنتائج . يقوم المديرون بتوجيه المشروع باستخدام تقارير التقدم المتكررة والمناسبة والدقيقة من جميع المستويات داخل المشروع وخارجه بناءً على العمل المنجز.
النموذج الفوقي (النمذجة الفوقية)

تساعد النمذجة الفوقية على تصور كل من عمليات وبيانات المنهجية . وهذا يسمح بمقارنة المنهجيات، وإعادة استخدام أجزاء المنهجية بسهولة في عملية هندسة المنهجيات . ويتوافق استخدام هذه التقنية مع معايير لغة النمذجة الموحدة (UML) .
يُظهر الجانب الأيسر من نموذج البيانات الوصفية الأنشطة الخمسة الأساسية المُتضمنة في مشروع تطوير برمجيات باستخدام منهجية تطوير البرمجيات القائمة على الوظائف (FDD). تحتوي جميع الأنشطة على أنشطة فرعية تُقابل الأنشطة الفرعية في وصف عملية FDD. يُظهر الجانب الأيمن من النموذج المفاهيم المُتضمنة، والتي تنبع من الأنشطة الموضحة في الجانب الأيسر من الرسم التخطيطي.
انظر أيضاً
مراجع
- ↑ كادل، جيمس؛ أحمد، طاهر؛ معهد BCS المعتمد لتقنية المعلومات، المحررون. (2014). تطوير نظم المعلومات: دليل عملي لمتخصصي تقنية المعلومات . لندن: معهد BCS المعتمد لتقنية المعلومات. ص 99. ISBN 978-1-78017-245-3.
- ↑ "المبادئ الكامنة وراء بيان أجايل" . 2019-06-11.
- 1. ^ كواد، ب. ، لوفيفر، إ.، ودي لوكا، ج. (1999). نمذجة جافا بالألوان باستخدام لغة النمذجة الموحدة: مكونات المؤسسة والعمليات . برنتيس هول إنترناشونال. ( ISBN) 0-13-011510-X)
- ٢. ^ بالمر، إس آر، وفيلسينغ، جيه إم (٢٠٠٢). دليل عملي لتطوير البرمجيات الموجه بالميزات . برنتيس هول. ( ISBN) 0-13-067615-2)
روابط خارجية
- مجتمع تطوير البرمجيات القائم على الميزات
- صفحة وثيقة الإفصاح المالي لشركة نيبولون - نيبولون هي شركة الاستشارات التي يديرها جيف دي لوكا
- منهجيات تطوير مواقع الويب الناجحة - استخدام منهجية تطوير المواقع (FDD) في مشاريع تطوير مواقع الويب
- تقديم قيمة تجارية حقيقية باستخدام تطوير البرمجيات الموجه بالميزات - تقدم هذه المقالة نظرة عامة أساسية على تطوير البرمجيات الموجه بالميزات
- FDD والنمذجة الرشيقة
- برمجيات أفضل وأسرع - كتاب آخر من سلسلة كواد يتناول تطوير البرمجيات الموجه بالميزات. تأليف: آندي كارمايكل ودان هايوود. رقم الكتاب المعياري الدولي (ISBN) 0-13-008752-1
- مقابلة مع جيف ديلوكا، مؤسس منظمة الدفاع عن الديمقراطيات (بودكاست)
- تطوير البرمجيات الرشيقة
- إدارة مشاريع البرمجيات
- ميزات البرنامج
