فرایند یکپارچۀ منطقی یا RUP (قسمت هشتم)
از نُه گردشکار اصلی در قسمت قبلی این مقاله، گردشکار مدلسازی تجاری و گردشکار نیازمندیها را بررسی کردیم. در ادامه چهار گردشکار دیگر را مقایسه میکنیم.
تحلیل و طراحی
هدف از گردشکار تحلیل و طراحی، نشان دادن این مهم است که سیستم چگونه در فاز پیادهسازی تحقق مییابد. سیستمی شما باید:
- وظایف و عملکردهای تعیینشده در شرحهای مورداستفاده را –در یک محیط پیادهسازی معین- ایفا کند.
- تمام نیازمندیها را برآورده سازد.
- با هدف حفظ پایداری، ساختاربندی شده است (بدین معنا که در صورت تغییر نیازمندیهای مرتبط با کارکرد، تغییر آن آسان باشد)
نتیجۀ تحلیل و طراحی، یک مدل طراحی و در صورت تمایل، یک مدل تحلیل است. مدل طراحی یک انتزاع از کد منبع است؛ بدین معنا که بهصورت یک طرح اولیه از کد منبع ساختاردهی و نوشته میشود.
مدل طراحی شامل کلاسهای طراحی است که بهصورت بستههای طراحی و سیستمهای فرعی با واسطهایی که بهخوبی تعریفشدهاند، ساختاربندی میشوند و نشان میدهد که اجزا در پیادهسازی چگونه خواهند بود. بهعلاوه این مدل، شامل شرحهایی از چگونگی همکاری این کلاسهای طراحی برای اجرای موارد استفاده است. شکل بعدی بخشی از مدل طراحی نمونه را برای سیستم ماشین بازیافت در مدل مورداستفاده نشاندادهشده در شکل قبلی (در قسمت هفتم مقاله) به تصویر میکشد.
فعالیتهای طراحی حول ایدۀ معماری قرار میگیرند. تولید و اعتبارسنجی این معماری، تمرکز اصلی تکرارهای اولیه طراحی است. معماری ازطریق تعدادی از نماهای معماری ارائه میشوند. در این نماها تصمیمات ساختاری اصلی طراحی تجسم مییابند. در اصل نماهای معماری، تصاویر انتزاعی و سادهشدهای از کل طراحی است که در آن ویژگیهای مهم با کنار گذاشتن جزئیات قابلمشاهده هستند. معماری، نهتنها برای توسعه یک مدل طراحی مناسب، بلکه برای افزایش کیفیت هر مدلی که در طی توسعۀ سیستم ساخته میشود، وسیلۀ باارزشی است.
پیادهسازی
هدف از پیادهسازی به قرار زیر است:
- تعریف سازماندهی کد، ازلحاظ پیادهسازی سیستمهای فرعی سازماندهی شده در لایهها؛
- پیادهسازی کلاسها و اشیا ازلحاظ اجزا (فایلهای منبع، باینریها، موارد قابلاجرا و غیره)؛
- آزمون اجزای توسعهیافته بهصورت واحدها؛
- یکپارچهسازی نتایج تولیدی ازطریق پیادهکنندههای فردی (یا تیمی) بهصورت یک سیستم قابلاجرا.
سیستم با پیادهسازی اجزا تحقق مییابد. فرایند یکپارچه منطقی برای شما تشریح میکند که چگونه از مؤلفههای موجود مجدداً استفاده کنید و اجزای جدید را با مسئولیت یا تعریف مناسبی پیادهسازی کنید تا نگهداری و افزایش امکانات سیستم برای استفاده مجدد آسان شود.
اجزا بهصورت سیستمهای فرعی پیادهسازی [1] ساختاردهی میشوند. سیستمهای فرعی شکل دایرکتوریها را با اطلاعات مدیریتی و ساختاری اضافی به خود میگیرند. برای مثال، یک سیستم فرعی میتواند بهصورت یک دایرکتوری یا پوشهای در یک سیستم فایل یا یک سیستم فرعی در Rational/Apex برای ++ C یا بستههایی که از Java استفاده میکنند باشد.
آزمون
اهداف آزمون عبارتاند از:
- بررسی تعامل بین اشیا؛
- بررسی یکپارچگی مناسب بین تمام اجزای یک نرمافزار؛
- بررسی تمام نیازمندیهایی که بهطور مناسبی پیادهسازی شدهاند؛
- شناسایی نقصها و اطمینان از اینکه قبل از استقرار نرمافزار حلوفصل شوند.
در فرایند یکپارچه منطقی یک رویکرد تکرارشونده اتخاذ میشود که به معنای آزمون در سرتاسر پروژه است. به دلیل این رویکرد امکان یافتن هرچه سریعتر نقصها وجود دارد که نتیجۀ آن کاهش سریع هزینۀ برطرفی نقصها است. آزمونها، نظر به سه بعد کیفیِ قابلیت اطمینان، کارکرد، عملکرد کاربردی و عملکرد سیستم اجرا میشوند. برای اعمال هرکدام از این ابعاد کیفی، در فرایند به شما نشان داده میشود که چگونه از چرخههای حیاتی برنامهریزی، طراحی، پیادهسازی، اجرا و ارزیابی عبور کنید.
برای تعیین اینکه خودکارسازی آزمون چه موقع و چگونه انجام شوند، راهبردهایی تشریح میشوند. خودکارسازی آزمون خصوصاً با آزمون تکرارشونده از اهمیت برخوردار است، تا بدینترتیب، امکان آزمون بازگشتی علاوه بر نسخه جدید هر محصول، در انتهای هر تکرار نیز وجود داشته باشد.
استقرار
هدف از گردش کار استقرار، عرضههای موفقیتآمیز محصول و تحویل نرمافزار به کاربران انتهایی است. در این گردش کار محدودهی وسیعی از فعالیتها پوشش داده میشوند، ازجمله:
- تولید عرضههای خارجی نرمافزار؛
- بستهبندی نرمافزار؛
- توزیع نرمافزار؛
- نصب نرمافزار؛
- راهنمایی و کمک به کاربران؛
- در بسیاری از موارد، کمک و راهنمایی به کاربران شامل فعالیتهای دیگری است، مانند:
- برنامهریزی و اجرای آزمونهای بتا؛
- انتقال نرمافزار یا دادههای موجود؛
- پذیرش رسمی.
هرچند که فعالیتهای مرتبط با استقرار، بیشتر حول فار گذار هستند، لازم است فعالیتهای بسیار دیگری در فازهای اولیه برای آمادگی برای استقرار در انتهای فاز ساخت اضافه شوند. گردشهای کار استقرار و محیط در فرایند یکپارچه منطقی، جزئیات کمتری نسبت به دیگر گردشهای کاری دارد.
در قسمت نهم بقیۀ گردشکارها را بررسی میکنیم.
[1] Implementation Subsystems