کارگاه مدلسازی

30
ی ساز ل کازگاه مد: ی ی ا دس زض ن ه م اد ن س ا ردی ب ی کاز م ل ع ع م ا گاه ج% ش ن دال اول سا م ی ن91 - 90

Upload: zwi

Post on 05-Jan-2016

95 views

Category:

Documents


0 download

DESCRIPTION

کارگاه مدلسازی. استاد : مهندس رضایی دانشگاه جامع علمی کاربردی نیمسال اول 91-90. فصل 1. مبانی و دلایل ساخت مدلها مدل نما یا تجسمی از یک واقعیت است. 1دلیل برای مدلسازی مدل را می سازیم تا درک بهتری از سیستمی که قصد ساخت آن را داریم داشته باشیم.(ساخت سیستم با کیفیت بهتر) اهداف مدلسازی - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: کارگاه مدلسازی

مدلسازی کارگاه

رضایی : مهندس استاد

کاربردی علمی جامع دانشگاهاول 90-91نیمسال

Page 2: کارگاه مدلسازی

1فصل

Page 3: کارگاه مدلسازی

مدلها ساخت دالیل و مبانی. است واقعیت یک از تجسمی یا نما مدل1 مدلسازی برای دلیل داریم را آن ساخت قصد که سیستمی از بهتری درک تا سازیم می را مدل

) (. بهتر کیفیت با سیستم ساخت باشیم داشته مدلسازی اهداف

می 1. که آنطور یا و هست که آنطور را سیستم یک تا کنند می کمک ما به مدلها. کنیم مشاهده باشد، خواهیم

.2. دهند می را سیستم یک ساختار و رفتار کردن مشخص امکان ما به مدلهااز) منظور و دهد ارائه است قرار سیستم که است خدمتی رفتار از منظورچه به اجزا این و شده ساخته اجزایی چه از سیستم که است این ساختار

. اند شده مرتبط هم به صورت

را 3. محصول توانیم می قالب آن توسط که دهند می رائه قالبی یک ما به مدلها. بسازیم بهتر

.4. کنند می مستند گیریم می ما که را تصمیماتی مدلها

Page 4: کارگاه مدلسازی

: نکته* سازی پیاده و درک که چرا سازیم می مدل پیچیده های سیستم برای ما

. است مشکلی کار ما برای آن های پیچیدگی تمام * ،شوند می استفاده محصول یک ساخت برای که مدلهایی انتخاب

. است مرتبط محصول ساخت ی نحوه با H کامًال. شود ساخته مختلفی دقت سطوح در تواند می مدل هر سپس و شوند می ساخته کلی صورت به مدلها اولیه، مراحل در H معموًال

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

). شود) می تولید نهایت در که سیستمی با مدل تطابق در و کند نمی کفایت محصول یک ساخت برای H غالبا تنهایی به مدلی هیچ

(. از ای مجموعه کنیم ایجاد را مختلفی مدلهای مجبوریم ما اوقات، اکثر) سیستم مختلف بخشهای برای مختلف مدلهای

Page 5: کارگاه مدلسازی

: از عبارتند که دارد جود و مدل ساخت برای عمده الگوی دو افزار نرم در

.1Structural ساختاری

.2Objet Oriented گرایی شیء ) ( نام به ای ریشه عناصر از افزار نرم یافته ساخت ساختاری مدل در

procedure ( یا نوع( functionماژول این در اصلی تمرکز و شود می ساختهدر که است این روش این مشکل و باشد می ها داده جریان مبنای بر مدلسازیسیستم نگهداری و پشتیبانی سیستم شدن بزرگ و نیازمندیها تغییرات هنگامقابل ای پایه قطعات وجود عدم دلیل به دیگر طرف از و شود می مشکل بسیار

یا مجدد و classاستفاده و componentها باشد می کندتر تولید، فرآیند هاروی بر تأکید شیءگرا، با classمدلسازی افزار نرم تولید و آنهاست رفتار و ها

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

مدلسازی در تواند می H بعضا اما ، شده استفاده افزار نرم مدلسازی در H عمدتا. شود گرفته کار به نیز محصوًالت سایر

Page 6: کارگاه مدلسازی

2فصل

Page 7: کارگاه مدلسازی

زبان بر UMLمروری

UML روال از جزئی و شود می استفاده مدلسازی برای آن از که است زبانی

یا . processتولید زبان است افزار نرم از processبا UMLتولید متفاوتی های

فرآیند حدyی RUPقبیل تا یک XPو به وابسته کلی عبارت به و دارد همگونی

تطابق با رابطه در بخواهیم اگر اما نیست خاص یا UMLفرآیند ها پروسس با

که است مورد این کنیم، یادآوری را ای نکته افزار نرم تولید UMLفرآیندهای

با را همگونی )usecase drivenهای processبیشترین usecase )محور

. دارد را تطابق بیشترین ، افزونه و تکراری محور، معماری

(UML باwaterfall). شود نمی استفاده

Page 8: کارگاه مدلسازی

UML مستندسازی و ساختن کردن، مشخص مشاهده، برای است زبانی

. افزاری نرم های سیستم بخصوص مختلف های سیستم زبان ی سازنده :UMLعناصر.1Things) اشیاء ) یا ها مؤلفه

