در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
برای تولید یک نرمافزار، اصول و قوانین خاصی وجود دارد که روی هم رفته، پروسه تولید را مطابق با استانداردها و برای دستیابی به محصولی با بهترین کیفیت هدایت میکند. متدولوژیها تیمهای نرمافزاری را در جهت رسیدن به این هدف یاری میرسانند و در فرآیند توسعه نرمافزار همچون یک نقشه، مسیر حرکت را مشخص میکنند. همچنین فعالیت افراد را برنامهریزی کرده و معین میکنند که چگونه و برای تولید چه خروجیهایی در بازه زمانی مورد نظر، سازماندهی شوند؟
از معروفترین و بهروزترین رویکردهایی که امروزه در پروسههای نرمافزاری بهکار گرفته میشود، میتوان به فرآیند یکپارچه رشنال (1RUP) اشاره کرد که با دیدگاهی مشتریگرا در بهینهسازی فرآیندهای تولید محصول، به تیمهای نرمافزاری کمک میکند و با فراهم آوردن اصول و قواعدی یکپارچه، روی تولید بهترین محصولات تمرکز میکند.
RUP، یک فرآیند تولید نرمافزار است که خود نیز بهعنوان یک محصول قابل ارائه بوده و دربرگیرنده بهترین تجربیات در عمل است. در واقع این محصول یک متدولوژی است که با دیدگاهی مدیریتی و منطبق بر مفاهیمی مانند شیءگرایی، کنترل و انجام موفق پروژههای نرمافزاری را امکانپذیر میسازد و قابلیت بومیسازی برای سازمانها و شرکتها را فرآهم میآورد. از دیگر ویژگیهای مهم آن میتوان به انعطافپذیری آن اشاره کرد.
این محصول، بهعنوان متدولوژی توسعه برنامهها و شیءگرایی توسط شرکت نرمافزاری رشنالرز2، ارائه شده است. فرآیند یکپارچه رشنال در حقیقت یک ابزار مهندسی نرمافزار است که زمینههای توسعه مانند دستورالعملها، کدها، مدلها و غیره را با مواردی از قبیل تکنیکها، مکانیزمها، مراحل تعریف شده و شیوهها، در چارچوبی یکپارچه ترکیب میکند. این متدولوژی یک چارچوب برای پروژه فراهم میآورد که کلاسهایی از فرآیندها را بهطور افزایشی و چرخشی مطرح میکند.
بر اساس رویکردRUP، توسعه نرمافزار در نگاهی کلی، شامل 4فاز میشود:
1 فاز شناخت
3: مبتنی بر ارزیابی نیازها، قابلیت دوام، امکانپذیری و نیازمندیهای یک پروژه یا برنامه است.2 فاز تفضیل
4: معماری مناسب سیستم را بر اساس نیازهای پروژه اندازهگیری میکند.3 فاز پیادهسازی
5: نسخه اولیه از نرمافزار توسعه یافته را ارائه میدهد.4 فاز انتقال
6: چرخه توسعه نرمافزار را در صورتیکه تمامی اهداف پروژه تامین شود، پایان میدهد. این فاز با آموزش کاربران نهایی، آزمونهای بتا و پیادهسازی سیستم در ارتباط است.RUP، برای آمیختن 6روش از بهترین روشهای صنعت نرمافزار و برای توسعه نرمافزار طراحی شده که بهشدت بر طراحی شیءگرایی تاکید میکند. اساسا در طراحی پروژههای نرمافزاری، 6ایده وجود دارد که نقصها و خطاها را کاهش میدهد و تولید بهینه را فراهم میکند. این روشها را در زیر بیان خواهیم کرد.
1 توسعه تکرارشونده:
چرخهها برای افزودن اطلاعات بیشتر یا ایجاد تسهیلاتی برای فرآیندها ایجاد شدهاند که در مراحل بعدی در توسعه نرمافزار اضافه میشوند. تکرارها، نرمافزارها را به سمتی میبرند که به زیرسیستمهایی قابل ارائه به ذینفعان پروژه در مراحل مختلف تولید نرمافزار تبدیل شوند. در حقیقت نباید تنها بهصورت یک زیرسیستم دیده شوند. بازه زمانی هر چرخه به نوع پروژه در دست اقدام بستگی دارد، البته رویه کلی، داشتن تکرارهای کوتاه در مقایسه با تکرارهای بلند است زیرا بازخوردهای سریعتر و بهموقعتری را برای تیم پروژه فراهم میآورد. نکته قابل توجه در تکرارهایRUP، انجام تمامی فعالیتهای مربوط به RUP شامل مدلسازی کسبوکار، تحلیل نیازمندیها، تحلیل، طراحی، پیادهسازی و آزمون در هر تکرار است.2 نیازمندیها:
گردآوری نیازمندیها به منظور موفقیت هر پروژه ضروری است. نیازهای کاربران نهایی، باید بهطور کامل در سیستم تامین شود.3 مولفهها:
پروژههای بزرگ، هنگامی که به مولفهها تقسیم میشوند، راحتتر آزمایش میشوند و قادرند بهطور قاعدهمند درون سیستمهای بزرگتر قرار گیرند. مولفهها، استفاده مجدد از کد را هنگام استفاده از برنامهنویسی شیءگرا، امکانپذیر میسازد.4 طراحی مدلهای بصری:
بسیاری از پروژهها، زبان مدلسازی یکپارچه (UML) را برای اجرای تحلیل و طراحی شیءگرا، مورد استفاده قرار میدهند، چراکه شامل نمودارهایی است که بهطور بصری تمامی مولفههای اصلی را نمایش میدهد.5 مدیریت خطا و کیفیت:
آزمایش به منظور کشف خطاها و تامین کیفیت، یک بخش از توسعه نرمافزاری است. تعدادی از الگوهای آزمون که باید توسعه یابند وجود دارند که آمادگی نرمافزار را برای انتشار میسنجند.6 تغییرات سنکرونیزه شده:
تمام مولفههایی که توسط تیمهای جداگانه ایجاد میشوند، چه از طریق مکانهای مختلف یا بر اساس پلت فرمهای گوناگون، بهطور دائمی نیازمند «سنکرونیزه شدن» و وارسی هستند.جمعبندی
متدولوژی فرآیند یکپارچه رشنال، بهسرعت در حال تبدیل شدن به یک روش توسعه نرمافزاری مطرح است که منطبق بر فرآیندها و شیوههای کسبوکار عمل میکند.
رویکرد توسعه فرآیند یکپارچه رشنال (RUP) به دلایل زیادی، بسیار موفق بوده و از جمله روشهای نرمافزاری است که اکنون مورد پذیرش در عرصه جهانی است.
فرآیند توسعه کلی، تغییرات نیازمندیها را در نظر میگیرد و تیم را گردهم میآورد.
در این روش، ریسکها و خطاها نه تنها کشف میشوند، بلکه میتوانند بعد از شناسایی، کاهش یابند و در طی فرآیند یکپارچهسازی حذف شوند.
همانطوریکه نقصها هنگام فرآیند شناسایی میشوند، با بهکارگیری تکرارهای چندگانه (چرخشها) که از خصوصیات مطرح این رویکرد است، خطاها و تنگناهای اجرایی رفع میشوند.
RUP، یک مدل نمونه اولیه در اتمام هر تکرار فراهم میآورد که سنکرون کردن و پیادهسازی تغییرات را برای توسعهدهندگان آسان میکند.
با در نظر گرفتن خصوصیات و ویژگیهای بینظیر RUP و قابلیتهای این فرآیند یکپارچه، بهکارگیری صحیح آن در تولیدات نرمافزاری آینده، میتواند راهکاری موفق و آیندهنگر برای دنیای نرمافزاری پیشرو باشد.
پینوشت
1
. Rational Unified Process2
. Rational Rose3
. Inception4
. Elaboration5
. Construction6
. Transitionمنبع:
www.objectmentor.comمهدی عیوضزاده
در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
گزارش «جامجم» درباره دستاوردهای زبان فارسی در گفتوگو با برخی از چهرههای ادب معاصر
معاون وزیر بهداشت: