فهرست مطالب
فصل 1 : نرمافزار و مهندسي نرمافزار..
1-1 نقش توسعه نرمافزار..
1-1-1 معرفي نرمافزار..
2-1-1 دامنههاي كاربرد نرمافزار..
3-1-1 ميراث نرمافزار..
2-1 ماهيت منحصر به فرد كاربردهاي وب..
3-1 مهندسی نرمافزار...
4-1 فرايند نرمافزار...
5-1 تجربهي مهندسي نرمافزار...
1-5-1 ضرورت تجربه....
2-5-1 اصول کلی..
6-1 داستانهاي نرمافزار..
7-1 چگونه بايد شروع كرد؟.
8-1 خلاصه..
مسئلهها..
بخش اول: فرایند نرمافزار.
فصل 2 : مدلهاي فرايند..
1-2 يك مدل فرايند عمومي...
1-1-2 تعريف يك فرايند زيربنايي..
2-1-2 شناسايي يك مجموعهي كاري...
3-1-2 الگوهاي فرايند...
2-2 تشخيص و ارتقاي فرايند..
3-2 مدلهاي فرايند تجويزي...
1-3-2 مدل آبشاري..
2-3-2 مدلهاي فرايند افزايشي...
3-3-2 مدلهاي فرايند تكاملي.
4-3-2 مدلهاي همروند.
5-3-2 كلام پاياني در مورد فرايندهاي تكاملي..
4-2 مدلهاي فرايند خاص.
1-4-2 توسعه بر مبناي مولفه.
2-4-2 مدل روشهاي رسمي..
3-4-2 توسعهي نرم افزار جنبهگرا..
5-2 فرايند يكپارچه...
1-5-2 تاريخچهي مختصر...
2-5-2 فازهاي فرايند يكپارچه....
6-2 مدلهاي فرايند فردي و تيمي....
1-6-2 فرايند نرمافزار فردي (PSP)....
2-6-2 فرايند نرمافزار تيمي (TSP)..
7-2 تكنولوﮊي فرايند...
8-2 محصول و فرايند.
9-2 خلاصه..
مسئلهها..
فصل 3 : چابکی در فرایند نرمافزار..
1-3 چابکی در چيست؟..
2-3 چابکی و هزینه تغییر....
3-3 فرایند چابک چیست؟...
1-3-3 اصول چابکی....
2-3-3 سياستهاي توسعهي چابک
4-3 Scrum.
1-4-3 تیمها و ساختارهای Scrum..
2-4-3 جلسه برنامهریزی sprint..
3-4-3 جلسه روزانه Scrum..
4-4-3 جلسهی مرور sprint.
5-4-3 گذشتهنگری در sprint..
5-3 چهارچوبهای دیگر چابکی...
1-5-3 چهارچوب XP..
2-5-3 Kanban.
3-5-3 DevOps..
6-3 مدل فرایند توصیه شده..
7-3 تعریف نیازمندیها...
8-3 طراحی اولیه معماری..
9-3 تخمین منابع....
10-3 ایجاد اولین نمونه اولیه...
11-3 ارزیابی نمونه اولیه.
12-3 تصمیم برای ادامه دادن یا ادامه ندادن..
13-3 تکامل نمونه اولیه....
1-13-3 محدودهی نمونه اولیه جدید.
2-13-3 ایجاد نمونههای اولیه جدید..
3-13-3 آزمایش نمونههای اولیه جدید.
14-3 انتشار نمونه اولیه...
15-3 نگهداری نرمافزار منتشر شده.
7-3 خلاصه....
مسئلهها..
بخش دوم: مدلسازی.
فصل 4 : اصول هدايت كنندهي تجربه..
1-4 اصول مركزي....
1-1-4 اصول هدايت كنندهي فرايند.
2-1-4 اصول هدايت كنندهي تجربه.
2-4 اصول هدايت كنندهي هر چهارچوب فعالیت...
1-2-4 اصول ارتباط...
2-2-4 اصول برنامهريزي.
3-2-4 اصول مدلسازي...
4-2-4 اصول ساخت..
5-2-4 اصول استقرار...
3-4 ویژگیهای یک مهندس نرمافزار..
4-4 روانشناسی مهندسی نرمافزار...
5-4 تیم نرمافزار..
6-4 ساختارهای تیمی....
7-4 خلاصه...
مسئلهها....
فصل 5 : درك نيازها...
1-5 مهندسي نيازها..
2-5 ايجاد زمينهي كاري...
1-2-5 شناسايي مسئولين.
2-2-5 تشخيص ديدگاههاي متفاوت...
3-2-5 حركت به سمت همكاري...
4-2-5 پرسيدن اولين سوالها..
3-5 جمع آوري نيازها...
1-3-5 جمع آوري نيازهاي گروهي..
2-3-5 هدايت تابع كيفيت..
3-3-5 سناريوهاي استفاده..
4-3-5 نتيجهي جمع آوري نيازها...
4-5 توسعه Use-Caseها...
5-5 ايجاد مدل نيازمنديها....
1-5-5 اجزاي مدل نيازمنديها..
2-5-5 الگوهاي تحليل...
6-5 مذاكره در مورد نيازها...
7-5 اعتبار سنجي نيازها..
8-5 خلاصه..
مسئلهها..
فصل 6: مدلسازی نیازها: یک شیوه توصیه شده...
1-6 تحليل نيازمنديها..
1-1-6 اهداف كلي و فلسفه.
2-1-6 قوانين اوليهي تحليل...
3-1-6 تحليل دامنه....
4-1-6 روشهاي مدل سازي نيازمنديها...
2-6 مدلسازي سناريو محوري..
1-2-6 ایجاد use – case اولیه...
2-2-6 پالایش use – case اولیه..
3-2-6 نوشتن use-case رسمي.
3-6 مدلهاي UML مكمل USE- CASE..
1-3-6 توسعهي نمودار فعاليت..
2-3-6 نمودارهاي Swimlane.
4-6 مفاهيم مدل سازي داده...
1-4-6 اشياي داده..
2-4-6 صفتهاي داده..
3-4-6 روابطهها...
5-6 مدل سازي بر مبناي كلاس....
1-5-6 شناسايي كلاسها و اشيا..
2-5-6 مشخص نمودن صفت ها....
3-5-6 تعريف اعمال
مدلهای کلاس...
4-5-6 مدلسازي كلاس- وظيفه- همكاري..
5-5-6 وابستگي ها و اتحادها...
6-5-6 بستههاي تحليل
8-6 خلاصه...
فصل 7 : مدلسازی نيازها: جريان، رفتار، الگوها و کاربردهای وب...
1-7 استراتژیهای مدلسازی نیازمندیها..
2-7 مدل سازي جريان گرا.
1-2-7 ایجاد يك مدل جريان داده.
2-2-7 ايجاد يك مدل جريان كنترل
3-2-7 مشخصهي كنترل...
4-2-7 مشخصهي پردازش...
3-7 ايجاد مدل رفتاري...
1-3-7 شناسايي وقايع در use-case...
2-3-7 نمايشهاي حالت.. 200
4-7 الگوهايي براي مدل سازي نيازها...
1-4-7 يافتن الگوهاي تحليل..
2-4-7 مثالي از الگوي نيازمنديها: Actuaror-Sensor..
5-7 مدل سازي نيازمنديها براي كاربردهاي وب..
1-5-7 چه ميزان تحليل كافي است؟....
2-5-7 ورودي مدل سازي نيازمنديها....
3-5-7 خروجي مدل سازي نيازمنديها...
4-5-7 مدل محتوا براي كاربردهاي وب..
5-5-7 مدل تعامل براي كاربردهاي وب...
6-5-7 مدل عملكرد براي كاربردهاي وب...
7-5-7 مدلهاي پيكربندي براي كاربردهاي وب..
8-5-7 مدل سازي حركت....
6-7 خلاصه...
مسئلهها....
فصل 8 : مفاهيم طراحي..
1-8 طراحي در مهندسي نرم افزار..
2-8 فرآيند طراحي..
1-2-8 راهنماييها و صفتهاي كيفيت نرم افزار اطلاعات
2-2-8 تكامل طراحي نرم افزار..
3-8 مفاهيم طراحي.
1-3-8 مجردسازي...
2-3-8 معماري..
3-3-8 الگوها..
4-3-8 جداسازي مواد..
5-3-8 خاصيت پيمانهاي..
6-3-8 پنهان سازي اطلاعات..
7-3-8 استقلال تابعي.
8-3-8 پالايش.
9-3-8 جنبهها.
10-3-8 خلاصه سازي مجدد...
مفاهيم طراحي...
11-3-8 مفاهيم طراحي شيي گرا..
12-3-8 طراحي كلاسها...
4-8 مدل طراحي..
1-4-8 اجزاي طراحي داده...
2-4-8 اجزاي طراحي معماري..
3-4-8 اجزاي طراحي رابط...
4-4-8 اجزاي طراحي در سطح مولفه...
5-4-8 اجزاي طراحي در سطح استقرار..
5-8 خلاصه...
فصل 9 : طراحي معماري....
1-9 معماري نرم افزار...
1-1-9 معماري چيست؟..
2-1-9 چرا معماري مهم است ؟..
3-1-9 توصیفهای معماری..
4-1-9 تصمیمهای معماری.
2-9 انواع معماری..
3-9 شيوههاي معماري....
1-3-9 ردهبندي مختصري از شيوههاي معماري..
2-3-9 الگوهای معماری.
انتخاب يك شيوه معماري..
3-3-9 سازماندهی و پالایش.
4-9 طراحی معماری.
1-4-9 نمایش سیستم در زمینه..
2-4-9 تعریف انواع معماری...
3-4-9 پالایش معماری به مؤلفهها...
4-4-9 توصیف نمونههایی از سیستم..
5-9 دستیابی به طراحیهای معماری دیگر...
1-5-9 یک روش تحلیل توازن معماری.
تشخیص معماری...
2-5-9 پیچیدگی معماری....
3-5-9 زبانهای توصیف معماری..
6-9 تصوير نمودن معماري با استفاده از جريان داده..
1-6-9 تصوير تبديل.
2-6-9 پالایش طراحی معماری.
7-9 خلاصه..
مسئلهها..
فصل 10 : طراحی در سطح مؤلفه.
1-10 یک مؤلفه چیست؟
1-1-10 دیدگاه شیي گرا......
2-1-10 دیدگاه متداول...
3-1-10 دیدگاه مرتبط با فرایند.
2-10 طراحی مؤلفههای کلاس– محور....
1-2-10 اصول پایهی طراحی...
2-2-10 راهنماییهای طراحی در سطح مؤلفه.
3-2-10 اتحاد...
4-2-10 کوپل...
3-10 هدایت نمودن طراحی در سطح مؤلفه
4-10 طراحی در سطح مؤلفه برای کاربردهای وب...
1-4-10 طراحی محتوا در سطح مؤلفه...
2-4-10 طراحی عملكرد در سطح مؤلفه.
5-10 طراحي مؤلفههاي متداول..
1-5-10 نشانگذاري طراحي گرافيكي...
2-5-10 نشانگذاري جدولي طراحي....
3-5-10 زبان طراحي برنامه...
6-10 توسعه بر مبنای مؤلفه.....
1-6-10 مهندسی دامنه..
2-6-10 ترکیب، سازگاری، و سنجش مؤلفه...
3-6-10 تحلیل و طراحی برای استفادهي مجدد.
4-6-10 طبقهبندی و بازیابی مؤلفهها....
7-10 خلاصه.
مسئلهها.
فصل 11 : طراحی تجربه كاربری..
1-11 اجزای طراحی تجربه کاربری.
1-1-11 معماری اطلاعات..
2-1-11 طراحی تعامل کاربر..
3-1-11 مهندسی قابلیت استفاده..
4-1-11 طراحی دیداری....
2-11 قوانین طلایی...
1-2-11 كاربر را تحت كنترل درآوريد...
2-2-11 كاهش بار فكري كاربر..
3-2-11 ايجاد يكنواختي در رابط....
3-11 تحلیل و طراحی رابط کاربر..
1-3-11 مدلهاي تحليل و طراحي رابط.....
2-3-11 فرايند...
4-11 تحلیل تجربه کاربری....
1-4-11 تحلیل کاربر....
2-4-11 مدلسازی کاربر...
3-4-11 تحلیل کار..
4-4-11 تحلیل محیط کاری....
5-11 طراحی تجربه کاربری.
6-11 طراحی رابط کاربر..
1-6-11 انجام مراحل طراحی رابط...
2-6-11 الگوهای طراحی رابط کاربر....
7-11 ارزیابی طراحی..
1-7-11 مرور نمونه اولیه..
2-7-11 آزمایش کاربر.
8-11 قابلیت استفاده و دسترسیپذیری...
1-8-11 راهنماییهایی برای قابلیت استفاده....
2-8-11 راهنماییهایی برای قابلیت دسترسی.....
9-11 تجربه کاربری متداول نرمافزار و جابجاپذیری..
10-11 خلاصه..
مسئلهها...
فصل 12 : طراحی الگو محور.
1-12 الگوهای طراحی..
1-1-12 انواع الگوها....
2-1-12 چهارچوبها...
3-1-12 توصیف یک الگو...
4-1-12 زبانها و مخزنهای الگو.
2-12 طراحی نرمافزار الگو محور....
1-2-12 زمینهی طراحی الگو محور....
2-2-12 تفکر در قالب الگوها..
3-2-12 کارهای طراحی...
4-2-12 ساخت جدول سازماندهی الگو..
5-2-12 اشتباههاي متداول طراحی..
3-12 الگوهای معماری..
4-12 الگوهای طراحی در سطح مؤلفه...
5-12 الگوهای طراحی رابط کاربر...
6-12 الگوهای طراحی کاربردهای وب....
1-6-12 تمرکز طراحی..
2-6-12 تجزیهي طراحی....
7-12 خلاصه...
مسئلهها...
فصل 13 : طراحی برای تحرکپذیری...
1-13 چالشها..
1-1-13 ملاحظات توسعه.....
2-1-13 ملاحظات تکنیکی.
2-13 دوران زندگی توسعهی موبایل...
1-2-13 طراحی رابط کاربر..
2-2-13 درسهای آموخته شده.
3-13 معماریهای موبایل...
4-13 آپهای آگاه از زمینه....
5-13 هرم طراحی برای کاربردهای وب...
1-5-13 طراحی یک رابط برای برنامه کاربردی وب.
2-5-13 طراحی ظاهری...
3-5-13 طراحی محتوا.
4-5-13 طراحی معماری...
5-5-13 طراحی حرکتی..
6-13 طراحی در سطح مؤلفه....
7-13 کیفیت طراحی در کاربردهای موبایل..
8-13 بهترین تجربههای طراحی موبایل..
9-13 خلاصه.
مسئلهها.
بخش سوم : مدیریت کیفیت...
فصل 14 : استراتژيهاي آزمايش نرمافزار.
1-14 يك شيوهي استراتژيك براي آزمايش نرمافزار..
1-1-14 بازبيني و اعتبارسنجي..
2-1-14 سازماندهي براي آزمايش نرمافزار..
3-1-14 تصويري كلي از استراتژي آزمايش نرمافزار..
4-1-14 معيارهايي براي تكميل آزمايش....
2-14 نكتههاي استراتژيك..
3-14 استراتژيهاي آزمايش براي نرمافزار متداول.
1-3-14 آزمايش واحد..
2-3-14 آزمايش مجتمعسازي..
4-14 استراتژیهای آزمایش برای نرمافزار شییگرا..
1-4-14 آزمایش واحدها در زمینهي شییگرا.....
2-4-14 آزمایش مجتمعسازی در زمینهي شییگرا..
5-14 استراتژیهای آزمایش برای کاربردهای وب....
6-14 آزمايش اعتبارسنجي..
1-6-14 معيارهاي آزمايش و اعتبارسنجي...
2-6-14 مرور پيكربندي..
3-6-14 آزمايشهاي آلفا و بتا....
7-14 آزمايش سيستم....
1-7-14 آزمايش ترميم...
2-7-14 آزمايش حفاظت...
3-7-14 آزمايش فشار..
4-7-14 آزمايش كارايي..
5-7-14 آزمایش استقرار...
8-14 هنر اشكالزدايي...
1-8-14فرايند اشكالزدايي..
2-8-14 ملاحظات روانشناسي..
3-8-14شيوههاي اشكالزدايي..
4-8-14 اصلاح خطا..
9-14 خلاصه....
مسئلهها..
فصل 15 : كاربردهاي متداول آزمايش..
1-15 اصول آزمايش نرمافزار..
2-15 ديدگاههاي داخلي و خارجي آزمايش..
3-15 آزمايش جعبه سفيد..
4-15 آزمايش مسير مبنا..
1-4-15 نشانگذاري گراف جريان..
2-4-15 مسيرهاي مستقل برنامه...
استفاده از پیچیدگی دورهای..
3-4-15 تهيهي ابزارهاي آزمايش...
4-4-15 ماتريسهاي گراف...
5-15 آزمايش ساختار كنترل.
1-5-15 آزمايش شرط..
2-5-15 آزمايش جريان داده....
3-5-15 آزمايش حلقه...
6-15 آزمايش جعبه سياه..
1-6-15 روشهاي آزمايش بر مبناي گراف.
2-6-15 تقسيمبندي مساوي...
3-6-15 تحليل مقدار مرزي...
4-6-15 آزمايش آرايهي استاندارد..
7-15 آزمايش مدل محور....
8-15 آزمايشي براي محيطها، معماريها و كاربردهاي خاص.
1-8-15 آزمايش GUIها..
2-8-15 آزمايش معماري سرويس دهنده- سرويس گيرنده..
3-8-15 مستندسازي آزمايش و امكانات كمك
4-8-15 آزمايش سيستمهاي بلادرنگ...
9-15 الگوهایی برای آزمایش نرمافزار.
10-15 خلاصه...
مسئلهها...
فصل 16 : آزمايش كاربردهاي شييگرا.
1-16 وسعت بخشيدن به ديدگاه آزمايش.
2-16 آزمايش مدلهاي تحليل (OOA) و طراحي (OOD) شييگرا...
1-2-16 صحت مدلهاي تحليل (OOA) و طراحي (OOD) شييگرا..
2-2-16 تطابق مدلهاي تحليل و طراحي شييگرا..
3-16 استراتژيهاي آزمايش شييگرا..
1-3-16 آزمايش واحد در شييگرا...
2-3-16 آزمايش مجتمعسازي در رابطه با شييگرايي..
3-3-16 آزمايش اعتبارسنجي در شييگرايي.
4-16 روشهاي آزمايش شييگرا..
1-4-16 الزامهايي براي طراحي ابزار آزمايش در مفاهيم شييگرا.
2-4-16 قابليت بكارگيري روشهاي متداول طراحي ابزار آزمايش...
3-4-16 آزمايش بر مبناي خطا...
4-4-16 ابزارهاي آزمايش و سلسله مراتب كلاس...
5-4-16 طراحي آزمايش بر مبناي سناريو...
6-4-16 آزمايش ساختار سطحي و ساختار عميق...
5-16 روشهاي آزمايش قابل به كارگيري در سطح كلاس...
1-5-16 آزمايش تصادفي براي كلاسهاي شييگرا...
آزمايش كلاس.
2-5-16 آزمايش يك قطعه در سطح كلاس.
6-16 طراحي ابزار آزمايش بين كلاسها..
1-6-16 آزمايش چندين كلاس...
2-6-16 آزمايشهاي بدست آمده از مدلهاي رفتاري...
7-16 خلاصه..
مسئلهها...
فصل 17 : آزمايش كاربردهاي وب..
1-17 مفاهيم آزمايش براي كاربردهاي وب...
1-1-17 ابعاد كيفيت..
2-1-17 خطاهاي محيط يك كاربرد وب..
3-1-17 استراتژي آزمايش..
4-1-17 برنامه ريزي آزمايش....
2-17 فرايند آزمايش - مرور....
3-17 آزمايش محتوا....
1-3-17 هدفهاي آزمايش محتوا...
2-3-17 آزمايش پايگاه داده...
4-17 آزمايش رابط كاربر.
1-4-17 استراتژي آزمايش رابط..
2-4-17 آزمايش مكانيزمهاي رابط....
3-4-17 آزمايش مفاهيم رابط..
4-4-17 آزمايشهاي قابليت استفاده..
5-4-17 آزمايشهاي سازگاري....
5-17 آزمايش در سطح مولفه..
6-17 آزمايش حركت.
1-6-17 آزمايش شكل نحوي حركت..
2-6-17 آزمايش مفاهيم حركت..
7-17 آزمايش پيكربندي...
1-7-17 موارد مربوط به سرويس دهنده....
2-7-17 موارد مربوط به سمت سرويس گيرنده....
8-17 آزمايش حفاظت..
9-17 آزمايش كارايي
1-9-17 اهداف آزمايش كارايي...
2-9-17 آزمايش بار....
3-9-17 آزمايش فشار....
10-17 خلاصه..
مسئلهها....
بخش چهارم: مدیریت پروژههای نرمافزاری 541
فصل 18 : مفاهيم مديريت پروژه...
1-18 طيف مديريت..
1-1-18 افراد..
2-1-18 محصول..
3-1-18 فرايند...
4-1-18 پروژه...
2-18 افراد....
1-2-18 مسئولين...
2-2-18 رهبران تيم....
3-2-18 تيم نرم افزار....
4-2-18 تيمهاي سريع.....
5-2-18 مواردي مربوط به هماهنگي و ارتباط....
3-18 محصول..
1-3-18 محدودهي نرم افزار.....
2-3-18 تجزيهي مسئله...
4-18 فرايند..
1-4-18 مدل سازي محصول و فرايند...
2-4-18 تجزيه فرايند..
5-18 پروژه.....
6-18 اصل W5HH....
7-18 تجربههاي حساس....
8-18 خلاصه...
مسئلهها...
فصل 19 : فرايندها و معيارهاي پروژه..
1-19 معيارها در محدوده فرايند و پروژه...
1-1-19 معيارهاي فرايند و ارتقاي فرايند نرم افزار...
2-1-19 معيارهاي پروژه.
2-19 اندازه گيري نرم افزار..
1-2-19 معيارهاي اندازه گرا..
2-2-19 معيارهاي عملكرد گرا...
3-2-19 تيم نرم افزار...
4-2-19 معيارهاي شيي گرا..
5-2-19 معيارهاي Use – Case گرا.
6-2-19 معيارهاي پروژههاي كاربردهاي وب..
3-19 معيارهايي براي كيفيت نرم افزار.
1-3-19 اندازه گيري كيفيت..
2-3-19 كارايي رفع نقص..
4-19 مجتمع سازي معيارها در فرايند نرم افزار.
1-4-19 نكتههايي در مورد معيارهاي نرم افزار..
2-4-19 ايجاد يك مبنا
3-4-19 جمع آوري، محاسبه، و ارزيابي معيارها....
...5-19 معيارهايي براي سازمانهاي كوچك..
6-19 ايجاد برنامهاي براي معيارهاي نرم افزار......
7-19 خلاصه..
مسئلهها...
فصل 20 : تخمين براي پروژههاي نرم افزاري...
1-20 مشاهدهها براي تخمين.
2-20 فرايند برنامه ريزي پروژه.
3-20 محدوده و امكان سنجي نرم افزار....
4-20 منابع....
1-4-20 منابع انساني....
2-4-20 منابع نرم افزاري قابل استفادهي مجدد...
3-4-20 منابع محيطي..
5-20 تخمين پروژه نرم افزاري...
6-20 تكينكهاي تجزيه...
1-6-20 تعيين اندازهي نرم افزار...
2-6-20 تخمين بر مبناي مسئله..
3-6-20 مثالي از تخمين بر مبناي LOC
4-6-20 مثالي از تخمين بر مبناي FP...
5-6-20 تخمين بر مبناي فرايند....
6-6-20 مثالي از تخمين بر مبناي فرايند...
7-6-20 تخمين با Use-Case ها....
8-6-20 مثالي از تخمين بر مبناي Use-Case..
9-6-20 تطبيق تخمينها.....
7-20 مدلهاي تخمين تجربي....
1-7-20 ساختار مدلهاي تخمين.....
2-7-20 مدل COCOMO II..
3-7-20 معادلهي نرم افزار....
8-20 تخمين براي پروژههاي شئي گرا.
9-20 تکنیکهای تخمین خاص..
1-9-20 تخمين براي توسعهي سريع...
2-9-20 تخمین برای پروژههای کاربردهای وب....
10-20 تصميم براي ايجاد و خريد...
1-10-20 ايجاد درخت تصميم گيري..
2-10-20 بيرون سپاري.....
11-20 خلاصه...
مسئلهها و نکات مهم....
فصل 21 : زمانبندي پروژه...
1-21 مفاهيم اساسي...
2-21 زمانبندي پروژه...
1-2-21 اصول اوليه...
2-2-21 رابطهي بين افراد و فعاليت...
3-2-21 توزيع فعاليت..
3-21 تعريف مجموعهي كاري براي پروژهي نرمافزار..
1-3-21 انتخاب كارهاي مهندسي نرمافزار..
2-3-21 پالايش اعمال مهندسي نرمافزار..
4-21 تعريف يك شبكهي كاري..
5-21 زمانبندي....
1-5-21 نمودار خط زمان..
2-5-21 پيگيري زمانبندي...
3-5-21 رهگيري پيشرفت پروژهي شييگرا..
4-5-21 زمانبندي براي پروژههاي كاربردهاي وب.
6-21 تحليل مقدار بدست آمده...
7-21 خلاصه..
مسئلهها...
فصل 22 : مديريت ريسك....
1-22 استراتژيهاي ريسك فعال در مقابل غيرفعال...
2-22 ريسكهاي نرمافزاري....
3-22 شناسايي ريسك....
1-3-22 دستيابي به ريسك كلي پروژه....
2-3-22 اجزا و هدايتكنندههاي ريسك...
4-22 تصوير ريسك...
1-4-22 توسعهي جدول ريسك..
2-4-22 تعيين تأثير ريسك..
5-22 پالايش ريسك
6-22 كاهش، نظارت، و مديريت ريسك...7-22 طرح RMMM..
8-22 خلاصه...
مسئلهها..
فصل 23 : معيارهاي محصول...
1-23 چهارچوبي براي معيارهاي محصول.
1-1-23 اندازهها، معيارها، و نشانگرها..
2-1-23 چالشهاي معيارهاي محصول...
3-1-23 اصول اندازهگيري..
4-1-23 مديريت نرم افزار هدف گرا...
5-1-23 صفتهاي معيارهاي موثر نرم افزار.
2-23 معيارهايي براي مدل نيازمنديها...
1-2-23 معيارهاي عملكردمحور..
2-2-23 معيارهايي براي كيفيت مشخصه
3-23 معيارهايي براي مدل طراحي...
1-3-23 معيارهاي طراحي معماري..
2-3-23 معيارهايي براي طراحي شيي گرا...
3-3-23 معيارهاي كلاسگرا- مجموعه معيارهاي CK.
4-3-23 معیارهای کلاسگرا – مجموعه معیار MOOD..
5-3-23 معیارهای شیيگراي پیشنهاد شده توسط Kidd , Lorenz
6-3-23 معيارهاي طراحي در سطح مولفه.
7-3-23 معيارهاي عملگرا.....
8-3-23 معيارهاي طراحي رابط.....
4-23 معیارهای طراحی برای کاربردهای وب..
5-23 معيارهايي براي كد مبدأ..
6-23 معيارهايي براي آزمايش...1-6-23 بكارگيري معيارهاي Halstead در آزمايش...
2-6-23 معیارهایی برای آزمایش شيیگرا....
7-23 معيارهايي براي نگهداري..
8-23 خلاصه....
مسئلهها.....
فصل 24 : مفاهیم کیفیت...
1-24 کیفیت چیست؟...
2-24 کیفیت نرمافزار..
1-2-24 عاملهای کیفیت...
2-2-24 ارزیابی کیفیت به صورت کیفی...
3-2-24 ارزیابی کیفیت به صورت کمّی.
3-24 دو راهی کیفیت نرمافزار.
1-3-24 چه نرمافزاری به اندازه کافی خوب است؟...
2-3-24 هزینه کیفیت....
3-3-24 ریسکها..
4-3-24 غفلت و مسئولیت...
5-3-24 کیفیت و امنیت...
6-3-24 تأثیر عملکردهای مدیریت..
4-24 دستیابی به کیفیت نرمافزار..
1-4-24 روشهای مهندسی نرمافزار..
2-4-24 روشهای مدیریت پروژه...
3-4-24 یادگیری ماشین و پیشبینی اشکالها...
4-4-24 کنترل کیفیت.
5-4-24 تضمین کیفیت..
5-24 خلاصه.
مسئلهها..
فصل 25 : مرورها ـ رویکردی توصیه شده....
1-25 تأثیر اشکالهای نرمافزار بر هزینه...2-25 تقویت و حذف اشکالها..
3-25 معیارهای مرور و استفاده از آنها..
4-25 معیاری برای انواع مرورها..
5-25 مرورهای غیررسمی...
6-25 مرورهای تکنیکی رسمی.
1-6-25 جلسهی مرور
2-6-25 گزارش مرور و حفظ آن..
3-6-25 راهنماییهایی برای مرورها...
7-25 ارزیابیهای پس از پایان..
8-25 مرورهای چابک..
9-25 خلاصه..
مسئلهها....
فصل 26 : تضمین کیفیت نرمافزار..
1-26 پیش زمینه..
2-26 اجزای تضمین کیفیت نرمافزار..
3-26 فرایندهای SQA و خصوصیتهای محصول.
4-26 کارها، اهداف، و معیارهای SQA
1-4-26 کارهای SQA..
2-4-26 اهداف، صفات، و معیارها..
5-26 روشهای رسمی برای SQA..
6-26 تضمین کیفیت نرمافزار به صورت آماری..
1-6-26 یک مثال عمومی..
2-6-26 شش سیگما برای مهندسی نرمافزار..
7-26 قابلیت اطمینان نرمافزار..
1-7-26 معیارهای قابلیت اطمینان و در دسترس بودن..
2-7-26 استفاده از AI برای مدلسازی قابلیت اطمینان
3-7-26 ایمنی نرمافزار.
8-26 استانداردهای کیفیت ISO 9000..
9-26 طرح SQA
10-26 خلاصه....
مسئلهها...
فصل 27 : مهندسی امنیت نرمافزار....
1-27 چرا مهندسی امنیت نرمافزار مهم است...
2-27 مدلهای دوران زندگی امنیت....
3-27 فعالیتهای دوران زندگی توسعه امن....
4-27 مهندسی نیازمندیهای امنیت....
1-4-27 SQUARE..
2-4-27 فرایند SQUARE..
5-27 Misuse-case و Abuse-case و الگوهای حمله...
6-27 تحلیل ریسک امنیت.
7-27 مدلسازی، اولویتبندی، و کاهش تهدید.
8-27 سطح حمله..
9-27 کدنویسی امن..
10-27 اندازهگیری..
11-27 بهبود فرایند امنیت و مدلهای بلوغ..
12-27 خلاصه..
مسئلهها.
فصل 28 : بهبود فرایند نرمافزار..
1-28 SPI چیست؟...
1-1-28 روشهای انجام SPI.
2-1-28 مدلهای بلوغ...
3-1-28 آیا SPI برای همه افراد است؟.
2-28 فرایند SPI..
1-2-28 ارزیابی و تحلیل شکاف..
2-2-28 تحصیل و آموزش
3-2-28 انتخاب و توجیه...
4-2-28 نصب و کاهش...
5-2-28 ارزیابی..
6-2-28 مدیریت ریسک برای SPI.....
3-28 CMMI..
4-28 چهارچوبهای دیگر SPI...
1-4-28 SPICE..
2-4-28 TickIT Plus..
5-28 بازگشت سرمایه در SPI..
6-28 روند SPI....
7-28 خلاصه.
مسئلهها...
فصل 29 : یک استراتژی برای پشتیبانی نرمافزار.
1-29 پشتیبانی نرمافزار..
2-29 نگهداری نرمافزار..
1-2-29 انواع نگهداری...
2-2-29 فعالیتهای نگهداری.
3-2-29 مهندسی معکوس..
3-29 پشتیبانی نرمافزار فعال.
1-3-29 استفاده از نرمافزارهای تحلیلی..
2-3-29 نقش رسانههای اجتماعی..
3-3-29 هزینه پشتیبانی..
4-29 بازسازی....
1-4-29 بازسازی داده...
2-4-29 بازسازی کد...
3-4-29 بازسازی معماری.
5-29 تکامل نرمافزار...
1-5-29 تحلیل فهرست برنامههای موجود..
2-5-29 تجدید ساختار مستندات..
3-5-29 مهندسی معکوس..
4-5-29 بازسازی کد..
5-5-29 بازسازی داده
6-5-29 مهندسی پیشرو..
6-29 خلاصه..
مسئلهها.
فصل 30 : روندهای مهندسی در مهندسی نرمافزار..
1-30 تکامل تکنولوژی.
2-30 مهندسی نرمافزار به عنوان یک دیسیپلین..
3-30 مشاهدهی روند مهندسی نرمافزار..
4-30 شناسایی روندهای نرم
1-4-30 مدیریت پیچیدگی..
2-4-30 نرمافزار باز ـ جهانی.
3-4-30 نیازمندیهای ضروری.
4-4-30 ترکیب استعدادها.
5-4-30 اجزای نرمافزار
6-4-30 تغییر درک مفهوم "ارزش"..
7-4-30 متن باز...
5-30 جهتگیریهای تکنولوژی..
1-5-30 روندهای فرایند..
2-5-30 چالش بزرگ
3-5-30 توسعهی همکاری محور.
4-5-30 مهندسی نیازمندیها.
5-5-30 توسعهی نرمافزار مبتنی بر مدل.
6-5-30 مهندسی نرمافزار مبتنی بر جستوجو.
7-5-30 توسعهی مبتنی بر آزمایش.
6-30 روندهای مرتبط با ابزار.
7-30 خلاصه..
مسئلهها...
فصل 31 : جمعبندی.
1-31 اهمیت نرمافزار ـ بازبینی دوباره.
2-31 افراد و روشی که آنها سیستمها را ایجاد میکنند.
3-31 کشف دانش
4-31 دیدگاه طولانیمدت.
5-31 وظیفهی مهندس نرمافزار.
ضمیمه 1 : مقدمهای بر UML.
نمودار کلاس.
نمودار استقرار
نمودارهای Use –
نمودارهای توالی
نمودارهای ارتباط
نمودارهای فعالیت
نمودارهاي حالت
مروری بر زبان محدودیت شیي
ضمیمه 2 : مفاهیم شییگرا
كلاسها و اشيا
صفتها
اعمال، متدها، و سرويسها
مفاهیم تحلیل و طراحی شیيگرا.
منابع
واژگان انگليسي به فارسي
واژگان فارسي به انگليسي.