ءاﺮﮔ ﯽﺷ...

14
ﻣﻬﻨﺪﺳﯽ ﺷﯽ ﮔﺮاء ﺷﯽ ﮔﺮاﯾﯽ ﮐﻞ ﺳﯿﺴﺘﻢ را ﺑﻪ ﺻﻮرت ﻣﺠﻤﻮﻋﻪ اي از اﺷﯿﺎي دﻧﯿﺎي واﻗﻌﯽ ﺑﻪ ﻣﺎ ﻧﺸﺎن ﻣﯽ دﻫﺪ. ﺷﯽ ﮔﺮاﯾﯽ ﺑﺮ ﻣﺒﻨﺎي ﻣﻔﻬﻮم و اﺻﻮل ﮐﻼس ﻫﺎ ﭘﯿﺎده ﺳﺎزي ﺷﺪه اﺳﺖ ﮐﻼس: ﻣﺠﻤﻮﻋﻪ اي از اﺷﯿﺎ ،ﺻﻔﺎت و ﻣﺘﺪ ﻫﺎ و رﻓﺘﺎر ﻫﺎ و روﯾﺪاد ﻫﺎ را ﺑﺮاي ﮐﺎرﺑﺮان ﺑﻪ ﺻﻮرت ﺑﺴﺘﻪ ﺑﻨﺪي ﺷﺪه ﻓﺮاﻫﻢ ﻣﯽ ﮐﻨﺪ. در اﯾﻦ ﺗﻌﺮﯾﻒ ﺻﻔﺎت ﺑﻪ ﻣﺠﻤﻮﻋﻪ ﺧﻮاﺻﯽ ﮔﻔﺘﻪ ﻣﯽ ﺷﻮد ﮐﻪ ﺗﻌﺮﯾﻒ ﮐﻨﻨﺪه آن ﮐﻼس ﻣﯽ ﺑﺎﺷﻨﺪ ﻣﺎﻧﻨﺪ ﺧﺎﺻﯿﺖ رﻧﮓ ، وزن، ﺗﻌﺪاد ﺳﯿﻠﻨﺪر و... ﺑﺮاي ﯾﮏ ﻣﺎﺷﯿﻦ رﻓﺘﺎر ﻫﺎ ﻣﺠﻤﻮﻋﻪ ﻋﻤﻠﯿﺎت ﻫﺎﯾﯽ ﻫﺴﺘﻨﺪ ﮐﻪ ﯾﮏ ﮐﻼس در ﺗﻌﺎﻣﻞ ﺑﺎ اﺷﯿﺎ و ﯾﺎ ﮐﻼس ﻫﺎي دﯾﮕﺮ از ﺧﻮد ﺑﺮوز ﻣﯽ دﻫﺪ. ﺷﯽ: ﻋﺒﺎرت اﺳﺖ از ﻧﻤﻮﻧﻪ اي از ﯾﮏ ﮐﻼس ﮐﻪ ﺻﻔﺎت ، ﺧﻮاص و رﻓﺘﺎر ﻫﺎي آن ﮐﻼس را ﻧﻤﺎﯾﺶ ﻣﯽ دﻫﺪ و در واﻗﻊ ﺑﺎ اﺳﺘﻔﺎده از ﯾﮏ ﺷﯽ ﻣﯽ ﺗﻮان ﺧﺼﻮﺻﯿﺎت ﯾﮏ ﮐﻼس را ﺗﻐﯿﯿﺮ داد.

Upload: others

Post on 11-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣce.sharif.ir/~aamiri/Courses/Files/SE/Slides/Presentation11.pdf · ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣ ﺎﻣ ﻪﺑ ﯽﻌﻗاو يﺎﯿﻧد

مهندسی شی گراء

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

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

.کاربران به صورت بسته بندي شده فراهم می کند به مجموعه خواصی گفته می شود که تعریف کننده آن صفاتدر این تعریف

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

.کالس هاي دیگر از خود بروز می دهد

عبارت است از نمونه اي از یک کالس که صفات ، خواص و رفتار هاي : شیآن کالس را نمایش می دهد و در واقع با استفاده از یک شی می توان

.خصوصیات یک کالس را تغییر داد

Page 2: ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣce.sharif.ir/~aamiri/Courses/Files/SE/Slides/Presentation11.pdf · ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣ ﺎﻣ ﻪﺑ ﯽﻌﻗاو يﺎﯿﻧد

....مثايل از كالس شي وبه عنوان مثال کالس انسان را در نظر بگیرید

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

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

نمونه اي از خواص انسان این است که هر انسان رنگ پوست متفاوتی.....رنگ چشم خاصی دارد نام خاصی دارد و. دارد

صحبت کردن ، غذا خوردن و: رفتار هاي یک انسان مانند....

هر شی در دنیاي شی گرایی داراي صفتی است که ان : مشخصه کلیدمانند اثر انگشت براي انسان و یا نام . را از دیگر صفات متمایز می کند

شی در دنیاي برنامه نویسی

Page 3: ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣce.sharif.ir/~aamiri/Courses/Files/SE/Slides/Presentation11.pdf · ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣ ﺎﻣ ﻪﺑ ﯽﻌﻗاو يﺎﯿﻧد

Abstraction کالس یک هاي رفتار و خواص نمایش یعنی : )تجرید (-. آن سازي پیاده نحوه و درونی ساختار به توجه بدون

Inheritance)کالس از را خواصی تواند می کالس هر یعنی :) وراثت کار این.دارد بري ارث خود پدر از که فرزند یک مانند ببرد ارث به دیگر هاي

دیگر هاي کالس ترکیب با را جدیدي هاي کالس تا کند می کمک شما به.بسازید

Encapsulation)کند می کمک شما به سازي محصور : )سازي محصور آن از باشد نمی دیگري شی نیاز مورد که را شی یک هاي رفتار و صفات تا

.دارید نگه مخفی شی

Polymorphism)تا دهد می امکان شما به روش این : )ریختی چند طراحی دارند متفاوتی هاي عملکرد واقع در که نام یک با هایی رفتار

ماشین شی مثال.باشید داشته مختلفی هاي رفتار مختلف شرایط در تا.نمایید.دهد می انجام متفاوتی اعمال خود هاي ورودي نوع به بسته شویی لباس

اجزاي شي گرايي

Page 4: ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣce.sharif.ir/~aamiri/Courses/Files/SE/Slides/Presentation11.pdf · ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣ ﺎﻣ ﻪﺑ ﯽﻌﻗاو يﺎﯿﻧد

مدل سازي بھ روش شي گرا با استفاده از تكنیكUML انجام مي.شود

UML Unified Modeling Language : یعني زبانزباني است كھ بھ صورت بصري : یكپارچھ مدل سازي

براي نمایش نمودار ھاي مختلف جھت مدل سازي یك سیستم .بھ روش شي گراء

مدل سازي شي گراء

Page 5: ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣce.sharif.ir/~aamiri/Courses/Files/SE/Slides/Presentation11.pdf · ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣ ﺎﻣ ﻪﺑ ﯽﻌﻗاو يﺎﯿﻧد

Uml مدل ھاي زیادي را جھت ساخت یك مدل كلي شي گرا براي.نمایش سیستم ارائھ كرده است

:class model مدل كالس نمایي از ساختار ایستاي نرم افزار را بیان مي كند.

State model :مدل حالت نمایي از رفتار داینامیكي اشیا است

Use case model : مدل مورد كاربرد رفتار كاربر با قسمت ھاي مختلف برنامھ.را نمایش مي دھد

Interaction model:مدل تعاملي فعالیت پیام ھا در اشیا را نشان مي دھد

و......

در ھر یك از این مدل ھا نمودار ھایي وجود دارند كھ با استفاده از آن ھا سیستم.مدل سازي مي شود

UMLمدل هاي موجود در

Page 6: ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣce.sharif.ir/~aamiri/Courses/Files/SE/Slides/Presentation11.pdf · ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣ ﺎﻣ ﻪﺑ ﯽﻌﻗاو يﺎﯿﻧد

UMLمنودار هاي Class diagram)هاي کالس ساختار نمایش براي : )کالس نمودار

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

Use case Diagram)کاربر نگاه از را سیستم نمودار این : )کاربرد مورد دهد می نمایش نهایی

Sequence diagram)اجراي ترتیب و توالی نمودار این : )توالی نمودار Use(کاربري هاي مورد case( شرکت اشیا بین پیام تبادل منطق و ها

.دهد می نشان را تعامل یک در کننده

Collaboration Diagram)تعامل نیز نمودار این: )همکاري نمودار که تفاوت این با دهد می نشان را کاربرد مورد یک در درگیر اشیاي بین

.شود می حفظ نیز اشیا ساختار سازماندهی

نمودار و مولفه ،نمودار حالت نمودار ، فعالیت نمودار : مانند دیگر هاي نمودار ....و استقرار

Page 7: ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣce.sharif.ir/~aamiri/Courses/Files/SE/Slides/Presentation11.pdf · ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣ ﺎﻣ ﻪﺑ ﯽﻌﻗاو يﺎﯿﻧد

User View

دید كاربر

Structural View

نماي ساختاري

Behavioral View

نماي رفتاري

Implementation View

)كاربرد(نماي پیاده سازي

Environment Viewنماي محیط

Uml در مناي كلي:

Page 8: ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣce.sharif.ir/~aamiri/Courses/Files/SE/Slides/Presentation11.pdf · ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣ ﺎﻣ ﻪﺑ ﯽﻌﻗاو يﺎﯿﻧد

User View)( اصلی اهداف دید این در: )کاربر دیدGOALS( از .شود می بیان افزار نرم مهندس و مشتري و کاربر دید

Structural View)این در سیستم ایستاي ساختار :)ساختاري دید .شود می داده نمایش دید

Behavioral View)این در اشیا تغییرات و ها رفتار :)رفتاري نماي .شوند می داده نمایش دید

Implementation View)از نمایی:)کاربرد/سازي پیاده نماي .دهد می نمایش را سازي پیاده جهت سیستم منطقی اجزاء ارتباطات

Environment View)اجزاء ارتباط از نمایی : )محیط نماي .دهد می نمایش را سازي پیاده جهت سیستم فیزیکی

umlديد هاي خمتلف در

Page 9: ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣce.sharif.ir/~aamiri/Courses/Files/SE/Slides/Presentation11.pdf · ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣ ﺎﻣ ﻪﺑ ﯽﻌﻗاو يﺎﯿﻧد

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

:دسته هستند 4بازیگر ها به طور کل . سیستم با دنیا می باشد

افرادي هستند که به طور صریح با سیستم در : ) دستور دهنده(بازیگران اصلی.ارتباط هستند مانند کارمندان و اپراتور ها

اافرادي که نتایج سیستم ما را استفاده می کنند مانند : ) فرعی(بازیگران ثانویه....مشتریان ، بعضی از کاربران که سیستم را نگهداري می کنند و

سخت افزار هایی که سیستم با آن ها در ارتباط است : سخت افزار هاي جانبی...مانند چاپگر ها اسکنر ها و. به جز کامپیوتري که برنامه را اجرا می کند

سیستم هایی که برنامه ونرم افزار شما به ارتباط با : سیستم هاي جانبی دیگر.آن ها نیاز مند است

ACTORS بازيگرها

Page 10: ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣce.sharif.ir/~aamiri/Courses/Files/SE/Slides/Presentation11.pdf · ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣ ﺎﻣ ﻪﺑ ﯽﻌﻗاو يﺎﯿﻧد

Use case ها حاوي اطالعاتی در مورد اجزاي داخلی یک سیستم هستند.

پاسخ گوي کارکرد و رفتار سیستم هستند.

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

Use case ها در دید کاربر تعریف می شوند.

نمودار مورد کاربرد حاويUse case ,actor و ارتباط بین این دو است.

)Use Case(منودار مورد كاربرد

<Actor Name>

<Use Case Name>

Page 11: ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣce.sharif.ir/~aamiri/Courses/Files/SE/Slides/Presentation11.pdf · ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣ ﺎﻣ ﻪﺑ ﯽﻌﻗاو يﺎﯿﻧد

فروشنده سیستم این در .بگیرید نظر در را ساده فاكتور صدور سیستم یك را فاكتور مبلغ كل سیستم آن از پس . كند مي وارد را فاكتور اطالعات

.دھد مي میدھد فروشنده بھ و كند مي چاپ را فاكتور و كرده محاسبھ.دھد مي نشان را كار انجام مراحل زیر نمودار

.منونه اي از يك منودار مورد كاربرد

Enter Bill Details

Calculate Total Amount

Print Bill

Clerk

Clerk

Page 12: ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣce.sharif.ir/~aamiri/Courses/Files/SE/Slides/Presentation11.pdf · ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣ ﺎﻣ ﻪﺑ ﯽﻌﻗاو يﺎﯿﻧد

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

توانایی بر مبنی را )فرمی(اي نامه است استخدام به مایل که شخصی بررسی از پس استخدام مسئول . میدهد استخدام مسئول به خود هاي کند می معرفی مدیر به و انتخاب را شرایط واجد افراد ها نامه این

اعالم استخدام مسئول به و تایید را افراد صالحیت بررسی از پس مدیر یا شدن قبول شرایط به بسته را موضوع نیز استخدام مسئول.کند می اطالع اند کرده ارسال نامه که افرادي به تلفن از استفاده با شدن رد

.شوند می دعوت مصاحبه براي اند شده تایید که افرادي .دهد می

Page 13: ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣce.sharif.ir/~aamiri/Courses/Files/SE/Slides/Presentation11.pdf · ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣ ﺎﻣ ﻪﺑ ﯽﻌﻗاو يﺎﯿﻧد

person

Enter information in a form

employee

employee

Collect the letter And check it

Select the person

header

Page 14: ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣce.sharif.ir/~aamiri/Courses/Files/SE/Slides/Presentation11.pdf · ءاﺮﮔ ﯽﺷ ﯽﺳﺪﻨﻬﻣ ﺎﻣ ﻪﺑ ﯽﻌﻗاو يﺎﯿﻧد

header

Accept or reject the persons

employee

employee

Create a list of accepted people

persons

Find the call numbers and call them

Create a list of rejected people

Find the call numbers and call them