نموذج الميزات

في مجال تطوير البرمجيات، يُعدّ نموذج الميزات تمثيلاً موجزاً لجميع منتجات خط إنتاج البرمجيات (SPL) من حيث "الميزات". ويتم تمثيل نماذج الميزات بصرياً باستخدام مخططات الميزات. تُستخدم نماذج الميزات على نطاق واسع خلال عملية تطوير خط الإنتاج بأكمله، وتُستخدم عادةً كمدخلات لإنتاج أصول أخرى مثل الوثائق، وتعريف البنية، أو أجزاء من التعليمات البرمجية.

تُعدّ SPL مجموعة من البرامج ذات الصلة. عندما تكون وحدات بناء البرنامج هي الميزات - أي الزيادات في وظائف البرنامج أو تطويره - يتم تحديد كل برنامج في SPL من خلال مجموعة فريدة وقانونية من الميزات، والعكس صحيح.

تم تقديم نماذج الميزات لأول مرة في طريقة تحليل المجال الموجه نحو الميزات (FODA) بواسطة كانغ في عام 1990. [ 1 ] ومنذ ذلك الحين، تم اعتماد نمذجة الميزات على نطاق واسع من قبل مجتمع خط إنتاج البرمجيات وتم اقتراح عدد من الامتدادات.

خلفية

تُعرَّف "الميزة" بأنها "جانب أو صفة أو خاصية بارزة أو مميزة يمكن للمستخدم رؤيتها في نظام برمجي أو نظام". [ 1 ] يركز تطوير لغات برمجة البرمجيات (SPL) على الإنشاء المنهجي والفعال لبرامج مماثلة. أما تحليل FODA فهو تحليل مخصص لتحديد الميزات في مجال معين ستغطيه لغة برمجة برمجيات محددة. [ 1 ]

نموذج

نموذج الميزات هو نموذج يُعرّف الميزات وعلاقاتها المتبادلة، وعادةً ما يكون على شكل مخطط ميزات بالإضافة إلى قيود متبقية (تُعرف أيضًا بالقيود المتقاطعة). ولكن يمكن أيضًا أن يكون على شكل جدول بالتركيبات الممكنة.

رسم بياني

مخطط الميزات هو تمثيل مرئي لنموذج الميزات، وهو في الأساس شجرة "و-أو". توجد امتدادات أخرى: عدد العناصر ، واستنساخ الميزات، وسمات الميزات، والتي سيتم تناولها لاحقًا.

إعدادات

تُعرَّف مجموعة خصائص التكوين بأنها مجموعة من الخصائص التي تصف عنصرًا من عناصر لغة البرمجة الإحصائية (SPL): يحتوي العنصر على خاصية ما إذا وفقط إذا كانت هذه الخاصية موجودة في تكوينه. ويُسمح بتكوين الخصائص في نموذج الخصائص إذا وفقط إذا لم يخالف القيود التي يفرضها النموذج.

شجرة الميزات

شجرة الميزات (المعروفة أحيانًا باسم نموذج الميزات أو مخطط الميزات) هي رسم بياني هرمي يصور ميزات الحل بصريًا في مجموعات ذات مستويات تفصيل متزايدة. تُعد أشجار الميزات وسيلة رائعة لتلخيص الميزات التي سيتم تضمينها في الحل وكيفية ارتباطها بطريقة بصرية بسيطة. [ 2 ]

رموز نمذجة الميزات

يمكن تقسيم رموز نمذجة الميزات الحالية إلى ثلاث مجموعات رئيسية، وهي:

  • نماذج الميزات الأساسية
  • نماذج الميزات القائمة على عدد العناصر
  • نماذج ذات ميزات موسعة
مخطط الميزات الذي يمثل نظام متجر إلكتروني قابل للتكوين

نماذج الميزات الأساسية

تُصنف العلاقات بين الميزة الأصلية وميزاتها الفرعية (أو الميزات الفرعية) على النحو التالي:

  • إلزامي  - يجب تحديد ميزة الطفل.
  • اختياري  - يمكن تحديد ميزة الطفل أو عدم تحديدها.
  • أو  – يجب تحديد ميزة فرعية واحدة على الأقل.
  • الخيار البديل (xor)  - يجب تحديد ميزة فرعية واحدة فقط.

بالإضافة إلى العلاقات الأبوية بين الميزات، يُسمح بالقيود عبر الشجرة. وأكثرها شيوعًا هي:

  • يتطلب أ وجود ب  - اختيار أ في منتج ما يستلزم اختيار ب.
  • أ يستبعد ب  – لا يمكن أن يكون أ و ب جزءًا من نفس المنتج.

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

نماذج الميزات القائمة على عدد العناصر

