710 likes | 1.05k Views
به نام او. UML. UML Presentation. Systems Analysis and Design With UML Component Object Modeling (COM) Object Modeling Technique (OMT) An Object-Oriented Approach Unified Modelling Language Rational Rose. شي و شي گرايي : مجموعه اي از تفکرات و ديد هاي قبلي است.
E N D
UML UML Presentation Systems Analysis and Design With UML Component Object Modeling (COM) Object Modeling Technique (OMT) An Object-Oriented Approach Unified Modelling Language Rational Rose
شي و شي گرايي : مجموعه اي از تفکرات و ديد هاي قبلي است. اين مفاهيم چيزي جز مفاهيم طبيعي نيستند. يک شي هر چيزي مي تواندباشد. يک شي نمونه اي از يک کلاس است . نکته مهم : وقتي که يک شي را ايجاد مي کنيد ، محيط عملياتي ، تعيين کننده صفات و عملياتي است که يک شي مي تواند به خود بگيرد . استفاده از مفاهيم شي گرا درک نيازهاي کاربران اين نيازها را به تصوير بکشيد درک آن ها سريع تر و آسان تر (هم براي شما و هم براي مشتريان) UML Presentation
چرا از شي گرائی استفاده مي کنيم؟ شي گرايي مي تواند داراي منافع زيادي باشد. متدولوژي شي گرا توانايي حل تمام مسائل را ندارد. و اما منافع اين متدولوژي : افزايش موفقيت : موفقيت تيم پروژه کاهش زمان تحليل ، طراحي و برنامه نويسي برنامه زمان بندي پروژه را به صورت چشمگيري کاهش دهد. توسعه سريع و کاهش هزينه : مفهوم دوباره استفاده نمودن بهبود زمان توسعه سيستم عمل توسعه سيستم از طريق استفاده مجدد آنها باعث بالا رفتن بهره وري و بهبود کيفيت خواهد شد و بطور کلي به کاهش هزينه ها منجر گردد. UML Presentation
تاريخچه :مطرح شدن ديدگاه شي گرايي (Object Oriented) از اواسط دهه 1970 تا اواخر دهه 1980. افزایش تعداد متدولوژی ها در طول 5 سال يعني 1989 تا 1994. دوران جنگ متدولوژيها : تكثر متدولوژي ها و زبانهاي شي گرايي و رقابت بين آن ها از جمله متدولوژي هاي پركاربرد : Booch، OOSE، OMT، Fusion، Coad-Yourdan، Shlayer-Mellor و غيره. مشكلات حاصل از فراواني و اشباع متدولوژيها و روشهاي شي گرايي و نيز نبودن يك زبان مدلسازي استاندارد : پیامد 1 :کاربران خسته ! پیامد 2 :کاربران زده شده از دنیای شی گرایی! پیامد 3 : عدم وجود يك زبان استاندارد، براي فروشندگان محصولات نرم افزاري ! UML Presentation
تاريخچه :( ادامه ... ) • اولين تلاشهاي استانداردسازي از اكتبر 1994 آغاز شد. • Rumbaurgh صاحب متدولوژي OMT • Booch در شركت Rational • و اولين محصول تركيبي شان به نام "روش يكنواخت" را ارائه دادند. • در سال 1995 :با پیوستن Jacobson، • روش يكنواخت +روش OOSE =UML نسخة 0.9 در سال 1996 • استقبال شديد شركت ها از اين محصول • تبليغات گسترده شركت Rational • پذیرفته شدن نسخة 1.0 UML به عنوان زبان مدلسازي استاندارد از سوی OMG(Object Management Group) UML Presentation
UML چیست ؟ UML: زبانیاستاندارد به منظور مشخص نمودن، پیش بینی، ایجاد و مستندسازی تولیدات نرم افزاری. مجموعه ای است از بهترین امکانات مهندسی به منظور استفاده در مدلسازی سیستم های بزرگ . UML یک متدولوژی برای ساخت نرم افزار است. UML یک ابزار ویژوال بوده که از انواع متفاوتی از نمودارها استفاده می کند و هریک از نمودارهای آن امکان مشاهده یک سیستم نرم افزاری را از دیدگاههای متفاوت و با توجه به درجات متفاوت تجرید ( Abstraction ) در اختیار پیاده کنندگان قرار می دهد. UML Presentation
( ادامه ... ) • UML مکانیزمی برای استفاده برنامه نویسان نرم افزار • درستی دریافت درخواست مشتری • جلوگیری از ابهام و دوباره کاری در نوشتن برنامه • مساله ديگر اينكه، UML يك زبان برنامه نويسي بصري (visual) نيست. • مهندسي رو به جلو : نگاشت از مدلهاي UML به كد زبانهاي برنامه نويسي • آیا عكس اين عمل نيز ممكن است؟ • مهندسي معكوس : بدست آوردن مدلهاي UML از كد يك برنامه زباني شي گرا. • مزیت استفاده از UML تفکر مبتنی بر برنامه نویسی شی گراست. UML Presentation
مدلسازی : • تعریف : شبیه سازی یک محیط با اندازه های متفاوت از محیط واقعی • و احتمالا مواد ومصالحی متمایز از جنس مواد ومصالح محیط مدل شده. • اهداف : • شناخت(Exploration) : هدف شناخت محیط مورد مدل می باشد. • تبیین (Specification) : معرفی و ارائه خصوصیات موجودیت واقعی یک مدل. • نکته : متدولوژی ساخت مدل. • ساده یا پیچیده ! • روش های استاندارد زیادی مثل : USDP ، RUP ، SSAPM که روش های تولید • نرم افزار است. UML Presentation
چرا مدلسازي مي كنيم؟ ضروري بودن مدلسازي يك سيستم نرم افزاري با قدرت صنعتي قبل از ساخت يا نوسازي. ضروري بودن مدلهاي خوب، براي ارتباط افراد درگروههاي پروژه با يكديگر و نيز اطمينان از قوت معماري. دلیل ایجاد مدلهايي از سيستم هاي پيچيده ؟ پيچيدگي سيستم ها و اهميت تكنيك هاي مدلسازي خوب. وظیفه UML : با وجود عوامل متعدد موفقيت پروژه ولی داشتن يك زبان استاندارد مدلسازي يكي از عوامل ضروري است و اين همان چيزي است كه UML فراهم مي كند. UML Presentation
سیستم های نرم افزاری و متدولوژی : • تعریف : متودولوژی یا فراروش مجموعه ایست همگرا و هدف مدار از مفاهیم وعقاید و ارزشها و اصولی که به وسیله منابعی در جهت حل مسایل گروهی به کار گرفته می شود. • چرخه ی حیات طراحی وتولید سیستم های نرم افزاری : • فعالیت جمع آوری نیازمندیها و مشخص کردن آن • فعالیت تحلیل نیازمنیها برای درک بهترآنها • فعالیت طراحی برای اینکه مشخص شود که سیستم چگونه نیازمندی ها را برآورده می کند • فعالیت ساخت سیستم • آزمایش سیستم • فعالیت تحویل سیستم • متدولوژیهای مختلفی برای انجام این فعالیتها وجود دارد. • هدف ما متد شی گراست UML UML Presentation
روند کار در متد شی گرا : OOA OOD OOP UML Presentation
آنالیز شی گرا (OOA): یک متدولوژی برای تجزیه و تحلیل فرایند ساخت نرم افزار محور آنالیز سیستم : هر چیز در فرایند پیاده سازی نرم افزار به منزله کلاس در نظر گرفته خواهد شد تاکید و سرو کار داشتن با سوالاتی که با Whatشروع می شوند. طراحی شی گرا (OOD): تاکید و سرو کار داشتن با سوالاتی که با How شروع می شوند. در طراحی شی گرا تاکید بر پیاده سازی کلاسها و صفات وخصایصی است که به منزله هسته یک کلاس مطرح می گردد. = OOPلینک هایی که با کلاس ها سروکار دارند OOA + OOD + UML Presentation
مصنوعات (deliverable)تولید شده درهر فاز پروژه : UML Presentation
متدلوژی آبشاری (متد ساخت یافته) : UML Presentation A D P
متدلوژی موازی (متد ساخت یافته) : UML Presentation A D P
متدلوژی حلزونی (متد ساخت یافته) : UML Presentation A D P
مفاهیم متد شی گرا : کلاس(Class) : مفهومی انتزاعی برای دسته بندی اشیا نشان دهنده خصوصیات و رفتار گروه خاصی از اشیا. خصوصیات و رفتارها مشترک هستند. شی(Object) : به هرمفهوم یا هرچیز قابل درکی که بشود با خصوصیات و رفتار مستقل آن را از یک محیط باز شناسی کرد. صفت(Attribute) : هر شی یکسری خصوصیات دارد که به آنها صفت گفته می شود که در واقع یک مقدار یا ارزش مشخصی برای آن به ازای هر شی می تواند وجود داشته باشد. UML Presentation
: Class & Object UML Presentation
روش(Method) : هر شی یکسری رفتار دارد که به آنها متد گفته می شود در واقع پاسخ هایی است که آن شی در قابل تحریکات محیط از خود صادر می کند. UML Presentation ارسال پيامMessage Sending)) : در يک سيستم ، اشيا با هم کار مي کنند . فرستادن پيام به يکديگر. يک شي پيامي را براي اجراي عمليات به شي ديگر مي فرستد، شي گيرنده پيام آن عمليات را اجرامي کند.
ميراثInheritance)) ميراث يکي از جنبه هاي مهم در مفاهيم شي گرايي است . يک شي صفات وعمليات کلاس خودش وهمچنين کلاس ديگري را می تواند به ارث ببرد. UML Presentation
سناریو(Scenario) : یک مجموعه پشت سر هم یا متوالی می باشد که منجر به انجام کار خاصی می گردد. تجريدAbstraction)) صفات و عمليات يک شي را آنقدر از صافي بگذرانيم تا مجموعه اي که مورد نياز است باقي بماند . ديد محدودي است که فقط جنبه هاي خاص مورد نظر در داخل آن آورده مي شوند. اين يک ديد کلي بدون نگاه کردن به جزئيات مي باشد . UML Presentation
چند شکليPolymorphism)) عملیات ها مي توانند نام مشابهي در کلاس هاي متفاوت داشته باشند و هر کلاس عمليات را به شکلي مختلف انجام دهد . (مثال .... ) بطور کلي مي توان گفت که چند شکلي به معناي يک چيز بودن و چند شکل داشتن است . UML Presentation
پنهان سازيEncapsulation)) • اشيا عمليات داخلي خود را از ديد بينندگان خارج از دنياي خود پنهان مي سازند . • پنهان سازي : هر شي بطور مستقل داراي داده ها و فرآيند هاي مورد نياز خود است. • شي ماهيتي تقريبا مستقل از اصل و محيط اطراف خود دارد. • نتيجه پنهان سازي ؟ • نمونه سازی(Instantiation) : • به معنای ایجاد یک شی از یک کلاس است یعنی نمونه ای از آن کلاس که • همان شی می باشد تولید می گردد . • مسئولیت(Responsibility) : • مسئولیت چیزی است که به شی اختصاص داده می شود و سه جنبه دارد : • آنچه که شی راجع به خودش می داند. • کسانی که شی را می شناسند با آن ارتباط دارند. UML Presentation
تناظر يا ارتباطAssociations)) اشيا در بعضي حالات به يکديگر وابسته هستند. ( مثال... ) تناظر يک ارتباط ساختاري بين دو شي است . تناظر " روشن کردن " يک طرفه است . ( مثال... ) يک شي از يک کلاس ممکن است با چند شي از کلاس ديگر متناظر باشد . تجمعAggregation)) نشان دادن وابستگي بين اجزا و کل. تجمع نوع ديگر از تناظر يا ارتباط بين اشيا مي باشد. ترکيب نوع ديگري از تجمع است که درگير يک ارتباط قوي بين شي تجمع با اشياي جزاش مي باشد . UML Presentation
ابزارهای موجود برای طراحی شی گرا : Microsoft Visio UML star Enterprise Architect VP Suite Windows Rational Rose …… UML Presentation
RationalRose UML Presentation Rational Object Oriented Software Engineering
چرا Rational ؟ • مبتنی بودن بر تصویر منجر به کیفیت بالای نرم افزار می شود. • با استفاده از زبان استاندارد متداول (UML) اعضای تیم می توانند ارتباط موثرتری با هم داشته باشند. • امکانات مهندسی معکوس ، توسعه دهندگان را قادر به استفاده از سیستم های شی گرای قبلی می سازد. • مدل ها و کد ، درطول چرخه توسعه هم گام می مانند. UML Presentation
نسخه های مختلف نرم افزار Rose : Rose Modeler : فقط اجازه ایجاد مدل را می دهد و تولیدکد و مهندسی معکوس منتفی است ! Rose Professional : فقط اجازه تولید کد را می دهد. Rose Enterprise : ایجاد مدل، تولید کد و مهندسی معکوس امکان پذیر است. UML Presentation طرح جدید و قدیم :
معرفی محیط رشنال رز : UML Presentation
عناصر اصلی رشنال رز عبارتند از: Standard toolbar: برای تمام دياگرام ها مشترک است و در قسمت بالای پنجره واقع است. Diagram toolbar: که وابسته به پنجره ی دياگرام فعال است و در سمت چپ پنجره ی دياگرام واقع است. Browser: به شما اجازه می دهد تا بصورت يک ساختار درختی دياگرام های موجود و عناصر مدلهايتان را مشاهده کنيد. Diagram window: ساخت و ويرايش دياگرام ها در اين قسمت صورت می پذيرد. Documentation window: به شما اجازه می دهد تا به مدلهايتان مستندات لازم را نيز اضافه نماييد . می توانيد مستنداتتان را در اين قسمت يا در قسمت specification ويرايش نماييد. UML Presentation
Specification: محيط ويرايشی برای اضافه کردن مستندات به مدل. UML Presentation
معرفی نماهای رشنال رز : رشنال رز نماهای زير را برای يک پروژه فراهم می آورد. UML Presentation Usecase view – Logical view – Component view – Deployment view -
UML Presentation چهار ديد متفاوت در طراحي نرم افزار UseCase View دياگرام كاربرد(UseCase Diagram) دياگرام توالي) (Sequence Diagram دياگرام همكاري (Collaboration Diagram) دياگرام فعاليت (Activity Diagram) Logical View دياگرام كلاس (Class Diagram) دياگرام حالت (Statechart Diagram)
Component View • دياگرام اجزا( Component Diagram) • Deployment View • دياگرامپيادهسازي(Deployment Diagram) UML Presentation
نمای مورد استفاده ی سيستم : ( usecase view ) اين نما تشريح رفتار سيستم از ديدگاه کاربر است. فعل وانفعالات متقابل بازيگرها و موردهای استفاده نمايش داده می شود. در اين نما چهار دياگرام زير وجود دارند : UML Presentation - دياگرامهای موردهای استفاده(usecase diagrams) - دياگرامهای توالی(sequence diagrams) - دياگرامهای همکاری (collaboration diagrams) - دياگرامهای فعاليت (activity diagrams)
نمای منطقی سيستم( logical view ): اين نما شامل نيازمندی های عملياتی سيستم می باشد که به کلاسها وارتباط بين آنها می پردازد. اين نما شامل دو دياگرام زيرمی باشد: UML Presentation - دياگرامهای کلاسها (class diagrams) - دياگرامهای حالت (statechart diagrams)
نمای اجزای سيستم: ( component view ) اين نما به سازمان سيستم می پردازد و اطلاعاتی در باره ی نرم افزار، اجزا قابل اجرا و کتابخانه های سيستم دارد. UML Presentation تنها دياگرام موجود در اين قسمت دياگرام اجزا (component diagram)میباشد.
نمای پياده سازی سيستم:( deployment view ) اين قسمت شامل نگاشتی از فرايندهای موجود با سخت افزار سيستم می باشد . UML Presentation اين نما فقط شامل يک دياگرام ( deployment diagram ) می باشد.
معرفی دياگرام های رشنال رز : يک دياگرام يک نمايش گرافيکی از عناصر سيستمتان می باشد. شما در رشنال رز قادر به ايجاد دياگرامهای زير می باشيد : (usecase diagram) دياگرام مورد استفاده (class diagram) دياگرام کلاس (sequence diagram) دياگرام توالی (collaboration diagram) دياگرام همکاری (activity diagram) دياگرام فعاليت (statechart diagram) دياگرام حالت (component diagram) دياگرام اجزا (deployment diagram) دياگرام پياده سازی UML Presentation
دياگرام موردهای استفاده : (usecase diagram) یک usecase رفتار سيستم را توصيف می کند، که شامل تقابل بين سيستم و بازيگران می باشد. نحوه ی برخورد آن با دنيای بيرون را مشخص می کنند. هدف : بدست آوردن نيازمندی ها و نشان دادن چگونگی کارکرد سيستم UML Presentation
: usecase diagram UML Presentation
Diagram Toolbar: UML Presentation
: usecase diagram UML Presentation
: usecase diagram UML Presentation
انواع ارتباطات : UML Presentation این یعنی آخر وابستگی !!
usecase specification: UML Presentation
دياگرام کلاس ها (class diagram): اين دياگرام به شما کمک می کند تا نمای ساختاری سيستم تان را بصورت بصری (visual) در آوريد. جزييات هر کلاس و ارتباطات بين آنها را نشان می دهد. پايه و اساس دياگرامهای اجزا و پياده سازی می باشد. متفاوت زير سروکار داريم: stereotype در يک دياگرام کلاس با کلاسهای با سه نوع boundary - : اجزای لازم برای برقراری ارتباط سيستم با يک بازيگر را در خود دارند . control - : اين کلاسها معمولا اشيا ديگر ورفتارهای تعبيه شده در يک usecase را کنترل می کنند. entity - : اين کلاسها اطلاعاتی را که بايد توسط سيستم ذخيره گردند را د ر خود نگهداری می کنند . UML Presentation
ابزارهاو مشخصات کلاس : UML Presentation Public Protected Private
:class diagram UML Presentation