7 مدل تولید نرم افزار بخش پایانی (مدل Agile و RAD)
چهارشنبه 06/اردیبهشت/1402 984 برنامه نویسی

7 مدل تولید نرم افزار بخش پایانی (مدل Agile و RAD)

1- مدل آبشاری Waterfall Model چرخه حیات تولید نرم افزار

برای مشاهده کلیک کنید

2- مدل تکراری Iterative Model چرخه حیات تولید نرم افزار

برای مشاهده کلیک کنید

3- مدل حلزونی Spiral Model چرخه حیات تولید نرم افزار

برای مشاهده کلیک کنید

4- مدل V در حلقه حیات تولید نرم افزار

برای مشاهده کلیک کنید

5- مدل بیگ بنگ Big Bang چرخه حیات تولید نرم افزار

برای مشاهده کلیک کنید

6- مدل چابک Agile Model چرخه حیات تولید نرم افزار

مدل چابک در چرخه حیات تولید نرم افزار ترکیبی از مدل تکراری و مدل آبشاری است که بر توافق و رضایت مشتری توجه داشته و بر تحویل سریع محصول نرم افزاری به مشتری تاکید دارد. در مدل چابک روند تولید محصول به مراحل کوچک تقسیم می گردد و مراحل بصورت مکرر ادامه می یابد.

مراحل تکراری هر یک در هر دوره یک الی سه هفته به درازا می کشد و در مرحله تکراری تیم های کاری بصورت همزمان بر در حوزه های مختلف نظیر برنامه ریزی، تجزیه و تحلیل نیازمندی ها، طراحی، کد نویسی، آزمون دستگاه و آزمون قبولی کار می کنند. در پایان مراحل تکراری، محصول به مشتریان و ذینفع های عمده نمایش و ارایه می گردد.

مدل چابک چیست؟

گروه هایی که پروژه تولید نرم افزار را از طریق مدل چابک انجام می دهند، اعتقاد دارند که هر پروژه ای را باید بصورت مختلف اجرا نمود و روش های موجود را باید با مناسب ترین شکل با نیازمندی های پروژه انطباق داد.
در مدل چابک، وظایف به ظرفیت های زمانی (چهارچوب های زمانی کوتاه) تقسیم می گردد تا در این زمان ها بتوان ویژگی ها و خصیصه هایی را جهت انتشار و تهیه نسخه ای از محصول بدست آورد. اتخاذ شیوه تکراری در مدل چابک باعث می گردد که پس از هر مرحله تکرار، بخشی از نرم افزار تحویل گردد. هر یک از بخش ها از نظر ویژگی ها حالت تصاعدی و افزایشی داشته و بخش نهایی دارای تمامی ویژگی های مورد نیاز مشتری می باشد.

روش مدلسازی چابک در تولید محصولات نرم افزاری بسیار زود آغاز گردید و با گذشت زمان به لحاظ داشتن قابلیت انعطاف و سازگاری، شهرت بسیار پیدا کرد.
مشهورترین مدل ها و روش های چابک عبارتند از:

  • Rational unified process (1994)
  • Scrum (1995) اسکرام
  • Crystal clear Extreme programming (1996) کریستال
  • Adaptive software Development (ASD)
  • Feature Driven Development (FDD)
  • Dynamic system Development Method (DSDM) (1995)

پس از انتشار بیانیه ای در سال 2001 ، تمامی روش های فوق را اکنون به عنوان متدولوژی چابک می خوانند.

این بیانیه شامل چهار اصل می باشد:

  1. افراد و فعل و انفعالات: در روش چابک، خود سازمان دهی و انگیزه به همان میزان تعامل و همکاری درون گروهی و موقعیت و همچنین برنامه نویسی گروهی دارای اهمیت است.
  2. نرم افزار کارآمد: نرم افزار نمایشی کارآمد بعنوان بهترین وسیله ارتباطی با مشتری در جهت شناخت هر چه بیشتر نیازهای وی محسوب می گردد و این شیوه به ارایه مستندات ارجحیت دارد.
  3. همکاری مشتری: از آنجایی که شناخت نیازمندیها بنابر عوامل متعدد در ابتدای شروع پروژه بصورت کامل قابل جمع آوری نمی باشد، لذا همکاری متقابل و مداوم مشتری در جهت بدست آوردن نیازمندی های محصول از اهمیت خاصی برخوردار می باشد.
  4. واکنش در قبال تغییرات: مدل چابک دارای قابلیت پاسخگویی سریع به تغییرات و تولید مداوم دارد.

مدل اجایل

مدل چابک در قبال مدل های چرخه حیات تولید نرم افزار

مدل چابک مدلی مبتنی بر روش تولید تطبیقی نرم افزار است در حالیکه مدل های سنتی نظیر مدل آبشاری مبتنی بر دیدگاه فرضیات از پیش تعیین شده می باشد. گروه یا تیمی که با روش های سنتی سروکار دارند معمولاً از روی برنامه ای که جزییات آن بدقت تعیین گردیده کارکرده و همه وظایف به دقت کامل پیش بینی گردیده و زمان تحویل محصول نیز در چند ماه بعد و یا در طول چرخه حیات مشخص و معین گردیده است. این مدل ها کاملاً بستگی به تجزیه و تحلیل نیازمندی ها و برنامه ریزی هایی دارد که در آغاز چرخه حیات انجام گرفته است.

چنانچه در پروژه ای که با مدل های سنتی انجام می گیرد تغییری گنجانده شود مدیریت کنترل تغییرات، اولویت اعمال آن را پس از درخواست تغییر مورد بررسی قرار می دهد. در مقابل در مدل چابک که از دیدگاه انطباقی تبعیت می نماید هیچ گونه برنامه ریزی مشروح و دقیق وجود نداشته و وظایف آتی زمانی مشخص و روشن می گردند که ویژگی های پروژه نیاز به تغییر و یا تولید داشته باشند.
در این مدل، تولید براساس ویژگی ها انجام و تیم یا گروه کاری خود را بصورت پویا با نیازمندی مربوط به ایجاد تغییر در محصول وفق می دهند. محصول، مکرراً در هر مرحله آزمایش و این مساله ریسک های ناشی از عدم موفقیت های آتی را به حداقل می رساند.
همکاری متقابل مشتری با گروه کاری، ستون فقرات متدولوژی چابک محسوب می گردد و ارتباط نزدیک همراه با تهیه حداقل مستندات، ویژگی بارز محیط تولید چابک را تشکیل می دهد. افراد گروه کاری در مدل چابک تشریک مساعی کامل با یکدیگر داشته و در اغلب اوقات در یک موقعیت جغرافیایی با یکدیگر همکاری می کنند.

مزایا مدل چابک Agile

مدل چابک در سال های اخیر بصورت عمده در جهان نرم افزار پذیرفته شده است ولی این روش نمی تواند برای تولید تمامی نرم افزارها روشی مطلوب محسوب گردد.

  • دیدگاهی بسیار واقع گرایانه در تولید نرم افزار است.
  • کارگروهی را ترویج داده و آموزش متقابل را ارتقا می بخشد.
  • کارکردها به سرعت تکامل یافته و اثبات می گردد.
  • نیاز به منابع بسیار تقلیل می یابد.
  • برای نیازمندی های ثابت و یا متغیر روشی مطلوب می باشد.
  • راه حل های عملی مقدماتی سریعاً تحویل می شوند.
  • برای محیط هایی که دایماً در حال تغییر می باشند مدلی مناسب بشمار می رود.
  • با پیروی از کمترین قوانین و مقررات، مستندات به سادگی تهیه می گردند.
  • با تولید یا تولید همزمان، تحویل محصول در زمان برنامه ریزی شده میسر می گردد.
  • نیاز به برنامه ریزی نداشته و یا به حداقل آن نیاز دارد.
  • مدیریت آن آسان است.
  • برای برنامه نویسان قابلیت انعطاف ایجاد می نماید.

