دانلود با لینک مستقیم و پر سرعت .
فصل 1:
مهندسی نرم افزار :
ایجاد روندی سیستماتیک ، منظم و قابل اندازه گیری برای تولید و نگهداری نرم افزار را وظیفه ی علم مهندسی نرم افزار می دانیم.
مهندسی نرم افزار، شاخه ای است از مهندسی، که با بهره گیری از دانشِ علمی، به ارائه ی راه حل هایی مقرون به صرفه، در قالبِ دستاوردهای نرم افزاری و به منظور حل مسائل و مشکلات عملی و خدمت به جامعه ی بشری، اقدام می نماید.
سه معیار مهم :
1-زمان
2- هزینه
3- کیفیت نرم افزاری که می خواهیم تولید کنیم.
تعریف نرم افزار :
مجموعه ای از برنامه های کامپیوتری ، روال ها ، قوانین ، مستندات و داده ها را نرم افزار می گوییم.
مسائل و مشکلات نرم افزار در دنیای کنونی:
1-قابلیت اطمینان نرم افزار : بدان معنا که نرم افزار به درستی اجرا شود.
2-هزینه ی نرم افزار : هدف: کاهش هزینه ی خرید نرم افزار با حفظ کیفیت .
3-اعمال تغییرات و دوباره کاری
انواع نرم افزار :
1-چکشخوار ( قابل اعمال تغییرات )
2. غیر چکشخوار ( غیرقابل تغییر )
هدف مهندسی نرم افزار :
تولید سیستم به گونه ای که دوباره کاری و تغییر حداقل شود.در نظر گرفتن تولید نرم افزار به صورت یک روند:
تولید نرم افزار از مجموعه ای از فعالیتها ساخته می شود.
در تولید یک نرم افزار دارای محدودیتهایی هستیم :
1. زمان
2. هزینه
3. محدودیتهای تکنیکی
در تولید نرم افزار هدف ساخت یک نرم افزار با کیفیت بالا و هزینه کم می باشد.
تولید نرم افزار یک روال و یا روندی است که از مجموعه ای از کارها تشکیل شده است.
ویژگی های روال های تولید نرم افزار :
1. قابل پیش بینی بودن : 1. کیفیت 2. هزینه 3. زمان 4. پیش بینی ارتباط بین فعالیتها (اولویت در ترتیب انجام مراحل)
2. هر روال یا روند تولید باید قابل تست باشد .
3. امکان روال های تولید جهت حذف سریع خطاها و جلوگیری از به وجود آمدن خطاها
4. اصلاح روال تولید
ویژگی های یک نرم افزا ر به صورت یک محصول: Software as a product
1. نرم افزار یک محصول مهندسی است و با اصول مهندسی باید تولید شود.
2. نرم افزار یک محصول قابل تغییر یا چکشخوار است.
3. نرم افزار به دلیل اینکه محصولی فیزیکی نیست ، خراب یا مستهلک نمی شود. اما در عمل به دلیل اعمال تغییرات مداوم شاید دیگر قابل استفاده نبوده و می بایست نرم افزار دیگری جای آن را بگیرد.
4. نرم افزار برخلاف بسیاری از محصولات مهندسی دیگر ، قالباً به صورت سفارشی ساخته می شود و از اجزای آماده در آن کمتر استفاده می شود که یکی از اهداف مهندسی نرم افزار ، افزایش استفاده از قطعات نرم افزاری آماده است.
دلایل استفاده از مهندسی نرم افزار در پروژه های مهندسی : Why Software Engineering?
مهندسی نرم افزار نقش اساسی در بالا بردن کیفیت نرم افزار و کاهش هزینه ها دارد.نقش مهندسی نرم افزار در پروژه های مهندسی : The influencing role of Software Engineering
1. کاهش وابستگی به افراد متخصص به صورت خاص
2. بالابردن کیفیت ارتباطات تیمی
3. تخمین مناسب شامل تخمین زمان و هزینه
4. مدیریت تغییرات
5. کنترل زمان انجام پروژه ها
6. برقراری ارتباط و درک متقابل از نرم افزار بین تولید کنندگان، کاربران و مدیران
7. انجام و ارائه ی آموزش های مناسب
8. انجام پیش بینی های لازم جهت مواجهه با افزایش توقع کاربران
اهداف مهندسی نرم افزار : Software Engineering Goals
1. بالا بردن کیفیت :
1- تطبیق نرم افزار با نیازمندیها
2- جوابگویی نیازهای کار بران
3- فارغ از خطا بودن یا کم خطا بودن و کارآیی بالای نرم افزار
نرم افزار با کیفیت مناسب نرم افزاری است که هم نیازهای صریح و هم نیازهای ذهنی ما را رفع نماید. هر چقدر نرم افزار از منابع کمتری استفاده کند ، کارآیی بالاتری دارد.
2. قابل دسترسی باشد.
3. اهداف متناقض باید بصورت تعادل درآیند.
مهندس نرم افزار فردی است که قواعد و اصول علم مهندسی نرم افزار را در روند ایجاد یک نرم افزار یا در حین تولید یک پروژه ی نرم افزار ی استفاده می کند.
ویژگی های یک مهندس نرم افزار ایده آل:
1. یک برنامه نویس خوب باشد.
2. با روش های مختلف طراحی آشنایی داشته باشد.
3. امکان ترجمه و تبدیل نیازهای کاربران
4. قابلیت ارتباط با طیف مختلف کاربران و مدیران
5. دارا بودن قابلیت بالای مدیریتی
شامل 88 اسلاید powerpoint