مدل توسعهی همروند

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

به عنوان مثال ممکن است، پنج پروژه از پروژه‌های سازمان در مرحله‌ی ایجاد باشند، اما احتمالاً وضعیت آن‌ها با یکدیگر متفاوت است (مثلاً یکی در مرحله‌ی تولید کد است در حالی که دیگری در حال تست قرار دارد). مدل توسعه‌ی هم‌روند (Concurrent Development Model) که با نام مهندسی هم‌روند نیز شناخته می‌شود، جهت کنترل اجرای چند پروژه‌ی همزمان مورد استفاده قرار می‌گیرد که هر یک از فعالیت‌های چارچوبی فرآیند تولید نرم‌افزار مربوط به هر پروژه می‌تواند در وضعیت‌های مختلفی قرار داشته باشد، وضعیت‌های مختلف مربوط به هر یک از فعالیت‌های چارچوبی توسط یک گراف نشان داده می‌شود.

‏وضعیتهای مختلف فعالیتهای چارچوبی

۱- انجام نشده: مانند زمانی که فعالیت ارتباط با مشتری آغاز شده است، اما فعالیت طراحی هنوز شروع نشده است.

۲- ‏در حال توسعه: فعالیت چارچوبی که در حال انجام است، در این وضعیت قرار دارد.

۳- ‏در حال مرور و معیارها: کارهای انجام شده براساس لیست نیازمندیها و استانداردها، شاخصها و معیارهای مشتری مرور و اعتبارسنجی میشوند.

۴- ‏منتظر تغییرات: اگر فعالیتی در وضیعت در حال توسعه یا انجام شده باشد و تغییراتی در روند انجام پروژه ایجاد گردد، فعالیت موجود به وضعیت منتظر تغییرات جهت انجام تغییرات می‌رود.

۵- ‏در حال بازبینی: اگر فعالیتی در وضعیت منتظر تغییرات قرار گرفت، پس از اعمال تغییرات، تغییرات انجام شده در وضعیت بازبینی باید مورد اعتبار سنجی قرار گیرد و در ادامه براساس معیارها مرور گردد.

۶- انجام شده: هر مرحله از کار بعد از اینکه با توجه به معیارها و شاخص‌ها بازبینی شد و مورد تأیید قرار گرفت، به این مرحله وارد می‌شود و تا بروز تغییرات جدید در این مرحله می‌ماند.

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

هر کدام از این فعالیت‌ها در هر لحظه می‌تواند در یکی از وضعیت‌های نشان داده شده در شکل زیر قرار گیرد:

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

‏خصوصیات مدل توسعهی همروند

۱- در دنیای واقعی، مدل توسعه‌ی هم‌روند را در تولید تمامی انواع نرم‌افزارها می‌توان به کار برد و این مدل، تصویری درست از وضعیت جاری یک پروژه را نمایش می‌دهد.

۲- در مدل توسعه‌ی هم‌روند، به جای تعریف ترتیبی برای فعالیت‌های چارچوبی، شبکه‌ای از فعالیت‌های چارچوبی برای هر پروژه خواهیم داشت. به نحوی که رخدادهای یک فعالیت روی وضعیت آن فعالیت و سایر فعالیت‌های دیگر تأثیر می‌گذارد.

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

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

0 پاسخ ها

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

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

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

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