معایب مدل چابک Agile

  • جهت اجرای پروژه های پیچیده مطلوب و مناسب نیست.
  • تداوم، حفظ مراحل و تولید پذیری آن با ریسک همراه است.
  • داشتن برنامه کلی، مدیری چابک جهت انجام عملیات مدیریت پروژه ضروری می باشند که بدون آن این مدل بی فایده خواهد بود.
  • مدیر پروژه ، حوزه عملیات، عملکرد و تعدیل و تغییر ضرب العجل ها را تعیین می نماید.
  • بستگی کامل به فعل انفعال مشتری دارد و چنانچه مشتری فاقد آگاهی باشد تیم پروژه می تواند مسیری نادرست را طی کند.
  • این مدل بستگی بسیار به فرد داشته و بنابراین حداقل مستندات تهیه می گردد. انتقال فن آوری به اعضای جدید تیم احتمالاً بنا به دلیل کمبود مستندات می تواند بسیار چالش برانگیز باشد.


7- مدل تولید سریع Rapid Application Development (RAD) چرخه حیات تولید نرم افزار

مدل تولید سریع برنامه کاربری، مدلی است مبتنی بر نمونه سازی و تولید تکراری بدون برنامه ریزی مشخص و پیچیده. روند نگارش نرم افزار، خود شامل برنامه ریزی مورد نیاز جهت تولید سیستم می باشد. مدل تولید سریع بیشتر متمرکز بر جمع آوری نیازمندی های مشتری از طریق ایجاد کارگاه و یا گروه ها دارد. در این مدل سپس نمونه سازی هایی را که مشتریان به شیوه تکراری و یا استفاده مجدد از نمونه های موجود تولید نموده اند را آزمایش و پس از ادغام نسبت به تحویل سریع آن اقدام می گردد.

مدل RAD چیست؟

مدل تولید سریع یا RAD یا همان Rapid Application Development یک روش یا شیوه تولید نرم افزار است که از کم ترین برنامه ریزی به منظور نمونه سازی سریع استفاده می نماید. نمونه سازی یک مدل کاری است که از نظر عملکرد مشابه اجزای ترکیب دهنده یک محصول می باشد. در مدل تولید سریع، پیمانه های تابعی یا عملکردی بصورت موازی و بعنوان یک نمونه تهیه و جهت تحویل سریع محصول، پیمانه ها با یکدیگر ادغام تا یک محصول کامل ساخته شود. از آنجایی که در این مدل هیچ برنامه ریزی توضیحی و باز شده از پیش انجام نگرفته است برای همین اعمال تغییرات در حین روند تولید آسان تر است.

مدل سریع

طرح مدل تولید سریع

مدل تولید سریع مراحل تجزیه و تحلیل، طراحی، تهیه و آزمون را به یک سری از چرخه های تولید تکراری و کوتاه مدت تقسیم می نماید. در ادامه مراحل مدل تولید سریع را بخوانید:

مدل سازی کسب و کار: مدل کسب و کار برای محصولی که در حال تهیه و تولید می باشد به صورتی طراحی می شود که گردش اطلاعات و توزیع اطلاعات را بین ورودی و خروجی های گوناگون داد و ستد مشخص نماید. برای یافتن اطلاعات حیاتی کسب و کار یا دادو ستد و نحوه بدست آوردن آن و چگونگی و زمان پردازش اطلاعات و آگاهی از عوامل موفقیت گردش اطلاعات می باید یک تجزیه و تحلیل کامل انجام گیرد.

مدل سازی داده ها: اطلاعاتی که در مرحله مدل سازی کسب و کار گردآوری شده اند برای شکل دادن به مجموعه ای از اشیای داده ای که برای انجام کسب و کار حیاتی هستند مورد بررسی و تجزیه و تحلیل قرار می گیرند. مشخصات هریک از مجموعه داده ها، شناسایی و مشخص می گردند. رابطه بین اشیای داده ای تعیین و ارتباط آن با مدل کسب و کار مشخص می گردد.

مدل سازی روند عملیات: مجموعه اشیای داده ای که در مرحله مدل سازی داده ها تعریف شده اند جهت فراهم نمودن جریان و گردش اطلاعات مود نیاز برای نیل به اهداف مشخص کسب و کار تغییر و تبدیل می یابند. روند مدل سازی برای هرگونه تغییر و یا بهبود در مجموعه اشیای داده ای در این مرحله تعریف می گردند. در این مرحله هرگونه اضافه، حذف، اصلاح و بازیابی و یا تغییر در اشیای داده ای انجام می پذیرد.

تولید برنامه کاربردی: در این مرحله سیستم واقعی ایجاد و عمل رمز گذاری نیز با استفاده از ابزار اتوماسیون جهت تبدیل مدل سازی داده ها به یک نمونه واقعی انجام می گیرد.

آزمون و بازده: آزمون همه جانبه و تبدیل مدل تولید سریع به یک نمونه اصلی در طی هر یک از دوره های تکراری انجام می گیرد. جریان گردش داده ها و همچنین ارتباط بین تمامی اجزا بصورت کامل تحت آزمایش در می آیند. با این روند چون اغلب مولفه های برنامه نویسی آزمایش شده اند بنابراین می توان گفت که این امر باعث کاهش و تقلیل ریسک های عمده خواهد شد.

مدل تولید سریع در مقابل مدل های سنتی چرخه حیات تولید نرم افزار

مدل های سنتی معمولاً از روند انعطاف ناپذیر پیروی می نمایند و بیشتر آن ها بر تجزیه و تحلیل نیازمندی ها و جمع آوری آن ها قبل از شروع برنامه نویسی تاکید می ورزند. در این مدل ها بر مشتری فشار آورده می شود که نیازمندی های خود را قبل از شروع پروژه تصریح و تایید و امضا نماید و مشتری نظر به اینکه برای مدتی طولانی چون محصول خاصی تولید نشده احساسی نسبت به آن نخواهد داشت.
مشتری پس از اینکه عملاً نرم افزار را مشاهده نمود امکان دارد خواهان اصلاح یا تغییری در نرم افزار گردد.

ولی روند ایجاد تغییر در این مدل های سنتی کاملاً سخت و توام با اشکال بوده و امکان اعمال تغیرات عمده در این مدل ها عملی نباشد. برخلاف مدل های سنتی، مدل تولید سریع جهت تحویل مدل های کارا به مشتری از شیوه تکراری و افزایشی پیروی مینماید. نتیجه این امر تحویل سریع نرم افزار به مشتری بوده و مشتری در جریان تولید و در کل چرخه حیات آن نیز دخیل بوده است لذا در این مدل ریسک عدم انطباق مشخصات نرم افزار با نیازمندی های عملی کاربر کاملاً کاهش می یابد.

کاربرد مدل تولید سریع

مدل تولید سریع را می توان بصورت موفقیت آمیز در پروژه هایی که دارای واحد ها و پیمانه های آشکار می باشد به کار بست اگر پروژه را نتوان به پیمانه های مختلف تقسیم نمود، مدل تولید سریع می تواند با عدم موفقیت روبرو شود.
مدل تولید سریع را می توان در سناریوهای زیر استفده کرد:

  • مدل تولید سریع را صرفاً می توان در سیستم هایی بکار برد که قابل تقسیم به واحد ها و پیمانه های کوچکتر باشد و امکان تحویل آن بصورت افزایشی میسر می گردد.
  • در صورتی قابل استفاده است که دسترسی به طراحان مدل سازی فراهم باشد.
  • لازم است بودجه لازم جهت کاربرد ابزار تولید بصورت کامل تامین شده باشد.
  • متخصصان این حوزه با دانش مناسب و کافی حضور داشته باشند.
  • نیازمندی ها در طول دوره پروژه تغییر یابد و نمونه تهیه شده در دوره های کوتاه دو تا سه ماه به مشتری ارایه گردد.

معایب مدل تولید سریع

مدل تولید سریع قادر به ارایه سریع محصول می باشد زیرا در این مدل زمان تولید به لحاظ قابلیت استفاده مجدد اجزا و همچنین تولید و تهیه موازی کاهش می یابد. مدل تولید سریع زمانی قادر به کار به نحو بهینه می باشد که مهندسین ماهر در دسترس باشند و مشتری نیز خواهان نیل به نمونه مورد نظر در چهارچوب زمانی تعیین شده باشد. اگر این دو مورد در هر دو سو وجود نداشته باشد مدل محکوم به شکست خواهد بود.

پروژه هایی که با مدل تولید سریع انجام می گیرند روش های تکراری و افزایشی را پیروی کرده و گروه های کوچکی مرکب از برنامه نویسان، متخصصان، نمایندگان مشتری و سایر منابع فن آوری اطلاعات، به تدریج در بخش یا مولفه و یا نمونه سازی خود فعالیت می کنند. مهم ترین جنبه ای که این مدل را می تواند موفق نماید این است که از قابلیت های استفاده می توان مجددا استفاده نمود.

مزایا مدل تولید سریع RAD

  • با تغییر نیازمندی ها سازگار است.
  • میزان تولید را می توان اندازه گیری کرد.
  • زمان تکرار عملیات را می توان با استفاده از ابزار قدرتمند مدل تولید سریع کاهش داد.
  • بهره وری را با افراد کمتر و زمان کوتاه تر افزایش داد.
  • زمان تولید را می توان تقلیل داد.
  • استفاده مجدد از اجزا و مولفه ها را افزایش داد.
  • بررسی سریع مراحل امکان پذیر می باشد.
  • می توان مشتری را نسبت به ارائه نظریات دلگرم نمود.
  • مسائل ادغام موارد را از همان آغاز عملیات حل نمود.

معایب مدل تولید سریع RAD

  • وابستگی کامل به اعضای تیم قوی فنی شناخت نیازمندی ها را امکان پذیر می سازد.
  • صرفاً سیستم های دارای واحد و پیمانه ها می تواند از این مدل استفاده نمایند.
  • نیاز شدید به برنامه نویسان و طراحان ماهر دارد.
  • وابستگی کامل به مهارت های مدل سازی دارد.
  • وابستگی کامل به مهارت های مدل سازی دارد.
  • برای پروژه های ارزان مناسب نیست زیرا هزینه مدل سازی و تولید اتوماتیک که بسیار بالا است.
  • پیچیدگی مدیریت بیش از سایر مدل ها است.
  • برای سیستم های مبتنی بر اجرای جداگانه و مقیاس پذیر مطلوب می باشد.
  • حضور و درگیری کاربر در چرخه حیات را نیاز دارد.
  • برای پروژه هایی که نیاز به زمان کوتاه تر دارد مناسب است.

معرفی منابع مقاله های چرخه حیات تولید نرم افزار

کتاب مدل تولید نرم افزار

  • Lean Software Development: An Agile Toolkit for Software Development Managers – by Mary Poppendieck, Tom Poppendieck, Ken Schwaber/ Released May 2003
  • Agile Project Management with Scrum – by Ken Schwaber

کتاب آموزش مدل های برنامه نویسی

  • The Art of Software Testing-By Glenford J Myers
  • Extreme Programming Explained – Book by Kent Beck

درباره این مطلب دیدگاهی بنویسید...

آدرس پست الکترونیک شما منتشر نخواهد شد.

نظرات (0)