PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مروری بر uml



Borna66
08-12-2012, 05:20 PM
http://pnu-club.com/imported/2012/08/555.jpg

زبان مدلسازی یکنواخت (UML) یک زبان مجازی است که موجب می شود افرادی که سیستم های شی گرا را تحلیل و طراحی می کنند سیستم های نرم افزاری را ببینند ، بسازند و مستندسازی کنند و سازمان های تجاری را مدلسازی کنند که از این سیستم ها استفاده می نمایند.

شرکت نرم افزاری RSC و گروه مدیریت شی ، سه نمادگذاری اصلی رسم نمودار شی گرا و جنبه هایی از نمادگذاری های متعدد دیگر را کنار هم قرار داد تا یک زبان مدلسازی استاندارد را ایجاد کند که در صنعت توسعه نرم افزار کارآمد است. UML هنوز در حال تکامل به عنوان یک استاندارد است و نسخه 2.0 آن اخیرا تغییر کرده است

Borna66
08-12-2012, 05:20 PM
منشا uml
تکنیک های توسعه نرم افزار شی گرا سه مرحله از تکامل را پشت سر گذاشته است :


1. زبان های برنامه سازی شی گرا ایجاد شدند و مورد استفاده قرار گرفتند.
2. تکنیک های تحلیل و طراحی برای کمک به مدلسازی کسب و کار- تحلیل نیازمندیها و طراحی سیستم های نرم افزاری به وجود آمدند که تعداد این تکنیک ها به سرعت زیاد شده است.
3. Uml طراحی شد تا بهترین ویژگیهای تعدادی از تکنیک های تحلیل و طراحی و نمادگذاری ها را ترکیب کند و یک استاندارد صنعتی را بوجود آورد.

Borna66
08-12-2012, 05:20 PM
uml چیست؟
uml یک زبان ویژوال است که می تواند برای توسعه سیستم های نرم افزاری به کار رود. یک زبان تعیین مشخصات است. واژه "زبان" ممکن است برای افراد گیج کننده باشد. زبانی مثل زبان محاوره انسان نیست، و یک زبان برنامه سازی نیز نیست. اما همچون این دو زبان مجموعه ای از قوانین دارد که چگونگی کاربرد آنرا مشخص می کند.
زبان های برنامه سازی شامل مجموعه ای از عناصر و مجموعه ای از قوانین است که مشخص می کند چگونه می توان آن عناصر را ترکیب کرد تا برنامه های معتبری نوشته شوند. زبان های تعیین مشخصات رسمی مثل uml نیز شامل مجموعه ای از عناصر و مجموعه ای از قوانین است که چگونگی ترکیب عناصر را مشخص می کند. اغلب عناصر uml گرافیکی اند : یعنی شامل خطوط ، چهارگوش ، لوزی و شکل های دیگر است، و اغلب این عناصر گرافیکی با واژه هایی برچسب گذاری می شوند که اطلاعات دیگری را فراهم می کند. اما عناصر گرافیکی uml فقط نمایش گرافیکی از چیزهایی است که باید مدلسازی شود.
. می توان یک مدل uml تولید کرد که فقط از داده های توصیف کننده مدل، تشکیل شده باشد. با این وجود نمایش گرافیکی به افراد کمک می کند مدل یا بخش های مدل را درک کنند. نمایش گرافیکی ، uml را به یک زبان تعیین مشخصات ویژوال (به جای زبان متنی) تبدیل کرده است.

Borna66
08-12-2012, 05:20 PM
سازگاری با UML
قوانین مربوط به چگونگی ترکیب عناصر UML ، در مشخصات UML آمده است. برای سازگاری با UML ، مدل (یا ابزار مدل سازی ایی که برای ساخت مدل های UML به کارمی رود.) باید از نحو انتزاعی (Abstract Syntax)، قوانین خوش فرم (Well Formed) ، معنی ، نماد گذاری و شِمای XMI پیروی کند.
نَحو انتزاعی به صورت نمودار و زبان طبیعی بیان می شود، قوانین خوش فرم به زبان طبیعی و OCL - Object Constraint Language - بیان می شود، معنی با استفاده از زبان طبیعی و اندکی نمودار بیان می شود، نمادگذاری با زبان طبیعی و نمودار، و شِمای XMI با زبان XML بیان می شود. قوانینی که بصورت نمودار بیان می شوند، با استفاده از زیر مجموعه ای از نماد گذاری خود UML مشخص می کنند که چگونه عناصر UML می توانند ترکیب شوند. این، یک ویژگی مهم UML است که نیاز به درک جزییات آن نیست و نامش معماری چهارلایه ایی متا مدل UML است.

Borna66
08-12-2012, 05:21 PM
آن چه که UML نیست
UML یک زبان برنامه سازی نیست. نمی توانید در UML برنامه نویسی کنید. بعضی از ابزارهای مدلسازی می توانند یک مدل UML را دریافت کنند و از آن کد، برنامه را به زبان های مختلف تولید کنند. اما، این چیزی بیشتر از یک محیط کاری است. توسعه دهنده هنوز باید کدی را برای پیاده سازی متدها بنویسد. اما، یکی از اهداف معماری مدل گرا (Model-Driven Architecture) این است که مدل های مستقل از محیط بنویسد و آنرا با پروفایل های محیط های مختلف ترکیب کند تا مدل های وابسته به محیط را تولید نماید که می تواند به کد اجرایی تبدیل گردد.
UML یک ابزار مدلسازی نرم افزار نیست. تعدادی از ابزارهای مدل سازی نرم افزار وجود دارند که استاندارد UML را کمتر یا بیشتر از استاندارد پیاده سازی می کنند، و بخشی از مشخصات UML برای توسعه دهندگان ابزار مدلسازی نرم افزار نوشته شده است تا بتوانند استاندارد را پیاده سازی کنند و مدل ها را با استفاده از شِمای XMI بین کاربردها (Application) مبادله کنند.
UML یک روش (متد) ، متدولوژی یا فرآیند توسعه نرم افزار نیست. نمادگذاری UML می تواند در پروژه هایی به کار گرفته شود که از روش های مختلفی در پردازش توسعه نرم افزار استفاده می کنند و چرخه حیات توسعه سیستم را به فعالیت ها، وظیفه ها، و مراحل مختلف تقسیم می کنند.

