بررسی و مقایسه انواع متدولوژی های توسعه نرم افزار
چکیده
با افزایش سرعت رشد سازمانها و پیچیدگی نیازمندیهای سازمانی، روشهای سنتی توسعه راهکارهای سازمانی به دلیل کمبود انعطاف ناکارآمد شدند. روشهایی که توسعه را سریع و انعطافپذیر کرده و مشکلات ناشی از تغییرات فضای نیازها و همچنین پیچیدگی درک نیازها را در قالب تعامل مستمر حل کند، تحت عنوان روشهای چابک به وجود آمدند. این روشها توسعه راهکارها را تسهیل کرده و با تکیه بر پرهیز از اضافه کاری و تعامل مداوم با مشتری مزایای بسیاری را برای سازمانها به وجود میآورند. اما اجرای این روشها چالشهایی را هم در انتخاب نیروی کار، کار تیمی و مدیریت تغییر نیازمندیها به وجود میآورد.
در سازمانهایی با ساختارهای متفاوت این روشها مزایایی را ایجاد میکنند و با توجه به ساختار سازمان ممکن است چالشهایی نیز به وجود آورند. نیازمندیهای بهکارگیری روشهای چابک و نیز چالشهای پیش روی سازمانها از نگرانیهای مهم مدیران در بهکارگیری این روشها هستند.
در این مقاله روشهای مطرح چابکسازی مانند اسکرام و کریستال و چند روش مطرح دیگر، در انواع سازمانها با یکدیگر مقایسه شدهاند. این مقایسه بر اساس اندازه تیم، تخصصها، نیروی کاری، نیازمندی به مستندات و معماری سازمانی خواهد بود. و در نهایت روش چابک سازی مناسب برای انواع ساختاری سازمانها پیشنهاد شده است.
کلمات کلیدی: توسعه چابک، معماری سازمانی، روشهای چابک سازی
فهرست مطالب
عنوان صفحه
فصل اول: متدولوژی توسعه سیستم های اطلاعاتی
1-1 تعریف متدولوژی توسعه سیستم های اطلاعاتی.. 3
1-2 ویژگی های متدولوژی ها و اجزای آن ها 4
1-5 متدولوژی های فرموله شده. 6
1-6 طبقه بندی متدولوژی های توسعه سیستم های اطلاعاتی.. 7
فصل دوم: انواع متدولوژیها
2-1 متدهای چابک و پویا در توسعه سیستم های اطلاعاتی.. 13
2-2 متدولوژی Fujitsu در توسعه سیستم های اطلاعاتی.. 14
2-2-1 ساختار متدولوژی SDAS. 14
2-3 جنبه های فرهنگی و اجتماعی متدولوژی های توسعه سیستم های اطلاعاتی.. 15
2-2-2 غالب بودن مباحث فنی در فرایند توسعه سیستم. 15
2-2-3 برخورد سیستم های اطلاعاتی با مباحث مختلف در ابتدای ورود به سازمان.. 16
فصل سوم: بررسی متدولوژی AUP در چارچوب DAD
3-1 متدولوژی AUP در چارچوب DAD.. 18
3-2-1 تعریف صریح و دقیق از فرایند متدولوژی.. 27
3-2-2 پوشش تمامی فعالیت های ایجاد نرم افزار. 27
3-2-3 میزان پشتیبانی از فعالیت های چتری.. 28
3-2-4 بی درزی و انتقال هموار بین مراحل.. 29
3-2-5 بر مبنای نیازمندی های کارکردی و غیر کارکردی بودن.. 30
3-2-6 آزمون پذیری و ملموس بودن محصولات و قابلیت ردیابی نیازمندی ها 30
3-2-7 تشویق به حضور فعال کاربر. 31
3-2-8 قابل استفاده بودن و کارایی در قابلیت استفاده. 31
3-2-10 قابلیت گسترش و قابلیت پیکر بندی و انعطاف پذیری و مقیاس پذیری.. 32
3-2-12 پشتیبانی مدل های دقیق و نا مبهم و سازگار. 33
3-2-13 توجه به طراحی و بر اساس طراحی بودن.. 34
3-2-14 تعریف زود هنگام معماری.. 34
3-3 مقایسه ASD و DSDM از منظر پایبندی به اصول دوازده گانه چابکی.. 34
3-3-1 راضی نگاه داشتن مشتری از طریق تحویل زود هنگام. 34
3-3-2 استقبال از تغییر در نیازمندی ها 35
3-3-3 تحویل مستمر نرم افزاری.. 35
3-3-4 لزوم همکاری توسعه دهندگان و افراد سازمان به صورت روزانه با یکدیگر. 36
3-3-5 ساخت پروژه حول افراد علاقهمند و با انگیزه و اعتماد. 36
3-3-6 کاراترین و موثرترین راه انتقال اطلاعات.. 36
3-3-7 معیار اصلی پیشرفت پروژه. 37
3-3-8 قابلیت ایجاد سیستم به صورت نا محدود و با آهنگ یکنواخت.. 37
3-3-9 توجه مداوم بر طراحی خوب و برتری تکنیکی.. 37
3-3-10 سادگی و بیشینه کردن میزان کاری.. 38
3-3-11 تاکید بر وجود تیم های خود سازمان ده. 38
3-4 مقایسه ASD و Crystal Clear 39
3-4-1 تعریف صریح و دقیق از فرایند متدولوژی.. 39
3-4-2 پوشش تمامی فعالیت های ایجاد نرم افزار. 39
3-4-3 میزان پشتیبانی از فعالیت های چتری.. 40
3-4-4 بی درزی و انتقال هموار بین مراحل.. 41
3-4-5 بر مبنای نیازمندی های کارکردی و غیر کارکردی بودن.. 41
3-4-6 آزمون پذیری و ملموس بودن محصولات.. 42
3-4-7 تشویق به حضور فعال کاربر. 43
3-4-8 قابل استفاده بودن و کارایی در قابلیت استفاده. 43
3-4-10 قابلیت گسترش و قابلیت پیکربندی و انعطافپذیری و مقیاسپذیری.. 44
3-4-12 پشتیبانی مدل های دقیق و نا مبهم و سازگار. 45
3-4-13 توجه به طراحی و بر اساس طراحی بودن.. 46
3-4-14 تعریف زود هنگام معماری.. 46
3-5 مقایسه ASD و Crystal Clear از منظر پایبندی.. 46
3-5-1 راضی نگاه داشتن مشتری.. 46
3-5-2 استقبال از تغییر در نیازمندی ها 47
3-5-3 تحویل مستمر نرم افزاری.. 47
3-5-4 لزوم همکاری توسعه دهندگان و افراد سازمان.. 47
3-5-5 ساخت پروژه حول افراد علاقه مند و با انگیزه. 48
3-5-6 کاراترین و موثرترین راه انتقال اطلاعات.. 48
3-5-7 معیار اصلی پیشرفت پروژه. 48
3-5-8 قابلیت ایجاد سیستم به صورت نا محدود و با آهنگ یکنواخت.. 49
3-5-9 توجه مداوم بر طراحی خوب و برتری تکنیکی.. 49
3-5-10 سادگی و بیشینه کردن میزان کاری.. 49
3-5-11 تاکید بر وجود تیم های خود سازمان ده. 50
3-5-12 بازبینی رفتار تیم در بازه های منظم زمانی.. 50
3-6-1 تعریف صریح و دقیق از فرایند متدولوژی.. 50
3-6-2 پوشش تمامی فعالیت های ایجاد نرم افزار. 51
3-6-3 میزان پشتیبانی از فعالیت های چتری.. 51
3-6-4 بی درزی و انتقال هموار بین مراحل.. 52
3-6-5 بر مبنای نیازمندی های کارکردی و غیر کارکردی بودن.. 53
3-6-6 آزمون پذیری و ملموس بودن محصولات و قابلیت ردیابی نیازمندی ها 53
3-6-7 تشویق به حضور فعال کاربر. 54
3-6-8 قابل استفاده بودن و کارایی در قابلیت استفاده. 54
3-6-10 قابلیت گسترش و قابلیت پیکر بندی و انعطاف پذیری و مقیاس پذیری.. 55
3-6-12 پشتیبانی مدل های دقیق و نا مبهم و سازگار. 56
3-6-13 توجه به طراحی و بر اساس طراحی بودن.. 57
3-6-14 تعریف زود هنگام معماری.. 57
3-7 مقایسه ASD و FDD از منظر پایبندی به اصول دوازده گانه چابکی.. 58
3-7-1 راضی نگاه داشتن مشتری از طریق تحویل زود هنگام. 58
3-7-2 استقبال از تغییر در نیازمندی ها 58
3-7-3 تحویل مستمر نرم افزاری.. 59
3-7-4 لزوم همکاری توسعه دهندگان و افراد سازمان.. 59
3-7-5 ساخت پروژه حول افراد علاقه مند و با انگیزه و اعتماد. 59
3-7-6 کاراترین و موثرترین راه انتقال اطلاعات.. 60
3-7-7 معیار اصلی پیشرفت پروژه. 60
3-7-8 قابلیت ایجاد سیستم به صورت نامحدود و با آهنگ یکنواخت.. 60
3-7-9 توجه مداوم بر طراحی خوب و برتری تکنیکی.. 61
3-7-10 سادگی و بیشینه کردن میزان کاری.. 61
3-7-11 تاکید بر وجود تیم های خود سازمان ده. 62
3-7-12 بازبینی رفتار تیم در بازه های منظم زمانی.. 62
دانلود پایان نامه بررسی و مقایسه انواع متدولوژی های توسعه نرم افزار رشته کامپیوتر