.2Relationships) ارتباطات )

.3Diagrams) نمودارها )Things: شود می تفکیک دسته چهار به1 .Structural Things ساختاری اشیاء2 .Behavioral Things رفتاری اشیاء3 .Grouping Things شده بندی گروه اشیاء4 .Annotation Things کننده آگاه اشیاء

Page 9: کارگاه مدلسازی

.1Structural Things مدلهای در اسامی همانند ساختاری . UMLاشیاء H غالبا آنها یعنی هستند

( ایستای .staticقسمت سازند( می را ما مدل( پویا رفتار( dynamicمدل یا نقش نوع به بسته تواند ها actorمی

. . زبان در رساند می را مدل پویایی این کند نوع ، UMLتغییر هفتساختاری مختلف از :اشیاء عبارتند ترتیب به که دارند وجود

.1Class

.2Interface

.3Collaboration

.4Use cases

.5active classes

.6components

.7nodes Structural Things Structural things are the nouns of UML models. These

include classes, interfaces, collaborations,use cases, active classes, components, and nodes.

Page 10: کارگاه مدلسازی

.1ClassClass ،عملگرها ها، ویژگی دارای که است اشیاء از ای مجموعه از توصیفی

. هستند یکسان مفاهیم و ارتباطات یکClass یک از بیش یا یک تواند . interfaceمی ) ( از نماید سازی پیاده را رابطه

یک نمایش گرافیکی یک Classلحاظ از آن در که است زیر صورت به BOXبه که . قسمت باًالترین کند می استفاده شده تفکیک مختلفی ی Boxقسمتهای دهنده نشان

ی Classنام دهنده نشان بعدی قسمت ،attribute های ویژگی یا و Classهاتوابع و رفتارها ی دهنده نشان بعد .Classقسمت باشد می

Page 11: کارگاه مدلسازی

2 .Interface) واسط ) یک از سرویسی ی کننده مشخص که است عملیاتی از ای یا classمجموعه

component . نمایش باشد زبان interfaceمی باشد UMLدر می دایره یک بانام آن زیر در .interfaceکه شود می ذکر

3 .Collaboration ) همکاری ) رفتاری هم کنار در و یکدیگر کمک با که اجزاست سایر و ها نقش از ای مجموعه

. نمایش اجزاست آن تک تک رفتار از جامعتر یا و کاملتر که دهند می انجام راCollaboration زبان .UMLدر است زیر مثال همانند چین نقطه بیضی یک با

Page 12: کارگاه مدلسازی

4 .Usecase:Usecase یک به رسیدن برای سیستم که هستند عملیات از ای مجموعه توصیف ها

با ارتباط در و مشخص ی .actorنتیجه دهد می انجام خاصی های ازUsecase . کنیم می استفاده مدل یک در رفتاری اشیاء ساختار دادن نشاند برای ها

که است این حوزه Usecaseمنظور در مهم رفتارهای انجام ی نحوه ی دهنده نشان . نمایش باشد می نظر مورد نام Usecaseی آن داخل در که است بیضی یک با

Usecase. شود می ثبت

Page 13: کارگاه مدلسازی

: از عبارتند بعدی مؤلفه سهActive classe فعال کًالسهایComponents ها مؤلفهNodes نودها شبیه شکل لحاظ از آنها سه هر .classکه پردازیم می آنها شرح به زیر در و بوده ها5 .Active classe: فعال کالسهایClass(. ندارد اجرایی .(abstractماهیت است مجردClass ,Active classe که است یا objectی یک که دارد وجود کًالس آن از هایی

یک از یا Processبیش . threadو همانند اکتیو کًالس باشد می اجرا حال در آنها ازclasse یک .boxبا شود می رسم قطورتر آن مرزی خطوط که شود می داده نشان

Page 14: کارگاه مدلسازی

6 .Components:) ها ) مؤلفه یکcomponent مجموعه که است سیستم یک از تعویض قابل و فیزیکی جزء یک ،

. دهد می ارائه را ها سرویس از ایComponent از ای مجموعه شامل خود تواند می و دارد اجرایی ها classماهیت

زبان. در ، UMLباشد component. دهند می نمایش زیر شکل با را

Page 15: کارگاه مدلسازی

7 .NodeNode دارد وجود سیستم یک اجرای هنگام در که بوده فیزیکی ی مؤلفه یک

قبیل از محاسبه برای ًالزم افزاری سخت عناصر حاوی memoryو cpuو. باشد می

Computer وrouter (. نرم که افزارهایی سخت هستند نود یک کدام هر ). مربع مکعب یک با نود نمایش هستند نود شوند می اجرا آنها روی افزارها

. گردد می ذکر آن در نود نام که باشد می

Page 16: کارگاه مدلسازی

رفتاری های مؤلفه( پویا جزء رفتاری نشان UMLزبان( Dynamicاشیاء حقیقت در و بوده

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

1 .Interaction) تبادل ) انفعال، و فعل از ای مجموعه شامل که است رفتاری بین messageیک که هاست

. شود می بدل و yرد مشخص هدف یک به رسیدن برای اشیاء از ای مجموعه. Interactionنمایش باشد می توپر پیکان یک توسط

Page 17: کارگاه مدلسازی

2 .یا وضعیت : state machineماشین از ای مجموعه ی دهنده نشان که است رفتاری وضعیت، ماشین یک

در خود، زندگی سیر در انفعال و فعل یک یا و شیء یک که حالتهاست. باشد داشته تواند می بیرونی محیط وقایع به پاسخگویی

یک یک state machineنمایش .boxبا باشد می خمیده های گوشه با

Page 18: کارگاه مدلسازی

3 .Grouping Things:) بندی ) دسته اشیاء و کنیم می استفاده قالب یک در مختلف اجزای دادن قرار برای دسته این از

زبان یا UMLدر بسته که دارد وجود آنها از نوع یک تنها ،package . دارد نامیا سازماندهی packageبسته برای عمومی مکانیسم یک از است عبارت

. رفتاری یا و ساختاری اشیاء توانند می اشیاء این گروهها داخل در اشیاءنمایش. زبان packageباشند :UMLدر است زیر شکل به

Page 19: کارگاه مدلسازی

4 .Annotation Things:) توصیفی) اشیاء زبان در دهنده شرح قسمت توصیفی توضیح UMLاشیاء برای آنها از و بوده

. زبان در اصلی توصیفی شیء یک کنیم می استفاده اشیاء بیشتر شرح یاUML نام و Noteبه شود می داده نشان زیر گرافیکی شکل با که دارد وجود

می کند، مدل شدن شفاف به کمک که توضیحی یا شرح هرگونه آن داخل در. داد ارائه توان

Page 20: کارگاه مدلسازی

زبان از دوم UMLجزء ، relationship. ) است) ارتباطات زبان ، UMLدر 4: دارد وجود زیر شرح به ارتباط نوع

.1Dependency

.2Association

.3Generalization

.4Realization زبان مختلف قسمتهای بین وابستگی برقراری برای ارتباطات UMLاین

. پردازیم می آنها شرح به زیر در که گیرند می قرار استفاده مورد1 .Dependency: ) وابستگی ) بر تغییر اعمال آن در که است چیز دو یا مؤلفه دو بین ارتباط یک وابستگی

( پیکان زیر نماد با را آن و شود می دیگری در تغییر به منجر آنها از یکی روی. ) دهیم می نشان دار چین خط

Page 21: کارگاه مدلسازی

2 .Association:) همکاری )Association یک با که باشد می ساختاری ارتباط نشان linkیک اتصال یا

. است مناسب اشیاء بین ارتباط بیان برای و شده داده هر کمیت تعداد و دهیم می نشان راست خط یک با را آن گرافیکی لحاظ از

. کنیم ذکر توانیم می نیز را شیء

3 .Generalization ) فرزند ) شیء یک که دهد می نشان حالتی در را اشیائ بین ارتباط آن در که

