ParsX.com
پذیرش پروژه از دانشجویی ... تا سازمانی 09376225339
 
   ProfileProfile   Log in to check your private messagesLog in to check your private messages  |  FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups Log inLog in   RegisterRegister 

نمودارهای تعامل Interaction Diagrams

 
Post new topic   Reply to topic    ParsX.com Forum Index -> مهندسی نرم افزار
View previous topic :: View next topic  
Author Message
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Tue May 31, 2011 4:57 pm    Post subject: نمودارهای تعامل Interaction Diagrams Reply with quote

• کاربرد : ردوبدل کردن پیام ها بین اشیا ( نمایش تبادل پیام بین اشیا)
اشیا می توانند سیستمی یا نرم افزاری باشند.
تحلیلگر کلاس هایی مشتری فاکتور ...
طراح کلاسهای فرم مشتری و ... را دارد.
بنابراین اگر کلاس سیستمی باشد تحلیلگر
اگر کلاس نرم افزاری باشد طراحی می شود.
تحلیلگر گفته است یک کلاس مشتری دارم . مشتری کد ، نام تلفن، ... دارد و عملیاتی چون خرید و ... دارد .
اما طراح نرم افزار این کلاس تحلیلگر را به چند قسمت می کند مثلا CustomerForm که شامل txtCode و ... دارد
کلاس دیگر کارهای کنترلی دارد Customercontrol و ...
در واقع کلاس تحلیلی ما به چهارکلاس تقسیم شد . ( تعداد لایه ها)
طراح Interaction Diagram را می کشد .
این نمودار در فاز تشریح Elaboration و فاز تولید (ساخت) به کار می رود.
• انواع نمودار:
o نمودار توالی Sequence Diagram تاکید روی ترتیب عملیات دارد .
o Communication ارتباط : تاکید روی ارتباط بین اشیا دارد.
o نمای کلی OverView این نمودار چیزی شبیه Activity Diagram است و تاکید روی روند عملیات دارد.
تصور کنید فرم مشتری روبروی شماست و نام، فامیل و ... را می تواند تایپ کند . دکمه های حذف اضافه ویرایش و navigation دارد.
حال با زدن دکمه حذف باید از سیستم حذف شود .
در برنامه نویسی چند لایه کلاس فرم عملیات حذف انجام نمی دهد . این کلاس به CustomerControl می گوید برو ببین چک کن می شود حذف کرد یا نه یعنی شرایط حذف را چک کند . بنابراین برای ورود به بانک نیز به کلاس دیگری می گوید برو اطلاعات را بیاور . بعد حذف انجام می شود .
حال می خواهیم ارتباط این ها را بیان کنیم :
الف) نمودار توالی :

این نمودار به Dynamic View و ا ز نوع Behavorial می باشد .
تعیین اشیا کلاس های مرتبط :
Boundary با کاربر در ارتباط است.
Control
Entity
برای این کار کلاس مربوطه را با stereotype مرتبط تبدیل می کنیم :
در این نمودار به ترتیب actor و غیره اضافه شده است. البته یادتان باشد که اشیا اضافه می شوند نه کلاس ها .
حال جای برنامه نویس می شویم .
برای ایجاد ارتباط به این صورت است که :
مشتری با زدن دکمه Delete یعنی کلیک روی CustForm

Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Tue May 31, 2011 4:59 pm    Post subject: Reply with quote

• تعیین توالی پیام ها
o فلش تو پر را Procedure Call گویند.
o فلش تو حالی نقطه چین را return گویند ( جواب دادن به وضعیت عملیات مثلا حذف از بانک انجام شد.)
o فلش توخالی نیم جهته را Asynchronous call گویند یعنی Call بدون انتظار خاتمه
o فلش توخالی را ارسال پیام گویند.



Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Thu Jun 09, 2011 8:52 am    Post subject: Reply with quote

Message ها می گویند که عامل چه کار می کند . ابتدا کاربر روی دکمه حذف کلیک می کند بعد فرم CustomerForm با یک پیام از کاربر می پرسد که آیا مطمئنی بعداز پاسخ کاربر

سپس CustomerControl تاریخ آخرین سفارش را می گیرد و سپس قبل از اینکه پاک کند عملیات کنترلی اینکه آیا میشود پاک کرد یا خیر که بعد عملیات Delete انجام می شود.
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Thu Jun 09, 2011 8:58 am    Post subject: تعیین محل ایجاد و از بین رفتن اشیای نرم افزاری : Reply with quote

تعیین محل ایجاد و از بین رفتن اشیای نرم افزاری :
باید تصمیم گرفت که چه زمانی حافظه CustomerForm آزاد شود ؟ یک روش این است که اشیا همان ابتدا حافظه را بگیرند و در انتها آزاد شود . و روش دیگر این است که هر زمان لازم باشد حافظه بگیریم و هر زمان که کارمان تمام شد حافظه را آزاد کنیم .
این کار بازو بسته کردن مدام برای فرم ها گزینه مناسبی است .
نمایش این روش این است که object اولی را به خودش وصل می کنید . و بالای فلش آن می نویسند create بعد زیر آن lifeline می کشیم و با یک فلش توپر می گوید که حافظه را آزاد کند . سپس زیر lifeline یک علامت تخریب می گذارند که با علامت X نمایش می دهند . به این عمل تخریب destruction marker گویند.

برای چنین فلشی روی فلش دابل کلیک می کنیم و سپس از گزینه LifeCycle گزینه Delete را انتخاب می کنیم.

وقتی در فلش نوع new را انتخاب می کنیم یعنی با شروع کار شی ایجاد می شود.
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Thu Jun 09, 2011 9:06 am    Post subject: نمایش کنترلهای ساختیافته: Reply with quote

برای نمایش شرط از شکل مربوطه استفاده می کنیم اگر نوشته باشد alt یعنی Alternate که معادل if می باشد اگر نوشته باشد Par یعنی اجرای موازی اگر نوشته شود loop معنای حلقه می دهد . اگر بنویسیم opt مخفف اختیاری می باشد یعنی میتواند اینکار بشود یا نشود.

همانطور که در شکل فوق می بینید شرط Delete طوری روی شکل کشیده می شود که در صورتیکه کاربر Cancel زد یک سری عملیات کنسل شدن و اگر ok زد عملیات حذف را ادامه دهد.
کل شکل هم در یک loop می باشد که اگر عملیات خواست دوباره تکرار شود.
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Sat Jun 11, 2011 11:46 am    Post subject: Reply with quote

جلسه بعدی Component Diagram
جلسه قبلی طراحی چند ریختی
Back to top
Display posts from previous:   
Post new topic   Reply to topic    ParsX.com Forum Index -> مهندسی نرم افزار All times are GMT + 3.5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum