Upload
faolan
View
44
Download
1
Embed Size (px)
DESCRIPTION
مهندسی نرم افزار 1 تعداد واحد: 3 واحد منبع : مهندسی نرم افزار تهیه کننده : جعفر پورامینی مولف: سامرویل. بخش اول. مرور کلی. فصل 1. مهندسی نرم افزار. هایی راجع به مهندسی نرم افزار:. FAQ. نرم افزار چیست ؟. - PowerPoint PPT Presentation
Citation preview
11مهندسی نرم افزار مهندسی نرم افزار
واحد واحد33تعداد واحد: تعداد واحد: منبع : مهندسی نرم افزار منبع : مهندسی نرم افزار
تهیه کننده : جعفر پورامینی تهیه کننده : جعفر پورامینی مولف: سامرویلمولف: سامرویل
بخش اولبخش اول
مرور کلیمرور کلی
11فصلفصل
مهندسی نرم افزارمهندسی نرم افزار
هاییهایی راجع به مهندسی نرم راجع به مهندسی نرم
: :افزارافزار
FAQ
نرم افزار چیست ؟نرم افزار چیست ؟نرم افزار شامل برنامه های کامپیوتری نرم افزار شامل برنامه های کامپیوتری همراه است با مستندات و داده های همراه است با مستندات و داده های
پیکربندی است که برای درست کارکردن پیکربندی است که برای درست کارکردن . . برنامه ضروری استبرنامه ضروری است
:: دو نوع محصول نرم افزاریدو نوع محصول نرم افزاری
محصوالت کلیمحصوالت کلی -1 -1
محصوالت سفارشیمحصوالت سفارشی -2 -2
مهندسی نرم افزار مهندسی نرم افزار چیست؟چیست؟
یک نظام مهندسی است که با جنبه های یک نظام مهندسی است که با جنبه های نرم افزاری محصول ، از مراحل اولیه نرم افزاری محصول ، از مراحل اولیه تعیین مشخصات سیستم تا نگهداری تعیین مشخصات سیستم تا نگهداری
.. سیستم ، سروکار داردسیستم ، سروکار دارد
:: شامل مراحل زیر استشامل مراحل زیر است .. نظام مهندسینظام مهندسی -1 -1
تمام جنبه های محصول نرم تمام جنبه های محصول نرم -2 -2 .. افزاریافزاری
تفاوت مهندسی نرم افزار و علم تفاوت مهندسی نرم افزار و علم کامپیوتر چیست ؟کامپیوتر چیست ؟
علم کامپیوتر با تئوری و اصول سروکار دارد . علم کامپیوتر با تئوری و اصول سروکار دارد . نرم افزار با فعالیت های توسعه و نرم افزار با فعالیت های توسعه و مهندسیمهندسی
.. تحویل نرم افزار سروکارداردتحویل نرم افزار سروکاردارد
تفاوت مهندسی نرم افزار و مهندسی تفاوت مهندسی نرم افزار و مهندسی سیستم چیست ؟سیستم چیست ؟
مهندسی سیستم با تمام جنبه های توسعه مهندسی سیستم با تمام جنبه های توسعه سیستم های مبتنی بر کامپیوتر از جمله سخت سیستم های مبتنی بر کامپیوتر از جمله سخت افزار ، نرم افزار و مهندسی فرایند سروکار افزار ، نرم افزار و مهندسی فرایند سروکار
دارد . مهندسی نرم افزار بخشی از این دارد . مهندسی نرم افزار بخشی از این .. فرایند استفرایند است
فرایند نرم افزار چیست ؟فرایند نرم افزار چیست ؟مجموعه ای از فعالیت ها است که هدف مجموعه ای از فعالیت ها است که هدف
..آن ها توسعه یا تکامل نرم افزار استآن ها توسعه یا تکامل نرم افزار است
شامل فعالیت های اساسی زیر شامل فعالیت های اساسی زیر :: استاست
تعیین مشخصات نرم افزارتعیین مشخصات نرم افزار -1 -1
توسعه نرم افزارتوسعه نرم افزار -2-2
اعتبار سنجی نرم افزاراعتبار سنجی نرم افزار -3 -3
تکامل نرم افزارتکامل نرم افزار -4 -4
مدل فرایند نرم افزار چیست ؟مدل فرایند نرم افزار چیست ؟نمایش ساده ای از فرایند نرم افزار است که نمایش ساده ای از فرایند نرم افزار است که
.. از جنبه خاصی ارائه شده استاز جنبه خاصی ارائه شده است
نمونه هایی از انواع مدل فرایند نمونه هایی از انواع مدل فرایند : : نرم افزارنرم افزار
.. مدل جریان کارمدل جریان کار -1-1
.. مدل جریان داده یا فعالیتمدل جریان داده یا فعالیت -2 -2
.. مدل نقش/ فعالیتمدل نقش/ فعالیت -3 -3
مدل های مختلفی که برای توسعه مدل های مختلفی که برای توسعه :: نرم افزار وجود داردنرم افزار وجود دارد
.. رهیافت آبشاریرهیافت آبشاری -1-1
.. توسعه تکاملیتوسعه تکاملی -2 -2
.. تبدیل رسمیتبدیل رسمی -3 -3
مونتاژ سیستم با قطعات قابل مونتاژ سیستم با قطعات قابل -4 -4 .. استفاده مجدداستفاده مجدد
هزینه های مهندسی نرم افزار هزینه های مهندسی نرم افزار کدامند ؟کدامند ؟
V V تقریبا درصد هزینه ها مربوط به درصد هزینه ها مربوط به 6060تقریبا درصد مربوط به تست درصد مربوط به تست 4040توسعه ، و توسعه ، و
.. استاست
کیس چیست ؟کیس چیست ؟ سیستم های نرم افزاری اند که از فعالیت سیستم های نرم افزاری اند که از فعالیت
های فرایند نرم افزار بطور خودکار پشتیبانی های فرایند نرم افزار بطور خودکار پشتیبانی .. می کنندمی کنند
توزیع هزینه فعالیت نرم افزارتوزیع هزینه فعالیت نرم افزار
00 2525 5050 7575 100100
مدل آبشاریمدل آبشاری
00 2525 5050 7575 100100
توسعه تکراریتوسعه تکراری
تعیین مشخصاتتعیین مشخصات طراحیطراحیجامعیت وتستجامعیت وتست توسعتوسعهه
تعیین مشخصاتتعیین مشخصاتتوسعه تکراریتوسعه تکراری تست سیستمتست سیستم
توزیع هزینه فعالیت نرم افزارتوزیع هزینه فعالیت نرم افزار
00 2525 5050 7575 100100
مهندسی نرم افزار مبتنی بر قطعهمهندسی نرم افزار مبتنی بر قطعه
00 100100 200200 300300 400400
هزینه های توسعه و تکامل دراز مدتهزینه های توسعه و تکامل دراز مدت
تعیین مشخصاتتعیین مشخصات توسعتوسعجامعیت وتستجامعیت وتستهه
توسعه سیستمتوسعه سیستم تکامل سیستمتکامل سیستم
روش های مهندسی نرم افزار روش های مهندسی نرم افزار کدامند ؟کدامند ؟
رهیافت های ساخت یافته توسعه نرم رهیافت های ساخت یافته توسعه نرم افزار که حاوی مدل های سیستم ، نشانه افزار که حاوی مدل های سیستم ، نشانه
گذاری ها ، قواعد ، توصیه طراحی و گذاری ها ، قواعد ، توصیه طراحی و .. راهنمای فرایند استراهنمای فرایند است
این روش ها باید تعدادی قطعات را در این روش ها باید تعدادی قطعات را در :: اختیار داشته باشنداختیار داشته باشند
توصیف های مدل سیستمتوصیف های مدل سیستم -1 -1
قوانینقوانین -2 -2
پیشنهاداتپیشنهادات -3 -3
راهنمای فرایندراهنمای فرایند -4 -4
صفات نرم افزار خوب صفات نرم افزار خوب کدامند ؟کدامند ؟
قابلیت نگهداریقابلیت نگهداری -1-1
قابلیت اتکاقابلیت اتکا -2 -2
کار آمدیکار آمدی -3 -3
قابلیت استفادهقابلیت استفاده -4 -4
مسئولیت تخصصی و اخالقیمسئولیت تخصصی و اخالقی
..محرمانگیمحرمانگی -1-1
..صالحیتصالحیت -2 -2
. .حقوق معنویحقوق معنوی -3 -3
..سوء استفاده از کامپیوترسوء استفاده از کامپیوتر -4 -4
22فصلفصل
سیستم های اجتماعی - سیستم های اجتماعی - تکنیکیتکنیکی
سیستم :سیستم :یک مجموعه هدفمند از قطعات یک مجموعه هدفمند از قطعات
مرتبط به هم است که با هم کار می مرتبط به هم است که با هم کار می .. کنند تا هدفی را بر آورده نمایندکنند تا هدفی را بر آورده نمایند
سیستم هایی که شامل نرم سیستم هایی که شامل نرم :: افزار هستندافزار هستند
سیستم های کامپیوتری سیستم های کامپیوتری -1 -1 .. تکنیکیتکنیکی
سیستم های اجتماعی- سیستم های اجتماعی- -2 -2 .. تکنیکیتکنیکی
ویژگی های اصلی سیستم ویژگی های اصلی سیستم
:: های اجتماعی- تکنیکیهای اجتماعی- تکنیکیویژگی های جدیدی که به ویژگی های ویژگی های جدیدی که به ویژگی های -1 -1
مربوط مربوط یک کل یک کل سیستم به عنوان سیستم به عنوان . . می شودمی شود
.. اغلب غیر قطعی انداغلب غیر قطعی اند -2-2
بسط سیستم برای پشتیبانی از بسط سیستم برای پشتیبانی از -3 -3اهداف سیستم فقط به خود اهداف سیستم فقط به خود
.. سیستم بستگی نداردسیستم بستگی ندارد
ویژگی های جدید ویژگی های جدید :: سیستمسیستم
ویژگی های ویژگی های -1 -1 .. عملکردیعملکردی
ویژگی های غیر ویژگی های غیر -2 -2 .. عملکردیعملکردی
مثال هایی از ویژگی های مثال هایی از ویژگی های : : جدیدجدید
.. حجمحجم -1 -1
.. قابلیت اعتمادقابلیت اعتماد -2 -2
..امنیتامنیت -3 -3
قابلیت ترمیم و قابلیت ترمیم و -4 -4 ..بکارگیریبکارگیری
عوامل موثردرقابلیت عوامل موثردرقابلیت :: اعتماد سیستماعتماد سیستم
.. قابلیت اعتماد سخت افزارقابلیت اعتماد سخت افزار -1 -1
.. قابلیت اعتماد نرم افزارقابلیت اعتماد نرم افزار -2 -2
.. قابلیت اعتماد اپراتورقابلیت اعتماد اپراتور -3 -3
:: مهندسی سیستم هامهندسی سیستم هافعالیت تعیین مشخصات، طراحی، پیاده فعالیت تعیین مشخصات، طراحی، پیاده سازی، اعتبار سنجی، استقرار ونگهداری سازی، اعتبار سنجی، استقرار ونگهداری .. سیستم های اجتماعی- تکنیکی می باشدسیستم های اجتماعی- تکنیکی می باشد
تفاوت های بین فرایند مهندسی سیستم و تفاوت های بین فرایند مهندسی سیستم و ::فرایند توسعه نرم افزارفرایند توسعه نرم افزار
وجود حوزه محدود برای کار مجدد در وجود حوزه محدود برای کار مجدد در -1 -1 ..اثنای توسعه سیستماثنای توسعه سیستم
.. پیچیدگی نظام های داخلیپیچیدگی نظام های داخلی -2 -2
تجزیه سیستم
تکامل سیستم
نصب سیستم
جامعیت سیستم
توسعه زیرسیستم
طراحی سیستم
تعریف خواسته ها
: فرایند مهندسی سیستم
:: تعریف خواسته های سیستمتعریف خواسته های سیستم
این فعالیت، عملکرد و خواص اساسی و این فعالیت، عملکرد و خواص اساسی و .. مطلوب سیستم را مشخص می کندمطلوب سیستم را مشخص می کند
:: انواع خواسته هاانواع خواسته ها
خواسته های عملکردی خواسته های عملکردی -1 -1 .. انتزاعیانتزاعی
.. ویژگی های سیستمویژگی های سیستم -2 -2
خواصی که سیستم نباید خواصی که سیستم نباید -3-3 ..از خود نشان دهداز خود نشان دهد
:: طراحی سیستمطراحی سیستممشخص می کند که عملکرد سیستم چگونه مشخص می کند که عملکرد سیستم چگونه باید توسط قطعات مختلف سیستم انجام باید توسط قطعات مختلف سیستم انجام
.. شودشود
:: فعالیت های موجود در این فرایندفعالیت های موجود در این فرایند .. تقسیم بندی خواسته هاتقسیم بندی خواسته ها -1 -1
.. شناسایی زیر سیستم هاشناسایی زیر سیستم ها -2 -2
انتساب خواسته ها به زیر انتساب خواسته ها به زیر -3 -3 .. سیستم هاسیستم ها
.. تعیین عملکرد زیر سیستم هاتعیین عملکرد زیر سیستم ها -4 -4
.. تعریف واسط های زیر سیستمتعریف واسط های زیر سیستم -5 -5
تعریف واسط هایزیر سیستم
مشخص کردنعملکرد زیر سیستم
انتساب خواسته هابه زیر سیستم
تشخیصزیرسیستم
تقسیم بندی
خواسته ها
: فرایند طراحی سیستم
:: مدل سازی سیستممدل سازی سیستمدر اثنای خواسته ها و طراحی سیستم ، در اثنای خواسته ها و طراحی سیستم ،
سیستم باید بصورت مجموعه ای از سیستم باید بصورت مجموعه ای از قطعات و روابط بین آنها مدل سازی قطعات و روابط بین آنها مدل سازی
.. شودشود
سیستم به چند زیر سیستم تجزیه می شود سیستم به چند زیر سیستم تجزیه می شود که هر زیر سیستم می تواند به زیر سیستم که هر زیر سیستم می تواند به زیر سیستم
های دیگری تجزیه شود تا قطعات های دیگری تجزیه شود تا قطعات .. عملکردی به دست آیندعملکردی به دست آیند
:: توسعه زیر سیستمتوسعه زیر سیستمدر این فرایند ، زیر سیستم هایی که در در این فرایند ، زیر سیستم هایی که در اثنای طراحی سیستم شناسایی شدند ، اثنای طراحی سیستم شناسایی شدند ،
.. پیاده سازی می شوندپیاده سازی می شوند
:: جامعیت زیر سیستمجامعیت زیر سیستمزیر سیستم هایی که مستقل از هم زیر سیستم هایی که مستقل از هم
توسعه داده شدند، در کنار هم قرار می توسعه داده شدند، در کنار هم قرار می .. گیرند تا سیستم کامل ایجاد کنندگیرند تا سیستم کامل ایجاد کنند
:: تکامل سیستمتکامل سیستم
سیستم های بزرگ ، در اثنای زندگی سیستم های بزرگ ، در اثنای زندگی شان، باید تکامل یابند تا خطاهای موجود شان، باید تکامل یابند تا خطاهای موجود در خواسته های اصلی سیستم را اصالح در خواسته های اصلی سیستم را اصالح
کنند و خواسته های جدید را برآورده کنند و خواسته های جدید را برآورده .. نمایندنمایند
:: تجزیه سیستمتجزیه سیستمسیستم پس از طول عمر مفید عملیاتی سیستم پس از طول عمر مفید عملیاتی
.. آن، کنار گذاشته می شودآن، کنار گذاشته می شود
سازمان ها ، افراد و سیستم سازمان ها ، افراد و سیستم های کامپیوتریهای کامپیوتری
عوامل سازمانی و انسانی در محیط سیستم عوامل سازمانی و انسانی در محیط سیستم :: که طراحی سیستم را تحت تاثیر قرار دهندکه طراحی سیستم را تحت تاثیر قرار دهند
.. تغییرات فرایندتغییرات فرایند -1 -1
.. تغییرات شغلتغییرات شغل -2 -2
.. تغییرات سازمانیتغییرات سازمانی -3-3
فرایند تهیه سیستمفرایند تهیه سیستم::
بررسی بازار برایبررسی بازار برایسیستم های موجودسیستم های موجود
پیشنهاد مناقصهپیشنهاد مناقصه انتخاب مناقصهانتخاب مناقصه مذاکره برای قرار دادمذاکره برای قرار داد عقد قرار دادعقد قرار داد
تعدیل خواسته هاتعدیل خواسته ها انتخاب عرضه کنندهانتخاب عرضه کنندهدرخواست ارائه قیمتدرخواست ارائه قیمتانتخاب سیستمانتخاب سیستم
فرایند های تهیه، توسعه و فرایند های تهیه، توسعه و :: عملیاتیعملیاتی
فرایند تهیه
فرایند توسعه
فرایند عملیاتی
:: فرایند تهیهفرایند تهیهاین فرایند به تصمیم گیری در مورد بهترین این فرایند به تصمیم گیری در مورد بهترین روش دستیابی یک سازمان به سیستم و روش دستیابی یک سازمان به سیستم و
.. بهترین تهیه کننده سیستم مربوط می شودبهترین تهیه کننده سیستم مربوط می شود
:: فرایندهای عملیاتیفرایندهای عملیاتیفرایند هایی هستند که در بکارگیری از فرایند هایی هستند که در بکارگیری از سیستم برای رسیدن به اهدافش نقش سیستم برای رسیدن به اهدافش نقش
.. دارددارد
:: سیستم های کهنهسیستم های کهنهسیستم های کامپیوتری اجتماعی – تکنیکی هستند سیستم های کامپیوتری اجتماعی – تکنیکی هستند V از فن آوری V از فن آوری که در گذشته ایجاد شدند و معموال که در گذشته ایجاد شدند و معموال
.. قدیمی تر استفاده می نمایندقدیمی تر استفاده می نمایند
:: قطعات سیستم کهنهقطعات سیستم کهنه سخت افزار سیستمسخت افزار سیستم -1-1
.. نرم افزار پشتیباننرم افزار پشتیبان -2-2
.. نرم افزارهای کاربردینرم افزارهای کاربردی -3-3
.. داده های کاربردیداده های کاربردی -4-4
.. فرایند تجاریفرایند تجاری -5-5
.. قوانین و سیاستهای تجاریقوانین و سیاستهای تجاری -6-6
مدل الیه ای سیستم های قدیمیمدل الیه ای سیستم های قدیمی
فرایند های تجاریفرایند های تجاری
نرم افزار کاربردینرم افزار کاربردی
نرم افزار پشتیباننرم افزار پشتیبان
سخت افزارسخت افزار
33فصلفصل
سیستم های حیاتیسیستم های حیاتی
:: سیستم های حیاتیسیستم های حیاتیسیستم هایی هستند که شکست می تواند منجر به سیستم هایی هستند که شکست می تواند منجر به
ضررهای اقتصادی ، خرابی فیزیکی یا آسیب ضررهای اقتصادی ، خرابی فیزیکی یا آسیب .. رسانی به انسان می شودرسانی به انسان می شود
:: سه نوع سیستم حیاتی وجود داردسه نوع سیستم حیاتی وجود دارد
.. سیستم های حیاتی امنیتیسیستم های حیاتی امنیتی -1-1
. . سیستم های حیاتی مأموریتیسیستم های حیاتی مأموریتی -2-2
.. سیستم های حیاتی تجاریسیستم های حیاتی تجاری -3-3
مهم ترین ویژگی سیستم های مهم ترین ویژگی سیستم های .. می باشد می باشدقابلیت اعتمادقابلیت اعتمادحیاتی حیاتی
::دالیل اهمیت ویژگی قابلیت اعتماددالیل اهمیت ویژگی قابلیت اعتماد
سیستم هایی که قابل اعتماد و امن سیستم هایی که قابل اعتماد و امن -1-1 نیستند توسط کاربران رد می نیستند توسط کاربران رد می
. . شوندشوند
هزینه های شکست سیستم ممکن هزینه های شکست سیستم ممکن -2-2 .. است خیلی زیاد باشداست خیلی زیاد باشد
سیستم بی اعتماد ممکن است سیستم بی اعتماد ممکن است -3-3 .. اطالعات را از بین ببرداطالعات را از بین ببرد
قطعاتی از سیستم حیاتی که قطعاتی از سیستم حیاتی که ممکن است دچار مشکل شودممکن است دچار مشکل شود
::
.. سخت افزار سیستمسخت افزار سیستم -1-1
.. نرم افزار سیستمنرم افزار سیستم -2-2
.. اپراتورهای انسانیاپراتورهای انسانی -3-3
:: قابلیت اتکای سیستمقابلیت اتکای سیستمبه معنای درجه ای از اعتماد کاربر به به معنای درجه ای از اعتماد کاربر به
سیستم که مطابق خواسته او عمل می سیستم که مطابق خواسته او عمل می کند ودر کاربرد عادی با شکست مواجه کند ودر کاربرد عادی با شکست مواجه
.. نمی شودنمی شود
:: چهار بعد اصلی قابلیت اعتمادچهار بعد اصلی قابلیت اعتماد
.. قابلیت دسترسیقابلیت دسترسی -1-1
.. قابلیت اعتمادقابلیت اعتماد -2-2
امنیتامنیت -3-3
.. حفاظتحفاظت -4-4
منحنی هزینه/ قابلیت اتکامنحنی هزینه/ قابلیت اتکا
فوق العادهفوق العادهزیادزیاد
کمکم متوسطمتوسط زیادزیاد بسیار زیادبسیار زیاد
نهزی
هنه
زیه
ویژگی های دیگری که در ویژگی های دیگری که در قابلیت اتکا می توان در نظر قابلیت اتکا می توان در نظر
:: گرفتگرفت
.. قابلیت ترمیمقابلیت ترمیم -1-1
.. قابلیت نگهداریقابلیت نگهداری -2-2
.. قابلیت بقاقابلیت بقا -3-3
.. تحمل عیبتحمل عیب -4-4
ابعاد قابلیت اتکاابعاد قابلیت اتکا
قابلیت دسترسیقابلیت دسترسیامنیتامنیت قابلیت اعتمادقابلیت اعتماد
قابلیت اتکاقابلیت اتکا
حفاظتحفاظت
توانایی سیستم توانایی سیستم دردر
ارائه سرویس ارائه سرویس های درخواستیهای درخواستی
توانایی سیستم توانایی سیستم در ارائهدر ارائه
سرویسهای سرویسهای مشخص شدهمشخص شده
توانایی سیستم به ادامهتوانایی سیستم به ادامهکار بدون خرابیکار بدون خرابی
توانایی سیستم درتوانایی سیستم در حفاظت خودش در مقابلحفاظت خودش در مقابل
نفوذ عمدی یا تصادفینفوذ عمدی یا تصادفی
:: قابلیت دسترسیقابلیت دسترسی
احتمال این که سیستم در نقطه ای از احتمال این که سیستم در نقطه ای از زمان فعال باشد و سرویس های زمان فعال باشد و سرویس های
.. درخواستی را تحویل دهددرخواستی را تحویل دهد
:: قابلیت اعتمادقابلیت اعتماداحتمال انجام عملیات بدون خطا در احتمال انجام عملیات بدون خطا در مدت زمان معین و در محیط خاصی مدت زمان معین و در محیط خاصی
.. و برای هدف خاصو برای هدف خاص
:: اصطالحات قابلیت اتکااصطالحات قابلیت اتکا
.. خرابی سیستمخرابی سیستم -1-1
.. خطای سیستمخطای سیستم -2 -2
.. عیب سیستمعیب سیستم -3-3
.. خطا یا اشتباه انسانخطا یا اشتباه انسان -4-4
سه روش مکمل برای بهبود سه روش مکمل برای بهبود :: قابلیت اعتمادقابلیت اعتماد
.. اجتناب از خرابیاجتناب از خرابی -1-1
.. کشف وحذف عیبکشف وحذف عیب -2-2
.. تحمل عیبتحمل عیب -3-3
:: امنیتامنیتسیستم های امنیتی حیاتی آنهایی سیستم های امنیتی حیاتی آنهایی هستند که عملیات سیستم همواره هستند که عملیات سیستم همواره امن باشد . یعنی حتی اگر سیستم امن باشد . یعنی حتی اگر سیستم خراب شود نباید به افراد و محیط خراب شود نباید به افراد و محیط
..آسیب برساندآسیب برساند
نرم افزار امنیتی حیاتی دو نرم افزار امنیتی حیاتی دو :: دسته انددسته اند
نرم افزار های حیاتی امنیتی نرم افزار های حیاتی امنیتی -1-1.. اولیهاولیه
نرم افزار های حیاتی امنیتی نرم افزار های حیاتی امنیتی -2-2 . . ثانویهثانویه
به دالیل زیر سیستم قابل به دالیل زیر سیستم قابل V Vاعتماد الزاما اعتماد الزاما
امن نیستامن نیست ::.. مشخصات ممکن است کامل نباشدمشخصات ممکن است کامل نباشد -1-1
بد عمل کردن سخت افزار ممکن است بد عمل کردن سخت افزار ممکن است -2-2باعث شود که رفتار سیستم قابل پیش بینی باعث شود که رفتار سیستم قابل پیش بینی نباشد و نرم افزار را در محیطی پیش بینی نباشد و نرم افزار را در محیطی پیش بینی
..نشده ارائه دهدنشده ارائه دهد
اپراتور سیستم ممکن است ورودیی را اپراتور سیستم ممکن است ورودیی را -3-3تولید کند که به تنهایی نادرست نباشد اما در تولید کند که به تنهایی نادرست نباشد اما در وضعیت خاصی منجر به عملکرد بد سیستم وضعیت خاصی منجر به عملکرد بد سیستم
.. شودشود
.. اجتناب از خطراجتناب از خطر -1-1
.. تشخیص و رفع خطرتشخیص و رفع خطر -2-2
.. محدود کردن خسارتمحدود کردن خسارت -3-3
سه روش مکمل برای بهبود سه روش مکمل برای بهبود :: امنیتامنیت
:: حفاظتحفاظتصفتی از سیستم است که توانایی سیستم صفتی از سیستم است که توانایی سیستم را در حفاظت از خودش در مقابل حمالت را در حفاظت از خودش در مقابل حمالت خارجی که ممکن است سهوی یا عمدی خارجی که ممکن است سهوی یا عمدی
.. باشند، منعکس می سازدباشند، منعکس می سازد
:: اصطالحات حفاظتیاصطالحات حفاظتی.. افشاگریافشاگری -1-1
.. آسیب پذیریآسیب پذیری -2-2
.. حملهحمله -3-3
.. تهدیدهاتهدیدها -4-4
.. کنترلکنترل -5-5
از طریق تهاجم خارجی ، سه نوع از طریق تهاجم خارجی ، سه نوع :: خسارت ممکن است پیش آیدخسارت ممکن است پیش آید
.. عدم پذیرش سرویسعدم پذیرش سرویس -1-1
.. تخریب برنامه ها و داده هاتخریب برنامه ها و داده ها -2 -2
.. افشاگری اطالعات محرمانهافشاگری اطالعات محرمانه -3-3
سه روش مکمل برای بهبود سه روش مکمل برای بهبود :: امنیتامنیت
.. اجتناب از آسیب پذیریاجتناب از آسیب پذیری -1-1
.. تشخیص و خنثی سازی حملهتشخیص و خنثی سازی حمله -2-2
.. محدود کردن افشاگریمحدود کردن افشاگری -3-3
44فصلفصل
فرایند های نرم افزارفرایند های نرم افزار
فرایند نرم افزار مجموعه ای از فعالیت فرایند نرم افزار مجموعه ای از فعالیت هاست که منجر به تولید محصول نرم هاست که منجر به تولید محصول نرم
افزاری می شودافزاری می شود
فعالیت های اساسی که در تمام فرایند های نرم فعالیت های اساسی که در تمام فرایند های نرم :: افزاری مشترکندافزاری مشترکند
.. تعیین مشخصات نرم افزارتعیین مشخصات نرم افزار -1-1
.. طراحی و پیاده سازی نرم افزارطراحی و پیاده سازی نرم افزار -2 -2
.. اعتبار سنجی نرافزاراعتبار سنجی نرافزار -3-3
..تکامل نرم افزارتکامل نرم افزار -4-4
مدل های فرایند نرم مدل های فرایند نرم : : افزارافزار
.. مدل آبشاریمدل آبشاری -1 -1
.. توسعه تکاملیتوسعه تکاملی -2-2
مهندسی نرم افزار مهندسی نرم افزار -3-3.. مبتنی بر قطعهمبتنی بر قطعه
:: چرخه حیات نرم افزارچرخه حیات نرم افزارتعریف خواسته ها
طراحی نرم افزار و سیستم
پیاده سازی و تست واحد
جامعیت و تست
بکارگیری و نگهداری
:: مدل آبشاریمدل آبشاریمدل معروف فرایند توسعه نرم افزار است مدل معروف فرایند توسعه نرم افزار است که از سایر فرایندهای مهندسی ناشی می که از سایر فرایندهای مهندسی ناشی می
:: شود و شامل مراحل زیر می شودشود و شامل مراحل زیر می شود
.. تحلیل و تعریف خواسته هاتحلیل و تعریف خواسته ها -1 -1
.. طراحی سیستم و نرم افزارطراحی سیستم و نرم افزار -2 -2
.. پیاده سازی و تست واحدپیاده سازی و تست واحد -3 -3
.. جامعیت و تست سیستمجامعیت و تست سیستم -4 -4
.. به کارگیری و نگهداریبه کارگیری و نگهداری -5 -5
:: توسعه تکاملیتوسعه تکاملی
سیستمی ایجاد می شود و به تدریج اصالح می سیستمی ایجاد می شود و به تدریج اصالح می .. گردد تا سیستم نهایی توسعه یابدگردد تا سیستم نهایی توسعه یابد
:: دو نوع توسعه تکاملی وجود دارددو نوع توسعه تکاملی وجود دارد
.. توسعه اکتشافیتوسعه اکتشافی -1-1
.. ساخت نمونه اولیه موقتیساخت نمونه اولیه موقتی -2-2
:: در این سیستم دو اشکال وجود دارددر این سیستم دو اشکال وجود دارد
.. فرایند قابل مشاهده نیستفرایند قابل مشاهده نیست -1-1
.. سیستم ها چندان ساخت یافته نیستندسیستم ها چندان ساخت یافته نیستند -2-2
توسعه توسعه :: تکاملیتکاملی
توصیف طرح کلی
تعیین مشخصات
توسعه
xیید تا
نسخه اولیه
نسخه نهایی
توسعه های میانی
توسعه نرم افزار مبتنی بر توسعه نرم افزار مبتنی بر :: قطعهقطعه
در این روش استفاده مجدد به عنوان در این روش استفاده مجدد به عنوان ابزاری برای توسعه سریع سیستم است و ابزاری برای توسعه سریع سیستم است و
:: شامل مراحل زیر استشامل مراحل زیر است
.. تحلیل قطعهتحلیل قطعه -1-1
.. اصالح خواسته هااصالح خواسته ها -2-2
.. طراحی سیستم با استفاده مجددطراحی سیستم با استفاده مجدد -3-3
.. توسعه و جامعیتتوسعه و جامعیت -4-4
توسعه سیستم مبتنی بر استفاده توسعه سیستم مبتنی بر استفاده :: مجددمجدد
تعیین مشخصاتخواسته ها
اصالح خواسته هاتحلیل قطعات
توسعه و جامعیتاعتبار ستجی سیستم طراحی سیستمبا استفاده مجدد
:: تکرار فرایندتکرار فرایندفعالیت های فرایند در پاسخ به تغییر فعالیت های فرایند در پاسخ به تغییر
.. در خواست ها ، تکرار خواهد شددر خواست ها ، تکرار خواهد شد
دو مدل فرایند برای پشتیبانی از دو مدل فرایند برای پشتیبانی از .. تکرار فرایند ارائه شدندتکرار فرایند ارائه شدند
.. تحویل تدریجیتحویل تدریجی -1-1
.. توسعه مارپیچیتوسعه مارپیچی -2-2
:: تحویل تدریجیتحویل تدریجی
:: امتیازات مدل توسعه تدریجیامتیازات مدل توسعه تدریجیالزم نیست مشتریان صبر کنند تا کل سیستم الزم نیست مشتریان صبر کنند تا کل سیستم -1-1
تحویل داده شود. اولین مرحله ای که انجام تحویل داده شود. اولین مرحله ای که انجام شد، خواسته های حیاتی آن را پاسخ می دهد و شد، خواسته های حیاتی آن را پاسخ می دهد و
. . نرم افزار می تواند به کارگرفته شود نرم افزار می تواند به کارگرفته شود
مشتریان می توانند از مراحل اولیه به عنوان مشتریان می توانند از مراحل اولیه به عنوان -2-2 .. الگو ، استفاده کنندالگو ، استفاده کنند
ریسک کمتری در مورد خرابی پروژه وجود ریسک کمتری در مورد خرابی پروژه وجود -3-3 .. دارددارد
چون سرویس هایی با اولویت باالتر، زودتر چون سرویس هایی با اولویت باالتر، زودتر -4-4 تحویل داده می شوند، بنابر این بخش های تحویل داده می شوند، بنابر این بخش های . . مهم سیستم ، بیشتر مورد تست قرار می گیرندمهم سیستم ، بیشتر مورد تست قرار می گیرند
:: توسعه تدریجیتوسعه تدریجی
تعریف طرحکلی خواسته ها
انتساب خواسته هابه مراحل
طراحی معماریسیستم
جامعیت مرحلهتأیید سیستمتوسعه یک مرحله
سیستمتأیید مرحله
سیستمسیستمنهایینهایی
:: توسعه مارپیچیتوسعه مارپیچی
این مدل فرایند نرم افزار را بصورت دنباله هایی این مدل فرایند نرم افزار را بصورت دنباله هایی از فعالیت ها نشان می دهدکه از فرایندی به از فعالیت ها نشان می دهدکه از فرایندی به
فرایند دیگر عقبگرد می شود. این فرایند بصورت فرایند دیگر عقبگرد می شود. این فرایند بصورت .. مارپیچ نشان داده می شودمارپیچ نشان داده می شود
هر حلقه در مارپیچ به چهار قطاع تقسیم می هر حلقه در مارپیچ به چهار قطاع تقسیم می :: شودشود
.. تنظیم هدفتنظیم هدف -1-1
.. برآورد و کاهش ریسکبرآورد و کاهش ریسک -2-2
.. توسعه و اعتبار سنجیتوسعه و اعتبار سنجی -3-3
.. برنامه ریزیبرنامه ریزی -4-4
:: فعالیت های فرایندفعالیت های فرایند
هر فرایند دارای چهار فعالیت اصلی هر فرایند دارای چهار فعالیت اصلی :: استاست
تعیین مشخصات نرم افزار یا تعیین مشخصات نرم افزار یا -1 -1 ..مهندسی خواسته هامهندسی خواسته ها
توسعه یا طراحی و پیاده سازی توسعه یا طراحی و پیاده سازی -2-2 ..نرم افزارنرم افزار
.. اعتبار سنجی نرم افزاراعتبار سنجی نرم افزار -3-3
.. تکامل نرم افزارتکامل نرم افزار -4-4
تعیین مشخصات نرم افزارتعیین مشخصات نرم افزارفرایند درک و تعریف سرویس های مورد فرایند درک و تعریف سرویس های مورد
نیاز سیستم و مشخص کردن قیدهای نیاز سیستم و مشخص کردن قیدهای .. روی عملیات و توسعه سیستم استروی عملیات و توسعه سیستم است
مراحل اصلی در فرایند مهندسی مراحل اصلی در فرایند مهندسی :: خواسته هاخواسته ها
.. مطالعه امکان سنجیمطالعه امکان سنجی -1-1
.. استخراج و تحلیل خواستهاستخراج و تحلیل خواسته -2-2
.. تعیین مشخصات خواسته هاتعیین مشخصات خواسته ها -3-3
.. اعتبارسنجی خواسته هااعتبارسنجی خواسته ها -4-4
فرایند مهندسی خواسته هافرایند مهندسی خواسته ها مطالعه
امکان سنجیاستخراج وتحلیل
خواستهمشخصاتخواسته ها
اعتبارسنجیگزارشخواسته ها
امکان سنجی
سند خواسته ها
خواسته هایکاربر و سیستم
مدل هایسیستم
طراحی و پیاده سازی نرم طراحی و پیاده سازی نرم افزارافزار
فرایند تبدیل مشخصات سیستم به سیستم فرایند تبدیل مشخصات سیستم به سیستم .. اجرایی استاجرایی است
:: فعالیت های فرایند طراحی عبارتند ازفعالیت های فرایند طراحی عبارتند از.. طراحی معماریطراحی معماری -1-1
.. مشخصات انتزاعیمشخصات انتزاعی -2-2
.. طراحی واسططراحی واسط -3-3
.. طراحی قطعهطراحی قطعه -4-4
.. طراحی ساختمان داده هاطراحی ساختمان داده ها -5-5
.. طراحی الگوریتمطراحی الگوریتم -6-6
روش های ساخت یافته از یک یا چند روش های ساخت یافته از یک یا چند مدل سیستم که در زیر آمده است مدل سیستم که در زیر آمده است
:: پشتیبانی می کندپشتیبانی می کند.. مدل شیءمدل شیء -1-1
.. مدل توالیمدل توالی -2-2
مدل تغییر مدل تغییر -3-3 .. حالتحالت
مدل مدل -4-4 .. ساختاریساختاری
مدل جریان مدل جریان -5-5 .. دادهداده
اعتبارسنجی نرم افزاراعتبارسنجی نرم افزار
اعتبارسنجی نرم افزار سعی می کند اعتبارسنجی نرم افزار سعی می کند نشان دهد که سیستم با مشخصاتش جور نشان دهد که سیستم با مشخصاتش جور
. . در می آیددر می آید
::مراحل فرایند تست عبارت اند ازمراحل فرایند تست عبارت اند از.. تست قطعه و واحدتست قطعه و واحد -1-1
.. تست سیستمتست سیستم -2-2
.. تست پذیرشتست پذیرش -3-3
فرایند فرایند :: تستتست
فرایند فرایند :: اشکالزداییاشکالزدایی
یافتن خطاطراحی
ترمیم خطاترمیم خطا
تست مجددبرنامه
تست قطعه تست سیستم تست پذیرش
تکامل نرم افزارتکامل نرم افزار
شامل انجام تغییرات پس از شامل انجام تغییرات پس از .. بکارکیری استبکارکیری است
تعریف خواسته هایسیستم
ارزیابی سیستم هایموجود
پیشنهاد تغییراتسیستم
تعریف خواسته هایسیستم
سیستم های موجودسیستم جدید
فرایند فرایند یکنواختیکنواخت
می گوید مدل های فرایند عادی، نمای می گوید مدل های فرایند عادی، نمای .. یکتایی از فرایند را ارائه می کندیکتایی از فرایند را ارائه می کند
:: از سه دیدگاه توصیف شده استاز سه دیدگاه توصیف شده است
مراحل مدل را در طول زمان مراحل مدل را در طول زمان :: دیدگاه پویادیدگاه پویا -1-1 ..نشان می دهدنشان می دهد
فعالیت های انجام شده فرایند فعالیت های انجام شده فرایند :: دیدگاه ایستادیدگاه ایستا -2-2 . .را نشان می دهدرا نشان می دهد
اعمال مناسبی که باید در اعمال مناسبی که باید در : :دیدگاه عملیدیدگاه عملی -3-3 .. اثنای فرایند اجرا شود را مشخص می کنداثنای فرایند اجرا شود را مشخص می کند
RUP
مراحل موجود درمراحل موجود درایجاد یک حالت تجاری برای سیستمایجاد یک حالت تجاری برای سیستم : :شروعشروع -1-1 ..
توسعه ودرک دامنه مسئله، ایجاد توسعه ودرک دامنه مسئله، ایجاد : :اکتشافاکتشاف -2-2چارچوب معماری برای سیستم، برنامه ریزی چارچوب معماری برای سیستم، برنامه ریزی
.. پروژه و شناسایی ریسک های مهم پروژهپروژه و شناسایی ریسک های مهم پروژه
باطراحی سیستم، برنامه نویسی و باطراحی سیستم، برنامه نویسی و ::ساخت ساخت -3-3..تست سروکار داردتست سروکار دارد
ایجاد یک سیستم مستند سازی شده ایجاد یک سیستم مستند سازی شده::انتقال انتقال -4-4
RUP
دیدگاه عملی شش عمل خوب دیدگاه عملی شش عمل خوب :: پیشنهاد می کندپیشنهاد می کند
توصیف نرم افزار به طور توصیف نرم افزار به طور -1-1.. تکراریتکراری
.. مدیریت خواسته هامدیریت خواسته ها -2-2
از معماری های مبتنی بر قطعه از معماری های مبتنی بر قطعه -3-3.. استفاده کنیداستفاده کنید
نرم افزار را بطور ویژوال مدل نرم افزار را بطور ویژوال مدل -4-4.. سازی کنیدسازی کنید
کیفیت نرم افزار را مدل سازی کیفیت نرم افزار را مدل سازی -5-5.. کنیدکنید
تغییرات در نرم افزار را کنترل تغییرات در نرم افزار را کنترل -6-6.. کنیدکنید
RUPRUPجریانهای کار ایستا درجریانهای کار ایستا در
.. مدل سازی تجاریمدل سازی تجاری -1-1 .. خواسته هاخواسته ها -2-2
.. تحلیل و طراحیتحلیل و طراحی -3-3 .. پیاده سازیپیاده سازی -4-4
.. تستتست -5-5 ..استقراراستقرار -6 -6
.. پیکربندی و تغییر مدیریتپیکربندی و تغییر مدیریت -7 -7 .. مدیر پروژهمدیر پروژه -8 -8
.. محیطمحیط -9 -9
مهندسی نرم افزار به کمک مهندسی نرم افزار به کمک کامپیوترکامپیوتر
نرم افزاری برای پشتیبانی ازفعالیت های فرایند نرم افزاری برای پشتیبانی ازفعالیت های فرایند نرم افزاری بکارمی رود و شامل فعالیت های زیر نرم افزاری بکارمی رود و شامل فعالیت های زیر
::استاست
.. توسعه مدل های گرافیکی سیستمتوسعه مدل های گرافیکی سیستم -1-1
.. درک طراحی با استفاده از دیکشنریدرک طراحی با استفاده از دیکشنری -2-2
.. تولید واسط کاربرتولید واسط کاربر -3-3
اشکالزدایی برنامه از طریق آماده سازی اشکالزدایی برنامه از طریق آماده سازی -4-4 . . داده هایی راجع به برنامه در حال اجراداده هایی راجع به برنامه در حال اجرا
ترجمه خودکار برنامه ها از نسخه قدیمی به ترجمه خودکار برنامه ها از نسخه قدیمی به -5-5 .. نسخه های جدید آننسخه های جدید آن
دیدگاهها برای دسته بندی دیدگاهها برای دسته بندی ::کیسکیس
.. دیدگاه عملکردیدیدگاه عملکردی -1-1
.. دیدگاه فرایندیدیدگاه فرایندی -2-2
.. دیدگاه جامعیتدیدگاه جامعیت -3-3
پیشنهاد فوگتا برای دسته بندی سیستم پیشنهاد فوگتا برای دسته بندی سیستم :: های کیسهای کیس
.. ابزارهاابزارها -1-1
.. محیط کاریمحیط کاری -2-2
.. محیطمحیط -3-3
55فصلفصل
مدیریت پروژهمدیریت پروژه
تفاوت مهندسی نرم افزار با تفاوت مهندسی نرم افزار با :: مهندسی های دیگرمهندسی های دیگر
.. محصول نا ملموس استمحصول نا ملموس است -1-1
فرایند های نرم افزار استانداردی وجود فرایند های نرم افزار استانداردی وجود -2-2.. نداردندارد
پروژه های نرم افزاری بزرگ ، اغلب پروژه های نرم افزاری بزرگ ، اغلب -3-3.. پروژه های منحصر به فردی هستندپروژه های منحصر به فردی هستند
فعالیت های مدیریتیفعالیت های مدیریتی
اغلب مدیران مسئولیت های اغلب مدیران مسئولیت های :: زیر را دارندزیر را دارند
. . نوشتن طرح)پیشنهاد(نوشتن طرح)پیشنهاد( -1-1
برنامه ریزی و زمانبندی برنامه ریزی و زمانبندی -2-2 .. پروژهپروژه
.. هزینه پروژههزینه پروژه -3-3
.. نظارت و مرور پروژهنظارت و مرور پروژه -4-4
.. انتخاب و ارزیابی پرسنلانتخاب و ارزیابی پرسنل -5-5
.. نوشتن و ارائه پروژهنوشتن و ارائه پروژه -6-6
برنامه ریزی پروژهبرنامه ریزی پروژهبرنامه ریزی یک فرایند تکراری است که وقتی کامل برنامه ریزی یک فرایند تکراری است که وقتی کامل
می شود که خود پروژه کامل شده باشد و شامل می شود که خود پروژه کامل شده باشد و شامل :: بخش های زیر استبخش های زیر است
.. مقدمهمقدمه -1-1
.. سازماندهی پروژهسازماندهی پروژه -2-2
.. تحلیل ریسکتحلیل ریسک -3-3
.. منابع سخت افزاری و نرم افزاری مورد نیازمنابع سخت افزاری و نرم افزاری مورد نیاز -4-4
.. توقف کارتوقف کار -5-5
.. زمانبندی پروژهزمانبندی پروژه -6-6
.. راهکارهای نظارت و گزارشراهکارهای نظارت و گزارش -7-7
نقاط عطف قطعات قابل نقاط عطف قطعات قابل تحویلتحویل
قطعه قابل تحویل ، نتیجه ای از پروژه است که قطعه قابل تحویل ، نتیجه ای از پروژه است که ..به مشتری تحویل داده می شودبه مشتری تحویل داده می شود
نقاط عطف در فرایند خواسته هانقاط عطف در فرایند خواسته ها
مطالعهامکان سنجی
تحلیلخواسته ها
توسعهنمونه اولیه
مطالعهطراحی
تعیین مشخصاتخواسته ها
گزارشامکان سنجی
خواسته هایکاربر
گزارشارزیابی
طراحیمعماری
خواسته هایسیستم
زمانبندی پروژهزمانبندی پروژهاین فرایند کل کار پروژه را به فعالیت این فرایند کل کار پروژه را به فعالیت
های جداگانه ای تقسیم می کند و زمان های جداگانه ای تقسیم می کند و زمان مورد نیاز برای کامل کردن این فعالیت مورد نیاز برای کامل کردن این فعالیت
..ها را برآورد می کندها را برآورد می کند
:: فرایند زمانبندی پروژهفرایند زمانبندی پروژه
شناساییفعالیت ها
شناساییوابستگیهای پروژه
برآورد منابعبرای فعالیت ها
تخصیص افرادبرای فعالیت ها
ایجاد نمودارهایپروژه
خواسته های نرم افزارنمودار های فعالیت ونمودارهای میله ای
نمودارهای میله ای و شبکه نمودارهای میله ای و شبکه های فعالیتهای فعالیت
این نمودارها نشانه گذاری های گرافیکی اند این نمودارها نشانه گذاری های گرافیکی اند که برای تشریح زمانبندی پروژه به کار می که برای تشریح زمانبندی پروژه به کار می
.. روندروند
مسیر بحرانیمسیر بحرانی
کمترین زمان الزم برای اتمام پروژه ها را کمترین زمان الزم برای اتمام پروژه ها را می توان با در نظر گرفتن طوالنی ترین می توان با در نظر گرفتن طوالنی ترین .. مسیر در گراف فعالیت در نظر گرفتمسیر در گراف فعالیت در نظر گرفت
کل زمانبندی پروژه به مسیر بحرانی کل زمانبندی پروژه به مسیر بحرانی .. بستگی داردبستگی دارد
مدیریت مدیریت ریسکریسک
ریسک را می توان شرایط نامطلوبی دانست که ریسک را می توان شرایط نامطلوبی دانست که x رخ می دهند. ریسک های پروژه ، نرم افزار در x رخ می دهند. ریسک های پروژه ، نرم افزار در واقعا واقعا
.. حال توسعه و سازمان را تهدید می کنندحال توسعه و سازمان را تهدید می کنند
این دسته از ریسک را می توان بصورت زیر این دسته از ریسک را می توان بصورت زیر :: تعریف کردتعریف کرد
.. ریسک های پروژهریسک های پروژه -1-1
.. ریسک های محصولریسک های محصول -2-2
.. ریسک های کاریریسک های کاری -3-3
فرایند مدیریت ریسک شامل مراحل فرایند مدیریت ریسک شامل مراحل :: زیر استزیر است
.. شناسایی ریسکشناسایی ریسک -1-1
.. تحلیل ریسکتحلیل ریسک -2-2
.. برنامه ریزی ریسکبرنامه ریزی ریسک -3-3
.. نظارت بر ریسکنظارت بر ریسک -4-4
فرایند مدیریت فرایند مدیریت ریسکریسک
شناسایی ریسک تحلیل ریسکبرنامه ریزی
ریسکنظارت برریسک
لیستی ازلیستی ازریسک های بالقوهریسک های بالقوه برنامه های اجتناب ازبرنامه های اجتناب ازبرآورد ریسکبرآورد ریسک
ریسک های احتمالیریسک های احتمالی لیست ریسک هالیست ریسک ها
با اولویتبا اولویت
انواع ریسک های ممکن در نرم انواع ریسک های ممکن در نرم ::افزارافزار
پروژهپروژه انتقال کارکنانانتقال کارکنان
پروژهپروژه تغییر مدیریتتغییر مدیریت
پروژهپروژه مهیا نبودن سخت مهیا نبودن سخت افزارافزار
پروژه و محصولپروژه و محصول تغییر خواسته هاتغییر خواسته ها
پروژه و محصولپروژه و محصول تأخیر تعیین تأخیر تعیین مشخصاتمشخصات
پروژه و محصولپروژه و محصول اندازه کوچکتر از اندازه کوچکتر از اندازهاندازه
عدم کارایی ابزار عدم کارایی ابزار محصولمحصولکیسکیس
کارکار تغییر فن آوریتغییر فن آوری
کارکار رقیب محصولرقیب محصول
شناسایی ریسکشناسایی ریسکاین مرحله می تواند بصورت یک فرایند تیمی این مرحله می تواند بصورت یک فرایند تیمی و به روش طوفان مغزی انجام شود یا اینکه و به روش طوفان مغزی انجام شود یا اینکه
.. بر اساس تجربه مدیر تعیین گرددبر اساس تجربه مدیر تعیین گردد
:: انواع ریسک عبارتند ازانواع ریسک عبارتند از.. ریسک های فن آوریریسک های فن آوری -1-1
.. ریسک های افرادریسک های افراد -2 -2
.. ریسک های سازمانیریسک های سازمانی -3-3
.. ریسک های ابزارریسک های ابزار -4-4
.. ریسک های خواسته هاریسک های خواسته ها -5-5
.. ریسک های برآوردریسک های برآورد -6-6
تحلیل تحلیل ریسکریسک
احتمال ریسک ممکن است خیلی کم) احتمال ریسک ممکن است خیلی کم) -1-1(، متوسط ) (، متوسط ) 1010%-%-2525%< (، کم ) %< (، کم ) 1010(، یا (، یا 5050%-%-7575 (، زیاد ) (، زیاد ) %2525-%-5050
%>( برآورد شود%>( برآورد شود7575خیلی زیاد)خیلی زیاد) ..
اثر ریسک ممکن است فاجعه بر اثر ریسک ممکن است فاجعه بر -2-2 انگیز ، جدی ، قابل تحمل یا بی انگیز ، جدی ، قابل تحمل یا بی
.. ارزش باشدارزش باشد
برنامه ریزی برنامه ریزی ریسکریسک
این فرایند ریسک های کلیدی را که شناسایی این فرایند ریسک های کلیدی را که شناسایی شده اند را در نظر می گیرد و راهبرد هایی را شده اند را در نظر می گیرد و راهبرد هایی را
.. برای مدیریت بر ریسک شناسایی می کندبرای مدیریت بر ریسک شناسایی می کند
این راهبرد ها به سه دسته تقسیم می این راهبرد ها به سه دسته تقسیم می ::شوندشوند
.. راهبردهای اجتنابراهبردهای اجتناب -1-1
.. راهبردهای کمینه سازیراهبردهای کمینه سازی -2-2
.. برنامه ریزی احتمالیبرنامه ریزی احتمالی -3-3
نظارت بر نظارت بر ریسکریسک
نظارت بر ریسک یک فرایند نظارت بر ریسک یک فرایند دائمی است و شامل برآورد دائمی است و شامل برآورد منظم ریسک های شناسایی منظم ریسک های شناسایی شده است تا تصمیم گرفته شده است تا تصمیم گرفته شود آیا احتمال آن ریسک شود آیا احتمال آن ریسک
کاهش می یابد یا خیر و آیا اثر کاهش می یابد یا خیر و آیا اثر .. ریسک تغییر می کند یا خیرریسک تغییر می کند یا خیر
بخش دومبخش دوم
خواسته هاخواسته ها
66فصلفصل
خواسته های نرم خواسته های نرم افزارافزار
خواسته هاخواسته ها
خواسته های خواسته های :: خواسته های کاربرخواسته های کاربر -1-1انتزاعی سطح باالانتزاعی سطح باال
توصیفات توصیفات : : خواسته های سیستمخواسته های سیستم -2-2تفضیلی از کارهاییتفضیلی از کارهایی
..است که سیستم باید انجام دهداست که سیستم باید انجام دهد
خوانندگان انواع مختلفی از خوانندگان انواع مختلفی از مشخصاتمشخصات
خواسته های کاربرخواسته های کاربر
خواسته های سیستمخواسته های سیستم
کاربران نهایی سیستمکاربران نهایی سیستممهندسین مشتریمهندسین مشتریمعمارهای سیستممعمارهای سیستم
توسعه دهندگان نرم افزارتوسعه دهندگان نرم افزار
مدیران مشتریمدیران مشتریکاربران نهایی سیستمکاربران نهایی سیستم
مهندسین مشتریمهندسین مشتریمدیران پیمانکارمدیران پیمانکار
معمار های سیستممعمار های سیستم
خواسته های سیستم خواسته های سیستم نرم افزارینرم افزاری
این خواسته ها این خواسته ها ::خواسته های عملکردی خواسته های عملکردی -1-1بیانی از سرویس هایی است که سیستم بیانی از سرویس هایی است که سیستم
..باید ارائه دهدباید ارائه دهد
محدودیت محدودیت :: خواسته های غیر عملکردیخواسته های غیر عملکردی -2-2هایی در سرویس ها یا عملکردهایی هستند هایی در سرویس ها یا عملکردهایی هستند
. . که توسط سیستم پیشنهاد می شودکه توسط سیستم پیشنهاد می شود
این خواسته این خواسته :: خواسته های دامنه کاربردخواسته های دامنه کاربرد -3-3ها از دامنه کاربرد سیستم ناشی می شوند ها از دامنه کاربرد سیستم ناشی می شوند
و ویژگی های آن دامنه کاربرد را منعکس و ویژگی های آن دامنه کاربرد را منعکس .. می کندمی کند
خواسته های خواسته های عملکردیعملکردی
خواسته های عملکردی به عوامل خواسته های عملکردی به عوامل زیر بستگی دارد :زیر بستگی دارد :
.. نوع نرم افزارنوع نرم افزار --11
.. کاربران نرم افزارکاربران نرم افزار --22
.. نوع سیستمنوع سیستم --33
خواسته های غیر خواسته های غیر عملکردیعملکردی
انواع خواسته های غیر عملکردی عبارت انواع خواسته های غیر عملکردی عبارت ::اندازانداز
.. خواسته های محصولخواسته های محصول -1-1
.. خواسته های سازمانیخواسته های سازمانی -2-2
.. خواسته های خارجیخواسته های خارجی -3-3
معیارهایی برای مشخص معیارهایی برای مشخص کردن خواسته های کردن خواسته های
غیرعملکردیغیرعملکردی
.. سرعت سرعت --11
.. اندازه اندازه --22
.. سهولت استفاده سهولت استفاده --33
.. قابلیت اعتماد قابلیت اعتماد --44
.. توانمندی توانمندی --55
.. قابلیت حمل قابلیت حمل --66
خواسته های دامنه کاربردخواسته های دامنه کاربرد
خواسته های دامنه کاربرد از دامنه کاربرد خواسته های دامنه کاربرد از دامنه کاربرد سیستم بدست می آید ، نه از نیازهای سیستم بدست می آید ، نه از نیازهای
V شامل V شامل ویژه کاربران سیستم . آنها معموال ویژه کاربران سیستم . آنها معموالاصطالحات ویژه دامنه کاربرد یا ارجاع به اصطالحات ویژه دامنه کاربرد یا ارجاع به
.. مفاهیم آن می باشندمفاهیم آن می باشند
خواسته های خواسته های کاربرکاربر
خواسته های کاربر باید با زبان طبیعی ، خواسته های کاربر باید با زبان طبیعی ، .. فرم ها و نمودارهای شهودی نوشته شوندفرم ها و نمودارهای شهودی نوشته شوند
مشکالتی که در بیان خواسته ها به مشکالتی که در بیان خواسته ها به :: زبان طبیعی وجود دارند عبارتند اززبان طبیعی وجود دارند عبارتند از
.. عدم وضوحعدم وضوح -1-1
.. آشفتگی خواسته هاآشفتگی خواسته ها -2-2
.. اختالط خواسته هااختالط خواسته ها -3-3
برای کاهش اشتباهات در هنگام نوشتن برای کاهش اشتباهات در هنگام نوشتن خواسته های کاربر ، موارد زیر را به خواسته های کاربر ، موارد زیر را به
:: خاطر داشته باشیدخاطر داشته باشید
یک فرمت استاندارد اختراع کنید و مطمئن یک فرمت استاندارد اختراع کنید و مطمئن -1-1شوید که تعریف خواسته ها از آن پیروی شوید که تعریف خواسته ها از آن پیروی
. . می کندمی کند
.. از سازگاری زبان استفاده کنیداز سازگاری زبان استفاده کنید -2-2
برای تعیین خواسته های کلیدی آن ها را برای تعیین خواسته های کلیدی آن ها را -3-3.. برجسته کنیدبرجسته کنید
تا جایی که ممکن است از واژه های تا جایی که ممکن است از واژه های -4-4.. کامپیوتری استفاده نکنیدکامپیوتری استفاده نکنید
خواسته های خواسته های سیستمسیستم
نشانه گذاری های ویژه ای که برای نشانه گذاری های ویژه ای که برای :: نوشتن مشخصات می توان بکار بردنوشتن مشخصات می توان بکار برد
.. زبان طبیعی ساخت یافتهزبان طبیعی ساخت یافته -1-1
.. زبان های توصیف طراحیزبان های توصیف طراحی -2-2
.. نشانه گذاری های گرافیکینشانه گذاری های گرافیکی -3-3
.. مشخصات ریاضیمشخصات ریاضی -4-4
مشخصات زبان ساخت مشخصات زبان ساخت یافتهیافته
زبان طبیعی ساخت یافته ، شکل زبان طبیعی ساخت یافته ، شکل محدودی از زبان طبیعی برای نوشتن محدودی از زبان طبیعی برای نوشتن
.. خواسته های سیستم استخواسته های سیستم است
امتیاز این روش این است که قابلیت امتیاز این روش این است که قابلیت بیان و درک زبان طبیعی را دارد ، ولی بیان و درک زبان طبیعی را دارد ، ولی
تضمین می کند نوعی یکنواختی به تضمین می کند نوعی یکنواختی به .. مشخصات اعمال می کندمشخصات اعمال می کند
وقتی فرم استاندارد برای مشخص کردن وقتی فرم استاندارد برای مشخص کردن خواسته های عملکردی مورد استفاده قرار خواسته های عملکردی مورد استفاده قرار
:: گیرد، باید شامل اطالعات زیر باشدگیرد، باید شامل اطالعات زیر باشد
توصیفی از عملکرد یا نهادی که مشخص می توصیفی از عملکرد یا نهادی که مشخص می -1-1.. شودشود
توصیفی از ورودی های آن و جایی که این توصیفی از ورودی های آن و جایی که این -2-2.. ورودی ها می آیندورودی ها می آیند
توصیفی از خروجی های آن و جایی که این توصیفی از خروجی های آن و جایی که این -3-3 .. خروجی ها می آیندخروجی ها می آیند
نشانه ای از سایر نهادهایی که استفاده می نشانه ای از سایر نهادهایی که استفاده می -4-4.. شوندشوند
.. توصیف عملی که باید صورت گیردتوصیف عملی که باید صورت گیرد -5-5
اگر از روش عملکردی استفاده شود، پیش اگر از روش عملکردی استفاده شود، پیش -6-6.. شرط ها و پس شرط ها مشخص شوندشرط ها و پس شرط ها مشخص شوند
.. توصیفی از اثرات جانبی عملیاتتوصیفی از اثرات جانبی عملیات -7-7
تعیین مشخصات تعیین مشخصات واسطواسط
اگر سیستم جدید و سیستم موجود بخواهند اگر سیستم جدید و سیستم موجود بخواهند با هم کار کنند، واسط های سیستم جدید با هم کار کنند، واسط های سیستم جدید
V مشخص شوند V مشخص شوندباید دقیقا .. باید دقیقا
سه نوع واسط وجود دارد که باید سه نوع واسط وجود دارد که باید :: تعریف شوندتعریف شوند
.. واسط های رویه ایواسط های رویه ای -1-1
ساختمان داده هایی که از یک ساختمان داده هایی که از یک -2-2 زیرسیستم به زیر سیستم دیگری زیرسیستم به زیر سیستم دیگری
.. عبور داده می شوندعبور داده می شوند
نمایش داده ها که برای زیر سیستم نمایش داده ها که برای زیر سیستم -3-3 .. موجود تعیین شدندموجود تعیین شدند
سند خواسته های نرم افزارسند خواسته های نرم افزاریک بیان رسمی از چیزهایی است که مورد نیاز یک بیان رسمی از چیزهایی است که مورد نیاز
.. توسعه دهنده سیستم استتوسعه دهنده سیستم استسطح جزئیات سند خواسته ها به نوع سیستم و سطح جزئیات سند خواسته ها به نوع سیستم و
..فرایند توسعه بستگی داردفرایند توسعه بستگی دارد
استاندارد ساختار زیر را برای اسناد استاندارد ساختار زیر را برای اسناد :: پیشنهاد می کندپیشنهاد می کند
.. مقدمهمقدمه -1-1 .. هدف سند خواسته هاهدف سند خواسته ها 1-1 1-1 .. دامنه کاربرد محصولدامنه کاربرد محصول 2-1 2-1 .. تعاریف و اختصاراتتعاریف و اختصارات 3-1 3-1
.. مراجعمراجع 4-1 4-1 .. مروری بر باقیمانده سندمروری بر باقیمانده سند 5-1 5-1
IEEE
.. توصیف کلیتوصیف کلی -2-2
.. آینده محصولآینده محصول 1-2 1-2
.. عملکرد های محصولعملکرد های محصول 2-2 2-2
.. ویژگی های محصولویژگی های محصول 3-23-2
.. محدودیت های کلیمحدودیت های کلی 4-24-2
.. فرضیه ها و وابستگی هافرضیه ها و وابستگی ها 5-25-2
خواسته های ویژهخواسته های ویژه -3-3..
این خواسته ها شامل خواسته های عملکردی این خواسته ها شامل خواسته های عملکردی .. ، غیر عملکردی و واسط است، غیر عملکردی و واسط است
.. پیوست هاپیوست ها -4-4
.. ایندکسایندکس -5-5
77فصلفصل
فرایندهای مهندسی فرایندهای مهندسی خواسته هاخواسته ها
فرایند مهندسی خواسته هافرایند مهندسی خواسته ها مطالعه
امکان سنجیاستخراج وتحلیل
خواستهمشخصاتخواسته ها
اعتبارسنجیگزارشخواسته ها
امکان سنجی
سند خواسته ها
خواسته هایکاربر و سیستم
مدل هایسیستم
مطالعات امکان سنجیمطالعات امکان سنجیتوصیف طرح توصیف طرح : : ورودی مطالعه امکان سنجیورودی مطالعه امکان سنجی
کلی سیستم و چگونگی به کارگیری آن در کلی سیستم و چگونگی به کارگیری آن در .. سازمان استسازمان است
گزارشی گزارشی : :خروجی مطالعه امکان سنجیخروجی مطالعه امکان سنجیاست که پیشنهاد می کند آیا اجرای مهندسی است که پیشنهاد می کند آیا اجرای مهندسی خواسته ها و فرایند توسعه سیستم ارزشمند خواسته ها و فرایند توسعه سیستم ارزشمند
است یا خیر؟است یا خیر؟
:: این مطالعات شامل موارد زیر استاین مطالعات شامل موارد زیر است.. برآورد اطالعاتبرآورد اطالعات -1-1
.. جمع آوری اطالعاتجمع آوری اطالعات -2-2
.. نوشتن گزارشنوشتن گزارش -3-3
این مطالعات شامل موارد این مطالعات شامل موارد :: زیر استزیر است
.. برآورد اطالعاتبرآورد اطالعات -1-1
.. جمع آوری اطالعاتجمع آوری اطالعات -2-2
.. نوشتن گزارشنوشتن گزارش -3-3
استخراج و تحلیل خواسته هااستخراج و تحلیل خواسته ها
این فرایند شامل فعالیت های این فرایند شامل فعالیت های :: زیر استزیر است
.. جمع آوری خواسته هاجمع آوری خواسته ها -1-1
.. دسته بندیدسته بندی -2-2
مذاکره و اولویت بندی مذاکره و اولویت بندی -3-3.. خواسته هاخواسته ها
..مستند سازی خواسته هامستند سازی خواسته ها -4-4
استخراج خواسته هااستخراج خواسته ها
فرایند جمع آوری اطالعات راجع به فرایند جمع آوری اطالعات راجع به سیستم های موجود و پیشنهادی، و سیستم های موجود و پیشنهادی، و
استخراج خواسته های سیستم و کاربر استخراج خواسته های سیستم و کاربر .. از این اطالعات استاز این اطالعات است
منابع اطالعات در اثنای استخراج منابع اطالعات در اثنای استخراج :: خواسته هاخواسته ها
.. مستند سازیمستند سازی -1-1
.. واگذارندگان سیستمواگذارندگان سیستم -2-2
.. مشخصات سیستم های مشابهمشخصات سیستم های مشابه -3-3
دیدگاه هادیدگاه ها
.. دیدگاه های تعاملیدیدگاه های تعاملی -1-1
.. دیدگاه های غیر مستقیمدیدگاه های غیر مستقیم -2-2
.. دیدگاه های دامنه کاربرددیدگاه های دامنه کاربرد -3-3
انواع ویژه ای از دیدگاه انواع ویژه ای از دیدگاه :: هاها
تأمین کنندگان و دریافت کنندگان سرویس تأمین کنندگان و دریافت کنندگان سرویس -1-1.. های سیستمهای سیستم
سیستم هایی که باید بطور غیرمستقیم با سیستم هایی که باید بطور غیرمستقیم با -2-2 . . سیستم مورد نظر رابطه داشته باشندسیستم مورد نظر رابطه داشته باشند
قوانین و استانداردهایی که به سیستم قوانین و استانداردهایی که به سیستم -3-3.. اعمال می شوداعمال می شود
منابع خواسته های تجاری و غیر عملکردی منابع خواسته های تجاری و غیر عملکردی -4-4.. سیستمسیستم
دیدگاههای مهندسی که خواسته های توسعه دیدگاههای مهندسی که خواسته های توسعه -5-5دهندگان، مدیران و نگهدارندگان را دهندگان، مدیران و نگهدارندگان را
.. منعکس سازندمنعکس سازند.. دیدگاه های بازاریابی و غیرهدیدگاه های بازاریابی و غیره -6-6
مصاحبهمصاحبهمصاحبه های رسمی و غیر رسمی با مصاحبه های رسمی و غیر رسمی با
واگذارندگان سیستم بخشی از مهمترین واگذارندگان سیستم بخشی از مهمترین .. فرایندهای مهندسی خواسته ها هستندفرایندهای مهندسی خواسته ها هستند
:: مصاحبه ها دو نوع اندمصاحبه ها دو نوع اند
مصاحبه های بسته که در آن ها مصاحبه های بسته که در آن ها -1-1واگذارندگان به مجموعه ای از پرسش واگذارندگان به مجموعه ای از پرسش
. . های از پیش تعیین شده پاسخ می دهندهای از پیش تعیین شده پاسخ می دهند
مصاحبه باز که در آن ها دستور جلسه از مصاحبه باز که در آن ها دستور جلسه از -2-2.. پیش تعریف شده وجود داردپیش تعریف شده وجود دارد
استخراج اطالعات دامنه استخراج اطالعات دامنه کاربرد به دو دلیل دشوار کاربرد به دو دلیل دشوار
::استاست
تمام متخصصین کاربردها از واژه ها و تمام متخصصین کاربردها از واژه ها و -1-1 . . اصطالحات خاصی استفاده می کننداصطالحات خاصی استفاده می کنند
بعضی از دانش های دامنه کاربرد به حدی بعضی از دانش های دامنه کاربرد به حدی -2-2برای واگذارندگان روشن است که یا فکر برای واگذارندگان روشن است که یا فکر می کنند تشریح آن آسان است و یا آن می کنند تشریح آن آسان است و یا آن
قدر ابتدایی اند که نیاز به بیان کردن آنها قدر ابتدایی اند که نیاز به بیان کردن آنها .. نیستنیست
سناریوهاسناریوها.. توصیف هایی از جلسات کار با سیستم هستندتوصیف هایی از جلسات کار با سیستم هستند
:: سناریوممکن است شامل موارد زیر باشدسناریوممکن است شامل موارد زیر باشد
توصیف انتظار سیستم و کاربران پس از توصیف انتظار سیستم و کاربران پس از -1 -1 .. شروع سناریوشروع سناریو
.. توصیف جریان عادی رویدادها در سناریوتوصیف جریان عادی رویدادها در سناریو -2-2
توصیف اشتباهات احتمالی و چگونگی توصیف اشتباهات احتمالی و چگونگی -3-3 .. اداره آن هااداره آن ها
اطالعاتی راجع به فعالیت های دیگری که اطالعاتی راجع به فعالیت های دیگری که -4 -4 .. در همان زمان قابل اجراهستنددر همان زمان قابل اجراهستند
توصیف حالت سیستم پس از کامل شدن توصیف حالت سیستم پس از کامل شدن -5 -5 .. سناریوسناریو
موارد کاربردموارد کاربرد
تکنیک استخراج داده های سناریو استوا ر است تکنیک استخراج داده های سناریو استوا ر است .. و در روش شیءگرا مطرح شدو در روش شیءگرا مطرح شد
کابرد مجموعه ای از سناریوها را بسته بندی کابرد مجموعه ای از سناریوها را بسته بندی می کند که هر سناریو دنباله ای از مورد کاربرد می کند که هر سناریو دنباله ای از مورد کاربرد
.. استاست
سناریو ها و موارد کابرد تکنیک های موثری سناریو ها و موارد کابرد تکنیک های موثری برای استخراج خواسته ها برای دیدگاه های برای استخراج خواسته ها برای دیدگاه های
.. تعاملی اندتعاملی اند
اتنا گرافیاتنا گرافی
یک تکنیک مشاهده است که برای درک خواسته یک تکنیک مشاهده است که برای درک خواسته .. های سازمانی و اجتماعی به کار می رودهای سازمانی و اجتماعی به کار می رود
اتنا گرافی برای کشف دو نوع خواسته ها مفید اتنا گرافی برای کشف دو نوع خواسته ها مفید :: استاست
خواسته هایی که از روش کار واقعی ناشی خواسته هایی که از روش کار واقعی ناشی -1-1.. می شودمی شود
خواسته هایی که از همکاری و آگاهی خواسته هایی که از همکاری و آگاهی -2-2 . . فعالیت های افراد دیگر به دست می آیدفعالیت های افراد دیگر به دست می آید
اتنا گرافی و ساخت نمونه اولیه برای اتنا گرافی و ساخت نمونه اولیه برای تحلیل خواسته هاتحلیل خواسته ها
تحلیل اتنا گرافیتحلیل اتنا گرافی
ارزیابی نمونه اولیهارزیابی نمونه اولیه
توسعه سیستم کلیتوسعه سیستم کلینمونه اولیه سیستمنمونه اولیه سیستم
جلساتجلساتگزارش دهیگزارش دهی اتناگرافی تأکیدیاتناگرافی تأکیدی
اعتبار سنجی خواسته هااعتبار سنجی خواسته ها
انواع مختلفی از کنترل ها باید بر روی سند انواع مختلفی از کنترل ها باید بر روی سند :: خواسته ها انجام شودخواسته ها انجام شود
.. کنترل های اعتباریکنترل های اعتباری -1-1
.. کنترل های سازگاریکنترل های سازگاری -2-2
. . کنترل های تمامیتکنترل های تمامیت -3-3
.. کنترل های واقع گراییکنترل های واقع گرایی -4-4
.. قابلیت وارسیقابلیت وارسی -5-5
تکنیک هایی که برای وارسی تکنیک هایی که برای وارسی :: خواسته ها وجود دارندخواسته ها وجود دارند
.. مرورخواسته هامرورخواسته ها -1-1
.. ساخت نمونه اولیهساخت نمونه اولیه -2-2
.. تولید موارد تستتولید موارد تست -3-3
مرور خواسته هامرور خواسته ها
ممکن است موارد زیر را کنترل کندممکن است موارد زیر را کنترل کند مرورمرور ::
.. وارسیوارسی -1-1
.. فابلیت درکفابلیت درک -2-2
.. قابلیت ردیابیقابلیت ردیابی -3-3
.. قابلیت تطبیققابلیت تطبیق -4-4
مدیریت خواسته هامدیریت خواسته ها
فرایند درک و کنترل تغییرات درخواسته های فرایند درک و کنترل تغییرات درخواسته های ..سیستم استسیستم است
بدالیل زیر وقتی کاربران نهایی با سیستم بدالیل زیر وقتی کاربران نهایی با سیستم تجربه کسب کردند، خواسته های جدید پیدا تجربه کسب کردند، خواسته های جدید پیدا
:: می شودمی شود
V سیستم های بزرگ کاربران متنوعی -1-1 V سیستم های بزرگ کاربران متنوعی معموال معموال.. دارنددارند
افراد و کاربرانی که با سیستم سروکار افراد و کاربرانی که با سیستم سروکار -2-2.. دارند ثابت نیستنددارند ثابت نیستند
محیط تجاری و تکنیکی سیستم تغییر می محیط تجاری و تکنیکی سیستم تغییر می -3-3.. کندکند
از دیدگاه تکامل ، خواسته ها از دیدگاه تکامل ، خواسته ها :: به دو دسته تقسیم می شوندبه دو دسته تقسیم می شوند
.. خواسته های پایدارخواسته های پایدار -1-1
.. خواسته های ناپایدارخواسته های ناپایدار -2-2
برنامه ریزی مدیریت خواسته برنامه ریزی مدیریت خواسته هاها
در مدیریت خواسته ها موارد زیر تصمیم در مدیریت خواسته ها موارد زیر تصمیم :: گیری می شودگیری می شود
.. شناسایی خواسته هاشناسایی خواسته ها -1-1
.. فرایند مدیریت تغییرفرایند مدیریت تغییر -2-2
.. سیاست های ردیابیسیاست های ردیابی -3-3
.. پشتیبانی ابزار کیسپشتیبانی ابزار کیس -4-4
سه نوع اطالعات قابل ردیابی سه نوع اطالعات قابل ردیابی وجود دارند که می توانند وجود دارند که می توانند
:: نگهداری شوندنگهداری شوند
.. اطالعات قابلیت ردیابی مبداءاطالعات قابلیت ردیابی مبداء -1-1
.. اطالعات قابلیت ردیابی خواسته هااطالعات قابلیت ردیابی خواسته ها -2-2
.. اطالعات ردیابی طراحیاطالعات ردیابی طراحی -3-3
ابزارهای کیسی که از مدیریت ابزارهای کیسی که از مدیریت : : خواسته ها پشتیبانی می کندخواسته ها پشتیبانی می کند
..ذخیره سازی خواسته هاذخیره سازی خواسته ها -1-1
.. مدیریت تغییرمدیریت تغییر -2-2
.. مدیریت قابلیت ردیابیمدیریت قابلیت ردیابی -3-3
مدیریت تغییر خواسته هامدیریت تغییر خواسته ها
فرایند مدیریت تغییرات سه فرایند مدیریت تغییرات سه :: مرحله داردمرحله دارد
.. تحلیل مسئله و تعیین مشخصاتتحلیل مسئله و تعیین مشخصات -1-1
.. تحلیل تغییر و تعیین هزینهتحلیل تغییر و تعیین هزینه -2-2
.. پیاده سازی تغییرپیاده سازی تغییر -3-3
88فصلفصل
مدل های سیستممدل های سیستم
سیستم را می توان از ابعاد سیستم را می توان از ابعاد ::مختلف نشان دادمختلف نشان داد
بعد خارجی که حیطه یا محیط بعد خارجی که حیطه یا محیط -1-1.. سیستم مدل سازی می شودسیستم مدل سازی می شود
بعد رفتاری که رفتار سیستم مدل بعد رفتاری که رفتار سیستم مدل -2-2.. سازی می شودسازی می شود
بعد ساختاری که معماری سیستم بعد ساختاری که معماری سیستم -3-3 . . مدل سازی می شودمدل سازی می شود
انواع مختلف مدل سیستمانواع مختلف مدل سیستم
.. مدل جریان دادهمدل جریان داده -1-1
.. مدل ترکیبیمدل ترکیبی -2-2
.. مدل معماریمدل معماری -3-3
.. مدل دسته بندیمدل دسته بندی -4-4
.. مدل محرک/ پاسخمدل محرک/ پاسخ -5 -5
مدل های رفتاریمدل های رفتاری
این مدل ها برای توصیف رفتار کلی سیستم این مدل ها برای توصیف رفتار کلی سیستم .. بکار می روندبکار می روند
:: این مدل شامل موارد زیر استاین مدل شامل موارد زیر است
.. مدل های جریان دادهمدل های جریان داده -1-1
.. مدل های ماشین حالتمدل های ماشین حالت -2-2
مدل های جریان دادهمدل های جریان داده
روش شهودی برای نمایش چگونگی روش شهودی برای نمایش چگونگی پردازش داده ها توسط سیستم پردازش داده ها توسط سیستم
.. استاست
این مدل ها در ردیابی و مستند سازی این مدل ها در ردیابی و مستند سازی چگونگی انتقال داده های مربوط به چگونگی انتقال داده های مربوط به یک پردازش در سیستم، به تحلیل یک پردازش در سیستم، به تحلیل
.. گران کمک می کنندگران کمک می کنند
مدل های ماشین حالتمدل های ماشین حالت
برای مدل سازی سیستم برای برای مدل سازی سیستم برای پاسخ گویی به رویدادهای داخلی پاسخ گویی به رویدادهای داخلی
.. یا خارجی بکار می رودیا خارجی بکار می رود
مشکل آن این است که تعداد مشکل آن این است که تعداد حالت های ممکن به سرعت رشد حالت های ممکن به سرعت رشد
.. می کندمی کند
مدل های داده هامدل های داده هابخش مهمی از مدل سازی سیستم تعریف شکل بخش مهمی از مدل سازی سیستم تعریف شکل
منطقی داده هایی است که توسط سیستم منطقی داده هایی است که توسط سیستم پردازش می شوند . این مدل ها را گاهی مدل پردازش می شوند . این مدل ها را گاهی مدل
.. های داده معنایی می نامندهای داده معنایی می نامند
:: امتیازات استفاده از دیکشنری دادهاامتیازات استفاده از دیکشنری دادها
.. راهکاری برای مدیریت نام استراهکاری برای مدیریت نام است -1-1
به عنوان مخزنی برای اطالعات به عنوان مخزنی برای اطالعات -2-2 ..سازمانی عمل می کندسازمانی عمل می کند
مدل های شیءمدل های شیء
مدل های شیء می توانند برای نمایش مدل های شیء می توانند برای نمایش داده های سیستم و پردازش آنها به کار داده های سیستم و پردازش آنها به کار
..گرفته شوندگرفته شوند
انتزاعی بر روی مجموعه ای از انتزاعی بر روی مجموعه ای از کالس ،کالس ،اشیاء است که صفات متداول و سرویس اشیاء است که صفات متداول و سرویس
ها یا عملیاتی را سناسایی می کند که ها یا عملیاتی را سناسایی می کند که .. توسط هر شیء ارائه می شودتوسط هر شیء ارائه می شود
مدل های شیئی که ممکن مدل های شیئی که ممکن است توسعه یابند، حاوی است توسعه یابند، حاوی
:: موارد زیر می باشندموارد زیر می باشند
.. مدل های وراثتمدل های وراثت -1-1
.. مدل های ترکیبیمدل های ترکیبی -2-2
.. مدل های رفتاریمدل های رفتاری -3-3
کالس شیء درکالس شیء در
کالس شیء در بصورت چهار گوشی کالس شیء در بصورت چهار گوشی :: باسه بخش نمایش داده می شودباسه بخش نمایش داده می شود
.. نام کالس شیء در بخش باالیی قرار داردنام کالس شیء در بخش باالیی قرار دارد -1-1
.. صفات کالس در بخش میانی اندصفات کالس در بخش میانی اند -2-2
عملیات مربوط به هر کالس شیء در بخش عملیات مربوط به هر کالس شیء در بخش -3-3.. پایینی قرار دارندپایینی قرار دارند
UMLUML
UMLUML
مدل سازی رفتار شیءمدل سازی رفتار شیء
برای مدل سازی رفتار شیء باید برای مدل سازی رفتار شیء باید نشان دهیم که چگونه عملیات نشان دهیم که چگونه عملیات تهیه شده توسط شیء، مورد تهیه شده توسط شیء، مورد
..استفاده قرار می گیرنداستفاده قرار می گیرند
در رفتارها با استفاده در رفتارها با استفاده از سناریو هایی مدل سازی می از سناریو هایی مدل سازی می شود که مبتنی بر موارد کاربردندشود که مبتنی بر موارد کاربردند
..
UMLUML
روش های ساخت یافتهروش های ساخت یافته
یک روش منظم برای تولید مدل های سیستم یک روش منظم برای تولید مدل های سیستم موجود یا سیستمی است که باید ساخته شودموجود یا سیستمی است که باید ساخته شود
..
روش های ساخت یافته دارای ضعف روش های ساخت یافته دارای ضعف :: های زیر استهای زیر است
پشتیبانی مؤثری برای درک مدل سازی پشتیبانی مؤثری برای درک مدل سازی -1 -1خواسته های غیر عملکردی سیستم خواسته های غیر عملکردی سیستم
.. فراهم نمی کنندفراهم نمی کنند
.. چندان روشن نیستندچندان روشن نیستند -2-2
.. اسناد زیادی تولید می کننداسناد زیادی تولید می کنند -3-3
مدل هایی که تولید می شوند بسیار مدل هایی که تولید می شوند بسیار -4-4.. مشروح اندمشروح اند
محیط کاری تحلیل و طراحیمحیط کاری تحلیل و طراحی
دیکشنری داده هایدیکشنری داده های
امکانات واردات وامکانات واردات وصادراتصادرات
،،ابزارهای تحلیلابزارهای تحلیلطراحی و کنترلطراحی و کنترل
ابزارهایابزارهایتولید فرم هاتولید فرم ها
ابزارهای نمودارسازیابزارهای نمودارسازیساخت یافتهساخت یافته
امکانات تولیدامکانات تولیدگزارشگزارش
مولد کدمولد کد مخزن مرکزیمخزن مرکزیامکانات زبان تقاضاامکانات زبان تقاضااطالعاتاطالعات
ابزارهای پشتیبانی از روش های ابزارهای پشتیبانی از روش های :: ساخت یافتهساخت یافته
.. ویراستارهای نمودارویراستارهای نمودار -1-1
.. ابزارهای تحلیل، طراحی و کنترلابزارهای تحلیل، طراحی و کنترل -2-2
.. امکانات زبان تقاضاامکانات زبان تقاضا -3-3
.. دیکشنری داده هادیکشنری داده ها -4-4
.. ابزارهای تعریف و تولید گزارشابزارهای تعریف و تولید گزارش -5-5
.. ابزارهای تعریف فرم هاابزارهای تعریف فرم ها -6-6
.. امکانات واردات وصادراتامکانات واردات وصادرات -7-7
.. مولد های کدمولد های کد -8-8
99فصلفصل
مشخصات سیستم مشخصات سیستم های حیاتیهای حیاتی
تعیین مشخصات مبتنی بر تعیین مشخصات مبتنی بر ریسکریسک
هدف تعیین مشخصات سیستم های حیاتی، درک هدف تعیین مشخصات سیستم های حیاتی، درک ریسک هایی است که سیستم با آن ها روبه رو ریسک هایی است که سیستم با آن ها روبه رو است و تولید خواسته های قابلیت اتکا برای است و تولید خواسته های قابلیت اتکا برای
شامل مراحل زیر شامل مراحل زیر مقابله با آن ریسک ها است و مقابله با آن ریسک ها است و :: استاست
.. شناسایی ریسکشناسایی ریسک -1-1
.. تحلیل و دسته بندی ریسکتحلیل و دسته بندی ریسک -2-2
.. تجزیه ریسکتجزیه ریسک -3-3
برآورد کاهش ریسکبرآورد کاهش ریسک -4-4
تعیین مشخصات مبتنی بر تعیین مشخصات مبتنی بر ریسکریسک
شناسایی ریسکتحلیل و
دسته بندیریسک
تجزیه ریسکبرآورد کاهش
ریسک
توصیف ریسکتوصیف ریسک خواسته هایخواسته هایامنیتی اولیهامنیتی اولیه
تحلیلتحلیلبرآورد ریسکبرآورد ریسکعلت ریشه ایعلت ریشه ای
برای سیستم های بزرگ، تحلیل برای سیستم های بزرگ، تحلیل ریسک در چند مرحله انجام می ریسک در چند مرحله انجام می
:: شودشود تحلیل اولیه ریسک که در آن ریسک های تحلیل اولیه ریسک که در آن ریسک های --11
مهم شناسایی می مهم شناسایی می شوند . شوند .
تحلیل مشروح تری از ریسک سیستم و زیر تحلیل مشروح تری از ریسک سیستم و زیر - - 22 سیستم .سیستم .
تحلیل ریسک نرم افزار که در آن ریسک تحلیل ریسک نرم افزار که در آن ریسک - - 33 های خطر نرم افزار در نظر های خطر نرم افزار در نظر
گرفته می شوند .گرفته می شوند .
تحلیل ریسک عملیاتی که به واسط کاربر تحلیل ریسک عملیاتی که به واسط کاربر - - 44 مربوط می شود و مربوط می شود و
ریسک هایی که از خطاهای اپراتور ناشی ریسک هایی که از خطاهای اپراتور ناشی می شوند .می شوند .
شناسایی ریسکشناسایی ریسکشناسایی ریسک هایی است که شناسایی ریسک هایی است که
.. سیستم حیاتی باید با آنها مقابله کندسیستم حیاتی باید با آنها مقابله کند
در سیستم های امنیتی - حیاتی ، در سیستم های امنیتی - حیاتی ، ریسک های اصلی خطراتی هستند که ریسک های اصلی خطراتی هستند که
.. منجر به حادثه می شوندمنجر به حادثه می شوند
تحلیل و دسته بندی ریسک هاتحلیل و دسته بندی ریسک ها
با درک احتمال وقوع ریسک و اثرات بالقوه آن با درک احتمال وقوع ریسک و اثرات بالقوه آن .. در اثر سوانح حاصل از آن سروکار دارددر اثر سوانح حاصل از آن سروکار دارد
ریسک ها می توانند به سه طریق دسته ریسک ها می توانند به سه طریق دسته :: بندی شوندبندی شوند
.. غیر قابل تحملغیر قابل تحمل -1-1
.. حداقل بودن اثر ریسکحداقل بودن اثر ریسک -2-2
.. قابل قبولقابل قبول -3-3
تجزیه ریسکتجزیه ریسکفرایند کشف علل ریشه ای ریسک ها فرایند کشف علل ریشه ای ریسک ها
.. در یک سیستم خاص استدر یک سیستم خاص است
درخت عیبدرخت عیب
تحلیل درخت عیب شامل شناسایی تحلیل درخت عیب شامل شناسایی رویداد نامطلوب و کارکردن عقبگرد رویداد نامطلوب و کارکردن عقبگرد از آن رویداد برای یافتن آسان می از آن رویداد برای یافتن آسان می
.. باشدباشد
برآورد کاهش ریسکبرآورد کاهش ریسکوقتی ریسک های بالقوه وعلل ریشه ای آن ها وقتی ریسک های بالقوه وعلل ریشه ای آن ها
شناسایی شدند، باید خواسته های قابلیت شناسایی شدند، باید خواسته های قابلیت اعتماد سیستم را بیابید که ریسک ها را اعتماد سیستم را بیابید که ریسک ها را
مدیریت کند وتضمین نماید که سانحه رخ نمی مدیریت کند وتضمین نماید که سانحه رخ نمی . . دهددهد
:: سه راهبرد برای این کار وجود داردسه راهبرد برای این کار وجود دارد
.. اجتناب از ریسکاجتناب از ریسک -1-1
.. تشخیص و حذف ریسکتشخیص و حذف ریسک -2-2
.. محدود سازی خساراتمحدود سازی خسارات -3-3
مشخصات امنیتیمشخصات امنیتی
در این مدل، سیستم کنترلی ، تجهیزاتی در این مدل، سیستم کنترلی ، تجهیزاتی راکنترل می کند که خواسته های امنیتی راکنترل می کند که خواسته های امنیتی
سطح باالیی دارند .این خواسته های سطح سطح باالیی دارند .این خواسته های سطح باال ، دو نوع خواسته های امنیتی� مشروح تر باال ، دو نوع خواسته های امنیتی� مشروح تر را تولید می کند که برای سیستم حفاظت را تولید می کند که برای سیستم حفاظت
:: تجهیزات اعمال می شودتجهیزات اعمال می شود
.. خواسته های امنیتی عملکردیخواسته های امنیتی عملکردی -1-1
.. خواسته های جامعیت امنیتیخواسته های جامعیت امنیتی -2-2
مشخصات حفاظتیمشخصات حفاظتیمشخصات خواسته های حفاظتی برای مشخصات خواسته های حفاظتی برای سیستم ها تا حدودی شبیه خواسته های سیستم ها تا حدودی شبیه خواسته های امنیتی است .آن ها مشخصاتی هستند امنیتی است .آن ها مشخصاتی هستند .. که نمی توان بصورت کمی بیان کردکه نمی توان بصورت کمی بیان کرد
V خواسته V خواسته خواسته های حفاظتی معموال خواسته های حفاظتی معموالهای ” نبایدها ” هستندکه رفتار های غیر های ” نبایدها ” هستندکه رفتار های غیر ..قابل قبول سیستم را مشخص می کنندقابل قبول سیستم را مشخص می کنند
مراحل این فرایند مراحل این فرایند :: عبارتند ازعبارتند از
.. شناسایی و ارزیابی داراییشناسایی و ارزیابی دارایی -1-1
.. تحلیل تهدید و برآورد ریسکتحلیل تهدید و برآورد ریسک -2-2
.. انتساب تهدیدانتساب تهدید -3-3
.. تحلیل فن آوریتحلیل فن آوری -4-4
.. تعیین مشخصات حفاظتتعیین مشخصات حفاظت -5-5
خواسته های حفاظتی که فایر خواسته های حفاظتی که فایر :: اسمیت شناسایی کرداسمیت شناسایی کرد
.. خواسته های شناساییخواسته های شناسایی -1-1
.. خواسته های تأییدخواسته های تأیید -2-2
.. خواسته های اعطای مجوزخواسته های اعطای مجوز -3-3
.. خواسته های مصونیتخواسته های مصونیت -4-4
.. خواسته های جامعیتخواسته های جامعیت -5-5
..خواسته های تشخیص تجاوزخواسته های تشخیص تجاوز -6-6
.. خواسته های عدم تکذیبخواسته های عدم تکذیب -7-7
.. خواسته های محرمانگیخواسته های محرمانگی -8-8
.. خواسته های حسابداری حفاظتیخواسته های حسابداری حفاظتی -9-9
.. خواسته های حفاظتی نگهداری سیستمخواسته های حفاظتی نگهداری سیستم -10-10
مشخصات قابلیت اعتماد نرم مشخصات قابلیت اعتماد نرم افزارافزار
هنگام تعیین قابلیت اعتماد سیستم، سه بعد را هنگام تعیین قابلیت اعتماد سیستم، سه بعد را :: باید در نظر گرفتباید در نظر گرفت
.. قابلیت اعتماد سخت افزارقابلیت اعتماد سخت افزار -1-1
.. قابلیت اعتماد نرم افزارقابلیت اعتماد نرم افزار -2-2
.. قابلیت اعتماد اپراتورقابلیت اعتماد اپراتور -3-3
معیارهای قابلیت اعتمادمعیارهای قابلیت اعتماد
انتخاب معیار به نوع سیستم و خواسته های دامنه انتخاب معیار به نوع سیستم و خواسته های دامنه ..کاربرد بستگی داردکاربرد بستگی دارد
نمونه هایی از انواع سیستم هایی که این نمونه هایی از انواع سیستم هایی که این معیارها می توانند در آنها بکار روند عبارتند معیارها می توانند در آنها بکار روند عبارتند
::ازاز
.. احتمال خرابی در تقاضااحتمال خرابی در تقاضا -1-1
.. نرخ وقوع خرابینرخ وقوع خرابی -2-2
.. میانگین زمان شکستمیانگین زمان شکست -3-3
.. قابلیت دسترسیقابلیت دسترسی -4-4
در برآورد قابلیت اعتماد سیستم، در برآورد قابلیت اعتماد سیستم، از سه نوع اندازه گیری می توان از سه نوع اندازه گیری می توان
:: استفاده کرداستفاده کردتعدادخرابی های سیستم با توجه به تعداد تعدادخرابی های سیستم با توجه به تعداد -1 -1.. درخواست های سرویس از سیستمدرخواست های سرویس از سیستم
زمان ) یا تعداد تراکنش های ( بین خرابی زمان ) یا تعداد تراکنش های ( بین خرابی -2 -2.. های سیستمهای سیستم
زمان مصرفی برای ترمیم یا راه اندازی زمان مصرفی برای ترمیم یا راه اندازی -3 -3.. مجدد سیستممجدد سیستم
خواسته های قابلیت اعتماد خواسته های قابلیت اعتماد غیر عملکردیغیر عملکردی
:: مراحل تعیین مشخصات قابلیت اعتمادمراحل تعیین مشخصات قابلیت اعتمادبرای هر زیر سیستم، انواع خرابی های برای هر زیر سیستم، انواع خرابی های -1-1
سیستم را شناسایی کنید و نتایج این خرابی سیستم را شناسایی کنید و نتایج این خرابی . . ها را تحلیل نماییدها را تحلیل نمایید
از تحلیل خرابی سیستم، خرابی ها به دسته از تحلیل خرابی سیستم، خرابی ها به دسته -2-2.. های مناسبی افراز کنیدهای مناسبی افراز کنید
برای هر دسته از خرابی، با استفاده از معیار برای هر دسته از خرابی، با استفاده از معیار -3 -3قابلیت اعتماد مناسب، خواسته قابلیت قابلیت اعتماد مناسب، خواسته قابلیت
.. اعتماد را تعریف کنیداعتماد را تعریف کنید
در صورت لزوم، خواسته های قابلیت اعتماد در صورت لزوم، خواسته های قابلیت اعتماد -4-4.. عملکردی را شناسایی کنیدعملکردی را شناسایی کنید
دسته بندی خرابی هادسته بندی خرابی ها
.. موقتموقت -1-1
.. دائمیدائمی -2-2
.. قابل ترمیمقابل ترمیم -3-3
.. غیر قابل ترمیمغیر قابل ترمیم -4-4
.. بدون تخریببدون تخریب -5-5
.. مخربمخرب -6-6
دو نوع خرابی را می توان دو نوع خرابی را می توان شناسایی کردشناسایی کرد
خرابی هایی خرابی هایی :: خرابی های موقتیخرابی های موقتی -1-1هستند که کاربر می تواند آن ها هستند که کاربر می تواند آن ها
.. را ترمیم کندرا ترمیم کند
خرابی هایی خرابی هایی : : خرابی های دائمیخرابی های دائمی -2-2هستند که توسط کارخانه سازنده هستند که توسط کارخانه سازنده
.. ترمیم می شوندترمیم می شوند
1010فصلفصل
مشخصات مشخصات رسمیرسمی
مشخصات رسمی در فرایند مشخصات رسمی در فرایند نرم افزارنرم افزار
ایجاد مشخصات رسمی منجر به تحلیل های ایجاد مشخصات رسمی منجر به تحلیل های مشروحی از سیستم ها می شود که خطا ها و مشروحی از سیستم ها می شود که خطا ها و ناسازگاری های موجود در مشخصات خواسته ناسازگاری های موجود در مشخصات خواسته
.. ها را آشکار می کندها را آشکار می کند
دو روش برای تعیین مشخصات رسمی دو روش برای تعیین مشخصات رسمی :: وجود داردوجود دارد
.. روش جبریروش جبری -1-1
.. روش مبتنی بر مدلروش مبتنی بر مدل -2-2
مشخصات و طراحیمشخصات و طراحی
تعریفتعریفخواسته های کاربرخواسته های کاربر
مشخصاتمشخصاتطراحی سطح باالطراحی سطح باالمشخصات رسمیمشخصات رسمیطراحی معماریطراحی معماریخواسته های سیستمخواسته های سیستم
مشخصاتمشخصات
طراحیطراحی
مشخصات رسمی در فرایند نرم مشخصات رسمی در فرایند نرم افزارافزار
تعریفتعریفخواسته های کاربرخواسته های کاربر
مشخصاتمشخصاتخواسته های سیستمخواسته های سیستم
طراحی معماریطراحی معماری
مشخصات رسمیمشخصات رسمی
طراحی سطح باالطراحی سطح باال
مدل سازی سیستممدل سازی سیستم
تعیین مشخصات واسط زیر تعیین مشخصات واسط زیر سیستمسیستم
V به V به واسط های زیر سیستم ها معموال واسط های زیر سیستم ها معموال صورت مجموعه ایصورت مجموعه ای
از انواع داده انتزاعی یا اشیا تعریف می از انواع داده انتزاعی یا اشیا تعریف می ، ،شوند .این هاشوند .این ها
داده ها و عملیاتی را توصیف می کنند داده ها و عملیاتی را توصیف می کنند که از طریقکه از طریق
واسط زیر سیستم قابل دستیابی واسط زیر سیستم قابل دستیابی .. استاست
فرایند توسعه مشخصات رسمی فرایند توسعه مشخصات رسمی واسط زیر سیستم باید شامل واسط زیر سیستم باید شامل
:: فعالیت های زیر باشدفعالیت های زیر باشد
.. سازماندهی مشخصاتسازماندهی مشخصات -1-1
.. نامگذاری مشخصاتنامگذاری مشخصات -2-2
.. انتخاب عملیاتانتخاب عملیات -3-3
.. مشخصات عملیات غیر رسمیمشخصات عملیات غیر رسمی -4-4
.. تعریف نحوتعریف نحو -5-5
.. تعریف اصل موضوعتعریف اصل موضوع -6-6
عملیات بر روی نوع داده انتزاعی عملیات بر روی نوع داده انتزاعی ::دو دسته انددو دسته اند
نهاد هایی از گونة نهاد هایی از گونة :: عملیات سازندهعملیات سازنده -1-1تعریف شده در مشخصات را ایجاد و اصالح تعریف شده در مشخصات را ایجاد و اصالح
.. می کنندمی کنند
صفات گونه تعریف صفات گونه تعریف : : عملیات بررسیعملیات بررسی -2-2.. شده در مشخصات را بازیابی می کنندشده در مشخصات را بازیابی می کنند
مشخصات مشخصات رفتاریرفتاری
تکنیک های مبتنی بر مدل، سیستم را با تکنیک های مبتنی بر مدل، سیستم را با استفاده از ساختارهای ریاضی مثل استفاده از ساختارهای ریاضی مثل
مجموعه ها و توابع مدل سازی می کنند . مجموعه ها و توابع مدل سازی می کنند . این تکنیک ها حالت سیستم را نشان می این تکنیک ها حالت سیستم را نشان می دهند و در نتیجه، تعیین مشخصات رفتاری دهند و در نتیجه، تعیین مشخصات رفتاری
.. آسان تر می گرددآسان تر می گردد
عملیات موجود در مشخصات مبتنی بر عملیات موجود در مشخصات مبتنی بر مدل، با تعریف پیش شرط ها و پس شرط مدل، با تعریف پیش شرط ها و پس شرط .. ها روی حالت سیستم مشخص می شوندها روی حالت سیستم مشخص می شوند
اسامی تعریف شده در این اسامی تعریف شده در این : : طرحطرح
.. ورودی های سیستمورودی های سیستم -1-1
.. خروجی های سیستمخروجی های سیستم -2-2
متغیر های حالت برای انجام متغیر های حالت برای انجام -3-3.. محاسباتمحاسبات
بخش سومبخش سوم
طراحیطراحی
1111فصلفصل
طراحی طراحی معماریمعماری
طراحی طراحی معماریمعماری
فرایند اولیه طراحی جهت شناسایی زیر فرایند اولیه طراحی جهت شناسایی زیر سیستم ها و ایجاد چارچوبی برای کنترل و سیستم ها و ایجاد چارچوبی برای کنترل و
.. ارتباطات زیر سیستم، می باشدارتباطات زیر سیستم، می باشد
سه امتیاز طراحی و مستند سازی سه امتیاز طراحی و مستند سازی :: معماری نرم افزارمعماری نرم افزار
.. ارتباط با واگذارندگانارتباط با واگذارندگان -1-1
.. تحلیل سیستمتحلیل سیستم -2-2
. . استفاده مجدد در مقیاس باالاستفاده مجدد در مقیاس باال -3-3
معماری سیستم ممکن است معماری سیستم ممکن است به خواسته های غیر عملکردی به خواسته های غیر عملکردی
:: زیر بستگی داشته باشدزیر بستگی داشته باشد
.. کاراییکارایی -1 -1
.. حفاظتحفاظت -2-2
.. امنیتامنیت -3 -3
.. قابلیت دسترسیقابلیت دسترسی -4 -4
.. قابلیت نگهداریقابلیت نگهداری -5 -5
مدل های معماری که ممکن است مدل های معماری که ممکن است :: توسعه یابندتوسعه یابند
.. مدل ساختاری ایستامدل ساختاری ایستا -1-1
.. مدل فرایند پویامدل فرایند پویا -2-2
.. مدل واسطمدل واسط -3-3
.. مدل رابطهمدل رابطه -4-4
.. مدل توزیعیمدل توزیعی -5-5
سازمان سازمان سیستمسیستم
راهبرد پایه ای را مشخص می کند که برای راهبرد پایه ای را مشخص می کند که برای .. تعیین ساختار سیستم بکار می روندتعیین ساختار سیستم بکار می روند
سه سبک سازمانی زیر کاربرد وسیعی سه سبک سازمانی زیر کاربرد وسیعی :: دارنددارند
.. مدل مخزنمدل مخزن -1-1
.. مدل مشتری - کارگزارمدل مشتری - کارگزار -2-2
.. مدل الیه ایمدل الیه ای -3-3
مدل مدل مخزنمخزن
زیر سیستم های سازنده سیستم باید اطالعات زیر سیستم های سازنده سیستم باید اطالعات را طوری مبادله کنند که بطور مؤثر با یکدیگر را طوری مبادله کنند که بطور مؤثر با یکدیگر
.. کار کنندکار کنند
:: دو روش برای این کار وجود دارددو روش برای این کار وجود دارد
تمام داده های مشترک در بانک اطالعاتی تمام داده های مشترک در بانک اطالعاتی -1-1مرکزی نگهداری می شوند که تمام زیر سیستم مرکزی نگهداری می شوند که تمام زیر سیستم
.. ها باید به آن دسترسی داشته باشندها باید به آن دسترسی داشته باشند
هر زیر سیستم، بانک اطالعاتی مخصوصی هر زیر سیستم، بانک اطالعاتی مخصوصی -2-2دارد . داده ها از طریق ارسال پیام بین زیر دارد . داده ها از طریق ارسال پیام بین زیر
. . سیستم ها مبادله می شودسیستم ها مبادله می شود
امتیازات و معایب مخزن مشترک امتیازات و معایب مخزن مشترک :: عبارت اند ازعبارت اند از
راه مؤثری برای به اشتراک گذاشتن راه مؤثری برای به اشتراک گذاشتن -1-1حجم زیادیحجم زیادی
.. از داده ها استاز داده ها است
زیر سیستم ها باید با مدل مخزنی زیر سیستم ها باید با مدل مخزنی -2-2.. موافق باشندموافق باشند
زیر سیستم هایی که داده ها را تولید زیر سیستم هایی که داده ها را تولید -3-3 می کنند بهمی کنند به
چگونگی استفاده از آن ها توسط چگونگی استفاده از آن ها توسط زیر سیستم هایزیر سیستم های
.. دیگری توجهی ندارنددیگری توجهی ندارند در حجم زیاد اطالعات ، تکامل در حجم زیاد اطالعات ، تکامل -4-4
.. دشوار استدشوار است
امتیازات و معایب مخزن مشترک امتیازات و معایب مخزن مشترک :: عبارت اند ازعبارت اند از
برفعالیت هایی مثل تهیه پشتیبان، برفعالیت هایی مثل تهیه پشتیبان، -5-5حفاظت ،کنترل دستیابی و حفاظت ،کنترل دستیابی و
.. ترمیم از خطا متمرکز استترمیم از خطا متمرکز است
زیر سیستم های مختلف ممکن است زیر سیستم های مختلف ممکن است -6-6خواسته های متفاوتی داشته خواسته های متفاوتی داشته
..باشندباشند
مدل اشتراکی از طریق طرح کلی مدل اشتراکی از طریق طرح کلی -7-7..مخزن قابل مشاهده استمخزن قابل مشاهده است
توزیع مخزن در چند ماشین دشوار توزیع مخزن در چند ماشین دشوار -8-8.. استاست
تعیین مشخصات مبتنی بر تعیین مشخصات مبتنی بر ریسکریسک
مخزن پروژهمخزن پروژه ویراستار برنامهویراستار برنامه
تحلیل گر طراحیتحلیل گر طراحیمولد گزارشمولد گزارش
ویراستار طراحیویراستار طراحی
مترجم طراحیمترجم طراحی
مولد کدمولد کد
مدل مشتری - کارگذارمدل مشتری - کارگذاریک مدل سیستم است که در آن، سیستم به یک مدل سیستم است که در آن، سیستم به مجموعه ای از سرویس ها و سرویس دهنده مجموعه ای از سرویس ها و سرویس دهنده
.. ها سازماندهی شده استها سازماندهی شده است
:: قطعات اصلی این مدل عبارت اند ازقطعات اصلی این مدل عبارت اند از
مجموعه ای از کارگزاران مستقل که مجموعه ای از کارگزاران مستقل که -1-1 سرویس هایی را به زیر سیستم های سرویس هایی را به زیر سیستم های
.. دیگر ارائه می کننددیگر ارائه می کنند
مجموعه ای از مشتریان که از سرویس مجموعه ای از مشتریان که از سرویس -2-2 .. های کارگزاران استفاده می کنندهای کارگزاران استفاده می کنند
شبکه ای که اجازه می دهد مشتریان به شبکه ای که اجازه می دهد مشتریان به -3-3 این سرویس ها دسترسی داشته این سرویس ها دسترسی داشته
.. باشندباشند
مدل الیه ایمدل الیه ای
مدل الیه ای یک معماری، سیستم را مدل الیه ای یک معماری، سیستم را بصورت مجموعه ای از الیه ها سازماندهی بصورت مجموعه ای از الیه ها سازماندهی می کند که هر الیه مجموعه ای از سرویس می کند که هر الیه مجموعه ای از سرویس
.. ها را ارائه می کندها را ارائه می کند
روش الیه ای از توسعه تدریجی سیستم ها روش الیه ای از توسعه تدریجی سیستم ها .. پشتیبانی می کندپشتیبانی می کند
عیب روش الیه این است که تعیین ساختار عیب روش الیه این است که تعیین ساختار .. سیستم دشوار استسیستم دشوار است
مدل الیه ای سیستم مدیریت مدل الیه ای سیستم مدیریت نسخه هانسخه ها
الیه سیستم مدیریت پیکر بندیالیه سیستم مدیریت پیکر بندی
الیه سیستم مدیریت شیءالیه سیستم مدیریت شیء
الیه سیستم بانک اطالعاتیالیه سیستم بانک اطالعاتی
الیه سیستم عاملالیه سیستم عامل
سبک های تجزیه پیمانه ایسبک های تجزیه پیمانه ایتمایز روشنی بین زیر سیستم ها و پیمانه ها وجود تمایز روشنی بین زیر سیستم ها و پیمانه ها وجود ندارد اما خوب است آن ها را بصورت زیر تصور ندارد اما خوب است آن ها را بصورت زیر تصور
:: کنیمکنیم
سیستمی است که عملیاتش به سیستمی است که عملیاتش به ،،زیر سیستمزیر سیستم -1-1سرویس های ارائه شده توسط زیر سیستم های سرویس های ارائه شده توسط زیر سیستم های
دیگر بستگی ندارد . زیر سیستم ها ترکیبی از دیگر بستگی ندارد . زیر سیستم ها ترکیبی از پیمانه ها هستند و واسط هایی دارند که برای پیمانه ها هستند و واسط هایی دارند که برای
.. ارتباط با زیر سیستم های دیگر به کار می روندارتباط با زیر سیستم های دیگر به کار می روند
V یک قطعه از سیستم است که ،،پیمانهپیمانه -2-2 V یک قطعه از سیستم است که معموال معموالیک یا چند سرویس را برای پیمانه های دیگر یک یا چند سرویس را برای پیمانه های دیگر
.. فراهم می سازدفراهم می سازد
هنگام تجزیه زیر سیستم ها به هنگام تجزیه زیر سیستم ها به پیمانه ها از دو مدل می توان پیمانه ها از دو مدل می توان
:: استفاده کرداستفاده کرد
سیستم به مجموعه ای از سیستم به مجموعه ای از :: مدل شیءگرامدل شیءگرا -1-1.. اشیاء مرتبط تجزیه می شوداشیاء مرتبط تجزیه می شود
سیستم به پیمانه سیستم به پیمانه :: مدل جریان داده هامدل جریان داده ها -2-2های عملکردی تقسیم می شود که داده های های عملکردی تقسیم می شود که داده های ورودی را پذیرفته پس از تبدیالت به خروجی ورودی را پذیرفته پس از تبدیالت به خروجی
.. می بردمی برد
مدل های شیءمدل های شیءمدل شیءگرای معماری سیستم، ساختار مدل شیءگرای معماری سیستم، ساختار
سیستم را به صورت مجموعه ای از اشیاء در سیستم را به صورت مجموعه ای از اشیاء در می آورد که اتصال ضعیفی دارند و واسطی می آورد که اتصال ضعیفی دارند و واسطی
.. برای آنها تعریف شده استبرای آنها تعریف شده است
در این روش، چون اشیاء وابستگی چندانی به در این روش، چون اشیاء وابستگی چندانی به هم ندارند، پیاده سازی اشیا بدون تأثیر بر هم ندارند، پیاده سازی اشیا بدون تأثیر بر
.. اشیای دیگر قابل اصالح استاشیای دیگر قابل اصالح است
لوله کشی لوله کشی عمل گراعمل گرا
در مدل لوله کشی عمل گرا یا مدل جریان داده، در مدل لوله کشی عمل گرا یا مدل جریان داده، تبدیالت عملکردی، ورودی هایشان را پردازش می تبدیالت عملکردی، ورودی هایشان را پردازش می
.. کنند و خروجی هایی را تولید می نمایندکنند و خروجی هایی را تولید می نمایند
:: امتیازات این معماری عبارت اند ازامتیازات این معماری عبارت اند از
.. از استفاده مجدد تبدیالت استفاده می کنداز استفاده مجدد تبدیالت استفاده می کند -1-1
شهودی است، به طوری که افراد کارشان را شهودی است، به طوری که افراد کارشان را -2 -2 بر حسب پردازش ورودی - خروجی می بر حسب پردازش ورودی - خروجی می
.. نگرندنگرند
تکامل سیستم با اضافه کردن تبدیالت جدید، تکامل سیستم با اضافه کردن تبدیالت جدید، -3-3 .. آسان استآسان است
پیاده سازی آن بصورت سیستم ترتیبی یا پیاده سازی آن بصورت سیستم ترتیبی یا -4-4 .. همزمان، آسان استهمزمان، آسان است
مدل های کنترلیمدل های کنترلی
مدل های کنترلی، در سطح معماری با مدل های کنترلی، در سطح معماری با جریان کنترل بین زیر سیستم ها جریان کنترل بین زیر سیستم ها
..سروکار داردسروکار دارد
:: دو روش برای کنترل وجود دارددو روش برای کنترل وجود دارد
.. کنترل متمرکزکنترل متمرکز -1-1
. . کنترل رویدادیکنترل رویدادی -2-2
کنترل متمرکزکنترل متمرکز
در مدل کنترل متمرکز ، یک زیر سیستم در مدل کنترل متمرکز ، یک زیر سیستم به عنوان کنترلگر محسوب می شود و به عنوان کنترلگر محسوب می شود و مسئولیت مدیریت بر اجرای سایر زیر مسئولیت مدیریت بر اجرای سایر زیر
.. سیستم ها را به عهده داردسیستم ها را به عهده دارد
زیر سیستم های کنترل شده به دو دسته زیر سیستم های کنترل شده به دو دسته :: تقسیم می شوندتقسیم می شوند
.. مدل فراخوانی _ برگشتمدل فراخوانی _ برگشت -1-1
. . مدل مدیریتمدل مدیریت -2-2
سیستم های سیستم های رویدادیرویدادی
مدل های رویدادی، توسط رویدادهای مدل های رویدادی، توسط رویدادهای .. خارجی مشخص می شوندخارجی مشخص می شوند
دو مدل از کنترل رویدادی عبارت اند دو مدل از کنترل رویدادی عبارت اند :: ازاز
.. مدل های پخشیمدل های پخشی -1-1
. . مدل های وقفه ایمدل های وقفه ای -2-2
مدل کنترل مبتنی بر مدل کنترل مبتنی بر پخشپخش
اداره کننده پیام و رویداداداره کننده پیام و رویداد
11زیر سیستمزیر سیستم 22زیر سیستمزیر سیستم 33زیر سیستمزیر سیستم 44زیر سیستمزیر سیستم
معماری های مرجعمعماری های مرجع
هنگام ایجاد سیستم های جدید می توان هنگام ایجاد سیستم های جدید می توان دوباره از ساختار معماری استفاده کرد . این دوباره از ساختار معماری استفاده کرد . این مدل ها را معماری ویژه دامنه کاربرد می مدل ها را معماری ویژه دامنه کاربرد می
.. نامندنامند
دو نوع مدل معماری ویژه دامنه کاربرد دو نوع مدل معماری ویژه دامنه کاربرد ::وجود داردوجود دارد
.. معماری های کلیمعماری های کلی -1-1
.. معماری های مرجعمعماری های مرجع -2-2
پنج سطح سرویس ها در مدل مرجع پنج سطح سرویس ها در مدل مرجع :: کیس عبارت اند ازکیس عبارت اند از
سرویس های مخزن سرویس های مخزن -1-1.. دادهداده
سرویس های جامعیت سرویس های جامعیت -2-2.. دادهداده
سرویس های مدیریت سرویس های مدیریت -3-3.. وظیفهوظیفه
.. سرویس های پیامسرویس های پیام -4-4
سرویس های واسط سرویس های واسط -5-5.. کاربرکاربر
1212فصلفصل
معماری های سیستم های معماری های سیستم های توزیعیتوزیعی
پنج ویژگی مهم برای سیستم پنج ویژگی مهم برای سیستم :: های توزیعیهای توزیعی
.. اشتراک منابعاشتراک منابع -1-1
.. باز بودنباز بودن -2-2
.. همزمانیهمزمانی -3-3
.. مقیاس پذیریمقیاس پذیری -4-4
.. تحمل عیبتحمل عیب -5-5
:: معایب سیستم های توزیعیمعایب سیستم های توزیعی سیستم های توزیعی پیچیده تر سیستم های توزیعی پیچیده تر ::پیچیدگی پیچیدگی -1-1.. از سیستم های متمرکز هستنداز سیستم های متمرکز هستند
.. حفاظت در شبکه دشوار است حفاظت در شبکه دشوار است::حفاظت حفاظت -2-2
تالش زیادی برای مدیریت تالش زیادی برای مدیریت ::مدیریت پذیری مدیریت پذیری -3-3 . . و نگهداری سیستم الزم استو نگهداری سیستم الزم است
پاسخ سیستم ، پاسخ سیستم ، ::غیر قابل پیش بینی بودن غیر قابل پیش بینی بودن -4-4به بار سیستم، سازمان آن و بار به بار سیستم، سازمان آن و بار
.. شبکه بستگی داردشبکه بستگی دارد
انواع معماری سیستم های انواع معماری سیستم های :: توزیعیتوزیعی
معماری های مشتری – معماری های مشتری – -1-1.. کارگزارکارگزار
معماری های شیء توزیعیمعماری های شیء توزیعی -2-2..
معماری های چند پردازنده ایمعماری های چند پردازنده ایساده ترین مدل سیستم توزیعی است که سیستم ساده ترین مدل سیستم توزیعی است که سیستم
از تعدادی فرایند تشکیل شده است که ممکن از تعدادی فرایند تشکیل شده است که ممکن است بر روی پردازنده های جداگانه ای اجرا است بر روی پردازنده های جداگانه ای اجرا
.. شوندشوند
معماری های مشتری – کارگزارمعماری های مشتری – کارگزارسیستم بصورت مجموعه ای از سرویس ها و سیستم بصورت مجموعه ای از سرویس ها و
مشتریان مدل سازی می شوند . در سیستم مشتریان مدل سازی می شوند . در سیستم مشتری – کارگزار، واسط کاربر همیشه در مشتری – کارگزار، واسط کاربر همیشه در مشتری اجرا می شود و مدیریت داده ها در مشتری اجرا می شود و مدیریت داده ها در
.. کارگزار صورت می گیردکارگزار صورت می گیرد
دو دو ساده ترین معماری مشتری – کارگزار� ساده ترین معماری مشتری – کارگزار� نام دارد که نام دارد کهردیفیردیفی
در آن هر کاربرد به صورت یک کارگزار و در آن هر کاربرد به صورت یک کارگزار و مجموعه ای ازمجموعه ای از
مشتریان تشکیل می شود و به دو صورت مشتریان تشکیل می شود و به دو صورت :: هستندهستند
.. مدل مشتری ضعیفمدل مشتری ضعیف -1-1
.. مدل مشتری قویمدل مشتری قوی -2-2
سیستم مشتری - سیستم مشتری - کارگزارکارگزار
s1s1 s4s4
s3s3s2s2
c2c2
c1c1
c4c4 c4c4
c5c5
c6c6c7c7 c8c8
c9c9
c10c10
c11c11
c12c12
فرایند کارگزارفرایند کارگزار
فرایند مشتریفرایند مشتری
معماری های شیء توزیعیمعماری های شیء توزیعیدر سیستم های شیء توزیعی، تمایزی بین در سیستم های شیء توزیعی، تمایزی بین مشتریان و کارگزاران وجود ندارند . اشیاء مشتریان و کارگزاران وجود ندارند . اشیاء
سرویس های کلی را ارائه می دهند که اشیاء سرویس های کلی را ارائه می دهند که اشیاء .. دیگر آن را فراخوانی می کننددیگر آن را فراخوانی می کنند
برای اداره کردن ارتباطات شیء و برای برای اداره کردن ارتباطات شیء و برای حذف واضافه اشیاء به سیستم، نیاز به میان حذف واضافه اشیاء به سیستم، نیاز به میان
افزار دارد. در نتیجه میان افزار ها را می توان افزار دارد. در نتیجه میان افزار ها را می توان گذرگاه نرم افزار دانست که اشیاء به آن گذرگاه نرم افزار دانست که اشیاء به آن
.. وصل می شوندوصل می شوند
امتیازات مدل معماری های امتیازات مدل معماری های : :شیء توزیعیشیء توزیعی
به طراح سیستم اجازه می دهد تا تصمیم به طراح سیستم اجازه می دهد تا تصمیم -1-1گیری در مورد چگونگی ارائه گیری در مورد چگونگی ارائه
.. سرویس ها به تأخیر افتدسرویس ها به تأخیر افتد
یک معماری سیستم باز است که اجازه یک معماری سیستم باز است که اجازه -2-2می دهد در صورت لزوم منابع جدیدی می دهد در صورت لزوم منابع جدیدی
.. اضافه شونداضافه شوند
سیستم قابل انعطاف و مقیاس پذیر سیستم قابل انعطاف و مقیاس پذیر -3-3.. استاست
در صورت لزوم، با جابه جایی اشیاء در در صورت لزوم، با جابه جایی اشیاء در -4-4شبکه، سیستم را می توان به طور شبکه، سیستم را می توان به طور
.. پویا پیکربندی کردپویا پیکربندی کرد
معماری های شیء توزیعی به دو معماری های شیء توزیعی به دو روش در طراحی سیستم به روش در طراحی سیستم به
:: کارگرفته می شودکارگرفته می شود
به عنوان مدل منطقی که اجازه تعیین به عنوان مدل منطقی که اجازه تعیین -1-1.. ساختار و سازمان سیستم را می دهدساختار و سازمان سیستم را می دهد
یک روش قابل انعطاف برای سیستم های یک روش قابل انعطاف برای سیستم های -2-2.. مشتری – کارگزار استمشتری – کارگزار است
CORBACORBAبرای اداره کردن ارتباطات شیء و برای برای اداره کردن ارتباطات شیء و برای حذف واضافه اشیاء به سیستم، نیاز به حذف واضافه اشیاء به سیستم، نیاز به
..میان افزار داردمیان افزار دارد
در واقع، اشیای موجود در سیستم را می در واقع، اشیای موجود در سیستم را می توان با استفاده از زبان های برنامه توان با استفاده از زبان های برنامه
سازی مختلف پیاده سازی کرد در محیط سازی مختلف پیاده سازی کرد در محیط های مختلفی اجرا نمود و الزم نیست های مختلفی اجرا نمود و الزم نیست
اشیاء دیگر موجود در سیستم نام آن ها اشیاء دیگر موجود در سیستم نام آن ها ..را بدانندرا بدانند
:: CORBACORBA چهار عنصر مهم چهار عنصر مهم استاندارداستاندارد
مدل شیء برای اشیای کاربردی مدل شیء برای اشیای کاربردی -1-1 که در آن ها بسته بندی حالت استکه در آن ها بسته بندی حالت است
. . CORBACORBA شیءشیء
.. کارگزار درخواست شیءکارگزار درخواست شیء -2-2
مجموعه ای از سرویس های مجموعه ای از سرویس های -3-3.. شیءشیء
مجموعه ای از قطعات متداول مجموعه ای از قطعات متداول -4-4که توسط کاربردها که توسط کاربردها
.. درخواست می شوددرخواست می شود
محاسبات توزیعی درون محاسبات توزیعی درون سازمانیسازمانی
معماری های نظیر به نظیرمعماری های نظیر به نظیر -1-1..
معماری سیستم سرویس معماری سیستم سرویس -2-2.. گراگرا
معماری سیستم معماری سیستم نظیر به نظیرنظیر به نظیر
سیستم های غیر متمرکزی هستند که سیستم های غیر متمرکزی هستند که محاسبات می توانند در هر گره ای از شبکه محاسبات می توانند در هر گره ای از شبکه
انجام شوند، و حداقل، هیچ توزیعی بین انجام شوند، و حداقل، هیچ توزیعی بین مشتریان و سرویس دهندگان انجام نمی مشتریان و سرویس دهندگان انجام نمی
.. گیردگیرد
معماری سیستم سرویس گرامعماری سیستم سرویس گرا
این سرویس ها از طریق پیوند سرویس های این سرویس ها از طریق پیوند سرویس های نرم افزاری ایجاد می شود که توسط عرضه نرم افزاری ایجاد می شود که توسط عرضه
.. کنندگان سرویس ارائه شده اندکنندگان سرویس ارائه شده اند
معماری ادراکی سیستم معماری ادراکی سیستم سرویس گراسرویس گرا
متقاضی سرویسمتقاضی سرویس سرویسسرویس تأمین کنندهتأمین کننده
سرویسسرویس
بایگانی سرویسبایگانی سرویسیافتنیافتن
مقید کردنمقید کردن
انتشارانتشار
1313فصلفصل
معماری کاربردمعماری کاربرد
موارد استفاده از معماری کلی موارد استفاده از معماری کلی :: کاربردکاربرد
به عنوان نقطه شروع فرایند طراحی به عنوان نقطه شروع فرایند طراحی -1-1.. معماریمعماری
.. به عنوان لیست کنترلی طراحیبه عنوان لیست کنترلی طراحی -2-2
به عنوان روشی برای سازماندهی کار تیم به عنوان روشی برای سازماندهی کار تیم -3-3.. توسعهتوسعه
به عنوان وسیله ای برای ارزیابی قطعات به عنوان وسیله ای برای ارزیابی قطعات -4-4.. برای استفاده مجددبرای استفاده مجدد
به عنوان واژگانی برای بحث در مورد انواع به عنوان واژگانی برای بحث در مورد انواع -5-5.. کاربرد هاکاربرد ها
معماری چهار نوع کاربرد معماری چهار نوع کاربرد :: گستردهگسترده
کاربردهای پردازش داده کاربردهای پردازش داده -1-1.. هاها
کاربرد های پردازش کاربرد های پردازش -2-2.. تراکنشتراکنش
سیستم های پردازش سیستم های پردازش -3-3.. رویدادرویداد
سیستم های پردازش سیستم های پردازش -4-4.. زبانزبان
سیستم های پردازش دادهسیستم های پردازش دادهاین سیستم ها در حالت دسته ای کار می کنند و این سیستم ها در حالت دسته ای کار می کنند و دارای ساختار ورودی - پردازش - خروجی اند . دارای ساختار ورودی - پردازش - خروجی اند .
رکورد ها وارد سیستم می شوند، اطالعات رکورد ها وارد سیستم می شوند، اطالعات .. پردازش می شوند و خروجی تولید می گرددپردازش می شوند و خروجی تولید می گردد
معماری سیستم های پردازش دسته ای سه معماری سیستم های پردازش دسته ای سه :: قطعه اصلی داردقطعه اصلی دارد
.. قطعه ورودیقطعه ورودی -1-1
.. قطعه پردازشقطعه پردازش -2-2
.. قطعه خروجیقطعه خروجی -3-3
مدل پردازش ورودی - پردازش - مدل پردازش ورودی - پردازش - خروجیخروجی
بانک اطالعاتیبانک اطالعاتی
ورودیورودی
سیستمسیستم
پردازشپردازش خروجیخروجیچاپچاپ
سیستم های پردازش سیستم های پردازش تراکنشتراکنش
سیستم های محاوره ای اند که اجازه می دهند سیستم های محاوره ای اند که اجازه می دهند اطالعات موجود در بانک اطالعاتی توسط اطالعات موجود در بانک اطالعاتی توسط کاربران راه دور دستیابی و اصالح شود . کاربران راه دور دستیابی و اصالح شود .
سیستم های اطالعاتی و سیستم های مدیریت سیستم های اطالعاتی و سیستم های مدیریت منابع نمونه هایی از سیستم های پردازش منابع نمونه هایی از سیستم های پردازش
.. تراکنش اندتراکنش اند
منطق کاربردمنطق کاربرد پردازشپردازشI/OI/O ساختار کاربردهای پردازش تراکنشساختار کاربردهای پردازش تراکنش مدیر تراکنشمدیر تراکنش بانک اطالعاتیبانک اطالعاتی
سیستم های مدیریت منابع و سیستم های مدیریت منابع و اطالعاتاطالعات
تمام سیستم هایی که با بانک اطالعاتی تمام سیستم هایی که با بانک اطالعاتی اشتراکی اند تعامل دارند، به عنوان اشتراکی اند تعامل دارند، به عنوان
سیستم های اطالعاتی تراکنشی در نظر سیستم های اطالعاتی تراکنشی در نظر . . گرفته می شوندگرفته می شوند
سیستم های مدیریت منبع اندازه ثابتی از سیستم های مدیریت منبع اندازه ثابتی از .. یک منبع را مدیریت می کنندیک منبع را مدیریت می کنند
بعضی از سیستم های تخصیص منبع بعضی از سیستم های تخصیص منبع :: عبارت اند ازعبارت اند از
.. سیستم های جدول زمانیسیستم های جدول زمانی -1-1
.. سیستم های کتابخانهسیستم های کتابخانه -2-2
سیستم های مدیریت ترافیک سیستم های مدیریت ترافیک -3-3 . . هواییهوایی
مدل الیه ای سیستم اطالعاتمدل الیه ای سیستم اطالعات
واسط کاربرواسط کاربر
ارتباطات کاربرارتباطات کاربر
بازیابی اطالعات و اصالحاتبازیابی اطالعات و اصالحات
بانک اطالعاتی مدیریت تراکنشبانک اطالعاتی مدیریت تراکنش
قطعات سیستم تخصیص منبع قطعات سیستم تخصیص منبع :: عبارت اند ازعبارت اند از
.. بانک اطالعاتی منبعبانک اطالعاتی منبع -1-1
.. مجموعه قانونمجموعه قانون -2-2
.. قطعه مدیریت منبعقطعه مدیریت منبع -3-3
.. قطعه تخصیص منبعقطعه تخصیص منبع -4-4
.. پیمانه تأیید کاربرپیمانه تأیید کاربر -5-5
.. پیمانه مدیریت تقاضاپیمانه مدیریت تقاضا -6-6
.. قطعه تحویل منبعقطعه تحویل منبع -7-7
.. قطعه واسط کاربرقطعه واسط کاربر -8-8
سیستم های پردازش سیستم های پردازش رویدادرویداد
به رویدادهای موجود در محیط سیستم یا به رویدادهای موجود در محیط سیستم یا .. واسط کاربر پاسخ می دهندواسط کاربر پاسخ می دهند
سیستم های بی درنگ که در پاسخ به تحریک سیستم های بی درنگ که در پاسخ به تحریک های خارجی، پاسخ بی درنگی می دهند های خارجی، پاسخ بی درنگی می دهند . . سیستم های پردازش رویداد هستندسیستم های پردازش رویداد هستند
سیستم های ویرایشیسیستم های ویرایشی
برنامه هایی هستند که در یا ایستگاه برنامه هایی هستند که در یا ایستگاه کاری اجرا می شوند و به کاربران اجازه می کاری اجرا می شوند و به کاربران اجازه می دهند اسنادی مثل اسناد متنی، نمودارها یا دهند اسنادی مثل اسناد متنی، نمودارها یا
.. تصاویر را ویرایش کنندتصاویر را ویرایش کنند
PCPC
ویژگی های سیستم های ویژگی های سیستم های ویراستارویراستار
V سیستم های -1-1 V سیستم های سیستم های ویراستار معموال سیستم های ویراستار معموال.. تک کاربره هستندتک کاربره هستند
باید عکس العمل سریعی به فعالیت های باید عکس العمل سریعی به فعالیت های -2-2.. کاربر نشان دهندکاربر نشان دهند
V طوالنی تر از -3-3 V طوالنی تر از جلسات ویراستاری معموال جلسات ویراستاری معموالجلسات سفارش کاالها یا سایر تراکنش ها جلسات سفارش کاالها یا سایر تراکنش ها
.. استاست
سیستم های سیستم های پردازش زبانپردازش زبان
برای ترجمه متن ها از زبانی به زبان دیگر و برای ترجمه متن ها از زبانی به زبان دیگر و اجرای دستورات مشخص شده در زبان ورودی اجرای دستورات مشخص شده در زبان ورودی به کار می روند . این ها شامل مترجم و ماشین به کار می روند . این ها شامل مترجم و ماشین انتزاعی اند که زبان تولید شده را اجرا می کنندانتزاعی اند که زبان تولید شده را اجرا می کنند
..
مترجم ها در سیستم پردازش زبان دارای مترجم ها در سیستم پردازش زبان دارای :: قطعات زیر استقطعات زیر است
.. تحلیل گر لغویتحلیل گر لغوی -1-1
.. جدول نماد هاجدول نماد ها -2-2
.. تحلیل گر نحویتحلیل گر نحوی -3-3
.. درخت نحودرخت نحو -4-4
.. تحلیل گر معناییتحلیل گر معنایی -5-5
.. مولد کدمولد کد -6-6
مدل جریان داده برای مدل جریان داده برای کامپایلرکامپایلر
تحلیل لغوی تحلیل نحوی تحلیل معنایی تولید کد
جدول نمادهاجدول نمادهادرخت نحویدرخت نحوی
1414فصلفصل
طراحی شیءگراطراحی شیءگرا
طراحی طراحی شیءگراشیءگرا
سیستم شیءگرا از چند شیء متعامل سیستم شیءگرا از چند شیء متعامل تشکیل شده است که حالت محلی را تشکیل شده است که حالت محلی را
نگهداری کرده عملیاتی را بر روی آن حالت نگهداری کرده عملیاتی را بر روی آن حالت .. تدارک می بیندتدارک می بیند
در سراسر توسعه از راهبرد شیء گرا در سراسر توسعه از راهبرد شیء گرا :: استفاده می شوداستفاده می شود
.. تحلیل شیءگراتحلیل شیءگرا -1-1
.. طراحی شیءگراطراحی شیءگرا -2-2
. . برنامه نویسی شیءگرابرنامه نویسی شیءگرا -3-3
اشیا و کالس های اشیا و کالس های شیءشیء
شیء باید عملیات سازنده و وارسی داشته شیء باید عملیات سازنده و وارسی داشته باشند تا حالت آن وارسی و اصالح شود . اشیا باشند تا حالت آن وارسی و اصالح شود . اشیا سرویس هایی را برای اشیاء دیگر فراهم می سرویس هایی را برای اشیاء دیگر فراهم می
.. کنندکنند
اشیا می توانند به طور ترتیبی یا همزمان پیاده اشیا می توانند به طور ترتیبی یا همزمان پیاده سازی شوند . شیء همزمان می تواند غیر سازی شوند . شیء همزمان می تواند غیر
فعال باشد که حالت آن فقط از طریق واسط فعال باشد که حالت آن فقط از طریق واسط تغییر می کند یا می تواند فعال باشد که حالت تغییر می کند یا می تواند فعال باشد که حالت
.. خودش را تغییر می دهدخودش را تغییر می دهد
اشیای اشیای همزمانهمزمان
هر شیء برای درخواست سرویس از شیء هر شیء برای درخواست سرویس از شیء دیگر، پیام ”درخواست سرویس ” را ارسال دیگر، پیام ”درخواست سرویس ” را ارسال
.. می کندمی کند
دو نوع پیاده سازی همزمان اشیاء وجود دو نوع پیاده سازی همزمان اشیاء وجود :: دارددارد
.. کارگزارانکارگزاران -1-1
. . اشیای فعالاشیای فعال -2-2
فرایند طراحی شیءگرافرایند طراحی شیءگرا
فرایند کلی که در این جا استفاده می شود فرایند کلی که در این جا استفاده می شود :: چند مرحله ای استچند مرحله ای است
درک و تعریف حیطه و حالت های درک و تعریف حیطه و حالت های -1-1 .. کاربرد سیستمکاربرد سیستم
.. طراحی معماری سیستمطراحی معماری سیستم -2-2
.. شناسایی اشیای اصلی سیستمشناسایی اشیای اصلی سیستم -3-3
.. توسعه مدل های طراحیتوسعه مدل های طراحی -4-4
.. شناسایی واسط های شیءشناسایی واسط های شیء -5-5
حیطه سیستم و مدل های حیطه سیستم و مدل های کاربردکاربرد
اولین مرحله در فرایند طراحی نرم افزار اولین مرحله در فرایند طراحی نرم افزار درک روابط بین نرم افزار در حال توسعه و درک روابط بین نرم افزار در حال توسعه و
.. محیط خارجی آن استمحیط خارجی آن است
توسعه این درک ، برای تأمین توسعه این درک ، برای تأمین عملکردهای سیستم و تعیین ساختار عملکردهای سیستم و تعیین ساختار
سیستم به کار می رود ، به طوری که با سیستم به کار می رود ، به طوری که با .. محیط خود به خوبی ارتباط برقرار کندمحیط خود به خوبی ارتباط برقرار کند
حیطه سیستم و مدل استفاده سیستم حیطه سیستم و مدل استفاده سیستم ، دو مدل مکمل را برای روابط بین ، دو مدل مکمل را برای روابط بین :: سیستم و محیط آن نشان می دهندسیستم و محیط آن نشان می دهند
یک مدل ایستا است یک مدل ایستا است ، ، حیطه سیستمحیطه سیستم -1-1که سایر سیستم های موجود در محیط را که سایر سیستم های موجود در محیط را
.. توصیف می کندتوصیف می کند
یک مدل پویا یک مدل پویا ، ، مدل استفاده سیستممدل استفاده سیستم -2-2است که مشخص می کند سیستم چگونه است که مشخص می کند سیستم چگونه
.. با محیط خود تعامل داردبا محیط خود تعامل دارد
شناسایی اشیاءشناسایی اشیاءبرای شناسایی کالس های شیء، قواعدی برای شناسایی کالس های شیء، قواعدی
:: وجود داردوجود دارد
از تحلیل گرامری توصیف زبان طبیعی از تحلیل گرامری توصیف زبان طبیعی -1-1 .. سیستم استفاده کنیدسیستم استفاده کنید
از نهاد های ملموس در دامنه کاربرد از نهاد های ملموس در دامنه کاربرد -2-2 .. استفاده کنیداستفاده کنید
.. از روش رفتاری استفاده کنیداز روش رفتاری استفاده کنید -3-3
.. از تحلیل مبتنی بر سناریو استفاده کنیداز تحلیل مبتنی بر سناریو استفاده کنید -4-4
مدل های مدل های طراحیطراحی
اشیاء یا کالس های شیء موجود در سیستم را اشیاء یا کالس های شیء موجود در سیستم را نشان می دهند، و در صورت لزوم روابط بین این نشان می دهند، و در صورت لزوم روابط بین این
.. ها را نیز نشان می دهندها را نیز نشان می دهند
برای توصیف طراحی شیءگرا دو نوع مدل برای توصیف طراحی شیءگرا دو نوع مدل :: طراحی باید ایجاد شوندطراحی باید ایجاد شوند
.. مدل های ایستامدل های ایستا -1-1
.. مدل های پویامدل های پویا -2-2
سه نوع مدل ایستا و سه نوع مدل ایستا و :: پویاپویا
مدل های زیر مدل های زیر -1-1.. سیستمسیستم
.. مدل های توالیمدل های توالی -2-2
مدل های ماشین مدل های ماشین -3-3.. حالتحالت
:: در مدل توالیدر مدل توالی
اشیای موجود در تعامل به طور افقی و با اشیای موجود در تعامل به طور افقی و با -1-1.. پیوند عمودی تنظیم می شوندپیوند عمودی تنظیم می شوند
زمان به طور عمودی نشان داده می زمان به طور عمودی نشان داده می -2-2.. شودشود
تعامل های بین اشیا توسط فلش های تعامل های بین اشیا توسط فلش های -3-3برچسب داری نمایش داده می شوند که برچسب داری نمایش داده می شوند که
.. خطوط عمودی را پیوند می دهندخطوط عمودی را پیوند می دهند
چهارگوش باریک در رگ حیاتی شیء ، چهارگوش باریک در رگ حیاتی شیء ، -4-4 زمان را نشانزمان را نشان
می دهد که شیء در حال کنترل شیء می دهد که شیء در حال کنترل شیء .. ای در سیستم استای در سیستم است
تعیین مشخصات واسط تعیین مشخصات واسط شیءشیء
واسط ها باید طوری مشخص شوند که اشیا واسط ها باید طوری مشخص شوند که اشیا و قطعات بتوانند به طور موازی طراحی و قطعات بتوانند به طور موازی طراحی
.. شوندشوند
طراحی واسط شیء به معنای مشخص طراحی واسط شیء به معنای مشخص کردن جزئیات واسط یک شیء یا گروهی از کردن جزئیات واسط یک شیء یا گروهی از اشیا است .این به معنی تعریف امضاها و اشیا است .این به معنی تعریف امضاها و معنای سرویس هایی است که توسط شیء معنای سرویس هایی است که توسط شیء
. . یا گروهی از اشیا تعریف می شودیا گروهی از اشیا تعریف می شود
تکامل طراحیتکامل طراحی
امتیاز مهم روش شیء گرا این است که امتیاز مهم روش شیء گرا این است که تکامل طراحی را آسان می کند . علتش تکامل طراحی را آسان می کند . علتش
این است که نمایش حالت شیء بر این است که نمایش حالت شیء بر .. طراحی تأثیر نداردطراحی تأثیر ندارد
تغییر جزئیات داخلی شیء بر سایر اشیای تغییر جزئیات داخلی شیء بر سایر اشیای سیستم تأثیر ندارد . عالوه بر این چون سیستم تأثیر ندارد . عالوه بر این چون اشیا انسجام چندانی ندارند ، بدون تغییر اشیا انسجام چندانی ندارند ، بدون تغییر زیاد در سیستم ، می توان اشیای جدیدی زیاد در سیستم ، می توان اشیای جدیدی
.. را معرفی کردرا معرفی کرد