0

آشنایی با UML زبان مدل سازي يكپارچه در پروژه های مهندسی نرم افزار بخش اول

 
a00bcom
a00bcom
کاربر تازه وارد
تاریخ عضویت : فروردین 1395 
تعداد پست ها : 31
محل سکونت : اصفهان

آشنایی با UML زبان مدل سازي يكپارچه در پروژه های مهندسی نرم افزار بخش اول
جمعه 6 فروردین 1395  1:00 PM

آشنايي با UML
زبان مدل سازي يكپارچه (UML) زباني است براي مشخص سازي ، مجسم سازي ، ساخت و مستند سازي دست آوردهاي سيستم هاي نرم افزاري و مدل سازي و كار و ديگر سيستمهاي غير نرم افزاري .
یو ام ال
Uml مجموعه اي از بهترين تجربيات مهندسي كه موفقيتشان در مدل سازي سيستمهاي بزرگ و پيچيده به اثبات رسيده است را عرضه مي دارد.
تعريف UML  شامل اسناد زير مي گردد :
معنا شناسي  UML : كه مفاهيم غني و دستور نگارش وعلا ئم زبان مدلسازي يكپارچه را تعريف مي كند UMLبه وسيله بسته ها به صورت معماري گونه لا يه بندي و سازماندهي ميشود . در  هر بسته عناصر مدل بر حست دستور نگارش (با استفاده از متن و عبارت زبان محدوديت شيء معروف به OCL )و معاني (با استفاده از متن دقيق) تعريف مي شوند .
راهنماي علائم UML : فكر و انديشه را تعريف مي كند و مثال هاي خوبي را ارائه مي كند. علائم UML نحو گرافيكي را براي بيان معاني توصيف شده توسط فرا مدل هاي UML ارائه مي كند.
توسعه ي UML براي فرايند شيءدر مهندسي نرم افزارو توسعه UML براي مدل سازي تچارت : اين توسعه هاي UML شامل توسعه خاص فرايند و توسعه خاص حوزه مسئله در UML برحسب مكانيزم هاي توسعه اي شان و آيكون نمودار فرايند مي گردد .
2) فراهم آوردن مكانيزم هاي توسعه و تخصيص براي بسط مفاهيم اساسي : بدين معنا كه در عين آنكه انتظار ميرود UML براساس نيازهاي جديد در حوزه هاي خاص جفت و جور شود نمي خواهد اجبار كند تا مفاهيم اساسي و مشترك براي هر حوزه جديدي دوباره تعريف شود و پياده سازي گردد. البته مفاهيم اساسي نبايد بيش از حد تغيير يابند. بنابراين كاربران نيازمندند كه قادر باشند : 1- مدل ها را با استفاده از مفاهيم اساسي بسازند بدون آنكه مكانيزم هاي توسعه را براي بسياري از برنامه هاي كاربردي نرمال بكار گيرند .
2- مفاهيم و علائم جديد را اضافه كنند البته براي مواردي كه توسط اصول پوشيده نشده باشند .
3- زماني كه هيچ اتفاق نظر روشني وجود ندارد تفاسير مختلف را از مفاهيم موجود انتخاب كنند .
4- مفاهيم، علائم و محدوديت ها را براي حوزه هاي كاربردي خاص مشخص سازند .
3) استقلال از زبان هاي برنامه نويسي خاص و فرايندها ي توسعه . 
4) فراهم آوردن پايه و اصولي رسمي براي درك زبان مدل سازي كه براي اين منظور UML تعريف رسمي از قالب استاتيك مدل را با استفاده از نمودار كلاس ارائه مي كند اين نمودار ، نموداري مشهور و مورد قبول در سطح وسيع براي تعييين قالب يك مدل است UML همچنين محدوديت هايي را بيا ن ميدارد كه در قالب زبان دقيق طبيعي و عبارات زبان محدوديت شيء (OCL ) بيان مي شود .
5) تشويق به رشد بازار ابزارهاي OO .
6) حمايت و پشتيباني از مفاهيم توسعه سطح بالاتر نظير : همكاري ها ، چهارچوب ها ،الگوها و اجزاء  .
7) مجتمع سازي بهترين تجربيات : UML بدنبال آن است كه بهترين تجربيات درصنعت 
حوزه هاي مسئله ، معماري ها و … را يكجا بياورد .
 
محدوده UML
زبان مدل سازي يكپارچه UML زباني است براي مشخص سازي ساخت ،مجسم سازي و مستند سازي دست آوردهاي يك سيستم متمركز نرم افزاري اول آنكه اين زبان از مفاهيم OOSE,OMT,BOOCH  كه متدولوژيهاي متداول OOميباشند متنج شده است . دوم ، UMLبر آنچه كه در حال حاضر توسط روش هاي موجور فابل انجام همتند ، بان شده است . سوم زبا ن مدل سازي يكپارچه بر يك زبان مدل سازي استانارد تمركز مي كند و نه يك فرآيند استاندادر اگر چه UMLبايستي در زمينه يك فرايند به كارگيري شود تجرته نشان ميدهد كه در سازمان هاي مختلف و با حوزه هاي مسئله متفاوت فرايندهاي متفاوتي مورد نياز است بنابراين تلاش بر اين است كه ابتدا بر يك فرامدل مشترك (كه معاني را يكپارچه ميكند )تمركز شود و در درجه دوم بر يك علامت گذاري مشترك (كه براي فرد استنباط اين معاني را فراهم ميكند )تمركز گردد مبدعين UMLبر فرايند توسعاي تاكيد ميكنند كه مورد كاربرد گرا معماري گرال و تكراري و افزايشي است . 
UML يك زبان مدلسازي را مشخص مي كند كه اتفاق نظر جماعت شيگرا بر مفاهيم اساس مدل سازي است . 
1) UMLبراي ايجار مدلها و نمرارهاي حوزه مسئله هيچ توصيه اي نميشود و اين تجربيات و يادگيري افراد است كه تشخيص استفاده از كدام نمودارها  و مدل ها را به ايشان مي دهد دريك ديدگاه مدل سازي UML نمودارهاي گرافيكي زير را تعريف مي كند  مورد كاربرد 
  • نمودار مورد كاربرد                                   diagram )  (use ca
  • نمودار كلاس                                                                   (ClassDiagram)                                                                   
  •   نمودارهاي رفتار:               (BehaviorDiagra                       
  • نمودارهاي حالت :             (State Chart Diagram)
  • نمودار فعاليت  :          )Activity Diagram( 
  • نمودارهاي تعامل                  Interaction Diagrams ))
  •         نمودار توالي                        ((Sequence Diagram         
  •  نمودار همكاري                ((Collaboration Diagram 
  • * نمودارهاي پياده سازي)   (Implementation Diagram
  •         نمودار اجزاء      (Component Diagram  )      
  • نموداراستقرار  (Deployment Diagram)
       اين نمودارها منظر گاه هاي مختلفي از سيستم تحت تحليل يا توسعه را فراهم مي آورند. مدل در حال مطالعه اين منظر گاه ها را يكپارچه مي كند به گونه اي كه يك سيستم متكي به خود تحليل و ساخته شود. اين نمودارها با پشتيباني مستندات ، دست آوردهاي اوليه اي مي شوند كه يك مدل ساز آن را ايجاد مي كند، اگر چه UML بيشتر توصيف و تشريح شده اند.
يك سوال كه مكررا پرسيده مي شود اين است كه چرا UML از نمودارهاي جريان داده معروف به       حمايت نمي كند ؟ به طور ساده نمودارهاي جريان  داده و ديگر نمودارهاي از اين نوع كه در UML قرار داده نشده اند ، با ديدگاه مستحكم شي گرا به روشني جفت و جور نمي شوند. نمودارهاي فعاليت بسيار بيشتر از آنچه كه افرااد از       مي خواهند را برآورده  مي كند. به علاوه موارد ديگر ، نمودارهاي فعاليت همچنين براي مدل كردن جريان كار مفيد هستند. مؤلفين UML در حال ايجاد نمودارهاي UML بر فراز همه پروژه هاي شي گرا هستندئ ، اما ضرورتا نيازي هم به نمودارهاي ديگر نيست . مبدعين UML معتقدند كه مجموعه اي از تكنيك هاي موفقيت آميز و عملي را كه در يك ديدگاه مستحكم و پا بر جا جفت مي شود ، تعريف كرده اند. 
 
 
زبان برنامه نويسي 
UML   يك زبان بصري است و هدفش يك  زبان برنامه نويسي بصري نيست ، در عين آنكه همه مفاهيم و تجسمات را پشتيباني مي كند تا جايگزين زبان هاي برنامه نويسي شود. UML زباني است براي بصري سازي ، مشخص سازي ، ساخت و مستند سازي دست آوردهاي يك سيستم نرم افزاري ، و از طرفي مسيري را فراهم مي كند كه شما را به سمت كد هدايت مي نمايد. برخي چيزها شبيه انشعاب ها و ادغام هاي پيچيده در يك زبان برنامه نويسي متني بهتر بيان مي شوند. UML نقشه اي قوي براي خانواده اي از زبان هاي       دارد. در عين حال شما مي توانيد از بهترين هاي هر دو دنيا استفاده كنيد. 
 
ابزار 
استاندارد سازي يك زبان ضرورتا اساس ابزارها و فرآيندها هستند كه UML ، مفاهيم و علائم  آن را تعريف مي كند و نه خود ابزار را . بنابراين UML ابزار نيست.
 
فرآيند 
بسياري از سازما ن ها ، UML را به عنوان زبان متداول براي توليد دست آوردهاي پرروژه هايشان استفاده مي كنند، اما انواع نمودارهاي UML را در فرآيندهاي مختلف استفاده مي كنند. UML اساسا مستقل از فرآيند است ولي فرآيند استانداردي را نيز تعريف ميكند كه هدف UML نيست. فرآيندها بر اساس طبيعت شان بايستي براي سازمان ها ، فرهنگ ها و حوزه هاي مسئله دوخته شوند.
 
مقايسه UML با د يگر زبان هاي مدل سازي 
UML بر اساس موفقيت هاي سه روش مدل سازي    OOSE , OMT , BOOCH  و ايجاد شده است و كاربران هر يك از  اين سه روش ،‌ مي توانند به راحتي از UML استفاده نمايندت. UML براي استفاده شدن توسط كاربران روش هاي ديگر نيز آماده و آسان مي باشد.
UML هم اكنون روشن تر ، مستحكم تر و يك شكل تر از Booch,OMT.,OOSE و ديگر روش ها مي باشد . اين بدين معنا است كه در انتقال به UML  اين ارزش وجود دارد كه به شما اجازه مي دهد تا در پروژه ها چيزهايي را مدل سازي كنيد كه قبل از اين انجام شدني نبودند. 
كاربران روش هاي موجود، تغييرات اساسي و زيادي را در علامت گذاري تجربه خواهند كرد. اما اين به معناي نياز به يادگيري مجدد با تعريف مجدد مفاهيم حاضر نيست. كاربران هر يك از روش هاي OO مي توانند سرعت زيادي را در يادگيري شان انتظار داشته باشند. تكنيك هاي پيشرفته نظير به كارگيري كليشه ها  و خواص ، نيازمند مطالعه هستند. البته اين موارد نيز در زمان برخورد با مسئله ، مورد نياز مي شوند. 
 
ويژگي هاي جديد UML
هدف  كليه تلاش هاي يكپارچه سازي  كه در UML به كار مي رود ، حفظ سادگي است به گونه اي كه عناصر غير كاربردي روش هاي OMT, Booch,OOSE طرد شوند و عناصر مؤثر از روش هاي ديگر به آن اضافه گردند. 
مفاهيم جديد زيادي در UML وارد شده اند ، نظير : مكانيزم هاي توسعه شامل كليشه ها ، مقادير ضميمه و محدوديت ها ، توزيع و همروندي (‌به عنوان مثال برا ي مدل سازي CORBA,Active/DCOM الگوها / همكاري ها ، نمودارهاي فعاليت (‌براي مدل سازي فرآيند كار ) ، پالايش (‌براي اجرا يا به كارگيري ارتباطات بين سطوح مجرد ) واسطه ها و اجزاء ، و يك زبان محدوديت . 
بسياري از اين مفاهيم در نظريه ها و روش هاي انفرادي مختلف وجود داشتند و UML آنها را به دورن انسجام خودش كشاند . به علاوه اين تغييرات اساسي ، بهبودهاي ريز ديگري نيز بر اساس مفاهيم و علائم ،OOSE ,Booch.OMT وجود دارد. بنابراين بسياري از مفاهيم و علائم UML را خود نويسندگان آن ايجاد نكرده اند بلكه نقش آنها ، جمع آوري مناسب ، انتخاب و يكپارچه كردن اين مفاهيم و علائم در UML بو ه است . در اين زمينه ، موارد زير قابل ذكر است : 
  • نمودارهاي مورد كاربرد مشابه آنچه درOOSE ارائه شد مي باشند. 
  • نموداراهاي كلاس ، ذوب شده Booch،OMT و ديگر روش ها است. كليشه ها ، محدوديت و مقادير ضميمه مفاهيمي هستند كه قبلا در زبان هاي مهم مدل سازي وجود نداشتند و اكنون در UML ظهور كرده اند. 
  • نمودارهاي حالت اساسا مبتني بر جداول حالت David Harel  مي باشند. نمندار فعاليت كه مفاهيم مشابهي را بيان مي دارد ، مشابه نمودئار جريان كار است كه توسط بسياري از منابع پيش از OO ايجاد گرديدند. شركت Jim Odell , Oracle  سبب ساز ورود نمودارهاي فعاليت به UML بودند. 
  • نمودارهاي توالي در بسياري از روش هاي OO تحت نام هاي متفاوت (نظير : تعامل ، ردگيري پيام و ردگيري واقعه ) و نيز روزهاي قبل از OO يافت مي شدند. نمودارهاي همكاري از Booch ( با نام  Object Diagram) و Fusion ( با نام  Object Interaction Graph) ، و تعدادي منابع ديگر پذيرفته شدند. 
  • نمودارهاي پياده سازي (‌شامل نموداراهاي اجزاء و استقرار ) از نمودارهاي ماژول و فرآيند در Booch مشتق شدند، اما هم اكنون اين نمودارها به جاي آنكه ماژول گرا باشند ، اجزاء گرا هستند و خيلي بهتر به هم متصل مي شوند
  • كليشه ها يكي از مكانيزم هاي توسعه هستند و مفاهيم فرامدل را بسط مي دهند. آيكون هاي تعريف شده كاربر با كليشه هاي موجود متناظر مي شوند تا UML را براي فرآيندهاي مشخصي خياطي كنند. 
  • زبان محدوديت شي (OCL) به وسيله UML استفاده مي گردد تا مفاهيم را مشخص سازد و به عنوان زباني براي بيان مدل سازي جاري به كار گرفته شود. OCL يك زبان بياني است كه در روش  Syntropy ريشه دارد و به وسيله زبان هاي بياني ، در روش هاي ديگر نظير Catalysis  مورد تاكيد واقع مي شود. 
  •  هر يك از اين مفاهيم ، پيش فر ض ها و اثرات بسيار زياد ديگري هم دارند. OMG  اعتراف مي كند كه هر فهرست خلاصه اي از اين اثرات ، ناقص است . UML محصولي از يك تاريخ عظيم انديشه ها در علم كامپيوتر و ناحيه مهندسي نرم افزار است. 
 

 

==============

سلام

==============

تشکرات از این پست
دسترسی سریع به انجمن ها