مقاله رایگان درباره نرم افزار، تلفن همراه، بهره بردار

1-4- نوآوري 4
1-5- اهداف 4
1-6- فرضيه هاي تحقيق 5
1-7- روش تحقيق 5
فصل دوم: مروري بر ادبيات و پيشينه تحقيق
2-1- مقدمه 7
2-2- تاريخچه 7
2-3- بيانيه چابک 9
2-4- توسعه نرم افزار چابک 12
2-5- مجموعه اي از روش هاي چابک 13
2-5-1 روش XP 13
2-5-2 اسکرام scrum 17
2-5-3 خانواده کريستال 20
2-5-4 توسعه ويژگي رانده (FDD) 22
2-5-5 توسعه ناب 24
2-5-6 روش توسعه سيستم هاي پويا (DSDM) 25
2-5-7 مدلسازي چابک 27
2-6- کارهاي مرتبط 29
2-6-1 چابکي نسبي 29
2-6-2 ابزار سنجش thoughtworks 30
2-6-3 ساير موارد 31
فصل سوم: روش اجراي تحقيق
3-1- مقدمه 33
3-2- نحوه گزينش معيارهاي ارزيابي 33
3-3- معيارهاي ارزيابي 34
3-4- مدلسازي 58
3-5- جمع آوري اطلاعات 59
فصل چهارم: تجزيه وتحليل داده ها
4-1- مقدمه 61
4-2- تحليل داده ها 61
4-2-1 جامعه آماري 61
4-2-2 تحليل اوليه 62
4-2-3 محاسبه اوزان ـ مدلسازي 63
4-2-4 نحوه استفاده از مدل اندازه گيري 63
4-2-5 پياده سازي نرم افزار 66
فصل پنجم: نتيجه گيري و پيشنهادات
5-1- نتيجه گيري 68
5-2- پيشنهادات 68
منابع و مآخذ 69
فهرست منابع انگليسي 70
ضمائم و پيوست ها 73
پيوست 1- پرسشنامه 74
پيوست2- داده هاي خام 78
چکيده انگليسي 81

فهرست جداول
عنوان شماره صفحه
جدول 3-1- 36
جدول 4-1-1 62
جدول 4-1-2 63
جدول 4-2- 64
جدول 4-3- 66

فهرست شکل ها
عنوان شماره صفحه
شکل 2-1- 18
شکل 2-2- 22
شکل 2-3- 24
شکل 2-4- 26
شکل 4-1- 61

چکيده
استفاده از روشهاي چابک در توسعه نرم افزار به جاي روشهاي سنتي چندي است در حال گسترش است. اين روشها که به عنوان واکنشي به مشکلات موروثي روشهاي سنتي ارائه شده اند، تحقق اهداف و ارزشهاي نويني را وعده داده اند. بر خلاف روشهاي سنتي، اين روشها سعي دارند تا فرايند توسعه نرم افزاري چابکي را در سازمان بنا نهند که در نتيجه آن هم مشتري و هم سازمان از نتايج راضي باشند. انطباق کامل با روشهاي چابک به دليل تمرکز آنها بر افراد و نه فرايند ها، در کوتاه مدت ميسر نبوده و نيازمند زمان مناسبي مي باشد. بدين جهت، هر چه سازمان چابکي بيشتري بتواند فراهم نمايد، ارزشهاي چابکي بيشتري را ميتواند براي خود و مشتريانش فراهم نمايد. با توجه به نياز به ابزار سنجش چابکي، در اين تحقيق سعي شده است که مدل اندازه گيري چابکي فراهم گردد که بر اساس معيارهاي قابل پذيرش جهاني، بتواند ميزان چابکي را در سازمانهاي نرم افزاري محاسبه نمايد. اگر چه سنجش کمي يک ارزش کيفي شايد دقت لازم را نداشته باشد، اما مي تواند به عنوان معياري براي بهبود و ارتقا چابکي در سازمان به کار گرفته شود. در اين تحقيق، به جاي تمرکز بر روشهاي چابک، تمرينات چابک به عنوان زيربناي مدل اندازه گيري در نظر گرفته شده اند. بدين ترتيب مدل طراحي شده، مستقل از روشهاي توسعه بوده و مي تواند در همه شرکتها، حتي شرکتهايي که فقط بخشي از روشهاي چابک را به کار گرفته اند، مورد استفاده قرار گيرد.
کلمات کليدي : چابکي ، معماري سازماني چابکي ، روش هاي چابک ، مدلسازي چابک

فصل اول : کليات تحقيق

