Presentation is loading. Please wait.

Presentation is loading. Please wait.

مقدمه فصل 1 درس مهندسي نرم‌افزار 2 دكتر احمد عبداله زاده بارفروش

Similar presentations


Presentation on theme: "مقدمه فصل 1 درس مهندسي نرم‌افزار 2 دكتر احمد عبداله زاده بارفروش"— Presentation transcript:

1 مقدمه فصل 1 درس مهندسي نرم‌افزار 2 دكتر احمد عبداله زاده بارفروش
تهيه كننده : پويا جافريان Artificial Intelligent Systems Laboratory

2 Artificial Intelligent Systems Laboratory
نرم افزار چيست ؟ برنامه کامپيوتري و مستندات مرتبط با آن مانند نيازمندي ها، مدل هاي طراحي و راهنماي کاربر محصولات نرم افزار ممکن است براي يک مشتري خاص و يا براي بازار عمومي توليد شوند. محصولات نرم افزار ممکن است : کلي باشند – توسعه آنها به منظور فروش به طيف وسيعي از مشتريان باشد. به عنوان مثال نرم افزارهايي مثل Word و يا Excel خاص باشند – براي يک مشتري خاص و با توجه به نيازهاي خاص مشتري توسعه داده شده باشند. هر نرم افزار جديد مي تواند با توليد کامل يک برنامه جديد، پيکربندي يک نرم افزار عمومي و يا استفاده مجدد از يک نرم افزار موجود به وجود آيد. Artificial Intelligent Systems Laboratory

3 Artificial Intelligent Systems Laboratory
نرم افزار چيست ؟ نرم افزار مجموعه اي از عناصر يا اشيا است که تشکيل يک پيکربندي شامل موارد زير مي دهند : برنامه ها مستندات داده ... Artificial Intelligent Systems Laboratory

4 Artificial Intelligent Systems Laboratory
نقش دوگانه نرم افزار نرم افزار يک محصول است توانايي پردازش را فراهم مي سازد. وظيفه توليد، مديريت، اکتساب، تغيير، نمايش و يا انتقال اطلاعات را بر عهده دارد. نرم افزار ابزاري براي تحويل يک محصول است. از کارکردهاي سيستم پشتيباني مي کند. نرم افزارهاي ديگر را کنترل مي کند. (مثل سيستم عامل) براي ايجاد ارتباط به کار مي رود. (مثل نرم افزارهاي شبکه) در ساخت نرم افزارهاي ديگر سودمند است. (مثل ابزارهاي نرم افزاري) Artificial Intelligent Systems Laboratory

5 Artificial Intelligent Systems Laboratory
نرم افزار چيست ؟ نرم افزار مهندسي مي شود. نرم افزار فرسوده نمي شود. نرم افزار پيچيده است. نرم افزار تفکيک کننده است. Artificial Intelligent Systems Laboratory

6 نزول کيفيت در مقابل از بين رفتن
منحني ايده آل تغيير منحني اصلي نرخ خرابي زمان افزايش نرخ خرابي به دليل تاثيرات جانبي Artificial Intelligent Systems Laboratory

7 Artificial Intelligent Systems Laboratory
انواع نرم افزار نرم افزارهاي سيستمي نرم افزارهاي کاربردي نرم افزارهاي علمي مهندسي نرم افزارهاي نهفته نرم افزارهاي خط توليد نرم افزارهاي وب نرم افزارهاي هوش مصنوعي Artificial Intelligent Systems Laboratory

8 نرم افزار – رده بندي جديد
نرم افزارهاي فراگير ( شبکه هاي بيسيم ) نرم افزارهاي Netsourcing ( وب به عنوان موتور محاسباتي ) نرم افزارهاي متن باز ( کد نرم افزار به طور باز در اختيار استفاده کنندگان قرار دارد. ) همچنين نرم افزارهاي : داده کاوي محاسبات توري ماشين هاي شناختي نرم افزارهايي براي نانوتکنولوژي Artificial Intelligent Systems Laboratory

