بخشی از پاورپوینت

اسلاید 1 :

مقدمه ای بر مهندسی نرم افزار An Introduction to Software Engineering

اسلاید 2 :

فهرست
بحران نرم افزار
مفهوم مهندسی
تعريف مهندسی نرم افزار
ماهيت نرم افزار و تفاوت مهندسی نرم افزار با ساير رشته های مهندسی
کاربردهای نرم افزار
اهميت مهندسی نرم افزار
ارکان مهندسی نرم افزار
تعريف متدلوژی نرم افزاری

اسلاید 3 :

بحران نرم افزار
بحران نرم افزار اولين بار بصورت رسمی در کنفرانسی در سال 1968 ميلادی مطرح گرديد . عوامل اصلی اين بحران عبارتند از :
هزينه بالای ايجاد نرم افزار
تاخير در توليد و تحويل نرم افزار
نگهداری پرهزينه نرم افزار
پيشرفت سريع سخت افزار
کيفيت پايين نرم افزار
افزايش پيچيدگی کاربردها

اسلاید 4 :

تفاوت مهندس و محقق علوم
يک محقق علوم با استفاده از دانش موجود ، دانش نوينی را استخراج می نمايد، ولی يک مهندس از دانش موجود در عمل برای يافتن بهترين راه حل مسئله استفاده می نمايد . يک مهندس به صرفه اقتصادی و قابليت اطمينان راه حل خود می انديشد.

اسلاید 5 :

تعريف مهندسی نرم افزار
تعريف مهندسی نرم افزار از ديد پارناس (Parnas) :
کار چند نفره برای توليد چند نسخه (version) از برنامه
تعريف پارناس به علت قديمی بودن مهندسی نرم افزار را با برنامه سازی يکی می داند.
تعريف مهندسی نرم افزار بنا بر پيشنهاد انجمن IEEE :
مهندسی نرم افزار عبارت است از بکارگيری يک روش سيستماتيک، منظم و قابل اندازه گيری برای توليد و توسعه ، عملياتی کردن و نگهداری نرم افزار . به عبارت ديگر بکارگيری اصول مهندسی در توليد نرم افزار

اسلاید 6 :

تعريف مهندسی نرم افزار(ادامه)
تعريف مهندسی نرم افزار (از نگاهی ديگر) :
شامل مجموعه ای از تکنيکها و قواعد معتبر مهندسی بمنظور توليد نرم افزار قابل اطمينان و مقرون بصرفه
مفهوم مهندسی

اسلاید 7 :

ماهيت نرم افزار
جهت مشخص شدن ماهيت نرم افزار آنرا با يک محصول فيزيکی (همانند سخت افزار ) مقايسه می نماييم :
نرم افزار محصولی منطقی است ، در صورتيکه سخت افزار يک محصول فيزيکی قابل لمس است .
نرم افزار توسعه داده می شود در صورتيکه سخت افزار ساخته می شود ) بکارگيری واژه develop (پرورش دادن) بجای create).
هزينه های نرم افزار در مهندسی آن متمرکز است . لذا مديريت پروژه های نرم افزاری متفاوت از مديريت ساير پروژه های مهندسی است .

اسلاید 8 :

ماهيت نرم افزار(ادامه)
جمع آوری نيازمنديها در رشته های مهندسی با کمک صاحب نظران و طراحان در رشته مربوطه صورت می پذيرد ، در صورتيکه جمع آوری اطلاعات جهت تعيين نيازمنديهای نرم افزار از طريق افراد معمولی صورت می پذيرد . لذا وجود درخواستهای ناقص و اشتباه از سوی کاربران ، يا تغيير نيازمنديهای آنها امری غير عادی تلقی نمی شود.
مفهوم استفاده مجدد در نرم افزار و سخت افزار : صنعت به سمت نصب قطعات حرکت می نمايد ، ليکن اين امر در نرم افزار کمرنگتر می باشد.
روشها و ابزارهای آزمايش نرم افزار متفاوت از روشها وابزارهای سخت افزار است.

اسلاید 9 :

ماهيت نرم افزار(ادامه)
سخت افزار فرسوده می گردد
فرسودگی
مرگ زودرس
زمان
نرخ خرابی
نمودار نرخ خرابی سخت افزار

اسلاید 10 :

