درباره وبلاگ ![]() آرشیو وبلاگ
لینک های ویژه لوگو ![]() آمار وبلاگ
آقاشیر صلوات صلوات صلوات علی محمد و ال محمد و عجل فرجهم چهارشنبه 86 اسفند 29 :: 5:7 عصر :: نویسنده : آقاشیر
روش RUP + XP روش دومی که مورد آزمایش قرار گرفت، تلفیقی بود از اکسپی و RUP. ولی میتوان گفت ادغام این دو رویه بسیار متفاوت است. RUP رویهای بسیار سنگین و اکسپی روشی بسیار سبک است. میدانید که RUP را میتوانیم تقریباً برای تمامی نرمافزارهای کوچک و بزرگ به کار برد. اکسپی نیز همانند RUP براساس Iterationها یا مراحل پیوسته مانند تحلیل، طراحی و امتحان نرمافزار استوار است. از آن جایی که RUP و اکسپی از اساس با هم تفاوتهای زیادی دارند و اکثراً تصور میکنند که RUP راهحلی برای تولید نرمافزارهای بزرگ و اکسپی برای تولید نرمافزارهای کوچک است، ممکن شما هم تصور کنید که استفاده همزمان از هر دوی این روشها کاردرستی نیست. اما مطابق تحقیقات انجام شده به نظر میرسد که برای تولید نرمافزارهای کوچک روشی بین RUP و اکسپی نیاز است.در نتیجه با اضافهکردن برخی از تکنیکهای اکسپی به RUP میتوان به رویهای مناسبتردست یافت. قبلاً نیز محققانی روی RUP کار کردهاند تا آن را برای پروژههای کوچک مناسب سازند. مثلاً در سال 2000 یک نسخه از RUP به نام dX معرفی گردید که RUP مختصر شدهای بود. برای نرمافزارهای کوچک (که اعضای پروژه اغلب در یک محیط کار میکنند) اکسپی میتواند روشی بسیار خوب باشد، اما اگر اعضای تیم پراکنده باشند و سیستم بخواهد توسعه یابد، اکسپی قادر به جوابگویی نیست و میتوان گفت که با استفاده از قسمتهایی از روش قدرتمند RUP میتوان به اکسپی کمک نمود. برای تلفیق این دو روش تصورکنید که پروژهای شروع شده است. در مرحله Inception یا آغازین میتوان از تکنیکهای اکسپی در زمینه برنامهریزی زمانی و جمع آوری نیازهای سیستم استفاده نمود. البته نمیتوان گفت که همیشه این دو روش با هم سازگار هستند. مثلاً در اکسپی مرحلهای به نام طراحی یا Design Phase وجود ندارد. در صورتی که RUP یک مرحله مجزا برای این قسمت دارد. روش Iterative Process شاید به نظر برسد که در پروژههای کوچک، اعضای گروه نیاز کمتری به ارتباط با یکدیگر دارند. اما از آن جایی که در این گونه پروژه ها ارتباط بین اعضای تیم و کاربر نزدیکتر است و عوامل خارجی نیز نقش مهمی را در پروژه بازی میکنند، در این پروژهها نیاز به ارتباط بین اعضای تیم محسوس به نظر میرسد. همچنین اگرچه پروژههای نرمافزاری کوچک طبیعتاً نیاز به نوشتن کدهای کمتری دارند و ممکن است به چند مدیر نیاز نداشته باشند اما مانند پروژههای بزرگ باید نرمافزاری با کیفیت بالا ارائه دهند. در نتیجه میتوان گفت که روشی برای تولید نرمافزار کوچک مناسبتر است که تمامی موارد مذکور را در نظر بگیرد و اجرا کند. رویه Iterative یکی از این روشها است. با استفاده از این رویه دو نوع محصول به نامهای Actual و by-product تولید میگردد. در واقع محصولاتی که در موفقیت پروژه نقش اساسی بازی میکنند، Actulas و آن دسته که به وجود آمدن Actualsها کمک میکنند را By-Product میگویند (مثلاً طرح اولیه سیستم). در این مدل هر عضو از گروه مسئول انجامدادن قسمتی از کار میشود و این مدل شامل هشت مرحله یا فاز است. اولین مرحله این رویه جمعآوری اطلاعات از کاربر است. در مرحله بعدی سیستم به صورت جامع تحلیل و آنالیز میگردد تا اعضای تیم با مدل کلی سیستم آشنا گردند. سپس در مرحله تحلیل، نرمافزار به صورت کلی مورد بررسی قرار میگیرد و پس از آن که مرحله معماری سیستم نام دارد، اجزای تشکیلدهنده سیستم مشخص میشوند و کاراییهای سیستم مشخص میگردند. در مرحله طراحی تمامی اجزای سیستم طراحی میشوند و در مرحله بعد کدهای سیستم نوشته میشود. وقتی این مرحله تمام شد و کدهای سیستم نوشته شد، اعضای تیم در فاز جمعبندی کدهای سیستم را با توجه به مراحل اول تا پنج مرور میکنند. در مرحله آخر نیز اعضای گروه را امتحان میکنند تا اولاً نیازهای کاربران را تأمین کرده باشد و ثانیاً فاقد هرگونه اشکال باشد. اگر نرمافزار فاقد اشکال باشد، رویه تولید نرمافزار به آخر خواهد رسید. در غیر این صورت، اعضای گروه به دنبال منبع مشکل در مراحل قبلی میگردند و مجدداً رویه را از آن جایی که فکر میکنند باعث بروز اشکال شده است، ادامه میدهند. نتیجه گیری برای دستیابی به موفقیت در پروژههای نرمافزاری، اعضای گروه باید از یک رویه یا روش مشخص پیروی کنند. اما برای پروژه های کوچک (برای تولید نرمافزارهای کوچک) این رویه باید ساده و آسان باشد. اضافه براین، برای دستیابی به موفقیت در پروژهها تنها داشتن یک رویه آسان و کارا کافی نیست بلکه مدیران پروژههای نرمافزاری باید به این نکته توجه کنند که اعضای گروه در موفقیت پروژهها از اهمیت شایانی برخوردار هستند و باید در انتخاب این افراد حداکثر دقت را مبذول نمود. در ضمن موقع انتخاب یک رویه مناسب باید اندازه نرمافزار را معین نمود و براساس نیازهای کاربران پروسه تولیدی را طراحی کرد. برای تعیین رویهای مناسب در تولید نرمافزارهای کوچک باید دقت داشت که این رویه باید بسیار ساده باشد تا به اعضای تیم کمک کند بهراحتی مراحل تهیه نرمافزار را ادامه دهند. از جمله این رویههای ساده میتوان از Scrum نام برد. Scrum یک تکنیک مدیریت پروژه است که میتواند به تیمهای نرمافزاری کوچک که روی پروژههای کوچک نرمافزاری کار میکنند کمک کند راندمان و کارایی بالاتری در کار داشته باشند. اما اگر این روشها را با روشهای مناسب دیگر ادغام کنیم، میتوانند بیشتر مفید واقع گردند. پس از Scrum، روش اکسپی توضیح داده شد و به عنوان بهترین راه برای تولید نرمافزارهای کوچک از آن نام برده شد. اما این روش به تنهایی کارایی چندانی نخواهد داشت. سپس RUP که میتواند در تمامی پروژهها استفاده شود تشریح شد و در ادامه سه روش مناسب برای تولید نرمافزارهای کوچک ارائه گردید. اما همانطور که بحث شد، داشتن یک روش مناسب به تنهایی نمیتواند ضامن موفقیت در پروژه باشد، بلکه انتخاب منابع انسانی مناسب و با تجربه میتواند راه را برای موفقیت پروژههای نرمافزاری هموارتر سازد. موضوع مطلب : |
||