صفحه 1:
ect-Oriented Brogramming:
duction to Analysis and Design
نام گرد آور: مهدی نیازی
رشته : مهندسی نرم افزار
دانشگاه: آزاد خوراسگان
صفحه 2:
<شی 660ز00):
7
به هر مفهوم يا هر جيز قابل دركى كه بشود با خصوصيات و رفتار مستقل آن رااز
يكث محيط بازشناسى كرد.
(Class) ois *
مفهومی انتزاعی برای دسته بندی اشیاء
نشان دهنده خصوصیات و رفتار گروه خاصی از اشیاء
خصوصیات و رفتارها مشخص هستند
~Attribute)cis >
هر شی » یکسری خصوصیات دارد که به آنها صفت گفته می شود که در واقع
یک مقدار با ارزش مشخصی برای آن وجود دارد.
صفحه 3:
شی گرایی دارای منافع ژنادی انسته
v
زمان تحلیل و طراحی و برنامه نویسی کاهش می یابد و در نتیجه موفقیت افزایش
می يابد.
برنامه زمان بندی پروژه را بصورت چشمگیری کاهش می دهد.
توسعه سیستم را تسریع می کند.
v
۳ شی کرابی
صفحه 4:
متدولوژی
> یک متدولوژی مجموعه ای از روش ها و توصیه ها می باشد كه به همراه
رابرد مشخص و طی مراحل مختلف از توسعه سیستم بکار گرفته می شود.
یک چارچوب مشخص است که ترتیب كام به گام راهکارهایی را که به
توسعه محصول نهایی کمک می کند. مشخص می نماید.
یک متدولوژی دارای ابزار تعریف شده و مدل مفهومی می باشد و از یک
گرامر مشخص استفاده می کند.
هر متدولوژی برای انجام کارها از تعدادی ابزار و تکنیک استفاده می کند.
برای مثال مدل شی گرا یکی از متدولوژیهای توسعه رم افزار می باشد.
۶ از جمله متدولوژیهای شی گرا می توان به UML 28
Ee
صفحه 5:
متدلوژی 0/1
«J Unified Modeling Languagexis.UML >
]۷ لا یککزباندستاندارد بسه منظور مشخصریودن پسیشسینی لیجاد و
مستندسازی_ولیلل رم لفزاریست
مجموعه ای است از بهترین امکانات مهندسی به منظور استفاده در سیستم های
بزركك است.
< الا یک ابزار ویژوال بوده كه از انواع متفاوتى از نمودارها استفاده مى
كند
و هر یک از نمودارهاى آن امكان مشاهده يكك سيستم نرم افزاری را از دید گاهی
متفاوت و با توجه به درجات متفاوت در اختیار توسعه دهنده قرار می دهد.
re
صفحه 6:
متدلوژی 0/1
۱۷لا دارلیمزیتهاوزیر لست
درستی دریافت درخواست مشتری
7 جلوگیری از ابهام و دوباره کاری در نوشتن برنامه
تفکر میتی بر برنامه نویسی شی گرا است
> لا ی کلبانب رنامه نوسی_صروالا ۷5 نی اشد
re
صفحه 7:
ال رس
اف قطاز چند تانودار تشکیلش ده لسکه با کمکلین
نتودارهاها قادر خولميويوه ازج جهه يهتزا بسازيويا
ببينيمبرلىمثا ل حليلكرلن طرلحانة كد كنند كان مشترى يشتيبانان
فنوهر كللم از ليرنقشرها ولبسته به يكنجنبه از سيستممىاشند و هر
كلام سطح متفاوتواز جزئیانوا نیاز دارندبرلءم ثا لکد کنند گانباید
طرلحىسيستمرا بفهمند تا قادر باشندآزرا به كد تبديلكند وِلى
مشترىئبه جني نإطاهاتىإحتياج ندارد يسريايد ديد ديكرواز سيستوبه
مشترین شانداد تا بفهمد کلسیستمچه Lily UML sage pele
لستکه به ولسطه ن_مودارهایم ختلننعود فسهم سیستمرا بسرلیتسمام
لفراد مرتبطبا پسروژه فرلهممیکند
ie Ln =
صفحه 8:
نمودار موارد کاربرد( 685 ]15
نمودار موارد کاربرد رفتار سیستم را از دید ناظر بیرونی نشان می دهند. منظور
از ناظر بیرونی هر چیزی است که در بیرون از سیستم قرار دارد و با سیستم در
تعامل است. ناظر بیرونی ممکن است یک شخص. یک سیستم اطلاعاتی
دیگر یا یک وسیله سخت افزاری باشد.
> نمودار موارد کاربرد خلاصهای از سناریو است که یک وظیفه یا هدفی خاص
را مشخص می کند. در نمودار موترد کاربرد بجای تا کید بر چگونگی انجام
یک وظیفه (۳۱۵۷۷) بر روی خود اهداف يا وظایف (۷۷۱۵1) تا کید
میشود.
2 نمودار موارد کاربرد به ما کمک می کند تا نیازمندیهای سیستم را درک کنیم.
این نمودار به راحتی قابل درک است به صورتی که هم توسعه دهنده گان
سیستم و هم مشتری می تواند با آن کار کند.
۳ شي کرابی
صفحه 9:
سناریو: بیمار به کلینیک مراجعه میکند و یک وقت برای 1661110]) سالیانه
می خواهد. منشی اولین زمان خالی را از لیست قرارهای پزشکی پیدا کرده آن
زمان را به بیمار اعلام میکند.
communication
Make Appointment م + وح جوم
Patient 2.
use case
7۳
صفحه 10:
اجزای نمودار موارد کاربرد
2 عناصر عمده نمودار موارد کاربرد عبارتند از:
لا قالب(56) 56لا قالب ها زیر سیستم های موجود در سیستم هستند که
وظیفه خاصی را بر عهده دارند و از دید کاربران قابل مشاهده است. قالب با
بیضی نشان داده می شود.
برای هر یک از زیر سیستم ها باید اسمى انتخاب كنيم. اين اسم بايد نشان
دهنده کاری باشد که که زیر سیستم نشان می دهد.
به عنوان مثال در سیستم دانشگاه برای دانشجو زیر سیستم انتخاب واحد و
حذف و اضافه را داریم.
>
>
صفحه 11:
اجزای نمودار موارد کاربردرداسم
Q بازیگران(۵6]0):بمردمانی هستند که با سیستم در ارتباط می باشند. با
سیستم تعامل دارند.دیا گرام بازیگران به شکل زیر است:
“ل برای هر بازیگر متناسب با نقش ای که در سیستم دارد؛ نامی را در نظر مى كيريم.
که به اين کار یادداشت سازی بازیگر گفته می شود.
< به عنوان مثال برای سیستم دانشگاه بازیگران زیر را داریم:
دانشجوی استاده مسئول سایت» مسئول آزمایشگاه و ...
Actor role name
۳ شی کرابی
صفحه 12:
اجزای نمودار موارد کاربردرداسم
>
قسمت سوم نمودار موارد کاربرد نشان دادن ارتباطات Ge بازیگران و زیر
سیستم ها است. برای مرتبط کردن بازیگران با زیر سیستم ها از حطوط جهت
دار استفاده می شود که نشان دهنده جریان است.
بازیگران خاصی فقط می تواند با قالب خاصی ارتباط داشته باشند.
< به عنوان مثال در سیستم دانشگاه بازیگر استاد با قالب انتخاب واحد ارتباطی
ندارد یا بازیگر دانشجو با زیر سیستم ارائه درس رابطه ای ندارد.
۳ شی کرابی
صفحه 13:
Cancel Appointment +
Patient Make Appointment
Request Medication
Clerk
مهندسي نرم افزار
صفحه 14:
“ همانطور که یک شی یک نمونه از یک کلاس است» یک سناریو یک نمونه
از یک 0256 56لا است.
سناریو تعاملات ممکن oe سیستم و مردم يا اشیای پیرونی برای انجام وظیفه
ای خاص را نشان می دهد. تعاملات را می توان با استفاده از پیغامهای رد و
بدل شده نشان داد. معمولا روند انجام یکك وظیفه ممکن است به صورتهای
مختلفی باشد که هر یک از آنها را یک سناریوی آن وظیفه می نامند.
re
صفحه 15:
سناربوی دستگاه ۸۲۱۷
< جریان اصلی : مشتری کارت خود را در دستگاه می گذارد و دستگاه از
مشتری مي خواهد که شماره رمزرا وارد کند» مشتری شماره رمز رابا استفاده
از صفحه کلید وارد مى كند و با فشردن كليد Enter پذیرش آن را اعلام
می کند حال سیستم شماره رمز مشتری را بررسی می کند و در صورت اعتبار
آن» شماره پیغام ورود به سیستم را داده و صورت حساب فرد را نشان می دهد
“7 جریان استناا: مشتری هر لحظه که بخواهد می تواند با فشردن دکمه
Cancel ِ 2515 را لغو و تمام کند.
جریان استثنا ۲: مشتری می تواند قبل از فشردن د کمه 2]6۲] شماره رمز
نوشته شده را پاک و یک شماره دیگر به جای آن بنویسد.
< جریان استثتا ۳: اگر مشتری شماره رمز خود را اشتباهی وارد کند این وظیفه
از نو آغاز می شود و در صورتی که مشتری بیش از ۳ بار اشتباه کند عملیات
تعلیق انجام می شود.
re
صفحه 16:
دستگاه ATM
* سم مشاهده تراز موجودی
کارمند بانک — —
تت واریز پول ید حساب
7 37
>—_— سم
aio
a سسکا
سیستم تایید اعتبار برداشت پول
انتقال پول
BS eee ad شی کرابی
صفحه 17:
مرز سیستم 8010۱10۸۵۱ 5۷5۲6۱۸)
به صورت اختیاری می توان مستطیلی دور کلیه 6256 56ل1 pee
كشيد تا مرز آن سیستم را مشخص شود. این کار در سیستم های بز رگ که از
زیر سیستمهای زیادی تشکیل شده است. می تواند در شناخت مرز هر یک از
زیر سیستمها کمک بسیار زیادی کند.
ظ بین 0256 6ولا و ۵0۲ فقط رابطه ۸55012110۳ می تواند
برقرار باشد. هر نوع تعامل ۵610۲ با 6256 56لا را ۸55061110۳
می نامند. اين رابطه با یک خط معمولی نشان داده می شود.
۳ شی کرابی
صفحه 18:
USE CASE رابطه بین
OLE teas (Generalization) pas < دهنده این است که یک
6 56لا نوع ویژهای از Case ex, 5لا ديكر ميباشد.
More general رو( Specialized
use case name use case name
Case eS os olf Include) Js * 56لا از جزئیات یک
6 56لا دیگر استفاده می کند.
CPP
صفحه 19:
USE CASE رابطه بین
(ادامه)
Use Case es «1, Use Case eS alg (x(Extend) توسعه >
دیگر توسعه داد.
Extended _م 1
use case name
۳ شی کرابی
صفحه 20:
رابطه بین ۸۵۲۵
۳ شی کرابی
صفحه 21:
سیستم تعمیر گاه
>
هدف از سیستم تعمی رگاه فراهم نمودن مدیریتی کارا برای همه جنبه های
چرخه سرویس دهی و تعمیر از تعریف کارهای مورد نیاز مشتریان گرفته تا
خاتمه یافتن این کارها است. سیستم باید تسهیلات زیر را ارائه نماید:
* رزرو کارها( شامل سرویس و تعمیر)
* شناسائی قطعات ید کی مورد نیاز و درخواست آنها
" زمانبندی کارها
"ثبت جزئیات کارهای انجام شده
* مسائل مربوط به اتمام یکک کار: مانند تحویل ماشین و محاسبه هزینه کار
* اینجا کارها بر دو نوعند: معمولی و اولویت دار
re
صفحه 22:
مسئول پذیرش مشتر
کنترل کننده قطعات
کنترل کننده قطعات
مکانیک
مکانیک
مسئول پذیرش مشتریان
مدیریت کار از ابتدا تا خاتمه: اطمینان از درستی انجام
اطمینان از رضایت مشتری؛ دریافت مزد کار و تحویل
مورد کاربري
ثبت كار مورد نیاز مشتری
آن و ثبت جزئيات كار انجام شده
ماشين به مشترى
CPP
صفحه 23:
USE CASE
مهندسي نرم افزار 5
صفحه 24:
(Class Diagram) wYS jlo505
>
نمودار کلاس انواع اشیاء درون سیستم و انواع مختلف ارتباطات ساختاری
آنها را نمايش مى دهد.
> عناصر یک نمودار كلاس عبارتند از:
-كلاس ها
-روابط بين كلاس ها
2 كلاس خود شامل بخش هاى زير است:
(Attributes) ous
Class (Operations) Just
Attribute
operation ()
مهندسی نرم افزار ۱57
صفحه 25:
2 کلاس حساب(660۱(0) شامل سه صفت است :
شماره حساب
شماره رمز
تراز موجودی
& کلاس حساب شامل عملگرهای زیر است:
باز کردن(006)
برداشت وجه(۴۵۲۵5 ۷۷۱۳۱۵۲۵۷)
(Deduct FUNS) ¢s> 54 SF
Verify FUNS) 6. > 54 eb
re
صفحه 26:
روابط بين كلاس ها
رابطدى انجمنى (865506©1311017)
-رابطهی تجمع (Aggregation)
-رابطهی ت (Composition) Cs
< رابطهی وابستگی(/2606۳06۳6۱)
Generalization) js sae, *
صفحه 27:
روابط بین کلاس شردام
رابطدى Aggregation
-یک حالت خاص از رابطهی انجمنی است.
-زمانی که بخواهیم نشان دهیم که اجتماع چند شیء یک شیء کلان تر بوجود می آورد از
این نوع رابطه استفاده می کنیم.
در صورت از بین رفتن کلاس؛ کلاس های جزء از ین نمی روند.
-ارتباط کلاس های دیگر با کلاس جزء می تواند بدون ارتباط و دخالت کلاس کل برقرار
شود
> رابطهی Composition
عاوه بر مفهوم ی لبطه 7 جمع
تسشکیلمیشود بیانگر آنلسنکه بااز بسیزیفترشی
.نیز از بسیزمیرود
هر کاشکه ببخولهد با کاسهایجزء از یبکتک ااض
.بدوزولسطه و دخا لتكلا ضسكإإيرإمر لمكانيذير نيست
۳ شي كرابى
ه از لجتماع چند شی ب کش
3 د ليه لشياء rd sje
(إرتباطبرقرار كنل -
صفحه 28:
روابط بين كلاس ها
(ادامه)
آدرس
Ss Ome
ور ۳ Boe
سس 1
2 حون یه فوخ اعت
Talend Ocean Taegan
صفحه 29:
روابط بين كلاس ها
(ادامه)
Association Class) bu) Kul) os >
وقتى وابستكى يا ارتباط بين كلاس (Attribute) stebl waits clio باشد از
کلاس وابستگی استفاده می شود که در واقع دو نقش بازی می کند هم به عنوان يكك
كلاس وهم به عنوان یکک رابطه عمل می کند.
درس
صفحه 30:
نمودار ترتيب(15 © لاع لا ©58)
نمودار ترتيب July pene sls (Sequence diagram)
میکند.تا کید در این نمودار بر زمان و ترتیب ارسال پیام ها است.مجموعه ای
از اشیاء با ارسال پیام با هم ارتباط برقرار میکنند.
‘Object : Class1 Object : 2 أعهزنات : 3
CPP
صفحه 31:
ميند
۳۳3
(SEQUENCE) 15 55 logos