zizi_zizi69
یک شنبه 05 اردیبهشت 1389, 13:27 عصر
در این تاپیک می خوام در مورد دیاگرام هایی در UML صحبت كنم كه كمتر در موردشون بحث شده ویا دیاگرام هاشون برای یک سیستم رسم شده،سیستم فرضی(Case study) همون سیستم فروشگاه الکترونیک است که یک نمونه از اون در این سایت بحث شده بود و به نتیجه ای نرسیده بود.
من کاملا تعاریف را بیان می کنم و سعی میکنم نمودارهای مربوطه را رسم کنم از دوستان می خوام کمک کنند.
تعریف :Component Diagram
· یک واحد مستقل در سیستم می باشد .
· دارای خصوصیت Encapsulation ميباشد.(مانند کلاس ها خصوصیات و رفتارهای یک شی را کپسوله می کند ،پس محتویات آن پنهان وغیر قابل دسترسی می باشند.)
· درای یک یا چند Interface می باشد، یکسری از این Interface ها را مورد استفاده قرار می دهد و یکسری را هم فراهم می کند.(interfaces Provided/Required)
نماد ها Component notation:
این را دیگه همه بلد هستند،که باید از keyword ،Component در یک مستطیل استفاده بشه
یا از نماد Component در گوشه راست آن استفاره بشه.
http://i42.tinypic.com/2vnf1nl.jpg
Component elements:
1. Interface:
2. Usage dependencies
3. Ports
4. Connectors
حال به تعریف هر کدام می پردازیم:
1.Interface ها در واقع تعاریف رفتارها یا فعالیت یک شی هستند.(هیچ پیاده سازی از اونها وجود نداره)
Interface ها می توانند بصورت یک مستطیل مجزا باشند
یا می توانند با نمادهای دایره(ball) یا نیم دایره(socket) که با یک خط به Component مورد نظر اضافه شوند.
Interface هایی که به حالت دایره هستند در واقع سرویس های هستند که یک شی (Component) به محیط اطراف خود می دهد.
وآنهایی که بصورت نیم دایره هستند سرویس های هستند که یک Component ازمحیط اصراف می پذیرد.
http://i42.tinypic.com/10ckrgl.jpg
اگر دوتا Component بخواهند از یک Interface مشترک استفاده کنند(یکی require و دیگری provide از اون interface داشته باشند) در آن صورت شکل زیر را داریم:
http://i40.tinypic.com/1495nnp.jpg
ویا:
http://i41.tinypic.com/2llzgwp.jpg
که سوالی که اینجا دارم اینکه آیا هر رابطه که بین Component با interface ها برقرار میشه از نوع realization هست ورابطه Order با interface person نباید بصورب یک usage معمولی باشد؟یعنی بصورت زیر
http://i42.tinypic.com/nxqtn9.jpg
2.Usage dependencies :
کامپونت ها می توانند با usage dependencies به هم مرتبط باشند.در این ارتباط یکی از Component ها برای پیاده سازی به Component دیگر برای پیاده سازی احتیاج دارد.
سوالیکه در اینجا مطرح می شود این است که فرق بین ترکیب component ها در استفاده از ایترفیس مشترک با Usage چیه؟یعنی وقتی دو تا کامپونت از طریق usage با هم ارتباط دارند دیگه به ایترفیس مشترک احتیاج نیست؟
3.Port ها:نقطه تعامل(Interaction point) بین اجزای داخلی کامپونت و محیط خارج است.
اجزای داخلی کاملا ایزوله (مجزا) از محیط خارج هسنتد.
http://i43.tinypic.com/161j0c3.jpg
سوال:اینطور که من متوجه شدم portها بیشتر در تعامل یک کامپونت کلی با محیط خارج نقش دارند واین طور نیست که برای هر کامپونت که دارای یک تعداد Interface هست،برای هر کدام ازinterface ها یک پورت استفاده شود،درسته؟
http://i43.tinypic.com/x0pwya.jpg
4.Connector ها:
دو نوع کانکتر داریم Assembly و Delegation
Assembly در واقع همان ارتباط (interfaces Provided/Required) است که بین کامپونت ها برقرار است.
Delegate در واقع انجام پروسس ها با محیط خارج برعهده می گیرند.
سوال :حالا چرا جهت فلشها این طوری هست خودم هم نمی دانم ،مگر Account در شکل بالا Require نیست پس جهت آن نباید به سمت کامپونت درونی باشه؟
خوب این هم از تعاریف اولیه وسوالات .حالا ما برای سیستم فروشگاه الکترونیکی می توانیم این کامپونت را در نظر بگیریم:
Product
Customer
Order
Shop Basket
?
آیا کاپونت های دیگری هم هست؟
سوال :زاستی من یک نمونه از component دیگرام دیدم که component ها بر اساس لایه های برنامه نویسی(Data access layer ,business logical layer, presentation layer ) رسم شده بود؟در مورد اون کسی چیزی می دونه؟
راستی کیفیت عکسها خوب درنمی آید وآپلود کردنشون هم وقت گیر فایل word را ضمیمه می کردم بهتر بود،که در انصورت هم در جستجو براساس keyword ها مشکل پیش می امد
من کاملا تعاریف را بیان می کنم و سعی میکنم نمودارهای مربوطه را رسم کنم از دوستان می خوام کمک کنند.
تعریف :Component Diagram
· یک واحد مستقل در سیستم می باشد .
· دارای خصوصیت Encapsulation ميباشد.(مانند کلاس ها خصوصیات و رفتارهای یک شی را کپسوله می کند ،پس محتویات آن پنهان وغیر قابل دسترسی می باشند.)
· درای یک یا چند Interface می باشد، یکسری از این Interface ها را مورد استفاده قرار می دهد و یکسری را هم فراهم می کند.(interfaces Provided/Required)
نماد ها Component notation:
این را دیگه همه بلد هستند،که باید از keyword ،Component در یک مستطیل استفاده بشه
یا از نماد Component در گوشه راست آن استفاره بشه.
http://i42.tinypic.com/2vnf1nl.jpg
Component elements:
1. Interface:
2. Usage dependencies
3. Ports
4. Connectors
حال به تعریف هر کدام می پردازیم:
1.Interface ها در واقع تعاریف رفتارها یا فعالیت یک شی هستند.(هیچ پیاده سازی از اونها وجود نداره)
Interface ها می توانند بصورت یک مستطیل مجزا باشند
یا می توانند با نمادهای دایره(ball) یا نیم دایره(socket) که با یک خط به Component مورد نظر اضافه شوند.
Interface هایی که به حالت دایره هستند در واقع سرویس های هستند که یک شی (Component) به محیط اطراف خود می دهد.
وآنهایی که بصورت نیم دایره هستند سرویس های هستند که یک Component ازمحیط اصراف می پذیرد.
http://i42.tinypic.com/10ckrgl.jpg
اگر دوتا Component بخواهند از یک Interface مشترک استفاده کنند(یکی require و دیگری provide از اون interface داشته باشند) در آن صورت شکل زیر را داریم:
http://i40.tinypic.com/1495nnp.jpg
ویا:
http://i41.tinypic.com/2llzgwp.jpg
که سوالی که اینجا دارم اینکه آیا هر رابطه که بین Component با interface ها برقرار میشه از نوع realization هست ورابطه Order با interface person نباید بصورب یک usage معمولی باشد؟یعنی بصورت زیر
http://i42.tinypic.com/nxqtn9.jpg
2.Usage dependencies :
کامپونت ها می توانند با usage dependencies به هم مرتبط باشند.در این ارتباط یکی از Component ها برای پیاده سازی به Component دیگر برای پیاده سازی احتیاج دارد.
سوالیکه در اینجا مطرح می شود این است که فرق بین ترکیب component ها در استفاده از ایترفیس مشترک با Usage چیه؟یعنی وقتی دو تا کامپونت از طریق usage با هم ارتباط دارند دیگه به ایترفیس مشترک احتیاج نیست؟
3.Port ها:نقطه تعامل(Interaction point) بین اجزای داخلی کامپونت و محیط خارج است.
اجزای داخلی کاملا ایزوله (مجزا) از محیط خارج هسنتد.
http://i43.tinypic.com/161j0c3.jpg
سوال:اینطور که من متوجه شدم portها بیشتر در تعامل یک کامپونت کلی با محیط خارج نقش دارند واین طور نیست که برای هر کامپونت که دارای یک تعداد Interface هست،برای هر کدام ازinterface ها یک پورت استفاده شود،درسته؟
http://i43.tinypic.com/x0pwya.jpg
4.Connector ها:
دو نوع کانکتر داریم Assembly و Delegation
Assembly در واقع همان ارتباط (interfaces Provided/Required) است که بین کامپونت ها برقرار است.
Delegate در واقع انجام پروسس ها با محیط خارج برعهده می گیرند.
سوال :حالا چرا جهت فلشها این طوری هست خودم هم نمی دانم ،مگر Account در شکل بالا Require نیست پس جهت آن نباید به سمت کامپونت درونی باشه؟
خوب این هم از تعاریف اولیه وسوالات .حالا ما برای سیستم فروشگاه الکترونیکی می توانیم این کامپونت را در نظر بگیریم:
Product
Customer
Order
Shop Basket
?
آیا کاپونت های دیگری هم هست؟
سوال :زاستی من یک نمونه از component دیگرام دیدم که component ها بر اساس لایه های برنامه نویسی(Data access layer ,business logical layer, presentation layer ) رسم شده بود؟در مورد اون کسی چیزی می دونه؟
راستی کیفیت عکسها خوب درنمی آید وآپلود کردنشون هم وقت گیر فایل word را ضمیمه می کردم بهتر بود،که در انصورت هم در جستجو براساس keyword ها مشکل پیش می امد