PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مهندسی نرم افزار1 جلسه اول



Borna66
03-12-2010, 01:25 PM
بخش اول- فصل1

مهندسی نرم افزار
FAQ هایی راجع به مهندسی نرم افزار:

نرم افزار چیست ؟
نرم افزار شامل برنامه های کامپیوتری همراه است با مستندات و داده های پیکربندی است که برای درست کارکردن برنامه ضروری است .
دو نوع محصول نرم افزاری :
1- محصولات کلی
2- محصولات سفارشی


مهندسی نرم افزار چیست؟
یک نظام مهندسی است که با جنبه های نرم افزاری محصول ، از مراحل اولیه تعیین مشخصات سیستم تا نگهداری سیستم ، سروکار دارد .
شامل مراحل زیر است :
1- نظام مهندسی .
2- تمام جنبه های محصول نرم افزاری .

تفاوت مهندسی نرم افزار و علم کامپیوتر چیست ؟
علم کامپیوتر با تئوری و اصول سروکار دارد . مهندسی نرم افزار با فعالیت های توسعه و تحویل نرم افزار سروکاردارد .

تفاوت مهندسی نرم افزار و مهندسی سیستم چیست ؟
مهندسی سیستم با تمام جنبه های توسعه سیستم های مبتنی بر کامپیوتر از جمله سخت افزار ، نرم افزار و مهندسی فرایند سروکار دارد . مهندسی نرم افزار بخشی از این فرایند است .

فرایند نرم افزار چیست ؟
مجموعه ای از فعالیت ها است که هدف آن ها توسعه یا تکامل نرم افزار است.
شامل فعالیت های اساسی زیر است :
1- تعیین مشخصات نرم افزار
2- توسعه نرم افزار
3- اعتبار سنجی نرم افزار
4- تکامل نرم افزار

مدل فرایند نرم افزار چیست ؟
نمایش ساده ای از فرایند نرم افزار است که از جنبه خاصی ارائه شده است .
نمونه هایی از انواع مدل فرایند نرم افزار :
1- مدل جریان کار .
2- مدل جریان داده یا فعالیت .
3- مدل نقش/ فعالیت .
مدل های مختلفی که برای توسعه نرم افزار وجود دارد :
1- رهیافت آبشاری .
2- توسعه تکاملی .
3- تبدیل رسمی .
4- مونتاژ سیستم با قطعات قابل استفاده مجدد .

هزینه های مهندسی نرم افزار کدامند ؟
تقریباً 60 درصد هزینه ها مربوط به توسعه ، و 40 درصد مربوط به تست است .

کیس چیست ؟
سیستم های نرم افزاری اند که از فعالیت های فرایند نرم افزار بطور خودکار پشتیبانی می کنند .

توزیع هزینه فعالیت نرم افزار

مدل آبشاری

http://i36.tinypic.com/4uxx90.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)


توسعه تکراری
http://i35.tinypic.com/2evzypf.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)

http://i38.tinypic.com/2m4p3dk.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)

روش های مهندسی نرم افزار کدامند ؟
رهیافت های ساخت یافته توسعه نرم افزار که حاوی مدل های سیستم ، نشانه گذاری ها ، قواعد ، توصیه طراحی و راهنمای فرایند است .

این روش ها باید تعدادی قطعات را در اختیار داشته باشند :
1- توصیف های مدل سیستم
2- قوانین
3- پیشنهادات
4- راهنمای فرایند
صفات نرم افزار خوب کدامند ؟
1- قابلیت نگهداری
2- قابلیت اتکا
3- کار آمدی
4- قابلیت استفاده
مسئولیت تخصصی و اخلاقی
1- محرمانگی.
2- صلاحیت.
3- حقوق معنوی.
4- سوء استفاده از کامپیوتر.

فصل2 -سیستم های اجتماعی - تکنیکی

سیستم :
یک مجموعه هدفمند از قطعات مرتبط به هم است که با هم کار می کنند تا هدفی را بر آورده نمایند .

سیستم هایی که شامل نرم افزار هستند :
1- سیستم های کامپیوتری تکنیکی .
2- سیستم های اجتماعی- تکنیکی .
ویژگی های اصلی سیستم های اجتماعی- تکنیکی :
1- ویژگی های جدیدی که به ویژگی های سیستم به عنوان یک کل مربوط می شود .
2- اغلب غیر قطعی اند .
3- بسط سیستم برای پشتیبانی از اهداف سیستم فقط به خود سیستم بستگی ندارد .

ویژگی های جدید سیستم :
1- ویژگی های عملکردی .

2- ویژگی های غیر عملکردی .

مثال هایی از ویژگی های جدید :
1- حجم .
2- قابلیت اعتماد .
3- امنیت.
4- قابلیت ترمیم و بکارگیری.
عوامل موثردرقابلیت اعتماد سیستم :
1- قابلیت اعتماد سخت افزار .
2- قابلیت اعتماد نرم افزار .
3- قابلیت اعتماد اپراتور .

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


تفاوت های بین فرایند مهندسی سیستم و فرایند توسعه نرم افزار:
1- وجود حوزه محدود برای کار مجدد در اثنای توسعه سیستم.
2- پیچیدگی نظام های داخلی .

فرایند مهندسی سیستم :
http://i36.tinypic.com/15dat8w.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)

تعریف خواسته های سیستم :
این فعالیت، عملکرد و خواص اساسی و مطلوب سیستم را مشخص می کند .


انواع خواسته ها :
1- خواسته های عملکردی انتزاعی .
2- ویژگی های سیستم .
3- خواصی که سیستم نباید از خود نشان دهد.
طراحی سیستم :
مشخص می کند که عملکرد سیستم چگونه باید توسط قطعات مختلف سیستم انجام شود .

فعالیت های موجود در این فرایند :
1- تقسیم بندی خواسته ها .
2- شناسایی زیر سیستم ها .
3- انتساب خواسته ها به زیر سیستم ها .
4- تعیین عملکرد زیر سیستم ها .
5- تعریف واسط های زیر سیستم .
فرایند طراحی سیستم :
http://i36.tinypic.com/im33lt.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)


مدل سازی سیستم :
در اثنای خواسته ها و طراحی سیستم ، سیستم باید بصورت مجموعه ای از قطعات و روابط بین آنها مدل سازی شود .


سیستم به چند زیر سیستم تجزیه می شود که هر زیر سیستم می تواند به زیر سیستم های دیگری تجزیه شود تا قطعات عملکردی به دست آیند .

توسعه زیر سیستم :
در این فرایند ، زیر سیستم هایی که در اثنای طراحی سیستم شناسایی شدند ، پیاده سازی می شوند .


جامعیت زیر سیستم :
زیر سیستم هایی که مستقل از هم توسعه داده شدند، در کنار هم قرار می گیرند تا سیستم کامل ایجاد کنند .


تکامل سیستم :
سیستم های بزرگ ، در اثنای زندگی شان، باید تکامل یابند تا خطاهای موجود در خواسته های اصلی سیستم را اصلاح کنند و خواسته های جدید را برآورده نمایند .

تجزیه سیستم :
سیستم پس از طول عمر مفید عملیاتی آن، کنار گذاشته می شود .

سازمان ها ، افراد و سیستم های کامپیوتری

عوامل سازمانی و انسانی در محیط سیستم که طراحی سیستم را تحت تاثیر قرار دهند :

1- تغییرات فرایند .
2- تغییرات شغل .
3- تغییرات سازمانی .

فرایند تهیه سیستم :
http://i34.tinypic.com/2qmggn4.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)


فرایند های تهیه، توسعه و عملیاتی :

http://i33.tinypic.com/2zgf4pg.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)

فرایند تهیه :
این فرایند به تصمیم گیری در مورد بهترین روش دستیابی یک سازمان به سیستم و بهترین تهیه کننده سیستم مربوط می شود .


فرایندهای عملیاتی :
فرایند هایی هستند که در بکارگیری از سیستم برای رسیدن به اهدافش نقش دارد .

سیستم های کهنه :
سیستم های کامپیوتری اجتماعی – تکنیکی هستند که در گذشته ایجاد شدند و معمولاً از فن آوری قدیمی تر استفاده می نمایند .
قطعات سیستم کهنه :
1- سخت افزار سیستم
2- نرم افزار پشتیبان .
3- نرم افزارهای کاربردی .
4- داده های کاربردی .
5- فرایند تجاری .
6- قوانین و سیاستهای تجاری .


مدل لایه ای سیستم های قدیمی
فرایند های تجاری
نرم افزار کاربردی
نرم افزار پشتیبان
سخت افزار

گردآورنده: طه - Borna66