Borna66
08-12-2012, 05:21 PM
سامی عناصر UML تمامی عناصر در UML، در مشخصات آن تعریف شده اند. اسامی بعضی از آن ها برای تحلیل گران، طراحان و برنامه نویسانی که درکی از توسعه شی گرا دارند، آشنا است. مثل کلاس، صفت (Attribute) و عملیات (Operation).
چرا از نمودارهای تحلیل و طراحی استفاده می شود؟
افرادی که محصولات را طراحی می کنند، از تصاویر یا نمودارها، برای کمک به فرآیند طراحی بهره می برند. طراحان روش ها، مهندسین، معمارها و تحلیل گران و طراحان سیستم همگی از نمودارها برای ویژوال کردن طرح های خود استفاده می کنند. تحلیل گران و طراحان سیستم، با استفاده از نمودارها، سیستم نرم فزاری خود را ویژوال می کنند. اما نمودارها چه امتیازاتی برای فرآیندهای طراحی ارائه می کنند؟
دو کاربرد مهم نمودارها در طراحی عبارتند از :


1. انتزاعی کردن ویژگی های طراحی
2. نمایش رابطه های بین عناصر طراحی

استفاده از نمودارها برای ساده کردن سیستم ها و نمایش بعضی از ویژگی های کلیدی، انتزاع نام دارد. انتزاع راهکاری است که برای نمایش یک واقعیت پیچیده برحسب واژه های ساده به کمک نوعی مدل، استفاده می کنیم. واژه انتزاع می تواند به محصول این فرآیند نیز اعمال شود. اغلب، اگر انتزاع به طور فیزیکی نمایش داده شود، مثل یک نمودار روی کاغذ یا یک شی فیزیکی، از واژه مدل استفاده خواهیم کرد.
سیستم های کامپیوتری، محصولات پیچیده ایی هستند که از نرم افزارها و سخت افزار ها ساخته شده اند. نمودارها، راهی را برای مدل سازی این سیستم ها، چگونگی سازمان دهی آن ها و چگونگی عملکرد آن ها فراهم می کنند.
رابطه های بین عناصر طراحی را می توان به طور گرافیکی یا متنی نمایش داد.

Borna66
08-12-2012, 05:21 PM
چرا بطور خاص از UML استفاده می شود؟
در یک پروژه توسعه سیستم شی گرا، UML یک زبان مدل سازی مناسب برای تحلیل و طراحی محصول است. برای پروژه هایی که از زبان های رویه ای یا زبان های تابعی استفاده می کنند، وبرای پروژهایی که باید با استفاده از یک بانک اطلاعاتی رابطه ای پیاده سازی شوند، تبدیل مدل سازی در UML به یک پیاده سازی، ممکن است دشوار باشد. اما، کار کردن روی پروفایل هایی که UML را بسط می دهند، یا بر روی متامدل هایی مثل Common Warehouse Metamodel برای مدل سازی انبار داده ها، به معنای این است که استفاده از UML در حال گسترش است.
قویترین علت برای استفاده از UML این است که به عنوان استاندارد بالفعل (de facto) برای مدل سازی شی گرا درآمده است. اگر قرار باشد یک تیم توسعه دهنده ایجاد شود، یا قرار باشد اطلاعات موجود در مدل به فرد دیگری ارسال گردد، UML انتخاب مناسبی است، زیرا برقراری ارتباط بین همکاران را تسهیل می کند.
علت دوم به این حقیقت مربوط می شود که UML یک زبان مدل سازی یکنواخت است. علت سوم استفاده از UML این است که پروفایل های خاصی وجود دارند تا به کاربران کمک کنند که آن ها را برای مسئله خاصی به کار برند، همزمان با آن که پروفایل دیگری نیز در حال توسعه است.

Borna66
08-12-2012, 05:21 PM
فرآیندهای توسعه نرم افزار یکنواخت
UML زبانی برای مشخص کردن سیستم ها به روش رسمی است. توسعه دهندگان UML مشخصاتی از فرآیند توسعه نرم افزار را تولید کردند که چگونگی استفاده از UML را برای توسعه سیستم شرح می دهد. این فرآیند توسعه نرم افزار به عنوان USDP یا فرآیند یکنواخت (Unified Process) خوانده می شود
شرکت Rational که اکنون بخشی از IBM است، نسخه UP مخصوص به خود را تولید کرد که RUP نام دارد. UP در یک کتاب مستند سازی شد در حالی که RUP به یک محصول تبدیل شد و شامل یک وب سایت است که خریداران آن را در سرویس دهنده ایی در سازمان خود نصب می کنند. RUP حاوی توصیف هایی از فرآیند، فعالیت ها، نقش ها و راهنمایی در مورد چگونگی اجرای فرآیند است