كتاب حاضر براساس سرفصل درس مهندسي نرم افزار با استفاده از منابع مختلف و تجربيات ساليان متمادي تدريس و تجربه عملي در زمينه مهندسي نرم افزار براي دانشجويان رشته كامپيوتر نوشته شده است.
ساختار كتاب براساس چرخه توليد نرم افزار طرح ريزي شده است و مناسب است كه به همين ترتيب مورد مطالعه قرار گيرد.
فصل اول راجع به مهندسي نيازها، امكان سنجي به جمع آوري داده ها و مدلسازي داده مي باشد. در فصل دوم تجزيه و تحليل و انواع مدلسازي سيستم مورد بحث قرار گرفته است. همچنين در مورد تعاريف سيستم، مهندسي نرم افزار، نيازهاي عملياتي و غير عملياتي و مشخصه هاي نيازها بحث و بررسي كرده و نحوه اعتبار سنجي آنها را بيان مي كند.
فصل سوم به طراحي تابعي كه در آن تابع جزء اصلي طراحي است پرداخته و فصل چهارم به طراحي شي گرا اختصاص يافته است. معماري و طراحي نرم افزار سرويس گرا و عامل گرا در فصل پنجم بحث شده است. يك واسط ضعيف مي تواند قابليت هاي فوق العاده يك نرم افزار را نزد كاربر ناچيز جلوه دهد و او را در استفاده از نرم افزار با مشكلات متعدد مواجه سازد، طراحي واسط كاربرد در فصل ششم مورد بحث و بررسي قرار گرفته و انواع تست نرم افزار در فصل هفتم آمده است.به دليل كاستي بسياري از نرم افزارها و شكست آنها در دهه هاي 60 و 70 ، مشكلات مديريت پروژه مشخص شد. شكست به دليل اينكه افراد تخصص، دانش و توانايي لازم را نداشته اند، نبود، بلكه به عيوب مديريت پروژه مربوط مي شد. بحث مديريت پروژه در فصل هشتم بيان شده است و در فصل نهم كاربرد همه فصول قبل در ايجاد و تكميل يك سيستم نرم افزاري تحت عنوان مطالعه موردي بحث شده است.
كتاب «مهندسي نرم افزار» در 264 صفحه و به قيمت 4 هزار تومان در اختيار دانشجويان مهندسي نرم افزار كامپيوتر قرار دارد.
مهندسی نیاز ها....................................................................................... 19
1-1 مقدمه............................................................................................... 19
1-2 تعاریف............................................................................................... 19
1-3 تعریف نیازمندیهای نرم افزار: .................................................................. 21
1-4 مشخصه نیازمندیها: ............................................................................ 21
1-5 فرآیند نرم افزار:.................................................................................... 29
1-5 فرآیند نرم افزار:.................................................................................... 29
1-7 ديدگاه ها: .......................................................................................... 43
1-8 مصاحبه: ............................................................................................ 44
1-9 سناريوها: .......................................................................................... 46
1-10 اتنا گرافي: ........................................................................................ 47
1-11 بررسی نیازها: ................................................................................. 48
1-12 تمرینات: .......................................................................................... 50
تجزیه و تحلیل و مدلسازی سیستم ها ......................................................... 51
2-1 تحلیل سیستم: ................................................................................. 51
2-2 مدلسازی: ......................................................................................... 56
2-3 تحلیل ساختیافته: .............................................................................. 61
2-3 تحلیل ساختیافته: .............................................................................. 61
2-4 مدلسازی داده ها: .............................................................................. 63
2-5 مدلسازی معنایی (اشیاء داده، صفات و روابط ): ........................................ 65
2-6 موجودیت(Entity): ............................................................................... 69
2-7 مدلسازی تابعی: ................................................................................ 71
2-8 نمودار جریان داده (Data Flow Diagram) DFD: ......................................... 75
2-9 مدلسازی عملياتی و جريان اطلاعات: ..................................................... 76
2-10 كاربرد مدلهاي فيزيكي و منطقي در تجزيه و تحليل و طراحي ساخت يافته: ... 77
2-11 ايجاد يك مدل منطقي: ...................................................................... 77
2-12 عناصر مدل تحليل: ............................................................................ 79
2-12 مكانيك تحليل ساختيافته: .................................................................. 79
2-13 مدل سازي رفتاري: ........................................................................... 83
2-14 مشخص سازي: ............................................................................... 84
2-15 تحليل گر سيستم و نقش او در فرايند تجزيه و تحليل: .............................. 86
2-16 تفاوت برنامه نويس و تحليل گر: ............................................................ 86
طراحی تابعی........................................................................................... 89
3-1 مقدمه: ............................................................................................. 89
3-2 اصول و مفاهيم طراحي: ....................................................................... 90
3-3 طراحی نرم افزار و مهندسی نرم افزار: ..................................................... 91
3-4 فرایند طراحی: .................................................................................... 93
3-5 تکامل طراحی نرم افزار: ........................................................................ 95
3-6 اصول طراحی..................................................................................... 95
3-7 مفاهیم طراحی: ................................................................................. 97
3-8 انتزاع: ............................................................................................. 97
3-9 پالایش: ........................................................................................... 98
3-10 پیمانه ای کردن.................................................................................. 99
3-11 معماری نرم افزار: ............................................................................ 102
3-12 سلسله مراتب كنترلي: .................................................................... 103
3-13 افراز ساختاري: .............................................................................. 104
3-14 ساختمان داده ها: .......................................................................... 107
3-15 طراحی پیمانه های کارآمد: ............................................................... 109
3-16 استقلال عملیاتی: ......................................................................... 109
3-17 پیوستگی: .................................................................................... 110
3-18 ابتکارات طراحی برای پیمانه های کارآمد: ............................................. 111
3-19 تمرینات: ........................................................................................ 112
طراحی شیءگرا...................................................................................... 113
4-1 مقدمه: ........................................................................................... 113
4-2 شیوه شئ گرایی: ............................................................................ 113
4-4 اعمال، متد ها و سرویسها: ................................................................. 117
4-5 بسته بندی، وراثت و چند ریختی: ......................................................... 117
4-6 شناسایی کلاس ها و اشیاء: .............................................................. 120
4-7 شکل متعارف يك سيتم پيچيده: ........................................................... 121
4-8 معني طراحي: ................................................................................. 124
4-9 مدل شيء: ...................................................................................... 125
4-10 برنامه سازي، طراحي و تحليل شيءگرا: .............................................. 132
4-11 كلاسها و شيءها: .......................................................................... 132
4-12 اعمال متداول روي شيءها ( معني عمليات ): ...................................... 133
4-13 شيءها بعنوان ماشين: ................................................................... 134
4-14 شيءهاي فعال و منفعل: .................................................................. 134
4-15 انواع روابط شيءها با يكديگر: ............................................................ 134
4-16 معني همگام سازي شيءها: ........................................................... 135
4-17 ماهيت كلاس: ................................................................................ 135
4-18 ساخت كلاسها و شيءهاي با كيفيت: ................................................ 139
4-19 رهيافتهايي براي انتخاب عملها يا متدها: ............................................ 139
4-20 رهيافتهايي براي انتخاب رابطهها: ....................................................... 140
4-21 نقش مكانيزمها و قابليت رؤيت: .......................................................... 141
4-22 تمرينات: ........................................................................................ 142
4-3 مفاهیم شئ گرا: .............................................................................. 114
مقدمه ای برمعماری و طراحی مهندسی نرم افزارسرویس گرا و عامل گرا............ 143
5-1 تعریف معماری:.................................................................................. 143
5-2 معماري: .......................................................................................... 146
مقدمه ای برمعماری و طراحی مهندسی نرم افزارسرویس گرا و عامل گرا............ 143
5-1 تعریف معماری:.................................................................................. 143
5-2 معماري: .......................................................................................... 146
5- 3 سبک سرویس گرا SOA) (:................................................................. 156
5-4 معماری سرویسگرا: .......................................................................... 158
5-5 ويژگي هاي سيستم هاي نرم افزاري مبتني بر معماري سرويس گرا: .......... 161
5-6 سرويسهاي وب به عنوان پايه معماري سرويس گرا: ................................. 161
5-7 مقدمه ای بر مهندسی نرم افزار عامل گرا: ............................................. 163
5-8 مهندسی نرم افزار: ........................................................................... 166
5-9 مهندسي نرم افزار عامل گرا: ............................................................... 167
5-10 طراحي عامل گرا: ............................................................................ 169
طراحي واسط كاربر................................................................................... 173
6-1 مقدمه:............................................................................................ 173
6-2 اصول طراحي واسط كاربر:.................................................................... 174
6-3 فرايند طراحي واسط كاربر:................................................................... 176
6-4 مسائل طراحي:................................................................................. 178
6-5 انواع واسطهاي كاربر:......................................................................... 181
6-6 ارزيابي:........................................................................................... 186
6-7 نکاتی برای بهتر کردن رابط کاربر:........................................................... 188
6-8 تمرینات: ........................................................................................... 190
تست نرم افزار......................................................................................... 191
1.7 چرخهء زندگی سیستم:..................................................................... 191
7-3 تست سیستم:................................................................................. 193
7-4 تست جامعیت:.................................................................................. 193
7-5 تست تحویل:.................................................................................... 197
7-6 تست رگرسیون (Regression):............................................................. 212
7-7 تست جزء:........................................................................................ 212
7-8 تست برنامه رویهای:........................................................................... 212
7-9 تست برنامه شئ گرا:......................................................................... 213
7-10 مطالعه موردی تست طرح کلی سیستم:.............................................. 214
7-11 ساخت موارد تست، به کمک مستندات موارد کاربرد:.............................. 215
7-12 انجام تست واحد به کمک orthogonal array: 216
7-13 تست رابطها:................................................................................... 218
7-14 تست وراثت:................................................................................... 218
7-16 تمرینات: ........................................................................................ 220
مدیریت پروژه (مفاهیم و زمانبندی) ............................................................. 221
8-1 مدیریت پروژه چیست؟........................................................................ 221
8-2 دلایل شکست پروژه: ......................................................................... 222
موسسه مدیریت پروژه (The Project Management Body Of Knowledge)PMBOK 223
8-3 فعالیت های مدیریت: ......................................................................... 223
8-4 طرح پروژه: ....................................................................................... 224
8-5 چرخه حیات مدیریت پروژه: .................................................................. 225
8-7 نقاط عطف پروژه (Milestone): ............................................................. 229
8-8 زمانبندی پروژه: ................................................................................. 230
8-9 ابزارها و تکنیک های مدیریت پروژه: ....................................................... 230
8-10 مسیر بحرانی: ................................................................................ 233
8-11 نمودار میله ای (نمودار Gantt): ........................................................... 234
مطالعه موردی......................................................................................... 237
9-1 مقدمه............................................................................................. 237
9-2 تعریف سیستم: ................................................................................ 237
9-3 امکان سنجی و نیازمندیهای سیستم: .................................................. 239
9-4 برآورد هزینه و زمان: ........................................................................... 240
9-5 جمع آوری داده ها: ........................................................................... 241
9- 6 تحلیل سیستم: ............................................................................ 241
IO Layer................................................................................................ 242
DP Layer............................................................................................... 242
EIM....................................................................................................... 242
9-7 طراحی سیستم: .............................................................................. 243
9-8 رفتار سیستم 2................................................................................. 254
9-9 آزمایش و تست سیستم: ................................................................... 256
9-10 خلاصه............................................................................................ 257
9-11 Use Cases: .................................................................................. 257
9-12 تست های سیستم........................................................................ 262
9-13 نمودار زمانبندی: ............................................................................. 263
فهرست منابع.......................................................................................... 264
دسته بندی موضوعی | موضوع فرعی |
علوم پایه |
رياضی و آمار
|