فعالیتهای چارچوبی فرآیند تولید نرم‌افزار

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

در ادامه فعالیت‌های چارچوبی فرآیند تولید نرم‌افزار براساس متدولوژی ساخت‌یافته بیان خواهد شد:

۱- ارتباطات (مهندسی نیازمندیهای مشتری یا مهندسی خواسته­‌های مشتری) 

فعالیت ارتباطات یا مهندسی نیازمندی‌­های مشتری نظامی است یکپارچه، شامل فرآیندها، روش‌ها و ابزار­ها که منجر به تهیه لیست نیازمندی‌­های مشتری می‌گردد.

فرآیند تهیه لیست نیازمندی­‌های مشتری

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

 

روش‌های تهیه لیست نیازمندی­های مشتری

روش‌های تشخیص برای تهیه لیست نیازمندی‌­های مشتری را «روش­‌های تهیه لیست نیازمندی­‌های مشتری» می­‌گوییم، یکی از روش‌­های پرکاربرد روشی موسوم به «روش QFD» می‌باشد.

توجه: QFD سرواژه عبارت Quality Function Deployment و به معنی استقرار عملکرد کیفیت می­‌باشد.

توجه: روش QFD جلوتر شرح داده خواهد شد.

ابزار­های تهیه لیست نیازمندی­‌های مشتری

ابزارهای تشخیص برای تهیه لیست نیازمندی‌­های مشتری را «ابزارهای تهیه لیست نیازمندی‌های مشتری» می‌گوییم و به پنج شکل «گفتگو»، «مشاهده»، «پرسشنامه»، «مکانیزم نمونه‌سازی دورانداختنی» و «مکانیزم نمونهسازی تکاملی» می‌باشد.

توجه: مکانیزم نمونه‌سازی دورانداختنی و تکاملی جلوتر شرح داده می‌شود.

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

مراحل فرآیند تهیه لیست نیازمندی‌های مشتری

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

در ادامه مراحل فرآیند تهیه لیست نیازمندی­‌های مشتری بیان خواهد شد:

۱- درک (شناخت اولیه نیازمندی­‌ها)

در مرحله شناخت اولیه نیازمندی‌­ها، شناختی پایه‌­ای از نیازمندی‌­های مشتری انجام می­‌گردد، که این شناخت اولیه مستلزم ارتباط و گپ و گفت اولیه سازنده و مشتری است.

۲- استخراج (شناخت بیشتر نیازمندی‌­ها)

در مرحله شناخت بیشتر نیازمندی‌­ها، شناختی بیشتر از نیازمندی­‌های مشتری انجام می‌گردد، که این شناخت بیشتر مستلزم ارتباط و گپ و گفت بیشتر سازنده و مشتری است.

توجه: توسط استفاده از روش QFD می­‌توان به شناخت خواسته­‌هایی از مشتری بپردازیم که برای مشتری ارزشمندتر است. QFD سه نوع خواسته را مشخص می­‌کند:

خواسته‌­های عادی: به خواسته‌­هایی که مشتری بیان می‌­کند و انتظار هم دارد که سازنده این خواسته‌­ها را برآورده سازد، خواسته‌­های عادی گفته می‌­شود که در صورت برآورده‌سازی این خواسته­‌ها توسط سازنده، مشتری راضی خواهد بود.

خواسته‌­های مورد انتظار: به خواسته­‌هایی که مشتری بیان نمی­‌کند ولی به صورت پیش فرض انتظار هم دارد که سازنده این خواسته‌­ها را برآورده سازد، خواسته­‌های مورد انتظار گفته می‌­شود که در صورت عدم برآورده‌­سازی این خواسته­‌ها توسط سازنده، مشتری ناراضی خواهد بود. مانند زمان پاسخ کوتاه در تعامل با نرم‌­افزار توسط مشتری، یا سهولت در نصب نرم‌­افزار.

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

توجه: برآورده‌سازی «خواسته‌های عادی» و «خواسته‌های مورد انتظار» از سوی سازنده اجباری و معیار سنجش مشتری است و برآورده‌سازی «خواسته‌های هیجان‌انگیز» از سوی سازنده، اختیاری و معیار سنجش مشتری نیست ولی اگر از سوی سازنده این دسته از خواسته‌ها برآورده گردد، مشتری هیجان زده خواهد شد. راز موفقیت «استیو جابز (Steve Jobs)» رهبر فقید کمپانی اپل برآورده‌سازی «خواسته‌های هیجان‌انگیز» علاوه بر برآورده‌سازی «خواسته‌های عادی» و «خواسته‌های مورد انتظار» بود. موفقیت یعنی توجه کردن به جزئیات. «استیو جابز»

۳- تشریح نیازمندی­‌های شناخته شده

در مرحله تشریح نیازمندی­‌های شناخته‌­شده، نیازمندی­‌هایی که در دو مرحله شناخت اولیه نیازمندی‌­ها و شناخت بیشتر نیازمندی­‌ها کشف شده­‌اند، با بیان ذکر جزئیات بیشتر، تشریح می‌شوند.

۴- مذاکره

در مرحله مذاکره، پس از آنکه نیازمندی‌­های شناخته‌­شده، تشریح شدند، نوبت به مذاکره مجدد مابین سازنده و مشتری می‌­رسد، تا توافقات لازم را بر سر نهایی‌­شدن نیازمندی­‌های شناخته­‌شده انجام دهند.

۵- تعیین مشخصات