9 نرم افزارهاي موروثي (Legacy)
چرا اين نرم افزارها بايد تغيير کنند ؟ نرم افزار بايد با نيازهاي جديد محيط پردازشي و تکنولوژي انطباق يابد. نرم افزار براي پياده سازي نيازهاي جديد کسب و کار بايد بهبود يابد. نرم افزار بايد براي امکان ايجاد ارتباط با ديگر سيستم هاي نرم افزار مدرن يا پايگاههاي داده گسترش يابد. نرم افزار بايد براي عملکرد مناسب در محيط شبکه معماري مجدد گردد. Artificial Intelligent Systems Laboratory

10 Artificial Intelligent Systems Laboratory
تکامل نرم افزار قانون تغيير مداوم (1974) : سيستم هاي الکترونيکي بايد به طور دائم در حال تغيير باشند. در غير اين صورت رضايت از آنها روز به روز کاهش مي يابد. قانون افزايش پيچيدگي (1974) : هرگاه سيستم هاي الکترونيکي تکامل يابند، پيچيدگي آنها افزايش مي يابد مگر اينکه در جهت نگهداري يا کاهش اين پيچيدگي کاري انجام شود. قانون خود تطبيقي (1974) : فرايند تکامل سيستم هاي الکترونيکي در جهت حرکت به سمت توزيع نرمال محصول و فرايند خود تطبيق است. قانون ثبات سازماني (1980) : ميانگين فعاليت مفيد فراگير درتکامل يک نرم افزار در طول حيات محصول ثابت است. Artificial Intelligent Systems Laboratory

11 Artificial Intelligent Systems Laboratory
تکامل نرم افزار قانون ثبات آشنايي (1980) : در حين تکامل يک سيستم الکترونيکي، تمام افرادي که با آن به نوعي در ارتباط هستند، به عنوان مثال توسعه دهندگان، پرسنل فروش، کاربران و ... بايد براي دستيابي به تکامل مورد انتظار بر محتوا و رفتار آن تسلط داشته باشند. قانون رشد مداوم (1980) : محتواي کارکردي يک سيستم الکترونيکي بايد به طور مداوم در حال افزايش باشد تا رضايت کاربران را فراهم نمايد. قانون کاهش کيفيت (1996) : کيفيت يک سيستم الکترونيکي کاهش خواهد يافت در صورتي که به طور مداوم نگهداري و با تغييرات محيط عملياتي انطباق داده شود. قانون سيستم بازخورد (1996) : فرايند تکامل يک سيستم الکترونيکي بايد شامل يک سيستم بازخورد چند سطحي، چند عامله و چند حلقه اي بوده و بايد با آن طوري برخود شود که بهبود در نرم افزار ايجاد شود. Artificial Intelligent Systems Laboratory

12 مهندسي نرم افزار به عنوان يک تکنولوژي لايه اي
ابزار روش مدل فرايند کيفيت Artificial Intelligent Systems Laboratory

13 Artificial Intelligent Systems Laboratory
تعريف متدولوژي يک متدولوژي مجموعه اي از روش ها و توصيه ها و قالب ها مي باشد که به همراه راهبرد مشخص و طي مراحل مختلف در توسعه سيستم به کار گرفته مي شود. يک متدلوژي داراي ابزار تعريف شده و مدل مفهومي مي باشد و از يک گرامر مشخص استفاده مي کند. براي مثال مدل شيء گرا و يا مدل ساختيافته در توسعه نرم افزار دو متدلوژي توسعه نرم افزار هستند. Artificial Intelligent Systems Laboratory

14 Artificial Intelligent Systems Laboratory
متدولوژي متدولوژي ، مجموعه اي از روش ها ، فنون و ابزارهاي تحليل و طراحي سيستم است که در چارچوب يک انگاره مدل سازي مبتني بر يک الگوي مفهومي براي سازماندهي روند توسعه سيستم ها به روشي نظام مند به کار بسته مي شود. Artificial Intelligent Systems Laboratory

