SlideShare a Scribd company logo
‫سال‬ ‫تابستان‬1394‫خو‬ ‫هجری‬‫رشیدی‬
‫کابل‬ ‫دانشگاه‬
‫ساینس‬ ‫کمپیوتر‬ ‫دانشکدهء‬
Guidelines for Making Software
"‫"امان‬ ‫هللا‬ ‫محب‬ :‫وترتیب‬ ‫تهیه‬
"‫"باهز‬ ‫رفیع‬ ‫محمد‬ ‫استاد‬ :‫نظر‬ ‫تحت‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
1 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫ومهربان‬ ‫بخشاینده‬ ‫خداوند‬ ‫نام‬ ‫به‬
‫بجای‬‫مقدمه‬‫کمی‬‫از‬‫درد‬‫برای‬‫تان‬‫قصه‬‫میکنم‬!‫دردی‬‫که‬‫کشنده‬‫است‬.‫دردی‬‫که‬‫تلخ‬،‫رنج‬‫آورو‬‫دردناک‬‫است‬.‫دردی‬‫که‬‫امروز‬‫درد‬
‫است‬‫ولی‬‫درآینده‬‫دردها‬‫میشود‬‫وهمچون‬‫بیماری‬‫العالجی‬‫به‬‫استخوان‬‫ها‬‫سر‬‫ایت‬‫میکند‬.
‫دوستان‬‫عزیز‬!‫تجاوز‬‫تنها‬‫بدین‬‫معنی‬‫نیست‬‫که‬‫متجاوزین‬‫استفاده‬‫ازحریم‬‫خصوصی‬،‫کشور‬‫ویا‬‫مال‬‫ودارایی‬‫شخصی‬‫را‬‫باالی‬‫خود‬
‫جایزدانسته‬‫وازآن‬‫استفادهء‬‫غیر‬‫مشروع‬‫نماید‬‫بلکه‬‫تجاوزدرشرایط‬‫مختلف‬‫میتواند‬‫باالی‬‫مال‬‫باشد‬،‫باالی‬‫حریم‬‫شخص‬‫ویا‬‫قشری‬‫از‬
‫جامعه‬‫باشد‬،‫باالی‬‫ناموس‬‫باشد،باالی‬‫فرهنگ‬،‫باشد‬‫باالی‬‫رسوم‬،‫باشد‬‫باالی‬‫شخصیت‬،‫باشد‬‫وصدها‬‫مورد‬‫دیگر‬.‫که‬‫در‬‫هرصورت‬
‫تجاوز‬،‫تجاوز‬،‫است‬‫حرام‬،‫نابخشودنی‬‫و‬‫گناه‬‫کبیره‬.‫ومتجاوزین‬‫با‬‫توجه‬‫به‬‫قول‬‫حضرت‬‫محمد‬‫مصطفی‬‫ص‬(ُ‫ر‬‫ِّی‬‫ی‬َ‫غ‬ُ‫ت‬ ‫تى‬َّ‫ل‬‫ا‬ ُ‫نوب‬ُّ‫لذ‬َ‫ا‬
ُ‫ى‬‫َغ‬‫ب‬‫ال‬ َ‫م‬َ‫ع‬ِّ‫ن‬‫ال‬)‫گناهکارشمرده‬‫ش‬‫ده‬‫و‬‫مستحق‬‫عذاب‬‫دوزخ‬‫است‬.‫ودفاع‬‫از‬‫داشته‬‫های‬‫موارد‬‫فوق‬‫الذکر‬‫در‬‫مقابل‬‫متجاوزین‬‫وظیفهء‬
‫فردی‬‫ودینی‬‫هرمسلمان‬‫است‬.
‫واقعا‬‫برایم‬‫درد‬‫آور‬‫است‬‫زمانی‬‫که‬‫فکر‬‫میکنم‬‫لسان‬‫که‬‫به‬‫آن‬‫تکلم‬‫میکنم‬‫مورد‬‫تجاوز‬‫انسان‬‫های‬‫متعصب‬،‫افراطی‬‫و‬‫لسان‬‫های‬‫غیر‬
‫قرار‬‫گرفته‬‫است‬.‫لسانیکه‬‫با‬‫بیش‬0555‫سال‬‫قدامت‬‫تاریخی‬‫یکی‬‫از‬‫زبان‬‫های‬‫ناب‬‫و‬‫شیرین‬‫نه‬‫تنها‬‫آسیای‬‫میانه‬‫بلکه‬‫سراسر‬‫کره‬
‫خاکی‬‫به‬‫شمار‬‫میرود‬.‫زبانیکه‬‫شاعران‬‫شیرین‬‫کالم‬‫واحساس‬‫سرایان‬‫تکرارنشدنی‬‫همچون‬‫فردوسی‬‫بزرگ‬،‫بیدل‬،،‫بیتاب‬‫طرزی‬،
،‫حافظ‬‫رودکی‬‫وغیره‬‫که‬‫حتی‬‫ذکر‬‫همهء‬‫آنها‬‫از‬‫عهده‬‫این‬‫صفح‬‫ه‬‫برآمده‬‫نیست‬‫را‬‫باخود‬‫داشته‬‫وآثار‬‫فراوان‬‫ودرخشان‬‫را‬‫دردل‬
‫تاریخ‬‫دفن‬‫کرده‬‫است‬.
‫نمی‬‫خواهم‬‫احساس‬‫کنید‬‫که‬‫متعصبانه‬‫مینویسم‬‫و‬‫این‬‫نوشته‬‫هایم‬‫از‬‫روی‬‫تعصب‬‫است‬‫بلکه‬‫با‬‫آگاهی‬‫کامل‬‫از‬‫قول‬‫بهترینی‬‫عالم‬“‫کسی‬
‫که‬‫متعصب‬‫است‬‫از‬‫امت‬‫من‬‫به‬‫حساب‬‫نمی‬‫آید‬”‫وبرای‬‫اینکه‬‫تا‬‫حد‬‫تو‬‫ان‬‫از‬‫تجاوزی‬‫که‬‫برلسانم‬‫صورت‬‫گرفته‬‫است‬‫دفاع‬‫کنم‬‫این‬
‫نوشته‬‫هارا‬‫می‬‫نویسم‬.‫وهم‬‫نمیخواهم‬‫لسان‬‫دیگری‬‫ولو‬‫کامل‬‫نباشد‬‫را‬‫مورد‬‫تمسخر‬‫ویاهم‬‫تجاوز‬‫قرار‬‫دهم‬‫چون‬‫وجیبهء‬‫اسالمی‬‫ام‬‫به‬
‫من‬‫این‬‫اجازه‬‫را‬‫نمی‬‫دهد‬.‫اما‬‫کدام‬‫اسالم؟‬!
‫آی‬‫مسلمان‬!‫آیا‬‫اسالم‬‫همین‬‫است؟‬‫آیا‬‫اسالمیت‬‫همینه؟‬‫این‬‫کدام‬‫وجه‬‫اسالم‬‫است؟‬‫این‬‫چه‬‫نوع‬‫اسالمیته‬‫؟‬‫آیا‬‫ما‬‫بی‬‫خبریم؟‬‫یااینکه‬‫شما‬
‫با‬‫نام‬‫اسالم‬‫بازی‬‫میکنید؟‬‫آیا‬‫این‬‫سنت‬‫پیامبری‬‫است‬‫که‬‫از‬‫روی‬‫تعصب‬‫و‬‫لسان‬‫گرایی‬‫زبان‬‫اصیل‬‫و‬‫کامل‬‫قشری‬‫را‬‫مورد‬‫تجاوز‬
‫قرار‬‫میدهید؟‬‫آیا‬‫به‬‫آخرت‬‫ایمان‬‫ندارید؟‬‫آیا‬‫با‬‫تجاوز‬‫صریح‬‫خوی‬‫ش‬‫باالی‬‫لسان‬‫قشری‬‫از‬‫جامعه‬‫خودرا‬‫نزد‬‫پیامبر‬‫گرامی‬‫اسالم‬
‫شرمنده‬‫حس‬‫نمیکنید؟‬‫آیا‬‫ما‬‫بی‬‫خبریم؟‬‫یااینکه‬‫شما‬‫کودنید؟‬
‫اسالم‬‫راکه‬‫من‬‫میشناسم‬،‫بوی‬‫صلح‬‫میدهد‬‫بوی‬،‫صفا‬‫آرامی‬،‫محبت‬،‫دوستی‬،‫برادری‬،‫همدلی‬،‫همدردی‬،‫همکاری‬‫و‬‫صداقت‬
‫میدهد‬.‫نه‬‫اینکه‬‫بوی‬،‫تجاوز‬‫بوی‬‫چو‬‫ر‬،‫چپاول‬‫،ظلم‬،،‫انتحار‬‫افراط‬،‫تعصب‬‫و‬‫اجداد‬‫پرستی‬.
‫لطف‬‫میکنید‬‫اگر‬‫واژه‬‫های‬‫خاص‬‫لسان‬‫شیرین‬‫تانرا‬‫در‬‫لسان‬‫تان‬‫بگذارید‬‫باتوجه‬‫به‬‫قول‬‫اجدادمان‬“‫گل‬‫در‬‫گلبته‬‫بهتر‬‫تماشاییست‬”‫وبا‬
‫تحمیل‬‫این‬‫واژه‬‫ها‬‫باالی‬‫لسان‬‫دیگر‬،‫نه‬‫زیبایی‬‫لسان‬‫تانرا‬‫کمرنگ‬‫کنید‬‫و‬‫نه‬‫لسان‬‫های‬‫دیگری‬‫را‬‫به‬‫لجن‬‫بکشانید‬.‫آخر‬‫یعنی‬‫چی؟‬
‫چی‬‫را‬‫میخواهید‬‫ثابت‬‫کنید؟‬‫قدرت‬‫تانرا؟‬‫یا‬‫مظلومیت‬‫مانرا؟‬‫ویاهم‬‫متجاوزبودن‬‫تانرا‬!
‫به‬‫دوستان‬‫که‬‫نوشته‬‫هایم‬‫برایشان‬‫زهر‬‫دار‬‫است‬‫هم‬‫توصیه‬‫میکنم‬‫لطف‬‫کنند‬‫نه‬‫بخاطر‬‫من‬‫بلکه‬‫یکبار‬‫به‬‫خاطر‬‫رضای‬،‫خداوند‬
‫بخاطر‬‫انسانیت‬،‫بخاطر‬‫مسل‬‫مان‬‫بودن‬‫شان‬‫سردرگریبان‬‫خود‬‫کرده‬‫و‬‫عادالنه‬‫قضاوت‬‫کنند‬‫آیا‬‫من‬‫اشتباه‬‫گفته‬‫ام‬‫ویا‬‫اینکه‬‫بعضی‬‫ها‬
‫متجاوزبه‬‫حساب‬‫می‬‫آید‬.‫و‬‫ما‬‫چه‬‫موقفی‬‫باید‬‫در‬‫مقابل‬‫شان‬‫داشته‬‫باشیم‬.‫با‬‫توجه‬‫به‬‫اینکه‬‫درنخست‬‫فرمودم‬‫امروز‬‫این‬‫درد‬‫است‬‫ولی‬
‫ممکن‬‫در‬‫آینده‬‫ها‬‫به‬‫دردها‬‫تبدیل‬‫شود‬‫و‬‫همچن‬‫ین‬‫به‬‫قول‬‫ضرب‬‫المثل‬‫معروف‬“‫چون‬‫می‬‫بینی‬‫که‬‫نابینا‬‫و‬‫چاه‬‫است‬‫اگر‬‫خاموش‬
‫بنشینی‬‫گناه‬‫است‬” .__
‫عزیزم‬ ‫همصنفان‬ ‫تمام‬ ‫از‬ ‫هم‬ ‫اخیر‬ ‫ودر‬‫مخلصانه‬‫مجموعه‬ ‫این‬ ‫محتویات‬ ‫دربهبودی‬ ‫مرا‬ ‫شان‬ ‫نیک‬ ‫نظریات‬ ‫و‬ ‫ها‬ ‫پیشنهاد‬ ، ‫ها‬ ‫انتفاد‬ ‫با‬ ‫که‬ ‫تقاضامندم‬
‫پروگ‬ ‫جامعهء‬ ‫برای‬ ‫باشد‬ ‫تا‬ .‫بخشند‬ ‫یاری‬.‫باشیم‬ ‫کرده‬ ‫خدمتی‬ ‫افغانستان‬ ‫نویسی‬ ‫رام‬
‫احترام‬ ‫با‬"‫"امان‬ ‫هللا‬ ‫محب‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
2 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫چیست؟‬ ‫انجنیرینگ‬ ‫ویر‬ ‫سافت‬
‫خاص‬ ‫افزارهای‬ ‫نرم‬ ‫از‬ ‫آنان‬ ‫استفادهء‬ ‫و‬ ‫ها‬ ‫ارگان‬ ‫تمام‬ ‫شدن‬ ‫کمپیوتری‬ ‫به‬ ‫توجه‬ ‫با‬، ‫ومغلق‬ ‫پیچیده‬ ‫حال‬ ‫ودرعین‬‫ومدیریت‬ ‫تنظیم‬ ‫برای‬
‫قسمی‬ ‫ها‬ ‫افزار‬ ‫نرم‬ ‫تا‬ ‫است‬ ‫نیاز‬ ‫شان‬ ‫معلومات‬ ‫بهتر‬‫بسازد‬ ‫برآورده‬ ‫احسن‬ ‫وجه‬ ‫به‬ ‫را‬ ‫شان‬ ‫نیازهای‬ ‫ازاینکه‬ ‫برعالوهء‬ ‫که‬ ‫گردد‬ ‫ایجاد‬
، ‫سهولت‬ ، ‫اعتماد‬ ‫قابلیت‬، ‫مؤثریت‬.‫آورد‬ ‫بوجود‬ ‫را‬ ‫وغیره‬ ‫امنیت‬‫که‬ ‫توانیم‬ ‫می‬ ‫گفته‬ ‫ازاینرو‬software developer‫دارای‬ ‫ها‬
‫سنگین‬ ‫مسؤلیت‬‫سافت‬ ‫با‬ ‫کار‬ ‫و‬ ‫نگهداری‬ ‫زمان‬ ‫در‬ ‫چه‬ ‫و‬ ‫سافت‬ ‫ایجاد‬ ‫زمان‬ ‫در‬ ‫چه‬، ‫ویر‬‫مسؤلیت‬ ‫نوع‬ ‫این‬ ‫ازپس‬ ‫اینکه‬ ‫وبرای‬ ‫باشد‬ ‫می‬
.‫دارد‬ ‫ها‬ ‫وروش‬ ‫دستورالعملها‬ ، ‫قوانین‬ ‫سلسله‬ ‫یک‬ ‫نیازبه‬ ‫برآید‬ ‫ها‬
، ‫پراسه‬ ‫هم‬ ‫انجنیرینگ‬ ‫ویر‬ ‫سافت‬Framework‫از‬ ‫مجموعهء‬ ‫یا‬ ‫و‬technical discipline‫ویر‬ ‫سافت‬ ‫یک‬ ‫ساختن‬ ‫برای‬ ‫که‬ ‫باشد‬ ‫می‬
‫دری‬ ‫از‬ ‫ویر‬ ‫سافت‬ ‫ساختن‬ ‫واین‬ .‫رود‬ ‫بکارمی‬‫دیزاین‬ ، ‫نیازها‬ ‫برای‬ ‫حل‬ ‫راه‬ ‫دریافت‬ ، ‫تحلیل‬ ‫تا‬ ‫شروع‬ ‫مشتری‬ ‫نیازهای‬ ‫تشخیص‬ ‫و‬ ‫افت‬
، ‫مدیریت‬marketing‫نگهداری‬ ،‫ساختن‬ ‫زمان‬ ‫در‬ ‫چه‬ ‫ویر‬ ‫سافت‬ ‫ابعاد‬ ‫تمام‬ ‫با‬ ‫انجنیرینگ‬ ‫ویر‬ ‫سافت‬ ‫یعنی‬ .‫است‬ ‫شامل‬ ‫را‬ ‫وغیره‬
، ‫نیازمندی‬ ‫(تحلیل‬ ‫ویر‬ ‫سافت‬‫(مار‬ ‫آن‬ ‫نگهداری‬ ‫درقسمت‬ ‫وچه‬ )‫وغیره‬ ‫دیزاین‬، ‫کتینگ‬s/w project management‫ارتباط‬ ‫در‬ )
.‫آید‬ ‫بمیان‬ ... ‫و‬ ‫اعتماد‬ ‫قابل‬ ، ‫خوب‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫نتیجه‬ ‫در‬ ‫تا‬ .‫است‬
‫که‬ ‫است‬ ‫تخنیکی‬ ‫دستورالعملهای‬ ‫از‬ ‫عبارت‬ ‫انجنیرینگ‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫توانیم‬ ‫می‬ ‫گفته‬ ‫اختصار‬ ‫بطور‬‫شامل‬:
‫آن‬ ‫تشخیص‬ ‫و‬ ‫مشتری‬ ‫های‬ ‫نیاز‬ ‫دریافت‬
‫دریافت‬‫رفع‬ ‫برای‬ ‫حل‬ ‫راه‬‫روش‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫مشتری‬ ‫های‬ ‫نیاز‬‫ونظریات‬ ‫ها‬‫شده‬ ‫شناخته‬‫وموجود‬
.‫نباشد‬ ‫موجود‬ ‫نظریات‬ ‫و‬ ‫ها‬ ‫روش‬ ‫درصورتیکه‬ ‫مشتری‬ ‫های‬ ‫نیاز‬ ‫رفع‬ ‫برای‬ ‫حل‬ ‫راه‬ ‫دریافت‬
‫پروژه‬ ‫مدیریت‬
‫ویرها‬ ‫سافت‬ ‫در‬ ‫آمدن‬ ‫تغییرات‬ ‫قبول‬ ‫و‬ ‫کنترول‬‫وغیره‬.‫باشد‬
‫مفهوم‬ ‫درک‬ ‫با‬software engineering‫پی‬ ‫نکته‬ ‫بدین‬ ‫ما‬( ‫برنامه‬ ‫یک‬ ‫تنها‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫میبریم‬program‫ازبرنامه‬ ‫مجموعهء‬ ‫ویا‬ )
( ‫ها‬programs‫بلکه‬ ‫نیست‬ ):‫ازقبیل‬ ‫دیگری‬ ‫ودستورالعملهای‬ ‫ها‬ ‫ویژگی‬ ، ‫قوانین‬ ‫شامل‬
Documentation
‫ویر‬ ‫سافت‬ ‫نگهداری‬ ‫و‬ ‫ویر‬ ‫سافت‬ ‫برای‬ ‫الزمی‬ ‫ومشخصات‬ ‫خواص‬
Dependability
Efficiency
Security.‫میباشد‬ ‫وغیره‬
Software Process
Software process‫مجموعهء‬ ‫از‬ ‫عبارت‬( ‫ها‬ ‫فعالیت‬activities.‫میگردد‬ ‫ایجاد‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫آن‬ ‫درنتیجهء‬ ‫که‬ ‫باشد‬ ‫می‬ )
‫و‬activity( ‫ابتدا‬ ‫از‬ ‫ویر‬ ‫سافت‬ ‫ایجاد‬ ‫مراحل‬ ‫شامل‬ ‫تواند‬ ‫می‬ ‫ها‬scratch‫وهم‬ ‫باشد‬ ‫جاوا‬ ‫مثل‬ ‫نویسی‬ ‫پروگرام‬ ‫های‬ ‫لسان‬ ‫از‬ ‫استفاده‬ ‫با‬ )
‫شا‬ ‫تواند‬ ‫می‬.‫باشد‬ ‫جدید‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫ساختن‬ ‫ودرنتیجه‬ ‫موجودی‬ ‫های‬ ‫ویر‬ ‫سافت‬ ‫در‬ ‫آوردن‬ ‫تغییرات‬ ‫و‬ ‫دادن‬ ‫توسعه‬ ‫مل‬
‫است‬ ‫ممکن‬activity‫ملحوظ‬ ‫بدین‬ ‫درآید‬ ‫اجرا‬ ‫به‬ ،‫مختلف‬ ‫وانواع‬ ‫اشکال‬ ‫به‬ ‫مذکور‬ ‫هایی‬software process model‫آمده‬ ‫بمیان‬ ‫ها‬
‫هر‬ ‫ولی‬ ‫است‬software process‫چهار‬ ‫باید‬activity‫ذیل‬.‫باشد‬ ‫شامل‬ ‫را‬ ، ‫باشد‬ ‫می‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫اساس‬ ‫که‬
Software Specification‫انجام‬ ‫باید‬ ‫را‬ ‫کارهایی‬ ‫چه‬ ‫ویر‬ ‫سافت‬ ، ‫مشتری‬ ‫درخواست‬ ‫نظربه‬ ‫اینکه‬ ‫ویا‬ ‫ویر‬ ‫سافت‬ ‫تعریف‬ :
‫دهد‬‫کارهایی‬ ‫وازچه‬user( ‫بازدارد‬ ‫را‬constraint)‫دراین‬ ،activity.‫میگردد‬ ‫مشخص‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
3 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Software Design and implementation‫این‬ :activity‫به‬ ‫مطابق‬ ‫طوریکه‬ ‫ویر‬ ‫سافت‬ ‫وایجاد‬ ‫دیزاین‬ ‫شامل‬
software specification.‫باشد‬
Software Validation‫این‬ ‫در‬ ‫یعنی‬ :activity‫باید‬ ‫ویر‬ ‫سافت‬validate(‫تایید‬)‫وتثبیت‬‫تا‬ ‫گردد‬‫را‬ ‫مشتری‬ ‫های‬ ‫نیاز‬
.‫ویاخیر‬ ‫سازد‬ ‫می‬ ‫مرفوع‬
Software Evaluation:‫این‬activity‫از‬ ‫پس‬ ‫ویر‬ ‫سافت‬ ‫تکامل‬ ‫بخاطر‬ ‫مشتری‬ ‫که‬ ‫باشد‬ ‫می‬ ‫تغییرات‬ ‫شامل‬validation
.‫میکنند‬ ‫پیشنهاد‬
‫نیازهای‬ ‫به‬ ‫مطابق‬ ‫آنرا‬ ‫و‬ ‫بیاوریم‬ ‫شده‬ ‫ساخته‬ ‫وازقبل‬ ‫موجودی‬ ‫های‬ ‫ویر‬ ‫سافت‬ ‫در‬ ‫تغییرات‬ ‫که‬ ‫درصورت‬ ‫استاد‬ ‫گفتهء‬ ‫وبنابر‬
‫شامل‬ ‫بخشیم‬ ‫تکامل‬ ‫خود‬ ‫جدید‬ ‫مشتری‬software evaluation.‫باشد‬ ‫می‬
‫ی‬‫به‬ ‫ومشابه‬ ‫باشد‬ ‫داشته‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫عرصهء‬ ‫در‬ ‫ساله‬ ‫چندین‬ ‫تجربهء‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬ ‫یک‬ ‫است‬ ‫ممکن‬ ‫عنی‬
Software Definition‫موجو‬ ‫هم‬ ‫قبل‬ ‫از‬ ،‫شده‬ ‫خواسته‬‫ابتدا‬ ‫از‬ ‫سافت‬ ‫این‬ ‫ساختن‬ ‫برای‬ ‫که‬ ‫نداریم‬ ‫نیاز‬ ‫دراینصورت‬ ‫باشد‬ ‫د‬
(scratch‫سا‬ ، ‫ناچیز‬ ‫تغییرات‬ ‫تعریف‬ ‫با‬ ‫بلکه‬ ‫کنیم‬ ‫شروع‬ )‫تکامل‬ ‫جدید‬ ‫مشتری‬ ‫ودرخواست‬ ‫میل‬ ‫بنابر‬ ‫موجودرا‬ ‫ویر‬ ‫فت‬
(extend).‫بخشیم‬ ‫می‬
‫هر‬Activity‫چندین‬ ‫شامل‬ ‫فوق‬sub activities.‫باشد‬ ‫می‬‫درذیل‬ ‫که‬sub activity‫هر‬activity.‫میکنیم‬ ‫تعریف‬ ‫را‬ ‫فوق‬
.‫الف‬Software Specification
( ‫نیازمندیها‬ ‫درآن‬ ‫که‬ ‫است‬ ‫مرحلهء‬requirements‫ت‬ ‫مشتری‬ )‫یک‬ ‫پراسه‬ ‫ودراین‬ .‫میشود‬ ‫داده‬ ‫شخیص‬software
engineer‫تا‬ ‫کند‬ ‫سعی‬Functional Requirements‫و‬Non Functional Requirements.‫کند‬ ‫مشخص‬ ‫را‬
Functional Requirements‫ودرصورت‬ ‫باشد‬ ‫موجود‬ ‫باید‬ ‫سیستم‬ ‫ویر‬ ‫درسافت‬ ‫که‬ ‫شود‬ ‫می‬ ‫گفته‬ ‫خدمات‬ ‫و‬ ‫نیازمندیها‬ ‫به‬
‫نیازمندی‬ ‫ویر‬ ‫سافت‬ ‫آن‬ ‫نبود‬‫وهمچنین‬ .‫شود‬ ‫اطالق‬ ‫وناقص‬ ‫نساخته‬ ‫مرفوع‬ ‫را‬ ‫ها‬functional requirement
.‫باشد‬ ‫می‬ ‫نیز‬ ‫ندهد‬ ‫انجام‬ ‫آنرا‬ ‫باید‬ ‫سیستم‬ ‫که‬ ‫کارهایی‬ ‫دربرگیرندهء‬
Nonfunctional Requirement‫شو‬ ‫می‬ ‫گفته‬ ‫نیازمندیهای‬ ‫به‬‫وویژگی‬ ‫قابلیت‬ ، ‫موثریت‬ ‫درسیستم‬ ‫آن‬ ‫موجودیت‬ ‫که‬ ‫د‬
‫ول‬ ‫داده‬ ‫افزایش‬ ‫ویرهارا‬ ‫سافت‬‫مختلف‬ ‫انواع‬ ‫مثال‬ ‫شوند‬ ‫نمی‬ ‫شمرده‬ ‫ناقص‬ ‫سیستم‬ ‫آن‬ ‫نبود‬ ‫در‬ ‫ی‬constraint.‫وغیره‬ ‫ها‬
‫تکمیل‬ ‫برای‬software specification‫باید‬sub activity.‫کنیم‬ ‫تکمیل‬ ‫را‬ ‫ذیل‬ ‫های‬
Feasibility Study( ‫نیازمندی‬ :requirement‫میتواند‬ ‫مشتری‬ ‫نیازهای‬ ‫آیا‬ ‫که‬ ‫گردد‬ ‫تشخیص‬ ‫و‬ ‫گردد‬ ‫درک‬ )
‫شو‬ ‫کمپیوتری‬‫سافت‬ ‫آیا‬ ‫دارد؟‬ ‫را‬ ‫فعلی‬ ‫تکنالوژی‬ ‫و‬ ‫افزاری‬ ‫سخت‬ ‫منابع‬ ‫با‬ ‫مطابقت‬ ‫مشتری‬ ‫درخواست‬ ‫آیا‬ ‫د؟‬
‫ویر‬‫چنین‬ ‫ایجاد‬ ‫توانایی‬ ‫ما‬ ‫آیا‬ ‫نیست؟‬ ‫باال‬ ‫مشتری‬ ‫مالی‬ ‫توان‬ ‫از‬ ‫ویر‬ ‫سافت‬ ‫هزینهء‬ ‫آیا‬ ‫رادارد؟‬ ‫ساختن‬ ‫ارزش‬
.... ‫و‬ ‫داریم؟‬ ‫را‬ ‫سیستمی‬
.‫میگذاریم‬ ‫ذیل‬ ‫بعدی‬ ‫مراحل‬ ‫پابه‬ ‫امکان‬ ‫درصورت‬
Requirement elicitation and analysis‫مشتری‬ ‫نبودن‬ ‫مسلکی‬ ‫به‬ ‫توجه‬ ‫با‬ :)‫نیازمندیها‬ ‫تحلیل‬ ‫و‬ ‫(استخراج‬
‫بهترین‬ ‫ولی‬ ‫است‬ ‫موجود‬ ‫مشتری‬ ‫نیازمندیهای‬ ‫وگرفتن‬ ‫استخراج‬ ‫برای‬ ‫مختلفی‬ ‫هایی‬ ‫طریقه‬ ، ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫در‬
‫یک‬ ‫ایجاد‬ ‫روش‬prototype‫شبیه‬ ‫کاغذ‬ ‫روی‬ ‫مشتری‬ ‫درخواست‬ ‫که‬ ‫باشد‬ ‫می‬ )‫نمونه‬ ‫(پیش‬‫وبه‬ .‫میگردد‬ ‫سازی‬
.‫شود‬ ‫می‬ ‫گرفته‬ ‫مشتری‬ ‫معلومات‬ ‫و‬ ‫ونظریات‬ .‫شود‬ ‫می‬ ‫داده‬ ‫نشان‬ ‫مشتری‬
Requirement Specification‫دراین‬ :activity( ‫ویر‬ ‫سافت‬ ‫تعریف‬software definition.‫میگردد‬ ‫تعیین‬ )
‫و‬software definition‫و‬ ‫برروی‬ ‫که‬ ‫باشد‬ ‫می‬ ‫شده‬ ‫تحلیل‬ ‫و‬ ‫شده‬ ‫استخراج‬ ‫نیازمندیهای‬ ‫درحقیقت‬‫داده‬ ‫نشان‬ ‫رق‬
‫نام‬ ‫به‬ ‫و‬ ‫شود‬ ‫می‬documentation.‫یادمیگردد‬‫آید‬ ‫بوجود‬ ‫مشتری‬ ‫برنیازهای‬ ‫مبنی‬ ‫ثبوت‬ ‫ویا‬ ‫سند‬ ‫یک‬ ‫منحیث‬ ‫تا‬
‫تا‬‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬‫تغییر‬ ‫درصورت‬.‫نشود‬ ‫شناخته‬ ‫مقصر‬ ‫مشتری‬ ‫افکار‬ ‫و‬ ‫نیازمندیها‬
Requirement Validation( ‫داکمنتیشن‬ :documentation‫شده‬ ‫ساخته‬ )‫ن‬ ‫مشتری‬ ‫به‬‫تکمیل‬ ‫تا‬ ‫شود‬ ‫داده‬ ‫شان‬
‫بررسی‬ ‫آن‬ ‫بودن‬‫وتایید‬.‫گردد‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
4 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
( ‫ویر‬ ‫سافت‬ ‫تطبیق‬ ‫و‬ ‫دیزاین‬ .‫ب‬Software Design and Implementation)
‫در‬ ‫شده‬ ‫مشخص‬ ‫وتعریفات‬ ‫نیازمندیها‬ ‫پراسه‬ ‫دراین‬software specification‫یعنی‬ ‫آوریم‬ ‫درمی‬ ‫ها‬ ‫درسیستم‬ ‫اجرا‬ ‫قابل‬ ‫شکل‬ ‫به‬ ‫را‬
‫میک‬ ‫طراحی‬ ‫و‬ ‫دیزاین‬ ‫را‬ ‫سیستم‬.‫میکنند‬ ‫فرق‬ ‫ها‬ ‫ویر‬ ‫سافت‬ ‫نوع‬ ‫به‬ ‫نظر‬ ‫ها‬ ‫ویر‬ ‫سافت‬ ‫وتطبیقات‬ ‫دیزاین‬ ‫چگونگی‬ ‫که‬ .‫نیم‬
Architectural Design‫دراین‬ :activity‫یک‬General view‫یا‬block diagram‫و‬ ‫گردیده‬ ‫ایجاد‬ ‫ویر‬ ‫سافت‬ ‫یک‬‫تمام‬
‫ها‬ ‫مادیول‬(sub System)‫شان‬ ‫بین‬ ‫ارتباطات‬ ‫با‬ ‫همراه‬.‫میگردد‬ ‫مشخص‬
Interface Design‫دراین‬ :activity‫بین‬ ‫انترفس‬component‫همچنین‬ ‫و‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫در‬ ‫موجود‬ ‫های‬‫بین‬ ‫انترفس‬
user‫و‬system‫میگردد‬ ‫دیزاین‬‫شودکه‬ ‫مدنظرگرفته‬ ‫باید‬ ‫که‬ ‫است‬ ‫فکتورهایی‬ ‫ها‬ ‫انترفس‬ ‫دیزاین‬ ‫در‬ ‫البته‬ .‫آن‬ ‫مهمترین‬‫ها‬
، ‫استفاده‬ ‫در‬ ‫آسانی‬user friendly‫آن‬ ‫بودن‬‫آن‬ ‫بودن‬ ‫مشتری‬ ‫میل‬ ‫ومطابق‬.‫باشد‬ ‫می‬
Component Design‫هر‬ ‫موقعیت‬ ‫مرحله‬ ‫دراین‬ :component‫مشخص‬ ‫آن‬ ‫عملکرد‬ ‫وچگونگی‬ ‫درسیستم‬ ‫موجود‬
.‫میگردد‬
Database Design‫دیزاین‬ ‫را‬ ‫گردد‬ ‫ذخیره‬ ‫ها‬ ‫دیتابس‬ ‫در‬ ‫شکلی‬ ‫چه‬ ‫به‬ ‫واینکه‬ ‫را‬ ‫سیستم‬ ‫دیتای‬ ‫ساختار‬ ‫مرحله‬ ‫دراین‬ :
.‫میکنیم‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
5 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫دیزا‬ ‫درمرحله‬ ‫میبینید‬ ‫فوق‬ ‫درشکل‬ ‫قسمیکه‬‫ما‬ ‫ین‬activity‫اول‬ ‫بخش‬ .‫میکنیم‬ ‫رادیزاین‬ ‫بخش‬ ‫سه‬ ‫های‬input design‫که‬ ‫باشد‬ ‫می‬
‫دیزاین‬ ‫شامل‬platform، ‫ها‬requirement specification‫دوم‬ ‫قسمت‬ .‫باشد‬ ‫می‬ ‫دیتا‬ ‫وتشریحات‬ ،Design activities‫باشد‬ ‫می‬
، ‫ساختار‬ ، ‫ها‬ ‫انترفس‬ ‫درآن‬ ‫که‬component‫وقس‬ .‫میگردد‬ ‫دیزاین‬ ‫ودیتابس‬ ‫ها‬‫هم‬ ‫سوم‬ ‫مت‬Design output‫درآن‬ ‫باشدکه‬ ‫می‬
.‫میکنیم‬ ‫دیزاین‬ ‫را‬ ‫دیتا‬ ‫خروجی‬ ‫اشکال‬
.‫ج‬Software Validation
‫دراین‬ ‫کردیم‬ ‫ذکر‬ ‫قبال‬ ‫قسمیکه‬activity‫ودرصورت‬ ‫ویاخیر؟‬ ‫آید‬ ‫برمی‬ ‫نیازمندیها‬ ‫تمام‬ ‫پس‬ ‫از‬ ‫سیستم‬ ‫آیا‬ ‫که‬ ‫شود‬ ‫می‬ ‫وتایید‬ ‫مشخص‬
‫مشتری‬ ‫دیتای‬ ‫با‬ ‫را‬ ‫سیستم‬ ‫ممکن‬test.‫کنیم‬ ‫می‬‫سه‬ ‫وشامل‬activity.‫باشد‬ ‫می‬ ‫ذیل‬
Development Test‫هر‬ ‫وعملکرد‬ ‫کارکرد‬ :component‫توسط‬ ‫جداگانه‬ ‫شکل‬ ‫به‬developer‫وبررسی‬ ‫آزمایش‬ ،
(test.‫میگردد‬ )‫هر‬component.‫باشند‬ ‫وغیره‬ ‫ها‬ ‫مادیول‬ ‫ها‬ ‫فنکشن‬ ، ‫ها‬ ‫کالس‬ ‫تواند‬ ‫می‬
System Testing‫تمام‬ ‫وعملکرد‬ ‫کارکرد‬ :component‫شکل‬ ‫به‬ ‫ها‬( ‫یکجایی‬integrated.‫میگردد‬ ‫بررسی‬ ،)
‫بین‬ ‫وانفعال‬ ‫درفعل‬ ‫موجود‬ ‫ومشکالت‬component.‫میشود‬ ‫داده‬ ‫تشخیص‬ ‫ها‬
Acceptance Testing‫از‬ ‫مرحلهء‬ ‫آخرین‬ :testing‫باشدکه‬ ‫می‬‫مشتری‬ ‫نیازمندی‬ ‫رفع‬ ‫وقابلیت‬ ، ‫عملکرد‬‫توسط‬
product owner.‫میگردد‬ ‫آزمایش‬ ‫مشتری‬ ‫دیتای‬ ‫با‬ ‫و‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
6 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
.‫د‬Software Evaluation:
‫به‬ ‫مشابه‬ ‫است‬ ‫ممکن‬software definition‫یک‬ ‫ساختن‬ ‫برای‬ ‫اوقات‬ ‫بعضی‬ ‫ویاهم‬ ‫باشد‬ ‫موجود‬ ‫های‬ ‫ویر‬ ‫سافت‬ ‫نیز‬ ‫ازقبل‬ ‫فعلی‬
( ‫متحد‬ ‫را‬ ‫ویرموجودی‬ ‫سافت‬ ‫دو‬ ‫تراز‬ ‫اضافه‬ ‫ویا‬ ‫دو‬ ‫ممکن‬ ‫ویر‬ ‫سافت‬incorporate( ‫پذیری‬ ‫انعطاف‬ ‫ازاینرو‬ .‫کنیم‬ )flexibility)
‫اص‬ ‫ترین‬ ‫مهم‬ ‫ویر‬ ‫سافت‬ ‫یک‬‫برای‬ ‫ل‬software developer‫مشابه‬ ‫پذیر‬ ‫انعطاف‬ ‫های‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫صورت‬ ‫ودر‬ .‫باشد‬ ‫می‬ ‫ها‬
‫فعلی‬ ‫مشتری‬ ‫نیازمندیهای‬‫تمام‬ ‫دوباره‬ ‫نیست‬ ‫نیازی‬ ‫باشیم‬ ‫داشته‬ ‫آماده‬ ‫شکل‬ ‫به‬ ‫ازقبل‬activity‫های‬software process‫تکمیل‬ ‫را‬
‫نیازمن‬ ‫میتوانیم‬ ‫موجودی‬ ‫سیستم‬ ‫در‬ ‫آوردن‬ ‫تغییرات‬ ‫با‬ ‫بلکه‬ .‫کنیم‬‫تضاد‬ ‫در‬ ‫بدلیل‬ ‫ممکن‬ ‫هم‬ ‫تغییرات‬ ‫واین‬ ‫سازیم‬ ‫مرفوع‬ ‫را‬ ‫مشتری‬ ‫دی‬
‫بودن‬platform،‫موجود‬ ‫ویر‬ ‫وسافت‬ ‫هاردویر‬ ‫های‬.‫بیاید‬ ‫ویر‬ ‫درسافت‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
7 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Prototyping
‫برای‬‫ها‬ ‫فهمی‬ ‫غلط‬ ‫رفع‬‫و‬ ‫مشتری‬ ‫بین‬developer،‫تثبیت‬‫بهتر‬ ‫واستخراج‬‫مشتری‬ ‫های‬ ‫نیازمندی‬‫تشخیص‬ ،problem، ‫ها‬‫دریافت‬
‫حل‬ ‫های‬ ‫راه‬‫بر‬ ‫غلبه‬ ‫برای‬problem،‫ویر‬ ‫سافت‬ ‫دیزاین‬ ‫وهمچنین‬ ، ‫ها‬‫وموقعیت‬ ‫ها‬ ‫انترفس‬ ‫شکل‬ ‫اکثرا‬component‫هارا‬
‫نام‬ ‫به‬ ‫که‬ ‫میکنند‬ ‫سازی‬ ‫شبیه‬ ‫ورق‬ ‫برروی‬prototype.‫میگردد‬ ‫یاد‬ ‫نمونه‬ ‫پیش‬ ‫یا‬‫این‬ ‫که‬prototype‫و‬ ‫معلومات‬ ‫حاوی‬
functionality‫مرحلهء‬ ‫در‬ ‫هم‬ ‫که‬ ‫باشد‬ ‫می‬ ‫سیستم‬ ‫ابتدایی‬ ‫های‬software specification‫مرحلهء‬ ‫در‬ ‫وهم‬software design‫از‬
.‫میگردد‬ ‫استفاده‬ ‫آن‬
Prototype.‫باشد‬ ‫ذیل‬ ‫مفاهیم‬ ‫شامل‬ ‫باید‬
Technical issue‫ایجاد‬ ‫درزمان‬ ‫که‬ ‫تخنیکی‬ ‫موضوعات‬ :documentation.‫گردد‬ ‫بینی‬ ‫پیش‬
Work Flow and Task Flow‫و‬ ‫ارتباط‬ ‫چگونگی‬ ‫یعنی‬ :interactions‫ما‬ ‫بین‬ ‫ها‬‫نیازکه‬ ‫یک‬ ‫تکمیل‬ ‫بخاطر‬ ‫ها‬ ‫دیول‬
‫شود‬ ‫گرفته‬ ‫مدنظر‬ ‫ویر‬ ‫سافت‬ ‫دیزاین‬ ‫درمرحله‬
‫شکل‬Screen‫اطالعات‬ ‫نمایش‬ ‫طریق‬ ‫و‬
‫خدمت‬ ‫بینم‬ ‫نمی‬ ‫الزم‬ ‫را‬ ‫نامشان‬ ‫ذکر‬ ‫که‬ ‫همکالسیم‬ ‫سه‬ ‫ویا‬ ‫دو‬ ‫همکاری‬ ‫به‬ ‫درصنف‬ ‫که‬ ‫را‬ ‫صنفی‬ ‫فعالیت‬ ‫که‬ ‫بینم‬ ‫می‬ ‫الزم‬ ‫قسمت‬ ‫دراین‬
.‫کنیم‬ ‫ارایه‬ ‫شما‬
‫هرعضو‬ ‫فعالیت‬ ‫درین‬‫ونوشته‬ ‫میکرد‬ ‫پیشنهاد‬ ‫داشت‬ ‫دوست‬ ‫ویااینکه‬ ‫میکرد‬ ‫خطور‬ ‫شان‬ ‫ذهن‬ ‫در‬ ‫که‬ ‫را‬ ‫ویری‬ ‫سافت‬ ‫نوع‬ ‫هر‬ ‫گروپ‬
‫الی‬ ‫صفر‬ ‫از‬ ‫گروپ‬ ‫عضو‬ ‫هر‬ ، ‫شده‬ ‫پیشنهاد‬ ‫ویر‬ ‫سافت‬ ‫هر‬ ‫برای‬ ‫سپس‬ ‫و‬ ‫میشد‬15‫هر‬ ‫شده‬ ‫داده‬ ‫امتیازات‬ ‫وسپس‬ ‫دادند‬ ‫می‬ ‫امتیاز‬
‫ویر‬ ‫سافت‬.‫میشود‬ ‫جمع‬‫ش‬ ‫داده‬ ‫امتیازات‬ ‫مجموع‬ ‫که‬ ‫ویر‬ ‫سافت‬ ‫هر‬‫یک‬ ‫آن‬ ‫برای‬ ‫سپس‬ ‫و‬ ‫گردیده‬ ‫انتخاب‬ ‫شد‬ ‫بیشتر‬ ‫آن‬ ‫به‬ ‫ده‬
prototype‫نوشته‬ ‫نبود‬ ‫من‬ ‫به‬ ‫متعلق‬ ‫که‬ ‫ورق‬ ‫در‬ ‫چون‬ ‫ندارم‬ ‫دردسترس‬ ‫را‬ ‫موجود‬ ‫ویرهای‬ ‫سافت‬ ‫لیست‬ ‫بدبختانه‬ ‫که‬ .‫شود‬ ‫می‬ ‫ساخته‬
‫فارس‬ ‫به‬ ‫آن‬ ‫جزییات‬ ‫با‬ ‫را‬ ‫کمپیوتری‬ ‫اصطالح‬ ‫هر‬ ‫که‬ ‫شود‬ ‫ساخته‬ ‫دیکشنری‬ ‫یک‬ ‫که‬ ‫شد‬ ‫براین‬ ‫اتفاق‬ ‫ولی‬ ‫بودیم‬‫ب‬ ‫و‬ ‫کند‬ ‫بیان‬ ‫ی‬‫همین‬ ‫ه‬
‫حقوق‬ ، ‫اقتصاد‬ ، ‫زراعت‬ ‫ازقبیل‬ ‫ها‬ ‫رشته‬ ‫سایر‬ ‫موجودی‬ ‫اصطالحات‬ ‫ترتیب‬‫خاص‬ ‫اصطالحات‬ ‫دارای‬ ‫رشته‬ ‫هر‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫(با‬
.‫کند‬ ‫بیان‬ ‫جزییات‬ ‫با‬ ‫را‬ ) ‫میباشد‬ ‫خودش‬‫و‬‫دراینجا‬prototype‫تشکیل‬ ‫همگروپان‬ ‫کمک‬ ‫به‬ ‫خانگی‬ ‫وظیفهء‬ ‫عنوان‬ ‫به‬ ‫خانه‬ ‫در‬ ‫که‬ ‫هایی‬
‫ذ‬ ‫در‬ ‫دادیم‬.‫بینید‬ ‫می‬ ‫یل‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
8 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
9 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
10 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
.‫باشد‬ ‫می‬ ‫ها‬ ‫انترفس‬ ‫رسم‬ ‫تنها‬ ‫فوق‬ ‫اشکال‬ ‫البته‬.‫است‬ ‫گرفته‬ ‫صورت‬ ‫فوتوشاپ‬ ‫پروگرام‬ ‫کمک‬ ‫به‬ ‫که‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
11 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Software Process Models
‫چهار‬ ‫تکمیل‬ ‫برای‬ ‫کردیم‬ ‫اشاره‬ ‫قبال‬ ‫همانطوریکه‬activity‫مهم‬‫یعنی‬Software Specification،Software Design and
implementation،Software Validation‫و‬Software Evaluation‫که‬ ‫شود‬ ‫عمل‬ ‫گوناگون‬ ‫های‬ ‫طریقه‬ ‫به‬ ‫ممکن‬‫روش‬
‫وطریقهء‬‫دادن‬ ‫نمایش‬activity‫ها‬‫نام‬ ‫به‬Software process model.‫میشود‬ ‫نامیده‬‫که‬ ‫گفت‬ ‫میتوان‬ ‫دیگر‬ ‫عبارت‬ ‫به‬software
process model‫ها‬ ‫پراسس‬ ‫برای‬ ‫چوب‬ ‫چهار‬ ‫ازیک‬ ‫عبارت‬(process framework)‫میتوانیم‬ ‫که‬ ‫باشد‬ ‫می‬Activity‫روش‬ ‫هارابه‬
.‫دهیم‬ ‫نشان‬ ‫درآن‬ ‫بهتر‬‫که‬ ‫دهیم‬ ‫نشان‬ ‫آسانی‬ ‫بسیار‬ ‫به‬ ‫میتوانیم‬ ‫وهمچنین‬user‫ارتباط‬ ‫فعلی‬ ‫سیستم‬ ‫با‬ ‫چگونه‬ ‫دیگری‬ ‫سیستمی‬ ‫یک‬ ‫ویا‬
.‫میکند‬ ‫برقرار‬
‫در‬ ‫یعنی‬software process model‫ها‬‫و‬ ‫ویرها‬ ‫سافت‬ ‫تعریف‬ ‫در‬ ‫شده‬ ‫وتشخیص‬ ‫موجود‬ ‫عمومیات‬‫این‬ ‫وچگونه‬ ‫چطور‬ ‫اینکه‬
‫عمومیات‬، ‫داشته‬ ‫ارتباط‬ ‫باهم‬‫تعیین‬ ، ‫شود‬ ‫داده‬ ‫ترتیب‬ ‫کارها‬ ‫شکلی‬ ‫چه‬ ‫به‬ ‫ویر‬ ‫سافت‬ ‫تکمیل‬ ‫وبرای‬ ‫کنند‬ ‫عمل‬ ‫شکل‬ ‫چه‬ ‫به‬
.‫میگردد‬.‫میکنیم‬ ‫اشاره‬ ‫مشهور‬ ‫های‬ ‫مادل‬ ‫پراسس‬ ‫ویر‬ ‫سافت‬ ‫به‬ ‫قسمت‬ ‫دراین‬
Water Fall Model
‫مادل‬ ‫دراین‬activity‫یک‬ ‫اساسی‬ ‫های‬software process‫از‬ ‫عبارت‬ ‫که‬ ‫را‬Specification،Design and implementation
،Validation،Evaluation‫پراسه‬ ‫یک‬ ‫نشدن‬ ‫تکمیل‬ ‫تا‬ ‫که‬ ‫میشود‬ ‫عمل‬ ‫طوری‬ ‫ودرآن‬ ‫نموده‬ ‫تقسیم‬ ‫جداگانه‬ ‫های‬ ‫بخش‬ ‫به‬ ‫باشد‬ ‫می‬
‫وارد‬ ‫نگردد‬ ‫جمع‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫نیازمندیها‬ ‫زمانیکه‬ ‫تا‬ ‫مثال‬ .‫نمیگردد‬ ‫دیگر‬ ‫پراسهء‬ ‫شامل‬.‫شویم‬ ‫نمی‬ ‫دیزاین‬ ‫مرحلهء‬
‫جلو‬ ‫به‬ ‫و‬ ‫شده‬ ‫گرفته‬ ‫مدنظر‬ ‫واحتماالت‬ ‫عواقب‬ ‫تمام‬ ‫و‬ ‫شده‬ ‫جمع‬ ‫کامل‬ ‫بطور‬ ‫نیازمندیها‬ ‫که‬ ‫است‬ ‫موثر‬ ‫زمانی‬ ‫مادل‬ ‫این‬ ‫از‬ ‫استفاده‬
‫آنصورت‬ ‫درغیر‬ ‫کنیم‬ ‫حرکت‬‫وقوع‬ ‫هم‬ ‫ویا‬ ‫نیازمندی‬ ‫در‬ ‫تغییر‬ ‫اندکی‬ ‫با‬problem‫شروع‬ ‫از‬ ‫دوباره‬ ‫را‬ ‫سیستم‬ ‫تا‬ ‫هستیم‬ ‫مجبور‬ ‫ها‬
‫دیزا‬.‫کنیم‬ ‫ین‬
‫میدهد‬ ‫نشان‬ ‫را‬ ‫فوق‬ ‫مادل‬ ‫در‬ ‫هزینه‬ ‫بررسی‬ ‫ذیل‬ ‫دیاگرام‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
12 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Incremental Model
‫یک‬ ‫مادل‬ ‫دراین‬activity، ‫تشخیص‬ ‫کوچک‬‫به‬ ‫شروع‬ ‫سپس‬ ‫و‬ ‫گردیده‬ ‫بررسی‬ ‫و‬ ‫تکمیل‬activity‫وبدین‬ ‫کنیم‬ ‫می‬ ‫دیگری‬
‫هر‬ ‫تکمیل‬ ‫با‬ ‫ترتیب‬activity( ‫ها‬ ‫نمونه‬versions.‫آید‬ ‫می‬ ‫بدست‬ ‫ویر‬ ‫سافت‬ ‫از‬ )‫یع‬‫هر‬ ‫در‬ ‫نی‬version، ‫خصوصیات‬
‫و‬ ‫کرده‬ ‫اضافه‬ ‫را‬ ‫جدیدی‬ ‫های‬ ‫قابلیت‬ ‫و‬ ‫ویژگیها‬version.‫میاوریم‬ ‫بدست‬ ‫را‬ ‫جدیدی‬‫است‬ ‫موثر‬ ‫زمانی‬ ‫مادل‬ ‫این‬ ‫از‬ ‫استفاده‬
‫یک‬ ‫شدن‬ ‫تکمیل‬ ‫مجرد‬ ‫به‬ ‫تا‬ ‫باشد‬ ‫فعال‬ ‫شخص‬ ‫مشتری‬ ‫که‬activity‫آنرا‬test.‫دهد‬ ‫ارایه‬ ‫خودرا‬ ‫بعدی‬ ‫نیازمندی‬ ‫و‬
‫هز‬ ‫ارزیابی‬ ‫ذیل‬ ‫جدول‬.‫میدهد‬ ‫نشان‬ ‫بخش‬ ‫هر‬ ‫تکمیل‬ ‫برای‬ ‫را‬ ‫ینه‬
Reuse-oriented software engineering
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
13 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫و‬ ‫ها‬ ‫ویر‬ ‫سافت‬ ‫اساس‬ ‫به‬ ‫ویر‬ ‫سافت‬ ‫تا‬ ‫شود‬ ‫می‬ ‫کوشش‬ ‫مادل‬ ‫دراین‬component‫مادل‬ ‫درین‬ ‫یعنی‬ ‫شود‬ ‫ساخته‬ ‫موجودی‬ ‫هایی‬
component‫و‬ ‫ها‬activity‫دیگر‬ ‫باهم‬ ‫را‬ ‫مختلف‬ ‫های‬integrate‫جدید‬ ‫مادل‬ ‫وسپس‬ ‫نموده‬.‫آوریم‬ ‫می‬ ‫دست‬ ‫به‬ ‫آن‬ ‫از‬ ‫را‬
.‫میدهد‬ ‫نشان‬ ‫مادل‬ ‫درین‬ ‫را‬ ‫هزینه‬ ‫بررسی‬ ‫ذیل‬ ‫جدول‬
Agile Software Development & Project Management
‫بخش‬ ‫برعالوهء‬ ‫و‬ ‫است‬ ‫نموده‬ ‫جمع‬ ‫را‬ ‫فوق‬ ‫های‬ ‫مادل‬ ‫تمام‬ ‫های‬ ‫خوبی‬ ‫حقیقت‬ ‫در‬ ‫مادل‬ ‫این‬software process‫بخش‬ ‫درآن‬
project management‫شامل‬ ‫نیز‬.‫است‬‫با‬ ‫تر‬ ‫زیاد‬ ‫شباهت‬ ‫که‬ ‫مادل‬ ‫دراین‬incremental model‫منظم‬ ‫غیر‬ ‫و‬ ‫منظم‬ ‫بطور‬ ‫دارد‬
.‫میگردد‬ ‫باخبر‬ ‫کامال‬ ‫آن‬ ‫نتیجهء‬ ‫و‬ ‫کار‬ ‫پیشرفت‬ ‫از‬ ‫مشتری‬ ‫که‬ ‫میگردد‬ ‫دایر‬ ‫مشتری‬ ‫با‬ ‫رسمی‬ ‫غیر‬ ‫هایی‬ ‫مالقات‬‫اک‬ ‫مشتری‬ ‫ازاینرو‬‫ثرا‬
.‫میگردد‬ ‫محسوب‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬ ‫از‬ ‫عضو‬ ‫یک‬ ‫منحیث‬‫اکثرا‬software developer‫می‬ ‫استفاده‬ ‫روش‬ ‫ازاین‬ ‫معاصر‬ ‫هایی‬
‫برای‬ ‫را‬ ‫جدید‬ ‫قوانین‬ ‫روش‬ ‫این‬ .‫کنند‬project management‫و‬software development:‫از‬ ‫عبارتند‬ ‫که‬ ‫است‬ ‫نموده‬ ‫معرفی‬
‫ا‬ ‫بخش‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫مشتری‬ ‫ازاینرو‬ .‫شود‬ ‫نگهداشته‬ ‫راضی‬ ‫باید‬ ‫که‬ ‫میشود‬ ‫داده‬ ‫اولویت‬ ‫بلندترین‬ ‫مشتری‬ ‫به‬ ‫مادل‬ ‫درین‬‫ز‬‫تیم‬
.‫میشود‬ ‫شمرده‬
.‫شود‬ ‫ویر‬ ‫سافت‬ ‫ساختن‬ ‫در‬ ‫تأخیر‬ ‫باعث‬ ‫اینکه‬ ‫ولو‬ ‫باشید‬ ‫خوشروی‬ ‫مشتری‬ ‫از‬ ‫تغییرات‬ ‫پذیرفتن‬ ‫در‬
‫که‬ ‫بخشهای‬ ‫تنها‬ ‫مشتری‬ ‫نبودن‬ ‫مسلکی‬ ‫به‬ ‫توجه‬ ‫با‬output‫هایی‬ ‫بخش‬ ‫دادن‬ ‫نشان‬ ‫از‬ ‫و‬ .‫دهید‬ ‫نشان‬ ‫مشتری‬ ‫به‬ ‫باشد‬ ‫داشته‬
‫که‬output‫ق‬ ‫هر‬ ‫ولو‬ ‫کنید‬ ‫خودداری‬ ‫مشتری‬ ‫به‬ ‫ندارد‬.‫باشید‬ ‫شده‬ ‫متحمل‬ ‫را‬ ‫زحمات‬ ‫در‬
‫تحصیل‬ ‫مختلف‬ ‫هایی‬ ‫دررشته‬ ‫که‬ ‫باشند‬ ‫افرادی‬ ‫از‬ ‫متشکل‬ ‫باید‬ ‫میکنند‬ ‫کار‬ ‫مادل‬ ‫دراین‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫درتیم‬ ‫که‬ ‫افرادی‬
.‫باشند‬ ‫کرده‬
.‫نمایند‬ ‫کار‬ ‫میخواهند‬ ‫که‬ ‫بخش‬ ‫هر‬ ‫در‬ ‫شان‬ ‫وخواستار‬ ‫میل‬ ‫اساس‬ ‫به‬ ‫باید‬ ‫تیم‬ ‫اعضای‬
‫حضوری‬ ‫مالقات‬ ‫که‬ ‫شود‬ ‫کوشش‬ ‫حدتوان‬ ‫تا‬.‫شود‬ ‫برگزار‬ ‫تر‬ ‫زیاد‬ ‫تیم‬ ‫اعضای‬ ‫و‬ ‫مشتری‬ ‫با‬ ‫وغیررسمی‬
.‫گردد‬ ‫بررسی‬ ‫باید‬ ‫آن‬ ‫پیشرفت‬ ‫و‬ ‫کار‬ ‫جریان‬
.‫باشد‬ ‫ثابت‬ ‫باید‬ ‫هستید‬ ‫ساختن‬ ‫حال‬ ‫در‬ ‫راکه‬ ‫محصول‬
‫ویا‬ ‫ها‬ ‫پراسه‬ ‫تمام‬activity‫ازروی‬ ‫منظم‬ ‫و‬ ‫مسلسل‬ ‫شکل‬ ‫به‬ ‫باید‬ ‫شود‬ ‫می‬ ‫انجام‬ ‫که‬ ‫هایی‬assembly line.‫گیرد‬ ‫صورت‬
Simplicity‫باید‬ :.‫دهند‬ ‫انجام‬ ‫آنرا‬ ‫و‬ ‫دانسته‬ ‫خودرا‬ ‫وظیفهء‬ ‫بخوبی‬ ‫هریک‬ ‫تیم‬ ‫افراد‬ ‫که‬ ‫شود‬ ‫ساده‬ ‫طوری‬ ‫ها‬ ‫پراسه‬
‫خودرا‬ ‫باید‬ ‫تیم‬ ‫اعضای‬organize.‫کنند‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
14 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
.‫شوند‬ ‫تقدیر‬ ‫نمایند‬ ‫می‬ ‫تکمیل‬ ‫احسن‬ ‫وجه‬ ‫به‬ ‫خودرا‬ ‫وظیفه‬ ‫که‬ ‫وافرادی‬ ‫داشته‬ ‫وجود‬ ‫تیم‬ ‫اعضای‬ ‫بین‬ ‫همکاری‬ ‫حس‬
‫تیم‬agile‫باشن‬ ‫می‬ ‫ذیل‬ ‫افراد‬ ‫از‬ ‫متشکل‬.‫باشند‬ ‫تیم‬ ‫یک‬ ‫تواند‬ ‫می‬ ‫فرد‬ ‫هر‬ ‫که‬ ‫د‬
Product Owner (customer):‫عمدهء‬ ‫فرق‬agile model‫از‬ ‫عضو‬ ‫یک‬ ‫مشتری‬ ‫مادل‬ ‫درین‬ ‫که‬ ‫است‬ ‫دراین‬ ‫ها‬ ‫مادل‬ ‫باسایر‬
.‫آید‬ ‫می‬ ‫حساب‬ ‫به‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬‫و‬ ‫نیازمندیها‬ ‫به‬ ‫دهی‬ ‫واولویت‬ ‫انتخاب‬ ، ‫دستورسازی‬ ‫از‬ ‫عبارت‬ ‫آن‬ ‫های‬ ‫ومسؤلیت‬
‫ساف‬ ‫خصوصیات‬.‫میباشد‬ ‫ویر‬ ‫ت‬
Manager (SCRUM Master):‫منحیث‬ ‫که‬ ‫است‬ ‫شخصی‬product owner‫یعنی‬ .‫باشد‬ ‫می‬ ‫ها‬ ‫تیم‬ ‫برای‬requirement
‫سافت‬ ‫های‬ ‫تیم‬ ‫بین‬ ‫انترفس‬ ‫یک‬ ‫منحیث‬ ‫ودرحقیقت‬ .‫میکند‬ ‫مدیریت‬ ‫را‬ ‫دیگر‬ ‫های‬ ‫تیم‬ ‫و‬ ‫گرفته‬ ‫مدنظر‬ ‫را‬ ‫مشتری‬ ‫ونظریات‬
‫و‬ ‫ویرسازی‬product owner‫تخنیک‬ ‫باید‬ ‫که‬ ‫میباشد‬.‫باشد‬ ‫ی‬
‫در‬ ‫هارا‬ ‫پراسه‬ ‫تکمیل‬ ‫طریق‬ ‫ذیل‬ ‫مراحل‬Agile software development.‫میدهند‬ ‫نشان‬
Product Backlog
‫ساختن‬ ‫از‬ ‫عبارت‬ ‫دهد‬ ‫می‬ ‫انجام‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬ ‫که‬ ‫کاری‬ ‫اولین‬backlog‫عبارت‬ ‫درحقیقت‬ ‫سفارشات‬ ‫این‬ ‫که‬ ‫است‬ ‫سفارشات‬ ‫یا‬
‫تک‬ ‫تک‬ ‫توسط‬ ‫که‬ ‫باشد‬ ‫می‬ ‫ویر‬ ‫سافت‬ ‫نیازمندیهای‬ ‫از‬‫نسخه‬ ‫تا‬ ‫شوند‬ ‫می‬ ‫تعریف‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬ ‫افراد‬‫ا‬ ‫تمام‬ ‫سیستم‬ ‫آخری‬ ‫ء‬‫ین‬
‫در‬ ‫بسازد.یعنی‬ ‫برآورده‬ ‫را‬ ‫نیازمندیها‬product backlog‫تمام‬functional Requirement‫و‬Non functional requirement
.‫میگردد‬ ‫مشخص‬
Sprint Planning
‫تمام‬ ‫مرحله‬ ‫دراین‬activity‫به‬ ‫موجود‬ ‫های‬ ‫پراسه‬ ‫و‬ ‫ها‬phase‫نظر‬ ‫در‬ ‫مناسب‬ ‫وقت‬ ‫مذکور‬ ‫بخش‬ ‫هر‬ ‫وبه‬ ‫میگردد‬ ‫تقسیم‬ ‫ها‬ ‫وبخش‬ ‫ها‬
.‫شود‬ ‫می‬ ‫گرفته‬
Sprint Backlog
، ‫فازها‬ ‫در‬ ‫شده‬ ‫تقسیم‬ ‫نیازمندیهای‬ ‫انبوه‬ ‫بین‬ ‫از‬ ‫مرحله‬ ‫درین‬‫و‬ ‫ها‬ ‫پراسه‬ ‫فاز‬ ‫هر‬ ‫در‬activity‫نام‬ ‫به‬ ‫کدام‬ ‫هر‬ ‫که‬ ‫میگردد‬ ‫مشخص‬ ‫ها‬
sprint‫هر‬ ‫وبرای‬ ‫میگردد‬ ‫یاد‬sprint‫وقت‬‫(مع‬‫موال‬1)‫دوهفته‬ ‫الی‬‫انتخاب‬ ‫البته‬ ‫میگیریم‬ ‫مدنظر‬ ‫را‬sprint‫گردد‬ ‫تکمیل‬ ‫باید‬ ‫اول‬ ‫که‬
‫توسط‬product owner.‫میگیرد‬ ‫صورت‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
15 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Daily Scrum
‫باید‬ ‫پروژه‬ ‫افراد‬ ‫تمام‬ ‫ناگزیر‬ ‫میگرددکه‬ ‫برگزار‬ ‫یی‬ ‫دقیقه‬ ‫پانزده‬ ‫جلسه‬ ‫روزه‬ ‫همه‬ ‫مشکالت‬ ‫رفع‬ ‫همچنین‬ ‫و‬ ‫تیم‬ ‫افراد‬ ‫بین‬ ‫هماهنگی‬ ‫برای‬
‫بگ‬ ‫سهم‬ ‫درآن‬.‫یرد‬‫تیم‬ ‫ویاهر‬ ‫عضو‬ ‫هر‬ ‫درآن‬ ‫که‬:
‫ازآخرین‬ ‫بعد‬ ‫که‬ ‫را‬ ‫کاری‬ ‫مقدار‬daily scrum.‫میکنند‬ ‫بیان‬ ‫داد‬ ‫انجام‬
‫تا‬ ‫راکه‬ ‫کاری‬ ‫مقدار‬daily scrum.‫میکنند‬ ‫بیان‬ ‫داد‬ ‫خواهند‬ ‫انجام‬ ‫بعدی‬
.‫میکنند‬ ‫بیان‬ ‫را‬ ‫فعلی‬ ‫وموانع‬ ‫مشکالت‬
Born Down Chart
‫وبررسی‬ ‫مانیتورینگ‬ ‫برای‬ ‫که‬ ‫است‬ ‫چارت‬ ‫از‬ ‫عبارت‬.‫میگردد‬ ‫استفاده‬ ‫باقیمانده‬ ‫وقت‬ ‫به‬ ‫نظر‬ ‫شده‬ ‫نداده‬ ‫انجام‬ ‫کار‬ ‫مقدار‬‫به‬ ‫یعنی‬‫اساس‬
.‫اند‬ ‫رفته‬ ‫پیش‬ ‫به‬ ‫ویا‬ ‫اند‬ ‫افتیده‬ ‫عقب‬ ‫پالن‬ ‫از‬ ‫وآیا‬ ‫اند‬ ‫نموده‬ ‫پیشرفت‬ ‫حد‬ ‫چه‬ ‫تا‬ ‫میدانندکه‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬ ‫چارت‬ ‫این‬
Sprint Review
‫هر‬ ‫درختم‬ ‫که‬ ‫میگردد‬ ‫استفاده‬ ‫میکانیزمی‬ ‫از‬ ‫مرحله‬ ‫دراین‬sprint‫را‬ ‫گرفته‬ ‫صورت‬ ‫کارهای‬review‫نموده‬analyze.‫میکنیم‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
16 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Requirement Engineering
Requirement‫یا‬ ‫پراسه‬ ‫یک‬ ‫تشریح‬ ‫و‬ ‫ازتعریف‬ ‫عبارت‬activity‫همچنین‬ ‫و‬ .‫دهد‬ ‫انجام‬ ‫آنرا‬ ‫باید‬ ‫سیستم‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫که‬ ‫باشد‬ ‫می‬
( ‫محدودیات‬ ‫تعریف‬constraints.‫ندهد‬ ‫انجام‬ ‫مذکور‬ ‫پراسه‬ ‫که‬ )‫وی‬‫و‬ ‫پراسه‬ ‫یک‬ ‫ومتنی‬ ‫نظری‬ ‫دیگرشکل‬ ‫عبارت‬ ‫ابه‬service‫را‬
‫نام‬ ‫به‬ ‫آن‬ ‫محدودیات‬ ‫درنظرداشت‬ ‫با‬ ‫همراه‬requirement.‫میکنند‬ ‫یاد‬
‫درآن‬ ‫که‬ ‫وپراسهء‬Requirement، ‫تحلیل‬ ، ‫تشخیص‬ ‫ها‬documenting‫نام‬ ‫به‬ ‫میگردد‬ ‫بررسی‬ ‫و‬Requirement Engineering
.‫میگردد‬ ‫یاد‬‫ضروریا‬ ‫درآن‬ ‫که‬ ‫پراسهء‬ ‫یعنی‬‫دهد‬ ‫انجام‬ ‫را‬ ‫کارهایی‬ ‫چه‬ ‫باید‬ ‫سیستم‬ ‫که‬ ‫میگردد‬ ‫تشخیص‬ ‫و‬ ‫شده‬ ‫آوری‬ ‫جمع‬ ‫ونیازمندیها‬ ‫ت‬
‫نام‬ ‫به‬ ‫سازیم‬ ‫می‬ ‫مال‬ ‫خودرا‬ ‫مذکور‬ ‫ویر‬ ‫درسافت‬ ‫استاد‬ ‫اصطالح‬ ‫به‬ ‫و‬Requirement Engineering‫میگردد‬ ‫یاد‬.
‫در‬software engineering( ‫مشکالت‬ ‫کاهش‬ ‫بخاطر‬problems‫خور‬ ‫هایی‬ ‫بخش‬ ‫به‬ ‫نیازمندیها‬ )‫بخش‬ ‫درهر‬ ‫و‬ ‫گردیده‬ ‫تقسیم‬ ‫د‬
.‫ندهد‬ ‫انجام‬ ‫هارا‬ ‫پراسه‬ ‫کدام‬ ‫و‬ ‫دهد‬ ‫انجام‬ ‫هارا‬ ‫پراسه‬ ‫کدام‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫میگردد‬ ‫مشخص‬
‫در‬Requirement Engineering‫دوبخش‬ ‫به‬ ‫نیازمندیها‬User Requirement‫و‬System Requirement.‫میگردد‬ ‫تقسیم‬
User Requirement‫نیازمندیهای‬ ‫به‬High Level‫گفت‬ ‫وکلی‬‫به‬ ‫باید‬ ‫سیستم‬ ‫که‬ ‫شود‬ ‫می‬ ‫ه‬user‫واین‬ ‫بدهد‬ ‫ها‬user‫یک‬ ‫تواند‬ ‫می‬
‫نمی‬ ‫جزییات‬ ‫به‬ ‫زیاد‬ ‫نیازمندیها‬ ‫دراین‬ ‫یعنی‬ .‫است‬ ‫ارتباط‬ ‫در‬ ‫ما‬ ‫سیستم‬ ‫ویر‬ ‫سافت‬ ‫به‬ ‫که‬ ‫باشد‬ ‫دیگر‬ ‫سیستم‬ ‫یک‬ ‫هم‬ ‫ویا‬ ‫باشد‬ ‫شخص‬
.‫پردازیم‬
‫نیازمندی‬ ‫از‬ ‫(هدف‬high level‫ها‬ ‫دیاگرام‬ ‫و‬ ‫انسانها‬ ‫زبان‬ ‫شکل‬ ‫به‬ ‫که‬ ‫است‬ ‫این‬‫برای‬ ‫را‬ ‫ها‬ ‫پراسه‬ ‫و‬ .‫باشد‬ ‫شده‬ ‫مشخص‬user‫ها‬
).‫کند‬ ‫مشخص‬
System Requirement‫تطبیق‬ ‫مو‬ ‫موبه‬ ‫عملکرد‬ ‫و‬ ‫خدمات‬ ، ‫ها‬ ‫پراسه‬ ‫چطور‬ ‫کند‬ ‫می‬ ‫مشخص‬ ‫که‬ ‫شود‬ ‫می‬ ‫گفته‬ ‫نیازمندیهای‬ ‫به‬
.‫باشد‬ ‫می‬ ‫آنها‬ ‫دربارهء‬ ‫مکمل‬ ‫معلومات‬ ‫وحاوی‬ .‫گردد‬
‫بخش‬ ‫دو‬ ‫به‬ ‫نیز‬ ‫اولویت‬ ‫لحاظ‬ ‫از‬ ‫ها‬ ‫پراسه‬Functional Requirement‫و‬Non Functional Requirement.‫میگردد‬ ‫تقسیم‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
17 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Functional Requirements.‫شود‬ ‫می‬ ‫پنداشته‬ ‫ناقص‬ ‫سیستم‬ ‫ویر‬ ‫سافت‬ ‫آن‬ ‫نبود‬ ‫صورت‬ ‫در‬ ‫که‬ ‫میگردد‬ ‫اطالق‬ ‫نیازمندیهای‬ ‫به‬
‫درحالیکه‬nonfunctional Requirements‫موجودیت‬ ‫درصورت‬ ‫که‬ ‫شود‬ ‫می‬ ‫گفته‬ ‫وخصوصیات‬ ‫اضافی‬ ‫ویژگیهای‬ ‫به‬‫کارایی‬ ‫آن‬
.‫دهد‬ ‫انجام‬ ‫خودرا‬ ‫اصلی‬ ‫وظیفهء‬ ‫سیستم‬ ‫هم‬ ‫آن‬ ‫نبود‬ ‫صورت‬ ‫در‬ ‫ولی‬ ‫رفته‬ ‫باال‬ ‫سیستم‬ ‫عملکرد‬ ‫و‬‫بدهیم‬ ‫مثال‬ ‫را‬ ‫اگربایسکل‬ ‫مثال‬ ‫بطور‬
، ‫تایر‬ ‫داشتن‬handle‫یک‬Functional Requirement‫وغیره‬ ‫بریک‬ ، ‫هارن‬ ‫قبیل‬ ‫از‬ ‫دیگری‬ ‫اضافی‬ ‫خصوصیات‬ ‫درحالیکه‬ ‫است‬
Nonfunctional Requirement‫شده‬ ‫آورده‬ ‫مثال‬ ‫این‬ ‫موضوع‬ ‫بهتر‬ ‫درک‬ ‫برای‬ ‫ولی‬ ‫ندارد‬ ‫ویر‬ ‫سافت‬ ‫با‬ ‫ربطی‬ ‫بایسکل‬ ‫البته‬ ( ‫است‬
).‫است‬
Functional Requirement‫میگردد‬ ‫تقسیم‬ ‫بخش‬ ‫دو‬ ‫به‬ ‫هم‬
Functional User Requirements‫به‬ ‫که‬ ‫اساسی‬ ‫نیازمندیهای‬ :user.‫کند‬ ‫درک‬ ‫را‬ ‫سیستم‬ ‫کارآیی‬ ‫تا‬ ‫کند‬ ‫می‬ ‫کمک‬
Functional System Requirement.‫دارد‬ ‫نیاز‬ ‫آن‬ ‫به‬ ‫بودنش‬ ‫کامل‬ ‫برای‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫اساسی‬ ‫نیازمندیهای‬ :
Nonfunctional Requirement:‫میگردد‬ ‫تقسیم‬ ‫بخش‬ ‫سه‬ ‫به‬
Product Requirement‫که‬ ‫ونیازمندیهای‬ ‫ویژگیها‬ :Behavior‫سازد‬ ‫می‬ ‫خوبتر‬ ‫را‬ ‫ویر‬ ‫سافت‬‫عملکرد‬ ‫سرعت‬ ‫قبیل‬ ‫از‬
، ‫سیستم‬‫نیا‬ ‫مورد‬ ‫حافظه‬ ‫مقدار‬‫اطمینان‬ ‫قابلیت‬ ،‫ز‬.‫وغیره‬‫که‬ ‫دارد‬ ‫دیگری‬ ‫مختلفی‬ ‫انوع‬ ‫نیازمندیها‬ ‫این‬:‫عبارتنداز‬
oUsability Requirements:‫شدن‬ ‫بهتر‬ ‫برای‬ ‫که‬ ‫ومعلوماتی‬ ‫نیازها‬usability.‫است‬ ‫ویر‬ ‫سافت‬
oEfficiency Requirement:.‫دهد‬ ‫انجام‬ ‫کارخودرا‬ ‫تر‬ ‫موثر‬ ‫شکل‬ ‫به‬ ‫تا‬ ‫میکند‬ ‫کمک‬ ‫ویر‬ ‫سافت‬ ‫به‬ ‫که‬ ‫معلومات‬
‫وب‬‫میگردد‬ ‫تقسیم‬ ‫زیر‬ ‫دوبخش‬ ‫ه‬
Performance Requirement:.‫میکند‬ ‫تعریف‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫بهتر‬ ‫عملکرد‬ ‫که‬ ‫معلومات‬
Space Requirement‫معلومات‬ :‫از‬ ‫تا‬ ‫میکند‬ ‫کمک‬ ‫ویر‬ ‫سافت‬ ‫به‬ ‫که‬space‫استفاده‬ ‫کمتر‬ ‫ومنابع‬
‫ودرمیموری‬ .‫کنند‬RAM.‫بگیرد‬ ‫کمتر‬ ‫فضای‬
oDependability Requirement‫حاوی‬ :‫معلوم‬‫که‬ ‫باشد‬ ‫می‬ ‫ات‬user‫معلومات‬ ‫دادن‬ ‫دست‬ ‫از‬ ‫نگرانی‬ ‫از‬ ‫هارا‬
‫با‬ ‫ولو‬ ‫شان‬fail.‫میکند‬ ‫بیرون‬ ، ‫هایشان‬ ‫سیستم‬ ‫شدن‬
oSecurity Requirement:.‫باشد‬ ‫می‬ ‫میسازد‬ ‫رفع‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫امنیتی‬ ‫مشکالت‬ ‫که‬ ‫نیازمندیهای‬ ‫شامل‬
Organizational Requirement:‫و‬ ‫سافت‬ ‫سیستم‬ ‫وگسترده‬ ‫وسیع‬ ‫نیازمندیهای‬‫دستورالعملهای‬ ‫و‬ ‫ها‬ ‫پالیسی‬ ‫از‬ ‫که‬ ‫یر‬
‫و‬ ‫مشتری‬developer.‫باشد‬ ‫می‬ ‫شامل‬ ‫را‬ ‫آید‬ ‫می‬ ‫دست‬ ‫به‬ ‫شان‬ ‫کاری‬ ‫محیط‬ ‫از‬:‫است‬ ‫نوع‬ ‫سه‬ ‫به‬ ‫نیازمندیها‬ ‫واین‬
oEnvironmental Requirement:
oOperational requirement.‫میکند‬ ‫مشخص‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫از‬ ‫استفاده‬ ‫چگونگی‬ ‫که‬ ‫هایی‬ ‫نیازمندی‬ :
oDevelopment Requirement‫محیط‬ ‫و‬ ‫نویسی‬ ‫پروگرام‬ ‫لسان‬ :development‫مشخص‬ ‫را‬ ‫افزار‬ ‫نرم‬ ‫یک‬
.‫میکند‬
External Requirement:.‫باشد‬ ‫می‬ ‫میگذارند‬ ‫اثر‬ ‫سیستم‬ ‫باالی‬ ‫خارجی‬ ‫های‬ ‫فکتور‬ ‫از‬ ‫که‬ ‫نیازمندیهای‬ ‫تمام‬ ‫شامل‬‫وشامل‬
.‫باشد‬ ‫می‬ ‫ذیل‬ ‫انواع‬
oRegulatory Requirement‫سیستم‬ ‫کننده‬ ‫تنظیم‬ ‫که‬ ‫شود‬ ‫مشخص‬ :‫چه‬ ‫ویر‬ ‫سافت‬ ‫از‬ ‫واستفاده‬ ‫تنظیم‬ ‫برای‬ ‫باید‬
.‫دهد‬ ‫انجام‬ ‫باید‬ ‫کارهایی‬
oEthical Requirement.‫باشدویاخیر‬ ‫می‬ ‫مشتری‬ ‫برای‬ ‫قبول‬ ‫قابل‬ ‫سیستم‬ ‫آیا‬ ‫که‬ ‫میکند‬ ‫مشخص‬ :
oLegislative Requirement:.‫کند‬ ‫عمل‬ )‫(قانونی‬ ‫حقوقی‬ ‫شده‬ ‫ساخته‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫شود‬ ‫مشخص‬ ‫باید‬
Accounting Requirement
Safety/Security Requirement
‫های‬ ‫بندی‬ ‫تقسیم‬ ‫این‬ ‫تمام‬ ‫ذیل‬ ‫دیاگرام‬Nonfunctional Requirement.‫میدهد‬ ‫رانشان‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
18 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫در‬ ‫شده‬ ‫فراموشم‬ ‫نامش‬ ‫که‬ ‫دیگرم‬ ‫عزیز‬ ‫همصنفی‬ ‫ویک‬ ‫الرحمن‬ ‫مجیب‬ ، ‫جان‬ ‫شکیب‬ ‫کمک‬ ‫به‬ ‫که‬ ‫را‬ ‫صنفی‬ ‫فعالیت‬ ‫قسمت‬ ‫درین‬
.‫میکنم‬ ‫ارایه‬ ‫تان‬ ‫خدمت‬ ‫نمودیم‬ ‫تکمیل‬ ‫صنف‬
‫شاگردان‬ ‫از‬ ‫بخش‬ ‫ویک‬ ‫شوند‬ ‫تقسیم‬ ‫حصه‬ ‫دو‬ ‫به‬ ‫شاگردان‬ ‫که‬ ‫شد‬ ‫می‬ ‫تکمیل‬ ‫روشی‬ ‫به‬ ‫باید‬ ‫فعالیت‬ ‫این‬functional requirement
‫سیستم‬ATM (Automatic teller machine)‫شاگردان‬ ‫از‬ ‫دیگری‬ ‫بخش‬ ‫و‬ ‫کنند‬ ‫آوری‬ ‫جمع‬ ‫را‬Nonfunctional Requirement
.‫کنند‬ ‫آوری‬ ‫جمع‬ ‫را‬ ‫مذکور‬ ‫سیستم‬
‫بخش‬ ‫که‬Functional Requirement‫عبارت‬ ‫گردید‬ ‫تایید‬ ‫استاد‬ ‫توسط‬ ‫و‬ ‫شد‬ ‫داده‬ ‫ارایه‬ ‫شاگردان‬ ‫دیگر‬ ‫گروپ‬ ‫توسط‬ ‫که‬ ‫سیستم‬ ‫این‬
:‫از‬ ‫است‬
Withdraw
Check Balance
Security
Count money‫وغیره‬
‫وبخش‬NonFunctional Requirement: ‫از‬ ‫اند‬ ‫عبارت‬ ‫آن‬
Secure Screen
Billing
Manual or Help
Voice System
Alarm during Security problem
Changeable Language
Taking ATM Cart before receiving money
Additional battery or UPS
Report if many is less than 2000$
‫وغیره‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
19 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Architectural Design and System Modeling
Architectural Design
‫سیستم‬ ‫یک‬ ‫ساختارکلی‬(Overall Structure)‫از‬ ‫استفاده‬ ‫با‬architectural design‫یعنی‬ ‫میگردد‬ ‫تعیین‬architectural design
‫دهندهء‬ ‫ارتباط‬Requirement Engineering‫و‬Design( ‫تنظیم‬ ‫باید‬ ‫چگونه‬ ‫سیستم‬ ‫یک‬ ‫که‬ ‫میکند‬ ‫تعیین‬ ‫که‬ ‫میبااشد‬organize‫شود‬ )
‫ب‬ ‫و‬( ‫به‬ ‫توجه‬ ‫با‬ ‫آن‬ ‫دیزاین‬ ‫رای‬requirements)‫کدام‬component‫ها‬‫اس‬ ‫نیاز‬‫بین‬ ‫ارتباط‬ ‫وهمچنین‬ ‫ت‬component‫چه‬ ‫به‬ ‫باید‬ ‫ها‬
.‫باشد‬ ‫شکل‬‫مرحله‬ ‫این‬ ‫تکمیل‬ ‫نتیجهء‬ ‫که‬(architectural Model)‫مجموعهء‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫سیستم‬ ‫یک‬ ‫چگونه‬ ‫که‬ ‫کند‬ ‫مشخص‬ ‫باید‬
component.‫است‬ ‫شده‬ ‫تنظیم‬ ‫یافته‬ ‫ارتباط‬ ‫های‬
Architectural Design‫بهتر‬ ‫گرفتن‬ ‫برای‬requirement‫از‬ ‫جدید‬‫کننده‬ ‫استفاده‬ ‫با‬ ‫نظر‬ ‫وتبادل‬ ‫مذاکره‬ ‫منظور‬ ‫به‬ ‫وهمچنین‬ ‫مشتری‬
، ‫گان‬.‫دارد‬ ‫اهمیت‬ ‫مشتریان‬ ‫و‬ ‫طراحان‬
‫ذیل‬ ‫دیاگرام‬ ‫شکل‬ ‫مثال‬ ‫بطور‬architectural design‫میتواند‬ ‫که‬ ‫رباط‬ ‫سیستم‬ ‫یک‬ ‫برای‬ ‫را‬Object، ‫دیده‬ ‫را‬ ‫مختلف‬ ‫هایی‬‫اندازه‬
‫آنرا‬‫دهد‬ ‫حمل‬ ‫وآنرا‬ ‫کرده‬ ‫بندی‬ ‫بسته‬ ، ‫داده‬ ‫تشخیص‬.‫میدهد‬ ‫رانشان‬
‫رباط‬ ‫اوال‬ ‫میبینید‬ ‫فوق‬ ‫شکل‬ ‫در‬ ‫همانطوریکه‬object‫آم‬ ‫آنرا‬ ، ‫آن‬ ‫بندی‬ ‫بسته‬ ‫بعداز‬ ‫و‬ ‫نموده‬ ‫وشناسایی‬ ‫تشخیص‬ ‫آنرا‬ ‫و‬ ‫دیده‬ ‫هارا‬‫اده‬
‫انتق‬ ‫آنرا‬ ‫سپس‬ ‫و‬ ‫نموده‬ ‫انتقال‬.‫میدهد‬ ‫ال‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
20 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
System Modeling
‫قالب‬ ‫در‬ ‫میتوان‬ ‫را‬ ‫کمپیوتری‬ ‫سیستم‬ ‫هر‬ ‫عادی‬ ‫بصورت‬inputProcessing  Output‫اینکه‬ ‫یعنی‬ .‫داد‬ ‫نمایش‬ ‫و‬ ‫انداخت‬
‫یا‬ ‫و‬ ‫شود‬ ‫می‬ ‫سیستم‬ ‫داخل‬ ‫نحو‬ ‫کدام‬ ‫به‬ ‫معلومات‬user‫سیستم‬ ‫به‬ ‫را‬ ‫الزم‬ ‫دستورات‬ ‫و‬ ‫میکنند‬ ‫برقرار‬ ‫ارتباط‬ ‫نحو‬ ‫کدام‬ ‫به‬ ‫سیستم‬ ‫با‬ ‫ها‬
( ‫نتیجهء‬ ‫و‬ ‫میگردد‬ ‫پراسس‬ ‫نحوی‬ ‫چه‬ ‫به‬ ‫شده‬ ‫وارد‬ ‫معلومات‬ ‫و‬ ‫دستورات‬ ‫سپس‬ ‫و‬ ‫میدهند‬output.‫باشد‬ ‫می‬ ‫چی‬ ‫آن‬ )
‫ه‬‫ضمیمهء‬ ‫میتوان‬ ‫نیز‬ ‫را‬ ‫دیگری‬ ‫ویژگیهای‬ ‫از‬ ‫بعضی‬ ‫مچنین‬:‫از‬ ‫اند‬ ‫عبارت‬ ‫که‬ ‫نمود‬ ‫قالب‬ ‫این‬
User Interface
Maintenance
Self-Testing Process
( ‫الذکر‬ ‫فوق‬ ‫موارد‬ ‫تمام‬ ‫نظرداشت‬ ‫در‬ ‫با‬input،process،output،user Interface،self-Testing Process‫میتوانیم‬ )
‫مادل‬system component.‫میرود‬ ‫کار‬ ‫به‬ ‫بعدی‬ ‫مراحل‬ ‫در‬ ‫ویر‬ ‫سافت‬ ‫اساسات‬ ‫از‬ ‫مجموعهء‬ ‫منحیث‬ ‫که‬ ‫کنیم‬ ‫دیزاین‬ ‫را‬
‫بخش‬ ‫نمبر‬ ‫درآن‬ ‫که‬ ‫بارکود‬ ‫توسط‬ ‫هرباکس‬ ‫کند‬ ‫می‬ ‫تنظیم‬ ‫مسیر‬ ‫یک‬ ‫روی‬ ‫را‬ ‫ها‬ ‫باکس‬ ‫که‬ ‫میدهیم‬ ‫مثال‬ ‫را‬ ‫سیستمی‬ :‫مثال‬ ‫بطور‬
‫قف‬ ‫شش‬ ‫مسیر‬ ‫این‬ ‫درپایان‬ ‫و‬ ‫میگردد‬ ‫شناسایی‬ ‫است‬ ‫نصب‬ ‫آن‬ ‫مربوطهء‬‫از‬ ‫استفاده‬ ‫با‬ ‫ها‬ ‫باکس‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫ها‬ ‫باکس‬ ‫جابجایی‬ ‫برای‬ ‫سه‬
‫یک‬bar code reader‫و‬PC.‫میگیرند‬ ‫قرار‬ ‫مشخص‬ ‫های‬ ‫قفسه‬ ‫به‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
21 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫ذیل‬ ‫جدول‬system model.‫میدهد‬ ‫نشان‬ ‫الذکر‬ ‫فوق‬ ‫ویر‬ ‫سافت‬ ‫برای‬ ‫را‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
22 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
System Design Using UML
Model‫چیست؟‬
‫ت‬ ‫که‬ ‫باشد‬ ‫می‬ ‫طرحی‬ ‫ویا‬ ‫نمونه‬ ‫از‬ ‫عبارت‬ ‫مادل‬‫یک‬ ‫منحیث‬ ‫تا‬ ‫میکشد‬ ‫تصویر‬ ‫به‬ ‫آنرا‬ ‫افعال‬ ‫و‬ ‫سیستم‬ ‫یک‬ ‫ومشخصات‬ ‫خواص‬ ‫مام‬
‫یعنی‬ .‫نیست‬ ‫واقعی‬ ‫سیستم‬ ‫هیچوجه‬ ‫به‬ ‫ولی‬ ‫میگیرد‬ ‫صورت‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫واقعی‬ ‫سیستم‬ ‫بهتر‬ ‫درک‬ ‫و‬ ‫راهنما‬‫ی‬ ‫نمونه‬ ‫از‬ ‫عبارت‬ ‫مادل‬‫ا‬
‫شامل‬ ‫که‬ ‫باشد‬ ‫می‬ ‫طرح‬behavior،state‫م‬ ‫آن‬ ‫در‬ ‫باید‬ ‫که‬ ‫باشد‬ ‫می‬ ‫سیستم‬ ‫یک‬ ‫های‬.‫شود‬ ‫شخص‬
‫که‬ ‫گفت‬ ‫میتوان‬coding‫به‬ ‫تر‬ ‫زود‬ ‫تحقیق‬ ‫بدون‬ ‫که‬ ‫وهرقدری‬ .‫باشد‬ ‫می‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫ساخت‬ ‫و‬ ‫طراحی‬ ‫از‬ ‫کوچک‬ ‫بخش‬ ‫یک‬ ‫تنها‬
coding.‫گردد‬ ‫تکمیل‬ ‫تر‬ ‫دیر‬ ‫ویر‬ ‫سافت‬ ‫و‬ ‫شویم‬ ‫روبرو‬ ‫شده‬ ‫ناسنجیده‬ ‫عواقب‬ ‫با‬ ‫اندازه‬ ‫همان‬ ‫به‬ ‫ممکن‬ ‫کنیم‬ ‫شروع‬‫اهمیت‬ ً‫ا‬‫بن‬
‫را‬ ‫وغیره‬ ‫مادلینگ‬ ، ‫داکمنتیشن‬.‫گرفت‬ ‫کم‬ ‫دست‬ ‫نباید‬
Modeling language‫چیست؟‬
Modeling language، ‫معلومات‬ ‫که‬ ‫است‬ ‫مصنوعی‬ ‫لسان‬ ‫از‬ ‫عبارت‬knowledge‫از‬ ‫استفاده‬ ‫با‬ ‫که‬ ‫ساختار‬ ‫دریک‬ ‫را‬ ‫ها‬ ‫وسیستم‬
.‫میدهد‬ ‫ونمایش‬ ‫ارایه‬ ‫باشد‬ ‫شده‬ ‫معرفی‬ ‫وستاندارد‬ ‫ثابت‬ ‫قوانین‬‫ق‬ ‫لسان‬ ‫این‬‫ابل‬
‫ویر‬ ‫سافت‬ ‫تیم‬ ‫تمام‬ ‫برای‬ ‫فهم‬‫م‬ ‫سازی‬.‫باشد‬ ‫ی‬
‫از‬UML (Unified Modeling Language)‫به‬ ‫ستاندارد‬ ‫لسان‬ ‫عنوان‬ ‫به‬
‫منظور‬modeling‫قابل‬ ‫ویرها‬ ‫سافت‬ ‫از‬ ‫نوع‬ ‫هر‬ ‫باالی‬ ‫که‬ ‫میشود‬ ‫برده‬ ‫نام‬
‫کدام‬ ‫هر‬ ‫که‬ ‫باشد‬ ‫می‬ ‫مختلفی‬ ‫های‬ ‫دیاگرام‬ ‫شامل‬ ‫لسان‬ ‫این‬ .‫باشد‬ ‫می‬ ‫تطبیق‬
‫پروگرامر‬ ‫به‬ ‫ساه‬ ‫شکل‬ ‫به‬ ‫بسیار‬ ‫را‬ ‫خاصی‬ ‫پیامهای‬‫م‬ ‫ارایه‬ ‫ها‬.‫یدارند‬‫یعنی‬
‫نشان‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫مختلف‬ ‫ابعاد‬ ‫میتوانیم‬ ‫ها‬ ‫دیاگرام‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬
.‫دهیم‬‫مختلف‬ ‫مقاصد‬ ‫به‬ ‫که‬ ‫مختلفی‬ ‫های‬ ‫کالس‬ ‫شامل‬ ‫آن‬ ‫دیاگرام‬ ‫وهر‬
.‫باشد‬ ‫می‬ ‫میگردد‬ ‫استفاده‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
23 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫انواع‬ ‫از‬ ‫بعضی‬ ‫به‬ ‫درذیل‬UML Diagram.‫میکنیم‬ ‫اشاره‬
1.Class Diagram
‫ثاب‬ ‫ساختار‬ ‫دیاگرام‬ ‫این‬( ‫ت‬static structure)‫تمام‬ ‫برای‬ ‫فقرات‬ ‫ستون‬ ‫یک‬ ‫همانند‬ ‫دیاگرام‬ ‫واین‬ ‫میدهد‬ ‫نمایش‬ ‫را‬ ‫سیستم‬ ‫یک‬
( ‫گرا‬ ‫شی‬ ‫ویرهای‬ ‫سافت‬object oriented).‫باشد‬ ‫می‬‫برای‬ ‫را‬ ‫کاری‬ ‫طرح‬ ‫یک‬ ‫درآن‬ ‫کالس‬ ‫هر‬ ‫که‬object‫مشخص‬
‫مجموعهء‬ ‫از‬ ‫ومتشکل‬ .‫میکند‬attributes‫و‬ ‫ها‬method.‫میباشند‬ ‫ها‬‫دیاگ‬ ‫ودراین‬‫تشخیص‬ ‫شان‬ ‫بین‬ ‫ارتباط‬ ‫و‬ ‫ها‬ ‫کالس‬ ‫رام‬
.‫میگیرد‬ ‫قرار‬ ‫مطالعه‬ ‫مورد‬ ‫تفصیل‬ ‫به‬ ْ‫ا‬‫بعد‬ ‫که‬ ‫میگردد‬
‫آن‬ ‫ازروی‬ ‫سپس‬ ‫و‬ ‫نمایید‬ ‫ترسیم‬ ‫را‬ ‫دیاگرام‬ ‫کالس‬ ‫اوال‬ ‫که‬ ‫کنید‬ ‫کوشش‬ ‫همیشه‬ :‫نوت‬coding‫درینصورت‬ ‫که‬ .‫نمایید‬
(forward engineering‫واگراوال‬ ‫میشود‬ ‫نامیده‬ )coding‫ر‬ ‫دیاگرام‬ ‫وسپس‬ ‫شود‬‫نام‬ ‫به‬ ‫عملیه‬ ‫این‬ ‫گردد‬ ‫سم‬reverse
engineering.‫یادمیگردد‬
2.Package Diagram
‫از‬ ‫بخش‬ ‫یک‬ ‫حقیقت‬ ‫در‬ ‫دیاگرام‬ ‫این‬class diagram‫که‬ ‫باشد‬ ‫می‬‫مورد‬ ‫عمل‬ ‫یک‬ ‫تکمیل‬ ‫منظور‬ ‫به‬ ‫که‬ ‫کالسی‬ ‫چندین‬
‫بسته‬ ‫یک‬ ‫در‬ ‫میگیرند‬ ‫قرار‬ ‫استفاده‬(package‫که‬ .‫میگیرند‬ ‫قرار‬ )‫بعضا‬developer‫ساد‬ ‫برای‬ ‫ها‬‫بهتر‬ ‫وارایه‬ ‫سازی‬ ‫ه‬
‫سیستم‬ ‫عناصر‬ ‫بین‬ ‫ارتباطات‬‫؛‬‫عن‬‫ا‬( ‫صر‬element( ‫ها‬ ‫بسته‬ ‫شکل‬ ‫وبه‬ ‫وبندی‬ ‫دسته‬ ‫را‬ )package)‫میدهند.قرار‬ ‫نمایش‬ ‫ها‬
:‫ذیل‬ ‫شکل‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
24 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
3.Use Case Diagram
‫یک‬ ‫استفاده‬ ‫طرق‬ ‫و‬ ‫کار‬ ‫روش‬ ‫چگونگی‬ ‫دیاگرام‬ ‫این‬actor‫که‬ ‫میسازد‬ ‫واضح‬ ‫دیاگرام‬ ‫این‬ ‫یعنی‬ .‫میدهد‬ ‫نشان‬ ‫را‬ ‫سیستم‬ ‫از‬
actor‫و‬ ‫شده‬ ‫تماس‬ ‫به‬ ‫سیستم‬ ‫با‬ ‫چگونه‬functionality‫وانفعال‬ ‫فعل‬ ‫به‬ ‫نظر‬ ‫سیستم‬user.‫میباشد‬ ‫چی‬‫از‬ ‫ومتشکل‬actor
‫و‬ ‫ها‬use case.‫باشد‬ ‫می‬ ‫ها‬
‫که‬ ‫میتوانیم‬ ‫گفته‬ ‫فوق‬ ‫شکل‬ ‫به‬ ‫نظر‬use case‫نام‬ ‫از‬ ‫عبارت‬ ‫دیاگرام‬actors‫نام‬ ‫همرای‬interaction‫میخواهد‬ ‫که‬ ‫یاعمل‬
‫و‬ ‫دهد‬ ‫انجام‬interaction type.‫میباشد‬
4.State chart Diagram
state chart diagram‫نام‬ ‫به‬ ‫که‬sequence diagram‫در‬ ‫هارا‬ ‫کالس‬ ‫بین‬ ‫ارتباط‬ ‫که‬ ‫است‬ ‫دیاگرام‬ ‫میگردد‬ ‫یاد‬ ‫نیز‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
25 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫دیاگرام‬ ‫این‬ ‫یعنی‬ .‫میدهد‬ ‫نشان‬ ‫مختلف‬ ‫مراحل‬state‫به‬ ‫نظر‬ ‫را‬ ‫سیستم‬ ‫مختلف‬ ‫حاالت‬ ‫یا‬ ‫ها‬interaction‫های‬user
‫میک‬ ‫تشریح‬.‫بگیرد‬ ‫بخود‬ ‫را‬ ‫حالتی‬ ‫چه‬ ‫باید‬ ‫سیستم‬ ‫وقت‬ ‫چه‬ ‫واینکه‬ .‫ند‬
0.Activity diagram
‫ف‬ ‫از‬ ‫عبارت‬ ‫دیاگرام‬ ‫این‬‫ل‬‫یک‬ ‫از‬ ‫رفتن‬ ‫جریان‬ ‫که‬ ‫است‬ ‫وچارتی‬activity‫به‬activity.‫میگذارد‬ ‫نمایش‬ ‫به‬ ‫سیستم‬ ‫در‬ ‫دیگررا‬
‫دینامیک‬ ‫جنبهء‬ ‫دیاگرام‬ ‫این‬ ‫در‬ ‫یعنی‬‫شده‬ ‫ترسیم‬ ‫ویررا‬ ‫سافت‬ ‫یک‬ ‫ی‬‫درآن‬( ‫عملیات‬operation)‫در‬‫بررسی‬ ‫هایی‬ ‫کالس‬
( ‫کاری‬ ‫جریان‬ ‫دادن‬ ‫نشان‬ ‫برای‬ ‫دیاگرام‬ ‫این‬ ‫عادی‬ ‫بصورت‬ .‫میگردد‬ ‫سیستم‬ ‫حالت‬ ‫تغییر‬ ‫باعث‬ ‫که‬ ‫میگردد‬work flow، )
business process( ‫سیستم‬ ‫یک‬ ‫داخلی‬ ‫عملیات‬ ‫و‬internal operation).‫میگردد‬ ‫استفاده‬
‫این‬‫انواع‬ ‫از‬ ‫مختصری‬ ‫شرح‬ ‫بود‬UML Diagram‫که‬ ،.‫میدهیم‬ ‫قرار‬ ‫مطالعه‬ ‫مورد‬ ‫تفصیل‬ ‫به‬ ‫آنرا‬ ‫نوع‬ ‫هر‬ ‫ما‬
UML Drawing tools
‫ترسیم‬ ‫برای‬ ‫زیادی‬ ‫های‬ ‫پروگرام‬UML Diagrams:‫از‬ ‫اند‬ ‫عبارت‬ ‫آن‬ ‫مشهور‬ ‫نوع‬ ‫چند‬ ‫که‬ ‫میگردد‬ ‫استفاده‬
UMLet
http://www.umlet.com
LucidChart
https://www.lucidchart.com
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
26 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
ArgoUML
http://argouml.tigris.org/
Use Case Diagram
‫کردیم‬ ‫اشاره‬ ‫هم‬ ‫قبال‬ ‫همانطوریکه‬use case diagram‫مهم‬ ‫بسیار‬ ‫های‬ ‫دیاگرام‬ ‫از‬ ‫یکی‬UML‫ونمایش‬ ‫ه‬ٔ‫ی‬‫ارا‬ ‫منظور‬ ‫به‬ ‫که‬ ‫باشد‬ ‫می‬
dynamic behavior( .‫میگیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫سیستم‬ ‫یک‬dynamic behavior‫ا‬ ‫عبارت‬‫ز‬behavior‫درحالت‬ ‫سیستم‬ ‫هایی‬
‫نمایش‬ ‫و‬ )‫باشد‬ ‫می‬ ‫اجرا‬dynamic behavior‫به‬ ‫نسبت‬static behavior‫از‬ ‫مختلفی‬ ‫مقاصد‬ ‫به‬ ‫آن‬ ‫از‬ ‫که‬ ‫است‬ ‫وحیاتی‬ ‫مهم‬ ‫بسیار‬
:‫قبیل‬
‫سیستم‬ ‫یک‬ ‫ضروریات‬ ‫آوری‬ ‫جمع‬
( ‫بیرونی‬ ‫نمای‬ ‫یک‬ ‫دیزاین‬outside view‫سیستم‬ ‫یک‬ )
‫با‬ ‫که‬ ‫وداخلی‬ ‫خارجی‬ ‫های‬ ‫فکتور‬ ‫شناسایی‬.‫میکنند‬ ‫اثر‬ ‫سیستم‬ ‫الی‬
‫نمایش‬interaction‫یاهم‬ ‫و‬ ‫ضروریات‬ ‫بین‬ ‫انفعال‬ ‫فعل‬ ‫و‬actors.‫ها‬
Part of Use Case
Use case Diagram‫از‬ ‫متشکل‬actor, use case‫و‬association.‫باشد‬ ‫می‬‫که‬actor‫سیستم‬ ‫یا‬ ‫و‬ ‫اشخاص‬ ‫شامل‬ ‫میتواند‬ ‫ها‬
‫وبه‬ ‫میکند‬ ‫برقرار‬ ‫ارتباط‬ ‫سیستم‬ ‫با‬ ‫که‬ ‫باشد‬ ‫دیگری‬‫ترتیب‬ ‫همین‬use case‫از‬ ‫عبارت‬functionality‫و‬association‫و‬ ‫ارتباط‬ ‫نحو‬
communication‫با‬ ‫را‬ ‫اکتور‬use case.‫میدهد‬ ‫نشان‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
27 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫ترسیم‬ ‫طریقهء‬use case diagrams
‫ترسیم‬ ‫برای‬use case diagram‫باید‬ ‫اوال‬actor، ‫ها‬functionality‫و‬ ‫ها‬association‫ستاندارد‬ ‫از‬ ‫وسپس‬ .‫گردد‬ ‫مشخص‬‫ها‬
.‫کنیم‬ ‫استفاده‬ ‫باید‬ ‫ارتباط‬ ‫نوع‬ ‫هر‬ ‫و‬ ‫هرکدام‬ ‫نمایش‬ ‫برای‬
Type of relationships
1.Generalization (inheritance):‫شده‬ ‫اضافه‬ ‫اصلی‬ ‫سیستم‬ ‫از‬ ‫بخش‬ ‫یک‬ ‫به‬ ‫اضافی‬ ‫ویژگیهای‬ ‫و‬ ‫ها‬ ‫بخش‬ ‫که‬ ‫معنی‬ ‫بدین‬
‫یعنی‬ .‫باشد‬case‫درآن‬ ‫که‬ ‫عمومی‬feature‫در‬ ‫وباید‬ .‫میگردد‬ ‫اضافه‬ ‫جدید‬ ‫هایی‬use case diagram‫نشان‬ ‫ذیل‬ ‫شکل‬ ‫به‬
.‫شود‬ ‫داده‬
2.Extends‫ارتباط‬ ‫هم‬ ‫بین‬ ‫ندرت‬ ‫به‬ ‫بسیار‬ ‫که‬ ‫است‬ ‫دوپراسهء‬ ‫بین‬ ‫ارتباط‬ :‫ودر‬ .‫میکنند‬ ‫برقرار‬use case diagram‫شکل‬ ‫به‬
.‫میشود‬ ‫داده‬ ‫نمایش‬ ‫ذیل‬
3.Include‫ویاچندین‬ ‫دو‬ ‫زمانیکه‬ :use case‫دارای‬behavior‫این‬ ‫باشند‬ ‫مشابه‬ ‫های‬behavior‫های‬‫یک‬ ‫به‬ ‫را‬ ‫مشابه‬
use case‫تمام‬ ‫سپس‬ ‫و‬ ‫میکنیم‬ ‫تبدیل‬ ‫جدید‬use case‫همان‬ ‫ها‬use case‫را‬ ‫مشترک‬include‫آن‬ ‫پهلوی‬ ‫در‬ ‫و‬ ‫میکنند‬
‫و‬ ‫خواص‬ ‫میتوانند‬behavior.‫باشند‬ ‫داشته‬ ‫نیز‬ ‫را‬ ‫خودشان‬ ‫خاص‬ ‫های‬‫و‬use case‫با‬ ‫مشترک‬ ‫های‬use case‫اصلی‬ ‫های‬
.‫نماید‬ ‫می‬ ‫کار‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
28 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫یک‬ ‫در‬ ‫ممکنه‬ ‫حاالت‬use case diagram.‫است‬ ‫شده‬ ‫واضح‬ ‫ذیل‬ ‫اشکال‬ ‫در‬
1.‫یک‬ ‫ارتباط‬user‫یک‬ ‫با‬ ‫همراه‬use case.‫میشود‬ ‫داده‬ ‫نمایش‬ ‫ذیل‬ ‫طور‬
2.‫یک‬ ‫ارتباط‬user‫باچندین‬use case.‫میشود‬ ‫داده‬ ‫نمایش‬ ‫ذیل‬ ‫طور‬
3.Generalization‫بین‬Cms Admin‫و‬User‫هر‬ ‫میدانیم‬ ‫طوریکه‬Admin‫بازهم‬user.‫میشود‬ ‫شمرده‬
4.Generalization‫بین‬Cms admin،Customer‫و‬Agent‫با‬ ‫همراه‬User‫هر‬ ‫میدانیم‬ ‫طوریکه‬customer, agent‫و‬
Cms admin‫یک‬user‫حقیقت‬ ‫در‬ ‫درینجا‬ ‫شود‬ ‫می‬ ‫شمرده‬User‫یک‬general case‫و‬ ‫مشخصات‬ ‫که‬ ‫میشود‬ ‫شمرده‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
29 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
behavior‫سه‬case.‫میباشد‬ ‫دارا‬ ‫را‬ ‫دیگر‬
0.‫رابطهء‬extends‫سه‬ ‫در‬use case‫نام‬ ‫به‬login, reminder‫و‬register‫پراسهء‬ ‫در‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬Login‫کم‬ ‫بسیار‬
‫بخواهیم‬ ‫که‬ ‫افتد‬ ‫می‬ ‫اتفاق‬‫های‬ ‫پراسه‬ ‫از‬ ‫که‬request password reminder‫هم‬ ‫ویا‬register.‫کنیم‬ ‫استفاده‬
6.‫رابطهء‬include‫بین‬register‫و‬confirm register.
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
30 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
7.‫است‬ ‫قابل‬ ‫اجزای‬ ‫تمام‬ ‫هم‬ ‫ذیل‬ ‫وشلک‬‫در‬ ‫فاده‬use case diagram.‫میدهد‬ ‫نشان‬ ‫را‬
‫ذیل‬ ‫شکل‬ ‫قرار‬use case diagram‫یک‬ATM Machine.‫است‬ ‫گردیده‬ ‫ترسیم‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
31 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
32 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Class Diagram
‫نام‬ ‫به‬ ‫که‬ ‫دیاگرام‬ ‫کالس‬structural diagram‫که‬ ‫است‬ ‫ازدیاگرام‬ ‫عبارت‬ ‫میشود‬ ‫نامیده‬ ‫نیز‬static view‫نشان‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫یک‬
‫مید‬ ‫نشان‬ ‫یعنی‬ ‫میدهد‬‫کدام‬ ‫شامل‬ ‫ها‬ ‫کالس‬ ‫که‬ ‫هد‬attributes‫و‬ ‫ها‬behavior‫دیاگرام‬ ‫این‬ .‫دارند‬ ‫ارتباط‬ ‫هم‬ ‫بین‬ ‫وچطور‬ ‫باشند‬ ‫می‬ ‫ها‬
:‫قبیل‬ ‫از‬ ‫مختلفی‬ ‫مقاصد‬ ‫به‬
Visualize‫ویر‬ ‫سافت‬ ‫یک‬ ‫ثابت‬ ‫شکل‬ ‫کردن‬
( ‫تشریح‬describe‫ویر‬ ‫سافت‬ ‫مختلف‬ ‫های‬ ‫قسمت‬ )
Document‫ویر‬ ‫سافت‬ ‫کردن‬
‫ساختن‬executable code‫اپلیک‬ ‫یک‬.‫میشود‬ ‫استفاده‬ ‫وغیره‬ ‫یشن‬
( ‫مشخصات‬ ‫دیاگرام‬ ‫این‬Attribute( ‫اعمال‬ ‫و‬ )behavior)‫بسیار‬ ‫به‬ ‫ها‬ ‫کالس‬ ‫دیاگرام‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫که‬ ‫نموده‬ ‫واضح‬ ‫را‬ ‫ها‬ ‫کالس‬
( ‫گرا‬ ‫شی‬ ‫نویسی‬ ‫پروگرام‬ ‫های‬ ‫لسان‬ ‫به‬ ‫آسانی‬Object Oriented Programming language)( ‫تطبیق‬map).‫میگردد‬‫وهمچنان‬
‫کال‬ ‫در‬( ‫محدودیات‬ ‫دیاگرام‬ ‫س‬constraints.‫است‬ ‫شامل‬ ‫نیز‬ ‫ها‬ )
:‫از‬ ‫عبارتند‬ ‫که‬ ‫اند‬ ‫شامل‬ ‫مختلفی‬ ‫اجزای‬ ‫دیاگرام‬ ‫کالس‬ ‫ترسیم‬ ‫در‬ ‫که‬ ‫میتوانیم‬ ‫گفته‬ ‫پس‬
‫ها‬ ‫کالس‬
‫ها‬ ‫انترفس‬
Association‫(ارتباطات‬)
Collaboration)‫ها‬ ‫کالس‬ ‫بین‬ ‫ها‬ ‫همکاری‬ (
Constraints) ‫(محدودیات‬
‫دیاگرام‬ ‫کالس‬ ‫اهداف‬
‫د‬‫تحلیل‬ ‫و‬ ‫یزاین‬static view‫تنها‬ ‫یعنی‬ .‫ویر‬ ‫سافت‬ ‫یک‬component‫نشان‬ ‫دیاگرام‬ ‫کالس‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫میتوانیم‬ ‫هارا‬
.‫دهیم‬
‫سیستم‬ ‫مسئولیات‬ ‫تشریح‬
Forward engineering and reverse engineering‫را‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫دیاگرام‬ ‫کالس‬ ‫روی‬ ‫از‬ ‫میتوانیم‬ ‫اینکه‬ ‫یعنی‬
develop‫حالت‬ ‫درین‬ ‫که‬ ‫کنیم‬forward engineering‫روی‬ ‫از‬ ‫میتوانیم‬ ‫وهم‬ ‫یادمیگردد‬code‫را‬ ‫دیاگرام‬ ‫کالس‬ ‫ها‬
‫نام‬ ‫به‬ ‫حالت‬ ‫این‬ ‫که‬ ‫کنیم‬ ‫ترسیم‬reverse engineering.‫یادمیگردد‬
.‫بگیریم‬ ‫نظر‬ ‫مد‬ ‫را‬ ‫ذیل‬ ‫نکات‬ ‫باید‬ ‫دیاگرام‬ ‫کالس‬ ‫ترسیم‬ ‫درزمان‬
‫ب‬ ‫یعنی‬ ‫باشند‬ ‫میکنند‬ ‫که‬ ‫کارهای‬ ‫کنندهء‬ ‫واضح‬ ‫باید‬ ‫ها‬ ‫کالس‬ ‫های‬ ‫نام‬.‫باشند‬ ‫مفهوم‬ ‫با‬ ‫و‬ ‫معنی‬ ‫ا‬
.‫شود‬ ‫مشخص‬ ‫باید‬ ‫کالس‬ ‫اجزای‬ ‫و‬ ‫کالس‬ ‫ارتباطات‬
( ‫سیستم‬ ‫مسؤلیات‬attributes‫و‬methods).‫گردند‬ ‫معرفی‬ ‫واضح‬ ‫شکل‬ ‫به‬ ‫هاباید‬
‫تنها‬ ‫دیاگرام‬ ‫شدن‬ ‫پیچیده‬ ‫از‬ ‫جلوگیری‬ ‫برای‬properties‫و‬method‫نشان‬ ‫واز‬ ‫میدهیم‬ ‫نشان‬ ‫را‬ ‫کالس‬ ‫یک‬ ‫اساسی‬ ‫های‬
‫افعا‬ ‫و‬ ‫مشخصات‬ ‫دادن‬‫میکنیم‬ ‫نظر‬ ‫صرف‬ ‫دیاگرام‬ ‫در‬ ‫اضافی‬ ‫ل‬
.‫شود‬ ‫مشخص‬ ‫باید‬ ‫کالس‬ ‫وظیفهء‬ ‫و‬ ‫هدف‬ ، ‫نوع‬
.‫شود‬ ‫آورده‬ ‫الزم‬ ‫اصالحات‬ ‫تا‬ ‫گیرد‬ ‫صورت‬ ‫کار‬ ‫بار‬ ‫چندین‬ ‫آن‬ ‫باالی‬ ‫طوریکه‬ ‫گردد‬ ‫ترسیم‬ ‫ورق‬ ‫روی‬ ‫به‬ ‫باید‬ ‫دیاگرام‬
‫میتوانیم؟‬ ‫نموده‬ ‫ترسیم‬ ‫را‬ ‫دیاگرام‬ ‫کالس‬ ‫چگونه‬
‫ا‬ ‫که‬ ‫است‬ ‫الزم‬ ‫دیاگرام‬ ‫کالس‬ ‫ترسیم‬ ‫برای‬.‫بدانیم‬ ‫آنهارا‬ ‫نمایش‬ ‫وطرز‬ ‫دیاگرام‬ ‫کالس‬ ‫اجزای‬ ‫تمام‬ ‫وال‬
:‫از‬ ‫متشکل‬ ‫هرکالس‬ ‫که‬ ‫باشد‬ ‫می‬ ‫دیاگرام‬ ‫کالس‬ ‫از‬ ‫مهم‬ ‫بخش‬ ‫یک‬ :‫ها‬ ‫کالس‬
‫کالس‬ ‫نام‬
( ‫مشخصات‬attributes‫نام‬ ‫به‬ ‫درجاوا‬ ‫که‬ :)field.‫میشود‬ ‫یاد‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
33 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
( ‫افعال‬operation or behavior).‫یادمیگردد‬ ‫ها‬ ‫متود‬ ‫نام‬ ‫به‬ ‫جاوا‬ ‫در‬ ‫که‬
Association:‫طورذیل‬ ‫باشد‬ ‫می‬ ‫دوکالس‬ ‫بین‬ ‫ارتباط‬ ‫نشاندهندهء‬ ‫دیاگرام‬ ‫کالس‬ ‫در‬ :
Role‫یک‬ ‫فوقانی‬ ‫قسمت‬ ‫به‬ ‫که‬ ‫است‬ ‫متنی‬ :association‫میتوانیم‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫وبا‬ .‫میسازد‬ ‫واضح‬ ‫را‬ ‫ارتباط‬ ‫وهدف‬ ‫میگردد‬ ‫نوشته‬
association.‫کنیم‬ ‫فرق‬ ‫را‬ ‫کالس‬ ‫یک‬ ‫های‬
Multiplicity‫شود‬ ‫واضح‬ ‫باید‬ :‫چند‬ ‫کالس‬ ‫یک‬ ‫که‬object‫های‬ ‫انجام‬ ‫در‬ ‫ها‬ ‫نمبر‬ ‫توسط‬ ‫واین‬ ‫داشته؟‬ ‫میتواند‬ ‫را‬ ‫دومی‬ ‫کالس‬
association‫چند‬ ‫همزمان‬ ‫یعنی‬ .‫میگردد‬ ‫واضح‬object‫منحیث‬ ‫میتواند‬ ‫کالس‬ ‫یک‬instance field‫استفاده‬ ‫دیگری‬ ‫کالس‬ ‫در‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
34 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫یک‬ ‫تنها‬ ‫که‬ ‫درصورت‬ .‫گردد‬instance‫انجام‬ ‫در‬ ‫میتوانست‬ ‫داشته‬association(1‫بینهایت‬ ‫درصورتیکه‬ ‫و‬ )instance‫داشته‬
‫درانجام‬ ‫میتوانست‬association( ‫از‬*:‫مثال‬ .‫میکنیم‬ ‫استفاده‬ )‫هر‬ ‫که‬ ‫میدهد‬ ‫نشان‬ ‫ذیل‬ ‫دیاگرام‬ ‫در‬flight‫یک‬ ‫تنها‬plane‫داشته‬
‫چندین‬ ‫میتواند‬ ‫پرواز‬ ‫هر‬ ‫برعکس‬ ‫و‬ ‫میتواند‬flight.‫باشد‬ ‫داشته‬
‫که‬ ‫ممکنهء‬ ‫های‬ ‫قیمت‬ ‫از‬ ‫بعضی‬ ‫ذیل‬ ‫جدول‬multiplicity.‫باشد‬ ‫می‬ ‫میکند‬ ‫واضح‬ ‫را‬
Association type in class diagram
Inheritance‫بعضی‬ ‫کالس‬ ‫یک‬ ‫که‬ ‫است‬ ‫حالت‬ :attribute‫و‬ ‫ها‬operation‫ارث‬ ‫دیگربه‬ ‫کالس‬ ‫از‬ ‫خودرا‬ ‫های‬
‫میگیرند‬.( ‫نام‬ ‫به‬ ‫را‬ ‫اولی‬ ‫کالس‬ ‫حالت‬ ‫درین‬ ‫که‬sub class or child class‫نام‬ ‫به‬ ‫را‬ ‫دومی‬ ‫کالس‬ ‫و‬ )(super class or
parent class)‫البته‬ .‫میکنند‬ ‫یاد‬child class‫را‬ ‫خودش‬ ‫خاص‬ ‫خصوصیات‬ ‫میتواند‬ ‫گرفته‬ ‫ارث‬ ‫به‬ ‫خصوصیات‬ ‫پهلوی‬ ‫در‬
.‫باشد‬ ‫داشته‬ ‫نیز‬‫کلیدی‬ ‫کلمهء‬ ‫استعمال‬ ‫با‬ ‫درجاوا‬extends‫کالس‬ ‫دو‬ ‫رابین‬ ‫رابطه‬ ‫این‬ ‫میتوانیم‬ ‫کالس‬ ‫تعریف‬ ‫زمان‬ ‫در‬
.‫کنیم‬ ‫برقرار‬‫دیاگرام‬ ‫کالس‬ ‫ودر‬inheritance:‫میشود.مثال‬ ‫داده‬ ‫نمایش‬ ‫ذیل‬ ‫طور‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
35 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫که‬ ‫میتوانیم‬ ‫گفته‬BMW‫و‬ ‫مشخصات‬Operation‫کالس‬ ‫های‬car.‫است‬ ‫گرفته‬ ‫ارث‬ ‫به‬ ‫را‬
Aggregation:‫یاچندین‬ ‫و‬ ‫یک‬ ‫زمانیکه‬Object‫نام‬ ‫به‬ ‫حالت‬ ‫این‬ ‫شود‬ ‫استفاده‬ ‫دومی‬ ‫کالس‬ ‫در‬ ‫فیلد‬ ‫منحیث‬ ‫کالس‬ ‫یک‬
aggregation.‫میگردد‬ ‫یاد‬‫کلی‬ ‫کالس‬ ‫یک‬ ‫یعنی‬(whole)‫چندین‬ ‫میتاند‬object.‫باشد‬ ‫داشته‬ ‫را‬ ‫دیگری‬ ‫کالس‬ ‫از‬
Composition aggregation‫از‬ ‫شکل‬ ‫یک‬ ‫درحقیقت‬ ‫هم‬ ‫رابطه‬ ‫این‬ :aggregation‫یک‬ ‫میتواند‬ ‫کالس‬ ‫یک‬ ‫که‬ ‫میباشد‬
‫ایجاد‬ ‫با‬ ‫که‬ ‫است‬ ‫طوری‬ ‫آنها‬ ‫ارتباط‬ ‫ولی‬ ‫باشد‬ ‫داشته‬ ‫درخود‬ ‫را‬ ‫دیگر‬ ‫کالس‬object، ‫اولی‬ ‫کالس‬object‫دو‬ ‫کالس‬‫نیز‬ ‫می‬
‫شدن‬ ‫ایجاد‬ ‫یعنی‬ .‫میگردد‬ ‫ایجاد‬ ‫بخود‬ ‫خود‬object‫شدن‬ ‫ایجاد‬ ‫به‬ ‫وابسته‬ ‫کالس‬ ‫یک‬object‫درجاوا‬ ‫و‬ .‫است‬ ‫دیگری‬ ‫کالس‬
‫باید‬ ‫ارتباط‬ ‫نوع‬ ‫این‬ ‫برقراری‬ ‫برای‬object‫در‬ ‫کالس‬ ‫یک‬constructor‫ایجاد‬ ‫محض‬ ‫به‬ ‫تا‬ ‫گردد‬ ‫ایجاد‬ ‫دومی‬ ‫کالس‬
object‫دومی‬ ‫کالس‬constructor‫نیز‬ ‫آن‬call‫شده‬‫و‬object‫کمپنی‬ ‫هر‬ ‫میدانیم‬ ‫مثال‬ ‫بطور‬ .‫گردد‬ ‫ایجاد‬ ‫نیز‬ ‫دومی‬ ‫کالس‬
.‫باشد‬ ‫می‬ ‫دیپارتمنت‬ ‫یک‬ ‫حداقل‬ ‫دارای‬ ‫افتیدن‬ ‫کار‬ ‫به‬ ‫و‬ ‫شدن‬ ‫ایجاد‬ ‫محض‬ ‫به‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
36 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Interfaces:‫از‬ ‫عبارت‬ ‫درحقیقت‬ ‫ها‬ ‫انترفس‬ ‫و‬ ‫باشد‬ ‫شامل‬ ‫نیز‬ ‫ها‬ ‫انترفس‬ ‫باید‬ ‫دیاگرام‬ ‫کالس‬ ‫یک‬ ‫در‬ ، ‫ارتباطات‬ ‫و‬ ‫ها‬ ‫برکالس‬ ‫افزون‬
‫تفاهم‬‫از‬ ‫پیروی‬ ‫مجبوربه‬ ‫میکنند‬ ‫استفاده‬ ‫انترفس‬ ‫ازیک‬ ‫که‬ ‫هایی‬ ‫وکالس‬ .‫نماید‬ ‫پیروی‬ ‫آن‬ ‫از‬ ‫باید‬ ‫ها‬ ‫کالس‬ ‫که‬ ‫است‬ ‫قوانین‬ ‫ویا‬ ‫نامه‬
‫کلیدی‬ ‫کلمهء‬ ‫استعمال‬ ‫با‬ ‫میتوانیم‬ ‫ودرجاوا‬ .‫میباشند‬ ‫انترفس‬ ‫در‬ ‫شده‬ ‫وضع‬ ‫قوانین‬implements‫از‬ ‫پیروی‬ ‫به‬ ‫مجبور‬ ‫را‬ ‫کالس‬ ‫یک‬
.‫نماییم‬ ‫مشخص‬ ‫انترفس‬
‫ه‬ ‫وانترفس‬.‫باشند‬ ‫داشته‬ ‫ارتباط‬ ‫مختلف‬ ‫انواع‬ ‫به‬ ‫میتوانند‬ ‫کالس‬ ‫همانند‬ ‫انیز‬
.‫میدهد‬ ‫نشان‬ ‫آموزشی‬ ‫مرکز‬ ‫یک‬ ‫شاگردان‬ ‫و‬ ‫استادان‬ ‫برای‬ ‫را‬ ‫دیاگرام‬ ‫کالس‬ ‫یک‬ ‫ذیل‬ ‫شکل‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
37 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Object Diagram
‫درمادلینگ‬‫من‬ ‫به‬ ‫اوقات‬ ‫بعضی‬ ‫سیستم‬‫جالبتر‬ ‫و‬ ‫بهتر‬ ‫ارایهء‬ ‫ظور‬‫معلومات‬،‫دادن‬ ‫نشان‬instance‫ویا‬object‫روی‬ ‫کالس‬ ‫یک‬
‫یک‬ ‫با‬ ‫چون‬ .‫است‬ ‫موثر‬ ‫بسیار‬ ‫دیاگرام‬object‫ها‬ ‫دیاگرام‬ ‫روی‬ ‫جالبتر‬ ‫و‬ ‫بهتر‬ ‫شکل‬ ‫به‬ ‫را‬ ‫معلومات‬ ‫میتوانیم‬ ‫ما‬ ‫کالس‬ ‫یک‬ ‫واقعی‬
‫نام‬ ‫به‬ ‫هارا‬ ‫دیاگرام‬ ‫نوع‬ ‫این‬ ‫که‬ .‫دهیم‬ ‫نمایش‬object diagram.‫میکنند‬ ‫یاد‬
Object diagram‫ارتبا‬ ‫وتمام‬ ‫دارد‬ ‫دیاگرام‬ ‫کالس‬ ‫به‬ ‫زیادی‬ ‫شباهت‬‫و‬ ‫طات‬notation‫فرق‬ ‫وتنها‬ ‫باشد‬ ‫می‬ ‫دیاگرام‬ ‫کالس‬ ‫به‬ ‫مشابه‬ ‫ها‬
‫در‬ ‫که‬ ‫میباشد‬ ‫کالس‬ ‫نام‬ ‫قسمت‬ ‫در‬ ‫آن‬object diagram، ‫کالس‬ ‫نام‬ ‫جای‬ ‫به‬‫اوال‬‫نام‬object‫نام‬ ‫آن‬ ‫تعقیب‬ ‫به‬ ‫و‬class‫آنرا‬ ‫مربوطهء‬
.‫میگیریم‬:‫مثال‬
Package Diagram
‫ها‬ ‫کالس‬ ‫بودن‬ ‫زیاد‬ ‫درصورت‬ ‫گفتیم‬ ‫قبال‬ ‫همانطوریکه‬‫در‬ ‫آنها‬ ‫همهء‬ ‫نمایش‬ ‫طوریکه‬‫کالس‬‫شود‬ ‫سردرگمی‬ ‫باعث‬ ‫دیاگرام‬‫از‬ ‫ما‬
package diagram‫های‬ ‫وجه‬ ‫هم‬ ‫ویا‬ ‫عملیات‬ ‫به‬ ‫نظر‬ ‫را‬ ‫ها‬ ‫کالس‬ ‫و‬ ‫رفته‬ ‫قبل‬ ‫مرحله‬ ‫یک‬ ‫هم‬ ‫آن‬ ‫ترسیم‬ ‫برای‬ ‫که‬ .‫میکنیم‬ ‫استفاده‬
‫نام‬ ‫به‬ ‫را‬ ‫دسته‬ ‫هر‬ ‫نماییم.که‬ ‫می‬ ‫بندی‬ ‫دسته‬ ‫شان‬ ‫مشترک‬(package)‫د‬ ‫این‬ ‫وسپس‬ .‫میکنند‬ ‫یاد‬‫نشان‬ ‫دیاگرام‬ ‫در‬ ‫دیگر‬ ‫باهم‬ ‫هارا‬ ‫سته‬
.‫است‬ ‫شده‬ ‫داده‬ ‫نشان‬ ‫آن‬ ‫شکل‬ ‫دو‬ ‫هر‬ ‫ذیال‬ ‫که‬ .‫میگردد‬ ‫ترسیم‬ ‫شکل‬ ‫دو‬ ‫وبه‬ ‫میدهیم‬
‫میتوانیم‬ ‫ویاهم‬package.‫دهیم‬ ‫ارتباط‬ ‫ذیل‬ ‫شکل‬ ‫به‬ ‫هارا‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
38 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Activity Diagram
‫که‬ ‫باشد‬ ‫می‬ ‫مادلینگ‬ ‫برای‬ ‫مهم‬ ‫های‬ ‫دیاگرام‬ ‫از‬ ‫یکی‬‫ترسیم‬ ‫برای‬Activity( ‫ها‬operation‫یک‬ ‫از‬ ‫رفتن‬ ‫وجریان‬ ‫سیستم‬ ‫یک‬ ‫های‬ )
Activity‫به‬activity.‫میگردد‬ ‫استفاده‬ ‫بعدی‬‫یعنی‬activity diagram‫که‬ ‫است‬ ‫فلوچارتی‬ ‫حقیقت‬ ‫در‬activity‫را‬ ‫سیستم‬ ‫یک‬ ‫های‬
‫و‬ ‫داده‬ ‫نشان‬‫از‬ ‫رفتن‬ ‫ترتیب‬activity‫به‬ ‫را‬Activity‫هر‬ ‫که‬ .‫میگذارد‬ ‫نمایش‬ ‫به‬ ‫را‬ ‫دیگر‬activity‫فنکشن‬ ‫میتواند‬‫ویا‬Operation
( ‫اجرا‬ ‫درحالت‬ ‫سیستم‬ ‫که‬ ‫باشد‬dynamic.‫میدهد‬ ‫انجام‬ ‫و‬ ‫داشته‬ ‫آنرا‬ )
‫است‬ ‫ممکن‬ ‫سیستم‬ ‫دریک‬operation‫یا‬ ‫ها‬activity‫در‬ ‫ماباید‬ ‫آنرا‬ ‫هرنوع‬ ‫که‬ ‫یابد‬ ‫انجام‬ ‫همزمان‬ ‫و‬ ‫منشعب‬ ، ‫پیهم‬ ‫بصورت‬ ‫ها‬
activity diagram.‫کنیم‬ ‫مشخص‬
Activity diagram‫میگر‬ ‫ترسیم‬ ‫ذیل‬ ‫مقاصد‬ ‫به‬:‫دد‬
‫ویر‬ ‫سافت‬ ‫یک‬ ‫کار‬ ‫جریان‬ ‫دادن‬ ‫نشان‬
‫یک‬ ‫از‬ ‫که‬ ‫کنیم‬ ‫تعیین‬ ‫میتوانیم‬ ‫یعنی‬ ( .‫بعدی‬ ‫پراسه‬ ‫به‬ ‫پراسه‬ ‫یک‬ ‫از‬ ‫آن‬ ‫وانتقال‬ ‫کار‬ ‫جریان‬ ‫ترتیب‬activity‫کدام‬ ‫به‬
activity.)‫میتوانیم‬ ‫رفته‬ ‫شرایطی‬ ‫چه‬ ‫تحت‬ ‫و‬ ‫دیگر‬ ‫های‬
‫تشریح‬activity‫میروند‬ ‫پیش‬ ‫به‬ ‫موازی‬ ‫ویاهم‬ ‫منشعب‬ ، ‫همزمان‬ ‫که‬ ‫های‬.
Activity diagram.‫کنیم‬ ‫استفاده‬ ‫ذیل‬ ‫جاهای‬ ‫در‬ ‫میتوانیم‬ ‫را‬
Modeling‫از‬ ‫استفاده‬ ‫با‬ ‫ها‬ ‫کار‬ ‫جریان‬ ‫سازی‬ ‫ویاقالب‬activity‫ها‬
Modeling‫نمودن‬business requirements‫آن‬ ‫بررسی‬ ‫و‬ ‫تحقیق‬ ،
‫سیستم‬ ‫یک‬ ‫های‬ ‫کارکرد‬ ‫بهتر‬ ‫دانستن‬
‫ترسیم‬activity diagram
‫ترسیم‬ ‫برای‬activity diagram:‫از‬ ‫عبارتند‬ ‫که‬ .‫باشیم‬ ‫داشته‬ ‫آشنایی‬ ‫آنان‬ ‫نمایش‬ ‫چگونگی‬ ‫و‬ ‫آن‬ ‫اجزای‬ ‫با‬ ‫باید‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
39 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Activity‫ویا‬ ‫فنکشن‬ ‫از‬ ‫عبارت‬ :operation.‫میشود‬ ‫داده‬ ‫نشان‬ ‫ذیل‬ ‫شکل‬ ‫وبه‬ .‫میشود‬ ‫داده‬ ‫انجام‬ ‫سیستم‬ ‫توسط‬ ‫که‬ ‫است‬
Initial node‫ق‬ ‫آن‬ ‫از‬ ‫سیستم‬ ‫اول‬ ‫بار‬ ‫که‬ ‫میباشد‬ ‫سیستم‬ ‫یک‬ ‫شروع‬ ‫ویا‬ ‫آغاز‬ ‫نقطهء‬ :‫میان‬ ‫دایرهء‬ ‫توسط‬ ‫و‬ ‫میکند‬ ‫شروع‬ ‫سمت‬
.‫میشود‬ ‫داده‬ ‫نشان‬ ‫پر‬
Final Node:‫ختم‬activity.‫میشود‬ ‫داده‬ ‫نمایش‬ ‫ذیل‬ ‫دوشکل‬ ‫وبه‬ .‫میکند‬ ‫مشخص‬ ‫را‬ ‫ها‬
Control flow‫که‬ ‫است‬ ‫دار‬ ‫جهت‬ ‫خط‬ ‫قطعه‬ :activity‫یک‬ ‫از‬ ‫که‬ ‫میدهد‬ ‫نشان‬ ‫یعنی‬ ‫میکند‬ ‫مشخص‬ ‫را‬ ‫بعدی‬activity‫به‬
‫کدام‬activity‫دیگ‬ ‫های‬.‫میتوانیم‬ ‫رفته‬ ‫ر‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
40 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Conditions:‫یک‬ ‫است‬ ‫ممکن‬activity‫چندین‬ ‫به‬ ‫مختلف‬ ‫شرایط‬ ‫نظرداشت‬ ‫در‬ ‫با‬activity‫دیگرانتقال‬‫در‬ ‫که‬ ‫کند‬ ‫پیدا‬
.‫میشود‬ ‫داده‬ ‫نشان‬ ‫لوزی‬ ‫توسط‬ ‫حالت‬ ‫این‬ ‫دیاگرام‬
Fork and Join Node:activity‫توسط‬ ‫را‬ ‫گیرد‬ ‫صورت‬ ‫همزمان‬ ‫باید‬ ‫که‬ ‫های‬Fork‫م‬ ‫نشان‬ ‫ها‬ ‫تیرک‬ ‫و‬‫شکل‬ ‫به‬ ‫یدهیم‬
:‫ذیل‬
Constraints‫یک‬ ‫در‬ ‫باید‬ ‫که‬ ‫محدودیات‬ ‫و‬ ‫قیودات‬ :Activity‫قیودات‬ ‫این‬ ‫که‬ ‫گردد‬ ‫وشناسایی‬ ‫مشخص‬ ‫باید‬ ‫نگیرد‬ ‫صورت‬
‫از‬ ‫بعد‬ ‫ویا‬ ‫قبل‬ ‫مستطیل‬ ‫توسط‬ ‫میتواند‬Activity.‫شود‬ ‫داده‬ ‫نمایش‬ ‫ذیل‬ ‫طور‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
41 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Exception Handler‫افتید‬ ‫خواهد‬ ‫اتفاق‬ ‫سیستم‬ ‫در‬ ‫که‬ ‫استثنایی‬ ‫حاالت‬ :‫در‬ ‫ذیل‬ ‫شکل‬ ‫به‬ ‫میتوان‬ ‫را‬Activity diagram
.‫دهیم‬ ‫نمایش‬
‫میخواهیم‬ ‫بخش‬ ‫درین‬Activity diagram‫سیستم‬ATM Withdraw Money Activity.‫نماییم‬ ‫ترسیم‬ ‫را‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
42 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
43 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
State Chart Diagram
‫زمان‬ ‫در‬ ‫که‬ ‫میسازد‬ ‫واضح‬ ‫دیاگرام‬ ‫این‬run‫کدام‬ ‫مذکور‬ ‫سیستم‬ ، ‫سیستم‬ ‫یک‬ ‫بودن‬state‫حاال‬ ‫ویا‬ ‫ها‬‫یعنی‬ .‫مینمایند‬ ‫اختیار‬ ‫بخود‬ ‫را‬ ‫ت‬
‫کدام‬ ‫پراسه‬ ‫یک‬ ‫تکمیل‬ ‫از‬ ‫بعد‬ ‫ویاهم‬ ‫پراسه‬ ‫یک‬ ‫دادن‬ ‫انجام‬ ‫جریان‬ ‫در‬ ‫ماشین‬behavior‫ازخود‬ ‫را‬‫همچنین‬ ،‫داده‬ ‫نشان‬object‫و‬ ‫ها‬
events‫کنترول‬ ‫باعث‬ ‫که‬ ‫خارجی‬ ‫و‬ ‫داخلی‬ ‫هایی‬‫افتادن‬ ‫واتفاق‬State‫های‬‫یک‬ ‫مختلف‬activity‫در‬‫میگردد‬ ‫ماشین‬‫دی‬ ‫این‬ ‫در‬‫اگرام‬
.‫میشود‬ ‫داده‬ ‫نمایش‬General problem.‫کرد‬ ‫ساده‬ ‫دیاگرام‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫میتوان‬ ‫را‬ ‫زیادی‬ ‫های‬‫هرطبقه‬ ‫در‬ ‫که‬ ‫آسانسور‬ : ‫مثال‬
، ‫باالرفتن‬ ‫ازقبیل‬ ‫را‬ ‫مختلفی‬ ‫حاالت‬ ‫ممکن‬.‫کند‬ ‫اختیار‬ ‫خود‬ ‫به‬ ‫شدن‬ ‫متوقف‬ ‫و‬ ‫آمدن‬ ‫پایین‬
‫از‬state chart diagram:‫میگردد‬ ‫استفاده‬ ‫ذیل‬ ‫مقاصد‬ ‫به‬
.‫است‬ ‫اجرا‬ ‫درحال‬ ‫سیستم‬ ‫زمانیکه‬ ‫ها‬ ‫پراسه‬ ‫برای‬ ‫کشی‬ ‫قالب‬ ‫و‬ ‫مادلینگ‬
‫آن‬ ‫هرکدام‬ ‫زمان‬ ‫مادلینگ‬ ‫و‬ ‫ها‬ ‫واکنش‬ ‫کردن‬ ‫مشخص‬
‫یک‬ ‫مختلف‬ ‫حاالت‬ ‫تشریح‬object‫در‬ ‫رازمانیکه‬state.‫است‬ ‫دخیل‬
‫حاالت‬ ‫مادلینگ‬ ‫منظور‬ ‫به‬ ‫ماشین‬ ‫حاالت‬ ‫کردن‬ ‫مشخص‬object‫ها‬
‫را‬ ‫ذیل‬ ‫نکات‬ ‫دیاگرام‬ ‫این‬ ‫ترسیم‬ ‫از‬ ‫قبل‬:‫گیریم‬ ‫نظر‬ ‫مد‬ ‫باید‬
‫تمام‬ ‫دیاگرام‬ ‫در‬ ‫نمیتوانیم‬object‫تنها‬ ‫بلکه‬ ‫بسازیم‬ ‫دخیل‬ ‫هارا‬Object.‫میدهیم‬ ‫نمایش‬ ‫دیاگرام‬ ‫در‬ ‫را‬ ‫اساسی‬ ‫های‬
State.‫باشند‬ ‫شده‬ ‫پیشبینی‬ ‫و‬ ‫تشخیص‬ ‫باید‬ ‫ها‬
Event.‫گردند‬ ‫بینی‬ ‫پیش‬ ‫و‬ ‫تشخیص‬ ‫باید‬ ‫ها‬
‫ترسیم‬ ‫برای‬state chart diagram‫به‬ ‫مشابه‬ ‫تقریبا‬activity diagram( ‫آغاز‬ ‫نقطهء‬ ‫یعنی‬ ‫میکنم‬ ‫عمل‬starting point‫و‬ )
(final state‫هر‬ ‫و‬ ‫میگردند‬ ‫مشخص‬ )state.‫است‬ ‫شده‬ ‫داده‬ ‫نمایش‬ ‫آن‬ ‫هرکدام‬ ‫ذیل‬ ‫شکل‬ ‫در‬ ‫که‬ .‫میشود‬ ‫داده‬ ‫نمایش‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
44 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
‫ذیل‬ ‫دیاگرام‬state chart diagram‫سیستم‬"The Order Management System Order's Object State"‫ن‬ ‫را‬.‫میدهد‬ ‫شان‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
45 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Software Testing
‫از‬ ‫هدف‬test‫که‬ ‫را‬ ‫مقاصدی‬ ‫شده‬ ‫ساخته‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫شویم‬ ‫مطمئن‬ ، ‫ویر‬ ‫سافت‬ ‫استفاده‬ ‫از‬ ‫قبل‬ ‫باید‬ ‫که‬ ‫است‬ ‫این‬ ‫پروگرام‬ ‫یک‬ ‫نمودن‬
‫منظور‬ ‫به‬ ‫همچنین‬ ‫و‬ .‫ویاخیر‬ ‫میکند‬ ‫برآورده‬ ‫است‬ ‫شده‬ ‫ساخته‬ ‫آن‬ ‫برای‬
‫ویر‬ ‫سافت‬ ‫یک‬ ‫نواقص‬ ‫دریافت‬ ‫و‬ ‫شناسایی‬testing‫ص‬.‫میگیرد‬ ‫ورت‬
‫از‬ ‫عمدهء‬ ‫دوهدف‬ ‫یعنی‬test:‫از‬ ‫است‬ ‫عبارت‬ ‫ویر‬ ‫سافت‬ ‫کردن‬
‫آن‬ ‫برای‬ ‫که‬ ‫را‬ ‫نیازمندیهای‬ ‫تمام‬ ‫ویر‬ ‫سافت‬ ‫اینکه‬ ‫کردن‬ ‫اثبات‬
.‫میسازد‬ ‫مرفوع‬ ‫بود‬ ‫شده‬ ‫ساخته‬
‫با‬ ‫که‬ ‫کارکردهای‬ ‫و‬ ‫حاالت‬ ‫وشناسایی‬ ‫دریافت‬ ‫منظور‬ ‫به‬
requirement‫ازانجام‬ ‫ویر‬ ‫سافت‬ ‫هم‬ ‫یا‬ ‫و‬ ‫است‬ ‫تضاد‬ ‫در‬
‫عاج‬ ‫آن‬.‫است‬ ‫ز‬
‫و‬ ‫بررسی‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫مختلفی‬ ‫ابعاد‬ ‫میتوانیم‬ ‫ما‬Test.‫کنیم‬‫بناء‬
Testing.‫اند‬ ‫شده‬ ‫بندی‬ ‫تقسیم‬ ‫ذیل‬ ‫نوع‬ ‫چهار‬ ‫به‬
1.Development Testing
2.Test Driven Development
3.Release Testing
4.User Testing
.‫میدهیم‬ ‫قرار‬ ‫بحث‬ ‫مورد‬ ‫تفصیل‬ ‫با‬ ‫و‬ ‫جداگانه‬ ‫بطور‬ ‫آنرا‬ ‫از‬ ‫هریک‬ ‫ما‬ ‫که‬
Development Testing
‫نوع‬ ‫این‬Testing‫تمام‬ ‫و‬ ‫گرفته‬ ‫صورت‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬ ‫توسط‬activity‫ها‬ ‫پروگرامر‬ ‫توسط‬ ‫آن‬ ‫در‬ ‫سیستم‬ ‫یک‬ ‫کارکردهای‬ ‫و‬ ‫ها‬
‫نوع‬ ‫این‬ .‫میگردد‬ ‫بررسی‬ ‫و‬ ‫چیک‬testing:‫است‬ ‫قسم‬ ‫سه‬ ‫به‬
Unit Testing‫نوع‬ ‫درین‬ :testing‫قبیل‬ ‫از‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫کوچک‬ ‫های‬ ‫بخش‬Components‫ها‬‫و‬Object‫کالس‬ ‫های‬
‫جداگانه‬ ‫بصورت‬ ‫ها‬test‫نوع‬ ‫درین‬ ‫یعنی‬ .‫میگردد‬ ‫وبررسی‬testing‫و‬ ‫کارکرد‬operation‫های‬object class‫ها‬
‫درزمان‬ ‫و‬ ‫میگردد‬ ‫بررسی‬test‫نمودن‬Object:‫بگیریم‬ ‫مدنظر‬ ‫را‬ ‫ذیل‬ ‫نکات‬ ‫هاباید‬
o‫تمام‬Operation‫با‬ ‫که‬ ‫هایی‬object‫دارندباید‬ ‫رابطه‬ ‫و‬ ‫پیوستگی‬test‫شود‬.
o‫یک‬ ‫مشخصات‬ ‫تمام‬ ‫های‬ ‫قیمت‬object.‫گردند‬ ‫وبررسی‬ ‫تنظیم‬ ‫باید‬
oObject‫حاالت‬ ‫ودرتمام‬ ‫داده‬ ‫قرار‬ ‫آن‬ ‫ممکنهء‬ ‫حاالت‬ ‫تمام‬ ‫به‬ ‫را‬test‫یعنی‬ .‫کنید‬ ‫وبررسی‬object‫استفاده‬ ‫با‬ ‫را‬
‫از‬Event.‫ببرید‬ ‫آن‬ ‫ممکنهء‬ ‫حاالت‬ ‫تمام‬ ‫به‬ ‫ها‬
o‫های‬ ‫خاصیت‬Generalization‫و‬inheritance‫یک‬object‫ها‬testing.‫میسازد‬ ‫مغلق‬ ‫را‬
Component Testing‫معموال‬ :component‫چندین‬ ‫از‬ ‫که‬ ‫دارند‬ ‫تری‬ ‫پیچیده‬ ‫شکل‬ ‫سیستم‬ ‫یک‬ ‫های‬object‫باهم‬ ‫های‬
‫نوع‬ ‫درین‬ .‫میشوند‬ ‫ساخته‬ ‫ارتباط‬ ‫در‬testing‫هم‬‫هر‬component‫جداگانه‬ ‫بصورت‬test‫بلکه‬ ‫نشده‬component‫های‬
‫میگر‬ ‫بررسی‬ ‫است‬ ‫ارتباط‬ ‫در‬ ‫باسیستم‬ ‫که‬‫ویاهم‬ .‫دد‬package‫چندین‬ ‫از‬ ‫متشکل‬ ‫های‬object‫و‬ ‫بررسی‬ ‫باهم‬test.‫میگردد‬
‫بین‬ ‫ارتباط‬ ‫وهمچنین‬component‫بین‬ ‫برقراری‬ ‫شیوهء‬ ‫و‬ ‫ها‬component‫ها‬)‫ها‬ ‫(انترفس‬‫بررسی‬ ‫مرحله‬ ‫درین‬
، ‫بررسی‬ ‫از‬ ‫مرحله‬ ‫درین‬ .‫میگردد‬common-error‫قبیل‬ ‫از‬ ‫های‬interface misuse،interface
misunderstanding،Timing errors.‫میگردند‬ ‫تنظیم‬ ‫و‬ ‫شده‬ ‫داده‬ ‫تشخیص‬ ‫موارد‬ ‫وغیره‬
System Testing‫نوع‬ ‫این‬ :testing‫تمام‬ ‫وعملکرد‬ ‫کارکرد‬component‫یکجایی‬ ‫بصورت‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫یک‬
(integrated‫و‬ ‫بررسی‬ )test‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫و‬ .‫مینماید‬testing‫آیا‬ ‫که‬ ‫مبینیم‬ ‫ما‬object‫و‬ ‫ها‬component‫ها‬
‫شان‬ ‫بایکدیگر‬compatible‫انترفس‬ ‫به‬ ‫را‬ ‫درست‬ ‫دیتای‬ ‫آیا‬ ‫میکنند؟‬ ‫برقرار‬ ‫ارتباط‬ ‫شان‬ ‫بین‬ ‫درست‬ ‫نحو‬ ‫به‬ ‫آیا‬ ‫ویاخیر؟‬ ‫اند‬
‫میگیرد؟‬ ‫صورت‬ ‫ها‬ ‫انترفس‬ ‫طریق‬ ‫از‬ ‫دیتا‬ ‫تبادل‬ ‫معین‬ ‫اوقات‬ ‫در‬ ‫آیا‬ ‫؟‬ ‫میدهند‬ ‫ها‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
46 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Test Driven Development
‫نوع‬ ‫درین‬testing‫ماد‬ ‫پراسس‬ ‫نوع‬ ‫به‬ ‫توجه‬ ‫با‬‫یک‬ ‫اوال‬ ‫ویر‬ ‫سافت‬ ‫در‬ ‫شده‬ ‫استفاده‬ ‫ل‬test case‫سپس‬ ‫و‬ ‫شده‬ ‫نوشته‬testing‫اجرا‬
‫وتازمانیکه‬ ‫میگردد‬ ‫بررسی‬ ‫آن‬ ‫نتیجهء‬ ‫و‬ ‫شده‬test case‫به‬ ‫ندهد‬ ‫نتیجه‬ ‫شده‬ ‫نوشته‬test case.‫نمیرویم‬ ‫جدید‬
‫نوع‬ ‫این‬testing‫در‬ ‫تر‬ ‫زیاد‬Agile software development‫شم‬ ‫آن‬ ‫از‬ ‫بخش‬ ‫یک‬ ‫و‬ ‫شده‬ ‫استفاده‬‫در‬ .‫میشود‬ ‫رده‬Agile Process
‫بار‬ ‫هر‬Testing‫یک‬ ‫باالی‬Sprint‫به‬ ‫باشد‬ ‫درست‬ ‫که‬ ‫درصورت‬ ‫و‬ ‫شده‬ ‫تطبیق‬sprint‫باید‬ ‫آنصورت‬ ‫درغیر‬ ‫و‬ ‫بعدی‬sprint‫مذکور‬
refactor:‫ذیل‬ ‫شکل‬ ‫به‬ ‫مطابق‬ .‫شود‬
Release Testing
‫عملیهء‬ ، ‫روش‬ ‫درین‬Testing‫یا‬ ‫نمونه‬ ‫هر‬ ‫باالی‬Release‫ویر‬ ‫سافت‬ ‫از‬ ‫که‬‫نوع‬ ‫این‬ ‫و‬ ‫میشود‬ ‫تطبیق‬ ‫میشود‬ ‫ساخته‬Testing‫توسط‬
‫ویا‬ ‫مشتری‬user‫و‬ ‫شده‬ ‫روان‬ ‫قیمت‬ ‫صرف‬ ‫درآن‬ ‫و‬ ‫میگیرد‬ ‫صورت‬ ‫سیستم‬ ‫های‬output‫تخنیکی‬ ‫به‬ ‫باتوجه‬ ‫بناء‬ .‫میگردد‬ ‫بررسی‬ ‫آن‬
‫چگونگی‬ ‫با‬ ، ‫مشتری‬ ‫نبودن‬implementation‫و‬ ‫قیمت‬ ‫کردن‬ ‫وارد‬ ‫است‬ ‫مهم‬ ‫که‬ ‫چیزی‬ ‫بلکه‬ ‫نداریم‬ ‫سروکار‬ ‫سیستم‬output
.‫است‬ ‫آن‬ ‫ونتیجهء‬‫نوع‬ ‫این‬ ‫که‬testing‫نام‬ ‫به‬ ‫را‬black box Testing‫که‬ ‫زیرا‬ ‫میکنند‬ ‫یاد‬ ‫هم‬Test‫پراسه‬ ‫تکمیل‬ ‫چگونگی‬ ‫با‬ ‫کننده‬
‫را‬ ‫دیتا‬ ‫بلکه‬ ‫ندارد‬ ‫کار‬ ‫سرو‬ ‫واجزا‬ ‫ها‬input‫و‬ ‫نموده‬output.‫میکند‬ ‫بررسی‬ ‫را‬ ‫آن‬
‫بین‬ ‫عمده‬ ‫فرق‬Release Testing‫و‬System Testing‫اس‬ ‫دراین‬‫که‬ ‫ت‬Release Testing‫مشتری‬ ‫از‬ ‫متشکل‬ ‫که‬ ‫جدیدی‬ ‫اعضای‬
‫ویاهم‬manager‫را‬ ‫سیستم‬ ‫باشد‬ ‫می‬test‫اینکه‬ ‫بدون‬ ‫میکنند‬developer‫در‬ ‫ولی‬ .‫باشد‬ ‫داشته‬ ‫دخالتی‬ ‫درآن‬system testing
‫شد‬ ‫گفته‬ ‫قسمیکه‬developer‫ا‬ ‫حاالت‬ ‫کنترول‬ ، ‫کیفیت‬ ‫بردن‬ ‫بلند‬ ، ‫سیستم‬ ‫کار‬ ‫طرز‬ ‫از‬ ‫شدن‬ ‫مطمین‬ ‫بخاطر‬ ‫ها‬‫دریافت‬ ‫و‬ ‫ستثنایی‬
‫را‬ ‫سیستم‬ ، ‫نواقص‬test.‫مینمایند‬
Release Testing:‫باشد‬ ‫ذیل‬ ‫شکل‬ ‫سه‬ ‫به‬ ‫میتواند‬
Requirement Based Testing
‫نوع‬ ‫درین‬testing‫یک‬ ‫تنها‬ ‫بررسی‬ ‫منظور‬ ‫به‬ ‫را‬ ‫قیمت‬ ‫یک‬ ‫هربار‬ ‫مشتری‬requirement‫ویر‬ ‫سافت‬ ‫به‬release‫روان‬ ‫شده‬
.‫میکند‬‫نی‬ ‫از‬ ‫یکی‬ ‫هربار‬ ‫مشتری‬ ‫یعنی‬.‫میکند‬ ‫روان‬ ‫قیمت‬ ‫سیستم‬ ‫به‬ ‫آن‬ ‫بررسی‬ ‫برای‬ ‫و‬ ‫گرفته‬ ‫مدنظر‬ ‫هارا‬ ‫ازمندی‬
Scenario Testing
‫از‬ ‫روش‬ ‫درین‬Testing‫و‬ ‫کم‬ ‫بدون‬ ‫را‬ ‫پراسه‬ ‫یک‬ ‫تشریحات‬ ‫تمام‬ ‫درآن‬ ‫و‬ ‫گرفته‬ ‫مدنظر‬ )‫مختصرنیازمندی‬ ‫(شرح‬ ‫سناریو‬ ‫یک‬ ‫اوال‬
‫ر‬ ‫نیازمندیهارا‬ ‫سیستم‬ ‫آیا‬ ‫که‬ ‫مینماییم‬ ‫بررسی‬ ‫وسپس‬ ‫میکنیم‬ ‫نوشته‬ ‫کیف‬.‫ویاخیر‬ ‫است‬ ‫نموده‬ ‫فع‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬
47 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
Performance Testing
‫از‬ ‫نوع‬ ‫این‬Testing‫سیستم‬ ‫که‬ ‫میگردد‬ ‫واضح‬ ‫آن‬ ‫تکمیل‬ ‫از‬ ‫پس‬ ‫طوریکه‬ ‫میرود‬ ‫بکار‬ ‫سیستم‬ ‫یک‬ ‫عملکرد‬ ‫بررسی‬ ‫برای‬Test‫تا‬ ‫شده‬
‫به‬ ‫سرحد‬ ‫کدام‬User.‫است‬ ‫جوابگو‬ ‫ها‬‫وبرای‬‫نوع‬ ‫این‬ ‫تکمیل‬Testing‫هربار‬ ‫ما‬Load‫کرده‬ ‫زیاد‬ ‫ویر‬ ‫سافت‬ ‫باالی‬ ‫را‬ ‫دیتا‬‫عملکرد‬ ‫و‬
.‫سنجیم‬ ‫می‬ ‫آنرا‬
‫وهمچنین‬‫دیگری‬ ‫هدف‬‫از‬performance Testing‫و‬ ‫دقت‬ ‫بررسی‬accuracy‫ورودی‬ ‫معلومات‬ ‫اندازهء‬ ‫و‬ ‫فشار‬ ‫درحاالتیکه‬ ‫سیستم‬
‫باالی‬‫س‬‫میگر‬ ‫زیاد‬ ‫یستم‬‫دد‬‫یعنی‬ .‫باشد‬ ‫می‬ ،.‫ویاخیر‬ ‫است‬ ‫برخوردار‬ ‫الزمه‬ ‫دقت‬ ‫از‬ ‫حالت‬ ‫آن‬ ‫در‬ ‫سیستم‬ ‫آیا‬ ‫که‬ ‫میگردد‬ ‫بررسی‬
User Testing
‫همانطوریکه‬‫پیداست‬ ‫آن‬ ‫نام‬ ‫از‬User Testing‫توسط‬User)‫(مشتری‬ ‫ها‬.‫میشود‬ ‫تکمیل‬‫تیم‬‫تکمیل‬ ‫از‬ ‫بعد‬ ‫سازی‬ ‫ویر‬ ‫سافت‬
release Testing‫برای‬ ‫محیط‬ ‫نداشتن‬ ‫به‬ ‫توجه‬ ‫با‬Testing‫محیط‬ ‫در‬ ‫تا‬ ‫داده‬ ‫مشتری‬ ‫به‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫واقعی‬ ‫دیتای‬ ‫همچنین‬ ‫و‬
‫نمایند‬ ‫کار‬ ‫امتحانی‬ ‫بطور‬ ‫مدتی‬ ‫برای‬ ‫خودشان‬ ‫دیتای‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫و‬ ‫خودشان‬‫ودرخالل‬ .‫و‬ ‫شده‬ ‫روشن‬ ‫سیستم‬ ‫های‬ ‫وکاستی‬ ‫کم‬ ‫مدت‬ ‫این‬
.‫میگردد‬ ‫رفع‬
User Testing‫میگرد‬ ‫تکمیل‬ ‫ذیل‬ ‫مرحلهء‬ ‫سه‬ ‫به‬.‫د‬
Alpha Testing‫به‬ :‫منظور‬( ‫ترمیم‬Fix).‫میشود‬ ‫انداخته‬ ‫براه‬ ‫کاری‬ ‫محیط‬ ‫در‬ ‫سیستم‬ ‫اشتباهات‬ ‫نمودن‬
Beta Testing:‫ولی‬ ‫شده‬ ‫تکمیل‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫است‬ ‫مرحلهء‬‫نیست‬ ‫اعتماد‬ ‫قابل‬ ‫هنوز‬‫استفاده‬ ‫سیستم‬ ‫از‬ ‫امتحانی‬ ‫بطور‬ ‫مشتریان‬ ‫لذا‬
‫میکن‬ ‫کوشش‬ ‫گوناگون‬ ‫عملیات‬ ‫اجرای‬ ‫و‬ ‫اندازی‬ ‫راه‬ ‫با‬ ‫و‬ ‫نموده‬‫را‬ ‫مترقبه‬ ‫غیر‬ ‫حاالت‬ ‫تا‬ ‫ند‬‫را‬ ‫سیستم‬ ‫ضعف‬ ‫های‬ ‫نکات‬ ‫و‬ ‫آورده‬ ‫پیش‬
‫دری‬.‫ابند‬
Acceptance Testing‫از‬ ‫نهایی‬ ‫مرحلهء‬ :User Testing‫ب‬ ‫آیا‬ ‫که‬ ‫میگردد‬ ‫بررسی‬ ‫درآن‬ ‫که‬ ‫است‬‫به‬ ‫نیازمندیهارا‬ ‫سیستم‬ ‫کلی‬ ‫طور‬
‫اساس‬software specification‫و‬ .‫ویاخیر‬ ‫میسازد‬ ‫رفع‬.‫رد‬ ‫هم‬ ‫کندویا‬ ‫قبول‬ ‫را‬ ‫مذکور‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫میگرد‬ ‫تصمیم‬ ‫مشتری‬ ‫درآن‬
‫ومن‬‫التوفیق‬ ‫هللا‬

More Related Content

PPTX
Basic Radiation Protection
PPTX
Acute radiation syndrome
PPTX
Puneet medulloblastoma ppt
PPTX
Cobalt 60
PPTX
Head Neck Interstitial Brachy.pptx
PDF
Produção gráfica - Aula 03 Tipos De Impressao I
PPT
Cartaz
PDF
مدیریت پروژه های تکنلوژی معلوماتی-محب الله امان ICT Project Management in Per...
Basic Radiation Protection
Acute radiation syndrome
Puneet medulloblastoma ppt
Cobalt 60
Head Neck Interstitial Brachy.pptx
Produção gráfica - Aula 03 Tipos De Impressao I
Cartaz
مدیریت پروژه های تکنلوژی معلوماتی-محب الله امان ICT Project Management in Per...

Viewers also liked (6)

PDF
مسیردهی و پروتوکولهای مسیریابی
PDF
(ِData Structures-Java Object oriented Programming Languages)ساختارهای دیتا ...
PDF
Network-security muhibullah aman-first edition-in Persian
PDF
(Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب ال...
PDF
Forth exploration dari note-muhibullah aman اکسپلوریشن چهارم- شبکه های کمپیور...
PDF
Cisco Exploration 2 In Persion-Muhibullah Aman
مسیردهی و پروتوکولهای مسیریابی
(ِData Structures-Java Object oriented Programming Languages)ساختارهای دیتا ...
Network-security muhibullah aman-first edition-in Persian
(Linux Ubuntu Guide in Persian- Basic)رهنمود سیستم عامل اوبنتو فارسی- محب ال...
Forth exploration dari note-muhibullah aman اکسپلوریشن چهارم- شبکه های کمپیور...
Cisco Exploration 2 In Persion-Muhibullah Aman
Ad

Similar to راهکارهای طراحی نرم افزار ها محب الله امان (20)

PDF
Interview guidline elias shirouyeh
PPTX
How to choose appropriate technology for product development - Persian Version
PDF
طرح چارچوب متن باز تولید نرم افزار
PDF
توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...
PDF
چرا نود.جی اس؟
PDF
چارچوب متن باز جهت توسعه سیستم های نرم افزاری
PDF
Mohamady zahedy c#
PDF
Network Design - TOP-Down-Amir Zamanian
PDF
How to be a better Developer & Programmer
PDF
Software Fault Avoidance in Implementation
PPTX
مهندسی نرم افزار - مهندسی سیستم و تحلیل نیازها - Software Engineering - Syste...
PPTX
object oriented vs functional programming
PPTX
object oriented programing vs functional programming
PDF
تعریف پروژه فام پابلیشر
PPTX
فصل اول سیستم عامل: مرور کلی به سخت افزار کامپیوتر -تابستان 96
PPTX
فصل اول سیستم عامل: مرور کلی به سخت افزار کامپیوتر -تابستان 96
PDF
PDF
OpenStack and its service
PDF
Network management 2_sample
PPTX
94.10.18
Interview guidline elias shirouyeh
How to choose appropriate technology for product development - Persian Version
طرح چارچوب متن باز تولید نرم افزار
توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...
چرا نود.جی اس؟
چارچوب متن باز جهت توسعه سیستم های نرم افزاری
Mohamady zahedy c#
Network Design - TOP-Down-Amir Zamanian
How to be a better Developer & Programmer
Software Fault Avoidance in Implementation
مهندسی نرم افزار - مهندسی سیستم و تحلیل نیازها - Software Engineering - Syste...
object oriented vs functional programming
object oriented programing vs functional programming
تعریف پروژه فام پابلیشر
فصل اول سیستم عامل: مرور کلی به سخت افزار کامپیوتر -تابستان 96
فصل اول سیستم عامل: مرور کلی به سخت افزار کامپیوتر -تابستان 96
OpenStack and its service
Network management 2_sample
94.10.18
Ad

More from Muhibullah Aman (6)

PPTX
Spoofing Attacks حملات جعل هویت
PPT
Lecture 07 cabling device
PPT
02th week 01t day lecture cabling history
PPTX
02th week 03th day lecture digital & anolog signal
PPT
1th week 04th day lecture golden rule of cabling
PPT
Lecture 02 cabling system
Spoofing Attacks حملات جعل هویت
Lecture 07 cabling device
02th week 01t day lecture cabling history
02th week 03th day lecture digital & anolog signal
1th week 04th day lecture golden rule of cabling
Lecture 02 cabling system

راهکارهای طراحی نرم افزار ها محب الله امان

  • 1. ‫سال‬ ‫تابستان‬1394‫خو‬ ‫هجری‬‫رشیدی‬ ‫کابل‬ ‫دانشگاه‬ ‫ساینس‬ ‫کمپیوتر‬ ‫دانشکدهء‬ Guidelines for Making Software "‫"امان‬ ‫هللا‬ ‫محب‬ :‫وترتیب‬ ‫تهیه‬ "‫"باهز‬ ‫رفیع‬ ‫محمد‬ ‫استاد‬ :‫نظر‬ ‫تحت‬
  • 2. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 1 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ‫ومهربان‬ ‫بخشاینده‬ ‫خداوند‬ ‫نام‬ ‫به‬ ‫بجای‬‫مقدمه‬‫کمی‬‫از‬‫درد‬‫برای‬‫تان‬‫قصه‬‫میکنم‬!‫دردی‬‫که‬‫کشنده‬‫است‬.‫دردی‬‫که‬‫تلخ‬،‫رنج‬‫آورو‬‫دردناک‬‫است‬.‫دردی‬‫که‬‫امروز‬‫درد‬ ‫است‬‫ولی‬‫درآینده‬‫دردها‬‫میشود‬‫وهمچون‬‫بیماری‬‫العالجی‬‫به‬‫استخوان‬‫ها‬‫سر‬‫ایت‬‫میکند‬. ‫دوستان‬‫عزیز‬!‫تجاوز‬‫تنها‬‫بدین‬‫معنی‬‫نیست‬‫که‬‫متجاوزین‬‫استفاده‬‫ازحریم‬‫خصوصی‬،‫کشور‬‫ویا‬‫مال‬‫ودارایی‬‫شخصی‬‫را‬‫باالی‬‫خود‬ ‫جایزدانسته‬‫وازآن‬‫استفادهء‬‫غیر‬‫مشروع‬‫نماید‬‫بلکه‬‫تجاوزدرشرایط‬‫مختلف‬‫میتواند‬‫باالی‬‫مال‬‫باشد‬،‫باالی‬‫حریم‬‫شخص‬‫ویا‬‫قشری‬‫از‬ ‫جامعه‬‫باشد‬،‫باالی‬‫ناموس‬‫باشد،باالی‬‫فرهنگ‬،‫باشد‬‫باالی‬‫رسوم‬،‫باشد‬‫باالی‬‫شخصیت‬،‫باشد‬‫وصدها‬‫مورد‬‫دیگر‬.‫که‬‫در‬‫هرصورت‬ ‫تجاوز‬،‫تجاوز‬،‫است‬‫حرام‬،‫نابخشودنی‬‫و‬‫گناه‬‫کبیره‬.‫ومتجاوزین‬‫با‬‫توجه‬‫به‬‫قول‬‫حضرت‬‫محمد‬‫مصطفی‬‫ص‬(ُ‫ر‬‫ِّی‬‫ی‬َ‫غ‬ُ‫ت‬ ‫تى‬َّ‫ل‬‫ا‬ ُ‫نوب‬ُّ‫لذ‬َ‫ا‬ ُ‫ى‬‫َغ‬‫ب‬‫ال‬ َ‫م‬َ‫ع‬ِّ‫ن‬‫ال‬)‫گناهکارشمرده‬‫ش‬‫ده‬‫و‬‫مستحق‬‫عذاب‬‫دوزخ‬‫است‬.‫ودفاع‬‫از‬‫داشته‬‫های‬‫موارد‬‫فوق‬‫الذکر‬‫در‬‫مقابل‬‫متجاوزین‬‫وظیفهء‬ ‫فردی‬‫ودینی‬‫هرمسلمان‬‫است‬. ‫واقعا‬‫برایم‬‫درد‬‫آور‬‫است‬‫زمانی‬‫که‬‫فکر‬‫میکنم‬‫لسان‬‫که‬‫به‬‫آن‬‫تکلم‬‫میکنم‬‫مورد‬‫تجاوز‬‫انسان‬‫های‬‫متعصب‬،‫افراطی‬‫و‬‫لسان‬‫های‬‫غیر‬ ‫قرار‬‫گرفته‬‫است‬.‫لسانیکه‬‫با‬‫بیش‬0555‫سال‬‫قدامت‬‫تاریخی‬‫یکی‬‫از‬‫زبان‬‫های‬‫ناب‬‫و‬‫شیرین‬‫نه‬‫تنها‬‫آسیای‬‫میانه‬‫بلکه‬‫سراسر‬‫کره‬ ‫خاکی‬‫به‬‫شمار‬‫میرود‬.‫زبانیکه‬‫شاعران‬‫شیرین‬‫کالم‬‫واحساس‬‫سرایان‬‫تکرارنشدنی‬‫همچون‬‫فردوسی‬‫بزرگ‬،‫بیدل‬،،‫بیتاب‬‫طرزی‬، ،‫حافظ‬‫رودکی‬‫وغیره‬‫که‬‫حتی‬‫ذکر‬‫همهء‬‫آنها‬‫از‬‫عهده‬‫این‬‫صفح‬‫ه‬‫برآمده‬‫نیست‬‫را‬‫باخود‬‫داشته‬‫وآثار‬‫فراوان‬‫ودرخشان‬‫را‬‫دردل‬ ‫تاریخ‬‫دفن‬‫کرده‬‫است‬. ‫نمی‬‫خواهم‬‫احساس‬‫کنید‬‫که‬‫متعصبانه‬‫مینویسم‬‫و‬‫این‬‫نوشته‬‫هایم‬‫از‬‫روی‬‫تعصب‬‫است‬‫بلکه‬‫با‬‫آگاهی‬‫کامل‬‫از‬‫قول‬‫بهترینی‬‫عالم‬“‫کسی‬ ‫که‬‫متعصب‬‫است‬‫از‬‫امت‬‫من‬‫به‬‫حساب‬‫نمی‬‫آید‬”‫وبرای‬‫اینکه‬‫تا‬‫حد‬‫تو‬‫ان‬‫از‬‫تجاوزی‬‫که‬‫برلسانم‬‫صورت‬‫گرفته‬‫است‬‫دفاع‬‫کنم‬‫این‬ ‫نوشته‬‫هارا‬‫می‬‫نویسم‬.‫وهم‬‫نمیخواهم‬‫لسان‬‫دیگری‬‫ولو‬‫کامل‬‫نباشد‬‫را‬‫مورد‬‫تمسخر‬‫ویاهم‬‫تجاوز‬‫قرار‬‫دهم‬‫چون‬‫وجیبهء‬‫اسالمی‬‫ام‬‫به‬ ‫من‬‫این‬‫اجازه‬‫را‬‫نمی‬‫دهد‬.‫اما‬‫کدام‬‫اسالم؟‬! ‫آی‬‫مسلمان‬!‫آیا‬‫اسالم‬‫همین‬‫است؟‬‫آیا‬‫اسالمیت‬‫همینه؟‬‫این‬‫کدام‬‫وجه‬‫اسالم‬‫است؟‬‫این‬‫چه‬‫نوع‬‫اسالمیته‬‫؟‬‫آیا‬‫ما‬‫بی‬‫خبریم؟‬‫یااینکه‬‫شما‬ ‫با‬‫نام‬‫اسالم‬‫بازی‬‫میکنید؟‬‫آیا‬‫این‬‫سنت‬‫پیامبری‬‫است‬‫که‬‫از‬‫روی‬‫تعصب‬‫و‬‫لسان‬‫گرایی‬‫زبان‬‫اصیل‬‫و‬‫کامل‬‫قشری‬‫را‬‫مورد‬‫تجاوز‬ ‫قرار‬‫میدهید؟‬‫آیا‬‫به‬‫آخرت‬‫ایمان‬‫ندارید؟‬‫آیا‬‫با‬‫تجاوز‬‫صریح‬‫خوی‬‫ش‬‫باالی‬‫لسان‬‫قشری‬‫از‬‫جامعه‬‫خودرا‬‫نزد‬‫پیامبر‬‫گرامی‬‫اسالم‬ ‫شرمنده‬‫حس‬‫نمیکنید؟‬‫آیا‬‫ما‬‫بی‬‫خبریم؟‬‫یااینکه‬‫شما‬‫کودنید؟‬ ‫اسالم‬‫راکه‬‫من‬‫میشناسم‬،‫بوی‬‫صلح‬‫میدهد‬‫بوی‬،‫صفا‬‫آرامی‬،‫محبت‬،‫دوستی‬،‫برادری‬،‫همدلی‬،‫همدردی‬،‫همکاری‬‫و‬‫صداقت‬ ‫میدهد‬.‫نه‬‫اینکه‬‫بوی‬،‫تجاوز‬‫بوی‬‫چو‬‫ر‬،‫چپاول‬‫،ظلم‬،،‫انتحار‬‫افراط‬،‫تعصب‬‫و‬‫اجداد‬‫پرستی‬. ‫لطف‬‫میکنید‬‫اگر‬‫واژه‬‫های‬‫خاص‬‫لسان‬‫شیرین‬‫تانرا‬‫در‬‫لسان‬‫تان‬‫بگذارید‬‫باتوجه‬‫به‬‫قول‬‫اجدادمان‬“‫گل‬‫در‬‫گلبته‬‫بهتر‬‫تماشاییست‬”‫وبا‬ ‫تحمیل‬‫این‬‫واژه‬‫ها‬‫باالی‬‫لسان‬‫دیگر‬،‫نه‬‫زیبایی‬‫لسان‬‫تانرا‬‫کمرنگ‬‫کنید‬‫و‬‫نه‬‫لسان‬‫های‬‫دیگری‬‫را‬‫به‬‫لجن‬‫بکشانید‬.‫آخر‬‫یعنی‬‫چی؟‬ ‫چی‬‫را‬‫میخواهید‬‫ثابت‬‫کنید؟‬‫قدرت‬‫تانرا؟‬‫یا‬‫مظلومیت‬‫مانرا؟‬‫ویاهم‬‫متجاوزبودن‬‫تانرا‬! ‫به‬‫دوستان‬‫که‬‫نوشته‬‫هایم‬‫برایشان‬‫زهر‬‫دار‬‫است‬‫هم‬‫توصیه‬‫میکنم‬‫لطف‬‫کنند‬‫نه‬‫بخاطر‬‫من‬‫بلکه‬‫یکبار‬‫به‬‫خاطر‬‫رضای‬،‫خداوند‬ ‫بخاطر‬‫انسانیت‬،‫بخاطر‬‫مسل‬‫مان‬‫بودن‬‫شان‬‫سردرگریبان‬‫خود‬‫کرده‬‫و‬‫عادالنه‬‫قضاوت‬‫کنند‬‫آیا‬‫من‬‫اشتباه‬‫گفته‬‫ام‬‫ویا‬‫اینکه‬‫بعضی‬‫ها‬ ‫متجاوزبه‬‫حساب‬‫می‬‫آید‬.‫و‬‫ما‬‫چه‬‫موقفی‬‫باید‬‫در‬‫مقابل‬‫شان‬‫داشته‬‫باشیم‬.‫با‬‫توجه‬‫به‬‫اینکه‬‫درنخست‬‫فرمودم‬‫امروز‬‫این‬‫درد‬‫است‬‫ولی‬ ‫ممکن‬‫در‬‫آینده‬‫ها‬‫به‬‫دردها‬‫تبدیل‬‫شود‬‫و‬‫همچن‬‫ین‬‫به‬‫قول‬‫ضرب‬‫المثل‬‫معروف‬“‫چون‬‫می‬‫بینی‬‫که‬‫نابینا‬‫و‬‫چاه‬‫است‬‫اگر‬‫خاموش‬ ‫بنشینی‬‫گناه‬‫است‬” .__ ‫عزیزم‬ ‫همصنفان‬ ‫تمام‬ ‫از‬ ‫هم‬ ‫اخیر‬ ‫ودر‬‫مخلصانه‬‫مجموعه‬ ‫این‬ ‫محتویات‬ ‫دربهبودی‬ ‫مرا‬ ‫شان‬ ‫نیک‬ ‫نظریات‬ ‫و‬ ‫ها‬ ‫پیشنهاد‬ ، ‫ها‬ ‫انتفاد‬ ‫با‬ ‫که‬ ‫تقاضامندم‬ ‫پروگ‬ ‫جامعهء‬ ‫برای‬ ‫باشد‬ ‫تا‬ .‫بخشند‬ ‫یاری‬.‫باشیم‬ ‫کرده‬ ‫خدمتی‬ ‫افغانستان‬ ‫نویسی‬ ‫رام‬ ‫احترام‬ ‫با‬"‫"امان‬ ‫هللا‬ ‫محب‬
  • 3. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 2 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ‫چیست؟‬ ‫انجنیرینگ‬ ‫ویر‬ ‫سافت‬ ‫خاص‬ ‫افزارهای‬ ‫نرم‬ ‫از‬ ‫آنان‬ ‫استفادهء‬ ‫و‬ ‫ها‬ ‫ارگان‬ ‫تمام‬ ‫شدن‬ ‫کمپیوتری‬ ‫به‬ ‫توجه‬ ‫با‬، ‫ومغلق‬ ‫پیچیده‬ ‫حال‬ ‫ودرعین‬‫ومدیریت‬ ‫تنظیم‬ ‫برای‬ ‫قسمی‬ ‫ها‬ ‫افزار‬ ‫نرم‬ ‫تا‬ ‫است‬ ‫نیاز‬ ‫شان‬ ‫معلومات‬ ‫بهتر‬‫بسازد‬ ‫برآورده‬ ‫احسن‬ ‫وجه‬ ‫به‬ ‫را‬ ‫شان‬ ‫نیازهای‬ ‫ازاینکه‬ ‫برعالوهء‬ ‫که‬ ‫گردد‬ ‫ایجاد‬ ، ‫سهولت‬ ، ‫اعتماد‬ ‫قابلیت‬، ‫مؤثریت‬.‫آورد‬ ‫بوجود‬ ‫را‬ ‫وغیره‬ ‫امنیت‬‫که‬ ‫توانیم‬ ‫می‬ ‫گفته‬ ‫ازاینرو‬software developer‫دارای‬ ‫ها‬ ‫سنگین‬ ‫مسؤلیت‬‫سافت‬ ‫با‬ ‫کار‬ ‫و‬ ‫نگهداری‬ ‫زمان‬ ‫در‬ ‫چه‬ ‫و‬ ‫سافت‬ ‫ایجاد‬ ‫زمان‬ ‫در‬ ‫چه‬، ‫ویر‬‫مسؤلیت‬ ‫نوع‬ ‫این‬ ‫ازپس‬ ‫اینکه‬ ‫وبرای‬ ‫باشد‬ ‫می‬ .‫دارد‬ ‫ها‬ ‫وروش‬ ‫دستورالعملها‬ ، ‫قوانین‬ ‫سلسله‬ ‫یک‬ ‫نیازبه‬ ‫برآید‬ ‫ها‬ ، ‫پراسه‬ ‫هم‬ ‫انجنیرینگ‬ ‫ویر‬ ‫سافت‬Framework‫از‬ ‫مجموعهء‬ ‫یا‬ ‫و‬technical discipline‫ویر‬ ‫سافت‬ ‫یک‬ ‫ساختن‬ ‫برای‬ ‫که‬ ‫باشد‬ ‫می‬ ‫دری‬ ‫از‬ ‫ویر‬ ‫سافت‬ ‫ساختن‬ ‫واین‬ .‫رود‬ ‫بکارمی‬‫دیزاین‬ ، ‫نیازها‬ ‫برای‬ ‫حل‬ ‫راه‬ ‫دریافت‬ ، ‫تحلیل‬ ‫تا‬ ‫شروع‬ ‫مشتری‬ ‫نیازهای‬ ‫تشخیص‬ ‫و‬ ‫افت‬ ، ‫مدیریت‬marketing‫نگهداری‬ ،‫ساختن‬ ‫زمان‬ ‫در‬ ‫چه‬ ‫ویر‬ ‫سافت‬ ‫ابعاد‬ ‫تمام‬ ‫با‬ ‫انجنیرینگ‬ ‫ویر‬ ‫سافت‬ ‫یعنی‬ .‫است‬ ‫شامل‬ ‫را‬ ‫وغیره‬ ، ‫نیازمندی‬ ‫(تحلیل‬ ‫ویر‬ ‫سافت‬‫(مار‬ ‫آن‬ ‫نگهداری‬ ‫درقسمت‬ ‫وچه‬ )‫وغیره‬ ‫دیزاین‬، ‫کتینگ‬s/w project management‫ارتباط‬ ‫در‬ ) .‫آید‬ ‫بمیان‬ ... ‫و‬ ‫اعتماد‬ ‫قابل‬ ، ‫خوب‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫نتیجه‬ ‫در‬ ‫تا‬ .‫است‬ ‫که‬ ‫است‬ ‫تخنیکی‬ ‫دستورالعملهای‬ ‫از‬ ‫عبارت‬ ‫انجنیرینگ‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫توانیم‬ ‫می‬ ‫گفته‬ ‫اختصار‬ ‫بطور‬‫شامل‬: ‫آن‬ ‫تشخیص‬ ‫و‬ ‫مشتری‬ ‫های‬ ‫نیاز‬ ‫دریافت‬ ‫دریافت‬‫رفع‬ ‫برای‬ ‫حل‬ ‫راه‬‫روش‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫مشتری‬ ‫های‬ ‫نیاز‬‫ونظریات‬ ‫ها‬‫شده‬ ‫شناخته‬‫وموجود‬ .‫نباشد‬ ‫موجود‬ ‫نظریات‬ ‫و‬ ‫ها‬ ‫روش‬ ‫درصورتیکه‬ ‫مشتری‬ ‫های‬ ‫نیاز‬ ‫رفع‬ ‫برای‬ ‫حل‬ ‫راه‬ ‫دریافت‬ ‫پروژه‬ ‫مدیریت‬ ‫ویرها‬ ‫سافت‬ ‫در‬ ‫آمدن‬ ‫تغییرات‬ ‫قبول‬ ‫و‬ ‫کنترول‬‫وغیره‬.‫باشد‬ ‫مفهوم‬ ‫درک‬ ‫با‬software engineering‫پی‬ ‫نکته‬ ‫بدین‬ ‫ما‬( ‫برنامه‬ ‫یک‬ ‫تنها‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫میبریم‬program‫ازبرنامه‬ ‫مجموعهء‬ ‫ویا‬ ) ( ‫ها‬programs‫بلکه‬ ‫نیست‬ ):‫ازقبیل‬ ‫دیگری‬ ‫ودستورالعملهای‬ ‫ها‬ ‫ویژگی‬ ، ‫قوانین‬ ‫شامل‬ Documentation ‫ویر‬ ‫سافت‬ ‫نگهداری‬ ‫و‬ ‫ویر‬ ‫سافت‬ ‫برای‬ ‫الزمی‬ ‫ومشخصات‬ ‫خواص‬ Dependability Efficiency Security.‫میباشد‬ ‫وغیره‬ Software Process Software process‫مجموعهء‬ ‫از‬ ‫عبارت‬( ‫ها‬ ‫فعالیت‬activities.‫میگردد‬ ‫ایجاد‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫آن‬ ‫درنتیجهء‬ ‫که‬ ‫باشد‬ ‫می‬ ) ‫و‬activity( ‫ابتدا‬ ‫از‬ ‫ویر‬ ‫سافت‬ ‫ایجاد‬ ‫مراحل‬ ‫شامل‬ ‫تواند‬ ‫می‬ ‫ها‬scratch‫وهم‬ ‫باشد‬ ‫جاوا‬ ‫مثل‬ ‫نویسی‬ ‫پروگرام‬ ‫های‬ ‫لسان‬ ‫از‬ ‫استفاده‬ ‫با‬ ) ‫شا‬ ‫تواند‬ ‫می‬.‫باشد‬ ‫جدید‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫ساختن‬ ‫ودرنتیجه‬ ‫موجودی‬ ‫های‬ ‫ویر‬ ‫سافت‬ ‫در‬ ‫آوردن‬ ‫تغییرات‬ ‫و‬ ‫دادن‬ ‫توسعه‬ ‫مل‬ ‫است‬ ‫ممکن‬activity‫ملحوظ‬ ‫بدین‬ ‫درآید‬ ‫اجرا‬ ‫به‬ ،‫مختلف‬ ‫وانواع‬ ‫اشکال‬ ‫به‬ ‫مذکور‬ ‫هایی‬software process model‫آمده‬ ‫بمیان‬ ‫ها‬ ‫هر‬ ‫ولی‬ ‫است‬software process‫چهار‬ ‫باید‬activity‫ذیل‬.‫باشد‬ ‫شامل‬ ‫را‬ ، ‫باشد‬ ‫می‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫اساس‬ ‫که‬ Software Specification‫انجام‬ ‫باید‬ ‫را‬ ‫کارهایی‬ ‫چه‬ ‫ویر‬ ‫سافت‬ ، ‫مشتری‬ ‫درخواست‬ ‫نظربه‬ ‫اینکه‬ ‫ویا‬ ‫ویر‬ ‫سافت‬ ‫تعریف‬ : ‫دهد‬‫کارهایی‬ ‫وازچه‬user( ‫بازدارد‬ ‫را‬constraint)‫دراین‬ ،activity.‫میگردد‬ ‫مشخص‬
  • 4. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 3 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Software Design and implementation‫این‬ :activity‫به‬ ‫مطابق‬ ‫طوریکه‬ ‫ویر‬ ‫سافت‬ ‫وایجاد‬ ‫دیزاین‬ ‫شامل‬ software specification.‫باشد‬ Software Validation‫این‬ ‫در‬ ‫یعنی‬ :activity‫باید‬ ‫ویر‬ ‫سافت‬validate(‫تایید‬)‫وتثبیت‬‫تا‬ ‫گردد‬‫را‬ ‫مشتری‬ ‫های‬ ‫نیاز‬ .‫ویاخیر‬ ‫سازد‬ ‫می‬ ‫مرفوع‬ Software Evaluation:‫این‬activity‫از‬ ‫پس‬ ‫ویر‬ ‫سافت‬ ‫تکامل‬ ‫بخاطر‬ ‫مشتری‬ ‫که‬ ‫باشد‬ ‫می‬ ‫تغییرات‬ ‫شامل‬validation .‫میکنند‬ ‫پیشنهاد‬ ‫نیازهای‬ ‫به‬ ‫مطابق‬ ‫آنرا‬ ‫و‬ ‫بیاوریم‬ ‫شده‬ ‫ساخته‬ ‫وازقبل‬ ‫موجودی‬ ‫های‬ ‫ویر‬ ‫سافت‬ ‫در‬ ‫تغییرات‬ ‫که‬ ‫درصورت‬ ‫استاد‬ ‫گفتهء‬ ‫وبنابر‬ ‫شامل‬ ‫بخشیم‬ ‫تکامل‬ ‫خود‬ ‫جدید‬ ‫مشتری‬software evaluation.‫باشد‬ ‫می‬ ‫ی‬‫به‬ ‫ومشابه‬ ‫باشد‬ ‫داشته‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫عرصهء‬ ‫در‬ ‫ساله‬ ‫چندین‬ ‫تجربهء‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬ ‫یک‬ ‫است‬ ‫ممکن‬ ‫عنی‬ Software Definition‫موجو‬ ‫هم‬ ‫قبل‬ ‫از‬ ،‫شده‬ ‫خواسته‬‫ابتدا‬ ‫از‬ ‫سافت‬ ‫این‬ ‫ساختن‬ ‫برای‬ ‫که‬ ‫نداریم‬ ‫نیاز‬ ‫دراینصورت‬ ‫باشد‬ ‫د‬ (scratch‫سا‬ ، ‫ناچیز‬ ‫تغییرات‬ ‫تعریف‬ ‫با‬ ‫بلکه‬ ‫کنیم‬ ‫شروع‬ )‫تکامل‬ ‫جدید‬ ‫مشتری‬ ‫ودرخواست‬ ‫میل‬ ‫بنابر‬ ‫موجودرا‬ ‫ویر‬ ‫فت‬ (extend).‫بخشیم‬ ‫می‬ ‫هر‬Activity‫چندین‬ ‫شامل‬ ‫فوق‬sub activities.‫باشد‬ ‫می‬‫درذیل‬ ‫که‬sub activity‫هر‬activity.‫میکنیم‬ ‫تعریف‬ ‫را‬ ‫فوق‬ .‫الف‬Software Specification ( ‫نیازمندیها‬ ‫درآن‬ ‫که‬ ‫است‬ ‫مرحلهء‬requirements‫ت‬ ‫مشتری‬ )‫یک‬ ‫پراسه‬ ‫ودراین‬ .‫میشود‬ ‫داده‬ ‫شخیص‬software engineer‫تا‬ ‫کند‬ ‫سعی‬Functional Requirements‫و‬Non Functional Requirements.‫کند‬ ‫مشخص‬ ‫را‬ Functional Requirements‫ودرصورت‬ ‫باشد‬ ‫موجود‬ ‫باید‬ ‫سیستم‬ ‫ویر‬ ‫درسافت‬ ‫که‬ ‫شود‬ ‫می‬ ‫گفته‬ ‫خدمات‬ ‫و‬ ‫نیازمندیها‬ ‫به‬ ‫نیازمندی‬ ‫ویر‬ ‫سافت‬ ‫آن‬ ‫نبود‬‫وهمچنین‬ .‫شود‬ ‫اطالق‬ ‫وناقص‬ ‫نساخته‬ ‫مرفوع‬ ‫را‬ ‫ها‬functional requirement .‫باشد‬ ‫می‬ ‫نیز‬ ‫ندهد‬ ‫انجام‬ ‫آنرا‬ ‫باید‬ ‫سیستم‬ ‫که‬ ‫کارهایی‬ ‫دربرگیرندهء‬ Nonfunctional Requirement‫شو‬ ‫می‬ ‫گفته‬ ‫نیازمندیهای‬ ‫به‬‫وویژگی‬ ‫قابلیت‬ ، ‫موثریت‬ ‫درسیستم‬ ‫آن‬ ‫موجودیت‬ ‫که‬ ‫د‬ ‫ول‬ ‫داده‬ ‫افزایش‬ ‫ویرهارا‬ ‫سافت‬‫مختلف‬ ‫انواع‬ ‫مثال‬ ‫شوند‬ ‫نمی‬ ‫شمرده‬ ‫ناقص‬ ‫سیستم‬ ‫آن‬ ‫نبود‬ ‫در‬ ‫ی‬constraint.‫وغیره‬ ‫ها‬ ‫تکمیل‬ ‫برای‬software specification‫باید‬sub activity.‫کنیم‬ ‫تکمیل‬ ‫را‬ ‫ذیل‬ ‫های‬ Feasibility Study( ‫نیازمندی‬ :requirement‫میتواند‬ ‫مشتری‬ ‫نیازهای‬ ‫آیا‬ ‫که‬ ‫گردد‬ ‫تشخیص‬ ‫و‬ ‫گردد‬ ‫درک‬ ) ‫شو‬ ‫کمپیوتری‬‫سافت‬ ‫آیا‬ ‫دارد؟‬ ‫را‬ ‫فعلی‬ ‫تکنالوژی‬ ‫و‬ ‫افزاری‬ ‫سخت‬ ‫منابع‬ ‫با‬ ‫مطابقت‬ ‫مشتری‬ ‫درخواست‬ ‫آیا‬ ‫د؟‬ ‫ویر‬‫چنین‬ ‫ایجاد‬ ‫توانایی‬ ‫ما‬ ‫آیا‬ ‫نیست؟‬ ‫باال‬ ‫مشتری‬ ‫مالی‬ ‫توان‬ ‫از‬ ‫ویر‬ ‫سافت‬ ‫هزینهء‬ ‫آیا‬ ‫رادارد؟‬ ‫ساختن‬ ‫ارزش‬ .... ‫و‬ ‫داریم؟‬ ‫را‬ ‫سیستمی‬ .‫میگذاریم‬ ‫ذیل‬ ‫بعدی‬ ‫مراحل‬ ‫پابه‬ ‫امکان‬ ‫درصورت‬ Requirement elicitation and analysis‫مشتری‬ ‫نبودن‬ ‫مسلکی‬ ‫به‬ ‫توجه‬ ‫با‬ :)‫نیازمندیها‬ ‫تحلیل‬ ‫و‬ ‫(استخراج‬ ‫بهترین‬ ‫ولی‬ ‫است‬ ‫موجود‬ ‫مشتری‬ ‫نیازمندیهای‬ ‫وگرفتن‬ ‫استخراج‬ ‫برای‬ ‫مختلفی‬ ‫هایی‬ ‫طریقه‬ ، ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫در‬ ‫یک‬ ‫ایجاد‬ ‫روش‬prototype‫شبیه‬ ‫کاغذ‬ ‫روی‬ ‫مشتری‬ ‫درخواست‬ ‫که‬ ‫باشد‬ ‫می‬ )‫نمونه‬ ‫(پیش‬‫وبه‬ .‫میگردد‬ ‫سازی‬ .‫شود‬ ‫می‬ ‫گرفته‬ ‫مشتری‬ ‫معلومات‬ ‫و‬ ‫ونظریات‬ .‫شود‬ ‫می‬ ‫داده‬ ‫نشان‬ ‫مشتری‬ Requirement Specification‫دراین‬ :activity( ‫ویر‬ ‫سافت‬ ‫تعریف‬software definition.‫میگردد‬ ‫تعیین‬ ) ‫و‬software definition‫و‬ ‫برروی‬ ‫که‬ ‫باشد‬ ‫می‬ ‫شده‬ ‫تحلیل‬ ‫و‬ ‫شده‬ ‫استخراج‬ ‫نیازمندیهای‬ ‫درحقیقت‬‫داده‬ ‫نشان‬ ‫رق‬ ‫نام‬ ‫به‬ ‫و‬ ‫شود‬ ‫می‬documentation.‫یادمیگردد‬‫آید‬ ‫بوجود‬ ‫مشتری‬ ‫برنیازهای‬ ‫مبنی‬ ‫ثبوت‬ ‫ویا‬ ‫سند‬ ‫یک‬ ‫منحیث‬ ‫تا‬ ‫تا‬‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬‫تغییر‬ ‫درصورت‬.‫نشود‬ ‫شناخته‬ ‫مقصر‬ ‫مشتری‬ ‫افکار‬ ‫و‬ ‫نیازمندیها‬ Requirement Validation( ‫داکمنتیشن‬ :documentation‫شده‬ ‫ساخته‬ )‫ن‬ ‫مشتری‬ ‫به‬‫تکمیل‬ ‫تا‬ ‫شود‬ ‫داده‬ ‫شان‬ ‫بررسی‬ ‫آن‬ ‫بودن‬‫وتایید‬.‫گردد‬
  • 5. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 4 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ( ‫ویر‬ ‫سافت‬ ‫تطبیق‬ ‫و‬ ‫دیزاین‬ .‫ب‬Software Design and Implementation) ‫در‬ ‫شده‬ ‫مشخص‬ ‫وتعریفات‬ ‫نیازمندیها‬ ‫پراسه‬ ‫دراین‬software specification‫یعنی‬ ‫آوریم‬ ‫درمی‬ ‫ها‬ ‫درسیستم‬ ‫اجرا‬ ‫قابل‬ ‫شکل‬ ‫به‬ ‫را‬ ‫میک‬ ‫طراحی‬ ‫و‬ ‫دیزاین‬ ‫را‬ ‫سیستم‬.‫میکنند‬ ‫فرق‬ ‫ها‬ ‫ویر‬ ‫سافت‬ ‫نوع‬ ‫به‬ ‫نظر‬ ‫ها‬ ‫ویر‬ ‫سافت‬ ‫وتطبیقات‬ ‫دیزاین‬ ‫چگونگی‬ ‫که‬ .‫نیم‬ Architectural Design‫دراین‬ :activity‫یک‬General view‫یا‬block diagram‫و‬ ‫گردیده‬ ‫ایجاد‬ ‫ویر‬ ‫سافت‬ ‫یک‬‫تمام‬ ‫ها‬ ‫مادیول‬(sub System)‫شان‬ ‫بین‬ ‫ارتباطات‬ ‫با‬ ‫همراه‬.‫میگردد‬ ‫مشخص‬ Interface Design‫دراین‬ :activity‫بین‬ ‫انترفس‬component‫همچنین‬ ‫و‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫در‬ ‫موجود‬ ‫های‬‫بین‬ ‫انترفس‬ user‫و‬system‫میگردد‬ ‫دیزاین‬‫شودکه‬ ‫مدنظرگرفته‬ ‫باید‬ ‫که‬ ‫است‬ ‫فکتورهایی‬ ‫ها‬ ‫انترفس‬ ‫دیزاین‬ ‫در‬ ‫البته‬ .‫آن‬ ‫مهمترین‬‫ها‬ ، ‫استفاده‬ ‫در‬ ‫آسانی‬user friendly‫آن‬ ‫بودن‬‫آن‬ ‫بودن‬ ‫مشتری‬ ‫میل‬ ‫ومطابق‬.‫باشد‬ ‫می‬ Component Design‫هر‬ ‫موقعیت‬ ‫مرحله‬ ‫دراین‬ :component‫مشخص‬ ‫آن‬ ‫عملکرد‬ ‫وچگونگی‬ ‫درسیستم‬ ‫موجود‬ .‫میگردد‬ Database Design‫دیزاین‬ ‫را‬ ‫گردد‬ ‫ذخیره‬ ‫ها‬ ‫دیتابس‬ ‫در‬ ‫شکلی‬ ‫چه‬ ‫به‬ ‫واینکه‬ ‫را‬ ‫سیستم‬ ‫دیتای‬ ‫ساختار‬ ‫مرحله‬ ‫دراین‬ : .‫میکنیم‬
  • 6. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 5 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ‫دیزا‬ ‫درمرحله‬ ‫میبینید‬ ‫فوق‬ ‫درشکل‬ ‫قسمیکه‬‫ما‬ ‫ین‬activity‫اول‬ ‫بخش‬ .‫میکنیم‬ ‫رادیزاین‬ ‫بخش‬ ‫سه‬ ‫های‬input design‫که‬ ‫باشد‬ ‫می‬ ‫دیزاین‬ ‫شامل‬platform، ‫ها‬requirement specification‫دوم‬ ‫قسمت‬ .‫باشد‬ ‫می‬ ‫دیتا‬ ‫وتشریحات‬ ،Design activities‫باشد‬ ‫می‬ ، ‫ساختار‬ ، ‫ها‬ ‫انترفس‬ ‫درآن‬ ‫که‬component‫وقس‬ .‫میگردد‬ ‫دیزاین‬ ‫ودیتابس‬ ‫ها‬‫هم‬ ‫سوم‬ ‫مت‬Design output‫درآن‬ ‫باشدکه‬ ‫می‬ .‫میکنیم‬ ‫دیزاین‬ ‫را‬ ‫دیتا‬ ‫خروجی‬ ‫اشکال‬ .‫ج‬Software Validation ‫دراین‬ ‫کردیم‬ ‫ذکر‬ ‫قبال‬ ‫قسمیکه‬activity‫ودرصورت‬ ‫ویاخیر؟‬ ‫آید‬ ‫برمی‬ ‫نیازمندیها‬ ‫تمام‬ ‫پس‬ ‫از‬ ‫سیستم‬ ‫آیا‬ ‫که‬ ‫شود‬ ‫می‬ ‫وتایید‬ ‫مشخص‬ ‫مشتری‬ ‫دیتای‬ ‫با‬ ‫را‬ ‫سیستم‬ ‫ممکن‬test.‫کنیم‬ ‫می‬‫سه‬ ‫وشامل‬activity.‫باشد‬ ‫می‬ ‫ذیل‬ Development Test‫هر‬ ‫وعملکرد‬ ‫کارکرد‬ :component‫توسط‬ ‫جداگانه‬ ‫شکل‬ ‫به‬developer‫وبررسی‬ ‫آزمایش‬ ، (test.‫میگردد‬ )‫هر‬component.‫باشند‬ ‫وغیره‬ ‫ها‬ ‫مادیول‬ ‫ها‬ ‫فنکشن‬ ، ‫ها‬ ‫کالس‬ ‫تواند‬ ‫می‬ System Testing‫تمام‬ ‫وعملکرد‬ ‫کارکرد‬ :component‫شکل‬ ‫به‬ ‫ها‬( ‫یکجایی‬integrated.‫میگردد‬ ‫بررسی‬ ،) ‫بین‬ ‫وانفعال‬ ‫درفعل‬ ‫موجود‬ ‫ومشکالت‬component.‫میشود‬ ‫داده‬ ‫تشخیص‬ ‫ها‬ Acceptance Testing‫از‬ ‫مرحلهء‬ ‫آخرین‬ :testing‫باشدکه‬ ‫می‬‫مشتری‬ ‫نیازمندی‬ ‫رفع‬ ‫وقابلیت‬ ، ‫عملکرد‬‫توسط‬ product owner.‫میگردد‬ ‫آزمایش‬ ‫مشتری‬ ‫دیتای‬ ‫با‬ ‫و‬
  • 7. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 6 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ .‫د‬Software Evaluation: ‫به‬ ‫مشابه‬ ‫است‬ ‫ممکن‬software definition‫یک‬ ‫ساختن‬ ‫برای‬ ‫اوقات‬ ‫بعضی‬ ‫ویاهم‬ ‫باشد‬ ‫موجود‬ ‫های‬ ‫ویر‬ ‫سافت‬ ‫نیز‬ ‫ازقبل‬ ‫فعلی‬ ( ‫متحد‬ ‫را‬ ‫ویرموجودی‬ ‫سافت‬ ‫دو‬ ‫تراز‬ ‫اضافه‬ ‫ویا‬ ‫دو‬ ‫ممکن‬ ‫ویر‬ ‫سافت‬incorporate( ‫پذیری‬ ‫انعطاف‬ ‫ازاینرو‬ .‫کنیم‬ )flexibility) ‫اص‬ ‫ترین‬ ‫مهم‬ ‫ویر‬ ‫سافت‬ ‫یک‬‫برای‬ ‫ل‬software developer‫مشابه‬ ‫پذیر‬ ‫انعطاف‬ ‫های‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫صورت‬ ‫ودر‬ .‫باشد‬ ‫می‬ ‫ها‬ ‫فعلی‬ ‫مشتری‬ ‫نیازمندیهای‬‫تمام‬ ‫دوباره‬ ‫نیست‬ ‫نیازی‬ ‫باشیم‬ ‫داشته‬ ‫آماده‬ ‫شکل‬ ‫به‬ ‫ازقبل‬activity‫های‬software process‫تکمیل‬ ‫را‬ ‫نیازمن‬ ‫میتوانیم‬ ‫موجودی‬ ‫سیستم‬ ‫در‬ ‫آوردن‬ ‫تغییرات‬ ‫با‬ ‫بلکه‬ .‫کنیم‬‫تضاد‬ ‫در‬ ‫بدلیل‬ ‫ممکن‬ ‫هم‬ ‫تغییرات‬ ‫واین‬ ‫سازیم‬ ‫مرفوع‬ ‫را‬ ‫مشتری‬ ‫دی‬ ‫بودن‬platform،‫موجود‬ ‫ویر‬ ‫وسافت‬ ‫هاردویر‬ ‫های‬.‫بیاید‬ ‫ویر‬ ‫درسافت‬
  • 8. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 7 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Prototyping ‫برای‬‫ها‬ ‫فهمی‬ ‫غلط‬ ‫رفع‬‫و‬ ‫مشتری‬ ‫بین‬developer،‫تثبیت‬‫بهتر‬ ‫واستخراج‬‫مشتری‬ ‫های‬ ‫نیازمندی‬‫تشخیص‬ ،problem، ‫ها‬‫دریافت‬ ‫حل‬ ‫های‬ ‫راه‬‫بر‬ ‫غلبه‬ ‫برای‬problem،‫ویر‬ ‫سافت‬ ‫دیزاین‬ ‫وهمچنین‬ ، ‫ها‬‫وموقعیت‬ ‫ها‬ ‫انترفس‬ ‫شکل‬ ‫اکثرا‬component‫هارا‬ ‫نام‬ ‫به‬ ‫که‬ ‫میکنند‬ ‫سازی‬ ‫شبیه‬ ‫ورق‬ ‫برروی‬prototype.‫میگردد‬ ‫یاد‬ ‫نمونه‬ ‫پیش‬ ‫یا‬‫این‬ ‫که‬prototype‫و‬ ‫معلومات‬ ‫حاوی‬ functionality‫مرحلهء‬ ‫در‬ ‫هم‬ ‫که‬ ‫باشد‬ ‫می‬ ‫سیستم‬ ‫ابتدایی‬ ‫های‬software specification‫مرحلهء‬ ‫در‬ ‫وهم‬software design‫از‬ .‫میگردد‬ ‫استفاده‬ ‫آن‬ Prototype.‫باشد‬ ‫ذیل‬ ‫مفاهیم‬ ‫شامل‬ ‫باید‬ Technical issue‫ایجاد‬ ‫درزمان‬ ‫که‬ ‫تخنیکی‬ ‫موضوعات‬ :documentation.‫گردد‬ ‫بینی‬ ‫پیش‬ Work Flow and Task Flow‫و‬ ‫ارتباط‬ ‫چگونگی‬ ‫یعنی‬ :interactions‫ما‬ ‫بین‬ ‫ها‬‫نیازکه‬ ‫یک‬ ‫تکمیل‬ ‫بخاطر‬ ‫ها‬ ‫دیول‬ ‫شود‬ ‫گرفته‬ ‫مدنظر‬ ‫ویر‬ ‫سافت‬ ‫دیزاین‬ ‫درمرحله‬ ‫شکل‬Screen‫اطالعات‬ ‫نمایش‬ ‫طریق‬ ‫و‬ ‫خدمت‬ ‫بینم‬ ‫نمی‬ ‫الزم‬ ‫را‬ ‫نامشان‬ ‫ذکر‬ ‫که‬ ‫همکالسیم‬ ‫سه‬ ‫ویا‬ ‫دو‬ ‫همکاری‬ ‫به‬ ‫درصنف‬ ‫که‬ ‫را‬ ‫صنفی‬ ‫فعالیت‬ ‫که‬ ‫بینم‬ ‫می‬ ‫الزم‬ ‫قسمت‬ ‫دراین‬ .‫کنیم‬ ‫ارایه‬ ‫شما‬ ‫هرعضو‬ ‫فعالیت‬ ‫درین‬‫ونوشته‬ ‫میکرد‬ ‫پیشنهاد‬ ‫داشت‬ ‫دوست‬ ‫ویااینکه‬ ‫میکرد‬ ‫خطور‬ ‫شان‬ ‫ذهن‬ ‫در‬ ‫که‬ ‫را‬ ‫ویری‬ ‫سافت‬ ‫نوع‬ ‫هر‬ ‫گروپ‬ ‫الی‬ ‫صفر‬ ‫از‬ ‫گروپ‬ ‫عضو‬ ‫هر‬ ، ‫شده‬ ‫پیشنهاد‬ ‫ویر‬ ‫سافت‬ ‫هر‬ ‫برای‬ ‫سپس‬ ‫و‬ ‫میشد‬15‫هر‬ ‫شده‬ ‫داده‬ ‫امتیازات‬ ‫وسپس‬ ‫دادند‬ ‫می‬ ‫امتیاز‬ ‫ویر‬ ‫سافت‬.‫میشود‬ ‫جمع‬‫ش‬ ‫داده‬ ‫امتیازات‬ ‫مجموع‬ ‫که‬ ‫ویر‬ ‫سافت‬ ‫هر‬‫یک‬ ‫آن‬ ‫برای‬ ‫سپس‬ ‫و‬ ‫گردیده‬ ‫انتخاب‬ ‫شد‬ ‫بیشتر‬ ‫آن‬ ‫به‬ ‫ده‬ prototype‫نوشته‬ ‫نبود‬ ‫من‬ ‫به‬ ‫متعلق‬ ‫که‬ ‫ورق‬ ‫در‬ ‫چون‬ ‫ندارم‬ ‫دردسترس‬ ‫را‬ ‫موجود‬ ‫ویرهای‬ ‫سافت‬ ‫لیست‬ ‫بدبختانه‬ ‫که‬ .‫شود‬ ‫می‬ ‫ساخته‬ ‫فارس‬ ‫به‬ ‫آن‬ ‫جزییات‬ ‫با‬ ‫را‬ ‫کمپیوتری‬ ‫اصطالح‬ ‫هر‬ ‫که‬ ‫شود‬ ‫ساخته‬ ‫دیکشنری‬ ‫یک‬ ‫که‬ ‫شد‬ ‫براین‬ ‫اتفاق‬ ‫ولی‬ ‫بودیم‬‫ب‬ ‫و‬ ‫کند‬ ‫بیان‬ ‫ی‬‫همین‬ ‫ه‬ ‫حقوق‬ ، ‫اقتصاد‬ ، ‫زراعت‬ ‫ازقبیل‬ ‫ها‬ ‫رشته‬ ‫سایر‬ ‫موجودی‬ ‫اصطالحات‬ ‫ترتیب‬‫خاص‬ ‫اصطالحات‬ ‫دارای‬ ‫رشته‬ ‫هر‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫(با‬ .‫کند‬ ‫بیان‬ ‫جزییات‬ ‫با‬ ‫را‬ ) ‫میباشد‬ ‫خودش‬‫و‬‫دراینجا‬prototype‫تشکیل‬ ‫همگروپان‬ ‫کمک‬ ‫به‬ ‫خانگی‬ ‫وظیفهء‬ ‫عنوان‬ ‫به‬ ‫خانه‬ ‫در‬ ‫که‬ ‫هایی‬ ‫ذ‬ ‫در‬ ‫دادیم‬.‫بینید‬ ‫می‬ ‫یل‬
  • 9. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 8 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
  • 10. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 9 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
  • 11. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 10 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ .‫باشد‬ ‫می‬ ‫ها‬ ‫انترفس‬ ‫رسم‬ ‫تنها‬ ‫فوق‬ ‫اشکال‬ ‫البته‬.‫است‬ ‫گرفته‬ ‫صورت‬ ‫فوتوشاپ‬ ‫پروگرام‬ ‫کمک‬ ‫به‬ ‫که‬
  • 12. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 11 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Software Process Models ‫چهار‬ ‫تکمیل‬ ‫برای‬ ‫کردیم‬ ‫اشاره‬ ‫قبال‬ ‫همانطوریکه‬activity‫مهم‬‫یعنی‬Software Specification،Software Design and implementation،Software Validation‫و‬Software Evaluation‫که‬ ‫شود‬ ‫عمل‬ ‫گوناگون‬ ‫های‬ ‫طریقه‬ ‫به‬ ‫ممکن‬‫روش‬ ‫وطریقهء‬‫دادن‬ ‫نمایش‬activity‫ها‬‫نام‬ ‫به‬Software process model.‫میشود‬ ‫نامیده‬‫که‬ ‫گفت‬ ‫میتوان‬ ‫دیگر‬ ‫عبارت‬ ‫به‬software process model‫ها‬ ‫پراسس‬ ‫برای‬ ‫چوب‬ ‫چهار‬ ‫ازیک‬ ‫عبارت‬(process framework)‫میتوانیم‬ ‫که‬ ‫باشد‬ ‫می‬Activity‫روش‬ ‫هارابه‬ .‫دهیم‬ ‫نشان‬ ‫درآن‬ ‫بهتر‬‫که‬ ‫دهیم‬ ‫نشان‬ ‫آسانی‬ ‫بسیار‬ ‫به‬ ‫میتوانیم‬ ‫وهمچنین‬user‫ارتباط‬ ‫فعلی‬ ‫سیستم‬ ‫با‬ ‫چگونه‬ ‫دیگری‬ ‫سیستمی‬ ‫یک‬ ‫ویا‬ .‫میکند‬ ‫برقرار‬ ‫در‬ ‫یعنی‬software process model‫ها‬‫و‬ ‫ویرها‬ ‫سافت‬ ‫تعریف‬ ‫در‬ ‫شده‬ ‫وتشخیص‬ ‫موجود‬ ‫عمومیات‬‫این‬ ‫وچگونه‬ ‫چطور‬ ‫اینکه‬ ‫عمومیات‬، ‫داشته‬ ‫ارتباط‬ ‫باهم‬‫تعیین‬ ، ‫شود‬ ‫داده‬ ‫ترتیب‬ ‫کارها‬ ‫شکلی‬ ‫چه‬ ‫به‬ ‫ویر‬ ‫سافت‬ ‫تکمیل‬ ‫وبرای‬ ‫کنند‬ ‫عمل‬ ‫شکل‬ ‫چه‬ ‫به‬ .‫میگردد‬.‫میکنیم‬ ‫اشاره‬ ‫مشهور‬ ‫های‬ ‫مادل‬ ‫پراسس‬ ‫ویر‬ ‫سافت‬ ‫به‬ ‫قسمت‬ ‫دراین‬ Water Fall Model ‫مادل‬ ‫دراین‬activity‫یک‬ ‫اساسی‬ ‫های‬software process‫از‬ ‫عبارت‬ ‫که‬ ‫را‬Specification،Design and implementation ،Validation،Evaluation‫پراسه‬ ‫یک‬ ‫نشدن‬ ‫تکمیل‬ ‫تا‬ ‫که‬ ‫میشود‬ ‫عمل‬ ‫طوری‬ ‫ودرآن‬ ‫نموده‬ ‫تقسیم‬ ‫جداگانه‬ ‫های‬ ‫بخش‬ ‫به‬ ‫باشد‬ ‫می‬ ‫وارد‬ ‫نگردد‬ ‫جمع‬ ‫کامل‬ ‫طور‬ ‫به‬ ‫نیازمندیها‬ ‫زمانیکه‬ ‫تا‬ ‫مثال‬ .‫نمیگردد‬ ‫دیگر‬ ‫پراسهء‬ ‫شامل‬.‫شویم‬ ‫نمی‬ ‫دیزاین‬ ‫مرحلهء‬ ‫جلو‬ ‫به‬ ‫و‬ ‫شده‬ ‫گرفته‬ ‫مدنظر‬ ‫واحتماالت‬ ‫عواقب‬ ‫تمام‬ ‫و‬ ‫شده‬ ‫جمع‬ ‫کامل‬ ‫بطور‬ ‫نیازمندیها‬ ‫که‬ ‫است‬ ‫موثر‬ ‫زمانی‬ ‫مادل‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫آنصورت‬ ‫درغیر‬ ‫کنیم‬ ‫حرکت‬‫وقوع‬ ‫هم‬ ‫ویا‬ ‫نیازمندی‬ ‫در‬ ‫تغییر‬ ‫اندکی‬ ‫با‬problem‫شروع‬ ‫از‬ ‫دوباره‬ ‫را‬ ‫سیستم‬ ‫تا‬ ‫هستیم‬ ‫مجبور‬ ‫ها‬ ‫دیزا‬.‫کنیم‬ ‫ین‬ ‫میدهد‬ ‫نشان‬ ‫را‬ ‫فوق‬ ‫مادل‬ ‫در‬ ‫هزینه‬ ‫بررسی‬ ‫ذیل‬ ‫دیاگرام‬
  • 13. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 12 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Incremental Model ‫یک‬ ‫مادل‬ ‫دراین‬activity، ‫تشخیص‬ ‫کوچک‬‫به‬ ‫شروع‬ ‫سپس‬ ‫و‬ ‫گردیده‬ ‫بررسی‬ ‫و‬ ‫تکمیل‬activity‫وبدین‬ ‫کنیم‬ ‫می‬ ‫دیگری‬ ‫هر‬ ‫تکمیل‬ ‫با‬ ‫ترتیب‬activity( ‫ها‬ ‫نمونه‬versions.‫آید‬ ‫می‬ ‫بدست‬ ‫ویر‬ ‫سافت‬ ‫از‬ )‫یع‬‫هر‬ ‫در‬ ‫نی‬version، ‫خصوصیات‬ ‫و‬ ‫کرده‬ ‫اضافه‬ ‫را‬ ‫جدیدی‬ ‫های‬ ‫قابلیت‬ ‫و‬ ‫ویژگیها‬version.‫میاوریم‬ ‫بدست‬ ‫را‬ ‫جدیدی‬‫است‬ ‫موثر‬ ‫زمانی‬ ‫مادل‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫یک‬ ‫شدن‬ ‫تکمیل‬ ‫مجرد‬ ‫به‬ ‫تا‬ ‫باشد‬ ‫فعال‬ ‫شخص‬ ‫مشتری‬ ‫که‬activity‫آنرا‬test.‫دهد‬ ‫ارایه‬ ‫خودرا‬ ‫بعدی‬ ‫نیازمندی‬ ‫و‬ ‫هز‬ ‫ارزیابی‬ ‫ذیل‬ ‫جدول‬.‫میدهد‬ ‫نشان‬ ‫بخش‬ ‫هر‬ ‫تکمیل‬ ‫برای‬ ‫را‬ ‫ینه‬ Reuse-oriented software engineering
  • 14. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 13 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ‫و‬ ‫ها‬ ‫ویر‬ ‫سافت‬ ‫اساس‬ ‫به‬ ‫ویر‬ ‫سافت‬ ‫تا‬ ‫شود‬ ‫می‬ ‫کوشش‬ ‫مادل‬ ‫دراین‬component‫مادل‬ ‫درین‬ ‫یعنی‬ ‫شود‬ ‫ساخته‬ ‫موجودی‬ ‫هایی‬ component‫و‬ ‫ها‬activity‫دیگر‬ ‫باهم‬ ‫را‬ ‫مختلف‬ ‫های‬integrate‫جدید‬ ‫مادل‬ ‫وسپس‬ ‫نموده‬.‫آوریم‬ ‫می‬ ‫دست‬ ‫به‬ ‫آن‬ ‫از‬ ‫را‬ .‫میدهد‬ ‫نشان‬ ‫مادل‬ ‫درین‬ ‫را‬ ‫هزینه‬ ‫بررسی‬ ‫ذیل‬ ‫جدول‬ Agile Software Development & Project Management ‫بخش‬ ‫برعالوهء‬ ‫و‬ ‫است‬ ‫نموده‬ ‫جمع‬ ‫را‬ ‫فوق‬ ‫های‬ ‫مادل‬ ‫تمام‬ ‫های‬ ‫خوبی‬ ‫حقیقت‬ ‫در‬ ‫مادل‬ ‫این‬software process‫بخش‬ ‫درآن‬ project management‫شامل‬ ‫نیز‬.‫است‬‫با‬ ‫تر‬ ‫زیاد‬ ‫شباهت‬ ‫که‬ ‫مادل‬ ‫دراین‬incremental model‫منظم‬ ‫غیر‬ ‫و‬ ‫منظم‬ ‫بطور‬ ‫دارد‬ .‫میگردد‬ ‫باخبر‬ ‫کامال‬ ‫آن‬ ‫نتیجهء‬ ‫و‬ ‫کار‬ ‫پیشرفت‬ ‫از‬ ‫مشتری‬ ‫که‬ ‫میگردد‬ ‫دایر‬ ‫مشتری‬ ‫با‬ ‫رسمی‬ ‫غیر‬ ‫هایی‬ ‫مالقات‬‫اک‬ ‫مشتری‬ ‫ازاینرو‬‫ثرا‬ .‫میگردد‬ ‫محسوب‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬ ‫از‬ ‫عضو‬ ‫یک‬ ‫منحیث‬‫اکثرا‬software developer‫می‬ ‫استفاده‬ ‫روش‬ ‫ازاین‬ ‫معاصر‬ ‫هایی‬ ‫برای‬ ‫را‬ ‫جدید‬ ‫قوانین‬ ‫روش‬ ‫این‬ .‫کنند‬project management‫و‬software development:‫از‬ ‫عبارتند‬ ‫که‬ ‫است‬ ‫نموده‬ ‫معرفی‬ ‫ا‬ ‫بخش‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫مشتری‬ ‫ازاینرو‬ .‫شود‬ ‫نگهداشته‬ ‫راضی‬ ‫باید‬ ‫که‬ ‫میشود‬ ‫داده‬ ‫اولویت‬ ‫بلندترین‬ ‫مشتری‬ ‫به‬ ‫مادل‬ ‫درین‬‫ز‬‫تیم‬ .‫میشود‬ ‫شمرده‬ .‫شود‬ ‫ویر‬ ‫سافت‬ ‫ساختن‬ ‫در‬ ‫تأخیر‬ ‫باعث‬ ‫اینکه‬ ‫ولو‬ ‫باشید‬ ‫خوشروی‬ ‫مشتری‬ ‫از‬ ‫تغییرات‬ ‫پذیرفتن‬ ‫در‬ ‫که‬ ‫بخشهای‬ ‫تنها‬ ‫مشتری‬ ‫نبودن‬ ‫مسلکی‬ ‫به‬ ‫توجه‬ ‫با‬output‫هایی‬ ‫بخش‬ ‫دادن‬ ‫نشان‬ ‫از‬ ‫و‬ .‫دهید‬ ‫نشان‬ ‫مشتری‬ ‫به‬ ‫باشد‬ ‫داشته‬ ‫که‬output‫ق‬ ‫هر‬ ‫ولو‬ ‫کنید‬ ‫خودداری‬ ‫مشتری‬ ‫به‬ ‫ندارد‬.‫باشید‬ ‫شده‬ ‫متحمل‬ ‫را‬ ‫زحمات‬ ‫در‬ ‫تحصیل‬ ‫مختلف‬ ‫هایی‬ ‫دررشته‬ ‫که‬ ‫باشند‬ ‫افرادی‬ ‫از‬ ‫متشکل‬ ‫باید‬ ‫میکنند‬ ‫کار‬ ‫مادل‬ ‫دراین‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫درتیم‬ ‫که‬ ‫افرادی‬ .‫باشند‬ ‫کرده‬ .‫نمایند‬ ‫کار‬ ‫میخواهند‬ ‫که‬ ‫بخش‬ ‫هر‬ ‫در‬ ‫شان‬ ‫وخواستار‬ ‫میل‬ ‫اساس‬ ‫به‬ ‫باید‬ ‫تیم‬ ‫اعضای‬ ‫حضوری‬ ‫مالقات‬ ‫که‬ ‫شود‬ ‫کوشش‬ ‫حدتوان‬ ‫تا‬.‫شود‬ ‫برگزار‬ ‫تر‬ ‫زیاد‬ ‫تیم‬ ‫اعضای‬ ‫و‬ ‫مشتری‬ ‫با‬ ‫وغیررسمی‬ .‫گردد‬ ‫بررسی‬ ‫باید‬ ‫آن‬ ‫پیشرفت‬ ‫و‬ ‫کار‬ ‫جریان‬ .‫باشد‬ ‫ثابت‬ ‫باید‬ ‫هستید‬ ‫ساختن‬ ‫حال‬ ‫در‬ ‫راکه‬ ‫محصول‬ ‫ویا‬ ‫ها‬ ‫پراسه‬ ‫تمام‬activity‫ازروی‬ ‫منظم‬ ‫و‬ ‫مسلسل‬ ‫شکل‬ ‫به‬ ‫باید‬ ‫شود‬ ‫می‬ ‫انجام‬ ‫که‬ ‫هایی‬assembly line.‫گیرد‬ ‫صورت‬ Simplicity‫باید‬ :.‫دهند‬ ‫انجام‬ ‫آنرا‬ ‫و‬ ‫دانسته‬ ‫خودرا‬ ‫وظیفهء‬ ‫بخوبی‬ ‫هریک‬ ‫تیم‬ ‫افراد‬ ‫که‬ ‫شود‬ ‫ساده‬ ‫طوری‬ ‫ها‬ ‫پراسه‬ ‫خودرا‬ ‫باید‬ ‫تیم‬ ‫اعضای‬organize.‫کنند‬
  • 15. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 14 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ .‫شوند‬ ‫تقدیر‬ ‫نمایند‬ ‫می‬ ‫تکمیل‬ ‫احسن‬ ‫وجه‬ ‫به‬ ‫خودرا‬ ‫وظیفه‬ ‫که‬ ‫وافرادی‬ ‫داشته‬ ‫وجود‬ ‫تیم‬ ‫اعضای‬ ‫بین‬ ‫همکاری‬ ‫حس‬ ‫تیم‬agile‫باشن‬ ‫می‬ ‫ذیل‬ ‫افراد‬ ‫از‬ ‫متشکل‬.‫باشند‬ ‫تیم‬ ‫یک‬ ‫تواند‬ ‫می‬ ‫فرد‬ ‫هر‬ ‫که‬ ‫د‬ Product Owner (customer):‫عمدهء‬ ‫فرق‬agile model‫از‬ ‫عضو‬ ‫یک‬ ‫مشتری‬ ‫مادل‬ ‫درین‬ ‫که‬ ‫است‬ ‫دراین‬ ‫ها‬ ‫مادل‬ ‫باسایر‬ .‫آید‬ ‫می‬ ‫حساب‬ ‫به‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬‫و‬ ‫نیازمندیها‬ ‫به‬ ‫دهی‬ ‫واولویت‬ ‫انتخاب‬ ، ‫دستورسازی‬ ‫از‬ ‫عبارت‬ ‫آن‬ ‫های‬ ‫ومسؤلیت‬ ‫ساف‬ ‫خصوصیات‬.‫میباشد‬ ‫ویر‬ ‫ت‬ Manager (SCRUM Master):‫منحیث‬ ‫که‬ ‫است‬ ‫شخصی‬product owner‫یعنی‬ .‫باشد‬ ‫می‬ ‫ها‬ ‫تیم‬ ‫برای‬requirement ‫سافت‬ ‫های‬ ‫تیم‬ ‫بین‬ ‫انترفس‬ ‫یک‬ ‫منحیث‬ ‫ودرحقیقت‬ .‫میکند‬ ‫مدیریت‬ ‫را‬ ‫دیگر‬ ‫های‬ ‫تیم‬ ‫و‬ ‫گرفته‬ ‫مدنظر‬ ‫را‬ ‫مشتری‬ ‫ونظریات‬ ‫و‬ ‫ویرسازی‬product owner‫تخنیک‬ ‫باید‬ ‫که‬ ‫میباشد‬.‫باشد‬ ‫ی‬ ‫در‬ ‫هارا‬ ‫پراسه‬ ‫تکمیل‬ ‫طریق‬ ‫ذیل‬ ‫مراحل‬Agile software development.‫میدهند‬ ‫نشان‬ Product Backlog ‫ساختن‬ ‫از‬ ‫عبارت‬ ‫دهد‬ ‫می‬ ‫انجام‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬ ‫که‬ ‫کاری‬ ‫اولین‬backlog‫عبارت‬ ‫درحقیقت‬ ‫سفارشات‬ ‫این‬ ‫که‬ ‫است‬ ‫سفارشات‬ ‫یا‬ ‫تک‬ ‫تک‬ ‫توسط‬ ‫که‬ ‫باشد‬ ‫می‬ ‫ویر‬ ‫سافت‬ ‫نیازمندیهای‬ ‫از‬‫نسخه‬ ‫تا‬ ‫شوند‬ ‫می‬ ‫تعریف‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬ ‫افراد‬‫ا‬ ‫تمام‬ ‫سیستم‬ ‫آخری‬ ‫ء‬‫ین‬ ‫در‬ ‫بسازد.یعنی‬ ‫برآورده‬ ‫را‬ ‫نیازمندیها‬product backlog‫تمام‬functional Requirement‫و‬Non functional requirement .‫میگردد‬ ‫مشخص‬ Sprint Planning ‫تمام‬ ‫مرحله‬ ‫دراین‬activity‫به‬ ‫موجود‬ ‫های‬ ‫پراسه‬ ‫و‬ ‫ها‬phase‫نظر‬ ‫در‬ ‫مناسب‬ ‫وقت‬ ‫مذکور‬ ‫بخش‬ ‫هر‬ ‫وبه‬ ‫میگردد‬ ‫تقسیم‬ ‫ها‬ ‫وبخش‬ ‫ها‬ .‫شود‬ ‫می‬ ‫گرفته‬ Sprint Backlog ، ‫فازها‬ ‫در‬ ‫شده‬ ‫تقسیم‬ ‫نیازمندیهای‬ ‫انبوه‬ ‫بین‬ ‫از‬ ‫مرحله‬ ‫درین‬‫و‬ ‫ها‬ ‫پراسه‬ ‫فاز‬ ‫هر‬ ‫در‬activity‫نام‬ ‫به‬ ‫کدام‬ ‫هر‬ ‫که‬ ‫میگردد‬ ‫مشخص‬ ‫ها‬ sprint‫هر‬ ‫وبرای‬ ‫میگردد‬ ‫یاد‬sprint‫وقت‬‫(مع‬‫موال‬1)‫دوهفته‬ ‫الی‬‫انتخاب‬ ‫البته‬ ‫میگیریم‬ ‫مدنظر‬ ‫را‬sprint‫گردد‬ ‫تکمیل‬ ‫باید‬ ‫اول‬ ‫که‬ ‫توسط‬product owner.‫میگیرد‬ ‫صورت‬
  • 16. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 15 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Daily Scrum ‫باید‬ ‫پروژه‬ ‫افراد‬ ‫تمام‬ ‫ناگزیر‬ ‫میگرددکه‬ ‫برگزار‬ ‫یی‬ ‫دقیقه‬ ‫پانزده‬ ‫جلسه‬ ‫روزه‬ ‫همه‬ ‫مشکالت‬ ‫رفع‬ ‫همچنین‬ ‫و‬ ‫تیم‬ ‫افراد‬ ‫بین‬ ‫هماهنگی‬ ‫برای‬ ‫بگ‬ ‫سهم‬ ‫درآن‬.‫یرد‬‫تیم‬ ‫ویاهر‬ ‫عضو‬ ‫هر‬ ‫درآن‬ ‫که‬: ‫ازآخرین‬ ‫بعد‬ ‫که‬ ‫را‬ ‫کاری‬ ‫مقدار‬daily scrum.‫میکنند‬ ‫بیان‬ ‫داد‬ ‫انجام‬ ‫تا‬ ‫راکه‬ ‫کاری‬ ‫مقدار‬daily scrum.‫میکنند‬ ‫بیان‬ ‫داد‬ ‫خواهند‬ ‫انجام‬ ‫بعدی‬ .‫میکنند‬ ‫بیان‬ ‫را‬ ‫فعلی‬ ‫وموانع‬ ‫مشکالت‬ Born Down Chart ‫وبررسی‬ ‫مانیتورینگ‬ ‫برای‬ ‫که‬ ‫است‬ ‫چارت‬ ‫از‬ ‫عبارت‬.‫میگردد‬ ‫استفاده‬ ‫باقیمانده‬ ‫وقت‬ ‫به‬ ‫نظر‬ ‫شده‬ ‫نداده‬ ‫انجام‬ ‫کار‬ ‫مقدار‬‫به‬ ‫یعنی‬‫اساس‬ .‫اند‬ ‫رفته‬ ‫پیش‬ ‫به‬ ‫ویا‬ ‫اند‬ ‫افتیده‬ ‫عقب‬ ‫پالن‬ ‫از‬ ‫وآیا‬ ‫اند‬ ‫نموده‬ ‫پیشرفت‬ ‫حد‬ ‫چه‬ ‫تا‬ ‫میدانندکه‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬ ‫چارت‬ ‫این‬ Sprint Review ‫هر‬ ‫درختم‬ ‫که‬ ‫میگردد‬ ‫استفاده‬ ‫میکانیزمی‬ ‫از‬ ‫مرحله‬ ‫دراین‬sprint‫را‬ ‫گرفته‬ ‫صورت‬ ‫کارهای‬review‫نموده‬analyze.‫میکنیم‬
  • 17. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 16 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Requirement Engineering Requirement‫یا‬ ‫پراسه‬ ‫یک‬ ‫تشریح‬ ‫و‬ ‫ازتعریف‬ ‫عبارت‬activity‫همچنین‬ ‫و‬ .‫دهد‬ ‫انجام‬ ‫آنرا‬ ‫باید‬ ‫سیستم‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫که‬ ‫باشد‬ ‫می‬ ( ‫محدودیات‬ ‫تعریف‬constraints.‫ندهد‬ ‫انجام‬ ‫مذکور‬ ‫پراسه‬ ‫که‬ )‫وی‬‫و‬ ‫پراسه‬ ‫یک‬ ‫ومتنی‬ ‫نظری‬ ‫دیگرشکل‬ ‫عبارت‬ ‫ابه‬service‫را‬ ‫نام‬ ‫به‬ ‫آن‬ ‫محدودیات‬ ‫درنظرداشت‬ ‫با‬ ‫همراه‬requirement.‫میکنند‬ ‫یاد‬ ‫درآن‬ ‫که‬ ‫وپراسهء‬Requirement، ‫تحلیل‬ ، ‫تشخیص‬ ‫ها‬documenting‫نام‬ ‫به‬ ‫میگردد‬ ‫بررسی‬ ‫و‬Requirement Engineering .‫میگردد‬ ‫یاد‬‫ضروریا‬ ‫درآن‬ ‫که‬ ‫پراسهء‬ ‫یعنی‬‫دهد‬ ‫انجام‬ ‫را‬ ‫کارهایی‬ ‫چه‬ ‫باید‬ ‫سیستم‬ ‫که‬ ‫میگردد‬ ‫تشخیص‬ ‫و‬ ‫شده‬ ‫آوری‬ ‫جمع‬ ‫ونیازمندیها‬ ‫ت‬ ‫نام‬ ‫به‬ ‫سازیم‬ ‫می‬ ‫مال‬ ‫خودرا‬ ‫مذکور‬ ‫ویر‬ ‫درسافت‬ ‫استاد‬ ‫اصطالح‬ ‫به‬ ‫و‬Requirement Engineering‫میگردد‬ ‫یاد‬. ‫در‬software engineering( ‫مشکالت‬ ‫کاهش‬ ‫بخاطر‬problems‫خور‬ ‫هایی‬ ‫بخش‬ ‫به‬ ‫نیازمندیها‬ )‫بخش‬ ‫درهر‬ ‫و‬ ‫گردیده‬ ‫تقسیم‬ ‫د‬ .‫ندهد‬ ‫انجام‬ ‫هارا‬ ‫پراسه‬ ‫کدام‬ ‫و‬ ‫دهد‬ ‫انجام‬ ‫هارا‬ ‫پراسه‬ ‫کدام‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫میگردد‬ ‫مشخص‬ ‫در‬Requirement Engineering‫دوبخش‬ ‫به‬ ‫نیازمندیها‬User Requirement‫و‬System Requirement.‫میگردد‬ ‫تقسیم‬ User Requirement‫نیازمندیهای‬ ‫به‬High Level‫گفت‬ ‫وکلی‬‫به‬ ‫باید‬ ‫سیستم‬ ‫که‬ ‫شود‬ ‫می‬ ‫ه‬user‫واین‬ ‫بدهد‬ ‫ها‬user‫یک‬ ‫تواند‬ ‫می‬ ‫نمی‬ ‫جزییات‬ ‫به‬ ‫زیاد‬ ‫نیازمندیها‬ ‫دراین‬ ‫یعنی‬ .‫است‬ ‫ارتباط‬ ‫در‬ ‫ما‬ ‫سیستم‬ ‫ویر‬ ‫سافت‬ ‫به‬ ‫که‬ ‫باشد‬ ‫دیگر‬ ‫سیستم‬ ‫یک‬ ‫هم‬ ‫ویا‬ ‫باشد‬ ‫شخص‬ .‫پردازیم‬ ‫نیازمندی‬ ‫از‬ ‫(هدف‬high level‫ها‬ ‫دیاگرام‬ ‫و‬ ‫انسانها‬ ‫زبان‬ ‫شکل‬ ‫به‬ ‫که‬ ‫است‬ ‫این‬‫برای‬ ‫را‬ ‫ها‬ ‫پراسه‬ ‫و‬ .‫باشد‬ ‫شده‬ ‫مشخص‬user‫ها‬ ).‫کند‬ ‫مشخص‬ System Requirement‫تطبیق‬ ‫مو‬ ‫موبه‬ ‫عملکرد‬ ‫و‬ ‫خدمات‬ ، ‫ها‬ ‫پراسه‬ ‫چطور‬ ‫کند‬ ‫می‬ ‫مشخص‬ ‫که‬ ‫شود‬ ‫می‬ ‫گفته‬ ‫نیازمندیهای‬ ‫به‬ .‫باشد‬ ‫می‬ ‫آنها‬ ‫دربارهء‬ ‫مکمل‬ ‫معلومات‬ ‫وحاوی‬ .‫گردد‬ ‫بخش‬ ‫دو‬ ‫به‬ ‫نیز‬ ‫اولویت‬ ‫لحاظ‬ ‫از‬ ‫ها‬ ‫پراسه‬Functional Requirement‫و‬Non Functional Requirement.‫میگردد‬ ‫تقسیم‬
  • 18. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 17 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Functional Requirements.‫شود‬ ‫می‬ ‫پنداشته‬ ‫ناقص‬ ‫سیستم‬ ‫ویر‬ ‫سافت‬ ‫آن‬ ‫نبود‬ ‫صورت‬ ‫در‬ ‫که‬ ‫میگردد‬ ‫اطالق‬ ‫نیازمندیهای‬ ‫به‬ ‫درحالیکه‬nonfunctional Requirements‫موجودیت‬ ‫درصورت‬ ‫که‬ ‫شود‬ ‫می‬ ‫گفته‬ ‫وخصوصیات‬ ‫اضافی‬ ‫ویژگیهای‬ ‫به‬‫کارایی‬ ‫آن‬ .‫دهد‬ ‫انجام‬ ‫خودرا‬ ‫اصلی‬ ‫وظیفهء‬ ‫سیستم‬ ‫هم‬ ‫آن‬ ‫نبود‬ ‫صورت‬ ‫در‬ ‫ولی‬ ‫رفته‬ ‫باال‬ ‫سیستم‬ ‫عملکرد‬ ‫و‬‫بدهیم‬ ‫مثال‬ ‫را‬ ‫اگربایسکل‬ ‫مثال‬ ‫بطور‬ ، ‫تایر‬ ‫داشتن‬handle‫یک‬Functional Requirement‫وغیره‬ ‫بریک‬ ، ‫هارن‬ ‫قبیل‬ ‫از‬ ‫دیگری‬ ‫اضافی‬ ‫خصوصیات‬ ‫درحالیکه‬ ‫است‬ Nonfunctional Requirement‫شده‬ ‫آورده‬ ‫مثال‬ ‫این‬ ‫موضوع‬ ‫بهتر‬ ‫درک‬ ‫برای‬ ‫ولی‬ ‫ندارد‬ ‫ویر‬ ‫سافت‬ ‫با‬ ‫ربطی‬ ‫بایسکل‬ ‫البته‬ ( ‫است‬ ).‫است‬ Functional Requirement‫میگردد‬ ‫تقسیم‬ ‫بخش‬ ‫دو‬ ‫به‬ ‫هم‬ Functional User Requirements‫به‬ ‫که‬ ‫اساسی‬ ‫نیازمندیهای‬ :user.‫کند‬ ‫درک‬ ‫را‬ ‫سیستم‬ ‫کارآیی‬ ‫تا‬ ‫کند‬ ‫می‬ ‫کمک‬ Functional System Requirement.‫دارد‬ ‫نیاز‬ ‫آن‬ ‫به‬ ‫بودنش‬ ‫کامل‬ ‫برای‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫اساسی‬ ‫نیازمندیهای‬ : Nonfunctional Requirement:‫میگردد‬ ‫تقسیم‬ ‫بخش‬ ‫سه‬ ‫به‬ Product Requirement‫که‬ ‫ونیازمندیهای‬ ‫ویژگیها‬ :Behavior‫سازد‬ ‫می‬ ‫خوبتر‬ ‫را‬ ‫ویر‬ ‫سافت‬‫عملکرد‬ ‫سرعت‬ ‫قبیل‬ ‫از‬ ، ‫سیستم‬‫نیا‬ ‫مورد‬ ‫حافظه‬ ‫مقدار‬‫اطمینان‬ ‫قابلیت‬ ،‫ز‬.‫وغیره‬‫که‬ ‫دارد‬ ‫دیگری‬ ‫مختلفی‬ ‫انوع‬ ‫نیازمندیها‬ ‫این‬:‫عبارتنداز‬ oUsability Requirements:‫شدن‬ ‫بهتر‬ ‫برای‬ ‫که‬ ‫ومعلوماتی‬ ‫نیازها‬usability.‫است‬ ‫ویر‬ ‫سافت‬ oEfficiency Requirement:.‫دهد‬ ‫انجام‬ ‫کارخودرا‬ ‫تر‬ ‫موثر‬ ‫شکل‬ ‫به‬ ‫تا‬ ‫میکند‬ ‫کمک‬ ‫ویر‬ ‫سافت‬ ‫به‬ ‫که‬ ‫معلومات‬ ‫وب‬‫میگردد‬ ‫تقسیم‬ ‫زیر‬ ‫دوبخش‬ ‫ه‬ Performance Requirement:.‫میکند‬ ‫تعریف‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫بهتر‬ ‫عملکرد‬ ‫که‬ ‫معلومات‬ Space Requirement‫معلومات‬ :‫از‬ ‫تا‬ ‫میکند‬ ‫کمک‬ ‫ویر‬ ‫سافت‬ ‫به‬ ‫که‬space‫استفاده‬ ‫کمتر‬ ‫ومنابع‬ ‫ودرمیموری‬ .‫کنند‬RAM.‫بگیرد‬ ‫کمتر‬ ‫فضای‬ oDependability Requirement‫حاوی‬ :‫معلوم‬‫که‬ ‫باشد‬ ‫می‬ ‫ات‬user‫معلومات‬ ‫دادن‬ ‫دست‬ ‫از‬ ‫نگرانی‬ ‫از‬ ‫هارا‬ ‫با‬ ‫ولو‬ ‫شان‬fail.‫میکند‬ ‫بیرون‬ ، ‫هایشان‬ ‫سیستم‬ ‫شدن‬ oSecurity Requirement:.‫باشد‬ ‫می‬ ‫میسازد‬ ‫رفع‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫امنیتی‬ ‫مشکالت‬ ‫که‬ ‫نیازمندیهای‬ ‫شامل‬ Organizational Requirement:‫و‬ ‫سافت‬ ‫سیستم‬ ‫وگسترده‬ ‫وسیع‬ ‫نیازمندیهای‬‫دستورالعملهای‬ ‫و‬ ‫ها‬ ‫پالیسی‬ ‫از‬ ‫که‬ ‫یر‬ ‫و‬ ‫مشتری‬developer.‫باشد‬ ‫می‬ ‫شامل‬ ‫را‬ ‫آید‬ ‫می‬ ‫دست‬ ‫به‬ ‫شان‬ ‫کاری‬ ‫محیط‬ ‫از‬:‫است‬ ‫نوع‬ ‫سه‬ ‫به‬ ‫نیازمندیها‬ ‫واین‬ oEnvironmental Requirement: oOperational requirement.‫میکند‬ ‫مشخص‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫از‬ ‫استفاده‬ ‫چگونگی‬ ‫که‬ ‫هایی‬ ‫نیازمندی‬ : oDevelopment Requirement‫محیط‬ ‫و‬ ‫نویسی‬ ‫پروگرام‬ ‫لسان‬ :development‫مشخص‬ ‫را‬ ‫افزار‬ ‫نرم‬ ‫یک‬ .‫میکند‬ External Requirement:.‫باشد‬ ‫می‬ ‫میگذارند‬ ‫اثر‬ ‫سیستم‬ ‫باالی‬ ‫خارجی‬ ‫های‬ ‫فکتور‬ ‫از‬ ‫که‬ ‫نیازمندیهای‬ ‫تمام‬ ‫شامل‬‫وشامل‬ .‫باشد‬ ‫می‬ ‫ذیل‬ ‫انواع‬ oRegulatory Requirement‫سیستم‬ ‫کننده‬ ‫تنظیم‬ ‫که‬ ‫شود‬ ‫مشخص‬ :‫چه‬ ‫ویر‬ ‫سافت‬ ‫از‬ ‫واستفاده‬ ‫تنظیم‬ ‫برای‬ ‫باید‬ .‫دهد‬ ‫انجام‬ ‫باید‬ ‫کارهایی‬ oEthical Requirement.‫باشدویاخیر‬ ‫می‬ ‫مشتری‬ ‫برای‬ ‫قبول‬ ‫قابل‬ ‫سیستم‬ ‫آیا‬ ‫که‬ ‫میکند‬ ‫مشخص‬ : oLegislative Requirement:.‫کند‬ ‫عمل‬ )‫(قانونی‬ ‫حقوقی‬ ‫شده‬ ‫ساخته‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫شود‬ ‫مشخص‬ ‫باید‬ Accounting Requirement Safety/Security Requirement ‫های‬ ‫بندی‬ ‫تقسیم‬ ‫این‬ ‫تمام‬ ‫ذیل‬ ‫دیاگرام‬Nonfunctional Requirement.‫میدهد‬ ‫رانشان‬
  • 19. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 18 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ‫در‬ ‫شده‬ ‫فراموشم‬ ‫نامش‬ ‫که‬ ‫دیگرم‬ ‫عزیز‬ ‫همصنفی‬ ‫ویک‬ ‫الرحمن‬ ‫مجیب‬ ، ‫جان‬ ‫شکیب‬ ‫کمک‬ ‫به‬ ‫که‬ ‫را‬ ‫صنفی‬ ‫فعالیت‬ ‫قسمت‬ ‫درین‬ .‫میکنم‬ ‫ارایه‬ ‫تان‬ ‫خدمت‬ ‫نمودیم‬ ‫تکمیل‬ ‫صنف‬ ‫شاگردان‬ ‫از‬ ‫بخش‬ ‫ویک‬ ‫شوند‬ ‫تقسیم‬ ‫حصه‬ ‫دو‬ ‫به‬ ‫شاگردان‬ ‫که‬ ‫شد‬ ‫می‬ ‫تکمیل‬ ‫روشی‬ ‫به‬ ‫باید‬ ‫فعالیت‬ ‫این‬functional requirement ‫سیستم‬ATM (Automatic teller machine)‫شاگردان‬ ‫از‬ ‫دیگری‬ ‫بخش‬ ‫و‬ ‫کنند‬ ‫آوری‬ ‫جمع‬ ‫را‬Nonfunctional Requirement .‫کنند‬ ‫آوری‬ ‫جمع‬ ‫را‬ ‫مذکور‬ ‫سیستم‬ ‫بخش‬ ‫که‬Functional Requirement‫عبارت‬ ‫گردید‬ ‫تایید‬ ‫استاد‬ ‫توسط‬ ‫و‬ ‫شد‬ ‫داده‬ ‫ارایه‬ ‫شاگردان‬ ‫دیگر‬ ‫گروپ‬ ‫توسط‬ ‫که‬ ‫سیستم‬ ‫این‬ :‫از‬ ‫است‬ Withdraw Check Balance Security Count money‫وغیره‬ ‫وبخش‬NonFunctional Requirement: ‫از‬ ‫اند‬ ‫عبارت‬ ‫آن‬ Secure Screen Billing Manual or Help Voice System Alarm during Security problem Changeable Language Taking ATM Cart before receiving money Additional battery or UPS Report if many is less than 2000$ ‫وغیره‬
  • 20. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 19 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Architectural Design and System Modeling Architectural Design ‫سیستم‬ ‫یک‬ ‫ساختارکلی‬(Overall Structure)‫از‬ ‫استفاده‬ ‫با‬architectural design‫یعنی‬ ‫میگردد‬ ‫تعیین‬architectural design ‫دهندهء‬ ‫ارتباط‬Requirement Engineering‫و‬Design( ‫تنظیم‬ ‫باید‬ ‫چگونه‬ ‫سیستم‬ ‫یک‬ ‫که‬ ‫میکند‬ ‫تعیین‬ ‫که‬ ‫میبااشد‬organize‫شود‬ ) ‫ب‬ ‫و‬( ‫به‬ ‫توجه‬ ‫با‬ ‫آن‬ ‫دیزاین‬ ‫رای‬requirements)‫کدام‬component‫ها‬‫اس‬ ‫نیاز‬‫بین‬ ‫ارتباط‬ ‫وهمچنین‬ ‫ت‬component‫چه‬ ‫به‬ ‫باید‬ ‫ها‬ .‫باشد‬ ‫شکل‬‫مرحله‬ ‫این‬ ‫تکمیل‬ ‫نتیجهء‬ ‫که‬(architectural Model)‫مجموعهء‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫سیستم‬ ‫یک‬ ‫چگونه‬ ‫که‬ ‫کند‬ ‫مشخص‬ ‫باید‬ component.‫است‬ ‫شده‬ ‫تنظیم‬ ‫یافته‬ ‫ارتباط‬ ‫های‬ Architectural Design‫بهتر‬ ‫گرفتن‬ ‫برای‬requirement‫از‬ ‫جدید‬‫کننده‬ ‫استفاده‬ ‫با‬ ‫نظر‬ ‫وتبادل‬ ‫مذاکره‬ ‫منظور‬ ‫به‬ ‫وهمچنین‬ ‫مشتری‬ ، ‫گان‬.‫دارد‬ ‫اهمیت‬ ‫مشتریان‬ ‫و‬ ‫طراحان‬ ‫ذیل‬ ‫دیاگرام‬ ‫شکل‬ ‫مثال‬ ‫بطور‬architectural design‫میتواند‬ ‫که‬ ‫رباط‬ ‫سیستم‬ ‫یک‬ ‫برای‬ ‫را‬Object، ‫دیده‬ ‫را‬ ‫مختلف‬ ‫هایی‬‫اندازه‬ ‫آنرا‬‫دهد‬ ‫حمل‬ ‫وآنرا‬ ‫کرده‬ ‫بندی‬ ‫بسته‬ ، ‫داده‬ ‫تشخیص‬.‫میدهد‬ ‫رانشان‬ ‫رباط‬ ‫اوال‬ ‫میبینید‬ ‫فوق‬ ‫شکل‬ ‫در‬ ‫همانطوریکه‬object‫آم‬ ‫آنرا‬ ، ‫آن‬ ‫بندی‬ ‫بسته‬ ‫بعداز‬ ‫و‬ ‫نموده‬ ‫وشناسایی‬ ‫تشخیص‬ ‫آنرا‬ ‫و‬ ‫دیده‬ ‫هارا‬‫اده‬ ‫انتق‬ ‫آنرا‬ ‫سپس‬ ‫و‬ ‫نموده‬ ‫انتقال‬.‫میدهد‬ ‫ال‬
  • 21. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 20 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ System Modeling ‫قالب‬ ‫در‬ ‫میتوان‬ ‫را‬ ‫کمپیوتری‬ ‫سیستم‬ ‫هر‬ ‫عادی‬ ‫بصورت‬inputProcessing  Output‫اینکه‬ ‫یعنی‬ .‫داد‬ ‫نمایش‬ ‫و‬ ‫انداخت‬ ‫یا‬ ‫و‬ ‫شود‬ ‫می‬ ‫سیستم‬ ‫داخل‬ ‫نحو‬ ‫کدام‬ ‫به‬ ‫معلومات‬user‫سیستم‬ ‫به‬ ‫را‬ ‫الزم‬ ‫دستورات‬ ‫و‬ ‫میکنند‬ ‫برقرار‬ ‫ارتباط‬ ‫نحو‬ ‫کدام‬ ‫به‬ ‫سیستم‬ ‫با‬ ‫ها‬ ( ‫نتیجهء‬ ‫و‬ ‫میگردد‬ ‫پراسس‬ ‫نحوی‬ ‫چه‬ ‫به‬ ‫شده‬ ‫وارد‬ ‫معلومات‬ ‫و‬ ‫دستورات‬ ‫سپس‬ ‫و‬ ‫میدهند‬output.‫باشد‬ ‫می‬ ‫چی‬ ‫آن‬ ) ‫ه‬‫ضمیمهء‬ ‫میتوان‬ ‫نیز‬ ‫را‬ ‫دیگری‬ ‫ویژگیهای‬ ‫از‬ ‫بعضی‬ ‫مچنین‬:‫از‬ ‫اند‬ ‫عبارت‬ ‫که‬ ‫نمود‬ ‫قالب‬ ‫این‬ User Interface Maintenance Self-Testing Process ( ‫الذکر‬ ‫فوق‬ ‫موارد‬ ‫تمام‬ ‫نظرداشت‬ ‫در‬ ‫با‬input،process،output،user Interface،self-Testing Process‫میتوانیم‬ ) ‫مادل‬system component.‫میرود‬ ‫کار‬ ‫به‬ ‫بعدی‬ ‫مراحل‬ ‫در‬ ‫ویر‬ ‫سافت‬ ‫اساسات‬ ‫از‬ ‫مجموعهء‬ ‫منحیث‬ ‫که‬ ‫کنیم‬ ‫دیزاین‬ ‫را‬ ‫بخش‬ ‫نمبر‬ ‫درآن‬ ‫که‬ ‫بارکود‬ ‫توسط‬ ‫هرباکس‬ ‫کند‬ ‫می‬ ‫تنظیم‬ ‫مسیر‬ ‫یک‬ ‫روی‬ ‫را‬ ‫ها‬ ‫باکس‬ ‫که‬ ‫میدهیم‬ ‫مثال‬ ‫را‬ ‫سیستمی‬ :‫مثال‬ ‫بطور‬ ‫قف‬ ‫شش‬ ‫مسیر‬ ‫این‬ ‫درپایان‬ ‫و‬ ‫میگردد‬ ‫شناسایی‬ ‫است‬ ‫نصب‬ ‫آن‬ ‫مربوطهء‬‫از‬ ‫استفاده‬ ‫با‬ ‫ها‬ ‫باکس‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫ها‬ ‫باکس‬ ‫جابجایی‬ ‫برای‬ ‫سه‬ ‫یک‬bar code reader‫و‬PC.‫میگیرند‬ ‫قرار‬ ‫مشخص‬ ‫های‬ ‫قفسه‬ ‫به‬
  • 22. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 21 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ‫ذیل‬ ‫جدول‬system model.‫میدهد‬ ‫نشان‬ ‫الذکر‬ ‫فوق‬ ‫ویر‬ ‫سافت‬ ‫برای‬ ‫را‬
  • 23. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 22 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ System Design Using UML Model‫چیست؟‬ ‫ت‬ ‫که‬ ‫باشد‬ ‫می‬ ‫طرحی‬ ‫ویا‬ ‫نمونه‬ ‫از‬ ‫عبارت‬ ‫مادل‬‫یک‬ ‫منحیث‬ ‫تا‬ ‫میکشد‬ ‫تصویر‬ ‫به‬ ‫آنرا‬ ‫افعال‬ ‫و‬ ‫سیستم‬ ‫یک‬ ‫ومشخصات‬ ‫خواص‬ ‫مام‬ ‫یعنی‬ .‫نیست‬ ‫واقعی‬ ‫سیستم‬ ‫هیچوجه‬ ‫به‬ ‫ولی‬ ‫میگیرد‬ ‫صورت‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫واقعی‬ ‫سیستم‬ ‫بهتر‬ ‫درک‬ ‫و‬ ‫راهنما‬‫ی‬ ‫نمونه‬ ‫از‬ ‫عبارت‬ ‫مادل‬‫ا‬ ‫شامل‬ ‫که‬ ‫باشد‬ ‫می‬ ‫طرح‬behavior،state‫م‬ ‫آن‬ ‫در‬ ‫باید‬ ‫که‬ ‫باشد‬ ‫می‬ ‫سیستم‬ ‫یک‬ ‫های‬.‫شود‬ ‫شخص‬ ‫که‬ ‫گفت‬ ‫میتوان‬coding‫به‬ ‫تر‬ ‫زود‬ ‫تحقیق‬ ‫بدون‬ ‫که‬ ‫وهرقدری‬ .‫باشد‬ ‫می‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫ساخت‬ ‫و‬ ‫طراحی‬ ‫از‬ ‫کوچک‬ ‫بخش‬ ‫یک‬ ‫تنها‬ coding.‫گردد‬ ‫تکمیل‬ ‫تر‬ ‫دیر‬ ‫ویر‬ ‫سافت‬ ‫و‬ ‫شویم‬ ‫روبرو‬ ‫شده‬ ‫ناسنجیده‬ ‫عواقب‬ ‫با‬ ‫اندازه‬ ‫همان‬ ‫به‬ ‫ممکن‬ ‫کنیم‬ ‫شروع‬‫اهمیت‬ ً‫ا‬‫بن‬ ‫را‬ ‫وغیره‬ ‫مادلینگ‬ ، ‫داکمنتیشن‬.‫گرفت‬ ‫کم‬ ‫دست‬ ‫نباید‬ Modeling language‫چیست؟‬ Modeling language، ‫معلومات‬ ‫که‬ ‫است‬ ‫مصنوعی‬ ‫لسان‬ ‫از‬ ‫عبارت‬knowledge‫از‬ ‫استفاده‬ ‫با‬ ‫که‬ ‫ساختار‬ ‫دریک‬ ‫را‬ ‫ها‬ ‫وسیستم‬ .‫میدهد‬ ‫ونمایش‬ ‫ارایه‬ ‫باشد‬ ‫شده‬ ‫معرفی‬ ‫وستاندارد‬ ‫ثابت‬ ‫قوانین‬‫ق‬ ‫لسان‬ ‫این‬‫ابل‬ ‫ویر‬ ‫سافت‬ ‫تیم‬ ‫تمام‬ ‫برای‬ ‫فهم‬‫م‬ ‫سازی‬.‫باشد‬ ‫ی‬ ‫از‬UML (Unified Modeling Language)‫به‬ ‫ستاندارد‬ ‫لسان‬ ‫عنوان‬ ‫به‬ ‫منظور‬modeling‫قابل‬ ‫ویرها‬ ‫سافت‬ ‫از‬ ‫نوع‬ ‫هر‬ ‫باالی‬ ‫که‬ ‫میشود‬ ‫برده‬ ‫نام‬ ‫کدام‬ ‫هر‬ ‫که‬ ‫باشد‬ ‫می‬ ‫مختلفی‬ ‫های‬ ‫دیاگرام‬ ‫شامل‬ ‫لسان‬ ‫این‬ .‫باشد‬ ‫می‬ ‫تطبیق‬ ‫پروگرامر‬ ‫به‬ ‫ساه‬ ‫شکل‬ ‫به‬ ‫بسیار‬ ‫را‬ ‫خاصی‬ ‫پیامهای‬‫م‬ ‫ارایه‬ ‫ها‬.‫یدارند‬‫یعنی‬ ‫نشان‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫مختلف‬ ‫ابعاد‬ ‫میتوانیم‬ ‫ها‬ ‫دیاگرام‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫دهیم‬‫مختلف‬ ‫مقاصد‬ ‫به‬ ‫که‬ ‫مختلفی‬ ‫های‬ ‫کالس‬ ‫شامل‬ ‫آن‬ ‫دیاگرام‬ ‫وهر‬ .‫باشد‬ ‫می‬ ‫میگردد‬ ‫استفاده‬
  • 24. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 23 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ‫انواع‬ ‫از‬ ‫بعضی‬ ‫به‬ ‫درذیل‬UML Diagram.‫میکنیم‬ ‫اشاره‬ 1.Class Diagram ‫ثاب‬ ‫ساختار‬ ‫دیاگرام‬ ‫این‬( ‫ت‬static structure)‫تمام‬ ‫برای‬ ‫فقرات‬ ‫ستون‬ ‫یک‬ ‫همانند‬ ‫دیاگرام‬ ‫واین‬ ‫میدهد‬ ‫نمایش‬ ‫را‬ ‫سیستم‬ ‫یک‬ ( ‫گرا‬ ‫شی‬ ‫ویرهای‬ ‫سافت‬object oriented).‫باشد‬ ‫می‬‫برای‬ ‫را‬ ‫کاری‬ ‫طرح‬ ‫یک‬ ‫درآن‬ ‫کالس‬ ‫هر‬ ‫که‬object‫مشخص‬ ‫مجموعهء‬ ‫از‬ ‫ومتشکل‬ .‫میکند‬attributes‫و‬ ‫ها‬method.‫میباشند‬ ‫ها‬‫دیاگ‬ ‫ودراین‬‫تشخیص‬ ‫شان‬ ‫بین‬ ‫ارتباط‬ ‫و‬ ‫ها‬ ‫کالس‬ ‫رام‬ .‫میگیرد‬ ‫قرار‬ ‫مطالعه‬ ‫مورد‬ ‫تفصیل‬ ‫به‬ ْ‫ا‬‫بعد‬ ‫که‬ ‫میگردد‬ ‫آن‬ ‫ازروی‬ ‫سپس‬ ‫و‬ ‫نمایید‬ ‫ترسیم‬ ‫را‬ ‫دیاگرام‬ ‫کالس‬ ‫اوال‬ ‫که‬ ‫کنید‬ ‫کوشش‬ ‫همیشه‬ :‫نوت‬coding‫درینصورت‬ ‫که‬ .‫نمایید‬ (forward engineering‫واگراوال‬ ‫میشود‬ ‫نامیده‬ )coding‫ر‬ ‫دیاگرام‬ ‫وسپس‬ ‫شود‬‫نام‬ ‫به‬ ‫عملیه‬ ‫این‬ ‫گردد‬ ‫سم‬reverse engineering.‫یادمیگردد‬ 2.Package Diagram ‫از‬ ‫بخش‬ ‫یک‬ ‫حقیقت‬ ‫در‬ ‫دیاگرام‬ ‫این‬class diagram‫که‬ ‫باشد‬ ‫می‬‫مورد‬ ‫عمل‬ ‫یک‬ ‫تکمیل‬ ‫منظور‬ ‫به‬ ‫که‬ ‫کالسی‬ ‫چندین‬ ‫بسته‬ ‫یک‬ ‫در‬ ‫میگیرند‬ ‫قرار‬ ‫استفاده‬(package‫که‬ .‫میگیرند‬ ‫قرار‬ )‫بعضا‬developer‫ساد‬ ‫برای‬ ‫ها‬‫بهتر‬ ‫وارایه‬ ‫سازی‬ ‫ه‬ ‫سیستم‬ ‫عناصر‬ ‫بین‬ ‫ارتباطات‬‫؛‬‫عن‬‫ا‬( ‫صر‬element( ‫ها‬ ‫بسته‬ ‫شکل‬ ‫وبه‬ ‫وبندی‬ ‫دسته‬ ‫را‬ )package)‫میدهند.قرار‬ ‫نمایش‬ ‫ها‬ :‫ذیل‬ ‫شکل‬
  • 25. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 24 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ 3.Use Case Diagram ‫یک‬ ‫استفاده‬ ‫طرق‬ ‫و‬ ‫کار‬ ‫روش‬ ‫چگونگی‬ ‫دیاگرام‬ ‫این‬actor‫که‬ ‫میسازد‬ ‫واضح‬ ‫دیاگرام‬ ‫این‬ ‫یعنی‬ .‫میدهد‬ ‫نشان‬ ‫را‬ ‫سیستم‬ ‫از‬ actor‫و‬ ‫شده‬ ‫تماس‬ ‫به‬ ‫سیستم‬ ‫با‬ ‫چگونه‬functionality‫وانفعال‬ ‫فعل‬ ‫به‬ ‫نظر‬ ‫سیستم‬user.‫میباشد‬ ‫چی‬‫از‬ ‫ومتشکل‬actor ‫و‬ ‫ها‬use case.‫باشد‬ ‫می‬ ‫ها‬ ‫که‬ ‫میتوانیم‬ ‫گفته‬ ‫فوق‬ ‫شکل‬ ‫به‬ ‫نظر‬use case‫نام‬ ‫از‬ ‫عبارت‬ ‫دیاگرام‬actors‫نام‬ ‫همرای‬interaction‫میخواهد‬ ‫که‬ ‫یاعمل‬ ‫و‬ ‫دهد‬ ‫انجام‬interaction type.‫میباشد‬ 4.State chart Diagram state chart diagram‫نام‬ ‫به‬ ‫که‬sequence diagram‫در‬ ‫هارا‬ ‫کالس‬ ‫بین‬ ‫ارتباط‬ ‫که‬ ‫است‬ ‫دیاگرام‬ ‫میگردد‬ ‫یاد‬ ‫نیز‬
  • 26. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 25 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ‫دیاگرام‬ ‫این‬ ‫یعنی‬ .‫میدهد‬ ‫نشان‬ ‫مختلف‬ ‫مراحل‬state‫به‬ ‫نظر‬ ‫را‬ ‫سیستم‬ ‫مختلف‬ ‫حاالت‬ ‫یا‬ ‫ها‬interaction‫های‬user ‫میک‬ ‫تشریح‬.‫بگیرد‬ ‫بخود‬ ‫را‬ ‫حالتی‬ ‫چه‬ ‫باید‬ ‫سیستم‬ ‫وقت‬ ‫چه‬ ‫واینکه‬ .‫ند‬ 0.Activity diagram ‫ف‬ ‫از‬ ‫عبارت‬ ‫دیاگرام‬ ‫این‬‫ل‬‫یک‬ ‫از‬ ‫رفتن‬ ‫جریان‬ ‫که‬ ‫است‬ ‫وچارتی‬activity‫به‬activity.‫میگذارد‬ ‫نمایش‬ ‫به‬ ‫سیستم‬ ‫در‬ ‫دیگررا‬ ‫دینامیک‬ ‫جنبهء‬ ‫دیاگرام‬ ‫این‬ ‫در‬ ‫یعنی‬‫شده‬ ‫ترسیم‬ ‫ویررا‬ ‫سافت‬ ‫یک‬ ‫ی‬‫درآن‬( ‫عملیات‬operation)‫در‬‫بررسی‬ ‫هایی‬ ‫کالس‬ ( ‫کاری‬ ‫جریان‬ ‫دادن‬ ‫نشان‬ ‫برای‬ ‫دیاگرام‬ ‫این‬ ‫عادی‬ ‫بصورت‬ .‫میگردد‬ ‫سیستم‬ ‫حالت‬ ‫تغییر‬ ‫باعث‬ ‫که‬ ‫میگردد‬work flow، ) business process( ‫سیستم‬ ‫یک‬ ‫داخلی‬ ‫عملیات‬ ‫و‬internal operation).‫میگردد‬ ‫استفاده‬ ‫این‬‫انواع‬ ‫از‬ ‫مختصری‬ ‫شرح‬ ‫بود‬UML Diagram‫که‬ ،.‫میدهیم‬ ‫قرار‬ ‫مطالعه‬ ‫مورد‬ ‫تفصیل‬ ‫به‬ ‫آنرا‬ ‫نوع‬ ‫هر‬ ‫ما‬ UML Drawing tools ‫ترسیم‬ ‫برای‬ ‫زیادی‬ ‫های‬ ‫پروگرام‬UML Diagrams:‫از‬ ‫اند‬ ‫عبارت‬ ‫آن‬ ‫مشهور‬ ‫نوع‬ ‫چند‬ ‫که‬ ‫میگردد‬ ‫استفاده‬ UMLet http://www.umlet.com LucidChart https://www.lucidchart.com
  • 27. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 26 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ArgoUML http://argouml.tigris.org/ Use Case Diagram ‫کردیم‬ ‫اشاره‬ ‫هم‬ ‫قبال‬ ‫همانطوریکه‬use case diagram‫مهم‬ ‫بسیار‬ ‫های‬ ‫دیاگرام‬ ‫از‬ ‫یکی‬UML‫ونمایش‬ ‫ه‬ٔ‫ی‬‫ارا‬ ‫منظور‬ ‫به‬ ‫که‬ ‫باشد‬ ‫می‬ dynamic behavior( .‫میگیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫سیستم‬ ‫یک‬dynamic behavior‫ا‬ ‫عبارت‬‫ز‬behavior‫درحالت‬ ‫سیستم‬ ‫هایی‬ ‫نمایش‬ ‫و‬ )‫باشد‬ ‫می‬ ‫اجرا‬dynamic behavior‫به‬ ‫نسبت‬static behavior‫از‬ ‫مختلفی‬ ‫مقاصد‬ ‫به‬ ‫آن‬ ‫از‬ ‫که‬ ‫است‬ ‫وحیاتی‬ ‫مهم‬ ‫بسیار‬ :‫قبیل‬ ‫سیستم‬ ‫یک‬ ‫ضروریات‬ ‫آوری‬ ‫جمع‬ ( ‫بیرونی‬ ‫نمای‬ ‫یک‬ ‫دیزاین‬outside view‫سیستم‬ ‫یک‬ ) ‫با‬ ‫که‬ ‫وداخلی‬ ‫خارجی‬ ‫های‬ ‫فکتور‬ ‫شناسایی‬.‫میکنند‬ ‫اثر‬ ‫سیستم‬ ‫الی‬ ‫نمایش‬interaction‫یاهم‬ ‫و‬ ‫ضروریات‬ ‫بین‬ ‫انفعال‬ ‫فعل‬ ‫و‬actors.‫ها‬ Part of Use Case Use case Diagram‫از‬ ‫متشکل‬actor, use case‫و‬association.‫باشد‬ ‫می‬‫که‬actor‫سیستم‬ ‫یا‬ ‫و‬ ‫اشخاص‬ ‫شامل‬ ‫میتواند‬ ‫ها‬ ‫وبه‬ ‫میکند‬ ‫برقرار‬ ‫ارتباط‬ ‫سیستم‬ ‫با‬ ‫که‬ ‫باشد‬ ‫دیگری‬‫ترتیب‬ ‫همین‬use case‫از‬ ‫عبارت‬functionality‫و‬association‫و‬ ‫ارتباط‬ ‫نحو‬ communication‫با‬ ‫را‬ ‫اکتور‬use case.‫میدهد‬ ‫نشان‬
  • 28. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 27 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ‫ترسیم‬ ‫طریقهء‬use case diagrams ‫ترسیم‬ ‫برای‬use case diagram‫باید‬ ‫اوال‬actor، ‫ها‬functionality‫و‬ ‫ها‬association‫ستاندارد‬ ‫از‬ ‫وسپس‬ .‫گردد‬ ‫مشخص‬‫ها‬ .‫کنیم‬ ‫استفاده‬ ‫باید‬ ‫ارتباط‬ ‫نوع‬ ‫هر‬ ‫و‬ ‫هرکدام‬ ‫نمایش‬ ‫برای‬ Type of relationships 1.Generalization (inheritance):‫شده‬ ‫اضافه‬ ‫اصلی‬ ‫سیستم‬ ‫از‬ ‫بخش‬ ‫یک‬ ‫به‬ ‫اضافی‬ ‫ویژگیهای‬ ‫و‬ ‫ها‬ ‫بخش‬ ‫که‬ ‫معنی‬ ‫بدین‬ ‫یعنی‬ .‫باشد‬case‫درآن‬ ‫که‬ ‫عمومی‬feature‫در‬ ‫وباید‬ .‫میگردد‬ ‫اضافه‬ ‫جدید‬ ‫هایی‬use case diagram‫نشان‬ ‫ذیل‬ ‫شکل‬ ‫به‬ .‫شود‬ ‫داده‬ 2.Extends‫ارتباط‬ ‫هم‬ ‫بین‬ ‫ندرت‬ ‫به‬ ‫بسیار‬ ‫که‬ ‫است‬ ‫دوپراسهء‬ ‫بین‬ ‫ارتباط‬ :‫ودر‬ .‫میکنند‬ ‫برقرار‬use case diagram‫شکل‬ ‫به‬ .‫میشود‬ ‫داده‬ ‫نمایش‬ ‫ذیل‬ 3.Include‫ویاچندین‬ ‫دو‬ ‫زمانیکه‬ :use case‫دارای‬behavior‫این‬ ‫باشند‬ ‫مشابه‬ ‫های‬behavior‫های‬‫یک‬ ‫به‬ ‫را‬ ‫مشابه‬ use case‫تمام‬ ‫سپس‬ ‫و‬ ‫میکنیم‬ ‫تبدیل‬ ‫جدید‬use case‫همان‬ ‫ها‬use case‫را‬ ‫مشترک‬include‫آن‬ ‫پهلوی‬ ‫در‬ ‫و‬ ‫میکنند‬ ‫و‬ ‫خواص‬ ‫میتوانند‬behavior.‫باشند‬ ‫داشته‬ ‫نیز‬ ‫را‬ ‫خودشان‬ ‫خاص‬ ‫های‬‫و‬use case‫با‬ ‫مشترک‬ ‫های‬use case‫اصلی‬ ‫های‬ .‫نماید‬ ‫می‬ ‫کار‬
  • 29. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 28 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ‫یک‬ ‫در‬ ‫ممکنه‬ ‫حاالت‬use case diagram.‫است‬ ‫شده‬ ‫واضح‬ ‫ذیل‬ ‫اشکال‬ ‫در‬ 1.‫یک‬ ‫ارتباط‬user‫یک‬ ‫با‬ ‫همراه‬use case.‫میشود‬ ‫داده‬ ‫نمایش‬ ‫ذیل‬ ‫طور‬ 2.‫یک‬ ‫ارتباط‬user‫باچندین‬use case.‫میشود‬ ‫داده‬ ‫نمایش‬ ‫ذیل‬ ‫طور‬ 3.Generalization‫بین‬Cms Admin‫و‬User‫هر‬ ‫میدانیم‬ ‫طوریکه‬Admin‫بازهم‬user.‫میشود‬ ‫شمرده‬ 4.Generalization‫بین‬Cms admin،Customer‫و‬Agent‫با‬ ‫همراه‬User‫هر‬ ‫میدانیم‬ ‫طوریکه‬customer, agent‫و‬ Cms admin‫یک‬user‫حقیقت‬ ‫در‬ ‫درینجا‬ ‫شود‬ ‫می‬ ‫شمرده‬User‫یک‬general case‫و‬ ‫مشخصات‬ ‫که‬ ‫میشود‬ ‫شمرده‬
  • 30. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 29 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ behavior‫سه‬case.‫میباشد‬ ‫دارا‬ ‫را‬ ‫دیگر‬ 0.‫رابطهء‬extends‫سه‬ ‫در‬use case‫نام‬ ‫به‬login, reminder‫و‬register‫پراسهء‬ ‫در‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫با‬Login‫کم‬ ‫بسیار‬ ‫بخواهیم‬ ‫که‬ ‫افتد‬ ‫می‬ ‫اتفاق‬‫های‬ ‫پراسه‬ ‫از‬ ‫که‬request password reminder‫هم‬ ‫ویا‬register.‫کنیم‬ ‫استفاده‬ 6.‫رابطهء‬include‫بین‬register‫و‬confirm register.
  • 31. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 30 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ 7.‫است‬ ‫قابل‬ ‫اجزای‬ ‫تمام‬ ‫هم‬ ‫ذیل‬ ‫وشلک‬‫در‬ ‫فاده‬use case diagram.‫میدهد‬ ‫نشان‬ ‫را‬ ‫ذیل‬ ‫شکل‬ ‫قرار‬use case diagram‫یک‬ATM Machine.‫است‬ ‫گردیده‬ ‫ترسیم‬
  • 32. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 31 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
  • 33. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 32 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Class Diagram ‫نام‬ ‫به‬ ‫که‬ ‫دیاگرام‬ ‫کالس‬structural diagram‫که‬ ‫است‬ ‫ازدیاگرام‬ ‫عبارت‬ ‫میشود‬ ‫نامیده‬ ‫نیز‬static view‫نشان‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫مید‬ ‫نشان‬ ‫یعنی‬ ‫میدهد‬‫کدام‬ ‫شامل‬ ‫ها‬ ‫کالس‬ ‫که‬ ‫هد‬attributes‫و‬ ‫ها‬behavior‫دیاگرام‬ ‫این‬ .‫دارند‬ ‫ارتباط‬ ‫هم‬ ‫بین‬ ‫وچطور‬ ‫باشند‬ ‫می‬ ‫ها‬ :‫قبیل‬ ‫از‬ ‫مختلفی‬ ‫مقاصد‬ ‫به‬ Visualize‫ویر‬ ‫سافت‬ ‫یک‬ ‫ثابت‬ ‫شکل‬ ‫کردن‬ ( ‫تشریح‬describe‫ویر‬ ‫سافت‬ ‫مختلف‬ ‫های‬ ‫قسمت‬ ) Document‫ویر‬ ‫سافت‬ ‫کردن‬ ‫ساختن‬executable code‫اپلیک‬ ‫یک‬.‫میشود‬ ‫استفاده‬ ‫وغیره‬ ‫یشن‬ ( ‫مشخصات‬ ‫دیاگرام‬ ‫این‬Attribute( ‫اعمال‬ ‫و‬ )behavior)‫بسیار‬ ‫به‬ ‫ها‬ ‫کالس‬ ‫دیاگرام‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫که‬ ‫نموده‬ ‫واضح‬ ‫را‬ ‫ها‬ ‫کالس‬ ( ‫گرا‬ ‫شی‬ ‫نویسی‬ ‫پروگرام‬ ‫های‬ ‫لسان‬ ‫به‬ ‫آسانی‬Object Oriented Programming language)( ‫تطبیق‬map).‫میگردد‬‫وهمچنان‬ ‫کال‬ ‫در‬( ‫محدودیات‬ ‫دیاگرام‬ ‫س‬constraints.‫است‬ ‫شامل‬ ‫نیز‬ ‫ها‬ ) :‫از‬ ‫عبارتند‬ ‫که‬ ‫اند‬ ‫شامل‬ ‫مختلفی‬ ‫اجزای‬ ‫دیاگرام‬ ‫کالس‬ ‫ترسیم‬ ‫در‬ ‫که‬ ‫میتوانیم‬ ‫گفته‬ ‫پس‬ ‫ها‬ ‫کالس‬ ‫ها‬ ‫انترفس‬ Association‫(ارتباطات‬) Collaboration)‫ها‬ ‫کالس‬ ‫بین‬ ‫ها‬ ‫همکاری‬ ( Constraints) ‫(محدودیات‬ ‫دیاگرام‬ ‫کالس‬ ‫اهداف‬ ‫د‬‫تحلیل‬ ‫و‬ ‫یزاین‬static view‫تنها‬ ‫یعنی‬ .‫ویر‬ ‫سافت‬ ‫یک‬component‫نشان‬ ‫دیاگرام‬ ‫کالس‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫میتوانیم‬ ‫هارا‬ .‫دهیم‬ ‫سیستم‬ ‫مسئولیات‬ ‫تشریح‬ Forward engineering and reverse engineering‫را‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫دیاگرام‬ ‫کالس‬ ‫روی‬ ‫از‬ ‫میتوانیم‬ ‫اینکه‬ ‫یعنی‬ develop‫حالت‬ ‫درین‬ ‫که‬ ‫کنیم‬forward engineering‫روی‬ ‫از‬ ‫میتوانیم‬ ‫وهم‬ ‫یادمیگردد‬code‫را‬ ‫دیاگرام‬ ‫کالس‬ ‫ها‬ ‫نام‬ ‫به‬ ‫حالت‬ ‫این‬ ‫که‬ ‫کنیم‬ ‫ترسیم‬reverse engineering.‫یادمیگردد‬ .‫بگیریم‬ ‫نظر‬ ‫مد‬ ‫را‬ ‫ذیل‬ ‫نکات‬ ‫باید‬ ‫دیاگرام‬ ‫کالس‬ ‫ترسیم‬ ‫درزمان‬ ‫ب‬ ‫یعنی‬ ‫باشند‬ ‫میکنند‬ ‫که‬ ‫کارهای‬ ‫کنندهء‬ ‫واضح‬ ‫باید‬ ‫ها‬ ‫کالس‬ ‫های‬ ‫نام‬.‫باشند‬ ‫مفهوم‬ ‫با‬ ‫و‬ ‫معنی‬ ‫ا‬ .‫شود‬ ‫مشخص‬ ‫باید‬ ‫کالس‬ ‫اجزای‬ ‫و‬ ‫کالس‬ ‫ارتباطات‬ ( ‫سیستم‬ ‫مسؤلیات‬attributes‫و‬methods).‫گردند‬ ‫معرفی‬ ‫واضح‬ ‫شکل‬ ‫به‬ ‫هاباید‬ ‫تنها‬ ‫دیاگرام‬ ‫شدن‬ ‫پیچیده‬ ‫از‬ ‫جلوگیری‬ ‫برای‬properties‫و‬method‫نشان‬ ‫واز‬ ‫میدهیم‬ ‫نشان‬ ‫را‬ ‫کالس‬ ‫یک‬ ‫اساسی‬ ‫های‬ ‫افعا‬ ‫و‬ ‫مشخصات‬ ‫دادن‬‫میکنیم‬ ‫نظر‬ ‫صرف‬ ‫دیاگرام‬ ‫در‬ ‫اضافی‬ ‫ل‬ .‫شود‬ ‫مشخص‬ ‫باید‬ ‫کالس‬ ‫وظیفهء‬ ‫و‬ ‫هدف‬ ، ‫نوع‬ .‫شود‬ ‫آورده‬ ‫الزم‬ ‫اصالحات‬ ‫تا‬ ‫گیرد‬ ‫صورت‬ ‫کار‬ ‫بار‬ ‫چندین‬ ‫آن‬ ‫باالی‬ ‫طوریکه‬ ‫گردد‬ ‫ترسیم‬ ‫ورق‬ ‫روی‬ ‫به‬ ‫باید‬ ‫دیاگرام‬ ‫میتوانیم؟‬ ‫نموده‬ ‫ترسیم‬ ‫را‬ ‫دیاگرام‬ ‫کالس‬ ‫چگونه‬ ‫ا‬ ‫که‬ ‫است‬ ‫الزم‬ ‫دیاگرام‬ ‫کالس‬ ‫ترسیم‬ ‫برای‬.‫بدانیم‬ ‫آنهارا‬ ‫نمایش‬ ‫وطرز‬ ‫دیاگرام‬ ‫کالس‬ ‫اجزای‬ ‫تمام‬ ‫وال‬ :‫از‬ ‫متشکل‬ ‫هرکالس‬ ‫که‬ ‫باشد‬ ‫می‬ ‫دیاگرام‬ ‫کالس‬ ‫از‬ ‫مهم‬ ‫بخش‬ ‫یک‬ :‫ها‬ ‫کالس‬ ‫کالس‬ ‫نام‬ ( ‫مشخصات‬attributes‫نام‬ ‫به‬ ‫درجاوا‬ ‫که‬ :)field.‫میشود‬ ‫یاد‬
  • 34. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 33 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ( ‫افعال‬operation or behavior).‫یادمیگردد‬ ‫ها‬ ‫متود‬ ‫نام‬ ‫به‬ ‫جاوا‬ ‫در‬ ‫که‬ Association:‫طورذیل‬ ‫باشد‬ ‫می‬ ‫دوکالس‬ ‫بین‬ ‫ارتباط‬ ‫نشاندهندهء‬ ‫دیاگرام‬ ‫کالس‬ ‫در‬ : Role‫یک‬ ‫فوقانی‬ ‫قسمت‬ ‫به‬ ‫که‬ ‫است‬ ‫متنی‬ :association‫میتوانیم‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫وبا‬ .‫میسازد‬ ‫واضح‬ ‫را‬ ‫ارتباط‬ ‫وهدف‬ ‫میگردد‬ ‫نوشته‬ association.‫کنیم‬ ‫فرق‬ ‫را‬ ‫کالس‬ ‫یک‬ ‫های‬ Multiplicity‫شود‬ ‫واضح‬ ‫باید‬ :‫چند‬ ‫کالس‬ ‫یک‬ ‫که‬object‫های‬ ‫انجام‬ ‫در‬ ‫ها‬ ‫نمبر‬ ‫توسط‬ ‫واین‬ ‫داشته؟‬ ‫میتواند‬ ‫را‬ ‫دومی‬ ‫کالس‬ association‫چند‬ ‫همزمان‬ ‫یعنی‬ .‫میگردد‬ ‫واضح‬object‫منحیث‬ ‫میتواند‬ ‫کالس‬ ‫یک‬instance field‫استفاده‬ ‫دیگری‬ ‫کالس‬ ‫در‬
  • 35. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 34 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ‫یک‬ ‫تنها‬ ‫که‬ ‫درصورت‬ .‫گردد‬instance‫انجام‬ ‫در‬ ‫میتوانست‬ ‫داشته‬association(1‫بینهایت‬ ‫درصورتیکه‬ ‫و‬ )instance‫داشته‬ ‫درانجام‬ ‫میتوانست‬association( ‫از‬*:‫مثال‬ .‫میکنیم‬ ‫استفاده‬ )‫هر‬ ‫که‬ ‫میدهد‬ ‫نشان‬ ‫ذیل‬ ‫دیاگرام‬ ‫در‬flight‫یک‬ ‫تنها‬plane‫داشته‬ ‫چندین‬ ‫میتواند‬ ‫پرواز‬ ‫هر‬ ‫برعکس‬ ‫و‬ ‫میتواند‬flight.‫باشد‬ ‫داشته‬ ‫که‬ ‫ممکنهء‬ ‫های‬ ‫قیمت‬ ‫از‬ ‫بعضی‬ ‫ذیل‬ ‫جدول‬multiplicity.‫باشد‬ ‫می‬ ‫میکند‬ ‫واضح‬ ‫را‬ Association type in class diagram Inheritance‫بعضی‬ ‫کالس‬ ‫یک‬ ‫که‬ ‫است‬ ‫حالت‬ :attribute‫و‬ ‫ها‬operation‫ارث‬ ‫دیگربه‬ ‫کالس‬ ‫از‬ ‫خودرا‬ ‫های‬ ‫میگیرند‬.( ‫نام‬ ‫به‬ ‫را‬ ‫اولی‬ ‫کالس‬ ‫حالت‬ ‫درین‬ ‫که‬sub class or child class‫نام‬ ‫به‬ ‫را‬ ‫دومی‬ ‫کالس‬ ‫و‬ )(super class or parent class)‫البته‬ .‫میکنند‬ ‫یاد‬child class‫را‬ ‫خودش‬ ‫خاص‬ ‫خصوصیات‬ ‫میتواند‬ ‫گرفته‬ ‫ارث‬ ‫به‬ ‫خصوصیات‬ ‫پهلوی‬ ‫در‬ .‫باشد‬ ‫داشته‬ ‫نیز‬‫کلیدی‬ ‫کلمهء‬ ‫استعمال‬ ‫با‬ ‫درجاوا‬extends‫کالس‬ ‫دو‬ ‫رابین‬ ‫رابطه‬ ‫این‬ ‫میتوانیم‬ ‫کالس‬ ‫تعریف‬ ‫زمان‬ ‫در‬ .‫کنیم‬ ‫برقرار‬‫دیاگرام‬ ‫کالس‬ ‫ودر‬inheritance:‫میشود.مثال‬ ‫داده‬ ‫نمایش‬ ‫ذیل‬ ‫طور‬
  • 36. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 35 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ‫که‬ ‫میتوانیم‬ ‫گفته‬BMW‫و‬ ‫مشخصات‬Operation‫کالس‬ ‫های‬car.‫است‬ ‫گرفته‬ ‫ارث‬ ‫به‬ ‫را‬ Aggregation:‫یاچندین‬ ‫و‬ ‫یک‬ ‫زمانیکه‬Object‫نام‬ ‫به‬ ‫حالت‬ ‫این‬ ‫شود‬ ‫استفاده‬ ‫دومی‬ ‫کالس‬ ‫در‬ ‫فیلد‬ ‫منحیث‬ ‫کالس‬ ‫یک‬ aggregation.‫میگردد‬ ‫یاد‬‫کلی‬ ‫کالس‬ ‫یک‬ ‫یعنی‬(whole)‫چندین‬ ‫میتاند‬object.‫باشد‬ ‫داشته‬ ‫را‬ ‫دیگری‬ ‫کالس‬ ‫از‬ Composition aggregation‫از‬ ‫شکل‬ ‫یک‬ ‫درحقیقت‬ ‫هم‬ ‫رابطه‬ ‫این‬ :aggregation‫یک‬ ‫میتواند‬ ‫کالس‬ ‫یک‬ ‫که‬ ‫میباشد‬ ‫ایجاد‬ ‫با‬ ‫که‬ ‫است‬ ‫طوری‬ ‫آنها‬ ‫ارتباط‬ ‫ولی‬ ‫باشد‬ ‫داشته‬ ‫درخود‬ ‫را‬ ‫دیگر‬ ‫کالس‬object، ‫اولی‬ ‫کالس‬object‫دو‬ ‫کالس‬‫نیز‬ ‫می‬ ‫شدن‬ ‫ایجاد‬ ‫یعنی‬ .‫میگردد‬ ‫ایجاد‬ ‫بخود‬ ‫خود‬object‫شدن‬ ‫ایجاد‬ ‫به‬ ‫وابسته‬ ‫کالس‬ ‫یک‬object‫درجاوا‬ ‫و‬ .‫است‬ ‫دیگری‬ ‫کالس‬ ‫باید‬ ‫ارتباط‬ ‫نوع‬ ‫این‬ ‫برقراری‬ ‫برای‬object‫در‬ ‫کالس‬ ‫یک‬constructor‫ایجاد‬ ‫محض‬ ‫به‬ ‫تا‬ ‫گردد‬ ‫ایجاد‬ ‫دومی‬ ‫کالس‬ object‫دومی‬ ‫کالس‬constructor‫نیز‬ ‫آن‬call‫شده‬‫و‬object‫کمپنی‬ ‫هر‬ ‫میدانیم‬ ‫مثال‬ ‫بطور‬ .‫گردد‬ ‫ایجاد‬ ‫نیز‬ ‫دومی‬ ‫کالس‬ .‫باشد‬ ‫می‬ ‫دیپارتمنت‬ ‫یک‬ ‫حداقل‬ ‫دارای‬ ‫افتیدن‬ ‫کار‬ ‫به‬ ‫و‬ ‫شدن‬ ‫ایجاد‬ ‫محض‬ ‫به‬
  • 37. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 36 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Interfaces:‫از‬ ‫عبارت‬ ‫درحقیقت‬ ‫ها‬ ‫انترفس‬ ‫و‬ ‫باشد‬ ‫شامل‬ ‫نیز‬ ‫ها‬ ‫انترفس‬ ‫باید‬ ‫دیاگرام‬ ‫کالس‬ ‫یک‬ ‫در‬ ، ‫ارتباطات‬ ‫و‬ ‫ها‬ ‫برکالس‬ ‫افزون‬ ‫تفاهم‬‫از‬ ‫پیروی‬ ‫مجبوربه‬ ‫میکنند‬ ‫استفاده‬ ‫انترفس‬ ‫ازیک‬ ‫که‬ ‫هایی‬ ‫وکالس‬ .‫نماید‬ ‫پیروی‬ ‫آن‬ ‫از‬ ‫باید‬ ‫ها‬ ‫کالس‬ ‫که‬ ‫است‬ ‫قوانین‬ ‫ویا‬ ‫نامه‬ ‫کلیدی‬ ‫کلمهء‬ ‫استعمال‬ ‫با‬ ‫میتوانیم‬ ‫ودرجاوا‬ .‫میباشند‬ ‫انترفس‬ ‫در‬ ‫شده‬ ‫وضع‬ ‫قوانین‬implements‫از‬ ‫پیروی‬ ‫به‬ ‫مجبور‬ ‫را‬ ‫کالس‬ ‫یک‬ .‫نماییم‬ ‫مشخص‬ ‫انترفس‬ ‫ه‬ ‫وانترفس‬.‫باشند‬ ‫داشته‬ ‫ارتباط‬ ‫مختلف‬ ‫انواع‬ ‫به‬ ‫میتوانند‬ ‫کالس‬ ‫همانند‬ ‫انیز‬ .‫میدهد‬ ‫نشان‬ ‫آموزشی‬ ‫مرکز‬ ‫یک‬ ‫شاگردان‬ ‫و‬ ‫استادان‬ ‫برای‬ ‫را‬ ‫دیاگرام‬ ‫کالس‬ ‫یک‬ ‫ذیل‬ ‫شکل‬
  • 38. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 37 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Object Diagram ‫درمادلینگ‬‫من‬ ‫به‬ ‫اوقات‬ ‫بعضی‬ ‫سیستم‬‫جالبتر‬ ‫و‬ ‫بهتر‬ ‫ارایهء‬ ‫ظور‬‫معلومات‬،‫دادن‬ ‫نشان‬instance‫ویا‬object‫روی‬ ‫کالس‬ ‫یک‬ ‫یک‬ ‫با‬ ‫چون‬ .‫است‬ ‫موثر‬ ‫بسیار‬ ‫دیاگرام‬object‫ها‬ ‫دیاگرام‬ ‫روی‬ ‫جالبتر‬ ‫و‬ ‫بهتر‬ ‫شکل‬ ‫به‬ ‫را‬ ‫معلومات‬ ‫میتوانیم‬ ‫ما‬ ‫کالس‬ ‫یک‬ ‫واقعی‬ ‫نام‬ ‫به‬ ‫هارا‬ ‫دیاگرام‬ ‫نوع‬ ‫این‬ ‫که‬ .‫دهیم‬ ‫نمایش‬object diagram.‫میکنند‬ ‫یاد‬ Object diagram‫ارتبا‬ ‫وتمام‬ ‫دارد‬ ‫دیاگرام‬ ‫کالس‬ ‫به‬ ‫زیادی‬ ‫شباهت‬‫و‬ ‫طات‬notation‫فرق‬ ‫وتنها‬ ‫باشد‬ ‫می‬ ‫دیاگرام‬ ‫کالس‬ ‫به‬ ‫مشابه‬ ‫ها‬ ‫در‬ ‫که‬ ‫میباشد‬ ‫کالس‬ ‫نام‬ ‫قسمت‬ ‫در‬ ‫آن‬object diagram، ‫کالس‬ ‫نام‬ ‫جای‬ ‫به‬‫اوال‬‫نام‬object‫نام‬ ‫آن‬ ‫تعقیب‬ ‫به‬ ‫و‬class‫آنرا‬ ‫مربوطهء‬ .‫میگیریم‬:‫مثال‬ Package Diagram ‫ها‬ ‫کالس‬ ‫بودن‬ ‫زیاد‬ ‫درصورت‬ ‫گفتیم‬ ‫قبال‬ ‫همانطوریکه‬‫در‬ ‫آنها‬ ‫همهء‬ ‫نمایش‬ ‫طوریکه‬‫کالس‬‫شود‬ ‫سردرگمی‬ ‫باعث‬ ‫دیاگرام‬‫از‬ ‫ما‬ package diagram‫های‬ ‫وجه‬ ‫هم‬ ‫ویا‬ ‫عملیات‬ ‫به‬ ‫نظر‬ ‫را‬ ‫ها‬ ‫کالس‬ ‫و‬ ‫رفته‬ ‫قبل‬ ‫مرحله‬ ‫یک‬ ‫هم‬ ‫آن‬ ‫ترسیم‬ ‫برای‬ ‫که‬ .‫میکنیم‬ ‫استفاده‬ ‫نام‬ ‫به‬ ‫را‬ ‫دسته‬ ‫هر‬ ‫نماییم.که‬ ‫می‬ ‫بندی‬ ‫دسته‬ ‫شان‬ ‫مشترک‬(package)‫د‬ ‫این‬ ‫وسپس‬ .‫میکنند‬ ‫یاد‬‫نشان‬ ‫دیاگرام‬ ‫در‬ ‫دیگر‬ ‫باهم‬ ‫هارا‬ ‫سته‬ .‫است‬ ‫شده‬ ‫داده‬ ‫نشان‬ ‫آن‬ ‫شکل‬ ‫دو‬ ‫هر‬ ‫ذیال‬ ‫که‬ .‫میگردد‬ ‫ترسیم‬ ‫شکل‬ ‫دو‬ ‫وبه‬ ‫میدهیم‬ ‫میتوانیم‬ ‫ویاهم‬package.‫دهیم‬ ‫ارتباط‬ ‫ذیل‬ ‫شکل‬ ‫به‬ ‫هارا‬
  • 39. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 38 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Activity Diagram ‫که‬ ‫باشد‬ ‫می‬ ‫مادلینگ‬ ‫برای‬ ‫مهم‬ ‫های‬ ‫دیاگرام‬ ‫از‬ ‫یکی‬‫ترسیم‬ ‫برای‬Activity( ‫ها‬operation‫یک‬ ‫از‬ ‫رفتن‬ ‫وجریان‬ ‫سیستم‬ ‫یک‬ ‫های‬ ) Activity‫به‬activity.‫میگردد‬ ‫استفاده‬ ‫بعدی‬‫یعنی‬activity diagram‫که‬ ‫است‬ ‫فلوچارتی‬ ‫حقیقت‬ ‫در‬activity‫را‬ ‫سیستم‬ ‫یک‬ ‫های‬ ‫و‬ ‫داده‬ ‫نشان‬‫از‬ ‫رفتن‬ ‫ترتیب‬activity‫به‬ ‫را‬Activity‫هر‬ ‫که‬ .‫میگذارد‬ ‫نمایش‬ ‫به‬ ‫را‬ ‫دیگر‬activity‫فنکشن‬ ‫میتواند‬‫ویا‬Operation ( ‫اجرا‬ ‫درحالت‬ ‫سیستم‬ ‫که‬ ‫باشد‬dynamic.‫میدهد‬ ‫انجام‬ ‫و‬ ‫داشته‬ ‫آنرا‬ ) ‫است‬ ‫ممکن‬ ‫سیستم‬ ‫دریک‬operation‫یا‬ ‫ها‬activity‫در‬ ‫ماباید‬ ‫آنرا‬ ‫هرنوع‬ ‫که‬ ‫یابد‬ ‫انجام‬ ‫همزمان‬ ‫و‬ ‫منشعب‬ ، ‫پیهم‬ ‫بصورت‬ ‫ها‬ activity diagram.‫کنیم‬ ‫مشخص‬ Activity diagram‫میگر‬ ‫ترسیم‬ ‫ذیل‬ ‫مقاصد‬ ‫به‬:‫دد‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫کار‬ ‫جریان‬ ‫دادن‬ ‫نشان‬ ‫یک‬ ‫از‬ ‫که‬ ‫کنیم‬ ‫تعیین‬ ‫میتوانیم‬ ‫یعنی‬ ( .‫بعدی‬ ‫پراسه‬ ‫به‬ ‫پراسه‬ ‫یک‬ ‫از‬ ‫آن‬ ‫وانتقال‬ ‫کار‬ ‫جریان‬ ‫ترتیب‬activity‫کدام‬ ‫به‬ activity.)‫میتوانیم‬ ‫رفته‬ ‫شرایطی‬ ‫چه‬ ‫تحت‬ ‫و‬ ‫دیگر‬ ‫های‬ ‫تشریح‬activity‫میروند‬ ‫پیش‬ ‫به‬ ‫موازی‬ ‫ویاهم‬ ‫منشعب‬ ، ‫همزمان‬ ‫که‬ ‫های‬. Activity diagram.‫کنیم‬ ‫استفاده‬ ‫ذیل‬ ‫جاهای‬ ‫در‬ ‫میتوانیم‬ ‫را‬ Modeling‫از‬ ‫استفاده‬ ‫با‬ ‫ها‬ ‫کار‬ ‫جریان‬ ‫سازی‬ ‫ویاقالب‬activity‫ها‬ Modeling‫نمودن‬business requirements‫آن‬ ‫بررسی‬ ‫و‬ ‫تحقیق‬ ، ‫سیستم‬ ‫یک‬ ‫های‬ ‫کارکرد‬ ‫بهتر‬ ‫دانستن‬ ‫ترسیم‬activity diagram ‫ترسیم‬ ‫برای‬activity diagram:‫از‬ ‫عبارتند‬ ‫که‬ .‫باشیم‬ ‫داشته‬ ‫آشنایی‬ ‫آنان‬ ‫نمایش‬ ‫چگونگی‬ ‫و‬ ‫آن‬ ‫اجزای‬ ‫با‬ ‫باید‬
  • 40. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 39 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Activity‫ویا‬ ‫فنکشن‬ ‫از‬ ‫عبارت‬ :operation.‫میشود‬ ‫داده‬ ‫نشان‬ ‫ذیل‬ ‫شکل‬ ‫وبه‬ .‫میشود‬ ‫داده‬ ‫انجام‬ ‫سیستم‬ ‫توسط‬ ‫که‬ ‫است‬ Initial node‫ق‬ ‫آن‬ ‫از‬ ‫سیستم‬ ‫اول‬ ‫بار‬ ‫که‬ ‫میباشد‬ ‫سیستم‬ ‫یک‬ ‫شروع‬ ‫ویا‬ ‫آغاز‬ ‫نقطهء‬ :‫میان‬ ‫دایرهء‬ ‫توسط‬ ‫و‬ ‫میکند‬ ‫شروع‬ ‫سمت‬ .‫میشود‬ ‫داده‬ ‫نشان‬ ‫پر‬ Final Node:‫ختم‬activity.‫میشود‬ ‫داده‬ ‫نمایش‬ ‫ذیل‬ ‫دوشکل‬ ‫وبه‬ .‫میکند‬ ‫مشخص‬ ‫را‬ ‫ها‬ Control flow‫که‬ ‫است‬ ‫دار‬ ‫جهت‬ ‫خط‬ ‫قطعه‬ :activity‫یک‬ ‫از‬ ‫که‬ ‫میدهد‬ ‫نشان‬ ‫یعنی‬ ‫میکند‬ ‫مشخص‬ ‫را‬ ‫بعدی‬activity‫به‬ ‫کدام‬activity‫دیگ‬ ‫های‬.‫میتوانیم‬ ‫رفته‬ ‫ر‬
  • 41. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 40 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Conditions:‫یک‬ ‫است‬ ‫ممکن‬activity‫چندین‬ ‫به‬ ‫مختلف‬ ‫شرایط‬ ‫نظرداشت‬ ‫در‬ ‫با‬activity‫دیگرانتقال‬‫در‬ ‫که‬ ‫کند‬ ‫پیدا‬ .‫میشود‬ ‫داده‬ ‫نشان‬ ‫لوزی‬ ‫توسط‬ ‫حالت‬ ‫این‬ ‫دیاگرام‬ Fork and Join Node:activity‫توسط‬ ‫را‬ ‫گیرد‬ ‫صورت‬ ‫همزمان‬ ‫باید‬ ‫که‬ ‫های‬Fork‫م‬ ‫نشان‬ ‫ها‬ ‫تیرک‬ ‫و‬‫شکل‬ ‫به‬ ‫یدهیم‬ :‫ذیل‬ Constraints‫یک‬ ‫در‬ ‫باید‬ ‫که‬ ‫محدودیات‬ ‫و‬ ‫قیودات‬ :Activity‫قیودات‬ ‫این‬ ‫که‬ ‫گردد‬ ‫وشناسایی‬ ‫مشخص‬ ‫باید‬ ‫نگیرد‬ ‫صورت‬ ‫از‬ ‫بعد‬ ‫ویا‬ ‫قبل‬ ‫مستطیل‬ ‫توسط‬ ‫میتواند‬Activity.‫شود‬ ‫داده‬ ‫نمایش‬ ‫ذیل‬ ‫طور‬
  • 42. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 41 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Exception Handler‫افتید‬ ‫خواهد‬ ‫اتفاق‬ ‫سیستم‬ ‫در‬ ‫که‬ ‫استثنایی‬ ‫حاالت‬ :‫در‬ ‫ذیل‬ ‫شکل‬ ‫به‬ ‫میتوان‬ ‫را‬Activity diagram .‫دهیم‬ ‫نمایش‬ ‫میخواهیم‬ ‫بخش‬ ‫درین‬Activity diagram‫سیستم‬ATM Withdraw Money Activity.‫نماییم‬ ‫ترسیم‬ ‫را‬
  • 43. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 42 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬
  • 44. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 43 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ State Chart Diagram ‫زمان‬ ‫در‬ ‫که‬ ‫میسازد‬ ‫واضح‬ ‫دیاگرام‬ ‫این‬run‫کدام‬ ‫مذکور‬ ‫سیستم‬ ، ‫سیستم‬ ‫یک‬ ‫بودن‬state‫حاال‬ ‫ویا‬ ‫ها‬‫یعنی‬ .‫مینمایند‬ ‫اختیار‬ ‫بخود‬ ‫را‬ ‫ت‬ ‫کدام‬ ‫پراسه‬ ‫یک‬ ‫تکمیل‬ ‫از‬ ‫بعد‬ ‫ویاهم‬ ‫پراسه‬ ‫یک‬ ‫دادن‬ ‫انجام‬ ‫جریان‬ ‫در‬ ‫ماشین‬behavior‫ازخود‬ ‫را‬‫همچنین‬ ،‫داده‬ ‫نشان‬object‫و‬ ‫ها‬ events‫کنترول‬ ‫باعث‬ ‫که‬ ‫خارجی‬ ‫و‬ ‫داخلی‬ ‫هایی‬‫افتادن‬ ‫واتفاق‬State‫های‬‫یک‬ ‫مختلف‬activity‫در‬‫میگردد‬ ‫ماشین‬‫دی‬ ‫این‬ ‫در‬‫اگرام‬ .‫میشود‬ ‫داده‬ ‫نمایش‬General problem.‫کرد‬ ‫ساده‬ ‫دیاگرام‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫میتوان‬ ‫را‬ ‫زیادی‬ ‫های‬‫هرطبقه‬ ‫در‬ ‫که‬ ‫آسانسور‬ : ‫مثال‬ ، ‫باالرفتن‬ ‫ازقبیل‬ ‫را‬ ‫مختلفی‬ ‫حاالت‬ ‫ممکن‬.‫کند‬ ‫اختیار‬ ‫خود‬ ‫به‬ ‫شدن‬ ‫متوقف‬ ‫و‬ ‫آمدن‬ ‫پایین‬ ‫از‬state chart diagram:‫میگردد‬ ‫استفاده‬ ‫ذیل‬ ‫مقاصد‬ ‫به‬ .‫است‬ ‫اجرا‬ ‫درحال‬ ‫سیستم‬ ‫زمانیکه‬ ‫ها‬ ‫پراسه‬ ‫برای‬ ‫کشی‬ ‫قالب‬ ‫و‬ ‫مادلینگ‬ ‫آن‬ ‫هرکدام‬ ‫زمان‬ ‫مادلینگ‬ ‫و‬ ‫ها‬ ‫واکنش‬ ‫کردن‬ ‫مشخص‬ ‫یک‬ ‫مختلف‬ ‫حاالت‬ ‫تشریح‬object‫در‬ ‫رازمانیکه‬state.‫است‬ ‫دخیل‬ ‫حاالت‬ ‫مادلینگ‬ ‫منظور‬ ‫به‬ ‫ماشین‬ ‫حاالت‬ ‫کردن‬ ‫مشخص‬object‫ها‬ ‫را‬ ‫ذیل‬ ‫نکات‬ ‫دیاگرام‬ ‫این‬ ‫ترسیم‬ ‫از‬ ‫قبل‬:‫گیریم‬ ‫نظر‬ ‫مد‬ ‫باید‬ ‫تمام‬ ‫دیاگرام‬ ‫در‬ ‫نمیتوانیم‬object‫تنها‬ ‫بلکه‬ ‫بسازیم‬ ‫دخیل‬ ‫هارا‬Object.‫میدهیم‬ ‫نمایش‬ ‫دیاگرام‬ ‫در‬ ‫را‬ ‫اساسی‬ ‫های‬ State.‫باشند‬ ‫شده‬ ‫پیشبینی‬ ‫و‬ ‫تشخیص‬ ‫باید‬ ‫ها‬ Event.‫گردند‬ ‫بینی‬ ‫پیش‬ ‫و‬ ‫تشخیص‬ ‫باید‬ ‫ها‬ ‫ترسیم‬ ‫برای‬state chart diagram‫به‬ ‫مشابه‬ ‫تقریبا‬activity diagram( ‫آغاز‬ ‫نقطهء‬ ‫یعنی‬ ‫میکنم‬ ‫عمل‬starting point‫و‬ ) (final state‫هر‬ ‫و‬ ‫میگردند‬ ‫مشخص‬ )state.‫است‬ ‫شده‬ ‫داده‬ ‫نمایش‬ ‫آن‬ ‫هرکدام‬ ‫ذیل‬ ‫شکل‬ ‫در‬ ‫که‬ .‫میشود‬ ‫داده‬ ‫نمایش‬
  • 45. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 44 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ ‫ذیل‬ ‫دیاگرام‬state chart diagram‫سیستم‬"The Order Management System Order's Object State"‫ن‬ ‫را‬.‫میدهد‬ ‫شان‬
  • 46. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 45 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Software Testing ‫از‬ ‫هدف‬test‫که‬ ‫را‬ ‫مقاصدی‬ ‫شده‬ ‫ساخته‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫شویم‬ ‫مطمئن‬ ، ‫ویر‬ ‫سافت‬ ‫استفاده‬ ‫از‬ ‫قبل‬ ‫باید‬ ‫که‬ ‫است‬ ‫این‬ ‫پروگرام‬ ‫یک‬ ‫نمودن‬ ‫منظور‬ ‫به‬ ‫همچنین‬ ‫و‬ .‫ویاخیر‬ ‫میکند‬ ‫برآورده‬ ‫است‬ ‫شده‬ ‫ساخته‬ ‫آن‬ ‫برای‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫نواقص‬ ‫دریافت‬ ‫و‬ ‫شناسایی‬testing‫ص‬.‫میگیرد‬ ‫ورت‬ ‫از‬ ‫عمدهء‬ ‫دوهدف‬ ‫یعنی‬test:‫از‬ ‫است‬ ‫عبارت‬ ‫ویر‬ ‫سافت‬ ‫کردن‬ ‫آن‬ ‫برای‬ ‫که‬ ‫را‬ ‫نیازمندیهای‬ ‫تمام‬ ‫ویر‬ ‫سافت‬ ‫اینکه‬ ‫کردن‬ ‫اثبات‬ .‫میسازد‬ ‫مرفوع‬ ‫بود‬ ‫شده‬ ‫ساخته‬ ‫با‬ ‫که‬ ‫کارکردهای‬ ‫و‬ ‫حاالت‬ ‫وشناسایی‬ ‫دریافت‬ ‫منظور‬ ‫به‬ requirement‫ازانجام‬ ‫ویر‬ ‫سافت‬ ‫هم‬ ‫یا‬ ‫و‬ ‫است‬ ‫تضاد‬ ‫در‬ ‫عاج‬ ‫آن‬.‫است‬ ‫ز‬ ‫و‬ ‫بررسی‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫مختلفی‬ ‫ابعاد‬ ‫میتوانیم‬ ‫ما‬Test.‫کنیم‬‫بناء‬ Testing.‫اند‬ ‫شده‬ ‫بندی‬ ‫تقسیم‬ ‫ذیل‬ ‫نوع‬ ‫چهار‬ ‫به‬ 1.Development Testing 2.Test Driven Development 3.Release Testing 4.User Testing .‫میدهیم‬ ‫قرار‬ ‫بحث‬ ‫مورد‬ ‫تفصیل‬ ‫با‬ ‫و‬ ‫جداگانه‬ ‫بطور‬ ‫آنرا‬ ‫از‬ ‫هریک‬ ‫ما‬ ‫که‬ Development Testing ‫نوع‬ ‫این‬Testing‫تمام‬ ‫و‬ ‫گرفته‬ ‫صورت‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ ‫تیم‬ ‫توسط‬activity‫ها‬ ‫پروگرامر‬ ‫توسط‬ ‫آن‬ ‫در‬ ‫سیستم‬ ‫یک‬ ‫کارکردهای‬ ‫و‬ ‫ها‬ ‫نوع‬ ‫این‬ .‫میگردد‬ ‫بررسی‬ ‫و‬ ‫چیک‬testing:‫است‬ ‫قسم‬ ‫سه‬ ‫به‬ Unit Testing‫نوع‬ ‫درین‬ :testing‫قبیل‬ ‫از‬ ‫ویر‬ ‫سافت‬ ‫یک‬ ‫کوچک‬ ‫های‬ ‫بخش‬Components‫ها‬‫و‬Object‫کالس‬ ‫های‬ ‫جداگانه‬ ‫بصورت‬ ‫ها‬test‫نوع‬ ‫درین‬ ‫یعنی‬ .‫میگردد‬ ‫وبررسی‬testing‫و‬ ‫کارکرد‬operation‫های‬object class‫ها‬ ‫درزمان‬ ‫و‬ ‫میگردد‬ ‫بررسی‬test‫نمودن‬Object:‫بگیریم‬ ‫مدنظر‬ ‫را‬ ‫ذیل‬ ‫نکات‬ ‫هاباید‬ o‫تمام‬Operation‫با‬ ‫که‬ ‫هایی‬object‫دارندباید‬ ‫رابطه‬ ‫و‬ ‫پیوستگی‬test‫شود‬. o‫یک‬ ‫مشخصات‬ ‫تمام‬ ‫های‬ ‫قیمت‬object.‫گردند‬ ‫وبررسی‬ ‫تنظیم‬ ‫باید‬ oObject‫حاالت‬ ‫ودرتمام‬ ‫داده‬ ‫قرار‬ ‫آن‬ ‫ممکنهء‬ ‫حاالت‬ ‫تمام‬ ‫به‬ ‫را‬test‫یعنی‬ .‫کنید‬ ‫وبررسی‬object‫استفاده‬ ‫با‬ ‫را‬ ‫از‬Event.‫ببرید‬ ‫آن‬ ‫ممکنهء‬ ‫حاالت‬ ‫تمام‬ ‫به‬ ‫ها‬ o‫های‬ ‫خاصیت‬Generalization‫و‬inheritance‫یک‬object‫ها‬testing.‫میسازد‬ ‫مغلق‬ ‫را‬ Component Testing‫معموال‬ :component‫چندین‬ ‫از‬ ‫که‬ ‫دارند‬ ‫تری‬ ‫پیچیده‬ ‫شکل‬ ‫سیستم‬ ‫یک‬ ‫های‬object‫باهم‬ ‫های‬ ‫نوع‬ ‫درین‬ .‫میشوند‬ ‫ساخته‬ ‫ارتباط‬ ‫در‬testing‫هم‬‫هر‬component‫جداگانه‬ ‫بصورت‬test‫بلکه‬ ‫نشده‬component‫های‬ ‫میگر‬ ‫بررسی‬ ‫است‬ ‫ارتباط‬ ‫در‬ ‫باسیستم‬ ‫که‬‫ویاهم‬ .‫دد‬package‫چندین‬ ‫از‬ ‫متشکل‬ ‫های‬object‫و‬ ‫بررسی‬ ‫باهم‬test.‫میگردد‬ ‫بین‬ ‫ارتباط‬ ‫وهمچنین‬component‫بین‬ ‫برقراری‬ ‫شیوهء‬ ‫و‬ ‫ها‬component‫ها‬)‫ها‬ ‫(انترفس‬‫بررسی‬ ‫مرحله‬ ‫درین‬ ، ‫بررسی‬ ‫از‬ ‫مرحله‬ ‫درین‬ .‫میگردد‬common-error‫قبیل‬ ‫از‬ ‫های‬interface misuse،interface misunderstanding،Timing errors.‫میگردند‬ ‫تنظیم‬ ‫و‬ ‫شده‬ ‫داده‬ ‫تشخیص‬ ‫موارد‬ ‫وغیره‬ System Testing‫نوع‬ ‫این‬ :testing‫تمام‬ ‫وعملکرد‬ ‫کارکرد‬component‫یکجایی‬ ‫بصورت‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫یک‬ (integrated‫و‬ ‫بررسی‬ )test‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫و‬ .‫مینماید‬testing‫آیا‬ ‫که‬ ‫مبینیم‬ ‫ما‬object‫و‬ ‫ها‬component‫ها‬ ‫شان‬ ‫بایکدیگر‬compatible‫انترفس‬ ‫به‬ ‫را‬ ‫درست‬ ‫دیتای‬ ‫آیا‬ ‫میکنند؟‬ ‫برقرار‬ ‫ارتباط‬ ‫شان‬ ‫بین‬ ‫درست‬ ‫نحو‬ ‫به‬ ‫آیا‬ ‫ویاخیر؟‬ ‫اند‬ ‫میگیرد؟‬ ‫صورت‬ ‫ها‬ ‫انترفس‬ ‫طریق‬ ‫از‬ ‫دیتا‬ ‫تبادل‬ ‫معین‬ ‫اوقات‬ ‫در‬ ‫آیا‬ ‫؟‬ ‫میدهند‬ ‫ها‬
  • 47. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 46 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Test Driven Development ‫نوع‬ ‫درین‬testing‫ماد‬ ‫پراسس‬ ‫نوع‬ ‫به‬ ‫توجه‬ ‫با‬‫یک‬ ‫اوال‬ ‫ویر‬ ‫سافت‬ ‫در‬ ‫شده‬ ‫استفاده‬ ‫ل‬test case‫سپس‬ ‫و‬ ‫شده‬ ‫نوشته‬testing‫اجرا‬ ‫وتازمانیکه‬ ‫میگردد‬ ‫بررسی‬ ‫آن‬ ‫نتیجهء‬ ‫و‬ ‫شده‬test case‫به‬ ‫ندهد‬ ‫نتیجه‬ ‫شده‬ ‫نوشته‬test case.‫نمیرویم‬ ‫جدید‬ ‫نوع‬ ‫این‬testing‫در‬ ‫تر‬ ‫زیاد‬Agile software development‫شم‬ ‫آن‬ ‫از‬ ‫بخش‬ ‫یک‬ ‫و‬ ‫شده‬ ‫استفاده‬‫در‬ .‫میشود‬ ‫رده‬Agile Process ‫بار‬ ‫هر‬Testing‫یک‬ ‫باالی‬Sprint‫به‬ ‫باشد‬ ‫درست‬ ‫که‬ ‫درصورت‬ ‫و‬ ‫شده‬ ‫تطبیق‬sprint‫باید‬ ‫آنصورت‬ ‫درغیر‬ ‫و‬ ‫بعدی‬sprint‫مذکور‬ refactor:‫ذیل‬ ‫شکل‬ ‫به‬ ‫مطابق‬ .‫شود‬ Release Testing ‫عملیهء‬ ، ‫روش‬ ‫درین‬Testing‫یا‬ ‫نمونه‬ ‫هر‬ ‫باالی‬Release‫ویر‬ ‫سافت‬ ‫از‬ ‫که‬‫نوع‬ ‫این‬ ‫و‬ ‫میشود‬ ‫تطبیق‬ ‫میشود‬ ‫ساخته‬Testing‫توسط‬ ‫ویا‬ ‫مشتری‬user‫و‬ ‫شده‬ ‫روان‬ ‫قیمت‬ ‫صرف‬ ‫درآن‬ ‫و‬ ‫میگیرد‬ ‫صورت‬ ‫سیستم‬ ‫های‬output‫تخنیکی‬ ‫به‬ ‫باتوجه‬ ‫بناء‬ .‫میگردد‬ ‫بررسی‬ ‫آن‬ ‫چگونگی‬ ‫با‬ ، ‫مشتری‬ ‫نبودن‬implementation‫و‬ ‫قیمت‬ ‫کردن‬ ‫وارد‬ ‫است‬ ‫مهم‬ ‫که‬ ‫چیزی‬ ‫بلکه‬ ‫نداریم‬ ‫سروکار‬ ‫سیستم‬output .‫است‬ ‫آن‬ ‫ونتیجهء‬‫نوع‬ ‫این‬ ‫که‬testing‫نام‬ ‫به‬ ‫را‬black box Testing‫که‬ ‫زیرا‬ ‫میکنند‬ ‫یاد‬ ‫هم‬Test‫پراسه‬ ‫تکمیل‬ ‫چگونگی‬ ‫با‬ ‫کننده‬ ‫را‬ ‫دیتا‬ ‫بلکه‬ ‫ندارد‬ ‫کار‬ ‫سرو‬ ‫واجزا‬ ‫ها‬input‫و‬ ‫نموده‬output.‫میکند‬ ‫بررسی‬ ‫را‬ ‫آن‬ ‫بین‬ ‫عمده‬ ‫فرق‬Release Testing‫و‬System Testing‫اس‬ ‫دراین‬‫که‬ ‫ت‬Release Testing‫مشتری‬ ‫از‬ ‫متشکل‬ ‫که‬ ‫جدیدی‬ ‫اعضای‬ ‫ویاهم‬manager‫را‬ ‫سیستم‬ ‫باشد‬ ‫می‬test‫اینکه‬ ‫بدون‬ ‫میکنند‬developer‫در‬ ‫ولی‬ .‫باشد‬ ‫داشته‬ ‫دخالتی‬ ‫درآن‬system testing ‫شد‬ ‫گفته‬ ‫قسمیکه‬developer‫ا‬ ‫حاالت‬ ‫کنترول‬ ، ‫کیفیت‬ ‫بردن‬ ‫بلند‬ ، ‫سیستم‬ ‫کار‬ ‫طرز‬ ‫از‬ ‫شدن‬ ‫مطمین‬ ‫بخاطر‬ ‫ها‬‫دریافت‬ ‫و‬ ‫ستثنایی‬ ‫را‬ ‫سیستم‬ ، ‫نواقص‬test.‫مینمایند‬ Release Testing:‫باشد‬ ‫ذیل‬ ‫شکل‬ ‫سه‬ ‫به‬ ‫میتواند‬ Requirement Based Testing ‫نوع‬ ‫درین‬testing‫یک‬ ‫تنها‬ ‫بررسی‬ ‫منظور‬ ‫به‬ ‫را‬ ‫قیمت‬ ‫یک‬ ‫هربار‬ ‫مشتری‬requirement‫ویر‬ ‫سافت‬ ‫به‬release‫روان‬ ‫شده‬ .‫میکند‬‫نی‬ ‫از‬ ‫یکی‬ ‫هربار‬ ‫مشتری‬ ‫یعنی‬.‫میکند‬ ‫روان‬ ‫قیمت‬ ‫سیستم‬ ‫به‬ ‫آن‬ ‫بررسی‬ ‫برای‬ ‫و‬ ‫گرفته‬ ‫مدنظر‬ ‫هارا‬ ‫ازمندی‬ Scenario Testing ‫از‬ ‫روش‬ ‫درین‬Testing‫و‬ ‫کم‬ ‫بدون‬ ‫را‬ ‫پراسه‬ ‫یک‬ ‫تشریحات‬ ‫تمام‬ ‫درآن‬ ‫و‬ ‫گرفته‬ ‫مدنظر‬ )‫مختصرنیازمندی‬ ‫(شرح‬ ‫سناریو‬ ‫یک‬ ‫اوال‬ ‫ر‬ ‫نیازمندیهارا‬ ‫سیستم‬ ‫آیا‬ ‫که‬ ‫مینماییم‬ ‫بررسی‬ ‫وسپس‬ ‫میکنیم‬ ‫نوشته‬ ‫کیف‬.‫ویاخیر‬ ‫است‬ ‫نموده‬ ‫فع‬
  • 48. ‫ها‬ ‫افزار‬ ‫نرم‬ ‫طراحی‬ ‫راهکارهای‬ 47 "‫"امان‬ ‫هللا‬ ‫محب‬ : ‫وترتیب‬ ‫تهیه‬ Performance Testing ‫از‬ ‫نوع‬ ‫این‬Testing‫سیستم‬ ‫که‬ ‫میگردد‬ ‫واضح‬ ‫آن‬ ‫تکمیل‬ ‫از‬ ‫پس‬ ‫طوریکه‬ ‫میرود‬ ‫بکار‬ ‫سیستم‬ ‫یک‬ ‫عملکرد‬ ‫بررسی‬ ‫برای‬Test‫تا‬ ‫شده‬ ‫به‬ ‫سرحد‬ ‫کدام‬User.‫است‬ ‫جوابگو‬ ‫ها‬‫وبرای‬‫نوع‬ ‫این‬ ‫تکمیل‬Testing‫هربار‬ ‫ما‬Load‫کرده‬ ‫زیاد‬ ‫ویر‬ ‫سافت‬ ‫باالی‬ ‫را‬ ‫دیتا‬‫عملکرد‬ ‫و‬ .‫سنجیم‬ ‫می‬ ‫آنرا‬ ‫وهمچنین‬‫دیگری‬ ‫هدف‬‫از‬performance Testing‫و‬ ‫دقت‬ ‫بررسی‬accuracy‫ورودی‬ ‫معلومات‬ ‫اندازهء‬ ‫و‬ ‫فشار‬ ‫درحاالتیکه‬ ‫سیستم‬ ‫باالی‬‫س‬‫میگر‬ ‫زیاد‬ ‫یستم‬‫دد‬‫یعنی‬ .‫باشد‬ ‫می‬ ،.‫ویاخیر‬ ‫است‬ ‫برخوردار‬ ‫الزمه‬ ‫دقت‬ ‫از‬ ‫حالت‬ ‫آن‬ ‫در‬ ‫سیستم‬ ‫آیا‬ ‫که‬ ‫میگردد‬ ‫بررسی‬ User Testing ‫همانطوریکه‬‫پیداست‬ ‫آن‬ ‫نام‬ ‫از‬User Testing‫توسط‬User)‫(مشتری‬ ‫ها‬.‫میشود‬ ‫تکمیل‬‫تیم‬‫تکمیل‬ ‫از‬ ‫بعد‬ ‫سازی‬ ‫ویر‬ ‫سافت‬ release Testing‫برای‬ ‫محیط‬ ‫نداشتن‬ ‫به‬ ‫توجه‬ ‫با‬Testing‫محیط‬ ‫در‬ ‫تا‬ ‫داده‬ ‫مشتری‬ ‫به‬ ‫را‬ ‫ویر‬ ‫سافت‬ ‫واقعی‬ ‫دیتای‬ ‫همچنین‬ ‫و‬ ‫نمایند‬ ‫کار‬ ‫امتحانی‬ ‫بطور‬ ‫مدتی‬ ‫برای‬ ‫خودشان‬ ‫دیتای‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫و‬ ‫خودشان‬‫ودرخالل‬ .‫و‬ ‫شده‬ ‫روشن‬ ‫سیستم‬ ‫های‬ ‫وکاستی‬ ‫کم‬ ‫مدت‬ ‫این‬ .‫میگردد‬ ‫رفع‬ User Testing‫میگرد‬ ‫تکمیل‬ ‫ذیل‬ ‫مرحلهء‬ ‫سه‬ ‫به‬.‫د‬ Alpha Testing‫به‬ :‫منظور‬( ‫ترمیم‬Fix).‫میشود‬ ‫انداخته‬ ‫براه‬ ‫کاری‬ ‫محیط‬ ‫در‬ ‫سیستم‬ ‫اشتباهات‬ ‫نمودن‬ Beta Testing:‫ولی‬ ‫شده‬ ‫تکمیل‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫است‬ ‫مرحلهء‬‫نیست‬ ‫اعتماد‬ ‫قابل‬ ‫هنوز‬‫استفاده‬ ‫سیستم‬ ‫از‬ ‫امتحانی‬ ‫بطور‬ ‫مشتریان‬ ‫لذا‬ ‫میکن‬ ‫کوشش‬ ‫گوناگون‬ ‫عملیات‬ ‫اجرای‬ ‫و‬ ‫اندازی‬ ‫راه‬ ‫با‬ ‫و‬ ‫نموده‬‫را‬ ‫مترقبه‬ ‫غیر‬ ‫حاالت‬ ‫تا‬ ‫ند‬‫را‬ ‫سیستم‬ ‫ضعف‬ ‫های‬ ‫نکات‬ ‫و‬ ‫آورده‬ ‫پیش‬ ‫دری‬.‫ابند‬ Acceptance Testing‫از‬ ‫نهایی‬ ‫مرحلهء‬ :User Testing‫ب‬ ‫آیا‬ ‫که‬ ‫میگردد‬ ‫بررسی‬ ‫درآن‬ ‫که‬ ‫است‬‫به‬ ‫نیازمندیهارا‬ ‫سیستم‬ ‫کلی‬ ‫طور‬ ‫اساس‬software specification‫و‬ .‫ویاخیر‬ ‫میسازد‬ ‫رفع‬.‫رد‬ ‫هم‬ ‫کندویا‬ ‫قبول‬ ‫را‬ ‫مذکور‬ ‫ویر‬ ‫سافت‬ ‫که‬ ‫میگرد‬ ‫تصمیم‬ ‫مشتری‬ ‫درآن‬ ‫ومن‬‫التوفیق‬ ‫هللا‬