پس از توافقات لازم بر سر نهایی‌­شدن نیازمندی‌­های شناخته­‌شده در مرحله مذاکره، در ادامه و در مرحله تعیین مشخصات، مشخصات سیستمی که باید ایجاد گردد، تحت عنوان لیست نیازمندی‌های مشتری نوشته می­‌شود. همچنین این لیست می‌­تواند به صورت گرافیکی توسط نمودار مورد کاربرد یا use case diagram مدل­‌سازی شود.

توجه: نمودار مورد کاربرد یا use case diagram مربوط به مفاهیم شیء­گرایی است.

۶- اعتبارسنجی نیازمندی‌­ها

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

۷- مدیریت نیازمندی‌­ها

نیازمندی‌­های مشتری، در طول چرخه حیات نرم‌­افزار مدام تغییر می­‌کند، شاید تنها چیزی که در دنیا ثابت است، تغییر باشد. بنابراین در مرحله مدیریت نیازمندی­‌ها، تغییراتی که در چرخه حیات نرم‌افزار حاصل می­‌گردد تحت کنترل و مدیریت قرار می‌­گیرد.

انواع نیازمندیها

۱- وظیفه‌مندی (Functional) (کارکردی، عملکردی)

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

‏مانند نیازمندی‌های مربوط به محاسبه‌ی فاکتوریل یک عدد و یا اجرای تابع فیبوناچی در یک نرم‌افزار و یا نیازمندی‌های مربوط به یک نرم‌افزار حقوق و دستمزد.

توجه: نیازمندی‌های وظیفه‌مندی، موسوم به نیازها یا «خواسته‌های عادی» است.

۲- غیروظیفه‌مندی (Non Functional) (غیرکارکردی، غیر عملکردی)

‏نیازمندی‌های غیروظیفه‌مندی، نیازمندی‌های کیفی و نه الزاماً قابل اندازه‌گیری هستند که به بیان کیفیت مورد انتظار از نیازمندی‌های وظیفه‌مندی و همچنین محدودیت‌هایی نظیر محدودیت‌های زمانی، مالی و استانداردها می‌پردازند. برخی از انواع نیازمندی‌های غیروظیفه‌مندی عبارتند از:

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

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

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

توجه: محصول نرم­‌افزاری باید برآورده کننده نیازمندی‌­های هم وظیفه­‌مندی و هم غیر‌وظیفه‌مندی مشتری باشد. محصول نرم‌افزاری که نیازمندی‌های وظیفه‌مندی را برآورده می‌کند، ولی برآورنده نیازمندی‌های غیروظیفه‌مندی نباشد، معمولاً با نارضایتی مشتریان همراه می‌شود.

‏توجه : انتخاب نوع الگوریتم براساس شرایط، حائز اهمیت می‌باشد.

توجه: نیازمندی‌های غیروظیفه‌مندی، موسوم به نیازمندی‌ها یا «خواسته‌های مورد انتظار» است.

۲- برنامه‌ریزی

‏برنامه‌ریزی یعنی هنر حرکت از مبدأ موجود به مقصد مطلوب برای رسیدن به نتیجه‌ای مطلوب براساس خواسته‌های مورد نیاز در یک زمان مشخص. ‏

«هر تلاشی منجر به نتیجهای مطلوب نمیگردد، بلکه این تلاشی مطلوب است که منجر به نتیجهای مطلوب میگردد.»

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

۳- مدل‌سازی (تحلیل و طراحی)

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

http://cdn.baban.ir/2020/02/SE2111.png

مدل تحلیل

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

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

‏مدل طراحی

پس از مدل تحلیل، نوبت به مدل طراحی می‌رسد، ‏مدل طراحی به روش ساخت‌یافته شامل چهار بخش طراحی‌­داده، طراحی­‌معماری، طراحی­‌مؤلفه و طراحی­‌واسط می‌باشد. طراحی داده بر دو بخش طراحی جدول و طراحی پرس و جو می‌باشد. طراحی جدول از بخش طراحی داده، تحلیل موجودیت (ERD) از مدل تحلیل را به عنوان ورودی دریافت کرده و توسط مدل رابطه‌ای، طراحی جدول را انجام می‌دهد. طراحی پرس و جو از بخش طراحی داده، تحلیل پرس و جو از مدل تحلیل را به عنوان ورودی دریافت کرده و توسط جبر رابطه‌ای، طراحی پرس و جو را انجام می‌دهد.

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

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

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

توجه: به طراحی معماری، طراحی کلی نیز گفته می‌شود.

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

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

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

توجه: به طراحی مولفه، طراحی جزئی، طراحی تفصیلی و طراحی رویه‌ای نیز گفته می‌شود.

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

۴- ‏ساخت (پیاده‌سازی و تست)

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

پیاده‌سازی پرس و جو از بخش پیاده‌سازی داده، طراحی پرس و جو از مدل طراحی را به عنوان ورودی دریافت کرده و توسط دستورات DML در SQL پیاده‌سازی پرس و جو را انجام می‌دهد. پیاده‌سازی عملکرد، طراحی مؤلفه از مدل طراحی را به عنوان ورودی دریافت کرده و توسط یک زبان برنامه‌نویسی (ساخت‌یافته یا شیءگرا) پیاده‌سازی عملکرد را انجام می‌دهد.

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

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

۵- ‏استقرار

‏پس از فعالیت تست نوبت به فعالیت استقرار می‌رسد. در این مرحله، نرم‌افزار به مشتری تحویل داده می‌شود و مشتری با بررسی محصول دریافتی، بازخوردهای به دست آمده براساس همین ارزیابی‌ها را به تیم نرم‌افزاری ارائه می‌دهد. این بازخوردها می‌توانند مبنایی برای ارتقاء و یا تصحیح نسخه‌ی بعدی نرم‌افزار باشد.

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

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

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

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

0 پاسخ ها

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

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

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

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