النماذج التطورية مقابل النماذج الأولية [مغلقة]

StackOverflow https://stackoverflow.com/questions/1077317

  •  21-08-2019
  •  | 
  •  

سؤال

من هو الفائز في نقاش "النماذج الأولية ذات الدقة المنخفضة مقابل الدقة العالية"؟هل ينبغي أن يكون النموذج الأولي صفر (P0) هو الإصدار الأول من المنتج النهائي؟أو ينبغي أن يكون P-0 دائما رمي؟ما هو النهج الذي تفضله الصناعة؟

مقالة ممتازة من ويكيبيديا: النماذج الأولية للبرمجيات

هل كانت مفيدة؟

المحلول

وينبغي أن يكون النموذج دائما بخس - يستخدم نموذج أولي لإثبات بسرعة مفهوم والتأثير على تصميم المنتج الحقيقي. على هذا النحو، والكثير من الأشياء التي تعتبر هامة لمنتج حقيقي (بنية مدروسة والتصميم، والموثوقية والأمن، والصيانة، الخ) تقع على جانب الطريق. إذا كنت لا تأخذ هذه الأمور بعين الاعتبار عند بناء النموذج الخاص بك، وأنت لا تبني حقا نموذجا أوليا بعد الآن.

أسفرت عدم وجود بنية حقيقية في الكثير من التعليمات البرمجية مرقع معا أن كان لا بد من اختراق باستمرار لإضافة -

وتجربتي مع النماذج حيث رمز تطور مباشرة إلى المنتج الفعلي يدل على أن النتيجة النهائية تعاني بسبب ذلك ميزات جديدة. حتى رأيت حالة كانت التكنولوجيا الأصلي الذي تم اختياره لالتطور السريع للنموذج يست هي الخيار الأفضل للمنتج الفعلي، وكان استكمال إعادة الكتابة ضرورية لV2.

نصائح أخرى

وكتابة النموذج الأولي، ومن ثم مواصلة إعادة بيع ديون عليه حتى يصبح المنتج. والمفتاح هو أن لا تتردد في ريفاكتور عند الضرورة.

وويساعد على أن يكون عدد قليل من الناس تعمل على ذلك في البداية. مع الكثير من الناس يعملون على شيء، ويصبح إعادة بيع ديون أكثر صعوبة.

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

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

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

لكنهم لن يقوموا بالبرمجة بلغة C++، أو بالكاد بلغة Java، أو ربما بلغة Python ولكنهم على بعد أميال من "الإنتاج" - في الواقع من الأرجح أن يقوموا بإعداد دليل ذكي للمفهوم في php، وjavascript، وPerl و bash و Excel+VBA والعديد من التقنيات الأخرى "السريعة والقذرة" التي لا نريدها حتى حلم حول الإنتاج والدعم إلى الأبد!-)

لذلك، من خلال تسمية نماذجهم الأولية بـ "إثباتات المفهوم"، نأمل أن نشجعهم على تجسيد مفاهيمهم الجريئة في شكل ملموس (الثرثرة الغامضة باللغة الطبيعية والتلويح الكثير بالأيدي أقل فائدة، وغريبة عن ثقافة الشركة على أي حال؛-) و ومع ذلك، تشير بوضوح إلى أن مثل هذه المشاريع، إذا تم الترويج لها لتكون ضمن أهداف وأولويات مهندسي البرمجيات، فيجب برمجتها من الصفر - حيث يعمل إثبات المفهوم، في أحسن الأحوال، كمسودة/مواصفات تخطيطية جيدة لما يهدف المهندسون بالتأكيد إلى عدم الإثراء بشكل تدريجي، ولكن إعادة بنائه من الجذر إلى الأعلى!-).

من المبكر أن نقول مدى نجاح هذه الفكرة -- اسألني بعد ثلاثة أشهر، عندما نقوم بتقييم مساعي ربع السنة (في الوقت الحالي، نقدم فقط مخططًا لها، في أعقاب التقييم آخر التعهدات المتعلقة بالقسم والشركة!-).

والاستجابة من BUNDALLAH، HAMISI