يقترح بعض المؤلفين توسيع نماذج الميزات الأساسية باستخدام تعددية مشابهة لنموذج UML، على شكل [n,m] ، حيث n هو الحد الأدنى و m هو الحد الأعلى. تُستخدم هذه النماذج للحد من عدد الميزات الفرعية التي يمكن أن تكون جزءًا من منتج ما عند اختيار الميزة الأصلية. [ 3 ]

إذا كان الحد الأعلى هو فيمكن استنساخ الميزة عددًا غير محدود من المرات (طالما تم الالتزام بالقيود الأخرى). هذه الصيغة مفيدة للمنتجات القابلة للتوسيع بعدد غير محدود من المكونات.

نماذج ذات ميزات موسعة

ويقترح آخرون إضافة معلومات وظيفية إضافية إلى الميزات باستخدام "السمات". وتتكون هذه السمات بشكل أساسي من اسم ونطاق وقيمة. [ 4 ]

علم الدلالة

تُعرَّف دلالات نموذج الميزات بأنها مجموعة تكوينات الميزات التي يسمح بها هذا النموذج. والنهج الأكثر شيوعًا هو استخدام المنطق الرياضي لتجسيد دلالات مخطط الميزات. [ 5 ] تتوافق كل ميزة مع متغير منطقي ، وتُجسد دلالاتها كصيغة منطقية . وتتوافق القيم المُرضية لهذه الصيغة مع تكوينات الميزات التي يسمح بها مخطط الميزات. على سبيل المثال، إذاو1{\displaystyle f_{1}}هي ميزة فرعية إلزامية منو2{\displaystyle f_{2}}ستتضمن الصيغة القيدو1و2{\displaystyle f_{1}\Leftrightarrow f_{2}}[ 6 ]

يوضح الجدول التالي ترجمة العناصر الأساسية. نفترض أن الرسم البياني عبارة عن شجرة جذرية ذات جذرر{\displaystyle r}إن دلالات المخطط بأكمله هي نتاج ترجمات العناصر التي يحتويها. لذا، إذا كُتبت جميع العناصر بصيغة الاقتران العادية (CNF)، فإنه يمكن دمج المصطلحات بسهولة باستخدام عامل الربط المنطقي "و"، وسيظل التعبير المنطقي بأكمله بصيغة الاقتران العادية.

مخطط الميزات الأساسيعلم الدلالةالدلالات في الصيغة العادية الاقترانية
ر{\displaystyle r}هي الميزة الأساسيةر{\displaystyle r}ر{\displaystyle r}
و1{\displaystyle f_{1}}ميزة فرعية إلزامية منو{\displaystyle f}و1و{\displaystyle f_{1}\Leftrightarrow f}(و1¬و)(¬و1و){\displaystyle (f_{1}\lor \lnot f)\land (\lnot f_{1}\lor f)}
و1{\displaystyle f_{1}}ميزة فرعية اختيارية منو{\displaystyle f}و1و{\displaystyle f_{1}\Rightarrow f}(¬و1و){\displaystyle (\lnot f_{1}\lor f)}
و1،...،ون{\displaystyle f_{1},\dots ,f_{n}}أو السمات الفرعية لـو{\displaystyle f}و1ونو{\displaystyle f_{1}\lor \dots \lor f_{n}\Leftrightarrow f}(و1ون¬و)أنا=1...ن(¬وأناو){\displaystyle (f_{1}\lor \dots \lor f_{n}\lor \lnot f)\land \bigwedge _{i=1\dots n}(\lnot f_{i}\lor f)}
و1،...،ون{\displaystyle f_{1},\dots ,f_{n}}الميزات الفرعية البديلة (xor) لـو{\displaystyle f}(و1ونو)أنا<ج¬(وأناوج){\displaystyle \left(f_{1}\lor \dots \lor f_{n}\Leftrightarrow f\right)\land \bigwedge _{i<j}\lnot (f_{i}\land f_{j})}(و1ون¬و)أنا=1...ن(¬وأناو)أنا<ج(¬وأنا¬وج){\displaystyle (f_{1}\lor \dots \lor f_{n}\lor \lnot f)\land \bigwedge _{i=1\dots n}(\lnot f_{i}\lor f)\land \bigwedge _{i<j}(\lnot f_{i}\lor \lnot f_{j})}
و1{\displaystyle f_{1}}يتطلبو2{\displaystyle f_{2}}و1و2{\displaystyle f_{1}\Rightarrow f_{2}}(¬و1و2){\displaystyle (\lnot f_{1}\lor f_{2})}
و1{\displaystyle f_{1}}باستثناءو2{\displaystyle f_{2}}¬(و1و2){\displaystyle \lnot (f_{1}\land f_{2})}(¬و1¬و2){\displaystyle (\lnot f_{1}\lor \lnot f_{2})}

