ورود

View Full Version : فروشگاه الکترونیک - دیاگرام component



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 ها مشکل پیش می امد

zizi_zizi69
یک شنبه 12 اردیبهشت 1389, 21:53 عصر
خوب از همه دوستانی که در این موضوع مشارکت کردند تشکر میشه!
من یک نمونه از نمودار component را در اینجا گذاشتم.
توصیف:
من order را component اصلی در این سیستم تشخیص دادم ،که اطلاعات مورد نظر را از کامپونت های کالا و مشتری و کارت اعتباری می گیرد.
و بعد اطلاعات لازم را برای مسئول ارسال می فرستد وهمچنین باید اطلاعات موجود در بانک نیز بروزرسانی شود.

http://i40.tinypic.com/67qstu.jpg

zizi_zizi69
دوشنبه 13 اردیبهشت 1389, 12:46 عصر
Deployment Diagram
به معنی این است که نرم افزاری که ایجاد کرده ایم چه سخت افزارها و نرم افزارهایی را احتیاج دارد راه اندازی شود.
در این دیاگرام از Notation های زیر استفاده می شود:
· Node ها که نمایانگر سخت افزار های سیستم ویا محیط های اجرایی که برنامه های دیگر روی آنها اجرا می شوند :
Node های سخت افزاری مانند:
Server, Desktop PC, Disk drives
Node های محیط اجرا یا Execution environment nodes:
Operating system, Web server, application server

· Artifact ها که نشان دهنده فایل هایی هستند که سیستم برای اجرا ،به آنها احتیاج دارد مانند:
فایل های اجرایی .exe
فایل های کتابخانه ای .dll
فایل های سورس .java و .cpp
فایل های configuration مثل .xml
این شکل بیان می کند که سیستم Desktop PC باید فایل 3dpacman.jar رانصب داشته باشد تا برنامه اجرا بشه:
ارتباط بین node میتواند با استفاده از پروتکل های موجود در شبکه باشد مانند شکل زیر:
(شکل ها در فایل ضمیمه هستند)

این هم نمونه دیاگرام برای سیستم فرضی:

http://i43.tinypic.com/2r4st9k.jpg

zizi_zizi69
پنج شنبه 16 اردیبهشت 1389, 17:11 عصر
Timing Diagram
نمودارهای timing ابزارهای جدیدی هستند که به UML2 اضافه شده اند. کاربرد آنها در بررسی حالتهای اشیاء(Object) مختلف در دوره زمانی مشخص هست. در واقع نمودار timing ،دوره حیات (lifecycle) یک شی است ، که تغییر وضعیت های آنرا از یک حالت به حالت دیگر نسبت به اشیاء دیگر بیان می کند.(حتی با نمایش event های مربوطه بین حالات،یعنی چه event باعث تغییر وضعیت آن شی شده است)
فرق آن با نمودار State Diagram این است که در نمودار state تغییر حالات با جزییات انتقال بین حالات وevent های مربوطه بیان می شود،ولی در نمودار زمان فقط تغییر state های اصلی به نسبت اشیاء دیگر بیان می شود.
دو element را که در نمودارهای زیر استفاده کردم (Enterprise Architect)
State lifecycle
Message برای استفاده از اونها باید حداقل دو شی و lifeline های مربوط به آنها را داشته باشیم. درواقع message ارتباط بین lifeline ها هستند.
http://i44.tinypic.com/zus9d3.jpg

ayoob.rahmaty
شنبه 06 شهریور 1389, 10:44 صبح
واقعا ممنونم کمک زیادی به من کردین

zizi_zizi69
چهارشنبه 12 آبان 1389, 12:47 عصر
سلام
این مقالات در مورد فروشگاه الکترونیک را برای کسی آپلود کردم
گفتم لبنکش رو اینجا هم بزارم ،همه استفاده کنند
http://www.mediafire.com/?6an5ilxdwa6k9k3