15 Artificial Intelligent Systems Laboratory
مسائل مطرح در متدولوژي متدولوژي بايست پاسخگوي موارد ذيل باشد : چگونه پروژه بايست به مراحل فرعي تجزيه شود؟ در هر مرحله چه اقداماتي بايد صورت گيرد؟ چه خروجي هايي بايد توليد شود؟ در چه زماني و تحت چه شرايطي بايد اين وظايف انجام شوند؟ چه محدوديت هايي بايد اعمال شود؟ Artificial Intelligent Systems Laboratory

16 Artificial Intelligent Systems Laboratory
اجزاي يک متدلوژي ابزار، فنون و روش ها مدلسازي الگوي مفهومي Artificial Intelligent Systems Laboratory

17 Artificial Intelligent Systems Laboratory
مدل فرآيند فرآيند مهندسي نرم افزار مجموعه اي از قدم هاي قابل پيش بيني براي توسعه نرم افزار را مشخص مي کند مدل فرآيند نرم افزار ، قدم ها و استراتژي توسعه نرم افزار فرآيند و روش مي باشد. براي مثال مدل آبشاري و مدل حلزوني دو مدل فرآيند توسعه نرم افزار مي باشند. Artificial Intelligent Systems Laboratory

18 Artificial Intelligent Systems Laboratory
فرايند حل مسئله Artificial Intelligent Systems Laboratory

19 Artificial Intelligent Systems Laboratory
یک چارچوب فرایند چارچوب فرایند فعالیت های چارچوب فعالیت های کاری محصولات کاری مایل استون ها و موارد قابل تحویل نقاط تضمین کیفیت فعالیت های چتری Artificial Intelligent Systems Laboratory

20 فرایند نرم افزار شامل مجموعه اي از فعالیت ها با چارچوب مشخص مي باشد.
فرایند نرم افزار شامل مجموعه اي از فعالیت ها با چارچوب مشخص مي باشد. فعالیت های چارچوب (Framework Activities) ارتباطات (Communication) طرح ریزی (Planning) مدل سازی (Modeling) آنالیز نیازها (Analysis of requirements) طراحی (Design) ساخت (Construction) تولید کد (Code Generation) تست (Testing) استقرار (Deployment) Artificial Intelligent Systems Laboratory

21 فعاليت هاي هميشگي (Umbrella Activities)
مديريت پروژه بازنگري فني و رسمي FTR) (Formal Technical Review , تضمين کيفيت (Software Quality Assurance) مديريت پيکره بندي سيستم (Software Configuration Management) آماده سازي و توليد خروجي ملموس (Work Product Preparation and Production) مديريت استفاده مجدد (Reusability Management) اندازه گيري (Measurement) مديريت ريسک (Risk Management) Artificial Intelligent Systems Laboratory

22 مدل فرایند : قابلیت انطباق
فعالیت های چارچوب همواره و روی همه پروژه ها باید انجام شوند اما ... ولی درجه به کارگیری آنها با توجه به موارد زیر می تواند متفاوت باشد : نوع پروژه ویژگی های پروژه میزان هماهنگی بین اعضای تیم پروژه و وضعیت تیم بنابراین : وابسته به مشخصات پروژه ، نوع آن و تحليلي که مي شود و ... فعاليت هاي چارچوب تغيير مي کند. Artificial Intelligent Systems Laboratory

23 روند ها و جريان هاي حاکم بر حيطه مهندسي نرم افزار
اوائل دهه 70 ميلادي برنامه نويسي ساختيافته کد نويسي ساختيافته برنامه نويسي Top-Down پنهان سازي اطلاعات انتزاع داده ها تفکيک مرحله اي ميانه دهه 70 ميلادي متدولوژي هاي طراحي طراحي ساختيا روش طراحي JSP روش طراحي وارنير -اور Artificial Intelligent Systems Laboratory

24 Artificial Intelligent Systems Laboratory
تاريخچه (ادامه) اواخر دهه 70 ميلادي متدولوژي هاي تحليل تحليل ساختيافته تحليل ساختاريافته SADT دهه 80 ميلادي تکنيک هاي خودکار، و طراحي و برنامه نويسي شيءگرا PSA/PSL توليد خودکار کد ابزراهاي مستقل مهندسي نرم افزار Smalltalk , Ada ,Modula-2 دهه 90 ميلادي مهندسي نرم افزار به کمک کامپيوتر (CASE) ابزارهاي محاوره اي براي تحليلگران محيط هاي توليد واسط کاربر روش هاي شيء گرا محيط هاي مجتمع مهندسي نرم افزار ابزارهاي توسعه سيستم به روش ديداري Artificial Intelligent Systems Laboratory

25 مراحل توليد سيستم هاي کلاسيک
مرحله فعاليت ها مستندات توليد شده تحليل نيازها ارزيابي درخواست کاربر هدايت مطالعات امکان سنجي تعريف خواسته هاي کاربر تهيه طرح کلي پروژه درخواست کاربر پيشنهاد پروژه و برآورد هزينه نتايج مطالعات امکان سنجي / تحليل خواسته هاي کاربر طرح کلي پروژه طراحي منطقي تهيه طراحي عمومي پالايش خواسته هاي کاربر توصيف کارکردي سند خواسته هاي اطلاعاتي Artificial Intelligent Systems Laboratory

26 مراحل توليد سيستم هاي کلاسيک( ادامه)
مرحله فعاليت ها مستندات توليد شده طراحي فيزيکي تهيه طراحي تفضيلي تعريف زير سيستم ها طراحي ساختار پايگاه داده تعيين مشخصات سيستم و زير سيستم ها تعيين مشخصات پايگاه داده ها تعيين مشخصات برنامه طراحي برنامه کد کردن برنامه ها آزمون واحدهاي برنامه اي مستند سازي برنامه ها مستندات برنامه ها Artificial Intelligent Systems Laboratory

27 مراحل توليد سيستم هاي کلاسيک( ادامه)
مرحله فعاليت ها مستندات توليد شده پياده سازي سيستم اجراي آزمون زير سيستم ها اجراي آزمون سيستم آموزش کاربران استقرار کنترل هاي تبديل اجراي تبديل داده ها طرح آزمون گزارش تحليل آزمون راهنماي کاربران اجراي سيستم اجراي سيستم واقعي نگهداري سيستم جديد ارزيابي سيستم راهنماي اجرا راهنماي نگهداري گزارش ارزيابي Artificial Intelligent Systems Laboratory

28 مراحل توليد سيستم هاي ساخت يافته
مرحله فعاليت ها مستندات توليد شده تحليل نيازها ارزيابي درخواست کاربر هدايت مطالعات امکان سنجي تعريف خواسته هاي کاربر تهيه طرح کلي پروژه درخواست کاربر پيشنهاد پروژه و برآورد هزينه نتايج مطالعات امکان سنجي / تحليل خواسته هاي کاربر طرح کلي پروژه طراحي منطقي (تحليل) تبديل خواسته هاي کاربر پالايش ساختار منطقي سيستم تعيين طراحي منطقي ساختيافته Artificial Intelligent Systems Laboratory

29 مراحل توليد سيستم هاي ساخت يافته( ادامه)
مرحله فعاليت ها مستندات توليد شده طراحي فيزيکي ساختيافته تشخيص سسله مراتب مدولها تعيين واسط هاي بين مدولها نهايي کردن اطلاعات پيکره بندي تجهيزات تهيه آزمون طرح تعيين طراحي فيزيکي ساخت يافته طرح آزمون تعيين مشخصات برنامه پياده سازي بالا به پايين کد کردن مدول ها يکپارچه سازي مدول ها مستند سازي برنامه ها مستندات يکپارچه نرم افزار Artificial Intelligent Systems Laboratory

30 مراحل توليد سيستم هاي ساخت يافته( ادامه)
مرحله فعاليت ها مستندات توليد شده آزمون پذيرش تعريف سيستم قابل پذيرش توليد موارد آزمون پذيرش مشخصات پذيرش گزارش آزمون موارد تضمين کيفيت اجراي نهايي آزمون سيستم ها آموزش کاربران استقرار کنترل ها ي تبديل اجراي تبديل داده ها گزارش آزمون پذيرش راهنماي کاربران اجراي سيستم اجراي سيستم واقعي نگهداري سيستم جديد ارزيابي سيستم راهنماي اجرا راهنماي نگهداري گزارش ارزيابي Artificial Intelligent Systems Laboratory

31 Lifecycle توليد سنتي سيستم
مرحله پرسش هاي اصلي نتيجه بررسي اوليه مسئله چيست؟ تبين هدف ها تعيين شاخص هاي عملکرد مطالعه امکان سنجي واقعيت ها چيست؟ خواسته هاي کاربر کدام است؟ تجزيه و تحليل هزينه-منفعت تبيين هدف هاي جديد طراحي مفهومي (طراحي خام) براي حل مسئله چه بايد کرد؟ يافتن گزينه هاي جديد تصويب يکي از گزينه ها طراحي تفضيلي مسئله چگونه بايد حل شود؟ طراحي سيستم هاي نمونه تنظيم برنامه آزمايش استقرار عمليات واقعي چيست؟ آيا دستورالعمل کاربر آماده است؟ مستند سازي مناسب براي ارائه به کاربر تدوين برنامه کارآموزي نگهداري آيا سيستم بايد اصلاح شود يا بهبود يابد؟ پاسخ به خواسته هاي کاربر تامين رضايت کاربر Artificial Intelligent Systems Laboratory

32 Artificial Intelligent Systems Laboratory
معايب روش هاي کلاسيک پروژه گرايي و نبود برنامه کلي در سطح سازمان در دراز مدت ، سيستم ها ناهماهنگ و مجزا از يکديگر خواهند بود! طولاني بودن زمان تحويل درگيري اندک کاربر پرخطا بودن سيستم ها انعطاف ناپذير بودن سيستم ها Artificial Intelligent Systems Laboratory

33 Life cycle طراحي و تحليل سيستم ها با رويکرد ديمارکو
نيازمندي هاي کاربران طراحي اوليه ساختيافته سيستم مشخصات کارکردي مشخصات سيستمي طراحي تفضيلي تجزيه و تحليل بررسي کردن پياده سازي از بالا به پايين مشخصات نيازمندي ها طرح آزمون سند امکان سنجي مشخصات نهايي مشخصات برنامه براي فاز پياده سازي نيازمندي هاي فيزيکي بودجه و زمانبندي مطالعه سخت افزاري سفارش سخت افزار Artificial Intelligent Systems Laboratory

34 انواع سيستم هاي اطلاعاتي
سيستم هاي مبتني بر تبديل با ساختار دروني معطوف به تبديل ورودي به خروجي مانند سيستم هاي اطلاعاتي مديريتي سيستم هاي مبتني بر تراکنش با کارکرد مبتني بر تشخيص و تفکيک تراکنش هاي مختلف مانند سيستم هاي بانکداري Artificial Intelligent Systems Laboratory

35 انواع سيستم هاي اطلاعاتي ( مقايسه)
سيستم هاي مبتني بر تبديل سيستم هاب مبتني بر تراکنش دريافت ورودي اعتبار سنجي ورودي تبديل ورودي به خروجي قالب بندي خروجي نمايش خروجي تراکنش 1 دريافت ورودي تشخيص نوع تراکنش تراکنش 2 قالب بندي خروجي نمايش خروجي تراکنش 3 Artificial Intelligent Systems Laboratory


Download ppt "مقدمه فصل 1 درس مهندسي نرم‌افزار 2 دكتر احمد عبداله زاده بارفروش"

Similar presentations


Ads by Google