. ) ( باشد می والد دیگری شیء از خاصی ی نمونه. است جاندار یک از ای نمونه انسان H مثًال

Page 22: کارگاه مدلسازی

4 .Realization از ای مجموعه بین ارتباط برقراری برای آن از می classifierکه استفاده ها

: کنیم. می استفاده زیر مقاصد برای ارتباط نوع این از کلی طور به کنیم

بین 1. ارتباط دادن نشان یا classبرای با componentها ها interfaceها

بین 2. ارتباط دادن نشان با Usecseبرای ها collaborationها

زبان مهم بسیار و سوم تک UMLجزء تک با آتی فصل در که هستند نمودارها. شویم می آشنا آنها

Page 23: کارگاه مدلسازی

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

یک به نتیجه آن ی ارائه و خاص .actorی دهد می انجامActor سرویسی ارتباطند در سیستم با و دارند قرار سیستم از خارج در ها

گیرند . می سرویسی یا داده ارائه ازUsecase چگونگی گرفتن نظر در بدون سیستم رفتار دادن نشان برای ها

. کنیم می استفاده رفتار آن درUsecase به H اصًال آن در و دارد فاصله سازی پیاده نگرش با ما نگرش ها

. شود نمی فکر رفتار آن چگونگی و سازی پیادهUsecase و واحد دید افزار نرم از کنندگان استفاده و تولیدکنندگان به ها

می شود ساخته است قرار که افزاری نرم امکانات با رابطه در مشترکیدهد.

یکUsecase و سیستم بین که است انفعاًالتی و فعل ی مجموعه شامل( آن بیرونی .actorمحیط شود( می انجام ها

( بیرونی سخت( actorعوامل افزاری، نرم های سیستم ، انسان توانند می ها . یک باشد هم زمان حتی و مشخصی Usecaseافزاری حجم ی دهنده نشان

. دهد می انجام سیستم یک که است کارهایی از

Page 24: کارگاه مدلسازی

Actor و ها :usecaseها

Page 25: کارگاه مدلسازی

Ac tor: Actor ارتباط سیستم با توانند می نقشها این که هستند نقشهایی معرyف ها

. ، نمونه صورت به کنند های Actorبرقرار سیستم ها،سایر انسان شامل هابا ارتباط در مهم بسیار ی نکته و باشند می افزاری سخت یا و افزاری نرم

(. کنند می زندگی سیستم از خارج در آنها که است این موجودیتی Actorآنها. کند می برقرار ارتباط سیستم عناصر با که سیستم از خارج در است

معرفی بین Actorبرای و کنیم می استفاده آدمک نماد از می Actorها هاجنس از ارتباطی .generationتواند ) باشد) داشته وجود بری ارث

بین و Actorارتباط نام usecaceها به است ارتباطی توسط هاassociation بین تنها usecaseو Actorیعنی بلکه ندارد وجود وابستگی

. کنند برقرار ارتباط هم با توانند می). نیستند) وابسته هم به ولی مرتبطند هم با

Page 26: کارگاه مدلسازی

Usecase: وقایع های جریان و ها یکusecase یا زیرسیستم یا سیستم یک که دهد می چه interfaceنشان

(. شود آن تفصیلی جزئیات وارد آنکه بدون دهد می انجام می usecaseکاریسطوح در یا abstractionتواند ،زیرسیستم سیستم ،interface اجرا

شود.( نمایش به را سیستم آن توسط ارائه قابل سرویس از کلی شمای یک یعنی

. شود نمی آن جزئیات وارد و گذارد می نمودار یک کنار داشته usecaseدر ای اضافه توضیح یا شرح داریم نیاز

عملکرد که .) usecaseباشیم شده ذکر عملیات دهد می نشان شفافی به را). کند بیان تر جزئی و ریزتر صورت به را

یک عملیات توان می اطًالعاتی های جریان ذکر .usecaseبا کرد تشریح را هرusecase می فرعی جریان تعدادی H احتماًال و اصلی جریان یک دارای

باشد. اصلی داخل جریان در فرایندها ی کلیه آل usecaseانجام ایده صورت به

. باشد می : فرعی رفتار جریان یا کار انجام ی نحوه علت هر به که است جریانی

. کند می خارج صحیح یا آل ایده حالت از را سیستم

Page 27: کارگاه مدلسازی

از توان می حالت ترین ساده در ها جریان دادن نشان یا بیان برای. contextمتون) سیستم( از پول برداشت اصلی جریان کرد :ATMاستفاده

دستگاه 1. وارد را کارت .ATMکاربر نماید می

.2. شود می ظاهر آمد خوش پیغام

نظر .3. مورد زبان انتخاب

.4. شود می ظاهر رمز ورود ی صفحه

.5. کند می وارد را رمز کاربر

می 6. ظاهر سیستم به ورود آمد خوش پیغام و شده ارسال سرور به رمزشود.

را 7. نظر مورد مبلغ و کرده انتخاب را خود درخواست مورد عملیات کاربر. کند می انتخاب

.8. شود می چک موجودی با درخواستی مبلغ

.9. شود می کسر موجودی از درخواستی مبلغ

.10ATM. دهد می ارائه رسید و کرده پرداخت کاربر به را پول

.11ATM. گرداند برمی کاربر به را کارت

Page 28: کارگاه مدلسازی

جریان بازدارد رفتار آن انجام صحیح روال از را سیستم که اتفاقی گونه هرکسر شتاب، سیستم به اتصال ،عدم رمز نبودن صحیح مثل است فرعی

موجودی.( ک§د ش§به از ت§وان می ف§رعی جریان§ات ی§ا اص§لی جری§ان بی§ان sudeoبرای

code. کرد( استفاده هم. باشد تأثیرگذار سیستم کیفیت در تواند می جریانات توالی ترتیب( سیستم،زیرسیستم، سیستم یک رفتار کردن مدل ، classمراحل

interface: )( کردن ، business modelمدل requirement)1 . کردن عنصر actorمشخص آن با که هایی

. actor،interfaceسیستم،زیرسیستم،) کند( می برقرار های Actorارتباطبا متقابل ارتباط برقراری به نیاز که باشد گروهی شامل تواند می نمونه

. دارد سیستم های سرویس ی ارائه برای سیستمActor. دارند هم به دوطرفه یا متقابل نیاز سیستم و ها2 . سازماندهیactor های نقش و عمومی های نقش کردن مشخص با ها

از adminکه userو adminخاص ) نوعی از نوعی .(userخود است . شود سازی پیاده درست بری ارث شود می باعث

Page 29: کارگاه مدلسازی

(. شود کم شود می تولید که کدی حجم شود می باعث وراثت userدیدنو . userپودمانی می دارند جداگانه واحد انتخاب و یکسان نام ثبت ترمی

). کد تکرار جای به کرد استفاده دو هر برای نام ثبت کد یک از توان3 . هر آن actorبرای که هایی راه ،actor ارتباط قسمت یا جزء آن با

آن حالت تغییر باعث که ارتباطاتی و کنیم می مشخص را کند می برقرار . وقایع به پاسخ در که ارتباطاتی یا و بینیم می را شود می جزء یا عنصر ( . با سیستم یک به ورود گیریم می نظر در نیز را بیفتد اتفاق تواند می خارجی

(adminیا userًالگین 4 . که خاصی های راه این بر کند actorعًالوه می برقرار ارتباط جزء آن با

(. یک مثال گیرد می نظر در لزوم صورت در نام actorرا به قصد userیlogin ورود اول راه دارد را سیستم به passwordو usernameشدن

. سیستم از استفاده دیگر راه و اثرانگشت از استفاده دیگر راه است. باشد می چهره تشخیص

Actor و : usecaseدانشجو واحد انتخاب

اینترنتی 1. واحد انتخاب

دستی 2. واحد انتخاب

بعد 3. مدتی به آن واگذاری. شوند دیده همزمان طور به باید آنها ی همه

Page 30: کارگاه مدلسازی

صورت به رفتارها دهی بین usecaseسازمان ارتباطات برقراری و هاusecase ارتباطات شامل H عمدتا که .extendو includeها هستند

ارتباط در خًالصه طور رفتارهای includeبه داخل در را رفتار یک انجام مامی انتخاب ا yمجز رفتار یک بصورت را آن و شناخته را شود می تکرار دیگر

ارتباط در و صورت extendکند تواند می رفتار یک که مختلفی حالتهای. کنیم می بررسی را پذیرد

Extend (کاًالی بدهیم سفارش یا برویم کاًال خرید برای خودمان یا کاًال خرید . اتفاق مورد دو هر در خریدن عمل برسانند ما به پیک با را نظرمان مورد

). مختلف طرق به اما میفتد