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 را به عنوان قدرتمندترین زبان مدلسازی در دنیای نرمافزار مطرح ساخته است.

  
نویسنده : ali gooliof ; ساعت ٤:٠٥ ‎ب.ظ روز ۱۳۸٧/٢/٢
تگ ها :