تهيئة المنتجات

يُحدد منتج SPL بشكل تصريحي عن طريق اختيار أو إلغاء اختيار الميزات وفقًا لتفضيلات المستخدم. يجب أن تراعي هذه القرارات القيود التي يفرضها نموذج الميزات. "المُهيئ" هو أداة تُساعد المستخدم أثناء عملية التهيئة، على سبيل المثال، عن طريق الاختيار التلقائي أو إلغاء اختيار الميزات التي يجب أو لا يجب اختيارها، على التوالي، لإتمام التهيئة بنجاح. تستخدم الأساليب الحالية نشر الوحدات [ 7 ] وحلول CSP [ 4 ] .

الخصائص والتحليلات

يستهدف تحليل نموذج الميزات خصائص معينة للنموذج ذات أهمية لاستراتيجيات التسويق أو القرارات التقنية. وقد تم تحديد عدد من التحليلات في الأدبيات [ 8 ] [ 9 ] . وتحدد التحليلات النموذجية ما إذا كان نموذج الميزات فارغًا (لا يمثل أي منتجات)، أو ما إذا كان يحتوي على ميزات غير مستخدمة (ميزات لا يمكن أن تكون جزءًا من أي منتج)، أو عدد منتجات خط إنتاج البرمجيات التي يمثلها النموذج. وتركز تحليلات أخرى على مقارنة عدة نماذج ميزات (على سبيل المثال، للتحقق مما إذا كان نموذج ما تخصصًا أو إعادة هيكلة أو تعميمًا لنموذج آخر) [ 10 ] .

انظر أيضاً

مراجع

  1. 1 2 3 كانغ، كيه سي، وكوهين، إس جي، وهيس، جيه إيه، ونوفاك، دبليو إي، وبيترسون، إيه إس، "دراسة جدوى تحليل المجال الموجه نحو الميزات (FODA)"، التقرير الفني CMU/SEI-90-TR-021، معهد هندسة البرمجيات، جامعة كارنيجي ميلون، نوفمبر 1990. تحميل
  2. "شجرة الميزات | BAwiki" .
  3. تشارنيكي، ك. وهيلسن، س. وإيزينيكر، يو.، "التكوين المرحلي باستخدام نماذج الميزات"، وقائع المؤتمر الدولي الثالث حول خطوط إنتاج البرمجيات (SPLC '04)، المجلد 3154 من سلسلة محاضرات في علوم الحاسوب. سبرينغر برلين/هايدلبرغ، أغسطس 2004. تحميل .
  4. 1 2 د. بينافيدس، ب. ترينيداد، و أ. رويز-كورتيس. "الاستدلال الآلي على نماذج الميزات". المؤتمر السابع عشر لهندسة نظم المعلومات المتقدمة (CAiSE'05). بورتو، البرتغال. 2005. تحميل
  5. شوبنز، ب.-ي.؛ هيمانز، ب.؛ تريجو، ج.-س.، " مخططات الميزات: دراسة استقصائية ودلالات رسمية"هندسة المتطلبات، المؤتمر الدولي الرابع عشر لمعهد مهندسي الكهرباء والإلكترونيات، المجلد، العدد، الصفحات 139-148، 11-15 سبتمبر 2006، تحميل
  6. أمادور دوران، ديفيد بينافيدس، سيرجيو سيغورا، بابلو ترينيداد، وأنطونيو رويز كورتيس. "FLAME: إطار عمل رسمي للتحليل الآلي لخطوط إنتاج البرمجيات التي تم التحقق من صحتها بواسطة اختبار المواصفات الآلي". نمذجة البرمجيات والأنظمة. 2015. تحميل
  7. باتوري، د.، "نماذج الميزات، والقواعد النحوية، والصيغ الافتراضية"، وقائع المؤتمر الدولي التاسع لخطوط إنتاج البرمجيات (SPLC '05) - تحميل
  8. ^ د. بينافيدس، أ. رويز كورتيس، ب. ترينيداد وس. سيغورا. " مسح حول التحليلات الآلية لنماذج الميزات " . Jornadas de Ingeniería del Software y Bases de Datas (JISBD'06). سيتجيس، إسبانيا. 2006
  9. بينافيدس، ديفيد؛ سيغورا، سيرجيو؛ رويز كورتيس، أنطونيو (2010). "التحليل الآلي لنماذج الميزات بعد 20 عامًا: مراجعة أدبية". نظم المعلومات . 35 (6): 615-636 . doi : 10.1016/j.is.2010.01.001 . hdl : 11441/24694 .
  10. تي. ثوم، دي. باتوري، وسي. كايستنر. " التفكير المنطقي بشأن تعديلات نماذج الميزاتالمؤتمر الدولي لهندسة البرمجيات (ICSE)، مايو 2009.