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://pnu-club.com/imported/2010/03/611.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)
توسعه تکراری
http://pnu-club.com/imported/2010/03/612.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)
http://pnu-club.com/imported/2010/03/613.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://pnu-club.com/imported/2010/03/614.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)
تعریف خواسته های سیستم :
این فعالیت، عملکرد و خواص اساسی و مطلوب سیستم را مشخص می کند .
انواع خواسته ها :
1- خواسته های عملکردی انتزاعی .
2- ویژگی های سیستم .
3- خواصی که سیستم نباید از خود نشان دهد.
طراحی سیستم :
مشخص می کند که عملکرد سیستم چگونه باید توسط قطعات مختلف سیستم انجام شود .
فعالیت های موجود در این فرایند :
1- تقسیم بندی خواسته ها .
2- شناسایی زیر سیستم ها .
3- انتساب خواسته ها به زیر سیستم ها .
4- تعیین عملکرد زیر سیستم ها .
5- تعریف واسط های زیر سیستم .
فرایند طراحی سیستم :
http://pnu-club.com/imported/2010/03/615.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)
مدل سازی سیستم :
در اثنای خواسته ها و طراحی سیستم ، سیستم باید بصورت مجموعه ای از قطعات و روابط بین آنها مدل سازی شود .
سیستم به چند زیر سیستم تجزیه می شود که هر زیر سیستم می تواند به زیر سیستم های دیگری تجزیه شود تا قطعات عملکردی به دست آیند .
توسعه زیر سیستم :
در این فرایند ، زیر سیستم هایی که در اثنای طراحی سیستم شناسایی شدند ، پیاده سازی می شوند .
جامعیت زیر سیستم :
زیر سیستم هایی که مستقل از هم توسعه داده شدند، در کنار هم قرار می گیرند تا سیستم کامل ایجاد کنند .
تکامل سیستم :
سیستم های بزرگ ، در اثنای زندگی شان، باید تکامل یابند تا خطاهای موجود در خواسته های اصلی سیستم را اصلاح کنند و خواسته های جدید را برآورده نمایند .
تجزیه سیستم :
سیستم پس از طول عمر مفید عملیاتی آن، کنار گذاشته می شود .
سازمان ها ، افراد و سیستم های کامپیوتری
عوامل سازمانی و انسانی در محیط سیستم که طراحی سیستم را تحت تاثیر قرار دهند :
1- تغییرات فرایند .
2- تغییرات شغل .
3- تغییرات سازمانی .
فرایند تهیه سیستم :
http://pnu-club.com/imported/2010/03/616.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)
فرایند های تهیه، توسعه و عملیاتی :
http://pnu-club.com/imported/2010/03/617.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)
فرایند تهیه :
این فرایند به تصمیم گیری در مورد بهترین روش دستیابی یک سازمان به سیستم و بهترین تهیه کننده سیستم مربوط می شود .
فرایندهای عملیاتی :
فرایند هایی هستند که در بکارگیری از سیستم برای رسیدن به اهدافش نقش دارد .
سیستم های کهنه :
سیستم های کامپیوتری اجتماعی – تکنیکی هستند که در گذشته ایجاد شدند و معمولاً از فن آوری قدیمی تر استفاده می نمایند .
قطعات سیستم کهنه :
1- سخت افزار سیستم
2- نرم افزار پشتیبان .
3- نرم افزارهای کاربردی .
4- داده های کاربردی .
5- فرایند تجاری .
6- قوانین و سیاستهای تجاری .
مدل لایه ای سیستم های قدیمی
فرایند های تجاری
نرم افزار کاربردی
نرم افزار پشتیبان
سخت افزار
گردآورنده: طه - Borna66
مهندسی نرم افزار
FAQ هایی راجع به مهندسی نرم افزار:
نرم افزار چیست ؟
نرم افزار شامل برنامه های کامپیوتری همراه است با مستندات و داده های پیکربندی است که برای درست کارکردن برنامه ضروری است .
دو نوع محصول نرم افزاری :
1- محصولات کلی
2- محصولات سفارشی
مهندسی نرم افزار چیست؟
یک نظام مهندسی است که با جنبه های نرم افزاری محصول ، از مراحل اولیه تعیین مشخصات سیستم تا نگهداری سیستم ، سروکار دارد .
شامل مراحل زیر است :
1- نظام مهندسی .
2- تمام جنبه های محصول نرم افزاری .
تفاوت مهندسی نرم افزار و علم کامپیوتر چیست ؟
علم کامپیوتر با تئوری و اصول سروکار دارد . مهندسی نرم افزار با فعالیت های توسعه و تحویل نرم افزار سروکاردارد .
تفاوت مهندسی نرم افزار و مهندسی سیستم چیست ؟
مهندسی سیستم با تمام جنبه های توسعه سیستم های مبتنی بر کامپیوتر از جمله سخت افزار ، نرم افزار و مهندسی فرایند سروکار دارد . مهندسی نرم افزار بخشی از این فرایند است .
فرایند نرم افزار چیست ؟
مجموعه ای از فعالیت ها است که هدف آن ها توسعه یا تکامل نرم افزار است.
شامل فعالیت های اساسی زیر است :
1- تعیین مشخصات نرم افزار
2- توسعه نرم افزار
3- اعتبار سنجی نرم افزار
4- تکامل نرم افزار
مدل فرایند نرم افزار چیست ؟
نمایش ساده ای از فرایند نرم افزار است که از جنبه خاصی ارائه شده است .
نمونه هایی از انواع مدل فرایند نرم افزار :
1- مدل جریان کار .
2- مدل جریان داده یا فعالیت .
3- مدل نقش/ فعالیت .
مدل های مختلفی که برای توسعه نرم افزار وجود دارد :
1- رهیافت آبشاری .
2- توسعه تکاملی .
3- تبدیل رسمی .
4- مونتاژ سیستم با قطعات قابل استفاده مجدد .
هزینه های مهندسی نرم افزار کدامند ؟
تقریباً 60 درصد هزینه ها مربوط به توسعه ، و 40 درصد مربوط به تست است .
کیس چیست ؟
سیستم های نرم افزاری اند که از فعالیت های فرایند نرم افزار بطور خودکار پشتیبانی می کنند .
توزیع هزینه فعالیت نرم افزار
مدل آبشاری
http://pnu-club.com/imported/2010/03/611.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)
توسعه تکراری
http://pnu-club.com/imported/2010/03/612.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)
http://pnu-club.com/imported/2010/03/613.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://pnu-club.com/imported/2010/03/614.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)
تعریف خواسته های سیستم :
این فعالیت، عملکرد و خواص اساسی و مطلوب سیستم را مشخص می کند .
انواع خواسته ها :
1- خواسته های عملکردی انتزاعی .
2- ویژگی های سیستم .
3- خواصی که سیستم نباید از خود نشان دهد.
طراحی سیستم :
مشخص می کند که عملکرد سیستم چگونه باید توسط قطعات مختلف سیستم انجام شود .
فعالیت های موجود در این فرایند :
1- تقسیم بندی خواسته ها .
2- شناسایی زیر سیستم ها .
3- انتساب خواسته ها به زیر سیستم ها .
4- تعیین عملکرد زیر سیستم ها .
5- تعریف واسط های زیر سیستم .
فرایند طراحی سیستم :
http://pnu-club.com/imported/2010/03/615.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)
مدل سازی سیستم :
در اثنای خواسته ها و طراحی سیستم ، سیستم باید بصورت مجموعه ای از قطعات و روابط بین آنها مدل سازی شود .
سیستم به چند زیر سیستم تجزیه می شود که هر زیر سیستم می تواند به زیر سیستم های دیگری تجزیه شود تا قطعات عملکردی به دست آیند .
توسعه زیر سیستم :
در این فرایند ، زیر سیستم هایی که در اثنای طراحی سیستم شناسایی شدند ، پیاده سازی می شوند .
جامعیت زیر سیستم :
زیر سیستم هایی که مستقل از هم توسعه داده شدند، در کنار هم قرار می گیرند تا سیستم کامل ایجاد کنند .
تکامل سیستم :
سیستم های بزرگ ، در اثنای زندگی شان، باید تکامل یابند تا خطاهای موجود در خواسته های اصلی سیستم را اصلاح کنند و خواسته های جدید را برآورده نمایند .
تجزیه سیستم :
سیستم پس از طول عمر مفید عملیاتی آن، کنار گذاشته می شود .
سازمان ها ، افراد و سیستم های کامپیوتری
عوامل سازمانی و انسانی در محیط سیستم که طراحی سیستم را تحت تاثیر قرار دهند :
1- تغییرات فرایند .
2- تغییرات شغل .
3- تغییرات سازمانی .
فرایند تهیه سیستم :
http://pnu-club.com/imported/2010/03/616.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)
فرایند های تهیه، توسعه و عملیاتی :
http://pnu-club.com/imported/2010/03/617.jpg (http://pnu-club.com/redirector.php?url=http%3A%2F%2Ftinypic.com%2F)
فرایند تهیه :
این فرایند به تصمیم گیری در مورد بهترین روش دستیابی یک سازمان به سیستم و بهترین تهیه کننده سیستم مربوط می شود .
فرایندهای عملیاتی :
فرایند هایی هستند که در بکارگیری از سیستم برای رسیدن به اهدافش نقش دارد .
سیستم های کهنه :
سیستم های کامپیوتری اجتماعی – تکنیکی هستند که در گذشته ایجاد شدند و معمولاً از فن آوری قدیمی تر استفاده می نمایند .
قطعات سیستم کهنه :
1- سخت افزار سیستم
2- نرم افزار پشتیبان .
3- نرم افزارهای کاربردی .
4- داده های کاربردی .
5- فرایند تجاری .
6- قوانین و سیاستهای تجاری .
مدل لایه ای سیستم های قدیمی
فرایند های تجاری
نرم افزار کاربردی
نرم افزار پشتیبان
سخت افزار
گردآورنده: طه - Borna66