بررسی اجمالی UML
یادگیری UMLUML یک زبان استاندارد برای تعیین ، تجسم ، ساختمان و مستند سازی محصولات نرم افزاری می باشد.
UML توسط گروه Object Management Group (OMG) ساخته شده است و پیش نویس UML 1.0 در January 1997 توسط این گروه ارائه شده است.
این آموزش ها بطور کامل شما روی UML مسط خواهد کرد.
گروه Object Management Group (OMG) بطور مداوم در تلاش است و به استاندارد سازی این زبان می پردازد.
- UML مخفف عبارت Unified Modeling Language میباشد .
- UML با دیگر زبان های برنامه نویسی متداول نظیر C++ یا COBOL یا JAVA متفاوت است.
- UML یه زبان تصویری است که نقشه نرم افزار را ترسیم میکند.
بنابرین بوسیله زبان UML میتوان با یک توصیف کلی و هدف گذاری شده ، نرم افزار را مدلسازی تصویری کرد و بطور مشخص ، ساخت یافته و قابل تجسم امکان تحلیل نرم افزار را فراهم نمود. با اینکه UML بطور عمومی برای مدلسازی سیستم های نرم افزاری استفاده می شود ، اما این محدودیتی را برای آن ایجاد نمی کند. یعنی در واقع از UML میتوان برای مدلسازی سیستم های غیر نرم افزاری نیز استفاده کرد و فرآیند تولید سیستم های غیر نرم افزاری نیز میتوان با آن ترسیم کرد.
UML یک زبان برنامه نویسی نیست ولی ابزاری برای تولید کدها با استفاده از دیاگرام های UML در زبان های مختلف برنامه نویسی ارائه می دهد.
UML ارتباط مستقیمی با تجزیه و تحلیل شی گرا دارد.
اهداف UML
یک تصویر از هزاران کلمه برای انتقال مفهوم مفید تر است. این مفهوم در رابطه با UML نیز صادق است.
مفاهیم شی گرایی بسیار زود تر از UML معرفی شده اند ، بنابرین در ان زمان هیچ متادولوژی یا اصول استانداردی برای سازماندهی مفاهیم بین توسعه دهندگان سیستم های شی گرا وجود نداشته است. در همان زمان UML برای تصویر سازی به میدان آمد.
تعدا زیادی هدف برای استفاده از UML وجود دارد ولی اصلی ترین دلیل برای استفاده از UML که همه طراحان و تحلیلگران بتوانند از یک زبان واحد ، ساده و قابل فهم برای انتقال مفهموم استفاده کنند.
دیاگرام های UML فقط برای برنامه نویسان و توسعه دهندگان نرم افزار بوجود نیامدند و از آن میتوان برای تحلیل هر نوع کسب و کاری استفاده کرد. این کسب کار ها چه نرم افزاری باشند چه نباشند ، تفاوتی نمی کند. UML میتواند برای هر سیستم موفقی کارا و قابل اجرا باشد.
نتیجه میگیریم که هدف استفاده از UML میتواند تعریف یک مکانیزمی ساده برای مدلسازی همه امکانات کاربردی سیستم در محیط پیچیده امروزی باشد.
مدل مفهومی UML
برای فهمیدن یک مدل مفهومی در UML ما باید اول روشن کنیم که "مدل مفهومی" چیست ؟ و چرا این مدل مفهومی همیشه ضروری می باشد ؟
- یک مدل مفهومی مدلی را مفاهیم و ارتباط میان آن ها را مشخص کند .
- مدلسازی مفهومی یک گام قبل تر از ترسیم دیاگرام UML انجام می شود که در فهم اشیای جهان واقعی و نحوه تعامل میان هر یک از آنها کمک میکند.
UML توصیفی از سیستم های بلادرنگ (real time) می باشد که برای تولید یک مدل مفهومی که بتدریج ساخته می شود بسیار مهم است.
مدلسازی مفهومی از UML را میتوانید از سه عنصر اصلی دانست :
- UML بلوک هایی را میسازد.
- قوانینی که یه این بلوک های ساخته شده متصل میگردند
- مکانیزم های متدوال از UML
مفاهیم شی گرایی
UML میتواند جانشینی برای تحلیل و طراحی شی گرا باشد. یک شی (object) شامل داده ها و توابع می باشد مه داده ها راکنترل می کند. این داده ها
وضعیت این شی (object) را نشان می دهند. یک کلاس تعریف از یک شی (object) و سلسله مراتبی از مدل در سیستم جهان واقعی است.
این سلسله مراتب نشان دهنده وراثت ها و کلاس هایی است که میتوانند نسبت به نیاز ، رفتار های متفاوتی داشته باشند.
object ها در واقع موجودیت های اطراف ما در جهان واقعی می باشند که مفاهیمی همچون انتزاعی بودن ، کپسوله سازی ، وراثت و چندریختی را با خود دارند و با استفاده از UML نشان داده می شوند.
بنابرین UML به حد کافی برای نمایش طراحی و تحلیل و آنالیز مفاهیم شی گرایی قدرتمند است. UML فقط برای نمایش مفاهیم شی گرایی ارائه شده است بنابرین قبل از یادگیری UML یادگیری مفاهیم شی گرایی بسیار مهم است :
در زیر به برخی مفاهیم پایه ای شی گرایی در جهان اشاره میکنیم :
- Objects : اشیاء نشان دهنده یک موجودیت می باشند .
- Class :کلاس یک طراحی از یک object است.
- Abstraction : انتزاع نمایش رفتار یک موجودیت در جهان واقعی است.
- Encapsulation :کپسوله سازی مکانیزمی از انقیاد داده ها با یکدیگر و پنهان سازی آن ها از جهان بیرونی است.
- Inheritance :وراثت مکانیزمی است برای ساختن کلاس های جدید که از یک کلاس دیگر مشخصه هایی را به ارث می برند.
- Polymorphism :چندریختی مکانیزمی را برای موجودیت ها با اشکال مختلف تعریف می کند.
طراحی و تحلیل OO
طراحی و تحلیل شی گرا تحقیق و بررسی خواص و ویژگی ها یک شی و همکاری اشیا شناخته شده با یکدیگر است. مفهوم طراحی و تحلیل OO بسیار مهم است. یک هدف مهم در رابطه با تحلیل OO شناسایی اشیا سیستم برای طراحی سیستم است. این تحلیل می تواند برای یک سیستم موجود که در حال کار می باشد نیز انجام شود. یک تحلیل کارآمد فقط زمانی ممکن است که ما شروع به تفکر درباره این بکنیم که اشیا از چه طریقی شناخته می شوند. بعد از شناسایی اشیا سیستم رابطه بین آن ها را بدست می آوریم که در نهایت طراحی تولید می شود.
بنابرین هدف از طراحی و تحلیل OO میتواند این گونه تعریف شود که :
- شناسایی اشیا یک سیستم
- شناسایی رابطه میان اشیای سیستم
- طراحی که با استفاده از زبان های شی گرا منجر به اجرا شود
این ها 3 گام اساسی برای انجام و اجرای مفاهیم شی گرایی می باشد
OO Analysis --> OO Design --> OO implementation using OO languages
حالا به جزییات این سه گام اساسی می پردازیم :
- در طول تحلیل شی گرا مهم ترین هدف شناسایی اشیا می باشد و توصیف اشیا راه درستی می باشد. اگر این اشیا به درستی شناسایی شود قدم بعدی یعنی طراحی به سادگی انجام خواهد شد. هر شی باید همراه با مسئولیتش در سیستم شناسایی شود. مسئولیت ها کارایی است که توسط آن شی انجام می شود. هر شی در سیستم حتما داری مسئولیتی برای انجام است. همه این مسئولیت ها و همکاری اشیا با هدف کارایی سیستم انجام می شوند و برای عملی کردن هدف سیستم فعالیت می کنند.
- فاز دوم طراحی شی گرا می باشد. در طول انجام این فاز تاکید بر روی الزامات و انجام آن ها می باشد. در این مرحله همکاری اشیا طبق ارتباط در نظر گرفته شده انجام می شود. زمانی که روابط بطور کامل تعریف شده مرحله طراحی را به پایان می رسانیم.
- فاز سوم پیاده سازی شی گرا می باشد. در این فاز طراحی با استفاده از یک زبان برنامه نویسی شی گرا مانند Java یا C++ پیاده سازی می شود.
نقش UML در طراحی OO
UML یک زبان مدلسازی برای سیستم های نرم افزاری و سیستم های غیر نرم افزاری است. با اینکه UML برای سیستم های غیر نرم افزاری نیز استفاده می شود ، تاکید بیشتر آن بر روی طراحی شی گرا سیستم های نرم افزاری است.
اگر ما نگاهی به دیاگرام کلاس ، دیاگرام شی ، دیاگرام همکاری ، دیاگرام عکس العمل ها داشته باشید متوجه خواهید شد که ، همه آن ها بر اساس اشیا طراحی شده اند.
بنابرین فهمیدن رابطه طراحی OO و UML بسیار مهم است. طراحی OO طبق نیاز ها به UML تبدیل می شود. قبل از شروع به یادگیری UML فهمیدن مفهوم OO ضروری است.پس از آن که تجزیه و تحلیل و طراحی OO انجام شد ، گام بعدی یعنی طراحی بسیار راحت خواهد بود.
ورودی ها در طراحی و تحلیل OO و UML یکسان می باشند.
نظر شما
>