![]() |
![]() |
|
| آموزش طراحی وب سایت دینامیک |
|
UML زبان استاندارد جهانی برای مدل سازی
با كمی اغماض میتوان ادعا كرد كه در ميان شاخههای مختلف مهندسی در هركدام كه دارای قدمت بيشتری است، همگرايی بيشتری در اتخاذ روش و ابزار برای انجام اعمال نسبتاً مشابه از ميان متخصصان و متوليان آن رشته وجود دارد. به طور مثال در حال حاضر برای اجرای يك سازه در هر نقطه از دنيا، مهندسين عمران از يك روند همسان با توالی مشابه شامل: الف)توليد طرح عمرانی ب)پيادهسازی نقشه ج)محاسبات سازهای د)اجرا استفاده میكنند. ولی در رشته نوپايی چون مهندسی نرمافزار، گاه چنان روشها متفاوت است كه از ديد يك ناظر خارجی، دو تيم نرمافزاری مختلف كه هر دو قصد توليد محصولی مشابه را دارند، دو تيم در رشتههای متفاوت به نظر بيايند. يكی از علل وجود تمايز در توليد نرمافزار ميزان تخصص نيرو و زمان به پيادهسازی میباشد.بدين معنا كه در نزد بسياری از برنامهنويسان توليد نرمافزار معادل است با توليد كد. ولی از نظر بعضی ديگر توليد كد تنها بخشی از توليد نرمافزار است كه در بسياری از موارد حتی منابع و زمان. اختصاص داده شده به آن در طول پروسه.توليد نرمافزار كمتر از50% میباشد. از يك ديدگاه كلی، پروسه توليد نرمافزار را میتوان به دو بخش كلی شامل: الف)تحليل و طراحی ب)پيادهسازی تقسيم كرد. از ديدگاه دسته اول، برنامهسازان، تحليل و طراحی صرفاً فهم ذهنی مساله میباشد كه دقيقا پس از آن بايستی اقدام به پيادهسازی كرد. در حاليكه در نظر دسته دوم، فاز تحليل و طراحی پر اهميتتر از فاز دوم میباشد كه بايستی برای انجام آن از متدولوژیها و روشهای استاندارد استفاده كرد. UML يك زبان مدلسازی میباشد كه در فاز تحليل و طراحی مورد استفاده قرار میگيرد. مدلسازی (Modelling) چيست؟ مدلسازی يكی از تكنيكهای ذهنی بشر میباشد كه نه تنها برای اهداف علمی، بلكه برای انجام امور روزمره بشر به دفعات مورد استفاده قرار میگيرد. مدلسازی به طور كلی يعنی شبيهسازی يك محيط با اندازههای متفاوت و از محيط واقعی و احتمالا مواد و مصالحی متمايز از جنس مواد و مصالح محيط مدل شده. در مدلسازی ابتدا اجزای محيط واقعی انتخاب شده و متناسب با هدف مورد نظر از مدلسازی خصوصياتی از هريك از اجزای واقعی انتزاع میشود، يعنی به ازای هزيك از اجزای محيط واقعی يك موجوديت تجريدی ساخته میشود و با برقراری ارتباطی مشابه با ارتباط اجزای واقعی، در ميان موجوديتهای تجريدی، محيط واقعی مدل میشود. برای روشن شدن مثالی میزنيم: فرض كنيم قصد داشته باشيم در فاز طراحی يك اتومبيل ميزان موفقيت هوا در مقابل اتومبيل در حال حركت را بسنجيم يكی از راهها برای انجام اين آزمايش، ساخت يك اتومبيل واقعی، راندن و سپس اندازهگيری مقاومت هوا میباشد كه انجام اينكار اگرچه ما را به هدف میرساند، ولی دارای هزينه بالاييست چرا كه بايستی ابتدا ماشين ساخته شود، سپس مورد آزمايش قرار گيرد.در اين صورت اگر در آزمايش به نتيجه مورد نظر نرسيم، بايستی دوباره طراحی را تغيير داد، و پس از ساخت يك نمونه واقعی ديگر آزمايش را تكرار كنيم و اين روند آنقدر ادامه پيدا كند تا طراحی مناسب برای اتومبيلی با خصوصيات مورد نظر شكل گيرد. میبينيم كه چنين روشی بسيار پرهزينه است و اين هزينه هم شامل هزينههای اقتصادی است و هم هزينههای زمانی، چون علاوه بر اين كه در هر مرحله آزمايش بايستی اتومبيل با صرف هزينه بالا ساخته شود، زمان ساخت آن نيز طول خواهد كشيد. ولی متخصصان برای انجام چنين آزمايشی به مدل روی میآورند. يعنی يك جسم فيزيكی كوچك با خصوصيات آئروديناميكی لحاظ شده در طراحی اتومبيل، ساخته میشود و با قرار دادن آن در يك تونل باد، حركت اتومبيل در فضای واقعی را شبيه سازی میكنند و بدين طريق ميزان مقاومت هوا را میسنجند. نكات مورد توجه در اين مدلسازی، يكی اندازه مدل و ديگری خصوصيات آن میباشد. مدل بسيار ساده و كوچك میباشد و از طرفی تنها خصوصيت آئروديناميكی اتومبيل در مدل لحاظ میشود. چرا كه هدف ما از مدلسازی تنها بررسی خصوصيات آئروديناميكی اتومبيل است و مدل الزاماً نبايستی از جنبههای ديگر، شباهتی به اتومبيل واقعی داشته باشد. مثلا در ساخت چنين مدلی به هيچوجه به استحكام اجزا و يا زيبايی مدل توجه نمیشود چون بررسی چنين خصوصياتی خارج از هدف اين مدلسازی خاص است. مثال بالاتنها يك جنبه از مدلسازی را بيان میكند و آن جنبه شناختExploration میباشد. يعنی در مدلسازیهای مشابه مدلسازی فوقالذكر، هدف از مدلسازی تنها شناخت محيط مورد مدل میباشد. يك جنبه ديگر از مدلسازی تبيين (specitication) میباشد. يعنی گاه برای معرفی و ارائه خصوصيات يك موجوديت واقعی يك مدل از آن ارائه میشود. نقشه جغرافيايی مثال خوبی است كه اين جنبه از مدلسازی را مورد نظر دارد. پس میتوان گفت كه هدف از مدلسازی دو چيز میباشد: الف)شناخت(exploration) ب)تبيين(specification) كه بر اساس تعريف مسئله، مدلسازی يكی يا هردو هدف را در نظر میگيرد. نكته ديگری كه بايستی در مدلسازی توجه كرد، روش (methodo logy) ساخت يك مدل میباشد. در بعضی موارد مدل چيز بسيار سادهای است و به راحتی ساخته میشود. ولی در بعضی از موارد مدل خود بسيار پيچيده میباشد هر چند از نظر منطقی غيرممكن مینمايد ولی میتوان ادعا كرد كه در بعضی موارد مدل پيچيدهتر از موجوديت واقعی است. زمينهای كه اين ادعا را در آن مصداق فراوان دارد، نرمافزار میباشد. بنابراين در شاخهای از مهندسی كه مدلسازی حائز اهميت فراوان میباشد قطعا روشهای استانداردی برای ساختن مدل وجود دارد. در نرمافزار، روشهای توليد نرمافزار مانند SSAPM ,RUP,USDP, در واقع روشهای مدلسازی میباشند. هر روش مدلسازی طبيعتا نيازمند مصالحی برای ساخت مدل میباشد كه در روشهای مدلسازی نرمافزاری مصالح لازم برای توليد مدل، زبانهای مدلسازی میباشند. UML چيست؟ Unified Modelling Language يك زبان مدلسازی است كه درسال 1995 به وسيله شركت Rational معرفی شد. UML يك زبان شیگراست يعنی اجزا اين زبان متناسب با مفاهيم به كاررفته و پارادايم شیگرائی طراحی شدهاند. پس از ارائه مفاهيم شیگرائی در ابتدای دهه 80 ميلادی به تدريج روشهای شیگرائی توليد نرمافزار به وسيله افراد و سازمانهای مختلف ارائه گرديد. اين روشها در برگيرنده يك مجموعه علائم برای بيان مفاهيم و ايدهها از يك سو و يك طرح كاری برای توليد نرمافزار از سوی ديگر بود كه از مهمترين اين روشها میتوان به OMT,BOOCH,OOSE…. اشاره كرد. اگرچه داشتن يك روش استاندارد امری مطلوب است ولی تفاوت روشها امريست طبيعی و با توجه به تفاوت فراوان در نوع مسائل میتوان گفت كه حتی وجود روشهای مختلف الزامی است چرا كه مثلا در يك پروژه بسيار بزرگ نمیتوان همان روشی را به كار برد كه در يك پروژه كوچك. ولی زبان و مجموعه علائم از چنين قاعدهای پيروی نمیكند و داشتن يك زبان استاندارد امری بسيار مطلوب و از بعضی ديدگاهها حتی الزامی میباشد. يكی از الزامات مهم در داشتن يك زبان استاندارد همگانی ناشی از نقشی است كه زبان در ارتباطات به عهده دارد. البته چندگونهبودن زبان خود مولد مشكلات متعددی است. با هدف ارائه يك زبان استاندارد فراگير شركت Rational با گردآوری سه نفر از ارائهكنندگان معتبرترين روشهای شیگرا يعنی Irar jacobson مبدع روش OOSE ,BOOCH مبدع روشی با همين نام، Rambaugh مبدع روش OMT و با اخذ نقاط قدرت سه روش فوقالذكر، يك زبان استاندارد به نامUML ارائه كرد. اين زبان پس از ارائه از سوی (Object Mamgement Group) كه يكی از معتبرترين سازمان جهانی در زمينه شیگرائی میباشد بعنوان يك استاندارد پذيرفته شد. پس از ارائه اين زبان و پذيرفته شدن آن به عنوان يك استاندارد جهانی در زمينه نرمافزار، علاوه پروسه اين زبان و ارائه متولوژیهای مبتنی بر آن مانند usop و rup از سوی افراد و سازمانهای مختلف، متخصصين در پی يافتن كاربرد اين زبان در زمينههای ديگر فنی و مخصوصی بر آمدند. برآيند اين تلاشها در حال حاضر uml را به عنوان قدرتمندترين زبان مدلسازی در دنيای نرمافزار مطرح ساخته است. CCW Magazine |
|
+ نوشته شده در
دوشنبه سی و یکم فروردین 1388ساعت 10:20 توسط حمید رضا حباب |
|
آشنایی با مفهوم Uml(قسمت اول)
|
1. تكامل :زبان مدل های متحد (UML) زبانی برای معین كردن ، به تصویر كشیدن ، ساختن و مستند كردن محصولات سیستم های نرم افزاری ، سیستم های تجاری و سایر سیستم های غیر نرم افزاری است. UML برای نشان دادن یك همكاری عالی مهندسی علمی كه موفقیت آنها در مدل های سیستم های بزرگ و كامل ثابت شده است می باشد.
تعاریف UML عبارتند از :: (Semantics) UML معنای تركیب توصیفات و معنایی UML را تعریف می كند .UML را می توان از لایه های معماری شده و سازمان داده شده درست شده و میان هر بسته ، عناصر مدل را در دوره هایی كه از تركیب انتزاعی خودش ( با استفاده از توضیحات دیاكرام كلاس ) ، نقش فرم های صحیح ( استفاده از متن و توضیح زبان ساختار ) و معناها ( با استفاده از متن های دقیق ) تعریف نمود . و شامل دو ضمیمه : عناصر استاندارد و فهرست لغات UML می باشد.
1.1 معنی برای بینندگان :
این مستند شده از مجموعه معناهای اولیه جامع و خود مركب كه تعریف شده از معنا ها و یاداشت های UML است می باشد . اولین ملاقات از این مدارك مجموعه مركب از گروه مدیریت اشیاء ، سازمان دهی استاندارد ها ، نویسندگان كتاب ، فرهیختار و ابزار سازنده است .
نویشندگان آشنایی با آنالیز شئی گرا و طراحی متد ها را به عهده دارند .این مستندات ،برای متن های وابسته به مقدمه روی مدلهای اشیاء برای سیستم های پیچیده نوشته نشده اگر چه آنها می توانند در اتصال با مواد یا یا آموزش استفاده شوند. این مجموعه از مستندات بیشتر نیتشان در ضمیمه های اضافی كتاب ها ، دوره های آموزشی ، و ابزار مناسب در دسترسی به UML بكار می رود.
3. هدف UML اولین اهداف در طراحی UML عبارت بودند از :
اگر استانداردهای انحصاری تهیه كنندگان به صورت meta-meta-description كه نیاز به تصیحح برای یك مجموعه خاص از مفهومهای مدل ، كه نمی خواهند به مقاصدی دست یابند كه كاربران اجازه تغییرات مدل بدون گم شدن اطلاعات یا كارهای بیش از حد به نقشه های مدل خودشان برای هر فرم جداگانه را تحمیل كنند.
UML محكم سازی یك مجموعه از مفهومهای درونی و اصلی مدل را كه عموما در سراسر متد ها و ابزار های مدل در حال جریان را به عهده دارد. این مفهومها در چندین یا بیشتر برنامه های كاربردی نیاز است .اگر چه هر مفهومی نیازمند هر فسمت از هر برنامه كاربردی نیست . ویژگی مفاهیم یك فرمت meta-meta-level برای كاربران مدل كافی نیست ، زیرا مفاهیم باید از مدل های واقعی رخدادی ، محكم ساخته شده باشند. اگر مفاهیم در چندین منطقه برنامه كاربردی چندین اساس را دار بودند سپس این قبیل قدرت كار كردن نزدیك تری دارند ، اما اساس داخلی یك مفهوم نیازمند بیشترین مناطق استفاده كه شبیه و دلیلی برای پشتیبانی مستقیم با استاندارد بدون نیاز به لایه های دیگر هستند .
هسته های مفهومی برای اینكه موفق باشند نمی بایست تغییرات داشته باشند . كاربرانی نیاز دارند كه توانایی های همچون زیر را داشته باشند .
وجود استقلال از زبان های برنامه نویسی خاص و گسترش پردازش .UML باید و بتواند از همه زبانهای مستدل برنامه نویسی پشتیبانی نماید .آن همچنین باید و بتواند از متد ها و پردازش های گوناگون مدل های ساخته شده پشتیبانی نماید . UML بدون هیچ اشكالی می تواند از چندن زبان برنامه نویسی و متد های در حال گسترش پشتیبانی نماید .
استفاده از ریاضی سطح پایین غیر صمیمی از دامنه مدل ها ، به طوری كه مجموعه ای از یاداشت های تئوری ، یا تعاریف موثرآن برای برنامه نویسی یك پیاده سازی یكسان باشد. UML یك معنی عادی را از یك فرمت ساكن از مدل استفاده شده در MetaModelكه در دیاگرامهای كلاس UML بیان شده آماده می كند .این قرار داد قابل دسترس پذیرفته شده ، محبوب و وسیع است كه برای فرمت های خاص از یك مدل و راهنمایی مستقیم برای پیادسازی فرمت های تغییر یافته می باشد .
UML اجبارا تركیبی خوب در زبان های جامع طبیعی به اضافه اشیاء زبان را بیان می كند .UML معانی قابل استفاده كه بیشتر در نهاد زبان مختصر و مفید است را بیان می كند. یك قرارداد نزدیكی كامل به زبان های خاص دارد به طوری كه Algol-68 به اندازه كافی به این مقصود نزدیك نبود
4 . میدان دید در UML :زبان مدل متحد (UML) زبانی خاص ، ساخت یافته ، متجسم و مستند كه محصولی از سیستم نرم افزاری متمركز می باشد است .
دومین جلو برنده زبان های متحد مدل پوششی است كه می توانند با متد های موجود صورت پذیرد..برای مثال ،هدف نویسندگان UML مدلسازی همزمان سیستم های توزیع شده، برای مجاب كردن آدرسدهی كافی UML در دامنه های خودش است .
این توسعه ها عبارتند از :• آمادگی كافی معنی شناسی و نماد ها برای آدرسهای وسیع مركب از موضوعات مدل های همزمان در یك هدایت و سبك اقتصادی .
• آمادگی كافی معنی شناسی برای همانند سازی آدرس مورد انتظار مدل های نمونه آینده ، وابستگی ویژه برای تكنولوژی اجزاء ، محاسبه بدنه توزیع شده ، و اجرا پذیری .
• آمادگی مكانیسم توسعه پذیری به طوری كه یك پروژه مستقل بتواند MetaModel را برای كاربرد ها به سوی ارزش پایین گسترش دهد . ما نمی خواهیم كه كاربران نیاز داشته باشند كه خودشان را با UML MetaModel وقف دهند.
• آمادگی مكانیسم توسعه پذیری به طوری در آینده ، مدل های های در حال رشد به UML نزدیك باشند .
• آمادگی كافی معنی شناسی برای كمك كردن مدل در حال تفییر در میان انواع گوناگون از ابزار .
• آمادگی كافی معنی شناسی برای واسطه های معین در برابر مخازن برای تقسیم بندی و ذخیره سازی محصولات مدل.
اولین محصولات UML 3.1 :چه چیزهایی محصولات اولیه UML هستند ؟ این پاسخ می تواند دو جنبه مختلف داشته باشد . UML خودش و آن چیزهای كه محصولات پروژه ها استفاده می كنند را تعریف می نماید.
تعاریف محصولات UML 3.1.1 :اولین درك ، از محصولاتی است كه خودشان زبان مدل متحد را تشكیل داده اند ، این سند شامل مجموعه از معناها UML ،راهنمای یاداشت های UML ، و مستندات الحاقات UML ، به اضافه ضمایم است. بعضی از این مفاهیم در زیر آمده است . در اضافه این مستندات ، كتاب ها تدابیری كانونی برای درك ، مثال ها و اصطلاحات كاربردی عمومی ما هستند .
مفاهیم UML :مدارك مفاهیم UML زبان تعریف استفاده از سه عبارت را بیان می كند :تركیب انتزاعی دیاگرام كلاس های UML ،MetaModel های UML كه مفاهیم (MetaModel) ، ارتباطات ، و خود كنترل ها را نشان می دهد. كه مفاهیم شامل شده را بیان می كند.
قواعد فرم بندی خوب قواعد و خود كنترل كننده ها روی یك مدل صحیح تعریف می شوند ، قواعد ، توضیح به نثر درآمده انگلیسی و در یك زبان خود كنترل شئی(OCL) دقیق و مختصرشده است.OCL یك زبان ویژه كه منطقا ساده برای خواص یكسان معین از سیستم های كه شامل مجموعه ها و ارتباطات بین مجموعه ها است . یك متا مدل (MetaModel) زبانی برای مدلهای معین ، و در قالب یك شئی مدل است . در كلمات دیگر مدلی برای مدل عناصر است . مقصود UML از متا مدل آماده سازی یك فرد ، عموم ، و تعریف توضیح از علم نحو و مفاهیم عناصر UML است . پیش از این متا مدل هایی ساخته شده بودند كه امكانی برای گسترش ترتیب روی مفاهیم غیر زوج از نمونه مفاهیم كه آن مفاهیم می خواهند بهترین منتقل كننده باشند را دارا بود.
اضافا ، متامدل برای به وجود آوردن امكان برای تیم هایی كه كاوش راه ها را در به وسیله زبان های مدل خیلی ساده، در كنار مفاد، عناصر یكی شده ، از زبان مدل متحد ساخته شده، بود ( برای مثال ، عموما میان مفاهیم كلاس ، الگو ها ، و قالب های مورد اسبفاده را پوشش می داد ) . نویسندگان انتظار دارند شخصا این متا مدل زوج بیشتر توصیفات جامع را توضیح دهند . استفاده از این مفاهیم تكنیكی قراردادی است .
یاداشت های راهنمای UML :راهنمای یاداشت های UML ، یاداشت ها UML و مثال های آماده آن را توضیح می دهد . یاداشت های گرافیكی و تركیب متنی بیشتر برای قسمت های قابل دید UML ( از دید خارجی ) كه افراد و ابزار ها سیستم مدل استفاده می كند است . اینها نشان دهنده سطح مدل كاربر ، كه كدام مفاهیم نمونه ای از متا مدل در UML است را بیان می كند. انواع دیاگرام استاندارد در قسمت 4.1.2 در پایین لیست شده اند . یاداشت های راهنما همچنین خلاصه ای از مفاهیم UMLهستند ; به هر حال مفاهیم مستندات UML محتوی تعاریف است..
الحاقات UML :الحاقات تعریف شده توسط كاربران در UML قادرند در سرتا سر قالب ها ، مقادیر ضمیمه و خود كنترل استفاده شوند .
دو نوع الحاق در حال جریان به صورت زیر تعریف می شوند.
در مراحلی كه برای كاهش عوامل اشتباه زا اطرافیك فروشندهپیادهساز در دوره های متناوب تعریف می شود كه دوره های آن عبارت است از :
بر گرفته از سایت اینترنتی رشد | |
|
+ نوشته شده در
سه شنبه بیست و هفتم اسفند 1387ساعت 10:53 توسط حمید رضا حباب |
|
|
صفحه نخست پست الکترونیک آرشیو عناوین مطالب وبلاگ |
| درباره وبلاگ |
|
| نوشته های پیشین |
|
آذر 1388 مهر 1388 مرداد 1388 خرداد 1388 اردیبهشت 1388 فروردین 1388 اسفند 1387 تیر 1387 |
| نویسندگان |
|
حمید رضا حباب امیر حسین طهرانی مجتبی موحدیان |
|
RSS
|