بخشی از پاورپوینت
اسلاید 1 :
مهندسی نرم افزار Software Engineering
اسلاید 5 :
سرآغاز
مهندسی نرمافزار طراحی، برنامهنویسی، توسعه، مستندسازی و نگهداری نرم افزار با بکارگرفتن روشهای فنی و عملی از علوم کامپیوتر، مدیریت پروژه، مهندسی، محدوده کاربرد، طراحی رابط، مدیریت تجهیزات دیجیتال و سایر زمینهها است.
اصطلاح مهندسی نرمافزار بعد از سال ۱۹۶۸ شناخته شد، طی کنفرانس مهندسی نرمافزار ناتو ۱۹۶۸ (که در گارمیش آلمان برگزار شد) توسط ریاست کنفرانس F.L. Bauer معرفی شد، و از آن پس به طور گسترده مورد استفاده قرار گرفت.
اسلاید 6 :
سرفصل مطالب
تعريف سيستم
تعریف نرمافزار، چرخه حیات سیستم
مفاهیم تحلیل و طراحی سیستمها
سیستمهای اطلاعاتی ساختیافته
امكان سنجي
نمودارهاي جريان داده
توصيف دادهها
توصيف فرآيندها
معرفی ابزار: Power Designer
مدیریت پروژه، برنامهریزی و زمانبندی
اسلاید 7 :
تعریف نرمافزار
دستورات (برنامههای کامپیوتری) که در صورت اجرا شدن باعث انجام عمل و كارهاي خواسته شده ميشوند،
ساختمان دادههایی که باعث ميشوند برنامهها به طور مناسبي اطلاعات را دستكاري کنند، و
مستنداتی که توصيف كننده عملكرد و چگونگی استفاده از برنامهها میباشند.
نرم افزار عبارت است از:
اسلاید 8 :
نمودار نرخ شکست نرم افزار
امتحانی
اسلاید 9 :
نرمافزار سیستمی
نرمافزار بیدرنگ (Real time)
نرمافزار تجاری
نرمافزار مهندسی و علمی
نرمافزار جاسازي شده( Embedded)
نرمافزار کامپیوتر شخصی
نرمافزار وب
نرمافزار هوش مصنوعی
مجموعهاي از برنامههايي است كه براي دادن سرويس به برنامههاي ديگر نوشته شدهاند.
نمايش تحليل و كنترل وقايع دنياي واقعي را در هنگام وقوع بر عهده دارند كه اجزاي آن عبارتند از 1- مولفه جمعآوري دادهها از محيط خارجي 2- مولفه تحليل 3- مولفه كنترل ورودي/خروجي 4-مولفه نمايش دهنده. (پاسخ بين 1 ميلي ثانيه تا 1 ثانيه)
پردازش اطلاعات تجاري با دسترسي به يك يا چند بانك اطلاعاتي بزرگ
داراي الگوريتمهاي كار با اعداد مانند CAD
در حافظه فقط خواندني قرار ميگيرد و براي كنترل محصولات و سيستمهاي صنعتي و مشتري استفاده ميشود (محصولات هوشمند/اتومبیل/تلفن همراه) کار محدود و مشخصي را انجام ميدهد
پردازش كلمه، صفحات گسترده، گرافيك كامپيوتري، چندرسانهاي، بازي
صفحات وب شامل دستورات اجرايي و دادهها كه توسط مرورگرها بازيابي ميشوند
از الگوريتمهاي غير عددي براي حل مسائل پيچيده استفاده مينمايند.
(سیستم خبره – تشخیص الگو)
طبقهبندی نرمافزارها :
اسلاید 10 :
شرايط نياز به سيستم
تغيير اهداف سازمان
تغيير وظايف سازمان
تغيير تكنولوژي (سختافزار، نرمافزار، ارتباطات)
تغييرات محيطي
اسلاید 11 :
نرمافزارهای موجود چرا باید تغییر کنند؟
باید با محیطهای محاسباتی و فنآوریهای جدید مطابقت داشته باشند
نیازمندیهای جدید سازمان را برآورده کنند
باید توسعه داده شوند تا قادر به همکاری با سیستمها و بانکهای اطلاعاتی جدید باشند
باید در معماری نرمافزار تجدید نظر شود تا در محیط شبکه قابلیت سرویسدهی را داشته باشد
اسلاید 12 :
چرخه زيست سيستم
يك دوره زماني از هنگام نياز به سيستم تا پايان بهرهبرداري از آن
چرخه زيست سيستم شامل
تعريف (برنامهريزي استراتژيك، تحليل و طراحي مفهومي)
توسعه (طراحي تفصيلي، ساخت، استقرار)
اجرا
نگهداري و بهبود ميباشد.
اسلاید 13 :
ضوابط ارزیابی نرمافزار :
هدف: تولید برنامه با کیفیت خوب
عوامل موثر در خوب بودن نرمافزار :
عوامل خارجی: توسط کاربر نرمافزار تشخیص داده میشود (اهداف)
عوامل داخلی: برای متخصصین کامپیوتر قابل درک است (ابزار رسیدن به اهداف)
عوامل خارجی :
صحت برنامه (Correctness)
استحکام (Robustness) : جوابگویی در شرایط غیرعادی
قابلیت توسعه (Extendibility)
قابلیت مصرف مجدد (Reusability)
سازگاری (Compatibility) : رعایت استاندارد
قابلیت حمل (Portability): اجرا در سیستمعامل و سختافزارهای گوناگون
کارآیی (Efficiency): سرعت بالا و حافظه پایین
عوامل داخلی : واحدبندی
اسلاید 14 :
بحران نرمافزاری :
پیچیدگی و قدرت سختافزار باعث شده که نوشتن نرمافزاری که بتواند از این پتانسیل سختافزاری استفاده کامل کند مشکل گردد.
توان ما برای ایجاد برنامههای جدید به اندازه تقاضا نیست
توان نگهداری برنامههای موجود به خاطر طراحی ضعیف مورد تهدید قرار میگیرد.
برنامههای تولید شده مشکلاتی دارند .
هزینه تولید نرم افزار دائماً افزایش مییابد.
هزینهها مطابق هزینه پیشبینی شده نیستند.
عملیات مطابق برنامه زمانبندی انجام نمیگیرند
نرمافزار تولید شده همه کارهای مورد نظر را انجام نمیدهد
نرمافزار دارای خطاست
اسلاید 15 :
مدلهای گوناگون در فرآیند تولید نرمافزار :
برای بر طرف کردن بحران نرمافزار سه عامل کلیدی برای کنترل فرایند تولید نرمافزار و ایجاد یک پایه و اساس برای ساختن یک نرمافزار با کیفیت بالا عبارتند از
روشهای مهندسی نرمافزار (methods)
ابزار مهندسی نرمافزار (tools)
رویههای مهندسی نرمافزار: ابزار و روشها را به هم پیوند میزنند، ترکیب به کاربردن روشها/ کنترل کیفیت/ پیشرفت پروژه
مهندسی نرمافزار شامل قدمهایی است که از این روشها ابزار و رویهها تشکیل شده است.
مهندسی نرمافزار یک نظام مهندسی است که با تمام جنبههای نرمافزاری محصول از مراحل اولیه تعیین مشخصات تا نگهداری سیستم سر و کار دارد.
اسلاید 16 :
مدلهای موجود در فرآیند تولید نرمافزار
متدلوژی :
به مجموعهای از قواعد و رویهها که به چرخه زیست سیستم ساختار میدهد متدلوژی میگویند.
فرایند مهندسی نرمافزار، مجموعهای از قدمهای قابل پیشبینی برای توسعه نرمافزار را مشخص میکند.
اسلاید 17 :
1- مدل آبشاری
امتحانی
اسلاید 18 :
1- مدل آبشاری
مهندسی سیستم:
از آنجاییکه نرمافزار همیشه قسمتی از یک سیستم بزرگتر است، کار از مشخص کردن نیازمندیهای کل سیستم آغاز میشود و سپس زیرمجموعهای از این نیازمندیها را به نرمافزار نسبت میدهیم.
به خاطر اینکه نرمافزار مجبور به داشتن ارتباط با مولفههای دیگر سیستم از قبیل سختافزار، مردم و گاه پایگاه دادههاست، داشتن این دیدگاه از سیستم، یک امر اساسی است.
اسلاید 19 :
1- مدل آبشاری
جمعآوری نیازمندیهای مشخصاً مربوط به نرمافزار برای فهمیدن چگونگی برنامههایی که باید ساخته شوند. مهندس نرمافزار (تحلیلگر) بایستی
- دامنه اطلاعات
- عملیات مورد نظر (ورودیها- خروجیها و پردازشها)
- واسطها
را بداند. نیازمندیهای سیستم و نرمافزار مستندسازی شده و با مشتری بازنگری میشود.
اسلاید 20 :
1- مدل آبشاری
طراحی نرمافزار یک فرایند چند مرحلهای است که روی سه مشخصه متفاوت از برنامه تاکید دارد:
- ساختمان دادهها
- معماری نرمافزار
- جزئیات رویهها
در فرایند طراحی نیازمندیها تبدیل به نمایشی از نرمافزار میشوند تا قبل از به کد درآوردن، قابل ارزیابی باشند. طراحی نیز بایستی مانند نیازمندیها مستندسازی گردد.