مقدمه ای بر مهندسی نرم افزار
بسمه تعالی
تهیه کننده: رضا محمددوست
در این مقاله به مقدماتی در زمینه مهندسی نرم افزار پرداخته شده است که موارد مطرح شده بصورت خلاصه
ارائه می گردد
نرم افزار چیست ؟
نرم افزار شامل برنامه های کامپیوتری همراه است با مستندات و داده های پیکربندی است که برای درست کارکردن برنامه ضروری است .
دو نوع محصول نرم افزاری :
۱- محصولات کلی
۲- محصولات سفارشی
مهندسی نرم افزار چیست؟
یک نظام مهندسی است که با جنبه های نرم افزاری محصول ، از مراحل اولیه تعیین مشخصات سیستم تا نگهداری سیستم ، سروکار دارد .
شامل مراحل زیر است :
۱- نظام مهندسی .
۲- تمام جنبه های محصول نرم افزاری
تفاوت مهندسی نرم افزار و علم کامپیوتر چیست ؟
علم کامپیوتر با تئوری و اصول سروکار دارد . مهندسی نرم افزار با فعالیت های توسعه و تحویل نرم افزار سروکاردارد .
تفاوت مهندسی نرم افزار و مهندسی سیستم چیست ؟
مهندسی سیستم با تمام جنبه های توسعه سیستم های مبتنی بر کامپیوتر از جمله سخت افزار ، نرم افزار و مهندسی فرایند سروکار دارد . مهندسی نرم افزار بخشی از این فرایند است .
فرایند نرم افزار چیست ؟
مجموعه ای از فعالیت ها است که هدف آن ها توسعه یا تکامل نرم افزار است.
شامل فعالیت های اساسی زیر است :
۱- تعیین مشخصات نرم افزار
۲- توسعه نرم افزار
۳- اعتبار سنجی نرم افزار
۴- تکامل نرم افزار
مدل فرایند نرم افزار چیست ؟
نمایش ساده ای از فرایند نرم افزار است که از جنبه خاصی ارائه شده است .
نمونه هایی از انواع مدل فرایند نرم افزار :
۱- مدل جریان کار .
۲- مدل جریان داده یا فعالیت .
۳- مدل نقش/ فعالیت .
مدل های مختلفی که برای توسعه نرم افزار وجود دارد :
۱- رهیافت آبشاری .
۲- توسعه تکاملی .
۳- تبدیل رسمی .
۴- مونتاژ سیستم با قطعات قابل استفاده مجدد .
۵- روشهای نوین همچون AGILE
روش های مهندسی نرم افزار کدامند ؟
رهیافت های ساخت یافته توسعه نرم افزار که حاوی مدل های سیستم ، نشانه گذاری ها ، قواعد ، توصیه طراحی و راهنمای فرایند است .
این روش ها باید تعدادی قطعات را در اختیار داشته باشند :
۱- توصیف های مدل سیستم
۲- قوانین
۳- پیشنهادات
۴- راهنمای فرایند
فرایند مهندسی سیستم
تعریف خواسته ها
طراحی سیستم
توسعه زیرسیستم
جامعیت سیستم
نصب سیستم
تکامل سیستم
تجزیه سیستم
انواع مختلف مدل سیستم
۱- مدل جریان داده .
۲- مدل ترکیبی .
۳- مدل معماری .
۴- مدل دسته بندی .
۵- مدل محرک/ پاسخ .
طراحی معماری
فرایند اولیه طراحی جهت شناسایی زیر سیستم ها و ایجاد چارچوبی برای کنترل و ارتباطات زیر سیستم، می باشد .
سه امتیاز طراحی و مستند سازی معماری نرم افزار :
۱- ارتباط با واگذارندگان .
۲- تحلیل سیستم .
۳- استفاده مجدد در مقیاس بالا .
ادامه دارد
مهندس رضا محمددوست
کارشناس ارشد فناوری اطلاعات








