مهندسی نرم افزار - آموزش Rational Rose - SSADM

مطالب راجع به تجزیه و تحلیل سیستم

مهندسی نرم افزار - آموزش Rational Rose - SSADM

مطالب راجع به تجزیه و تحلیل سیستم

طراحی چابکانه - Agile Software Development (قسمت اول)

طراحی نرم‌افزار از سال‌ها پیش در محافل  محققان و مهندسان نرم‌افزار مورد بحث است. معمولاً بحث در مورد این موضوع است که طراحی سیستم نرم‌افزاری بر اساس سورس‌کدهای نرم‌افزار استوار است و دیاگرام‌ها و طرح‌های ابتدایی می‌تواند در پیاده‌سازی نرم‌افزار به ما کمک کند، ولی نمی‌توان گفت تمامی مراحل طراحی یک نرم‌افزار به آن دیاگرام‌ها وابسته است. در واقع این بحث بیان می‌کند که سورس‌کدهای برنامه از دیاگرام‌های UML مجزا نیست.

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

- ممکن است ماجول‌های برنامه بسیار سخت طراحی شده باشند. در ابتدا برنامه‌نویسان کدهای هر ماجول را بسیار منظم و قابل فهم برای سایر اعضای تیم آماده می‌کنند، ولی به مرور زمان و ایجاد تغییراتی در متن کدها، به کدهایی تبدیل می‌شوند که فهمیدن آن‌ها بسیار سخت خواهد بود.

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

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

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

- معمولاً تغییرات در برنامه باعث شکنندگی سیستم نرم‌افزاری می‌شوند.

- معمولاً از آنجا که هر تغییر در برنامه باعث تغییراتی در قسمت‌های مختلف برنامه می‌شود،  تغییرات در سیستم‌های نرم‌افزاری معمولاً دشوار است.  

در مدل برنامه‌نویسی چابکانه اعضای تیم با رعایت اصول این مدل نرم‌افزاری نمی‌گذارند اشکالات ذکرشده در سیستم نرم‌افزاری به وجود آید. در ادامه با ذکر یک مثال بسیار ساده، طراحی چابکانهِ این مثال مورد بررسی قرار می گیرد.  

 

منبع : ماهنامه شبکه - خرداد ۱۳۸۶ شماره 76

نظرات 3 + ارسال نظر
dream_girls193 پنج‌شنبه 22 اسفند‌ماه سال 1387 ساعت 05:36 ق.ظ http://www.dvbpersian.co.cc

سلام دوست عزیزشما واقعآ وب خوب و عالی ای داری من یهت تبریک میگم . و هم چنین خسته نباشید چون معلومه که واقعآ زحمت کشیدی .
منم مثل شما مشغول به کار کردن روی یک وب هستم . البته نه به خوبی شما . و میخواستم بگم خوبه که همدیگه رو کمک کنیم برای بهتر شدن . همون طور که خود شما بهتر میدانید تبادل لینک باعث می شه که افراد بیشتری به وب ها دسترسی داشته باشند میدونم که سرت رو درد آوردم .
اما دوست عزیز اگه تمایل به تبادل لینک با من داشتی من خیلی خوشحال میشم وباعث افتخار من میشه .شما من رو با اسم " جدید ترین اخبار ماهواره " لینک کنید ودر قسمت نظرات وب من اعلام نمایید تا من هم شما رو لینک کنم . با تشکر به امید هم کاری بیشتر با شما دوست عزیز .

مجتبی شنبه 29 فروردین‌ماه سال 1388 ساعت 07:22 ق.ظ http://www.irpl.mihanblog.com/

سلام دوست عزیز...........وبلاگ جالبی داری. خوشحال می شم تبادل لینک انجام بدیم . من لینک شما رو قرار دادم

بهرام شنبه 3 مرداد‌ماه سال 1388 ساعت 06:00 ب.ظ http://c100pro.persianblog.ir/

وبلاگ خوبی داری . وبلاگ منو با نام برنامه نویسی دلفی لینک کن . بهم خبر بده تا وبلاگ تو رو لینک کنم

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد