مدل پیچشی 

رویکرد مدل پیچشی (Spiral Model) را همانند مدل افزایشی در نظر بگیرید با این تفاوت اساسی که در مدل پیچشی مدیریت ریسک (تحلیل ریسک) در فعالیت برنامه‌ریزی به طور جدی و در تمام جوانب پروژه انجام می‌گیرد. اما در مدل افزایشی فقط ریسک مربوط به شناسایی درست نیازمندیها در هر تکرار توسط مکانیزم نمونه‌سازی دورانداختنی و ریسک تکنیکی مدیریت می‌گردد.

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

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

‏این مدل از یک سری فعالیت‌های چارچوبی تکراری تشکیل شده است که هر تکرار (پیچش) شبیه به مدل آبشاری است. با این تفاوت که روی قسمتی از نرم‌افزار انجام می‌شود. هر کدام از این قسمت‌ها یک «قطعه» ‏قابل تحویل را ایجاد می‌کند. شکل زیر مدل پیچشی و مراحل هر پیچش را نشان می‌دهد:

‏در این مدل با توجه به خاصیت نمونه‌سازی تکاملی، پروژه به تدریج کامل می‌شود، یعنی هر مرحله‌ای که می‌گذرد، پروژه کامل‌تر شده و در پیچش‌های بعدی این تکامل ادامه می‌یابد تا به محصول نهایی برسد. هنگامی که از یک مدل پیچشی استفاده می‌شود، پیچش‌های نخست غالباً هسته‌ی اصلی محصول است، یعنی نیازهای اولیه رفع می‌شوند، اما بسیاری از ویژگی‌های مکمل (که برخی معلوم و برخی نامعلوم هستند) تحویل داده نمی‌شوند. ‏

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

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

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

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

‏توجه: مدل پیچشی به واسطه‌ی استفاده از مکانیزم نمونه‌سازی تکاملی بر تولید تکاملی نرم‌افزار تأکید دارد. ‏اما مدل نمونه‌سازی به واسطه‌ی استفاده از مکانیزم نمونه‌سازی دورانداختنی بر شناسایی تکاملی نیازمندی‌ها تأکید دارد و نه تولید تکاملی نرم‌افزار. در واقع در مدل نمونه‌سازی پس از شناسایی نیازمندی‌ها توسط مکانیزم نمونه‌سازی دورانداختنی در ادامه نرم‌افزار به شیوه‌ی مدل آبشاری در قالب یک قطعه و یکجا ایجاد می‌گردد. تولید تکاملی یعنی نرم‌افزار قطعه قطعه، ذره ذره و کم کم، کم کم تکامل می‌یابد و نه در قالب یک قطعه و یکجا. ‏بنابراین در مواقعی که تغییرات زیاد است و نیاز است نسخه‌هایی از نرم‌افزار ارائه گردد و در نسخه‌های بعدی نرم‌افزار تکامل یابد مدل نمونه‌سازی کارایی نخواهد داشت. و مدل‌های تکاملی (افزایشی و پیچشی) مناسب خواهند بود.

‏مدل پیچشی، مدلی امن، مطمئن و قابل اعتماد است. زیرا در هر تکرار یا پیچش در فعالیت مربوط به برنامه‌ریزی توسط عمل تحلیل ریسک، تمامی ریسک‌های مربوط به پروژه را به دقت در نظر می‌گیرد، شناسایی و در ادامه برطرف می‌نماید. از آنجا که تحلیل ریسک در ابتدای هر چرخش انجام می‌شود، بنابراین امکان وقوع ریسک بسیار پایین خواهد آمد. در نتیجه کیفیت نرم‌افزار تولیدی بالا خواهد رفت. همچنین مدیر پروژه بر امور جاری کنترل دقیق دارد و همه‌ی مسایل و هزینه‌ها با توافق طرفین (مشتری و سازنده) صورت می‌گیرد. به این کنترل دقیق بر امور جاری پروژه در هر تکرار اصطلاحاً «نقاط عطف لنگرگاهی» (Anchor Point Milestones) نیز گفته می‌شود.

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

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

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

‏معایب مدل پیچشی

۱- قانع کردن مشتری به ویژه در این مورد که تکامل پروژه قابل کنترل می‌باشد، کار دشواری است. در واقع ما برای انجام مراحل مختلف پروژه نیازمند تأمین بودجه از سوی مشتری هستیم و ممکن است خروجی‌های بخش‌های مختلف تکامل پروژه از نظر مشتری چندان مطلوب نباشد و در تأمین بودجه‌ی مورد نیاز کوتاهی کند.

۲- این مدل براساس ارزیابی، در نظر گرفتن و تعیین کردن ریسک در هر چرخش بنا شده است که خود این ارزیابی و مدیریت ریسک نیازمند تخصص مورد نیاز خودش می‌باشد، بنابراین موفقیت این مدل فرآیند، کاملاً وابسته به تصمیمات و سیاست‌هایی است که فرد و یا گروه مدیریت ریسک اتخاذ می‌کنند.

۳- ‏اگر یک ریسک بزرگ شناسایی و مدیریت نشود، ممکن است مشکلات غیرقابل پیش بینی را در نرم‌افزار به وجود آورد.

ارسطو خلیلی‌فر

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

1 پاسخ

دیدگاه خود را ثبت کنید

آیا می خواهید به بحث بپیوندید؟
در صورت تمایل از راهنمایی رایگان ما استفاده کنید!!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *