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

بخش اول

  • Upload
    faolan

  • View
    44

  • Download
    1

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: بخش اول

11مهندسی نرم افزار مهندسی نرم افزار

واحد واحد33تعداد واحد: تعداد واحد: منبع : مهندسی نرم افزار منبع : مهندسی نرم افزار

تهیه کننده : جعفر پورامینی تهیه کننده : جعفر پورامینی مولف: سامرویلمولف: سامرویل

Page 2: بخش اول

بخش اولبخش اول

مرور کلیمرور کلی

Page 3: بخش اول

11فصلفصل

مهندسی نرم افزارمهندسی نرم افزار

Page 4: بخش اول

هاییهایی راجع به مهندسی نرم راجع به مهندسی نرم

: :افزارافزار

FAQ

Page 5: بخش اول

نرم افزار چیست ؟نرم افزار چیست ؟نرم افزار شامل برنامه های کامپیوتری نرم افزار شامل برنامه های کامپیوتری همراه است با مستندات و داده های همراه است با مستندات و داده های

پیکربندی است که برای درست کارکردن پیکربندی است که برای درست کارکردن . . برنامه ضروری استبرنامه ضروری است

:: دو نوع محصول نرم افزاریدو نوع محصول نرم افزاری

محصوالت کلیمحصوالت کلی -1 -1

محصوالت سفارشیمحصوالت سفارشی -2 -2

Page 6: بخش اول

مهندسی نرم افزار مهندسی نرم افزار چیست؟چیست؟

یک نظام مهندسی است که با جنبه های یک نظام مهندسی است که با جنبه های نرم افزاری محصول ، از مراحل اولیه نرم افزاری محصول ، از مراحل اولیه تعیین مشخصات سیستم تا نگهداری تعیین مشخصات سیستم تا نگهداری

.. سیستم ، سروکار داردسیستم ، سروکار دارد

:: شامل مراحل زیر استشامل مراحل زیر است .. نظام مهندسینظام مهندسی -1 -1

تمام جنبه های محصول نرم تمام جنبه های محصول نرم -2 -2 .. افزاریافزاری

Page 7: بخش اول

تفاوت مهندسی نرم افزار و علم تفاوت مهندسی نرم افزار و علم کامپیوتر چیست ؟کامپیوتر چیست ؟

علم کامپیوتر با تئوری و اصول سروکار دارد . علم کامپیوتر با تئوری و اصول سروکار دارد . نرم افزار با فعالیت های توسعه و نرم افزار با فعالیت های توسعه و مهندسیمهندسی

.. تحویل نرم افزار سروکارداردتحویل نرم افزار سروکاردارد

تفاوت مهندسی نرم افزار و مهندسی تفاوت مهندسی نرم افزار و مهندسی سیستم چیست ؟سیستم چیست ؟

مهندسی سیستم با تمام جنبه های توسعه مهندسی سیستم با تمام جنبه های توسعه سیستم های مبتنی بر کامپیوتر از جمله سخت سیستم های مبتنی بر کامپیوتر از جمله سخت افزار ، نرم افزار و مهندسی فرایند سروکار افزار ، نرم افزار و مهندسی فرایند سروکار

دارد . مهندسی نرم افزار بخشی از این دارد . مهندسی نرم افزار بخشی از این .. فرایند استفرایند است

Page 8: بخش اول

فرایند نرم افزار چیست ؟فرایند نرم افزار چیست ؟مجموعه ای از فعالیت ها است که هدف مجموعه ای از فعالیت ها است که هدف

..آن ها توسعه یا تکامل نرم افزار استآن ها توسعه یا تکامل نرم افزار است

شامل فعالیت های اساسی زیر شامل فعالیت های اساسی زیر :: استاست

تعیین مشخصات نرم افزارتعیین مشخصات نرم افزار -1 -1

توسعه نرم افزارتوسعه نرم افزار -2-2

اعتبار سنجی نرم افزاراعتبار سنجی نرم افزار -3 -3

تکامل نرم افزارتکامل نرم افزار -4 -4

Page 9: بخش اول

مدل فرایند نرم افزار چیست ؟مدل فرایند نرم افزار چیست ؟نمایش ساده ای از فرایند نرم افزار است که نمایش ساده ای از فرایند نرم افزار است که

.. از جنبه خاصی ارائه شده استاز جنبه خاصی ارائه شده است

نمونه هایی از انواع مدل فرایند نمونه هایی از انواع مدل فرایند : : نرم افزارنرم افزار

.. مدل جریان کارمدل جریان کار -1-1

.. مدل جریان داده یا فعالیتمدل جریان داده یا فعالیت -2 -2

.. مدل نقش/ فعالیتمدل نقش/ فعالیت -3 -3

Page 10: بخش اول

مدل های مختلفی که برای توسعه مدل های مختلفی که برای توسعه :: نرم افزار وجود داردنرم افزار وجود دارد

.. رهیافت آبشاریرهیافت آبشاری -1-1

.. توسعه تکاملیتوسعه تکاملی -2 -2

.. تبدیل رسمیتبدیل رسمی -3 -3

مونتاژ سیستم با قطعات قابل مونتاژ سیستم با قطعات قابل -4 -4 .. استفاده مجدداستفاده مجدد

Page 11: بخش اول

هزینه های مهندسی نرم افزار هزینه های مهندسی نرم افزار کدامند ؟کدامند ؟

V V تقریبا درصد هزینه ها مربوط به درصد هزینه ها مربوط به 6060تقریبا درصد مربوط به تست درصد مربوط به تست 4040توسعه ، و توسعه ، و

.. استاست

کیس چیست ؟کیس چیست ؟ سیستم های نرم افزاری اند که از فعالیت سیستم های نرم افزاری اند که از فعالیت

های فرایند نرم افزار بطور خودکار پشتیبانی های فرایند نرم افزار بطور خودکار پشتیبانی .. می کنندمی کنند

Page 12: بخش اول

توزیع هزینه فعالیت نرم افزارتوزیع هزینه فعالیت نرم افزار

00 2525 5050 7575 100100

مدل آبشاریمدل آبشاری

00 2525 5050 7575 100100

توسعه تکراریتوسعه تکراری

تعیین مشخصاتتعیین مشخصات طراحیطراحیجامعیت وتستجامعیت وتست توسعتوسعهه

تعیین مشخصاتتعیین مشخصاتتوسعه تکراریتوسعه تکراری تست سیستمتست سیستم

Page 13: بخش اول

توزیع هزینه فعالیت نرم افزارتوزیع هزینه فعالیت نرم افزار

00 2525 5050 7575 100100

مهندسی نرم افزار مبتنی بر قطعهمهندسی نرم افزار مبتنی بر قطعه

00 100100 200200 300300 400400

هزینه های توسعه و تکامل دراز مدتهزینه های توسعه و تکامل دراز مدت

تعیین مشخصاتتعیین مشخصات توسعتوسعجامعیت وتستجامعیت وتستهه

توسعه سیستمتوسعه سیستم تکامل سیستمتکامل سیستم

Page 14: بخش اول

روش های مهندسی نرم افزار روش های مهندسی نرم افزار کدامند ؟کدامند ؟

رهیافت های ساخت یافته توسعه نرم رهیافت های ساخت یافته توسعه نرم افزار که حاوی مدل های سیستم ، نشانه افزار که حاوی مدل های سیستم ، نشانه

گذاری ها ، قواعد ، توصیه طراحی و گذاری ها ، قواعد ، توصیه طراحی و .. راهنمای فرایند استراهنمای فرایند است

این روش ها باید تعدادی قطعات را در این روش ها باید تعدادی قطعات را در :: اختیار داشته باشنداختیار داشته باشند

توصیف های مدل سیستمتوصیف های مدل سیستم -1 -1

قوانینقوانین -2 -2

پیشنهاداتپیشنهادات -3 -3

راهنمای فرایندراهنمای فرایند -4 -4

Page 15: بخش اول

صفات نرم افزار خوب صفات نرم افزار خوب کدامند ؟کدامند ؟

قابلیت نگهداریقابلیت نگهداری -1-1

قابلیت اتکاقابلیت اتکا -2 -2

کار آمدیکار آمدی -3 -3

قابلیت استفادهقابلیت استفاده -4 -4

Page 16: بخش اول

مسئولیت تخصصی و اخالقیمسئولیت تخصصی و اخالقی

..محرمانگیمحرمانگی -1-1

..صالحیتصالحیت -2 -2

. .حقوق معنویحقوق معنوی -3 -3

..سوء استفاده از کامپیوترسوء استفاده از کامپیوتر -4 -4

Page 17: بخش اول

22فصلفصل

سیستم های اجتماعی - سیستم های اجتماعی - تکنیکیتکنیکی

Page 18: بخش اول

سیستم :سیستم :یک مجموعه هدفمند از قطعات یک مجموعه هدفمند از قطعات

مرتبط به هم است که با هم کار می مرتبط به هم است که با هم کار می .. کنند تا هدفی را بر آورده نمایندکنند تا هدفی را بر آورده نمایند

سیستم هایی که شامل نرم سیستم هایی که شامل نرم :: افزار هستندافزار هستند

سیستم های کامپیوتری سیستم های کامپیوتری -1 -1 .. تکنیکیتکنیکی

سیستم های اجتماعی- سیستم های اجتماعی- -2 -2 .. تکنیکیتکنیکی

Page 19: بخش اول

ویژگی های اصلی سیستم ویژگی های اصلی سیستم

:: های اجتماعی- تکنیکیهای اجتماعی- تکنیکیویژگی های جدیدی که به ویژگی های ویژگی های جدیدی که به ویژگی های -1 -1

مربوط مربوط یک کل یک کل سیستم به عنوان سیستم به عنوان . . می شودمی شود

.. اغلب غیر قطعی انداغلب غیر قطعی اند -2-2

بسط سیستم برای پشتیبانی از بسط سیستم برای پشتیبانی از -3 -3اهداف سیستم فقط به خود اهداف سیستم فقط به خود

.. سیستم بستگی نداردسیستم بستگی ندارد

Page 20: بخش اول

ویژگی های جدید ویژگی های جدید :: سیستمسیستم

ویژگی های ویژگی های -1 -1 .. عملکردیعملکردی

ویژگی های غیر ویژگی های غیر -2 -2 .. عملکردیعملکردی

Page 21: بخش اول

مثال هایی از ویژگی های مثال هایی از ویژگی های : : جدیدجدید

.. حجمحجم -1 -1

.. قابلیت اعتمادقابلیت اعتماد -2 -2

..امنیتامنیت -3 -3

قابلیت ترمیم و قابلیت ترمیم و -4 -4 ..بکارگیریبکارگیری

Page 22: بخش اول

عوامل موثردرقابلیت عوامل موثردرقابلیت :: اعتماد سیستماعتماد سیستم

.. قابلیت اعتماد سخت افزارقابلیت اعتماد سخت افزار -1 -1

.. قابلیت اعتماد نرم افزارقابلیت اعتماد نرم افزار -2 -2

.. قابلیت اعتماد اپراتورقابلیت اعتماد اپراتور -3 -3

Page 23: بخش اول

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

تفاوت های بین فرایند مهندسی سیستم و تفاوت های بین فرایند مهندسی سیستم و ::فرایند توسعه نرم افزارفرایند توسعه نرم افزار

وجود حوزه محدود برای کار مجدد در وجود حوزه محدود برای کار مجدد در -1 -1 ..اثنای توسعه سیستماثنای توسعه سیستم

.. پیچیدگی نظام های داخلیپیچیدگی نظام های داخلی -2 -2

Page 24: بخش اول

تجزیه سیستم

تکامل سیستم

نصب سیستم

جامعیت سیستم

توسعه زیرسیستم

طراحی سیستم

تعریف خواسته ها

: فرایند مهندسی سیستم

Page 25: بخش اول

:: تعریف خواسته های سیستمتعریف خواسته های سیستم

این فعالیت، عملکرد و خواص اساسی و این فعالیت، عملکرد و خواص اساسی و .. مطلوب سیستم را مشخص می کندمطلوب سیستم را مشخص می کند

:: انواع خواسته هاانواع خواسته ها

خواسته های عملکردی خواسته های عملکردی -1 -1 .. انتزاعیانتزاعی

.. ویژگی های سیستمویژگی های سیستم -2 -2

خواصی که سیستم نباید خواصی که سیستم نباید -3-3 ..از خود نشان دهداز خود نشان دهد

Page 26: بخش اول

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

.. شودشود

:: فعالیت های موجود در این فرایندفعالیت های موجود در این فرایند .. تقسیم بندی خواسته هاتقسیم بندی خواسته ها -1 -1

.. شناسایی زیر سیستم هاشناسایی زیر سیستم ها -2 -2

انتساب خواسته ها به زیر انتساب خواسته ها به زیر -3 -3 .. سیستم هاسیستم ها

.. تعیین عملکرد زیر سیستم هاتعیین عملکرد زیر سیستم ها -4 -4

.. تعریف واسط های زیر سیستمتعریف واسط های زیر سیستم -5 -5

Page 27: بخش اول

تعریف واسط هایزیر سیستم

مشخص کردنعملکرد زیر سیستم

انتساب خواسته هابه زیر سیستم

تشخیصزیرسیستم

تقسیم بندی

خواسته ها

: فرایند طراحی سیستم

Page 28: بخش اول

:: مدل سازی سیستممدل سازی سیستمدر اثنای خواسته ها و طراحی سیستم ، در اثنای خواسته ها و طراحی سیستم ،

سیستم باید بصورت مجموعه ای از سیستم باید بصورت مجموعه ای از قطعات و روابط بین آنها مدل سازی قطعات و روابط بین آنها مدل سازی

.. شودشود

سیستم به چند زیر سیستم تجزیه می شود سیستم به چند زیر سیستم تجزیه می شود که هر زیر سیستم می تواند به زیر سیستم که هر زیر سیستم می تواند به زیر سیستم

های دیگری تجزیه شود تا قطعات های دیگری تجزیه شود تا قطعات .. عملکردی به دست آیندعملکردی به دست آیند

Page 29: بخش اول

:: توسعه زیر سیستمتوسعه زیر سیستمدر این فرایند ، زیر سیستم هایی که در در این فرایند ، زیر سیستم هایی که در اثنای طراحی سیستم شناسایی شدند ، اثنای طراحی سیستم شناسایی شدند ،

.. پیاده سازی می شوندپیاده سازی می شوند

:: جامعیت زیر سیستمجامعیت زیر سیستمزیر سیستم هایی که مستقل از هم زیر سیستم هایی که مستقل از هم

توسعه داده شدند، در کنار هم قرار می توسعه داده شدند، در کنار هم قرار می .. گیرند تا سیستم کامل ایجاد کنندگیرند تا سیستم کامل ایجاد کنند

Page 30: بخش اول

:: تکامل سیستمتکامل سیستم

سیستم های بزرگ ، در اثنای زندگی سیستم های بزرگ ، در اثنای زندگی شان، باید تکامل یابند تا خطاهای موجود شان، باید تکامل یابند تا خطاهای موجود در خواسته های اصلی سیستم را اصالح در خواسته های اصلی سیستم را اصالح

کنند و خواسته های جدید را برآورده کنند و خواسته های جدید را برآورده .. نمایندنمایند

:: تجزیه سیستمتجزیه سیستمسیستم پس از طول عمر مفید عملیاتی سیستم پس از طول عمر مفید عملیاتی

.. آن، کنار گذاشته می شودآن، کنار گذاشته می شود

Page 31: بخش اول

سازمان ها ، افراد و سیستم سازمان ها ، افراد و سیستم های کامپیوتریهای کامپیوتری

عوامل سازمانی و انسانی در محیط سیستم عوامل سازمانی و انسانی در محیط سیستم :: که طراحی سیستم را تحت تاثیر قرار دهندکه طراحی سیستم را تحت تاثیر قرار دهند

.. تغییرات فرایندتغییرات فرایند -1 -1

.. تغییرات شغلتغییرات شغل -2 -2

.. تغییرات سازمانیتغییرات سازمانی -3-3

Page 32: بخش اول

فرایند تهیه سیستمفرایند تهیه سیستم::

بررسی بازار برایبررسی بازار برایسیستم های موجودسیستم های موجود

پیشنهاد مناقصهپیشنهاد مناقصه انتخاب مناقصهانتخاب مناقصه مذاکره برای قرار دادمذاکره برای قرار داد عقد قرار دادعقد قرار داد

تعدیل خواسته هاتعدیل خواسته ها انتخاب عرضه کنندهانتخاب عرضه کنندهدرخواست ارائه قیمتدرخواست ارائه قیمتانتخاب سیستمانتخاب سیستم

Page 33: بخش اول

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

فرایند تهیه

فرایند توسعه

فرایند عملیاتی

Page 34: بخش اول

:: فرایند تهیهفرایند تهیهاین فرایند به تصمیم گیری در مورد بهترین این فرایند به تصمیم گیری در مورد بهترین روش دستیابی یک سازمان به سیستم و روش دستیابی یک سازمان به سیستم و

.. بهترین تهیه کننده سیستم مربوط می شودبهترین تهیه کننده سیستم مربوط می شود

:: فرایندهای عملیاتیفرایندهای عملیاتیفرایند هایی هستند که در بکارگیری از فرایند هایی هستند که در بکارگیری از سیستم برای رسیدن به اهدافش نقش سیستم برای رسیدن به اهدافش نقش

.. دارددارد

Page 35: بخش اول

:: سیستم های کهنهسیستم های کهنهسیستم های کامپیوتری اجتماعی – تکنیکی هستند سیستم های کامپیوتری اجتماعی – تکنیکی هستند V از فن آوری V از فن آوری که در گذشته ایجاد شدند و معموال که در گذشته ایجاد شدند و معموال

.. قدیمی تر استفاده می نمایندقدیمی تر استفاده می نمایند

:: قطعات سیستم کهنهقطعات سیستم کهنه سخت افزار سیستمسخت افزار سیستم -1-1

.. نرم افزار پشتیباننرم افزار پشتیبان -2-2

.. نرم افزارهای کاربردینرم افزارهای کاربردی -3-3

.. داده های کاربردیداده های کاربردی -4-4

.. فرایند تجاریفرایند تجاری -5-5

.. قوانین و سیاستهای تجاریقوانین و سیاستهای تجاری -6-6

Page 36: بخش اول

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

فرایند های تجاریفرایند های تجاری

نرم افزار کاربردینرم افزار کاربردی

نرم افزار پشتیباننرم افزار پشتیبان

سخت افزارسخت افزار

Page 37: بخش اول

33فصلفصل

سیستم های حیاتیسیستم های حیاتی

Page 38: بخش اول

:: سیستم های حیاتیسیستم های حیاتیسیستم هایی هستند که شکست می تواند منجر به سیستم هایی هستند که شکست می تواند منجر به

ضررهای اقتصادی ، خرابی فیزیکی یا آسیب ضررهای اقتصادی ، خرابی فیزیکی یا آسیب .. رسانی به انسان می شودرسانی به انسان می شود

:: سه نوع سیستم حیاتی وجود داردسه نوع سیستم حیاتی وجود دارد

.. سیستم های حیاتی امنیتیسیستم های حیاتی امنیتی -1-1

. . سیستم های حیاتی مأموریتیسیستم های حیاتی مأموریتی -2-2

.. سیستم های حیاتی تجاریسیستم های حیاتی تجاری -3-3

Page 39: بخش اول

مهم ترین ویژگی سیستم های مهم ترین ویژگی سیستم های .. می باشد می باشدقابلیت اعتمادقابلیت اعتمادحیاتی حیاتی

::دالیل اهمیت ویژگی قابلیت اعتماددالیل اهمیت ویژگی قابلیت اعتماد

سیستم هایی که قابل اعتماد و امن سیستم هایی که قابل اعتماد و امن -1-1 نیستند توسط کاربران رد می نیستند توسط کاربران رد می

. . شوندشوند

هزینه های شکست سیستم ممکن هزینه های شکست سیستم ممکن -2-2 .. است خیلی زیاد باشداست خیلی زیاد باشد

سیستم بی اعتماد ممکن است سیستم بی اعتماد ممکن است -3-3 .. اطالعات را از بین ببرداطالعات را از بین ببرد

Page 40: بخش اول

قطعاتی از سیستم حیاتی که قطعاتی از سیستم حیاتی که ممکن است دچار مشکل شودممکن است دچار مشکل شود

::

.. سخت افزار سیستمسخت افزار سیستم -1-1

.. نرم افزار سیستمنرم افزار سیستم -2-2

.. اپراتورهای انسانیاپراتورهای انسانی -3-3

Page 41: بخش اول

:: قابلیت اتکای سیستمقابلیت اتکای سیستمبه معنای درجه ای از اعتماد کاربر به به معنای درجه ای از اعتماد کاربر به

سیستم که مطابق خواسته او عمل می سیستم که مطابق خواسته او عمل می کند ودر کاربرد عادی با شکست مواجه کند ودر کاربرد عادی با شکست مواجه

.. نمی شودنمی شود

:: چهار بعد اصلی قابلیت اعتمادچهار بعد اصلی قابلیت اعتماد

.. قابلیت دسترسیقابلیت دسترسی -1-1

.. قابلیت اعتمادقابلیت اعتماد -2-2

امنیتامنیت -3-3

.. حفاظتحفاظت -4-4

Page 42: بخش اول

منحنی هزینه/ قابلیت اتکامنحنی هزینه/ قابلیت اتکا

فوق العادهفوق العادهزیادزیاد

کمکم متوسطمتوسط زیادزیاد بسیار زیادبسیار زیاد

نهزی

هنه

زیه

Page 43: بخش اول

ویژگی های دیگری که در ویژگی های دیگری که در قابلیت اتکا می توان در نظر قابلیت اتکا می توان در نظر

:: گرفتگرفت

.. قابلیت ترمیمقابلیت ترمیم -1-1

.. قابلیت نگهداریقابلیت نگهداری -2-2

.. قابلیت بقاقابلیت بقا -3-3

.. تحمل عیبتحمل عیب -4-4

Page 44: بخش اول

ابعاد قابلیت اتکاابعاد قابلیت اتکا

قابلیت دسترسیقابلیت دسترسیامنیتامنیت قابلیت اعتمادقابلیت اعتماد

قابلیت اتکاقابلیت اتکا

حفاظتحفاظت

توانایی سیستم توانایی سیستم دردر

ارائه سرویس ارائه سرویس های درخواستیهای درخواستی

توانایی سیستم توانایی سیستم در ارائهدر ارائه

سرویسهای سرویسهای مشخص شدهمشخص شده

توانایی سیستم به ادامهتوانایی سیستم به ادامهکار بدون خرابیکار بدون خرابی

توانایی سیستم درتوانایی سیستم در حفاظت خودش در مقابلحفاظت خودش در مقابل

نفوذ عمدی یا تصادفینفوذ عمدی یا تصادفی

Page 45: بخش اول

:: قابلیت دسترسیقابلیت دسترسی

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

.. درخواستی را تحویل دهددرخواستی را تحویل دهد

:: قابلیت اعتمادقابلیت اعتماداحتمال انجام عملیات بدون خطا در احتمال انجام عملیات بدون خطا در مدت زمان معین و در محیط خاصی مدت زمان معین و در محیط خاصی

.. و برای هدف خاصو برای هدف خاص

Page 46: بخش اول

:: اصطالحات قابلیت اتکااصطالحات قابلیت اتکا

.. خرابی سیستمخرابی سیستم -1-1

.. خطای سیستمخطای سیستم -2 -2

.. عیب سیستمعیب سیستم -3-3

.. خطا یا اشتباه انسانخطا یا اشتباه انسان -4-4

Page 47: بخش اول

سه روش مکمل برای بهبود سه روش مکمل برای بهبود :: قابلیت اعتمادقابلیت اعتماد

.. اجتناب از خرابیاجتناب از خرابی -1-1

.. کشف وحذف عیبکشف وحذف عیب -2-2

.. تحمل عیبتحمل عیب -3-3

Page 48: بخش اول

:: امنیتامنیتسیستم های امنیتی حیاتی آنهایی سیستم های امنیتی حیاتی آنهایی هستند که عملیات سیستم همواره هستند که عملیات سیستم همواره امن باشد . یعنی حتی اگر سیستم امن باشد . یعنی حتی اگر سیستم خراب شود نباید به افراد و محیط خراب شود نباید به افراد و محیط

..آسیب برساندآسیب برساند

نرم افزار امنیتی حیاتی دو نرم افزار امنیتی حیاتی دو :: دسته انددسته اند

نرم افزار های حیاتی امنیتی نرم افزار های حیاتی امنیتی -1-1.. اولیهاولیه

نرم افزار های حیاتی امنیتی نرم افزار های حیاتی امنیتی -2-2 . . ثانویهثانویه

Page 49: بخش اول

به دالیل زیر سیستم قابل به دالیل زیر سیستم قابل V Vاعتماد الزاما اعتماد الزاما

امن نیستامن نیست ::.. مشخصات ممکن است کامل نباشدمشخصات ممکن است کامل نباشد -1-1

بد عمل کردن سخت افزار ممکن است بد عمل کردن سخت افزار ممکن است -2-2باعث شود که رفتار سیستم قابل پیش بینی باعث شود که رفتار سیستم قابل پیش بینی نباشد و نرم افزار را در محیطی پیش بینی نباشد و نرم افزار را در محیطی پیش بینی

..نشده ارائه دهدنشده ارائه دهد

اپراتور سیستم ممکن است ورودیی را اپراتور سیستم ممکن است ورودیی را -3-3تولید کند که به تنهایی نادرست نباشد اما در تولید کند که به تنهایی نادرست نباشد اما در وضعیت خاصی منجر به عملکرد بد سیستم وضعیت خاصی منجر به عملکرد بد سیستم

.. شودشود

Page 50: بخش اول

.. اجتناب از خطراجتناب از خطر -1-1

.. تشخیص و رفع خطرتشخیص و رفع خطر -2-2

.. محدود کردن خسارتمحدود کردن خسارت -3-3

سه روش مکمل برای بهبود سه روش مکمل برای بهبود :: امنیتامنیت

Page 51: بخش اول

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

.. باشند، منعکس می سازدباشند، منعکس می سازد

:: اصطالحات حفاظتیاصطالحات حفاظتی.. افشاگریافشاگری -1-1

.. آسیب پذیریآسیب پذیری -2-2

.. حملهحمله -3-3

.. تهدیدهاتهدیدها -4-4

.. کنترلکنترل -5-5

Page 52: بخش اول

از طریق تهاجم خارجی ، سه نوع از طریق تهاجم خارجی ، سه نوع :: خسارت ممکن است پیش آیدخسارت ممکن است پیش آید

.. عدم پذیرش سرویسعدم پذیرش سرویس -1-1

.. تخریب برنامه ها و داده هاتخریب برنامه ها و داده ها -2 -2

.. افشاگری اطالعات محرمانهافشاگری اطالعات محرمانه -3-3

سه روش مکمل برای بهبود سه روش مکمل برای بهبود :: امنیتامنیت

.. اجتناب از آسیب پذیریاجتناب از آسیب پذیری -1-1

.. تشخیص و خنثی سازی حملهتشخیص و خنثی سازی حمله -2-2

.. محدود کردن افشاگریمحدود کردن افشاگری -3-3

Page 53: بخش اول

44فصلفصل

فرایند های نرم افزارفرایند های نرم افزار

Page 54: بخش اول

فرایند نرم افزار مجموعه ای از فعالیت فرایند نرم افزار مجموعه ای از فعالیت هاست که منجر به تولید محصول نرم هاست که منجر به تولید محصول نرم

افزاری می شودافزاری می شود

فعالیت های اساسی که در تمام فرایند های نرم فعالیت های اساسی که در تمام فرایند های نرم :: افزاری مشترکندافزاری مشترکند

.. تعیین مشخصات نرم افزارتعیین مشخصات نرم افزار -1-1

.. طراحی و پیاده سازی نرم افزارطراحی و پیاده سازی نرم افزار -2 -2

.. اعتبار سنجی نرافزاراعتبار سنجی نرافزار -3-3

..تکامل نرم افزارتکامل نرم افزار -4-4

Page 55: بخش اول

مدل های فرایند نرم مدل های فرایند نرم : : افزارافزار

.. مدل آبشاریمدل آبشاری -1 -1

.. توسعه تکاملیتوسعه تکاملی -2-2

مهندسی نرم افزار مهندسی نرم افزار -3-3.. مبتنی بر قطعهمبتنی بر قطعه

Page 56: بخش اول

:: چرخه حیات نرم افزارچرخه حیات نرم افزارتعریف خواسته ها

طراحی نرم افزار و سیستم

پیاده سازی و تست واحد

جامعیت و تست

بکارگیری و نگهداری

Page 57: بخش اول

:: مدل آبشاریمدل آبشاریمدل معروف فرایند توسعه نرم افزار است مدل معروف فرایند توسعه نرم افزار است که از سایر فرایندهای مهندسی ناشی می که از سایر فرایندهای مهندسی ناشی می

:: شود و شامل مراحل زیر می شودشود و شامل مراحل زیر می شود

.. تحلیل و تعریف خواسته هاتحلیل و تعریف خواسته ها -1 -1

.. طراحی سیستم و نرم افزارطراحی سیستم و نرم افزار -2 -2

.. پیاده سازی و تست واحدپیاده سازی و تست واحد -3 -3

.. جامعیت و تست سیستمجامعیت و تست سیستم -4 -4

.. به کارگیری و نگهداریبه کارگیری و نگهداری -5 -5

Page 58: بخش اول

:: توسعه تکاملیتوسعه تکاملی

سیستمی ایجاد می شود و به تدریج اصالح می سیستمی ایجاد می شود و به تدریج اصالح می .. گردد تا سیستم نهایی توسعه یابدگردد تا سیستم نهایی توسعه یابد

:: دو نوع توسعه تکاملی وجود دارددو نوع توسعه تکاملی وجود دارد

.. توسعه اکتشافیتوسعه اکتشافی -1-1

.. ساخت نمونه اولیه موقتیساخت نمونه اولیه موقتی -2-2

:: در این سیستم دو اشکال وجود دارددر این سیستم دو اشکال وجود دارد

.. فرایند قابل مشاهده نیستفرایند قابل مشاهده نیست -1-1

.. سیستم ها چندان ساخت یافته نیستندسیستم ها چندان ساخت یافته نیستند -2-2

Page 59: بخش اول

توسعه توسعه :: تکاملیتکاملی

توصیف طرح کلی

تعیین مشخصات

توسعه

xیید تا

نسخه اولیه

نسخه نهایی

توسعه های میانی

Page 60: بخش اول

توسعه نرم افزار مبتنی بر توسعه نرم افزار مبتنی بر :: قطعهقطعه

در این روش استفاده مجدد به عنوان در این روش استفاده مجدد به عنوان ابزاری برای توسعه سریع سیستم است و ابزاری برای توسعه سریع سیستم است و

:: شامل مراحل زیر استشامل مراحل زیر است

.. تحلیل قطعهتحلیل قطعه -1-1

.. اصالح خواسته هااصالح خواسته ها -2-2

.. طراحی سیستم با استفاده مجددطراحی سیستم با استفاده مجدد -3-3

.. توسعه و جامعیتتوسعه و جامعیت -4-4

Page 61: بخش اول

توسعه سیستم مبتنی بر استفاده توسعه سیستم مبتنی بر استفاده :: مجددمجدد

تعیین مشخصاتخواسته ها

اصالح خواسته هاتحلیل قطعات

توسعه و جامعیتاعتبار ستجی سیستم طراحی سیستمبا استفاده مجدد

Page 62: بخش اول

:: تکرار فرایندتکرار فرایندفعالیت های فرایند در پاسخ به تغییر فعالیت های فرایند در پاسخ به تغییر

.. در خواست ها ، تکرار خواهد شددر خواست ها ، تکرار خواهد شد

دو مدل فرایند برای پشتیبانی از دو مدل فرایند برای پشتیبانی از .. تکرار فرایند ارائه شدندتکرار فرایند ارائه شدند

.. تحویل تدریجیتحویل تدریجی -1-1

.. توسعه مارپیچیتوسعه مارپیچی -2-2

Page 63: بخش اول

:: تحویل تدریجیتحویل تدریجی

:: امتیازات مدل توسعه تدریجیامتیازات مدل توسعه تدریجیالزم نیست مشتریان صبر کنند تا کل سیستم الزم نیست مشتریان صبر کنند تا کل سیستم -1-1

تحویل داده شود. اولین مرحله ای که انجام تحویل داده شود. اولین مرحله ای که انجام شد، خواسته های حیاتی آن را پاسخ می دهد و شد، خواسته های حیاتی آن را پاسخ می دهد و

. . نرم افزار می تواند به کارگرفته شود نرم افزار می تواند به کارگرفته شود

مشتریان می توانند از مراحل اولیه به عنوان مشتریان می توانند از مراحل اولیه به عنوان -2-2 .. الگو ، استفاده کنندالگو ، استفاده کنند

ریسک کمتری در مورد خرابی پروژه وجود ریسک کمتری در مورد خرابی پروژه وجود -3-3 .. دارددارد

چون سرویس هایی با اولویت باالتر، زودتر چون سرویس هایی با اولویت باالتر، زودتر -4-4 تحویل داده می شوند، بنابر این بخش های تحویل داده می شوند، بنابر این بخش های . . مهم سیستم ، بیشتر مورد تست قرار می گیرندمهم سیستم ، بیشتر مورد تست قرار می گیرند

Page 64: بخش اول

:: توسعه تدریجیتوسعه تدریجی

تعریف طرحکلی خواسته ها

انتساب خواسته هابه مراحل

طراحی معماریسیستم

جامعیت مرحلهتأیید سیستمتوسعه یک مرحله

سیستمتأیید مرحله

سیستمسیستمنهایینهایی

Page 65: بخش اول

:: توسعه مارپیچیتوسعه مارپیچی

این مدل فرایند نرم افزار را بصورت دنباله هایی این مدل فرایند نرم افزار را بصورت دنباله هایی از فعالیت ها نشان می دهدکه از فرایندی به از فعالیت ها نشان می دهدکه از فرایندی به

فرایند دیگر عقبگرد می شود. این فرایند بصورت فرایند دیگر عقبگرد می شود. این فرایند بصورت .. مارپیچ نشان داده می شودمارپیچ نشان داده می شود

هر حلقه در مارپیچ به چهار قطاع تقسیم می هر حلقه در مارپیچ به چهار قطاع تقسیم می :: شودشود

.. تنظیم هدفتنظیم هدف -1-1

.. برآورد و کاهش ریسکبرآورد و کاهش ریسک -2-2

.. توسعه و اعتبار سنجیتوسعه و اعتبار سنجی -3-3

.. برنامه ریزیبرنامه ریزی -4-4

Page 66: بخش اول

:: فعالیت های فرایندفعالیت های فرایند

هر فرایند دارای چهار فعالیت اصلی هر فرایند دارای چهار فعالیت اصلی :: استاست

تعیین مشخصات نرم افزار یا تعیین مشخصات نرم افزار یا -1 -1 ..مهندسی خواسته هامهندسی خواسته ها

توسعه یا طراحی و پیاده سازی توسعه یا طراحی و پیاده سازی -2-2 ..نرم افزارنرم افزار

.. اعتبار سنجی نرم افزاراعتبار سنجی نرم افزار -3-3

.. تکامل نرم افزارتکامل نرم افزار -4-4

Page 67: بخش اول

تعیین مشخصات نرم افزارتعیین مشخصات نرم افزارفرایند درک و تعریف سرویس های مورد فرایند درک و تعریف سرویس های مورد

نیاز سیستم و مشخص کردن قیدهای نیاز سیستم و مشخص کردن قیدهای .. روی عملیات و توسعه سیستم استروی عملیات و توسعه سیستم است

مراحل اصلی در فرایند مهندسی مراحل اصلی در فرایند مهندسی :: خواسته هاخواسته ها

.. مطالعه امکان سنجیمطالعه امکان سنجی -1-1

.. استخراج و تحلیل خواستهاستخراج و تحلیل خواسته -2-2

.. تعیین مشخصات خواسته هاتعیین مشخصات خواسته ها -3-3

.. اعتبارسنجی خواسته هااعتبارسنجی خواسته ها -4-4

Page 68: بخش اول

فرایند مهندسی خواسته هافرایند مهندسی خواسته ها مطالعه

امکان سنجیاستخراج وتحلیل

خواستهمشخصاتخواسته ها

اعتبارسنجیگزارشخواسته ها

امکان سنجی

سند خواسته ها

خواسته هایکاربر و سیستم

مدل هایسیستم

Page 69: بخش اول

طراحی و پیاده سازی نرم طراحی و پیاده سازی نرم افزارافزار

فرایند تبدیل مشخصات سیستم به سیستم فرایند تبدیل مشخصات سیستم به سیستم .. اجرایی استاجرایی است

:: فعالیت های فرایند طراحی عبارتند ازفعالیت های فرایند طراحی عبارتند از.. طراحی معماریطراحی معماری -1-1

.. مشخصات انتزاعیمشخصات انتزاعی -2-2

.. طراحی واسططراحی واسط -3-3

.. طراحی قطعهطراحی قطعه -4-4

.. طراحی ساختمان داده هاطراحی ساختمان داده ها -5-5

.. طراحی الگوریتمطراحی الگوریتم -6-6

Page 70: بخش اول

روش های ساخت یافته از یک یا چند روش های ساخت یافته از یک یا چند مدل سیستم که در زیر آمده است مدل سیستم که در زیر آمده است

:: پشتیبانی می کندپشتیبانی می کند.. مدل شیءمدل شیء -1-1

.. مدل توالیمدل توالی -2-2

مدل تغییر مدل تغییر -3-3 .. حالتحالت

مدل مدل -4-4 .. ساختاریساختاری

مدل جریان مدل جریان -5-5 .. دادهداده

Page 71: بخش اول

اعتبارسنجی نرم افزاراعتبارسنجی نرم افزار

اعتبارسنجی نرم افزار سعی می کند اعتبارسنجی نرم افزار سعی می کند نشان دهد که سیستم با مشخصاتش جور نشان دهد که سیستم با مشخصاتش جور

. . در می آیددر می آید

::مراحل فرایند تست عبارت اند ازمراحل فرایند تست عبارت اند از.. تست قطعه و واحدتست قطعه و واحد -1-1

.. تست سیستمتست سیستم -2-2

.. تست پذیرشتست پذیرش -3-3

Page 72: بخش اول

فرایند فرایند :: تستتست

فرایند فرایند :: اشکالزداییاشکالزدایی

یافتن خطاطراحی

ترمیم خطاترمیم خطا

تست مجددبرنامه

تست قطعه تست سیستم تست پذیرش

Page 73: بخش اول

تکامل نرم افزارتکامل نرم افزار

شامل انجام تغییرات پس از شامل انجام تغییرات پس از .. بکارکیری استبکارکیری است

تعریف خواسته هایسیستم

ارزیابی سیستم هایموجود

پیشنهاد تغییراتسیستم

تعریف خواسته هایسیستم

سیستم های موجودسیستم جدید

Page 74: بخش اول

فرایند فرایند یکنواختیکنواخت

می گوید مدل های فرایند عادی، نمای می گوید مدل های فرایند عادی، نمای .. یکتایی از فرایند را ارائه می کندیکتایی از فرایند را ارائه می کند

:: از سه دیدگاه توصیف شده استاز سه دیدگاه توصیف شده است

مراحل مدل را در طول زمان مراحل مدل را در طول زمان :: دیدگاه پویادیدگاه پویا -1-1 ..نشان می دهدنشان می دهد

فعالیت های انجام شده فرایند فعالیت های انجام شده فرایند :: دیدگاه ایستادیدگاه ایستا -2-2 . .را نشان می دهدرا نشان می دهد

اعمال مناسبی که باید در اعمال مناسبی که باید در : :دیدگاه عملیدیدگاه عملی -3-3 .. اثنای فرایند اجرا شود را مشخص می کنداثنای فرایند اجرا شود را مشخص می کند

RUP

Page 75: بخش اول

مراحل موجود درمراحل موجود درایجاد یک حالت تجاری برای سیستمایجاد یک حالت تجاری برای سیستم : :شروعشروع -1-1 ..

توسعه ودرک دامنه مسئله، ایجاد توسعه ودرک دامنه مسئله، ایجاد : :اکتشافاکتشاف -2-2چارچوب معماری برای سیستم، برنامه ریزی چارچوب معماری برای سیستم، برنامه ریزی

.. پروژه و شناسایی ریسک های مهم پروژهپروژه و شناسایی ریسک های مهم پروژه

باطراحی سیستم، برنامه نویسی و باطراحی سیستم، برنامه نویسی و ::ساخت ساخت -3-3..تست سروکار داردتست سروکار دارد

ایجاد یک سیستم مستند سازی شده ایجاد یک سیستم مستند سازی شده::انتقال انتقال -4-4

RUP

Page 76: بخش اول

دیدگاه عملی شش عمل خوب دیدگاه عملی شش عمل خوب :: پیشنهاد می کندپیشنهاد می کند

توصیف نرم افزار به طور توصیف نرم افزار به طور -1-1.. تکراریتکراری

.. مدیریت خواسته هامدیریت خواسته ها -2-2

از معماری های مبتنی بر قطعه از معماری های مبتنی بر قطعه -3-3.. استفاده کنیداستفاده کنید

نرم افزار را بطور ویژوال مدل نرم افزار را بطور ویژوال مدل -4-4.. سازی کنیدسازی کنید

کیفیت نرم افزار را مدل سازی کیفیت نرم افزار را مدل سازی -5-5.. کنیدکنید

تغییرات در نرم افزار را کنترل تغییرات در نرم افزار را کنترل -6-6.. کنیدکنید

Page 77: بخش اول

RUPRUPجریانهای کار ایستا درجریانهای کار ایستا در

.. مدل سازی تجاریمدل سازی تجاری -1-1 .. خواسته هاخواسته ها -2-2

.. تحلیل و طراحیتحلیل و طراحی -3-3 .. پیاده سازیپیاده سازی -4-4

.. تستتست -5-5 ..استقراراستقرار -6 -6

.. پیکربندی و تغییر مدیریتپیکربندی و تغییر مدیریت -7 -7 .. مدیر پروژهمدیر پروژه -8 -8

.. محیطمحیط -9 -9

Page 78: بخش اول

مهندسی نرم افزار به کمک مهندسی نرم افزار به کمک کامپیوترکامپیوتر

نرم افزاری برای پشتیبانی ازفعالیت های فرایند نرم افزاری برای پشتیبانی ازفعالیت های فرایند نرم افزاری بکارمی رود و شامل فعالیت های زیر نرم افزاری بکارمی رود و شامل فعالیت های زیر

::استاست

.. توسعه مدل های گرافیکی سیستمتوسعه مدل های گرافیکی سیستم -1-1

.. درک طراحی با استفاده از دیکشنریدرک طراحی با استفاده از دیکشنری -2-2

.. تولید واسط کاربرتولید واسط کاربر -3-3

اشکالزدایی برنامه از طریق آماده سازی اشکالزدایی برنامه از طریق آماده سازی -4-4 . . داده هایی راجع به برنامه در حال اجراداده هایی راجع به برنامه در حال اجرا

ترجمه خودکار برنامه ها از نسخه قدیمی به ترجمه خودکار برنامه ها از نسخه قدیمی به -5-5 .. نسخه های جدید آننسخه های جدید آن

Page 79: بخش اول

دیدگاهها برای دسته بندی دیدگاهها برای دسته بندی ::کیسکیس

.. دیدگاه عملکردیدیدگاه عملکردی -1-1

.. دیدگاه فرایندیدیدگاه فرایندی -2-2

.. دیدگاه جامعیتدیدگاه جامعیت -3-3

پیشنهاد فوگتا برای دسته بندی سیستم پیشنهاد فوگتا برای دسته بندی سیستم :: های کیسهای کیس

.. ابزارهاابزارها -1-1

.. محیط کاریمحیط کاری -2-2

.. محیطمحیط -3-3

Page 80: بخش اول

55فصلفصل

مدیریت پروژهمدیریت پروژه

Page 81: بخش اول

تفاوت مهندسی نرم افزار با تفاوت مهندسی نرم افزار با :: مهندسی های دیگرمهندسی های دیگر

.. محصول نا ملموس استمحصول نا ملموس است -1-1

فرایند های نرم افزار استانداردی وجود فرایند های نرم افزار استانداردی وجود -2-2.. نداردندارد

پروژه های نرم افزاری بزرگ ، اغلب پروژه های نرم افزاری بزرگ ، اغلب -3-3.. پروژه های منحصر به فردی هستندپروژه های منحصر به فردی هستند

Page 82: بخش اول

فعالیت های مدیریتیفعالیت های مدیریتی

اغلب مدیران مسئولیت های اغلب مدیران مسئولیت های :: زیر را دارندزیر را دارند

. . نوشتن طرح)پیشنهاد(نوشتن طرح)پیشنهاد( -1-1

برنامه ریزی و زمانبندی برنامه ریزی و زمانبندی -2-2 .. پروژهپروژه

.. هزینه پروژههزینه پروژه -3-3

.. نظارت و مرور پروژهنظارت و مرور پروژه -4-4

.. انتخاب و ارزیابی پرسنلانتخاب و ارزیابی پرسنل -5-5

.. نوشتن و ارائه پروژهنوشتن و ارائه پروژه -6-6

Page 83: بخش اول

برنامه ریزی پروژهبرنامه ریزی پروژهبرنامه ریزی یک فرایند تکراری است که وقتی کامل برنامه ریزی یک فرایند تکراری است که وقتی کامل

می شود که خود پروژه کامل شده باشد و شامل می شود که خود پروژه کامل شده باشد و شامل :: بخش های زیر استبخش های زیر است

.. مقدمهمقدمه -1-1

.. سازماندهی پروژهسازماندهی پروژه -2-2

.. تحلیل ریسکتحلیل ریسک -3-3

.. منابع سخت افزاری و نرم افزاری مورد نیازمنابع سخت افزاری و نرم افزاری مورد نیاز -4-4

.. توقف کارتوقف کار -5-5

.. زمانبندی پروژهزمانبندی پروژه -6-6

.. راهکارهای نظارت و گزارشراهکارهای نظارت و گزارش -7-7

Page 84: بخش اول

نقاط عطف قطعات قابل نقاط عطف قطعات قابل تحویلتحویل

قطعه قابل تحویل ، نتیجه ای از پروژه است که قطعه قابل تحویل ، نتیجه ای از پروژه است که ..به مشتری تحویل داده می شودبه مشتری تحویل داده می شود

نقاط عطف در فرایند خواسته هانقاط عطف در فرایند خواسته ها

مطالعهامکان سنجی

تحلیلخواسته ها

توسعهنمونه اولیه

مطالعهطراحی

تعیین مشخصاتخواسته ها

گزارشامکان سنجی

خواسته هایکاربر

گزارشارزیابی

طراحیمعماری

خواسته هایسیستم

Page 85: بخش اول

زمانبندی پروژهزمانبندی پروژهاین فرایند کل کار پروژه را به فعالیت این فرایند کل کار پروژه را به فعالیت

های جداگانه ای تقسیم می کند و زمان های جداگانه ای تقسیم می کند و زمان مورد نیاز برای کامل کردن این فعالیت مورد نیاز برای کامل کردن این فعالیت

..ها را برآورد می کندها را برآورد می کند

:: فرایند زمانبندی پروژهفرایند زمانبندی پروژه

شناساییفعالیت ها

شناساییوابستگیهای پروژه

برآورد منابعبرای فعالیت ها

تخصیص افرادبرای فعالیت ها

ایجاد نمودارهایپروژه

خواسته های نرم افزارنمودار های فعالیت ونمودارهای میله ای

Page 86: بخش اول

نمودارهای میله ای و شبکه نمودارهای میله ای و شبکه های فعالیتهای فعالیت

این نمودارها نشانه گذاری های گرافیکی اند این نمودارها نشانه گذاری های گرافیکی اند که برای تشریح زمانبندی پروژه به کار می که برای تشریح زمانبندی پروژه به کار می

.. روندروند

مسیر بحرانیمسیر بحرانی

کمترین زمان الزم برای اتمام پروژه ها را کمترین زمان الزم برای اتمام پروژه ها را می توان با در نظر گرفتن طوالنی ترین می توان با در نظر گرفتن طوالنی ترین .. مسیر در گراف فعالیت در نظر گرفتمسیر در گراف فعالیت در نظر گرفت

کل زمانبندی پروژه به مسیر بحرانی کل زمانبندی پروژه به مسیر بحرانی .. بستگی داردبستگی دارد

Page 87: بخش اول

مدیریت مدیریت ریسکریسک

ریسک را می توان شرایط نامطلوبی دانست که ریسک را می توان شرایط نامطلوبی دانست که x رخ می دهند. ریسک های پروژه ، نرم افزار در x رخ می دهند. ریسک های پروژه ، نرم افزار در واقعا واقعا

.. حال توسعه و سازمان را تهدید می کنندحال توسعه و سازمان را تهدید می کنند

این دسته از ریسک را می توان بصورت زیر این دسته از ریسک را می توان بصورت زیر :: تعریف کردتعریف کرد

.. ریسک های پروژهریسک های پروژه -1-1

.. ریسک های محصولریسک های محصول -2-2

.. ریسک های کاریریسک های کاری -3-3

Page 88: بخش اول

فرایند مدیریت ریسک شامل مراحل فرایند مدیریت ریسک شامل مراحل :: زیر استزیر است

.. شناسایی ریسکشناسایی ریسک -1-1

.. تحلیل ریسکتحلیل ریسک -2-2

.. برنامه ریزی ریسکبرنامه ریزی ریسک -3-3

.. نظارت بر ریسکنظارت بر ریسک -4-4

Page 89: بخش اول

فرایند مدیریت فرایند مدیریت ریسکریسک

شناسایی ریسک تحلیل ریسکبرنامه ریزی

ریسکنظارت برریسک

لیستی ازلیستی ازریسک های بالقوهریسک های بالقوه برنامه های اجتناب ازبرنامه های اجتناب ازبرآورد ریسکبرآورد ریسک

ریسک های احتمالیریسک های احتمالی لیست ریسک هالیست ریسک ها

با اولویتبا اولویت

Page 90: بخش اول

انواع ریسک های ممکن در نرم انواع ریسک های ممکن در نرم ::افزارافزار

پروژهپروژه انتقال کارکنانانتقال کارکنان

پروژهپروژه تغییر مدیریتتغییر مدیریت

پروژهپروژه مهیا نبودن سخت مهیا نبودن سخت افزارافزار

پروژه و محصولپروژه و محصول تغییر خواسته هاتغییر خواسته ها

پروژه و محصولپروژه و محصول تأخیر تعیین تأخیر تعیین مشخصاتمشخصات

پروژه و محصولپروژه و محصول اندازه کوچکتر از اندازه کوچکتر از اندازهاندازه

عدم کارایی ابزار عدم کارایی ابزار محصولمحصولکیسکیس

کارکار تغییر فن آوریتغییر فن آوری

کارکار رقیب محصولرقیب محصول

Page 91: بخش اول

شناسایی ریسکشناسایی ریسکاین مرحله می تواند بصورت یک فرایند تیمی این مرحله می تواند بصورت یک فرایند تیمی و به روش طوفان مغزی انجام شود یا اینکه و به روش طوفان مغزی انجام شود یا اینکه

.. بر اساس تجربه مدیر تعیین گرددبر اساس تجربه مدیر تعیین گردد

:: انواع ریسک عبارتند ازانواع ریسک عبارتند از.. ریسک های فن آوریریسک های فن آوری -1-1

.. ریسک های افرادریسک های افراد -2 -2

.. ریسک های سازمانیریسک های سازمانی -3-3

.. ریسک های ابزارریسک های ابزار -4-4

.. ریسک های خواسته هاریسک های خواسته ها -5-5

.. ریسک های برآوردریسک های برآورد -6-6

Page 92: بخش اول

تحلیل تحلیل ریسکریسک

احتمال ریسک ممکن است خیلی کم) احتمال ریسک ممکن است خیلی کم) -1-1(، متوسط ) (، متوسط ) 1010%-%-2525%< (، کم ) %< (، کم ) 1010(، یا (، یا 5050%-%-7575 (، زیاد ) (، زیاد ) %2525-%-5050

%>( برآورد شود%>( برآورد شود7575خیلی زیاد)خیلی زیاد) ..

اثر ریسک ممکن است فاجعه بر اثر ریسک ممکن است فاجعه بر -2-2 انگیز ، جدی ، قابل تحمل یا بی انگیز ، جدی ، قابل تحمل یا بی

.. ارزش باشدارزش باشد

Page 93: بخش اول

برنامه ریزی برنامه ریزی ریسکریسک

این فرایند ریسک های کلیدی را که شناسایی این فرایند ریسک های کلیدی را که شناسایی شده اند را در نظر می گیرد و راهبرد هایی را شده اند را در نظر می گیرد و راهبرد هایی را

.. برای مدیریت بر ریسک شناسایی می کندبرای مدیریت بر ریسک شناسایی می کند

این راهبرد ها به سه دسته تقسیم می این راهبرد ها به سه دسته تقسیم می ::شوندشوند

.. راهبردهای اجتنابراهبردهای اجتناب -1-1

.. راهبردهای کمینه سازیراهبردهای کمینه سازی -2-2

.. برنامه ریزی احتمالیبرنامه ریزی احتمالی -3-3

Page 94: بخش اول

نظارت بر نظارت بر ریسکریسک

نظارت بر ریسک یک فرایند نظارت بر ریسک یک فرایند دائمی است و شامل برآورد دائمی است و شامل برآورد منظم ریسک های شناسایی منظم ریسک های شناسایی شده است تا تصمیم گرفته شده است تا تصمیم گرفته شود آیا احتمال آن ریسک شود آیا احتمال آن ریسک

کاهش می یابد یا خیر و آیا اثر کاهش می یابد یا خیر و آیا اثر .. ریسک تغییر می کند یا خیرریسک تغییر می کند یا خیر

Page 95: بخش اول

بخش دومبخش دوم

خواسته هاخواسته ها

Page 96: بخش اول

66فصلفصل

خواسته های نرم خواسته های نرم افزارافزار

Page 97: بخش اول

خواسته هاخواسته ها

خواسته های خواسته های :: خواسته های کاربرخواسته های کاربر -1-1انتزاعی سطح باالانتزاعی سطح باال

توصیفات توصیفات : : خواسته های سیستمخواسته های سیستم -2-2تفضیلی از کارهاییتفضیلی از کارهایی

..است که سیستم باید انجام دهداست که سیستم باید انجام دهد

Page 98: بخش اول

خوانندگان انواع مختلفی از خوانندگان انواع مختلفی از مشخصاتمشخصات

خواسته های کاربرخواسته های کاربر

خواسته های سیستمخواسته های سیستم

کاربران نهایی سیستمکاربران نهایی سیستممهندسین مشتریمهندسین مشتریمعمارهای سیستممعمارهای سیستم

توسعه دهندگان نرم افزارتوسعه دهندگان نرم افزار

مدیران مشتریمدیران مشتریکاربران نهایی سیستمکاربران نهایی سیستم

مهندسین مشتریمهندسین مشتریمدیران پیمانکارمدیران پیمانکار

معمار های سیستممعمار های سیستم

Page 99: بخش اول

خواسته های سیستم خواسته های سیستم نرم افزارینرم افزاری

این خواسته ها این خواسته ها ::خواسته های عملکردی خواسته های عملکردی -1-1بیانی از سرویس هایی است که سیستم بیانی از سرویس هایی است که سیستم

..باید ارائه دهدباید ارائه دهد

محدودیت محدودیت :: خواسته های غیر عملکردیخواسته های غیر عملکردی -2-2هایی در سرویس ها یا عملکردهایی هستند هایی در سرویس ها یا عملکردهایی هستند

. . که توسط سیستم پیشنهاد می شودکه توسط سیستم پیشنهاد می شود

این خواسته این خواسته :: خواسته های دامنه کاربردخواسته های دامنه کاربرد -3-3ها از دامنه کاربرد سیستم ناشی می شوند ها از دامنه کاربرد سیستم ناشی می شوند

و ویژگی های آن دامنه کاربرد را منعکس و ویژگی های آن دامنه کاربرد را منعکس .. می کندمی کند

Page 100: بخش اول

خواسته های خواسته های عملکردیعملکردی

خواسته های عملکردی به عوامل خواسته های عملکردی به عوامل زیر بستگی دارد :زیر بستگی دارد :

.. نوع نرم افزارنوع نرم افزار --11

.. کاربران نرم افزارکاربران نرم افزار --22

.. نوع سیستمنوع سیستم --33

Page 101: بخش اول

خواسته های غیر خواسته های غیر عملکردیعملکردی

انواع خواسته های غیر عملکردی عبارت انواع خواسته های غیر عملکردی عبارت ::اندازانداز

.. خواسته های محصولخواسته های محصول -1-1

.. خواسته های سازمانیخواسته های سازمانی -2-2

.. خواسته های خارجیخواسته های خارجی -3-3

Page 102: بخش اول

معیارهایی برای مشخص معیارهایی برای مشخص کردن خواسته های کردن خواسته های

غیرعملکردیغیرعملکردی

.. سرعت سرعت --11

.. اندازه اندازه --22

.. سهولت استفاده سهولت استفاده --33

.. قابلیت اعتماد قابلیت اعتماد --44

.. توانمندی توانمندی --55

.. قابلیت حمل قابلیت حمل --66

Page 103: بخش اول

خواسته های دامنه کاربردخواسته های دامنه کاربرد

خواسته های دامنه کاربرد از دامنه کاربرد خواسته های دامنه کاربرد از دامنه کاربرد سیستم بدست می آید ، نه از نیازهای سیستم بدست می آید ، نه از نیازهای

V شامل V شامل ویژه کاربران سیستم . آنها معموال ویژه کاربران سیستم . آنها معموالاصطالحات ویژه دامنه کاربرد یا ارجاع به اصطالحات ویژه دامنه کاربرد یا ارجاع به

.. مفاهیم آن می باشندمفاهیم آن می باشند

Page 104: بخش اول

خواسته های خواسته های کاربرکاربر

خواسته های کاربر باید با زبان طبیعی ، خواسته های کاربر باید با زبان طبیعی ، .. فرم ها و نمودارهای شهودی نوشته شوندفرم ها و نمودارهای شهودی نوشته شوند

مشکالتی که در بیان خواسته ها به مشکالتی که در بیان خواسته ها به :: زبان طبیعی وجود دارند عبارتند اززبان طبیعی وجود دارند عبارتند از

.. عدم وضوحعدم وضوح -1-1

.. آشفتگی خواسته هاآشفتگی خواسته ها -2-2

.. اختالط خواسته هااختالط خواسته ها -3-3

Page 105: بخش اول

برای کاهش اشتباهات در هنگام نوشتن برای کاهش اشتباهات در هنگام نوشتن خواسته های کاربر ، موارد زیر را به خواسته های کاربر ، موارد زیر را به

:: خاطر داشته باشیدخاطر داشته باشید

یک فرمت استاندارد اختراع کنید و مطمئن یک فرمت استاندارد اختراع کنید و مطمئن -1-1شوید که تعریف خواسته ها از آن پیروی شوید که تعریف خواسته ها از آن پیروی

. . می کندمی کند

.. از سازگاری زبان استفاده کنیداز سازگاری زبان استفاده کنید -2-2

برای تعیین خواسته های کلیدی آن ها را برای تعیین خواسته های کلیدی آن ها را -3-3.. برجسته کنیدبرجسته کنید

تا جایی که ممکن است از واژه های تا جایی که ممکن است از واژه های -4-4.. کامپیوتری استفاده نکنیدکامپیوتری استفاده نکنید

Page 106: بخش اول

خواسته های خواسته های سیستمسیستم

نشانه گذاری های ویژه ای که برای نشانه گذاری های ویژه ای که برای :: نوشتن مشخصات می توان بکار بردنوشتن مشخصات می توان بکار برد

.. زبان طبیعی ساخت یافتهزبان طبیعی ساخت یافته -1-1

.. زبان های توصیف طراحیزبان های توصیف طراحی -2-2

.. نشانه گذاری های گرافیکینشانه گذاری های گرافیکی -3-3

.. مشخصات ریاضیمشخصات ریاضی -4-4

Page 107: بخش اول

مشخصات زبان ساخت مشخصات زبان ساخت یافتهیافته

زبان طبیعی ساخت یافته ، شکل زبان طبیعی ساخت یافته ، شکل محدودی از زبان طبیعی برای نوشتن محدودی از زبان طبیعی برای نوشتن

.. خواسته های سیستم استخواسته های سیستم است

امتیاز این روش این است که قابلیت امتیاز این روش این است که قابلیت بیان و درک زبان طبیعی را دارد ، ولی بیان و درک زبان طبیعی را دارد ، ولی

تضمین می کند نوعی یکنواختی به تضمین می کند نوعی یکنواختی به .. مشخصات اعمال می کندمشخصات اعمال می کند

Page 108: بخش اول

وقتی فرم استاندارد برای مشخص کردن وقتی فرم استاندارد برای مشخص کردن خواسته های عملکردی مورد استفاده قرار خواسته های عملکردی مورد استفاده قرار

:: گیرد، باید شامل اطالعات زیر باشدگیرد، باید شامل اطالعات زیر باشد

توصیفی از عملکرد یا نهادی که مشخص می توصیفی از عملکرد یا نهادی که مشخص می -1-1.. شودشود

توصیفی از ورودی های آن و جایی که این توصیفی از ورودی های آن و جایی که این -2-2.. ورودی ها می آیندورودی ها می آیند

توصیفی از خروجی های آن و جایی که این توصیفی از خروجی های آن و جایی که این -3-3 .. خروجی ها می آیندخروجی ها می آیند

نشانه ای از سایر نهادهایی که استفاده می نشانه ای از سایر نهادهایی که استفاده می -4-4.. شوندشوند

.. توصیف عملی که باید صورت گیردتوصیف عملی که باید صورت گیرد -5-5

اگر از روش عملکردی استفاده شود، پیش اگر از روش عملکردی استفاده شود، پیش -6-6.. شرط ها و پس شرط ها مشخص شوندشرط ها و پس شرط ها مشخص شوند

.. توصیفی از اثرات جانبی عملیاتتوصیفی از اثرات جانبی عملیات -7-7

Page 109: بخش اول

تعیین مشخصات تعیین مشخصات واسطواسط

اگر سیستم جدید و سیستم موجود بخواهند اگر سیستم جدید و سیستم موجود بخواهند با هم کار کنند، واسط های سیستم جدید با هم کار کنند، واسط های سیستم جدید

V مشخص شوند V مشخص شوندباید دقیقا .. باید دقیقا

سه نوع واسط وجود دارد که باید سه نوع واسط وجود دارد که باید :: تعریف شوندتعریف شوند

.. واسط های رویه ایواسط های رویه ای -1-1

ساختمان داده هایی که از یک ساختمان داده هایی که از یک -2-2 زیرسیستم به زیر سیستم دیگری زیرسیستم به زیر سیستم دیگری

.. عبور داده می شوندعبور داده می شوند

نمایش داده ها که برای زیر سیستم نمایش داده ها که برای زیر سیستم -3-3 .. موجود تعیین شدندموجود تعیین شدند

Page 110: بخش اول

سند خواسته های نرم افزارسند خواسته های نرم افزاریک بیان رسمی از چیزهایی است که مورد نیاز یک بیان رسمی از چیزهایی است که مورد نیاز

.. توسعه دهنده سیستم استتوسعه دهنده سیستم استسطح جزئیات سند خواسته ها به نوع سیستم و سطح جزئیات سند خواسته ها به نوع سیستم و

..فرایند توسعه بستگی داردفرایند توسعه بستگی دارد

استاندارد ساختار زیر را برای اسناد استاندارد ساختار زیر را برای اسناد :: پیشنهاد می کندپیشنهاد می کند

.. مقدمهمقدمه -1-1 .. هدف سند خواسته هاهدف سند خواسته ها 1-1 1-1 .. دامنه کاربرد محصولدامنه کاربرد محصول 2-1 2-1 .. تعاریف و اختصاراتتعاریف و اختصارات 3-1 3-1

.. مراجعمراجع 4-1 4-1 .. مروری بر باقیمانده سندمروری بر باقیمانده سند 5-1 5-1

IEEE

Page 111: بخش اول

.. توصیف کلیتوصیف کلی -2-2

.. آینده محصولآینده محصول 1-2 1-2

.. عملکرد های محصولعملکرد های محصول 2-2 2-2

.. ویژگی های محصولویژگی های محصول 3-23-2

.. محدودیت های کلیمحدودیت های کلی 4-24-2

.. فرضیه ها و وابستگی هافرضیه ها و وابستگی ها 5-25-2

Page 112: بخش اول

خواسته های ویژهخواسته های ویژه -3-3..

این خواسته ها شامل خواسته های عملکردی این خواسته ها شامل خواسته های عملکردی .. ، غیر عملکردی و واسط است، غیر عملکردی و واسط است

.. پیوست هاپیوست ها -4-4

.. ایندکسایندکس -5-5

Page 113: بخش اول

77فصلفصل

فرایندهای مهندسی فرایندهای مهندسی خواسته هاخواسته ها

Page 114: بخش اول

فرایند مهندسی خواسته هافرایند مهندسی خواسته ها مطالعه

امکان سنجیاستخراج وتحلیل

خواستهمشخصاتخواسته ها

اعتبارسنجیگزارشخواسته ها

امکان سنجی

سند خواسته ها

خواسته هایکاربر و سیستم

مدل هایسیستم

Page 115: بخش اول

مطالعات امکان سنجیمطالعات امکان سنجیتوصیف طرح توصیف طرح : : ورودی مطالعه امکان سنجیورودی مطالعه امکان سنجی

کلی سیستم و چگونگی به کارگیری آن در کلی سیستم و چگونگی به کارگیری آن در .. سازمان استسازمان است

گزارشی گزارشی : :خروجی مطالعه امکان سنجیخروجی مطالعه امکان سنجیاست که پیشنهاد می کند آیا اجرای مهندسی است که پیشنهاد می کند آیا اجرای مهندسی خواسته ها و فرایند توسعه سیستم ارزشمند خواسته ها و فرایند توسعه سیستم ارزشمند

است یا خیر؟است یا خیر؟

:: این مطالعات شامل موارد زیر استاین مطالعات شامل موارد زیر است.. برآورد اطالعاتبرآورد اطالعات -1-1

.. جمع آوری اطالعاتجمع آوری اطالعات -2-2

.. نوشتن گزارشنوشتن گزارش -3-3

Page 116: بخش اول

این مطالعات شامل موارد این مطالعات شامل موارد :: زیر استزیر است

.. برآورد اطالعاتبرآورد اطالعات -1-1

.. جمع آوری اطالعاتجمع آوری اطالعات -2-2

.. نوشتن گزارشنوشتن گزارش -3-3

Page 117: بخش اول

استخراج و تحلیل خواسته هااستخراج و تحلیل خواسته ها

این فرایند شامل فعالیت های این فرایند شامل فعالیت های :: زیر استزیر است

.. جمع آوری خواسته هاجمع آوری خواسته ها -1-1

.. دسته بندیدسته بندی -2-2

مذاکره و اولویت بندی مذاکره و اولویت بندی -3-3.. خواسته هاخواسته ها

..مستند سازی خواسته هامستند سازی خواسته ها -4-4

Page 118: بخش اول

استخراج خواسته هااستخراج خواسته ها

فرایند جمع آوری اطالعات راجع به فرایند جمع آوری اطالعات راجع به سیستم های موجود و پیشنهادی، و سیستم های موجود و پیشنهادی، و

استخراج خواسته های سیستم و کاربر استخراج خواسته های سیستم و کاربر .. از این اطالعات استاز این اطالعات است

منابع اطالعات در اثنای استخراج منابع اطالعات در اثنای استخراج :: خواسته هاخواسته ها

.. مستند سازیمستند سازی -1-1

.. واگذارندگان سیستمواگذارندگان سیستم -2-2

.. مشخصات سیستم های مشابهمشخصات سیستم های مشابه -3-3

Page 119: بخش اول

دیدگاه هادیدگاه ها

.. دیدگاه های تعاملیدیدگاه های تعاملی -1-1

.. دیدگاه های غیر مستقیمدیدگاه های غیر مستقیم -2-2

.. دیدگاه های دامنه کاربرددیدگاه های دامنه کاربرد -3-3

Page 120: بخش اول

انواع ویژه ای از دیدگاه انواع ویژه ای از دیدگاه :: هاها

تأمین کنندگان و دریافت کنندگان سرویس تأمین کنندگان و دریافت کنندگان سرویس -1-1.. های سیستمهای سیستم

سیستم هایی که باید بطور غیرمستقیم با سیستم هایی که باید بطور غیرمستقیم با -2-2 . . سیستم مورد نظر رابطه داشته باشندسیستم مورد نظر رابطه داشته باشند

قوانین و استانداردهایی که به سیستم قوانین و استانداردهایی که به سیستم -3-3.. اعمال می شوداعمال می شود

منابع خواسته های تجاری و غیر عملکردی منابع خواسته های تجاری و غیر عملکردی -4-4.. سیستمسیستم

دیدگاههای مهندسی که خواسته های توسعه دیدگاههای مهندسی که خواسته های توسعه -5-5دهندگان، مدیران و نگهدارندگان را دهندگان، مدیران و نگهدارندگان را

.. منعکس سازندمنعکس سازند.. دیدگاه های بازاریابی و غیرهدیدگاه های بازاریابی و غیره -6-6

Page 121: بخش اول

مصاحبهمصاحبهمصاحبه های رسمی و غیر رسمی با مصاحبه های رسمی و غیر رسمی با

واگذارندگان سیستم بخشی از مهمترین واگذارندگان سیستم بخشی از مهمترین .. فرایندهای مهندسی خواسته ها هستندفرایندهای مهندسی خواسته ها هستند

:: مصاحبه ها دو نوع اندمصاحبه ها دو نوع اند

مصاحبه های بسته که در آن ها مصاحبه های بسته که در آن ها -1-1واگذارندگان به مجموعه ای از پرسش واگذارندگان به مجموعه ای از پرسش

. . های از پیش تعیین شده پاسخ می دهندهای از پیش تعیین شده پاسخ می دهند

مصاحبه باز که در آن ها دستور جلسه از مصاحبه باز که در آن ها دستور جلسه از -2-2.. پیش تعریف شده وجود داردپیش تعریف شده وجود دارد

Page 122: بخش اول

استخراج اطالعات دامنه استخراج اطالعات دامنه کاربرد به دو دلیل دشوار کاربرد به دو دلیل دشوار

::استاست

تمام متخصصین کاربردها از واژه ها و تمام متخصصین کاربردها از واژه ها و -1-1 . . اصطالحات خاصی استفاده می کننداصطالحات خاصی استفاده می کنند

بعضی از دانش های دامنه کاربرد به حدی بعضی از دانش های دامنه کاربرد به حدی -2-2برای واگذارندگان روشن است که یا فکر برای واگذارندگان روشن است که یا فکر می کنند تشریح آن آسان است و یا آن می کنند تشریح آن آسان است و یا آن

قدر ابتدایی اند که نیاز به بیان کردن آنها قدر ابتدایی اند که نیاز به بیان کردن آنها .. نیستنیست

Page 123: بخش اول

سناریوهاسناریوها.. توصیف هایی از جلسات کار با سیستم هستندتوصیف هایی از جلسات کار با سیستم هستند

:: سناریوممکن است شامل موارد زیر باشدسناریوممکن است شامل موارد زیر باشد

توصیف انتظار سیستم و کاربران پس از توصیف انتظار سیستم و کاربران پس از -1 -1 .. شروع سناریوشروع سناریو

.. توصیف جریان عادی رویدادها در سناریوتوصیف جریان عادی رویدادها در سناریو -2-2

توصیف اشتباهات احتمالی و چگونگی توصیف اشتباهات احتمالی و چگونگی -3-3 .. اداره آن هااداره آن ها

اطالعاتی راجع به فعالیت های دیگری که اطالعاتی راجع به فعالیت های دیگری که -4 -4 .. در همان زمان قابل اجراهستنددر همان زمان قابل اجراهستند

توصیف حالت سیستم پس از کامل شدن توصیف حالت سیستم پس از کامل شدن -5 -5 .. سناریوسناریو

Page 124: بخش اول

موارد کاربردموارد کاربرد

تکنیک استخراج داده های سناریو استوا ر است تکنیک استخراج داده های سناریو استوا ر است .. و در روش شیءگرا مطرح شدو در روش شیءگرا مطرح شد

کابرد مجموعه ای از سناریوها را بسته بندی کابرد مجموعه ای از سناریوها را بسته بندی می کند که هر سناریو دنباله ای از مورد کاربرد می کند که هر سناریو دنباله ای از مورد کاربرد

.. استاست

سناریو ها و موارد کابرد تکنیک های موثری سناریو ها و موارد کابرد تکنیک های موثری برای استخراج خواسته ها برای دیدگاه های برای استخراج خواسته ها برای دیدگاه های

.. تعاملی اندتعاملی اند

Page 125: بخش اول

اتنا گرافیاتنا گرافی

یک تکنیک مشاهده است که برای درک خواسته یک تکنیک مشاهده است که برای درک خواسته .. های سازمانی و اجتماعی به کار می رودهای سازمانی و اجتماعی به کار می رود

اتنا گرافی برای کشف دو نوع خواسته ها مفید اتنا گرافی برای کشف دو نوع خواسته ها مفید :: استاست

خواسته هایی که از روش کار واقعی ناشی خواسته هایی که از روش کار واقعی ناشی -1-1.. می شودمی شود

خواسته هایی که از همکاری و آگاهی خواسته هایی که از همکاری و آگاهی -2-2 . . فعالیت های افراد دیگر به دست می آیدفعالیت های افراد دیگر به دست می آید

Page 126: بخش اول

اتنا گرافی و ساخت نمونه اولیه برای اتنا گرافی و ساخت نمونه اولیه برای تحلیل خواسته هاتحلیل خواسته ها

تحلیل اتنا گرافیتحلیل اتنا گرافی

ارزیابی نمونه اولیهارزیابی نمونه اولیه

توسعه سیستم کلیتوسعه سیستم کلینمونه اولیه سیستمنمونه اولیه سیستم

جلساتجلساتگزارش دهیگزارش دهی اتناگرافی تأکیدیاتناگرافی تأکیدی

Page 127: بخش اول

اعتبار سنجی خواسته هااعتبار سنجی خواسته ها

انواع مختلفی از کنترل ها باید بر روی سند انواع مختلفی از کنترل ها باید بر روی سند :: خواسته ها انجام شودخواسته ها انجام شود

.. کنترل های اعتباریکنترل های اعتباری -1-1

.. کنترل های سازگاریکنترل های سازگاری -2-2

. . کنترل های تمامیتکنترل های تمامیت -3-3

.. کنترل های واقع گراییکنترل های واقع گرایی -4-4

.. قابلیت وارسیقابلیت وارسی -5-5

Page 128: بخش اول

تکنیک هایی که برای وارسی تکنیک هایی که برای وارسی :: خواسته ها وجود دارندخواسته ها وجود دارند

.. مرورخواسته هامرورخواسته ها -1-1

.. ساخت نمونه اولیهساخت نمونه اولیه -2-2

.. تولید موارد تستتولید موارد تست -3-3

Page 129: بخش اول

مرور خواسته هامرور خواسته ها

ممکن است موارد زیر را کنترل کندممکن است موارد زیر را کنترل کند مرورمرور ::

.. وارسیوارسی -1-1

.. فابلیت درکفابلیت درک -2-2

.. قابلیت ردیابیقابلیت ردیابی -3-3

.. قابلیت تطبیققابلیت تطبیق -4-4

Page 130: بخش اول

مدیریت خواسته هامدیریت خواسته ها

فرایند درک و کنترل تغییرات درخواسته های فرایند درک و کنترل تغییرات درخواسته های ..سیستم استسیستم است

بدالیل زیر وقتی کاربران نهایی با سیستم بدالیل زیر وقتی کاربران نهایی با سیستم تجربه کسب کردند، خواسته های جدید پیدا تجربه کسب کردند، خواسته های جدید پیدا

:: می شودمی شود

V سیستم های بزرگ کاربران متنوعی -1-1 V سیستم های بزرگ کاربران متنوعی معموال معموال.. دارنددارند

افراد و کاربرانی که با سیستم سروکار افراد و کاربرانی که با سیستم سروکار -2-2.. دارند ثابت نیستنددارند ثابت نیستند

محیط تجاری و تکنیکی سیستم تغییر می محیط تجاری و تکنیکی سیستم تغییر می -3-3.. کندکند

Page 131: بخش اول

از دیدگاه تکامل ، خواسته ها از دیدگاه تکامل ، خواسته ها :: به دو دسته تقسیم می شوندبه دو دسته تقسیم می شوند

.. خواسته های پایدارخواسته های پایدار -1-1

.. خواسته های ناپایدارخواسته های ناپایدار -2-2

Page 132: بخش اول

برنامه ریزی مدیریت خواسته برنامه ریزی مدیریت خواسته هاها

در مدیریت خواسته ها موارد زیر تصمیم در مدیریت خواسته ها موارد زیر تصمیم :: گیری می شودگیری می شود

.. شناسایی خواسته هاشناسایی خواسته ها -1-1

.. فرایند مدیریت تغییرفرایند مدیریت تغییر -2-2

.. سیاست های ردیابیسیاست های ردیابی -3-3

.. پشتیبانی ابزار کیسپشتیبانی ابزار کیس -4-4

Page 133: بخش اول

سه نوع اطالعات قابل ردیابی سه نوع اطالعات قابل ردیابی وجود دارند که می توانند وجود دارند که می توانند

:: نگهداری شوندنگهداری شوند

.. اطالعات قابلیت ردیابی مبداءاطالعات قابلیت ردیابی مبداء -1-1

.. اطالعات قابلیت ردیابی خواسته هااطالعات قابلیت ردیابی خواسته ها -2-2

.. اطالعات ردیابی طراحیاطالعات ردیابی طراحی -3-3

Page 134: بخش اول

ابزارهای کیسی که از مدیریت ابزارهای کیسی که از مدیریت : : خواسته ها پشتیبانی می کندخواسته ها پشتیبانی می کند

..ذخیره سازی خواسته هاذخیره سازی خواسته ها -1-1

.. مدیریت تغییرمدیریت تغییر -2-2

.. مدیریت قابلیت ردیابیمدیریت قابلیت ردیابی -3-3

Page 135: بخش اول

مدیریت تغییر خواسته هامدیریت تغییر خواسته ها

فرایند مدیریت تغییرات سه فرایند مدیریت تغییرات سه :: مرحله داردمرحله دارد

.. تحلیل مسئله و تعیین مشخصاتتحلیل مسئله و تعیین مشخصات -1-1

.. تحلیل تغییر و تعیین هزینهتحلیل تغییر و تعیین هزینه -2-2

.. پیاده سازی تغییرپیاده سازی تغییر -3-3

Page 136: بخش اول

88فصلفصل

مدل های سیستممدل های سیستم

Page 137: بخش اول

سیستم را می توان از ابعاد سیستم را می توان از ابعاد ::مختلف نشان دادمختلف نشان داد

بعد خارجی که حیطه یا محیط بعد خارجی که حیطه یا محیط -1-1.. سیستم مدل سازی می شودسیستم مدل سازی می شود

بعد رفتاری که رفتار سیستم مدل بعد رفتاری که رفتار سیستم مدل -2-2.. سازی می شودسازی می شود

بعد ساختاری که معماری سیستم بعد ساختاری که معماری سیستم -3-3 . . مدل سازی می شودمدل سازی می شود

Page 138: بخش اول

انواع مختلف مدل سیستمانواع مختلف مدل سیستم

.. مدل جریان دادهمدل جریان داده -1-1

.. مدل ترکیبیمدل ترکیبی -2-2

.. مدل معماریمدل معماری -3-3

.. مدل دسته بندیمدل دسته بندی -4-4

.. مدل محرک/ پاسخمدل محرک/ پاسخ -5 -5

Page 139: بخش اول

مدل های رفتاریمدل های رفتاری

این مدل ها برای توصیف رفتار کلی سیستم این مدل ها برای توصیف رفتار کلی سیستم .. بکار می روندبکار می روند

:: این مدل شامل موارد زیر استاین مدل شامل موارد زیر است

.. مدل های جریان دادهمدل های جریان داده -1-1

.. مدل های ماشین حالتمدل های ماشین حالت -2-2

Page 140: بخش اول

مدل های جریان دادهمدل های جریان داده

روش شهودی برای نمایش چگونگی روش شهودی برای نمایش چگونگی پردازش داده ها توسط سیستم پردازش داده ها توسط سیستم

.. استاست

این مدل ها در ردیابی و مستند سازی این مدل ها در ردیابی و مستند سازی چگونگی انتقال داده های مربوط به چگونگی انتقال داده های مربوط به یک پردازش در سیستم، به تحلیل یک پردازش در سیستم، به تحلیل

.. گران کمک می کنندگران کمک می کنند

Page 141: بخش اول

مدل های ماشین حالتمدل های ماشین حالت

برای مدل سازی سیستم برای برای مدل سازی سیستم برای پاسخ گویی به رویدادهای داخلی پاسخ گویی به رویدادهای داخلی

.. یا خارجی بکار می رودیا خارجی بکار می رود

مشکل آن این است که تعداد مشکل آن این است که تعداد حالت های ممکن به سرعت رشد حالت های ممکن به سرعت رشد

.. می کندمی کند

Page 142: بخش اول

مدل های داده هامدل های داده هابخش مهمی از مدل سازی سیستم تعریف شکل بخش مهمی از مدل سازی سیستم تعریف شکل

منطقی داده هایی است که توسط سیستم منطقی داده هایی است که توسط سیستم پردازش می شوند . این مدل ها را گاهی مدل پردازش می شوند . این مدل ها را گاهی مدل

.. های داده معنایی می نامندهای داده معنایی می نامند

:: امتیازات استفاده از دیکشنری دادهاامتیازات استفاده از دیکشنری دادها

.. راهکاری برای مدیریت نام استراهکاری برای مدیریت نام است -1-1

به عنوان مخزنی برای اطالعات به عنوان مخزنی برای اطالعات -2-2 ..سازمانی عمل می کندسازمانی عمل می کند

Page 143: بخش اول

مدل های شیءمدل های شیء

مدل های شیء می توانند برای نمایش مدل های شیء می توانند برای نمایش داده های سیستم و پردازش آنها به کار داده های سیستم و پردازش آنها به کار

..گرفته شوندگرفته شوند

انتزاعی بر روی مجموعه ای از انتزاعی بر روی مجموعه ای از کالس ،کالس ،اشیاء است که صفات متداول و سرویس اشیاء است که صفات متداول و سرویس

ها یا عملیاتی را سناسایی می کند که ها یا عملیاتی را سناسایی می کند که .. توسط هر شیء ارائه می شودتوسط هر شیء ارائه می شود

Page 144: بخش اول

مدل های شیئی که ممکن مدل های شیئی که ممکن است توسعه یابند، حاوی است توسعه یابند، حاوی

:: موارد زیر می باشندموارد زیر می باشند

.. مدل های وراثتمدل های وراثت -1-1

.. مدل های ترکیبیمدل های ترکیبی -2-2

.. مدل های رفتاریمدل های رفتاری -3-3

Page 145: بخش اول

کالس شیء درکالس شیء در

کالس شیء در بصورت چهار گوشی کالس شیء در بصورت چهار گوشی :: باسه بخش نمایش داده می شودباسه بخش نمایش داده می شود

.. نام کالس شیء در بخش باالیی قرار داردنام کالس شیء در بخش باالیی قرار دارد -1-1

.. صفات کالس در بخش میانی اندصفات کالس در بخش میانی اند -2-2

عملیات مربوط به هر کالس شیء در بخش عملیات مربوط به هر کالس شیء در بخش -3-3.. پایینی قرار دارندپایینی قرار دارند

UMLUML

UMLUML

Page 146: بخش اول

مدل سازی رفتار شیءمدل سازی رفتار شیء

برای مدل سازی رفتار شیء باید برای مدل سازی رفتار شیء باید نشان دهیم که چگونه عملیات نشان دهیم که چگونه عملیات تهیه شده توسط شیء، مورد تهیه شده توسط شیء، مورد

..استفاده قرار می گیرنداستفاده قرار می گیرند

در رفتارها با استفاده در رفتارها با استفاده از سناریو هایی مدل سازی می از سناریو هایی مدل سازی می شود که مبتنی بر موارد کاربردندشود که مبتنی بر موارد کاربردند

..

UMLUML

Page 147: بخش اول

روش های ساخت یافتهروش های ساخت یافته

یک روش منظم برای تولید مدل های سیستم یک روش منظم برای تولید مدل های سیستم موجود یا سیستمی است که باید ساخته شودموجود یا سیستمی است که باید ساخته شود

..

روش های ساخت یافته دارای ضعف روش های ساخت یافته دارای ضعف :: های زیر استهای زیر است

پشتیبانی مؤثری برای درک مدل سازی پشتیبانی مؤثری برای درک مدل سازی -1 -1خواسته های غیر عملکردی سیستم خواسته های غیر عملکردی سیستم

.. فراهم نمی کنندفراهم نمی کنند

.. چندان روشن نیستندچندان روشن نیستند -2-2

.. اسناد زیادی تولید می کننداسناد زیادی تولید می کنند -3-3

مدل هایی که تولید می شوند بسیار مدل هایی که تولید می شوند بسیار -4-4.. مشروح اندمشروح اند

Page 148: بخش اول

محیط کاری تحلیل و طراحیمحیط کاری تحلیل و طراحی

دیکشنری داده هایدیکشنری داده های

امکانات واردات وامکانات واردات وصادراتصادرات

،،ابزارهای تحلیلابزارهای تحلیلطراحی و کنترلطراحی و کنترل

ابزارهایابزارهایتولید فرم هاتولید فرم ها

ابزارهای نمودارسازیابزارهای نمودارسازیساخت یافتهساخت یافته

امکانات تولیدامکانات تولیدگزارشگزارش

مولد کدمولد کد مخزن مرکزیمخزن مرکزیامکانات زبان تقاضاامکانات زبان تقاضااطالعاتاطالعات

Page 149: بخش اول

ابزارهای پشتیبانی از روش های ابزارهای پشتیبانی از روش های :: ساخت یافتهساخت یافته

.. ویراستارهای نمودارویراستارهای نمودار -1-1

.. ابزارهای تحلیل، طراحی و کنترلابزارهای تحلیل، طراحی و کنترل -2-2

.. امکانات زبان تقاضاامکانات زبان تقاضا -3-3

.. دیکشنری داده هادیکشنری داده ها -4-4

.. ابزارهای تعریف و تولید گزارشابزارهای تعریف و تولید گزارش -5-5

.. ابزارهای تعریف فرم هاابزارهای تعریف فرم ها -6-6

.. امکانات واردات وصادراتامکانات واردات وصادرات -7-7

.. مولد های کدمولد های کد -8-8

Page 150: بخش اول

99فصلفصل

مشخصات سیستم مشخصات سیستم های حیاتیهای حیاتی

Page 151: بخش اول

تعیین مشخصات مبتنی بر تعیین مشخصات مبتنی بر ریسکریسک

هدف تعیین مشخصات سیستم های حیاتی، درک هدف تعیین مشخصات سیستم های حیاتی، درک ریسک هایی است که سیستم با آن ها روبه رو ریسک هایی است که سیستم با آن ها روبه رو است و تولید خواسته های قابلیت اتکا برای است و تولید خواسته های قابلیت اتکا برای

شامل مراحل زیر شامل مراحل زیر مقابله با آن ریسک ها است و مقابله با آن ریسک ها است و :: استاست

.. شناسایی ریسکشناسایی ریسک -1-1

.. تحلیل و دسته بندی ریسکتحلیل و دسته بندی ریسک -2-2

.. تجزیه ریسکتجزیه ریسک -3-3

برآورد کاهش ریسکبرآورد کاهش ریسک -4-4

Page 152: بخش اول

تعیین مشخصات مبتنی بر تعیین مشخصات مبتنی بر ریسکریسک

شناسایی ریسکتحلیل و

دسته بندیریسک

تجزیه ریسکبرآورد کاهش

ریسک

توصیف ریسکتوصیف ریسک خواسته هایخواسته هایامنیتی اولیهامنیتی اولیه

تحلیلتحلیلبرآورد ریسکبرآورد ریسکعلت ریشه ایعلت ریشه ای

Page 153: بخش اول

برای سیستم های بزرگ، تحلیل برای سیستم های بزرگ، تحلیل ریسک در چند مرحله انجام می ریسک در چند مرحله انجام می

:: شودشود تحلیل اولیه ریسک که در آن ریسک های تحلیل اولیه ریسک که در آن ریسک های --11

مهم شناسایی می مهم شناسایی می شوند . شوند .

تحلیل مشروح تری از ریسک سیستم و زیر تحلیل مشروح تری از ریسک سیستم و زیر - - 22 سیستم .سیستم .

تحلیل ریسک نرم افزار که در آن ریسک تحلیل ریسک نرم افزار که در آن ریسک - - 33 های خطر نرم افزار در نظر های خطر نرم افزار در نظر

گرفته می شوند .گرفته می شوند .

تحلیل ریسک عملیاتی که به واسط کاربر تحلیل ریسک عملیاتی که به واسط کاربر - - 44 مربوط می شود و مربوط می شود و

ریسک هایی که از خطاهای اپراتور ناشی ریسک هایی که از خطاهای اپراتور ناشی می شوند .می شوند .

Page 154: بخش اول

شناسایی ریسکشناسایی ریسکشناسایی ریسک هایی است که شناسایی ریسک هایی است که

.. سیستم حیاتی باید با آنها مقابله کندسیستم حیاتی باید با آنها مقابله کند

در سیستم های امنیتی - حیاتی ، در سیستم های امنیتی - حیاتی ، ریسک های اصلی خطراتی هستند که ریسک های اصلی خطراتی هستند که

.. منجر به حادثه می شوندمنجر به حادثه می شوند

Page 155: بخش اول

تحلیل و دسته بندی ریسک هاتحلیل و دسته بندی ریسک ها

با درک احتمال وقوع ریسک و اثرات بالقوه آن با درک احتمال وقوع ریسک و اثرات بالقوه آن .. در اثر سوانح حاصل از آن سروکار دارددر اثر سوانح حاصل از آن سروکار دارد

ریسک ها می توانند به سه طریق دسته ریسک ها می توانند به سه طریق دسته :: بندی شوندبندی شوند

.. غیر قابل تحملغیر قابل تحمل -1-1

.. حداقل بودن اثر ریسکحداقل بودن اثر ریسک -2-2

.. قابل قبولقابل قبول -3-3

Page 156: بخش اول

تجزیه ریسکتجزیه ریسکفرایند کشف علل ریشه ای ریسک ها فرایند کشف علل ریشه ای ریسک ها

.. در یک سیستم خاص استدر یک سیستم خاص است

درخت عیبدرخت عیب

تحلیل درخت عیب شامل شناسایی تحلیل درخت عیب شامل شناسایی رویداد نامطلوب و کارکردن عقبگرد رویداد نامطلوب و کارکردن عقبگرد از آن رویداد برای یافتن آسان می از آن رویداد برای یافتن آسان می

.. باشدباشد

Page 157: بخش اول

برآورد کاهش ریسکبرآورد کاهش ریسکوقتی ریسک های بالقوه وعلل ریشه ای آن ها وقتی ریسک های بالقوه وعلل ریشه ای آن ها

شناسایی شدند، باید خواسته های قابلیت شناسایی شدند، باید خواسته های قابلیت اعتماد سیستم را بیابید که ریسک ها را اعتماد سیستم را بیابید که ریسک ها را

مدیریت کند وتضمین نماید که سانحه رخ نمی مدیریت کند وتضمین نماید که سانحه رخ نمی . . دهددهد

:: سه راهبرد برای این کار وجود داردسه راهبرد برای این کار وجود دارد

.. اجتناب از ریسکاجتناب از ریسک -1-1

.. تشخیص و حذف ریسکتشخیص و حذف ریسک -2-2

.. محدود سازی خساراتمحدود سازی خسارات -3-3

Page 158: بخش اول

مشخصات امنیتیمشخصات امنیتی

در این مدل، سیستم کنترلی ، تجهیزاتی در این مدل، سیستم کنترلی ، تجهیزاتی راکنترل می کند که خواسته های امنیتی راکنترل می کند که خواسته های امنیتی

سطح باالیی دارند .این خواسته های سطح سطح باالیی دارند .این خواسته های سطح باال ، دو نوع خواسته های امنیتی� مشروح تر باال ، دو نوع خواسته های امنیتی� مشروح تر را تولید می کند که برای سیستم حفاظت را تولید می کند که برای سیستم حفاظت

:: تجهیزات اعمال می شودتجهیزات اعمال می شود

.. خواسته های امنیتی عملکردیخواسته های امنیتی عملکردی -1-1

.. خواسته های جامعیت امنیتیخواسته های جامعیت امنیتی -2-2

Page 159: بخش اول

مشخصات حفاظتیمشخصات حفاظتیمشخصات خواسته های حفاظتی برای مشخصات خواسته های حفاظتی برای سیستم ها تا حدودی شبیه خواسته های سیستم ها تا حدودی شبیه خواسته های امنیتی است .آن ها مشخصاتی هستند امنیتی است .آن ها مشخصاتی هستند .. که نمی توان بصورت کمی بیان کردکه نمی توان بصورت کمی بیان کرد

V خواسته V خواسته خواسته های حفاظتی معموال خواسته های حفاظتی معموالهای ” نبایدها ” هستندکه رفتار های غیر های ” نبایدها ” هستندکه رفتار های غیر ..قابل قبول سیستم را مشخص می کنندقابل قبول سیستم را مشخص می کنند

Page 160: بخش اول

مراحل این فرایند مراحل این فرایند :: عبارتند ازعبارتند از

.. شناسایی و ارزیابی داراییشناسایی و ارزیابی دارایی -1-1

.. تحلیل تهدید و برآورد ریسکتحلیل تهدید و برآورد ریسک -2-2

.. انتساب تهدیدانتساب تهدید -3-3

.. تحلیل فن آوریتحلیل فن آوری -4-4

.. تعیین مشخصات حفاظتتعیین مشخصات حفاظت -5-5

Page 161: بخش اول

خواسته های حفاظتی که فایر خواسته های حفاظتی که فایر :: اسمیت شناسایی کرداسمیت شناسایی کرد

.. خواسته های شناساییخواسته های شناسایی -1-1

.. خواسته های تأییدخواسته های تأیید -2-2

.. خواسته های اعطای مجوزخواسته های اعطای مجوز -3-3

.. خواسته های مصونیتخواسته های مصونیت -4-4

.. خواسته های جامعیتخواسته های جامعیت -5-5

..خواسته های تشخیص تجاوزخواسته های تشخیص تجاوز -6-6

.. خواسته های عدم تکذیبخواسته های عدم تکذیب -7-7

.. خواسته های محرمانگیخواسته های محرمانگی -8-8

.. خواسته های حسابداری حفاظتیخواسته های حسابداری حفاظتی -9-9

.. خواسته های حفاظتی نگهداری سیستمخواسته های حفاظتی نگهداری سیستم -10-10

Page 162: بخش اول

مشخصات قابلیت اعتماد نرم مشخصات قابلیت اعتماد نرم افزارافزار

هنگام تعیین قابلیت اعتماد سیستم، سه بعد را هنگام تعیین قابلیت اعتماد سیستم، سه بعد را :: باید در نظر گرفتباید در نظر گرفت

.. قابلیت اعتماد سخت افزارقابلیت اعتماد سخت افزار -1-1

.. قابلیت اعتماد نرم افزارقابلیت اعتماد نرم افزار -2-2

.. قابلیت اعتماد اپراتورقابلیت اعتماد اپراتور -3-3

Page 163: بخش اول

معیارهای قابلیت اعتمادمعیارهای قابلیت اعتماد

انتخاب معیار به نوع سیستم و خواسته های دامنه انتخاب معیار به نوع سیستم و خواسته های دامنه ..کاربرد بستگی داردکاربرد بستگی دارد

نمونه هایی از انواع سیستم هایی که این نمونه هایی از انواع سیستم هایی که این معیارها می توانند در آنها بکار روند عبارتند معیارها می توانند در آنها بکار روند عبارتند

::ازاز

.. احتمال خرابی در تقاضااحتمال خرابی در تقاضا -1-1

.. نرخ وقوع خرابینرخ وقوع خرابی -2-2

.. میانگین زمان شکستمیانگین زمان شکست -3-3

.. قابلیت دسترسیقابلیت دسترسی -4-4

Page 164: بخش اول

در برآورد قابلیت اعتماد سیستم، در برآورد قابلیت اعتماد سیستم، از سه نوع اندازه گیری می توان از سه نوع اندازه گیری می توان

:: استفاده کرداستفاده کردتعدادخرابی های سیستم با توجه به تعداد تعدادخرابی های سیستم با توجه به تعداد -1 -1.. درخواست های سرویس از سیستمدرخواست های سرویس از سیستم

زمان ) یا تعداد تراکنش های ( بین خرابی زمان ) یا تعداد تراکنش های ( بین خرابی -2 -2.. های سیستمهای سیستم

زمان مصرفی برای ترمیم یا راه اندازی زمان مصرفی برای ترمیم یا راه اندازی -3 -3.. مجدد سیستممجدد سیستم

Page 165: بخش اول

خواسته های قابلیت اعتماد خواسته های قابلیت اعتماد غیر عملکردیغیر عملکردی

:: مراحل تعیین مشخصات قابلیت اعتمادمراحل تعیین مشخصات قابلیت اعتمادبرای هر زیر سیستم، انواع خرابی های برای هر زیر سیستم، انواع خرابی های -1-1

سیستم را شناسایی کنید و نتایج این خرابی سیستم را شناسایی کنید و نتایج این خرابی . . ها را تحلیل نماییدها را تحلیل نمایید

از تحلیل خرابی سیستم، خرابی ها به دسته از تحلیل خرابی سیستم، خرابی ها به دسته -2-2.. های مناسبی افراز کنیدهای مناسبی افراز کنید

برای هر دسته از خرابی، با استفاده از معیار برای هر دسته از خرابی، با استفاده از معیار -3 -3قابلیت اعتماد مناسب، خواسته قابلیت قابلیت اعتماد مناسب، خواسته قابلیت

.. اعتماد را تعریف کنیداعتماد را تعریف کنید

در صورت لزوم، خواسته های قابلیت اعتماد در صورت لزوم، خواسته های قابلیت اعتماد -4-4.. عملکردی را شناسایی کنیدعملکردی را شناسایی کنید

Page 166: بخش اول

دسته بندی خرابی هادسته بندی خرابی ها

.. موقتموقت -1-1

.. دائمیدائمی -2-2

.. قابل ترمیمقابل ترمیم -3-3

.. غیر قابل ترمیمغیر قابل ترمیم -4-4

.. بدون تخریببدون تخریب -5-5

.. مخربمخرب -6-6

Page 167: بخش اول

دو نوع خرابی را می توان دو نوع خرابی را می توان شناسایی کردشناسایی کرد

خرابی هایی خرابی هایی :: خرابی های موقتیخرابی های موقتی -1-1هستند که کاربر می تواند آن ها هستند که کاربر می تواند آن ها

.. را ترمیم کندرا ترمیم کند

خرابی هایی خرابی هایی : : خرابی های دائمیخرابی های دائمی -2-2هستند که توسط کارخانه سازنده هستند که توسط کارخانه سازنده

.. ترمیم می شوندترمیم می شوند

Page 168: بخش اول

1010فصلفصل

مشخصات مشخصات رسمیرسمی

Page 169: بخش اول

مشخصات رسمی در فرایند مشخصات رسمی در فرایند نرم افزارنرم افزار

ایجاد مشخصات رسمی منجر به تحلیل های ایجاد مشخصات رسمی منجر به تحلیل های مشروحی از سیستم ها می شود که خطا ها و مشروحی از سیستم ها می شود که خطا ها و ناسازگاری های موجود در مشخصات خواسته ناسازگاری های موجود در مشخصات خواسته

.. ها را آشکار می کندها را آشکار می کند

دو روش برای تعیین مشخصات رسمی دو روش برای تعیین مشخصات رسمی :: وجود داردوجود دارد

.. روش جبریروش جبری -1-1

.. روش مبتنی بر مدلروش مبتنی بر مدل -2-2

Page 170: بخش اول

مشخصات و طراحیمشخصات و طراحی

تعریفتعریفخواسته های کاربرخواسته های کاربر

مشخصاتمشخصاتطراحی سطح باالطراحی سطح باالمشخصات رسمیمشخصات رسمیطراحی معماریطراحی معماریخواسته های سیستمخواسته های سیستم

مشخصاتمشخصات

طراحیطراحی

Page 171: بخش اول

مشخصات رسمی در فرایند نرم مشخصات رسمی در فرایند نرم افزارافزار

تعریفتعریفخواسته های کاربرخواسته های کاربر

مشخصاتمشخصاتخواسته های سیستمخواسته های سیستم

طراحی معماریطراحی معماری

مشخصات رسمیمشخصات رسمی

طراحی سطح باالطراحی سطح باال

مدل سازی سیستممدل سازی سیستم

Page 172: بخش اول

تعیین مشخصات واسط زیر تعیین مشخصات واسط زیر سیستمسیستم

V به V به واسط های زیر سیستم ها معموال واسط های زیر سیستم ها معموال صورت مجموعه ایصورت مجموعه ای

از انواع داده انتزاعی یا اشیا تعریف می از انواع داده انتزاعی یا اشیا تعریف می ، ،شوند .این هاشوند .این ها

داده ها و عملیاتی را توصیف می کنند داده ها و عملیاتی را توصیف می کنند که از طریقکه از طریق

واسط زیر سیستم قابل دستیابی واسط زیر سیستم قابل دستیابی .. استاست

Page 173: بخش اول

فرایند توسعه مشخصات رسمی فرایند توسعه مشخصات رسمی واسط زیر سیستم باید شامل واسط زیر سیستم باید شامل

:: فعالیت های زیر باشدفعالیت های زیر باشد

.. سازماندهی مشخصاتسازماندهی مشخصات -1-1

.. نامگذاری مشخصاتنامگذاری مشخصات -2-2

.. انتخاب عملیاتانتخاب عملیات -3-3

.. مشخصات عملیات غیر رسمیمشخصات عملیات غیر رسمی -4-4

.. تعریف نحوتعریف نحو -5-5

.. تعریف اصل موضوعتعریف اصل موضوع -6-6

Page 174: بخش اول

عملیات بر روی نوع داده انتزاعی عملیات بر روی نوع داده انتزاعی ::دو دسته انددو دسته اند

نهاد هایی از گونة نهاد هایی از گونة :: عملیات سازندهعملیات سازنده -1-1تعریف شده در مشخصات را ایجاد و اصالح تعریف شده در مشخصات را ایجاد و اصالح

.. می کنندمی کنند

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

Page 175: بخش اول

مشخصات مشخصات رفتاریرفتاری

تکنیک های مبتنی بر مدل، سیستم را با تکنیک های مبتنی بر مدل، سیستم را با استفاده از ساختارهای ریاضی مثل استفاده از ساختارهای ریاضی مثل

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

.. آسان تر می گرددآسان تر می گردد

عملیات موجود در مشخصات مبتنی بر عملیات موجود در مشخصات مبتنی بر مدل، با تعریف پیش شرط ها و پس شرط مدل، با تعریف پیش شرط ها و پس شرط .. ها روی حالت سیستم مشخص می شوندها روی حالت سیستم مشخص می شوند

Page 176: بخش اول

اسامی تعریف شده در این اسامی تعریف شده در این : : طرحطرح

.. ورودی های سیستمورودی های سیستم -1-1

.. خروجی های سیستمخروجی های سیستم -2-2

متغیر های حالت برای انجام متغیر های حالت برای انجام -3-3.. محاسباتمحاسبات

Page 177: بخش اول

بخش سومبخش سوم

طراحیطراحی

Page 178: بخش اول

1111فصلفصل

طراحی طراحی معماریمعماری

Page 179: بخش اول

طراحی طراحی معماریمعماری

فرایند اولیه طراحی جهت شناسایی زیر فرایند اولیه طراحی جهت شناسایی زیر سیستم ها و ایجاد چارچوبی برای کنترل و سیستم ها و ایجاد چارچوبی برای کنترل و

.. ارتباطات زیر سیستم، می باشدارتباطات زیر سیستم، می باشد

سه امتیاز طراحی و مستند سازی سه امتیاز طراحی و مستند سازی :: معماری نرم افزارمعماری نرم افزار

.. ارتباط با واگذارندگانارتباط با واگذارندگان -1-1

.. تحلیل سیستمتحلیل سیستم -2-2

. . استفاده مجدد در مقیاس باالاستفاده مجدد در مقیاس باال -3-3

Page 180: بخش اول

معماری سیستم ممکن است معماری سیستم ممکن است به خواسته های غیر عملکردی به خواسته های غیر عملکردی

:: زیر بستگی داشته باشدزیر بستگی داشته باشد

.. کاراییکارایی -1 -1

.. حفاظتحفاظت -2-2

.. امنیتامنیت -3 -3

.. قابلیت دسترسیقابلیت دسترسی -4 -4

.. قابلیت نگهداریقابلیت نگهداری -5 -5

Page 181: بخش اول

مدل های معماری که ممکن است مدل های معماری که ممکن است :: توسعه یابندتوسعه یابند

.. مدل ساختاری ایستامدل ساختاری ایستا -1-1

.. مدل فرایند پویامدل فرایند پویا -2-2

.. مدل واسطمدل واسط -3-3

.. مدل رابطهمدل رابطه -4-4

.. مدل توزیعیمدل توزیعی -5-5

Page 182: بخش اول

سازمان سازمان سیستمسیستم

راهبرد پایه ای را مشخص می کند که برای راهبرد پایه ای را مشخص می کند که برای .. تعیین ساختار سیستم بکار می روندتعیین ساختار سیستم بکار می روند

سه سبک سازمانی زیر کاربرد وسیعی سه سبک سازمانی زیر کاربرد وسیعی :: دارنددارند

.. مدل مخزنمدل مخزن -1-1

.. مدل مشتری - کارگزارمدل مشتری - کارگزار -2-2

.. مدل الیه ایمدل الیه ای -3-3

Page 183: بخش اول

مدل مدل مخزنمخزن

زیر سیستم های سازنده سیستم باید اطالعات زیر سیستم های سازنده سیستم باید اطالعات را طوری مبادله کنند که بطور مؤثر با یکدیگر را طوری مبادله کنند که بطور مؤثر با یکدیگر

.. کار کنندکار کنند

:: دو روش برای این کار وجود دارددو روش برای این کار وجود دارد

تمام داده های مشترک در بانک اطالعاتی تمام داده های مشترک در بانک اطالعاتی -1-1مرکزی نگهداری می شوند که تمام زیر سیستم مرکزی نگهداری می شوند که تمام زیر سیستم

.. ها باید به آن دسترسی داشته باشندها باید به آن دسترسی داشته باشند

هر زیر سیستم، بانک اطالعاتی مخصوصی هر زیر سیستم، بانک اطالعاتی مخصوصی -2-2دارد . داده ها از طریق ارسال پیام بین زیر دارد . داده ها از طریق ارسال پیام بین زیر

. . سیستم ها مبادله می شودسیستم ها مبادله می شود

Page 184: بخش اول

امتیازات و معایب مخزن مشترک امتیازات و معایب مخزن مشترک :: عبارت اند ازعبارت اند از

راه مؤثری برای به اشتراک گذاشتن راه مؤثری برای به اشتراک گذاشتن -1-1حجم زیادیحجم زیادی

.. از داده ها استاز داده ها است

زیر سیستم ها باید با مدل مخزنی زیر سیستم ها باید با مدل مخزنی -2-2.. موافق باشندموافق باشند

زیر سیستم هایی که داده ها را تولید زیر سیستم هایی که داده ها را تولید -3-3 می کنند بهمی کنند به

چگونگی استفاده از آن ها توسط چگونگی استفاده از آن ها توسط زیر سیستم هایزیر سیستم های

.. دیگری توجهی ندارنددیگری توجهی ندارند در حجم زیاد اطالعات ، تکامل در حجم زیاد اطالعات ، تکامل -4-4

.. دشوار استدشوار است

Page 185: بخش اول

امتیازات و معایب مخزن مشترک امتیازات و معایب مخزن مشترک :: عبارت اند ازعبارت اند از

برفعالیت هایی مثل تهیه پشتیبان، برفعالیت هایی مثل تهیه پشتیبان، -5-5حفاظت ،کنترل دستیابی و حفاظت ،کنترل دستیابی و

.. ترمیم از خطا متمرکز استترمیم از خطا متمرکز است

زیر سیستم های مختلف ممکن است زیر سیستم های مختلف ممکن است -6-6خواسته های متفاوتی داشته خواسته های متفاوتی داشته

..باشندباشند

مدل اشتراکی از طریق طرح کلی مدل اشتراکی از طریق طرح کلی -7-7..مخزن قابل مشاهده استمخزن قابل مشاهده است

توزیع مخزن در چند ماشین دشوار توزیع مخزن در چند ماشین دشوار -8-8.. استاست

Page 186: بخش اول

تعیین مشخصات مبتنی بر تعیین مشخصات مبتنی بر ریسکریسک

مخزن پروژهمخزن پروژه ویراستار برنامهویراستار برنامه

تحلیل گر طراحیتحلیل گر طراحیمولد گزارشمولد گزارش

ویراستار طراحیویراستار طراحی

مترجم طراحیمترجم طراحی

مولد کدمولد کد

Page 187: بخش اول

مدل مشتری - کارگذارمدل مشتری - کارگذاریک مدل سیستم است که در آن، سیستم به یک مدل سیستم است که در آن، سیستم به مجموعه ای از سرویس ها و سرویس دهنده مجموعه ای از سرویس ها و سرویس دهنده

.. ها سازماندهی شده استها سازماندهی شده است

:: قطعات اصلی این مدل عبارت اند ازقطعات اصلی این مدل عبارت اند از

مجموعه ای از کارگزاران مستقل که مجموعه ای از کارگزاران مستقل که -1-1 سرویس هایی را به زیر سیستم های سرویس هایی را به زیر سیستم های

.. دیگر ارائه می کننددیگر ارائه می کنند

مجموعه ای از مشتریان که از سرویس مجموعه ای از مشتریان که از سرویس -2-2 .. های کارگزاران استفاده می کنندهای کارگزاران استفاده می کنند

شبکه ای که اجازه می دهد مشتریان به شبکه ای که اجازه می دهد مشتریان به -3-3 این سرویس ها دسترسی داشته این سرویس ها دسترسی داشته

.. باشندباشند

Page 188: بخش اول

مدل الیه ایمدل الیه ای

مدل الیه ای یک معماری، سیستم را مدل الیه ای یک معماری، سیستم را بصورت مجموعه ای از الیه ها سازماندهی بصورت مجموعه ای از الیه ها سازماندهی می کند که هر الیه مجموعه ای از سرویس می کند که هر الیه مجموعه ای از سرویس

.. ها را ارائه می کندها را ارائه می کند

روش الیه ای از توسعه تدریجی سیستم ها روش الیه ای از توسعه تدریجی سیستم ها .. پشتیبانی می کندپشتیبانی می کند

عیب روش الیه این است که تعیین ساختار عیب روش الیه این است که تعیین ساختار .. سیستم دشوار استسیستم دشوار است

Page 189: بخش اول

مدل الیه ای سیستم مدیریت مدل الیه ای سیستم مدیریت نسخه هانسخه ها

الیه سیستم مدیریت پیکر بندیالیه سیستم مدیریت پیکر بندی

الیه سیستم مدیریت شیءالیه سیستم مدیریت شیء

الیه سیستم بانک اطالعاتیالیه سیستم بانک اطالعاتی

الیه سیستم عاملالیه سیستم عامل

Page 190: بخش اول

سبک های تجزیه پیمانه ایسبک های تجزیه پیمانه ایتمایز روشنی بین زیر سیستم ها و پیمانه ها وجود تمایز روشنی بین زیر سیستم ها و پیمانه ها وجود ندارد اما خوب است آن ها را بصورت زیر تصور ندارد اما خوب است آن ها را بصورت زیر تصور

:: کنیمکنیم

سیستمی است که عملیاتش به سیستمی است که عملیاتش به ،،زیر سیستمزیر سیستم -1-1سرویس های ارائه شده توسط زیر سیستم های سرویس های ارائه شده توسط زیر سیستم های

دیگر بستگی ندارد . زیر سیستم ها ترکیبی از دیگر بستگی ندارد . زیر سیستم ها ترکیبی از پیمانه ها هستند و واسط هایی دارند که برای پیمانه ها هستند و واسط هایی دارند که برای

.. ارتباط با زیر سیستم های دیگر به کار می روندارتباط با زیر سیستم های دیگر به کار می روند

V یک قطعه از سیستم است که ،،پیمانهپیمانه -2-2 V یک قطعه از سیستم است که معموال معموالیک یا چند سرویس را برای پیمانه های دیگر یک یا چند سرویس را برای پیمانه های دیگر

.. فراهم می سازدفراهم می سازد

Page 191: بخش اول

هنگام تجزیه زیر سیستم ها به هنگام تجزیه زیر سیستم ها به پیمانه ها از دو مدل می توان پیمانه ها از دو مدل می توان

:: استفاده کرداستفاده کرد

سیستم به مجموعه ای از سیستم به مجموعه ای از :: مدل شیءگرامدل شیءگرا -1-1.. اشیاء مرتبط تجزیه می شوداشیاء مرتبط تجزیه می شود

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

.. می بردمی برد

Page 192: بخش اول

مدل های شیءمدل های شیءمدل شیءگرای معماری سیستم، ساختار مدل شیءگرای معماری سیستم، ساختار

سیستم را به صورت مجموعه ای از اشیاء در سیستم را به صورت مجموعه ای از اشیاء در می آورد که اتصال ضعیفی دارند و واسطی می آورد که اتصال ضعیفی دارند و واسطی

.. برای آنها تعریف شده استبرای آنها تعریف شده است

در این روش، چون اشیاء وابستگی چندانی به در این روش، چون اشیاء وابستگی چندانی به هم ندارند، پیاده سازی اشیا بدون تأثیر بر هم ندارند، پیاده سازی اشیا بدون تأثیر بر

.. اشیای دیگر قابل اصالح استاشیای دیگر قابل اصالح است

Page 193: بخش اول

لوله کشی لوله کشی عمل گراعمل گرا

در مدل لوله کشی عمل گرا یا مدل جریان داده، در مدل لوله کشی عمل گرا یا مدل جریان داده، تبدیالت عملکردی، ورودی هایشان را پردازش می تبدیالت عملکردی، ورودی هایشان را پردازش می

.. کنند و خروجی هایی را تولید می نمایندکنند و خروجی هایی را تولید می نمایند

:: امتیازات این معماری عبارت اند ازامتیازات این معماری عبارت اند از

.. از استفاده مجدد تبدیالت استفاده می کنداز استفاده مجدد تبدیالت استفاده می کند -1-1

شهودی است، به طوری که افراد کارشان را شهودی است، به طوری که افراد کارشان را -2 -2 بر حسب پردازش ورودی - خروجی می بر حسب پردازش ورودی - خروجی می

.. نگرندنگرند

تکامل سیستم با اضافه کردن تبدیالت جدید، تکامل سیستم با اضافه کردن تبدیالت جدید، -3-3 .. آسان استآسان است

پیاده سازی آن بصورت سیستم ترتیبی یا پیاده سازی آن بصورت سیستم ترتیبی یا -4-4 .. همزمان، آسان استهمزمان، آسان است

Page 194: بخش اول

مدل های کنترلیمدل های کنترلی

مدل های کنترلی، در سطح معماری با مدل های کنترلی، در سطح معماری با جریان کنترل بین زیر سیستم ها جریان کنترل بین زیر سیستم ها

..سروکار داردسروکار دارد

:: دو روش برای کنترل وجود دارددو روش برای کنترل وجود دارد

.. کنترل متمرکزکنترل متمرکز -1-1

. . کنترل رویدادیکنترل رویدادی -2-2

Page 195: بخش اول

کنترل متمرکزکنترل متمرکز

در مدل کنترل متمرکز ، یک زیر سیستم در مدل کنترل متمرکز ، یک زیر سیستم به عنوان کنترلگر محسوب می شود و به عنوان کنترلگر محسوب می شود و مسئولیت مدیریت بر اجرای سایر زیر مسئولیت مدیریت بر اجرای سایر زیر

.. سیستم ها را به عهده داردسیستم ها را به عهده دارد

زیر سیستم های کنترل شده به دو دسته زیر سیستم های کنترل شده به دو دسته :: تقسیم می شوندتقسیم می شوند

.. مدل فراخوانی _ برگشتمدل فراخوانی _ برگشت -1-1

. . مدل مدیریتمدل مدیریت -2-2

Page 196: بخش اول

سیستم های سیستم های رویدادیرویدادی

مدل های رویدادی، توسط رویدادهای مدل های رویدادی، توسط رویدادهای .. خارجی مشخص می شوندخارجی مشخص می شوند

دو مدل از کنترل رویدادی عبارت اند دو مدل از کنترل رویدادی عبارت اند :: ازاز

.. مدل های پخشیمدل های پخشی -1-1

. . مدل های وقفه ایمدل های وقفه ای -2-2

Page 197: بخش اول

مدل کنترل مبتنی بر مدل کنترل مبتنی بر پخشپخش

اداره کننده پیام و رویداداداره کننده پیام و رویداد

11زیر سیستمزیر سیستم 22زیر سیستمزیر سیستم 33زیر سیستمزیر سیستم 44زیر سیستمزیر سیستم

Page 198: بخش اول

معماری های مرجعمعماری های مرجع

هنگام ایجاد سیستم های جدید می توان هنگام ایجاد سیستم های جدید می توان دوباره از ساختار معماری استفاده کرد . این دوباره از ساختار معماری استفاده کرد . این مدل ها را معماری ویژه دامنه کاربرد می مدل ها را معماری ویژه دامنه کاربرد می

.. نامندنامند

دو نوع مدل معماری ویژه دامنه کاربرد دو نوع مدل معماری ویژه دامنه کاربرد ::وجود داردوجود دارد

.. معماری های کلیمعماری های کلی -1-1

.. معماری های مرجعمعماری های مرجع -2-2

Page 199: بخش اول

پنج سطح سرویس ها در مدل مرجع پنج سطح سرویس ها در مدل مرجع :: کیس عبارت اند ازکیس عبارت اند از

سرویس های مخزن سرویس های مخزن -1-1.. دادهداده

سرویس های جامعیت سرویس های جامعیت -2-2.. دادهداده

سرویس های مدیریت سرویس های مدیریت -3-3.. وظیفهوظیفه

.. سرویس های پیامسرویس های پیام -4-4

سرویس های واسط سرویس های واسط -5-5.. کاربرکاربر

Page 200: بخش اول

1212فصلفصل

معماری های سیستم های معماری های سیستم های توزیعیتوزیعی

Page 201: بخش اول

پنج ویژگی مهم برای سیستم پنج ویژگی مهم برای سیستم :: های توزیعیهای توزیعی

.. اشتراک منابعاشتراک منابع -1-1

.. باز بودنباز بودن -2-2

.. همزمانیهمزمانی -3-3

.. مقیاس پذیریمقیاس پذیری -4-4

.. تحمل عیبتحمل عیب -5-5

Page 202: بخش اول

:: معایب سیستم های توزیعیمعایب سیستم های توزیعی سیستم های توزیعی پیچیده تر سیستم های توزیعی پیچیده تر ::پیچیدگی پیچیدگی -1-1.. از سیستم های متمرکز هستنداز سیستم های متمرکز هستند

.. حفاظت در شبکه دشوار است حفاظت در شبکه دشوار است::حفاظت حفاظت -2-2

تالش زیادی برای مدیریت تالش زیادی برای مدیریت ::مدیریت پذیری مدیریت پذیری -3-3 . . و نگهداری سیستم الزم استو نگهداری سیستم الزم است

پاسخ سیستم ، پاسخ سیستم ، ::غیر قابل پیش بینی بودن غیر قابل پیش بینی بودن -4-4به بار سیستم، سازمان آن و بار به بار سیستم، سازمان آن و بار

.. شبکه بستگی داردشبکه بستگی دارد

Page 203: بخش اول

انواع معماری سیستم های انواع معماری سیستم های :: توزیعیتوزیعی

معماری های مشتری – معماری های مشتری – -1-1.. کارگزارکارگزار

معماری های شیء توزیعیمعماری های شیء توزیعی -2-2..

Page 204: بخش اول

معماری های چند پردازنده ایمعماری های چند پردازنده ایساده ترین مدل سیستم توزیعی است که سیستم ساده ترین مدل سیستم توزیعی است که سیستم

از تعدادی فرایند تشکیل شده است که ممکن از تعدادی فرایند تشکیل شده است که ممکن است بر روی پردازنده های جداگانه ای اجرا است بر روی پردازنده های جداگانه ای اجرا

.. شوندشوند

معماری های مشتری – کارگزارمعماری های مشتری – کارگزارسیستم بصورت مجموعه ای از سرویس ها و سیستم بصورت مجموعه ای از سرویس ها و

مشتریان مدل سازی می شوند . در سیستم مشتریان مدل سازی می شوند . در سیستم مشتری – کارگزار، واسط کاربر همیشه در مشتری – کارگزار، واسط کاربر همیشه در مشتری اجرا می شود و مدیریت داده ها در مشتری اجرا می شود و مدیریت داده ها در

.. کارگزار صورت می گیردکارگزار صورت می گیرد

Page 205: بخش اول

دو دو ساده ترین معماری مشتری – کارگزار� ساده ترین معماری مشتری – کارگزار� نام دارد که نام دارد کهردیفیردیفی

در آن هر کاربرد به صورت یک کارگزار و در آن هر کاربرد به صورت یک کارگزار و مجموعه ای ازمجموعه ای از

مشتریان تشکیل می شود و به دو صورت مشتریان تشکیل می شود و به دو صورت :: هستندهستند

.. مدل مشتری ضعیفمدل مشتری ضعیف -1-1

.. مدل مشتری قویمدل مشتری قوی -2-2

Page 206: بخش اول

سیستم مشتری - سیستم مشتری - کارگزارکارگزار

s1s1 s4s4

s3s3s2s2

c2c2

c1c1

c4c4 c4c4

c5c5

c6c6c7c7 c8c8

c9c9

c10c10

c11c11

c12c12

فرایند کارگزارفرایند کارگزار

فرایند مشتریفرایند مشتری

Page 207: بخش اول

معماری های شیء توزیعیمعماری های شیء توزیعیدر سیستم های شیء توزیعی، تمایزی بین در سیستم های شیء توزیعی، تمایزی بین مشتریان و کارگزاران وجود ندارند . اشیاء مشتریان و کارگزاران وجود ندارند . اشیاء

سرویس های کلی را ارائه می دهند که اشیاء سرویس های کلی را ارائه می دهند که اشیاء .. دیگر آن را فراخوانی می کننددیگر آن را فراخوانی می کنند

برای اداره کردن ارتباطات شیء و برای برای اداره کردن ارتباطات شیء و برای حذف واضافه اشیاء به سیستم، نیاز به میان حذف واضافه اشیاء به سیستم، نیاز به میان

افزار دارد. در نتیجه میان افزار ها را می توان افزار دارد. در نتیجه میان افزار ها را می توان گذرگاه نرم افزار دانست که اشیاء به آن گذرگاه نرم افزار دانست که اشیاء به آن

.. وصل می شوندوصل می شوند

Page 208: بخش اول

امتیازات مدل معماری های امتیازات مدل معماری های : :شیء توزیعیشیء توزیعی

به طراح سیستم اجازه می دهد تا تصمیم به طراح سیستم اجازه می دهد تا تصمیم -1-1گیری در مورد چگونگی ارائه گیری در مورد چگونگی ارائه

.. سرویس ها به تأخیر افتدسرویس ها به تأخیر افتد

یک معماری سیستم باز است که اجازه یک معماری سیستم باز است که اجازه -2-2می دهد در صورت لزوم منابع جدیدی می دهد در صورت لزوم منابع جدیدی

.. اضافه شونداضافه شوند

سیستم قابل انعطاف و مقیاس پذیر سیستم قابل انعطاف و مقیاس پذیر -3-3.. استاست

در صورت لزوم، با جابه جایی اشیاء در در صورت لزوم، با جابه جایی اشیاء در -4-4شبکه، سیستم را می توان به طور شبکه، سیستم را می توان به طور

.. پویا پیکربندی کردپویا پیکربندی کرد

Page 209: بخش اول

معماری های شیء توزیعی به دو معماری های شیء توزیعی به دو روش در طراحی سیستم به روش در طراحی سیستم به

:: کارگرفته می شودکارگرفته می شود

به عنوان مدل منطقی که اجازه تعیین به عنوان مدل منطقی که اجازه تعیین -1-1.. ساختار و سازمان سیستم را می دهدساختار و سازمان سیستم را می دهد

یک روش قابل انعطاف برای سیستم های یک روش قابل انعطاف برای سیستم های -2-2.. مشتری – کارگزار استمشتری – کارگزار است

Page 210: بخش اول

CORBACORBAبرای اداره کردن ارتباطات شیء و برای برای اداره کردن ارتباطات شیء و برای حذف واضافه اشیاء به سیستم، نیاز به حذف واضافه اشیاء به سیستم، نیاز به

..میان افزار داردمیان افزار دارد

در واقع، اشیای موجود در سیستم را می در واقع، اشیای موجود در سیستم را می توان با استفاده از زبان های برنامه توان با استفاده از زبان های برنامه

سازی مختلف پیاده سازی کرد در محیط سازی مختلف پیاده سازی کرد در محیط های مختلفی اجرا نمود و الزم نیست های مختلفی اجرا نمود و الزم نیست

اشیاء دیگر موجود در سیستم نام آن ها اشیاء دیگر موجود در سیستم نام آن ها ..را بدانندرا بدانند

Page 211: بخش اول

:: CORBACORBA چهار عنصر مهم چهار عنصر مهم استاندارداستاندارد

مدل شیء برای اشیای کاربردی مدل شیء برای اشیای کاربردی -1-1 که در آن ها بسته بندی حالت استکه در آن ها بسته بندی حالت است

. . CORBACORBA شیءشیء

.. کارگزار درخواست شیءکارگزار درخواست شیء -2-2

مجموعه ای از سرویس های مجموعه ای از سرویس های -3-3.. شیءشیء

مجموعه ای از قطعات متداول مجموعه ای از قطعات متداول -4-4که توسط کاربردها که توسط کاربردها

.. درخواست می شوددرخواست می شود

Page 212: بخش اول

محاسبات توزیعی درون محاسبات توزیعی درون سازمانیسازمانی

معماری های نظیر به نظیرمعماری های نظیر به نظیر -1-1..

معماری سیستم سرویس معماری سیستم سرویس -2-2.. گراگرا

Page 213: بخش اول

معماری سیستم معماری سیستم نظیر به نظیرنظیر به نظیر

سیستم های غیر متمرکزی هستند که سیستم های غیر متمرکزی هستند که محاسبات می توانند در هر گره ای از شبکه محاسبات می توانند در هر گره ای از شبکه

انجام شوند، و حداقل، هیچ توزیعی بین انجام شوند، و حداقل، هیچ توزیعی بین مشتریان و سرویس دهندگان انجام نمی مشتریان و سرویس دهندگان انجام نمی

.. گیردگیرد

معماری سیستم سرویس گرامعماری سیستم سرویس گرا

این سرویس ها از طریق پیوند سرویس های این سرویس ها از طریق پیوند سرویس های نرم افزاری ایجاد می شود که توسط عرضه نرم افزاری ایجاد می شود که توسط عرضه

.. کنندگان سرویس ارائه شده اندکنندگان سرویس ارائه شده اند

Page 214: بخش اول

معماری ادراکی سیستم معماری ادراکی سیستم سرویس گراسرویس گرا

متقاضی سرویسمتقاضی سرویس سرویسسرویس تأمین کنندهتأمین کننده

سرویسسرویس

بایگانی سرویسبایگانی سرویسیافتنیافتن

مقید کردنمقید کردن

انتشارانتشار

Page 215: بخش اول

1313فصلفصل

معماری کاربردمعماری کاربرد

Page 216: بخش اول

موارد استفاده از معماری کلی موارد استفاده از معماری کلی :: کاربردکاربرد

به عنوان نقطه شروع فرایند طراحی به عنوان نقطه شروع فرایند طراحی -1-1.. معماریمعماری

.. به عنوان لیست کنترلی طراحیبه عنوان لیست کنترلی طراحی -2-2

به عنوان روشی برای سازماندهی کار تیم به عنوان روشی برای سازماندهی کار تیم -3-3.. توسعهتوسعه

به عنوان وسیله ای برای ارزیابی قطعات به عنوان وسیله ای برای ارزیابی قطعات -4-4.. برای استفاده مجددبرای استفاده مجدد

به عنوان واژگانی برای بحث در مورد انواع به عنوان واژگانی برای بحث در مورد انواع -5-5.. کاربرد هاکاربرد ها

Page 217: بخش اول

معماری چهار نوع کاربرد معماری چهار نوع کاربرد :: گستردهگسترده

کاربردهای پردازش داده کاربردهای پردازش داده -1-1.. هاها

کاربرد های پردازش کاربرد های پردازش -2-2.. تراکنشتراکنش

سیستم های پردازش سیستم های پردازش -3-3.. رویدادرویداد

سیستم های پردازش سیستم های پردازش -4-4.. زبانزبان

Page 218: بخش اول

سیستم های پردازش دادهسیستم های پردازش دادهاین سیستم ها در حالت دسته ای کار می کنند و این سیستم ها در حالت دسته ای کار می کنند و دارای ساختار ورودی - پردازش - خروجی اند . دارای ساختار ورودی - پردازش - خروجی اند .

رکورد ها وارد سیستم می شوند، اطالعات رکورد ها وارد سیستم می شوند، اطالعات .. پردازش می شوند و خروجی تولید می گرددپردازش می شوند و خروجی تولید می گردد

معماری سیستم های پردازش دسته ای سه معماری سیستم های پردازش دسته ای سه :: قطعه اصلی داردقطعه اصلی دارد

.. قطعه ورودیقطعه ورودی -1-1

.. قطعه پردازشقطعه پردازش -2-2

.. قطعه خروجیقطعه خروجی -3-3

Page 219: بخش اول

مدل پردازش ورودی - پردازش - مدل پردازش ورودی - پردازش - خروجیخروجی

بانک اطالعاتیبانک اطالعاتی

ورودیورودی

سیستمسیستم

پردازشپردازش خروجیخروجیچاپچاپ

Page 220: بخش اول

سیستم های پردازش سیستم های پردازش تراکنشتراکنش

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

سیستم های اطالعاتی و سیستم های مدیریت سیستم های اطالعاتی و سیستم های مدیریت منابع نمونه هایی از سیستم های پردازش منابع نمونه هایی از سیستم های پردازش

.. تراکنش اندتراکنش اند

منطق کاربردمنطق کاربرد پردازشپردازشI/OI/O ساختار کاربردهای پردازش تراکنشساختار کاربردهای پردازش تراکنش مدیر تراکنشمدیر تراکنش بانک اطالعاتیبانک اطالعاتی

Page 221: بخش اول

سیستم های مدیریت منابع و سیستم های مدیریت منابع و اطالعاتاطالعات

تمام سیستم هایی که با بانک اطالعاتی تمام سیستم هایی که با بانک اطالعاتی اشتراکی اند تعامل دارند، به عنوان اشتراکی اند تعامل دارند، به عنوان

سیستم های اطالعاتی تراکنشی در نظر سیستم های اطالعاتی تراکنشی در نظر . . گرفته می شوندگرفته می شوند

سیستم های مدیریت منبع اندازه ثابتی از سیستم های مدیریت منبع اندازه ثابتی از .. یک منبع را مدیریت می کنندیک منبع را مدیریت می کنند

Page 222: بخش اول

بعضی از سیستم های تخصیص منبع بعضی از سیستم های تخصیص منبع :: عبارت اند ازعبارت اند از

.. سیستم های جدول زمانیسیستم های جدول زمانی -1-1

.. سیستم های کتابخانهسیستم های کتابخانه -2-2

سیستم های مدیریت ترافیک سیستم های مدیریت ترافیک -3-3 . . هواییهوایی

Page 223: بخش اول

مدل الیه ای سیستم اطالعاتمدل الیه ای سیستم اطالعات

واسط کاربرواسط کاربر

ارتباطات کاربرارتباطات کاربر

بازیابی اطالعات و اصالحاتبازیابی اطالعات و اصالحات

بانک اطالعاتی مدیریت تراکنشبانک اطالعاتی مدیریت تراکنش

Page 224: بخش اول

قطعات سیستم تخصیص منبع قطعات سیستم تخصیص منبع :: عبارت اند ازعبارت اند از

.. بانک اطالعاتی منبعبانک اطالعاتی منبع -1-1

.. مجموعه قانونمجموعه قانون -2-2

.. قطعه مدیریت منبعقطعه مدیریت منبع -3-3

.. قطعه تخصیص منبعقطعه تخصیص منبع -4-4

.. پیمانه تأیید کاربرپیمانه تأیید کاربر -5-5

.. پیمانه مدیریت تقاضاپیمانه مدیریت تقاضا -6-6

.. قطعه تحویل منبعقطعه تحویل منبع -7-7

.. قطعه واسط کاربرقطعه واسط کاربر -8-8

Page 225: بخش اول

سیستم های پردازش سیستم های پردازش رویدادرویداد

به رویدادهای موجود در محیط سیستم یا به رویدادهای موجود در محیط سیستم یا .. واسط کاربر پاسخ می دهندواسط کاربر پاسخ می دهند

سیستم های بی درنگ که در پاسخ به تحریک سیستم های بی درنگ که در پاسخ به تحریک های خارجی، پاسخ بی درنگی می دهند های خارجی، پاسخ بی درنگی می دهند . . سیستم های پردازش رویداد هستندسیستم های پردازش رویداد هستند

سیستم های ویرایشیسیستم های ویرایشی

برنامه هایی هستند که در یا ایستگاه برنامه هایی هستند که در یا ایستگاه کاری اجرا می شوند و به کاربران اجازه می کاری اجرا می شوند و به کاربران اجازه می دهند اسنادی مثل اسناد متنی، نمودارها یا دهند اسنادی مثل اسناد متنی، نمودارها یا

.. تصاویر را ویرایش کنندتصاویر را ویرایش کنند

PCPC

Page 226: بخش اول

ویژگی های سیستم های ویژگی های سیستم های ویراستارویراستار

V سیستم های -1-1 V سیستم های سیستم های ویراستار معموال سیستم های ویراستار معموال.. تک کاربره هستندتک کاربره هستند

باید عکس العمل سریعی به فعالیت های باید عکس العمل سریعی به فعالیت های -2-2.. کاربر نشان دهندکاربر نشان دهند

V طوالنی تر از -3-3 V طوالنی تر از جلسات ویراستاری معموال جلسات ویراستاری معموالجلسات سفارش کاالها یا سایر تراکنش ها جلسات سفارش کاالها یا سایر تراکنش ها

.. استاست

Page 227: بخش اول

سیستم های سیستم های پردازش زبانپردازش زبان

برای ترجمه متن ها از زبانی به زبان دیگر و برای ترجمه متن ها از زبانی به زبان دیگر و اجرای دستورات مشخص شده در زبان ورودی اجرای دستورات مشخص شده در زبان ورودی به کار می روند . این ها شامل مترجم و ماشین به کار می روند . این ها شامل مترجم و ماشین انتزاعی اند که زبان تولید شده را اجرا می کنندانتزاعی اند که زبان تولید شده را اجرا می کنند

..

مترجم ها در سیستم پردازش زبان دارای مترجم ها در سیستم پردازش زبان دارای :: قطعات زیر استقطعات زیر است

.. تحلیل گر لغویتحلیل گر لغوی -1-1

.. جدول نماد هاجدول نماد ها -2-2

.. تحلیل گر نحویتحلیل گر نحوی -3-3

.. درخت نحودرخت نحو -4-4

.. تحلیل گر معناییتحلیل گر معنایی -5-5

.. مولد کدمولد کد -6-6

Page 228: بخش اول

مدل جریان داده برای مدل جریان داده برای کامپایلرکامپایلر

تحلیل لغوی تحلیل نحوی تحلیل معنایی تولید کد

جدول نمادهاجدول نمادهادرخت نحویدرخت نحوی

Page 229: بخش اول

1414فصلفصل

طراحی شیءگراطراحی شیءگرا

Page 230: بخش اول

طراحی طراحی شیءگراشیءگرا

سیستم شیءگرا از چند شیء متعامل سیستم شیءگرا از چند شیء متعامل تشکیل شده است که حالت محلی را تشکیل شده است که حالت محلی را

نگهداری کرده عملیاتی را بر روی آن حالت نگهداری کرده عملیاتی را بر روی آن حالت .. تدارک می بیندتدارک می بیند

در سراسر توسعه از راهبرد شیء گرا در سراسر توسعه از راهبرد شیء گرا :: استفاده می شوداستفاده می شود

.. تحلیل شیءگراتحلیل شیءگرا -1-1

.. طراحی شیءگراطراحی شیءگرا -2-2

. . برنامه نویسی شیءگرابرنامه نویسی شیءگرا -3-3

Page 231: بخش اول

اشیا و کالس های اشیا و کالس های شیءشیء

شیء باید عملیات سازنده و وارسی داشته شیء باید عملیات سازنده و وارسی داشته باشند تا حالت آن وارسی و اصالح شود . اشیا باشند تا حالت آن وارسی و اصالح شود . اشیا سرویس هایی را برای اشیاء دیگر فراهم می سرویس هایی را برای اشیاء دیگر فراهم می

.. کنندکنند

اشیا می توانند به طور ترتیبی یا همزمان پیاده اشیا می توانند به طور ترتیبی یا همزمان پیاده سازی شوند . شیء همزمان می تواند غیر سازی شوند . شیء همزمان می تواند غیر

فعال باشد که حالت آن فقط از طریق واسط فعال باشد که حالت آن فقط از طریق واسط تغییر می کند یا می تواند فعال باشد که حالت تغییر می کند یا می تواند فعال باشد که حالت

.. خودش را تغییر می دهدخودش را تغییر می دهد

Page 232: بخش اول

اشیای اشیای همزمانهمزمان

هر شیء برای درخواست سرویس از شیء هر شیء برای درخواست سرویس از شیء دیگر، پیام ”درخواست سرویس ” را ارسال دیگر، پیام ”درخواست سرویس ” را ارسال

.. می کندمی کند

دو نوع پیاده سازی همزمان اشیاء وجود دو نوع پیاده سازی همزمان اشیاء وجود :: دارددارد

.. کارگزارانکارگزاران -1-1

. . اشیای فعالاشیای فعال -2-2

Page 233: بخش اول

فرایند طراحی شیءگرافرایند طراحی شیءگرا

فرایند کلی که در این جا استفاده می شود فرایند کلی که در این جا استفاده می شود :: چند مرحله ای استچند مرحله ای است

درک و تعریف حیطه و حالت های درک و تعریف حیطه و حالت های -1-1 .. کاربرد سیستمکاربرد سیستم

.. طراحی معماری سیستمطراحی معماری سیستم -2-2

.. شناسایی اشیای اصلی سیستمشناسایی اشیای اصلی سیستم -3-3

.. توسعه مدل های طراحیتوسعه مدل های طراحی -4-4

.. شناسایی واسط های شیءشناسایی واسط های شیء -5-5

Page 234: بخش اول

حیطه سیستم و مدل های حیطه سیستم و مدل های کاربردکاربرد

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

.. محیط خارجی آن استمحیط خارجی آن است

توسعه این درک ، برای تأمین توسعه این درک ، برای تأمین عملکردهای سیستم و تعیین ساختار عملکردهای سیستم و تعیین ساختار

سیستم به کار می رود ، به طوری که با سیستم به کار می رود ، به طوری که با .. محیط خود به خوبی ارتباط برقرار کندمحیط خود به خوبی ارتباط برقرار کند

Page 235: بخش اول

حیطه سیستم و مدل استفاده سیستم حیطه سیستم و مدل استفاده سیستم ، دو مدل مکمل را برای روابط بین ، دو مدل مکمل را برای روابط بین :: سیستم و محیط آن نشان می دهندسیستم و محیط آن نشان می دهند

یک مدل ایستا است یک مدل ایستا است ، ، حیطه سیستمحیطه سیستم -1-1که سایر سیستم های موجود در محیط را که سایر سیستم های موجود در محیط را

.. توصیف می کندتوصیف می کند

یک مدل پویا یک مدل پویا ، ، مدل استفاده سیستممدل استفاده سیستم -2-2است که مشخص می کند سیستم چگونه است که مشخص می کند سیستم چگونه

.. با محیط خود تعامل داردبا محیط خود تعامل دارد

Page 236: بخش اول

شناسایی اشیاءشناسایی اشیاءبرای شناسایی کالس های شیء، قواعدی برای شناسایی کالس های شیء، قواعدی

:: وجود داردوجود دارد

از تحلیل گرامری توصیف زبان طبیعی از تحلیل گرامری توصیف زبان طبیعی -1-1 .. سیستم استفاده کنیدسیستم استفاده کنید

از نهاد های ملموس در دامنه کاربرد از نهاد های ملموس در دامنه کاربرد -2-2 .. استفاده کنیداستفاده کنید

.. از روش رفتاری استفاده کنیداز روش رفتاری استفاده کنید -3-3

.. از تحلیل مبتنی بر سناریو استفاده کنیداز تحلیل مبتنی بر سناریو استفاده کنید -4-4

Page 237: بخش اول

مدل های مدل های طراحیطراحی

اشیاء یا کالس های شیء موجود در سیستم را اشیاء یا کالس های شیء موجود در سیستم را نشان می دهند، و در صورت لزوم روابط بین این نشان می دهند، و در صورت لزوم روابط بین این

.. ها را نیز نشان می دهندها را نیز نشان می دهند

برای توصیف طراحی شیءگرا دو نوع مدل برای توصیف طراحی شیءگرا دو نوع مدل :: طراحی باید ایجاد شوندطراحی باید ایجاد شوند

.. مدل های ایستامدل های ایستا -1-1

.. مدل های پویامدل های پویا -2-2

Page 238: بخش اول

سه نوع مدل ایستا و سه نوع مدل ایستا و :: پویاپویا

مدل های زیر مدل های زیر -1-1.. سیستمسیستم

.. مدل های توالیمدل های توالی -2-2

مدل های ماشین مدل های ماشین -3-3.. حالتحالت

Page 239: بخش اول

:: در مدل توالیدر مدل توالی

اشیای موجود در تعامل به طور افقی و با اشیای موجود در تعامل به طور افقی و با -1-1.. پیوند عمودی تنظیم می شوندپیوند عمودی تنظیم می شوند

زمان به طور عمودی نشان داده می زمان به طور عمودی نشان داده می -2-2.. شودشود

تعامل های بین اشیا توسط فلش های تعامل های بین اشیا توسط فلش های -3-3برچسب داری نمایش داده می شوند که برچسب داری نمایش داده می شوند که

.. خطوط عمودی را پیوند می دهندخطوط عمودی را پیوند می دهند

چهارگوش باریک در رگ حیاتی شیء ، چهارگوش باریک در رگ حیاتی شیء ، -4-4 زمان را نشانزمان را نشان

می دهد که شیء در حال کنترل شیء می دهد که شیء در حال کنترل شیء .. ای در سیستم استای در سیستم است

Page 240: بخش اول

تعیین مشخصات واسط تعیین مشخصات واسط شیءشیء

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

.. شوندشوند

طراحی واسط شیء به معنای مشخص طراحی واسط شیء به معنای مشخص کردن جزئیات واسط یک شیء یا گروهی از کردن جزئیات واسط یک شیء یا گروهی از اشیا است .این به معنی تعریف امضاها و اشیا است .این به معنی تعریف امضاها و معنای سرویس هایی است که توسط شیء معنای سرویس هایی است که توسط شیء

. . یا گروهی از اشیا تعریف می شودیا گروهی از اشیا تعریف می شود

Page 241: بخش اول

تکامل طراحیتکامل طراحی

امتیاز مهم روش شیء گرا این است که امتیاز مهم روش شیء گرا این است که تکامل طراحی را آسان می کند . علتش تکامل طراحی را آسان می کند . علتش

این است که نمایش حالت شیء بر این است که نمایش حالت شیء بر .. طراحی تأثیر نداردطراحی تأثیر ندارد

تغییر جزئیات داخلی شیء بر سایر اشیای تغییر جزئیات داخلی شیء بر سایر اشیای سیستم تأثیر ندارد . عالوه بر این چون سیستم تأثیر ندارد . عالوه بر این چون اشیا انسجام چندانی ندارند ، بدون تغییر اشیا انسجام چندانی ندارند ، بدون تغییر زیاد در سیستم ، می توان اشیای جدیدی زیاد در سیستم ، می توان اشیای جدیدی

.. را معرفی کردرا معرفی کرد