برامج تطوير البرمجيات. أدوات تطوير البرمجيات. متى تستخدم Agile

اليوم ، عملية إنشاء معقدة تطبيقات برمجية من المستحيل أن نتخيل بدون تقسيم إلى مراحل من دورة الحياة. نعني بدورة حياة البرنامج مجموعة من المراحل:

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

UML هي لغة رسومية لتصور ووصف المعلمات وبناء وتوثيق الأنظمة المختلفة (البرامج على وجه الخصوص). يتم إنشاء المخططات باستخدام أدوات CASE الخاصة مثل Rational Rose (http://www-01.ibm.com/software/rational/) و Enterprise Architect (http://www.sparxsystems.com.au/). نموذج المعلومات الموحد مبني على أساس تقنية UML. أدوات CASE المذكورة أعلاه قادرة على إنشاء كود بلغات مختلفة موجهة للكائنات ، ولديها أيضًا وظيفة هندسة عكسية مفيدة للغاية. (تسمح لك الهندسة العكسية بإنشاء نموذج رسومي من التعليمات البرمجية الحالية والتعليقات عليها.)

ضع في اعتبارك أنواع المخططات لتصور النموذج (هذا أمر لا بد منه ، على الرغم من وجود العديد من الأنواع الأخرى):

ضع في اعتبارك التغييرات المستقبلية على الأشياء والموضوعات

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

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

استخدم الرسم البياني

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

مخطط الفصل

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


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

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

مخطط الدولة (مخطط الحالة)

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


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

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

مخطط تسلسل

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

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

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

مخطط التعاون

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

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

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

مخطط مكون

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


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

  • بدلاً من ذلك ، إنها مسألة أصالة ومتعة.
  • مجموعة من الألعاب الصغيرة التي أنشأتها ستجعل من شخصيتك شخصية جميلة.
اسال اسئلة. الإنترنت هو وسيلة رائعة للتواصل مع المطورين الآخرين. تأكد من طرح أسئلة ذكية وجرب الحلول الممكنة.

مخطط النشر

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

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

  • فكر في الأفكار.
  • يقوم البرنامج الجيد بمهمة تجعل الحياة أسهل للمستخدم.
  • راجع العمليات التي تقوم بها كل يوم على جهاز الكمبيوتر الخاص بك.
اكتشف البرامج الأخرى.

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

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

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

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

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

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

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

تطوير منتج البرنامج يعرف العديد من المنهجيات اللائقة - بعبارة أخرى ، أفضل الممارسات الراسخة. يعتمد الاختيار على تفاصيل المشروع ونظام الميزانية والتفضيلات الشخصية وحتى مزاج المدير. تصف هذه المقالة المنهجيات التي نصادفها بانتظام في Edison.

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

1. "نموذج الشلال" (نموذج الشلال أو "الشلال")



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

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

بمساعدة نموذج الشلال ، أنشأنا العديد من المشاريع من البداية ، بما في ذلك تطوير المواصفات الفنية فقط. المشاريع التي كتب عنها في حبري: متوسطة - صغيرة -.

متى تستخدم منهجية الشلال؟

  • فقط عندما تكون المتطلبات معروفة ومفهومة وثابتة. لا توجد متطلبات متضاربة.
  • لا توجد مشكلة في توفر المبرمجين المؤهلين المناسبين.
  • في المشاريع الصغيرة نسبيًا.

2. "نموذج V"



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

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

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

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

متى تستخدم النموذج V؟

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

3. "النموذج التزايدي" (نموذج تزايدي)

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


تُستخدم النماذج الإضافية حيث تكون طلبات التغيير الفردية واضحة ويمكن إضفاء الطابع الرسمي عليها وتنفيذها بسهولة. في مشاريعنا ، استخدمناها لإنشاء قارئ DefView ، ثم شبكة مكتبة Vivaldi الرقمية.

دعونا نصف جوهر زيادة واحدة كمثال. استبدال DefView. DefView متصل بخادم مستندات واحد ويمكنه الآن الاتصال بالعديد. في موقع المؤسسة التي تريد بث محتواها إلى جمهور محدد ، يتم تثبيت خادم تخزين يصل مباشرةً إلى المستندات ويحولها إلى التنسيق المطلوب... ظهر عنصر الجذر للهندسة المعمارية - خادم Vivaldi المركزي ، الذي يعمل كملف واحد محرك البحث عبر جميع خوادم التخزين المثبتة في مؤسسات مختلفة.

متى تستخدم النموذج التزايدي؟

  • عندما يتم تحديد وفهم المتطلبات الأساسية للنظام بوضوح. في الوقت نفسه ، يمكن تحسين بعض التفاصيل بمرور الوقت.
  • مطلوب إطلاق السوق في وقت مبكر.
  • هناك العديد من الميزات أو الأهداف المحفوفة بالمخاطر.

4. "نموذج RAD" (نموذج تطوير التطبيق السريع أو تطوير التطبيق السريع)

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


يتضمن نموذج تطوير التطبيق السريع المراحل التالية:

  • نمذجة الأعمال: تحديد قائمة تدفق المعلومات بين الإدارات المختلفة.
  • نمذجة البيانات: تُستخدم المعلومات التي تم جمعها في الخطوة السابقة لتحديد الكائنات والكيانات الأخرى اللازمة لتعميم المعلومات.
  • نمذجة العملية: تدفقات المعلومات تربط الكائنات لتحقيق أهداف التصميم.
  • بناء التطبيق: يستخدم أدوات التجميع التلقائي لتحويل نماذج CAD إلى رمز.
  • الاختبار: يتم اختبار المكونات والواجهات الجديدة.
متى يتم استخدام نموذج RAD؟

لا يمكن استخدامه إلا مع المهندسين المعماريين المؤهلين تأهيلا عاليا ومتخصصين للغاية. ميزانية المشروع كبيرة لدفع تكاليف هؤلاء المتخصصين إلى جانب تكلفة أدوات التجميع الآلية الجاهزة. يمكن اختيار نموذج RAD بمعرفة واثقة بالعمل المستهدف والحاجة إلى إنتاج عاجل للنظام في غضون 2-3 أشهر.

5. "النموذج الرشيق" (منهجية تطوير مرنة)



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

يعتمد هذا النوع على الاجتماعات اليومية القصيرة - "سكرم" والاجتماعات المتكررة بانتظام (مرة في الأسبوع ، مرة كل أسبوعين أو مرة في الشهر) تسمى "Sprint". في الاجتماعات اليومية ، يناقش أعضاء الفريق:

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

متى تستخدم Agile؟

  • عندما تتغير احتياجات المستخدم باستمرار في عمل ديناميكي.
  • يتم تنفيذ التغييرات الرشيقة بتكلفة أقل بسبب الزيادات المتكررة.
  • على عكس نموذج الشلال ، في نموذج مرن ، يكفي القليل من التخطيط لبدء المشروع.

6- "النموذج التكراري" (نموذج تكراري أو تكراري)

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


يوضح الرسم التخطيطي "التطور" المتكرر للوحة الموناليزا. كما ترون ، في التكرار الأول لا يوجد سوى رسم تخطيطي لـ La Gioconda ، في الثاني ، تظهر الألوان ، ويضيف التكرار الثالث التفاصيل والتشبع ويكمل العملية. في النموذج التدريجي ، يتم بناء وظيفة المنتج قطعة قطعة ، ويتكون المنتج من أجزاء. على عكس النموذج التكراري ، كل قطعة هي عنصر متماسك.

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

متى يكون من الأفضل استخدام نموذج تكراري؟

  • متطلبات النظام النهائي محددة جيدًا ومفهومة مسبقًا.
  • المشروع كبير او كبير جدا.
  • يجب تحديد التحدي الرئيسي ، لكن تفاصيل التنفيذ يمكن أن تتطور بمرور الوقت.

7. "النموذج الحلزوني"



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

يفترض النموذج الحلزوني 4 مراحل لكل حلقة:

  1. التخطيط؛
  2. تحليل المخاطر؛
  3. التصميم؛
  4. تقييم النتيجة ، وإذا كانت الجودة مرضية ، يتم الانتقال إلى جولة جديدة.
هذا النموذج غير مناسب للمشاريع الصغيرة ، فهو معقول بالنسبة للمشاريع المعقدة والمكلفة ، مثل تطوير نظام إدارة المستندات للبنك ، عندما تتطلب كل خطوة تالية مزيدًا من التحليل لتقييم النتائج أكثر من البرمجة. في مشروع تطوير EDMS لوحدة ODU في سيبيريا ، SO UES ، يستغرق اجتماعان حول تغيير تدوين أقسام الأرشيف الإلكتروني وقتًا أطول بمقدار 10 أضعاف من وقت الجمع بين مجلدين بواسطة مبرمج. بدأت مشاريع الدولة التي شاركنا فيها بإعداد مفهوم مكلف من قبل مجتمع الخبراء ، والذي لا يكون دائمًا عديم الجدوى ، لأنه يؤتي ثماره على المستوى الوطني.

دعونا نلخص



تعرض الشريحة الاختلافات بين المنهجيتين الأكثر شيوعًا.

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

حول تقنيات التطوير:
.
.
.
.

ما المنهجيات التي تستخدمها؟