معرفي زبان استاندارد مدلسازي UML

معرفي زبان استاندارد مدلسازي UML


منبع :
OMG Unified Modeling Language, Version 1.3, June 1999


1- مقدمه
(UML(Unified Modeling Language مستقيماً روشهاي Booch ، Rumbaugh و Jacobson را با هم ادغام كرده است، اما محدوده آن بيشتر از سه متدلوژي فوق است. UML همانطور كه از نامش پيدا است يك زبان مدلسازي است تا يك متدلوژي. بطور معمول، هر متدلوژي شامل حداقل يك زبان مدلسازي و يك پروسه ساخت است.زبان مدلسازي شامل نمودارهايي است كه هر متدلوژي براي نمايش تحليل و طراحي سيستم‌‌ها از آن استفاده مي‌‌كند. اما يك پروسه ساخت شامل دستورات، راهنمايي ها و قدم هاي لازم براي انجام تحليل و طراحي سيستم‌‌ها مي‌‌باشد. افرادي كه يك متدلوژي را به كار مي برند معمولاً بيشتر با زبان مدلسازي آن سروكار دارند.هدف طراحان UML بيشتر تدوين يك زبان مدلسازي شي‌‌گرا بوده تا ارائه يك پروسه ساخت استاندارد، اگر چه طراحان UML يك پروسه ساخت به نام USDP(Unified Software Development Process) را نيز ارائه داده‌‌اند.

2- تاريخچه
UML يك زبان استاندارد براي نمايش، ايجاد و مستندسازي سيستم هاي نرم‌‌افزاري مبتني بر روشهاي شي‌‌گرا مي‌‌باشد. قبل از UML نيز روشهاي شي‌‌گرايي متعددي توسط‌‌افرادمختلف براي مدل سازي سيستم‌‌هاي ‌شئ‌‌گرا ارائه شده بود. اتفاقي كه باعث ايجاد UML شد بدين‌‌صورت بود كه Rumbough ، طراح متدلوژي OMT به شركت Rational كه متعلق به Booch بود پيوست و آنها تلاش خودرا براي ايجاد يك زبان مدلسازي شي‌‌گراي متحدالشكل بكار گرفتند. تركيب دومتدلوژي و ايجاد زبانUML اعتبار ويژه‌‌اي به آن بخشيد. درسال 1995 ، شركت Rational آماده بود تا اولين مستندات UML (نسخه 0.8 )را ارائه نمايد، اما در يك اقدام ناگهاني امتياز شركت Jacobsonرا كه مالك Objectory بود، خريداري نمود. پس از اين اقدام، شركت Rational با تركيب سه متدلوژي سطح بالا قادر به ارائه يك استاندارد در روشهاي شي‌‌گرا بود.
در سال 1997 ، UML بعنوان يك زبان استاندارد مدلسازي شي‌‌گرا از طرف گروه OMG(Object Management Group)پذيرفته شد. مهمترين قابليت اين زبان ارائه مدلهايي بصورت دياگرام براي كل چرخه حيات نرم افزار است و ميتواندبصورت يك زبان ارتباطي بين تمام گروههاي يك تيم پروژه استفاده شود. از قابليتهاي ديگر آن اينست كه سازگاري خود را با اغلب روشهاي متداول مانند OMT ، Booch وOOSE حفظ نموده است.
از ديد مستندسازي، UML قادر است كل چرخه حيات سيستم را در قالب نمودارهايي بصورت كلي و قابل فهم ارائه نمايد كه ميتواند مستقل از متدلوژي ساخت ارائه شود هرچند كه برخي از متدلوژيها دياگرامهاي خاص خود را دارند. اما با توجه به نزديكي متدلوژيهاي شئ‌‌گرا و شباهت دياگرامهاي آنها مي‌‌توان UML را در بسياري از متدلوژي‌‌هاي شئ‌‌گرا استفاده نمود.
شركتهايي مانندUnisys, Rational, Oracle, IBM, Microsoft, HP و ... از شركتهايي هستند كه ازUML استفاده كرده و آن را پشتيباني مي‌‌نمايند.

3- دياگرام هاي UML
يكي از بزرگترين اهداف طراحي برنامه هاي سيستم نرم افزاري ايجاد برنامه هاي صحيح است به نحوي كه نيازهاي كاربران را بدرستي و با هزينه قابل قبولي برآورده نمايد. فهم نيازهاي كاربران كه مستلزم ايجاد ارتباط با آنهاست، يكي از نكات كليدي در ايجاد نرم افزارهاي مفيد مي‌‌باشد. روشي كه در UML براي نشان دادن اين خواسته‌‌ها بكارگرفته مي‌‌شودUse Case نام دارد. مجموعه تماميUse Case ها، تصوير خارجي سيستم را تشكيل مي‌‌دهد. يك مجموعه خوب از Use Case ها وقتي حاصل خواهد شد كه طراح بداند كاربران چه چيزي از سيستم مي‌‌خواهند. Use Case ها همچنين ابزار خوبي براي پيشبرد پروژه مي‌‌باشند زيرا ساخت سيستم به طريق تكراري را كنترل مي‌‌كند. در واقع از قابليتهاي ويژه متدلوژيهاي شئ‌‌گرا اين است كه مي‌‌توان يك مجموعه‌‌اي از نيازها را انتخاب نموده و طراحي و پياده‌‌سازي آنرا به پيش برد و بدين صورت ساخت سيستم به‌‌صورت افزايشي را مقدور مي‌‌سازد همچنين با توجه به اين كه تيم طراح و برنامه‌‌نويس در هر مرحله با Use Case ها سروكار دارد، در هر مرحله امكان بازگشت سريع به مراحل قبل وجود دارد. اين روش خود تكنيك با ارزشي است، زيرا نتايج را مرحله به مرحله به كاربر باز خور مي‌‌دهد. در ادامه اين بخش، دياگرام‌‌هايي كه در UML براي مدل سازي سيستم هاي نرم افزاري استفاده مي‌‌شود به صورت اجمالي معرفي مي‌‌گردد.




3 -1- دياگرام Use Case
در ساده‌‌ترين حالتUse Case ها بوسيله مصاحبه با كاربران و انتظاراتي كه آنها از سيستم دارند تعريف مي‌‌شود. براي نمايش اطلاعات مربوط به نيازهاي كاربران كه در قالب Use Case هاجمع‌‌‌آوري شده است از دياگرام Use Case استفاده مي‌‌شود. شكل شماره 1 نمونه‌‌اي از اين دياگرام را نشان مي‌‌دهد


شكل شماره 1 - نمونه‌‌اي از دياگرام Use Case


نمادهاي آدمك كه در شكل ديده مي‌‌شود، بازيگر (Actor)ناميده مي‌‌شوند. هر بازيگر مي‌‌تواند يك كاربرسيستم باشد كه نقش يا نقش‌‌هايي را در سيستم بازي مي كند. يك بازيگر لزومي ندارد حتماً يك انسان باشد، يك سيستم خارجي نيز ميتواند يك بازيگر باشد.

چهار نوع رابطه در دياگرام Use Case وجود دارد كه عبارتند از :
الف- رابطه Communication : نشان مي‌‌دهد يك بازيگر، يك Use Case را استفاده مي‌‌كند.

ب- رابطه Extend : ارتباط بين دو Use Case كه حالات خاص يكي در ديگري قرار داده مي‌‌شود.
ج- رابطه Uses : شبيه Extend مي باشد ولي در اينجا حالات خاص‌‌را در يك Use Case قرار نمي‌‌دهد، بلكه اگر رفتاري در چند Use Case مشترك باشد، آنرا جدا كرده و در يك Use Case مجزا قرار مي‌‌دهند.



3-2 - دياگرام كلاس
دياگرام كلاس يكي از دياگرامهاي مهم و اساسي در متدلوژيهاي شي‌‌گرا مي‌‌باشد كه هر متدلوژي حالات مختلفي از آنرا استفاده مي كند. دياگرام كلاس شامل اشياء و روابط مابين آنها مي‌‌باشد. همچنين دياگرام كلاس شامل صفات و رفتار كلاس‌‌ها مي‌‌باشد.

در دياگرام كلاس اگر فقط اشياء (يعني نمونه‌‌هاي كلاس ها) و روابط آنها نشان داده شود، آن را دياگرام شيء (Object Diagram)گويند. شكل شماره 2 نمونه‌‌اي از دياگرام كلاس را نمايش مي‌‌دهد. در ادامه مفاهيمي كه در دياگرام كلاس استفاده مي‌‌شود بطور مختصر شرح داده مي‌‌شود.



شكل شماره 2- نمونه‌‌اي از دياگرام كلاس

3-2-1- كلاس
كلاس، مشخصه‌‌اي براي مجموعه‌‌اي از اشياء با صفات، رفتار و روابط مشابه مي‌‌باشد. UML براي نمايش كلاس از نماد مستطيل سه قسمتي استفاده مي‌‌كند. قسمت فوقاني اين نماد براي نمايش مشخصات نام كلاس، قسمت مياني براي نمايش مشخصات صفات و قسمت تحتاني براي نمايش مشخصات رفتار و اعمال كلاس بكار مي رود. برخي عناصر كه از نظر مفهوم شبيه كلاس هستند نيز از همين نماد و خواص استفاده مي‌‌كنند.

كلاس‌‌هاي مشتق شده از يك كلاس معمولاً با مفهوم كليشه (Stereotype)بيان مي‌‌شود. اين مفهوم در UML استفاده زيادي دارد و حالات خاص و مختلف از يك چيز را نشان مي‌‌دهد. انواع مختلفي كه از نظر مفهومي شبيه كلاس هستند با ذكر يك كليشه، در قسمت نام كلاس مشخص مي‌‌شوند. سه نمونه از اين مفاهيم، تايپ (Type)، كلاس پياده‌‌سازي(Implementation Class)، و واسط (Interface Class) نام دارند.

تايپ، نشان‌‌دهنده يك نقش قابل تغيير است كه يك شئ مي‌‌تواند انتخاب كند و سپس آنرا كنار بگذارد. يك كلاس پياده‌‌سازي، نشان‌‌دهندة ساختار فيزيكي و توابع يك شئ است كه در يك زبان، پياده سازي مي‌‌شود و قابل تغيير نيست. يك شئ مي تواند داراي چندين تايپ باشد اما فقط يك كلاس پياده سازي دارد. بين يك تايپ و يك كلاس پياده سازي مي توان رابطه Realize برقرار نمود كه نشان مي‌‌دهد يك تايپ توسط كدام كلاس پياده سازي شده است. يك واسط نشان دهنده اعمال يك كلاس است كه قابل رويت توسط ديگران است. واسطها فاقد صفت،حالت و روابط انجمني هستند و فقط شامل اعمال مي‌‌باشند. واسطها مي توانند روابط كلي/ اختصاصي داشته باشند.

كلاس پارامتري(Parameterized Class) معرف كلاسي است كه تعدادي پارامتر داشته ولي مي‌‌تواند خانواده‌‌اي از كلاسها را تعريف كند. هر كلاس از اين خانواده با تعريف مقادير واقعي پارامترها، مشخص مي‌‌شود. يك كلاس پارامتري با همان نماد كلاس نمايش داده مي‌‌شود. كلاسهايي كه به يك كلاس پارامتري محدود يا مقيد مي‌‌شوند، عناصر مقيد (Bound Element) ناميده مي‌‌شوند.

شئ نمونه‌‌اي از يك كلاس است كه صفاتش داراي مقادير حقيقي هستند. نماد شئ مانند نماد كلاس است كه در زير نام آن خط كشيده مي‌‌شود. يك شئ مركب (Composite Object)شئ سطح بالايي است كه در درون خود داراي شئ هايي است كه اين شئ ها مي توانند داراي روابط في مابين باشند.

3-2-2 روابط مابين كلاسها و اشياء
در زير به انواع روابط بين كلاسها و اشياء اشاره مي‌‌شود.

الف- رابطه انجمني
يك رابطه انجمني مي‌‌تواند بين دو كلاس و يا چند كلاس برقرار شود. مشخصات كلي اين رابطه توسط چند خصيصه تعيين مي شود كه عبارت است از مقدار كثرت، ترتيب، علامت جهت و مشخصه اجماع (Aggregation)

ب- رابطه در برگيري (Composition [Whole-Part])
اين رابطه يك رابطه قويتر از رابطه اجماع مي‌‌باشد كه در آن وجود كلاس جزء وابسته به وجود كلاس كل مي باشد. رابطه دربرگيري با يك خط راست كه در طرف كلاس كل يك لوزي توپر قرار دارد نمايش داده مي‌‌شود.

ج- رابطه كلي- اختصاصي(Generalization / Specialization)
رابطه‌‌اي است كه بين يك كلاس عمومي و كلاسهاي اختصاصي آن كلاس برقرار مي‌‌شود. در اين نوع رابطه، كلاس هاي اختصاصي تمامي خصوصيات كلاس عمومي را به ارث برده و علاوه برآن مي‌‌توانند يكسري خصوصيات ديگر را نيز تعريف نمايند. اين رابطه را رابطة ارث‌‌بري نيز مي‌‌نامند.

د- رابطه وابستگي
اين رابطه يك رابطه معنايي را بين دو عنصر تعريف مي‌‌كند كه تغيير در يك عنصر ممكن است باعث تغييراتي در عنصر ديگر شود. ازا نواع اين روابط ميتوان به bind , uses اشاره نمود.


هـ- رابطه Realize
رابطه‌‌اي است كه بين كلاس پياده‌‌سازي و تايپ برقرار مي‌‌شود.



3-3- دياگرام تعامل
دياگرام تعامل (Interaction Diagram) بيانگر رفتار اشياء در روابط با يكديگر است. معمولاً هر دياگرام تعامل، رفتار يك Use Case را نشان مي‌‌دهد. دياگرام تعامل خود به دو نوع دياگرام ترتيب (Sequence Diagram) و دياگرام همكاري (Collaboration Diagram ) تقسيم مي‌‌شود.

الف - دياگرام ترتيب
يك نمونه از اين دياگرام در شكل شماره 3 نشان داده شده است. عمليات بصورت ارسال پيام ما بين اشيا انجام مي‌‌گيرد. ترتيب ارسال پيام از بالابه پايين مي‌‌باشد. هر پيام داراي يك نام بوده و مي‌‌تواند پارامتر و اطلاعات كنترلي نيز داشته باشد. دو نوع اطلاعات كنترلي ميتواند دركنار پيام نوشته شود، يكي شرط ارسال است كه با بر آورده شدن آن پيام ارسال مي‌‌شود و ديگري علامت تكرار است كه مشخص مي كند پيام چند مرتبه به اشيا فرستاده مي‌‌شود.


شكل شماره 3 - نمونه‌‌اي از دياگرام ترتيب


ب - دياگرام همكاري
در دياگرام همكاري، ارتباط بين اشيا بدون درنظر گرفتن ترتيب، نشان داده مي‌‌شود. نمونه‌‌اي از اين دياگرام در شكل شماره 4 نشان داده شده است.


شكل شماره 4- نمونه‌‌اي از دياگرام همكاري

3


-4- دياگرام بسته (Package Diagram)
دياگرام بسته براي تجزيه يك سيستم بزرگ به اجزاء كوچكتر استفاده مي‌‌شود. اين دياگرام عين دياگرام كلاس مي‌‌باشد. در اين دياگرام چندين كلاس در قالب يك واحد سطح بالاتر به نام بسته قرار داده مي‌‌شوند.
مي‌‌توان بصورت تركيبي دريك دياگرام، بسته‌‌ها و كلاس‌‌ها را با هم نمايش داد. بين بسته‌‌ها ميتوان روابط وابستگي برقرار كرد. نمونه‌‌اي از يك دياگرام بسته در شكل شماره 5 ، نمايش داده شده است.


شكل شماره 5 - نمونه‌‌اي از دياگرام بسته


3


-5- دياگرام حالت (State Diagram)
دياگرام حالت يكي از دياگرامهاي مرسوم در توصيف رفتار سيستم مي باشد. از دياگرام حالت مي‌‌توان براي نمايش حالات مختلفي از نمونه هاي كلاس استفاده نمود. هر حالت با نماد مستطيل خوابيده با گوشه هاي مدور نمايش داده مي‌‌شود. در داخل مستطيل نام حالت نوشته مي‌‌شود. همچنين اگر در يك حالت، عملي انجام شود در اينصورت به شكل Do / Activity نوشته ميشود. انتقال بين حالتها مي‌‌تواند همراه با عملي باشد كه با فرمت “Event + [ Guard ] / Action” نوشته ميشود. در آنجا Event همان رويدادي است كه باعث انتقال مي‌‌شود. Guard نيز شرطي است كه در صورت برقراري آن، انتقال صورت ميگيرد و Action عملي است كه در حين انتقال صورت ميگيرد. شكل شماره 6 يك دياگرام حالت را نمايش مي‌‌دهد.


شكل شماره 6- نمونه‌‌اي از دياگرام حالت

 


-6- دياگرام فعاليت
اين دياگرام همانند فلوچارت مي باشد با اين تفاوت كه در فلو چارت تمامي اعمال بصورت ترتيبي ذكر مي‌‌شود. ولي در اينجا مي توان فعاليتهاي موازي را نمايش داد. دياگرامهاي فعاليت براي مدل كردن رفتارهاي(متدهاي) پيچيده استفاده مي‌‌شود. شكل شمارة 7 نمونه‌‌اي از اين نوع دياگرام را نمايش مي‌‌دهد.


شكل شماره 7- نمونه‌‌اي از دياگرام فعاليت

در اين دياگرام انتقالها از بالا به پايين صورت مي‌‌گيرد. علامت * در نمودار بدين معني است كه فعاليت مورد نظر براي چندين عنصر ميتواند بصورت موازي انجام شود. خطوط افقي براي سنكرون كردن عمليات موازي استفاده مي‌‌شود



1


. 3-7- دياگرام آرايش قوا (Deployment Diagram)
اين دياگرام رابطه بين اجزاء نرم‌‌افزاري و سخت‌‌افزاري را نشان مي‌‌دهد. اين دياگرام محل خوبي براي نمايش انتقال اشياء و اجزاء در يك سيستم توزيع شده مي‌‌باشد. هر گره (Node)در دياگرام نشان دهنده يك واحد محاسباتي مي‌‌باشد. شكل شماره 8 نمونه‌‌اي از اين دياگرام را براي ارتباطات بين شبكه‌‌اي يك PC و يك سرويسگر Unix نمايش مي‌‌دهد.


شكل شماره 8 - نمونه‌‌اي از دياگرام آرايش قوا


 

 


مطالب مشابه :


UML 2.0

آيا اضافه شدن دياگرام‌هاي جديد (مثل Timing Diagram) (مانند افزودن امكانات بيشتر به Sequence Diagram )




Rational Rose

دياگرام توالي (sequence diagram) دياگرام توالي بصورت منظم و در يک توالي زماني پشت سر هم ارتباطات




معرفي زبان استاندارد مدلسازي UML

دياگرام تعامل خود به دو نوع دياگرام ترتيب (Sequence Diagram) و دياگرام همكاري (Collaboration Diagram )




پروژه تحلیل سیستم انتخاب واحد دانشگاه

از نرم افزار Rational Rose استفاده گردیده که از نمودارهای use case ، sequence (sequence diagram) دياگرام




UML چیست ؟

Sequence Diagram ; Collaboration Diagram ; Activity Diagram ; دياگرام کلاس در UML يکی از مهمترين دياگرام ها تلقی می گردد .




دانلود گزارش برنامه ریزی پروژه نمونه عملی شهرداری تهران

دياگرام فعاليت - مدل كردن رفتارهاي Sequence Diagram دياگرام ترتيب - يك نوع دياگرام تعامل با




عناصر اصلي در رسم يک BPD - 2

Pool در شرايطي استفاده مي‌شود که دياگرام شامل دو شريک يا Sequence Flow مي‌تواند مرز بين




DFD تاکسی تلفنی با Use Case Diagram

( Sequence Diagram) در صورتی که مورد استفاده واقع شد برای سلامتی پدر و مادرم سه صلوات بفرستید.




درس مهندسی نرم افزار کنترل - مبحث UML

Sequence Diagram; Collaboration Diagram; Activity Diagram; دياگرام کلاس در UML يکی از مهمترين دياگرام ها تلقی می گردد .




مروری بر متدولوژي RUP

نمودار Sequence اين دياگرام براي انجام عمل خاصي در يك UseCase مشخص ، مراحل انجام كار را مرحله




برچسب :