1 / 241

بخش اول

مهندسی نرم افزار 1 تعداد واحد: 3 واحد منبع : مهندسی نرم افزار تهیه کننده : جعفر پورامینی مولف: سامرویل. بخش اول. مرور کلی. فصل 1. مهندسی نرم افزار. هایی راجع به مهندسی نرم افزار:. FAQ. نرم افزار چیست ؟.

faolan
Download Presentation

بخش اول

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. مهندسی نرم افزار 1تعداد واحد: 3 واحدمنبع : مهندسی نرم افزار تهیه کننده : جعفر پورامینی مولف: سامرویل

  2. بخش اول مرور کلی

  3. فصل1 مهندسی نرم افزار

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

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

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

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

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

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

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

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

  12. مدل آبشاری توزیع هزینه فعالیت نرم افزار 0 25 50 75 100 تعیین مشخصات طراحی توسعه جامعیت وتست توسعه تکراری 0 25 50 75 100 تست سیستم تعیین مشخصات توسعه تکراری

  13. مهندسی نرم افزار مبتنی بر قطعه توزیع هزینه فعالیت نرم افزار 0 25 50 75 100 تعیین مشخصات توسعه جامعیت وتست هزینه های توسعه و تکامل دراز مدت 0 100 200 300 400 تکامل سیستم توسعه سیستم

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

  15. صفات نرم افزار خوب کدامند ؟ 1- قابلیت نگهداری 2- قابلیت اتکا 3- کار آمدی 4- قابلیت استفاده

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

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

  18. سیستم :یک مجموعه هدفمند از قطعات مرتبط به هم است که با هم کار می کنند تا هدفی را بر آورده نمایند . سیستم هایی که شامل نرم افزار هستند : 1- سیستم های کامپیوتری تکنیکی . 2- سیستم های اجتماعی- تکنیکی .

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

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

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

  22. عوامل موثردرقابلیت اعتماد سیستم : 1- قابلیت اعتماد سخت افزار . 2- قابلیت اعتماد نرم افزار . 3- قابلیت اعتماد اپراتور .

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

  24. فرایند مهندسی سیستم : تعریف خواسته ها تجزیه سیستم طراحی سیستم تکامل سیستم توسعه زیرسیستم نصب سیستم جامعیت سیستم

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

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

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

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

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

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

  31. سازمان ها ، افراد و سیستم های کامپیوتری عوامل سازمانی و انسانی در محیط سیستم که طراحی سیستم را تحت تاثیر قرار دهند : 1- تغییرات فرایند. 2- تغییرات شغل. 3-تغییرات سازمانی .

  32. فرایند تهیه سیستم : تعدیل خواسته ها انتخاب سیستم درخواست ارائه قیمت انتخاب عرضه کننده بررسی بازار برای سیستم های موجود پیشنهاد مناقصه انتخاب مناقصه مذاکره برای قرار داد عقد قرار داد

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

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

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

  36. مدل لایه ای سیستم های قدیمی

  37. فصل3 سیستم های حیاتی

  38. سیستم های حیاتی : سیستم هایی هستند که شکست می تواند منجر به ضررهای اقتصادی ، خرابی فیزیکی یا آسیب رسانی به انسان می شود . سه نوع سیستم حیاتی وجود دارد : 1- سیستم های حیاتی امنیتی . 2- سیستم های حیاتی مأموریتی . 3- سیستم های حیاتی تجاری .

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

  40. قطعاتی از سیستم حیاتی که ممکن است دچار مشکل شود : 1- سخت افزار سیستم . 2- نرم افزار سیستم . 3- اپراتورهای انسانی .

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

  42. منحنی هزینه/ قابلیت اتکا هزینه فوق العاده زیاد کم متوسط زیاد بسیار زیاد

  43. ویژگی های دیگری که در قابلیت اتکا می توان در نظر گرفت : 1- قابلیت ترمیم . 2- قابلیت نگهداری . 3- قابلیت بقا . 4- تحمل عیب .

  44. ابعاد قابلیت اتکا قابلیت اتکا قابلیت دسترسی قابلیت اعتماد امنیت حفاظت توانایی سیستم در ارائه سرویس های درخواستی توانایی سیستم در ارائه سرویسهای مشخص شده توانایی سیستم به ادامه کار بدون خرابی توانایی سیستم در حفاظت خودش در مقابل نفوذ عمدی یا تصادفی

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

  46. اصطلاحات قابلیت اتکا : 1- خرابی سیستم . 2- خطای سیستم . 3- عیب سیستم . 4- خطا یا اشتباه انسان .

  47. سه روش مکمل برای بهبود قابلیت اعتماد : 1- اجتناب از خرابی . 2- کشف وحذف عیب . 3- تحمل عیب .

  48. امنیت : سیستم های امنیتی حیاتی آنهایی هستند که عملیات سیستم همواره امن باشد . یعنی حتی اگر سیستم خراب شود نباید به افراد و محیط آسیب برساند. نرم افزار امنیتی حیاتی دو دسته اند : 1- نرم افزار های حیاتی امنیتی اولیه . 2- نرم افزار های حیاتی امنیتی ثانویه .

  49. به دلایل زیر سیستم قابل اعتماد الزاماًامن نیست : 1- مشخصات ممکن است کامل نباشد . 2- بد عمل کردن سخت افزار ممکن است باعث شود که رفتار سیستم قابل پیش بینی نباشد و نرم افزار را در محیطی پیش بینی نشده ارائه دهد. 3- اپراتور سیستم ممکن است ورودیی را تولید کند که به تنهایی نادرست نباشد اما در وضعیت خاصی منجر به عملکرد بد سیستم شود.

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

More Related