ماهيت نرم افزار(ادامه)
نمودار نرخ خرابی نرم افزار
زمان
نرخ خرابی
تغيير
افزايش نرخ شکست بدليل اثرات جانبی
منحنی واقعی
منحنی ايده آل
نرم افزار به تدريج دچار فرسودگی نمی گردد ، بلکه فاسد می شود.

اسلاید 11 :

هزینه تغییرات در نرم افزار

اسلاید 12 :

کاربردهای نرم افزار
نرم افزار برای هر موردی که در آن مورد مجموعه ای مشخص از مراحل رويه ای (يعنی بصورت الگوريتميک) تعريف شده است می تواند بکار گرفته شود.
کاربردهای اصلی نرم افزار در موارد زير است :
نرم افزار سيستم : مجموعه ای از برنامه ها می باشد که جهت ارائه سرويس به ساير برنامه ها ايجاد گرديده است . همانند کامپايلرها ، سيستم مديريت بانک اطلاعات DBMS ، ويراستارها و سيستم عامل
نرم افزار بلادرنگ : جهت تحليل و کنترل رخدادهای دنيای واقعی استفاده می شود. اين نرم افزار در هنگام وقوع رخداد بصورت بلادرنگ پاسخ مناسب را ارائه می نمايد . کنترل واکنشها در يک کارخانه توليد مواد شيميائی مثالی از اين مورد می باشد.

اسلاید 13 :

کاربردهای نرم افزار
نرم افزار تجاری : پردازش اطلاعات تجاری پر کاربرد ترين بخش استفاده از نرم افزار را تشکيل می دهد. سيستمهای کاربردی همانند سيستمهای حسابداری ، فهرست موجودی و عمليات ثبت نام دانشجويان مثالهائی از اين گروه نرم افزار می باشد.
نرم افزار علمی و مهندسی
نرم افزار کامپيوتر شخصی
نرم افزار جاسازی شده
نرم افزار هوش مصنوعی
نرم افزار Web

اسلاید 14 :

اهميت مهندسی نرم افزار
نرم افزار دارای پيچيدگی می باشد . به علت ماهيت نرم افزار امکان حذف پيچيدگی وجود ندارد ، ليکن می توان آنرا کنترل نمود .
در خصوص سوالات زير تفکر نمائيد :
چگونه می توان نرم افزاری جهت يک سيستم پيچيده ايجاد نمود ؟
برنامه نويسی چه جايگاهی در مهندسی نرم افزار دارد ؟ و چنانچه جهت توسعه سيستمها در مراحل آغازين کار و قبل از انجام تمهيدات لازم به سراغ برنامه نويسی برويم چه مشکلاتی ايجاد می شود ؟

اسلاید 15 :

اهميت مهندسی نرم افزار(ادامه)
جهت انجام پروژه نرم افزاری با هزينه مناسب (منظور از هزينه در اينجا ابعاد مالی ، زمانی و نيروی انسانی است) و کيفيت خوب چه راهکارهايي را می بايست اتخاذ نماييم ؟
بطور متوسط طول عمر نرم افزار در کشور ما تقريبا نصف طول عمر نرم افزار در جوامع صنعتی است . دليل اين اختلاف را در چه می بينيد؟
آيا استفاده از دستورالعملها ، مستندات و نمودارهايي که مهندسی نرم افزار آنها را توصيه می نمايد ، صرفا جهت مستند سازی است يا مزايای ديگری نيز دارد؟

اسلاید 16 :

تکنولوژی مهندسی نرم افزار
فرايند توليد
متدولوژی
ابزارهای خودکارسازی
CASE TOOLS

اسلاید 17 :

متدولوژی
متد (روش) : فرايندی منظم که با استفاده از مجموعه ای از نمادگذاريهای خوش تعريف ، مجموعه ای از مدلها را ايجاد می کند که هر کدام قسمتی از سيستم نرم افزاری در حال توسعه را توصيف می نمايد .
متدولوژی :
ارائه چارچوب کاری معين در قالب فرمها ، نمودارها ، قالبهای متنی با توجه به فرايند توسعه
مجموعه ای از روشها که در تمام چرخه حيات سيستم نرم افزاری اعمال شده و بر يک نوع نگرش کلی درباره جهان نرم افزار متکی می باشند.

اسلاید 18 :

انتظار از متدولوژی
بازشناسی : دريافت و توصيف نيازمنديها

بازنمايي : قدرت بيان و تشريح (notation)

گذر : دارای تکنيک و دستورالعمل برای گذر از يک مرحله به مرحله ديگر باشد.

در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید