More Related Content Similar to راهکارهای طراحی نرم افزار ها محب الله امان (20) More from Muhibullah Aman (6) راهکارهای طراحی نرم افزار ها محب الله امان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تشکیل همگروپان کمک به خانگی وظیفهء عنوان به خانه در که هایی
ذ در دادیم.بینید می یل
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
قالب در میتوان را کمپیوتری سیستم هر عادی بصورتinputProcessing 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.است گردیده ترسیم
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کمپنی هر میدانیم مثال بطور .گردد ایجاد نیز دومی کالس
.باشد می دیپارتمنت یک حداقل دارای افتیدن کار به و شدن ایجاد محض به