ونموذج أولي يحاكي عادة سوى بضعة جوانب من ملامح البرنامج في نهاية المطاف، ويمكن أن تكون مختلفة تماما عن تنفيذ في نهاية المطاف. على عكس ما قد اقترح زملائي الآخرين أعلاه، لا أنصح مدرب بلدي أن تختار لرمي بعيدا نموذج أولي. أنا مع أنيتا في هذا الشأن. ونظرا للعينات ونماذج اثنين والظروف المقدمة، أنصح بشدة إدارة (مدرب بلدي) أن تختار لنموذج أولي التطوري. الشركة بأنها كبيرة مع جميع المتغيرات الأخرى نظرا مثل تعقيد رمز، وحداثة لغة البرمجة لاستخدامها، وأود أن لا تستخدم نرمي نموذج أولي. يصبح نرمي نموذج أولي نقطة الانطلاق من خلالها يمكن للمستخدمين إعادة النظر في توقعاتهم وتوضيح متطلباتهم. عندما يتحقق ذلك، فإن نموذج أولي هو "التخلص منها، وتطوير النظام رسميا على أساس الاحتياجات المحددة (Crinnion، 1991). ولكن مع هذا الوضع، والمستخدمين قد لا يعرف جميع المتطلبات في وقت واحد نظرا لتعقيد العوامل الواردة في هذه الحالة بالذات. النماذج التطورية هو عملية تطوير نظام الكمبيوتر عن طريق عملية صقل تدريجي. كل صقل النظام يحتوي على مرحلة التطوير مواصفات النظام والبرمجيات. وعلى النقيض من كل من نهج شلال التقليدية والنماذج تدريجي، الأمر الذي يتطلب الجميع للحصول على الحق في كل شيء مرة الأولى هذا النهج يتيح للمشاركين للتفكير في الدروس المستفادة من الدورة السابقة (ق). ومن المعتاد أن تذهب من خلال ثلاثة من هذه الدورات من الصقل التدريجي. ولكن هناك شيء وقف عملية التطور المستمر كما هو الحال في العديد من النظم في كثير من الأحيان. وفقا لديفيس (1992)، والنماذج التطورية يقر بأننا لا نفهم جميع المتطلبات (كما قيل لنا سبق أن نظام معقد، والشركة هي كبيرة، رمز ستكون معقدة، واللغة هو جديد إلى حد ما فريق البرمجة). الهدف الرئيسي عند استخدام التطوري النماذج هو بناء نموذج قوي جدا بطريقة منظمة وتحسينها باستمرار. والسبب في ذلك هو أن النموذج التطوري، عندما بنيت، ويشكل قلب النظام الجديد، وسيتم بناء التحسينات ومزيد من المتطلبات. هذه التقنية تسمح للفريق التطوير لإضافة ميزات، أو إجراء تغييرات لا يمكن تصوره خلال المتطلبات ومرحلة التصميم. للنظام لتكون مفيدة، ويجب أن تتطور من خلال استخدام في البيئة التشغيلية المعد له. وقال المنتج أبدا "القيام به." أنها تستحق دائما كما تغير البيئة الاستخدام. المطورين وكثيرا ما يحاول تعريف النظام باستخدام إطارها الأكثر دراية المرجعية - أين هم حاليا (أو بالأحرى، حالة النظام الحالي). أنها تجعل افتراضات حول الطريقة التي سيتم بها عمل وقاعدة التكنولوجيا التي سيتم تنفيذ الأعمال. وسنت خطة لتطوير القدرة، وعاجلا أم آجلا، يتم تسليم ما يشبه النظام تصوره. (SPC، 1997). نماذج تطورية لديها ميزة على بعذ نماذج في أن تكون أنظمة وظيفية. على الرغم من أنها قد لا تكون كافة الميزات خططت المستخدمين، ويمكن استخدامها على أساس مؤقت حتى يتم تسليم النظام النهائي. في التطوري النماذج، يمكن للمطورين التركيز أنفسهم لتطوير أجزاء من النظام أنهم يفهمون بدلا من العمل على تطوير النظام برمته. لتقليل المخاطر، المطور لا يطبق ميزات غير مفهومة. يتم إرسال نظام جزئي لمواقع العملاء. كما تعمل المستخدمين مع النظام، وأنها الكشف عن فرص لميزات جديدة وإعطاء طلبات هذه الميزات للمطورين. مطوري ثم تأخذ هذه الطلبات تعزيز جنبا إلى جنب مع بلدهم واستخدام ممارسات سليمة لإدارة التكوين لتغيير-متطلبات البرامجمواصفات وتحديث تصميم وإعادة رمز وإعادة الاختبار. (Bersoff وديفيس، 1991). ومع ذلك، فإن المشاكل الرئيسية مع النماذج التطورية هي نتيجة لسوء الإدارة: عدم وجود معالم محددة، وعدم الإنجاز - وضع دائما خارج ما يمكن أن يكون في النموذج الأولي الحالي إلى واحد القادم، وعدم التقييم السليم، وعدم وضوح بين النموذج و نظام تنفيذها، وعدم الالتزام المستمر من المستخدمين. وهذه العملية تتطلب قدرا أكبر من الالتزام المتواصل من المستخدمين لفترة زمنية أطول من المطلوب عادة. يجب أن يكون المستخدمين على علم باستمرار على ما يجري ويكون على بينة تماما من توقعات "نماذج".

والمراجع

وBersoff، E.، ديفيس، A. (1991). آثار نماذج دورة حياة إدارة برامج التكوين. بالاتصالات. ACM.

وCrinnion، J. (1991). تطوير نظم التطوري، وهو دليل عملي لاستخدام النماذج ضمن منهجية نظم تنظيما. الكنيست الصحافة، نيويورك.

وديفيس، A. (1992). النماذج التشغيلية: مقاربة جديدة للتنمية. IEEE البرمجيات.

والبرامج الإنتاجية كونسورتيوم (SPC). (1997). التنمية السريعة التطور. SPC توثيق SPC-97057-CMC، الإصدار 01.00.04.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top