1-1 مقدمه
بيش از 60 سال است که شرکتهاي توليد کننده نرم افزار از روشهاي سنتي براي توليد محصولات نرم افزاري خود استفاده مي کنند. در اين مدت فرصت مناسبي بوده که اين روشهاي توسعه به طور مناسبي مدون شده و به نوعي استاندارد مناسبي براي توسعه نرم افزار در اختيار توسعه دهندگان قرار دهند. از اوائل قرن جديد و همزمان با توسعه روز افزون اينترنت و وب و همچنين فراگير شدن استفاده از بسته هاي نرم افزاري مشکلات سنتي روشهاي توسعه نرم افزار بيش از پيش خود را نشان دادند. تاخير در تحويل بسته هاي نرم افزاري، امکان عدم تغيير در نيازمندي هاي مشتريان و در نهايت نارضايتي مشتريان موارد است که توسعه نرم افزار با روشهاي سنتي را نج ميدهد. ظهور روشهاي نوين توسعه که مستلزم ساز و کاري جديد در محيط توسعه نيز مي باشد به عنوان راه حلي براي مشکلات مزبور در نظر گرفته شد. روشهاي نوين که آنها را روشهاي توسعه چابک ناميده اند، سعي دارند که با ارائه فرايندهاي توسعه جديد چابکي مناسبي به شرکتهاي توليد کننده نرم افزار بدهد.
1-2 بيان مسأله اساسي تحقيق به طور كلي
امروزه روشهاي چابک در توسعه نرم افزار (Agile methodologies) در حال جايگزيني با روشهاي سنتي توسعه نرم افزار(Traditional methodologies) هستند [1]. روشهاي چابک که به نوعي واکنشي به روشهاي سنتي هستند، ارزشهاي متفاوتي را در مقايسه با روشهاي سنتي دنبال ميکنند [2]. يکي از مسائلي که شرکتها و سازمانهاي نرم افزاري در مسير تغيير روش خود از سنتي به چابک به کرات با آن مواجه هستند، اندازه گيري ميزان چابکي است که در هر برهه زماني حاصل نموده اند. نکته در اينجاست که اين تغيير، فرايندي ناگهاني نيست و گاها بيش از يکسال زمان نياز دارند و گاها با دشواري هاي فراواني نيز همراه است [3]. اين امر، ميزان نياز به يک ابزار سنجش را بيشتر نشان ميدهد. متاسفانه ابزار سنجشي که توافق مناسبي بر آن باشد هنوز وجود ندارد. معيار اندازه گيري مناسب، بايد به نحوي باشد که ضمن داشتن پشتوانه علمي مناسب، از سادگي نيز برخوردار بوده و به راحتي توسط شرکتها و سازمانها ( حتي سازمانهاي کوچک) قابل بهره برداري باشد. استفاده از اصول چابک به عنوان معياري که توافق کلي بر روي آن وجود دارد ميتواند در اين راستا کمک کننده باشد [4]. بر اين اساس ارزشهاي چابک که در بيانه چابک [2] و الحاقيه آن مطرح شده اند به عنوان معياري براي چابک سازي سازماني در نظر گرفته شود. اما مسلما ارزشها و اصول چابک براي آنکه بتوانند در يک محيط عملي مورد قضاوت واقع شوند چندان مناسب نيستند. چرا که هر کدام از روشهاي چابک مانند اسکرام(Scrum) [5]يا اکس پي (XP) [6]و يا روشهاي ديگر داراي فعاليت ها، نقش ها و ويژگي هاي خاص بوده که با روشهاي ديگر قابل مقايسه نخواند بود. به عنوان يک پيشنهاد بهتر استفاده از تمرينات چابک به عنوان هسته اوليه ابزار اندازه گيزي مزبور مي باشد. در واقع بر اساس تطبيق اين تمرينات در سازمان و ميزان تمريناتي که در سازمان به صورت نهادينه شده در حال استفاده مي باشند، مي توان چابکي سازمان را برآورد کرد. اين معيار زيربناي اندازه گيري مورد نظر اين تحقيق مي باشد.
1-3 ضرورت تحقيق
شرکتهاي متعددي که در حال تغيير روش هاي توسعه نرم افزار خود از روشهاي سنتي به روشهاي چابک هستند، در مقاطع زماني مختلف نيازمند بررسي ميزان پيشرفت خود در چابک سازي هستند. اين مساله هم ميتواند در راستاي بررسي پتانسيل ارزشهاي قابل حصول در سازمان کمک نمايد و هم مي تواند با ايجاد فضاي مثبت ناشي از پيشرفت فرايند چابک سازي در روحيه تيمي افراد در افزايش راندمان و منافع سازماني مفيد واقع شود. داشتن ابزاري که بتواند بر اساس يک تحقيق علمي ميزان چابکي را نشان دهد ميتواند به شدت مورد توجه شرکتهاي مزبور باشد. همچنين اين ابزار ميتواند يک مبنايي براي تعيين فرايندهاي آتي قابل انتخاب براي چابک کردن سازمان باشد. به اين ترتيب علاوه بر بحث اندازه گيري راهنماي مناسبي نيز براي فرايند تغيير رفتار سازمان نيز خواهد بود.
1-4 نوآوري
آنچه اين تحقيق را در نوع خود نوآور مي نمايد، ارائه يک مدل اندازه گيري چابکي است که وظيفه اصلي آن نشان دادن ميزان چابکي است که تا کنون سازمان به آن دست يافته است. همچنين در يک گام اضافه ميتواند تمريناتي که هنوز در سازمان نهادينه نشده اند را با ميزان تاثير آنها در چابکي سازمان نشان دهد.
چنين مدلي ميتواند به عنوان راهنمايي براي چابک تر شدن شرکتهاي نرم افزاري باشد. شايد به عنوان يک ابزار کمکي در فرايند چابک شدن شرکتهاي نرم افزاري نيز قابل به کار گيري باشد.
1-5 اهداف
در پايان اين پروژه، يک ابزار ساده اندازه گيري چابکي در قالب يک برنامه کاربردي يا وب سايت تهيه خواهد شد. در اين وب سايت سازمانها بايستي سوالاتي را که از آنها در مورد تمرينات چابک پرسيده مي شود پاسخ دهند. بر اساس اين پاسخ ها، ميزان چابکي سازمان نشان داده مي شود.
سازمانها يا شرکتهاي توليد کننده نرم افزار با کمک اين ابزار ميتوانند رشد خود در دستيابي به آرمانهاي چابکي را محک بزنند. اين ابزار هم براي شرکتهايي که خواهان استفاده از روشهاي چابک ميباشند مناسب است و هم براي آناني که در حال استفاده از برخي از جنبه هاي چابکي مي باشند.

1-6 فرضيه هاي تحقيق
موارد زير در اين تحقيق مفروض مي باشند:
* اين تحقيق به بحث تطبيق متدولوژي هاي چابک با سازمان و پروژه هاي نرم افزاري وارد نخواهد شد.
* به دليل نياز به ارائه يک مدل مورد پذيرش عمومي، تنها مدارک و مستنداتي که در چارچوب روشهاي چابک مورد توجه شرکتهاي نرم افزاري است، مورد توجه قرار ميگيريد.
* اين تحقيق مستقل از متدولوژي مي باشد. بدين ترتيب همه سازمانها و شرکتهاي نرم افزاري که در همه يا بخشي از پروژه هاي خود، يک يا چند روش توسعه نرم افزار چابک را به کار ميگيرند، قادر به بهره گيري از نتايج تحقيق خواهند بود.
1-7 روش تحقيق
انجام هر کار تحقيقاتي مستلزم بستر سازي مناسب براي انجام موضوع تحقيق است. اهميت استفاده از روش تحقيق مناسب تا حدي است که مي تواند به شدت نتايج تحقيق را متاثر سازد. از اين روي است که در همه تحقيقات پژوهشي به منطور شفاف سازي و ايجاد درک مناسب از نتايج تحقيق، پيش از شروع عمليات تحقيق، روش و گامهاي انجام پژوهش به صورت مشخص بيان مي گردد.
در اين تحقيق موارد زير انجام خواهد شد:
1- استخراج معيارهاي اندازه گيري چابکي
2- کلاسه بندي کردن اين معيارها به منظور سادگي تفسير نتايج
3- تعيين وزن هر کدام از معيارها بر اساس نظر سنجي از متخصصين
4- تدوين ساختار مدل اندازه گيري
5- پياده سازي ابزار
6- مستند سازي

فصل دوم : مروري بر ادبيات و پيشينه تحقيق

2-1 مقدمه
سرعت زندگي نسبت به گذشته بسيار بيشتر شده است. کامپيوترها هر روز سريع تر و قوي تر از قبل مي شوند و انسانها در تمام شبانه روز از طريق کابل، مودم، تلفن همراه و ابزارهاي الکترونيکي ديگر همواره متصل به شبکه هاي کامپيوتري اند. همه چيز در حال تغيير است و تغيير جزو لاينفک زندگي الکترونيکي مردم شده است. در اين ميان مهندسي نرم افزار به عنوان تامين کننده فرايندهاي لازم براي زندگي ديجيتالي ملزم به رشد سريع و عقب نماندن از قافله لجام گسيخته رشد تکنولوژي است.
مهندسي نرم افزار بايستي فرايندهايي را توليد کند که نه تنها به تغييرات پاسخ دهند بلکه از آنها استقبال هم بنمايند. اين فرايندها و متدها، روشهاي چابک ناميده مي‌شوند و امروزه جاي خود را در شرکتهاي توليد کننده نرم افزار در برخي از نقاط دنيا يافته اند و در برخي ديگر کم کم نمود خواهند يافت.
در اين بخش به بررسي اين روشها و جايگاه آنها در مهندسي نرم افزار خواهيم پرداخت. در بخش اول اين گزارش تاريخچه اي از چگونگي شکل گيري اين روشها ارائه خواهد شد، سپس در بخش بعد ضمن بررسي مفهوم چابکي متدهاي معروف را بررسي خواهيم کرد.
2-2 تاريخچه
روشهاي چابک به عنوان يک واکنش به مشکلات روشهاي سنتي توليد نرم افزار معرفي شده اند. روشهاي سنتي با مشکلاتي چون “مستند سازي سنگين، قراردادهاي کاري دقيق، برنامه ريزي کامل، طراحي نهايي و …” شناخته مي‌شوند[2]. در واقع در روشهاي سنتي، کار با يک مستند دقيق و کامل به نام “نيازمنديهاي سيستم” شروع مي‌شود، سپس طراحي معماري و طراحي سطح بالا و جزئيات به دنبال آن بايد اجرا گردند و

دیدگاهتان را بنویسید