التصميم التكراري

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

تاريخ

لطالما استُخدم التصميم التكراري في المجالات الهندسية. ومن الأمثلة على ذلك دورة التخطيط والتنفيذ والتحقق والتحسين التي طُبقت في ستينيات القرن الماضي. تحتوي معظم برامج تطوير المنتجات الجديدة أو برامج تحسين المنتجات القائمة على حلقة تحقق تُستخدم لأغراض التكرار. يستخدم منهج DMAIC إطار عمل Six Sigma ويتضمن وظيفة تحقق مماثلة.

البرمجة الكائنية التوجه

يرتبط التصميم التكراري بممارسة البرمجة الكائنية التوجه ، وقد ظهر هذا المصطلح في أدبيات علوم الحاسوب في وقت مبكر من عام 1990. [ 1 ] وتعود جذور هذه الفكرة إلى التطوير الحلزوني ، الذي ابتكره باري بوهم . [ 2 ]

عملية التصميم التكرارية

يمكن تطبيق عملية التصميم التكراري طوال عملية تطوير المنتج الجديد . مع ذلك، تكون التغييرات أسهل وأقل تكلفة في المراحل الأولى من التطوير. الخطوة الأولى في عملية التصميم التكراري هي تطوير نموذج أولي . ينبغي تقييم هذا النموذج من قِبل مجموعة تركيز أو مجموعة غير مرتبطة بالمنتج لضمان الحصول على آراء موضوعية. تُجمع المعلومات من مجموعة التركيز وتُدمج في النسخة التالية من التصميم. تُكرر هذه العملية حتى تُخفَّض مشاكل المستخدمين إلى مستوى مقبول.

التطبيق: واجهات التفاعل بين الإنسان والحاسوب

يُستخدم التصميم التكراري بشكل شائع في تطوير واجهات التفاعل بين الإنسان والحاسوب. يُمكّن هذا المصممين من تحديد أي مشكلات تتعلق بسهولة الاستخدام قد تظهر في واجهة المستخدم قبل طرحها للاستخدام الواسع. حتى أفضل خبراء سهولة الاستخدام لا يستطيعون تصميم واجهات مستخدم مثالية من المحاولة الأولى، لذا ينبغي بناء دورة حياة هندسة سهولة الاستخدام حول مفهوم التكرار. [ 3 ]

الخطوات النموذجية للتصميم التكراري في واجهات المستخدم هي كما يلي:

  1. أكمل تصميم الواجهة الأولية
  2. اعرض التصميم على العديد من المستخدمين التجريبيين
  3. دوّن أي مشاكل واجهها المستخدم التجريبي
  4. تحسين واجهة المستخدم لمعالجة/إصلاح المشاكل
  5. كرر الخطوات من 2 إلى 4 حتى يتم حل مشاكل واجهة المستخدم

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

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

استخدام التصميم التكراري

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

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

فيما يلي بعض الأمثلة على التصميم التكراري:

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

أدوات النماذج الأولية السريعة

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

فوائد

عند تطبيقها بشكل صحيح، تضمن منهجية التصميم التكراري أن يكون المنتج أو العملية هو الحل الأمثل. وعند تطبيقها في المراحل المبكرة من التطوير، يمكن تحقيق وفورات كبيرة في التكاليف. [ 4 ]

تشمل الفوائد الأخرى للتصميم التكراري ما يلي:

  1. تتضح سوء الفهم الخطيرة في وقت مبكر من دورة الحياة، عندما يكون من الممكن التفاعل معها.
  2. فهو يتيح ويشجع على تلقي ملاحظات المستخدمين، وذلك لاستخلاص المتطلبات الحقيقية للنظام.
  3. عندما يتم التعاقد على العمل، يوفر التصميم التكراري طريقة تدريجية لإشراك العميل بشكل أكثر فعالية في التعقيدات التي غالباً ما تحيط بعملية التصميم.
  4. يُجبر فريق التطوير على التركيز على تلك القضايا الأكثر أهمية للمشروع، ويتم حماية أعضاء الفريق من تلك القضايا التي تشتت انتباههم وتحولهم عن المخاطر الحقيقية للمشروع.
  5. يُمكّن الاختبار المستمر من إجراء تقييم موضوعي لحالة المشروع.
  6. يتم اكتشاف التناقضات بين المتطلبات والتصاميم والتنفيذات في وقت مبكر.
  7. يتم توزيع عبء العمل على الفريق، وخاصة فريق الاختبار، بشكل أكثر توازناً طوال دورة حياة المنتج.
  8. يُمكّن هذا النهج الفريق من الاستفادة من الدروس المستفادة، وبالتالي تحسين العملية باستمرار.
  9. يمكن تزويد أصحاب المصلحة في المشروع بأدلة ملموسة على حالة المشروع طوال دورة حياته.

تحدي المارشميلو

العمل الفائز في تحدي المارشميلو.

تحدي المارشميلو هو تحدٍّ تصميمي تعليمي. يتضمن مهمة بناء أعلى هيكل قائم بذاته مع وضع قطعة مارشميلو في أعلاه. يجب إكمال الهيكل في غضون 18 دقيقة باستخدام 20 عودًا من السباغيتي، ومتر واحد من الشريط اللاصق، ومتر واحد من الخيط فقط. [ 5 ] [ 6 ]

تُظهر الملاحظات والدراسات التي أُجريت على المشاركين أن أطفال الروضة قادرون بانتظام على بناء هياكل أكثر تعقيدًا، مقارنةً بمجموعات من خريجي كليات إدارة الأعمال. يُعزى ذلك إلى ميل الأطفال إلى لصق قطعة المارشميلو على هيكل بسيط فورًا، واختبار النموذج الأولي، ومواصلة تحسينه. بينما يميل طلاب كليات إدارة الأعمال إلى قضاء الوقت في التنافس على السلطة، والتخطيط، ثم إنتاج هيكل يُضاف إليه المارشميلو. [ 7 ] يُساعد هذا التحدي على بناء وتطوير مهارات النمذجة الأولية، والعمل الجماعي، والقيادة، والابتكار ، وهو نشاط شائع في مجالات العلوم والتكنولوجيا والهندسة والرياضيات . ابتكر هذا التحدي بيتر سكيلمان من شركة بالم، ونشره توم ووجيك من شركة أوتوديسك . [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ]

انظر أيضاً

مراجع

  1. جوسين، سانجيف؛ أندرسون، بروس (1990). "نموذج تصميم تكراري لبرمجيات كائنية التوجه قابلة لإعادة الاستخدام". وقائع المؤتمر الأوروبي حول البرمجة كائنية التوجه حول أنظمة ولغات وتطبيقات البرمجة كائنية التوجه - OOPSLA/ECOOP '90 . الصفحات 12-27 . doi : 10.1145/97945.97949 . ISBN  0-89791-411-2. S2CID 551413 . 
  2. "ملخص النموذج الحلزوني" (ملف PDF) .
  3. نيلسن، ج. (1993). "تصميم واجهة المستخدم التكراري". مجلة IEEE Computer . 26 (11): 32-41 . doi : 10.1109/2.241424 . S2CID 17748574 . 
  4. مانتي، مارلين م.؛ تيوري، توبي ج. (1988). "تحليل التكلفة/المنفعة لإدراج العوامل البشرية في دورة حياة البرمجيات" . مجلة اتصالات رابطة مكائن ​​الحوسبة . 31 (4): 428-439 . doi : 10.1145/42404.42408 . S2CID 2031965 . 
  5. "تحدي المارشميلو" . تحدي المارشميلو . تم الاطلاع عليه بتاريخ 10-08-2010 .
  6. "تحدي المارشميلو" . كاليفورنيا: بي بي راب. 22 أبريل 2010. تاريخ الاسترجاع: 10 أغسطس 2010 .
  7. جيرز، دينيس ج. (10 مايو 2010). "تحدي المارشميلو - مدونة جيرز لمحو الأمية" . Jerz.setonhill.edu . تاريخ الاسترجاع: 10 أغسطس 2010 .
  8. كاميرون، كريس (23 أبريل 2010). "المارشميلو والمعكرونة: كيف يفكر أطفال الروضة مثل الشركات الناشئة المرنة" . Readwriteweb.com. مؤرشف من الأصل في 21 أغسطس 2010. تم الاطلاع عليه في 10 أغسطس 2010 .
  9. "تحدي المارشميلو" . Engineeringrevision.com. 2010-05-02 . تم الاطلاع عليه بتاريخ 2013-08-10 .
  10. "تحدي المارشميلو" . برمجة أنانية . تم الاسترجاع في 10 أغسطس 2013 .
  11. "تحدي المارشميلو | كلية العلوم | جامعة كالجاري" . Ucalgary.ca. 13 ديسمبر 2010. تاريخ الاسترجاع : 10 أغسطس 2013 .
  12. تحدي التصميم الأصلي (27 يناير 2014)، تحدي تصميم حلوى المارشميلو لبيتر سكيلمان ، مؤرشف من الأصل بتاريخ 13 ديسمبر 2021 ، تم الاطلاع عليه بتاريخ 12 سبتمبر 2017
  • بوهم، باري دبليو (مايو 1988) "نموذج حلزوني لتطوير البرمجيات وتحسينها"، مجلة الكمبيوتر، معهد مهندسي الكهرباء والإلكترونيات، ص  61-72.
  • جولد، جيه دي ولويس، سي. (1985). التصميم من أجل سهولة الاستخدام: المبادئ الأساسية وما يفكر فيه المصممون، اتصالات ACM، مارس، 28 (3)، 300-311.
  • كروشتن، فيليب. العملية الموحدة العقلانية - مقدمة،
  • كروشتن، ب. (2000). "من منهجية الشلال إلى التطوير التكراري - تحولٌ صعبٌ لمديري المشاريع" (ملف PDF) (ورقة بيضاء). شركة راشيونال سوفتوير . تاريخ الاسترجاع: 17 أغسطس 2019 .