UML زبان استاندارد جهانی برای مدلسازی
با كمي اغماض ميتوان ادعا كرد كه در ميان شاخههاي مختلف مهندسي در هركدام كه داراي قدمت بيشتري است، همگرايي بيشتري در اتخاذ روش و ابزار براي انجام اعمال نسبتاً مشابه از ميان متخصصان و متوليان آن رشته وجود دارد. به طور مثال در حال حاضر براي اجراي يك سازه در هر نقطه از دنيا، مهندسين عمران از يك روند همسان با توالي مشابه شامل: الف)توليد طرح عمراني ب)پيادهسازي نقشه ج)محاسبات سازهاي د)اجرا استفاده ميكنند. ولي در رشته نوپايي چون مهندسي نرمافزار، گاه چنان روشها متفاوت است كه از ديد يك ناظر خارجي، دو تيم نرمافزاري مختلف كه هر دو قصد توليد محصولي مشابه را دارند، دو تيم در رشتههاي متفاوت به نظر بيايند. يكي از علل وجود تمايز در توليد نرمافزار ميزان تخصص نيرو و زمان به پيادهسازي ميباشد.بدين معنا كه در نزد بسياري از برنامهنويسان توليد نرمافزار معادل است با توليد كد. ولي از نظر بعضي ديگر توليد كد تنها بخشي از توليد نرمافزار است كه در بسياري از موارد حتي منابع و زمان اختصاص داده شده به آن در طول پروسه توليد نرمافزار كمتر از50% ميباشد.
از يك ديدگاه كلي، پروسه توليد نرمافزار را ميتوان به دو بخش كلي شامل:
الف)تحليل و طراحي ب)پيادهسازي تقسيم كرد.
از ديدگاه دسته اول، برنامهسازان، تحليل و طراحي صرفاً فهم ذهني مساله ميباشد كه دقيقا پس از آن بايستي اقدام به پيادهسازي كرد. در حاليكه در نظر دسته دوم، فاز تحليل و طراحي پر اهميتتر از فاز دوم ميباشد كه بايستي براي انجام آن از متدولوژيها و روشهاي استاندارد استفاده كرد. UML يك زبان مدلسازي ميباشد كه در فاز تحليل و طراحي مورد استفاده قرار ميگيرد.
فرض كنيم قصد داشته باشيم در فاز طراحي يك اتومبيل ميزان موفقيت هوا در مقابل اتومبيل در حال حركت را بسنجيم يكي از راهها براي انجام اين آزمايش، ساخت يك اتومبيل واقعي، راندن و سپس اندازهگيري مقاومت هوا ميباشد كه انجام اينكار اگرچه ما را به هدف ميرساند، ولي داراي هزينه بالاييست چرا كه بايستي ابتدا ماشين ساخته شود، سپس مورد آزمايش قرار گيرد.در اين صورت اگر در آزمايش به نتيجه مورد نظر نرسيم، بايستي دوباره طراحي را تغيير داد، و پس از ساخت يك نمونه واقعي ديگر آزمايش را تكرار كنيم و اين روند آنقدر ادامه پيدا كند تا طراحي مناسب براي اتومبيلي با خصوصيات مورد نظر شكل گيرد. ميبينيم كه چنين روشي بسيار پرهزينه است و اين هزينه هم شامل هزينههاي اقتصادي است و هم هزينههاي زماني، چون علاوه بر اين كه در هر مرحله آزمايش بايستي اتومبيل با صرف هزينه بالا ساخته شود، زمان ساخت آن نيز طول خواهد كشيد.
ولي متخصصان براي انجام چنين آزمايشي به مدل روي ميآورند. يعني يك جسم فيزيكي كوچك با خصوصيات آئروديناميكي لحاظ شده در طراحي اتومبيل، ساخته ميشود و با قرار دادن آن در يك تونل باد، حركت اتومبيل در فضاي واقعي را شبيه سازي ميكنند و بدين طريق ميزان مقاومت هوا را ميسنجند.
نكات مورد توجه در اين مدلسازي، يكي اندازه مدل و ديگري خصوصيات آن ميباشد. مدل بسيار ساده و كوچك ميباشد و از طرفي تنها خصوصيت آئروديناميكي اتومبيل در مدل لحاظ ميشود. چرا كه هدف ما از مدلسازي تنها بررسي خصوصيات آئروديناميكي اتومبيل است و مدل الزاماً نبايستي از جنبههاي ديگر، شباهتي به اتومبيل واقعي داشته باشد. مثلا در ساخت چنين مدلي به هيچوجه به استحكام اجزا و يا زيبايي مدل توجه نميشود چون بررسي چنين خصوصياتي خارج از هدف اين مدلسازي خاص است.
مثال بالا تنها يك جنبه از مدلسازي را بيان ميكند و آن جنبه شناختExploration ميباشد. يعني در مدلسازيهاي مشابه مدلسازي فوقالذكر، هدف از مدلسازي تنها شناخت محيط مورد مدل ميباشد. يك جنبه ديگر از مدلسازي تبيين (specitication) ميباشد. يعني گاه براي معرفي و ارائه خصوصيات يك موجوديت واقعي يك مدل از آن ارائه ميشود. نقشه جغرافيايي مثال خوبي است كه اين جنبه از مدلسازي را مورد نظر دارد.
پس ميتوان گفت كه هدف از مدلسازي دو چيز ميباشد:
الف)شناخت(exploration)
ب)تبيين(specification)
كه بر اساس تعريف مسئله، مدلسازي يكي يا هردو هدف را در نظر ميگيرد.
نكته ديگري كه بايستي در مدلسازي توجه كرد، روش (methodology) ساخت يك مدل ميباشد. در بعضي موارد مدل چيز بسيار سادهاي است و به راحتي ساخته ميشود. ولي در بعضي از موارد مدل خود بسيار پيچيده ميباشد هر چند از نظر منطقي غيرممكن مينمايد ولي ميتوان ادعا كرد كه در بعضي موارد مدل پيچيدهتر از موجوديت واقعي است. زمينهاي كه اين ادعا را در آن مصداق فراوان دارد، نرمافزار ميباشد. بنابراين در شاخهاي از مهندسي كه مدلسازي حائز اهميت فراوان ميباشد قطعا روشهاي استانداردي براي ساختن مدل وجود دارد. در نرمافزار، روشهاي توليد نرمافزار مانند SSAPM ,RUP,USDP, در واقع روشهاي مدلسازي ميباشند. هر روش مدلسازي طبيعتا نيازمند مصالحي براي ساخت مدل ميباشد كه در روشهاي مدلسازي نرمافزاري مصالح لازم براي توليد مدل، زبانهاي مدلسازي ميباشند.
پس از ارائه مفاهيم شيگرائي در ابتداي دهه 80 ميلادي به تدريج روشهاي شيگرائي توليد نرمافزار به وسيله افراد و سازمانهاي مختلف ارائه گرديد. اين روشها در برگيرنده يك مجموعه علائم براي بيان مفاهيم و ايدهها از يك سو و يك طرح كاري براي توليد نرمافزار از سوي ديگر بود كه از مهمترين اين روشها ميتوان به OMT,BOOCH,OOSE…. اشاره كرد.
اگرچه داشتن يك روش استاندارد امري مطلوب است ولي تفاوت روشها امريست طبيعي و با توجه به تفاوت فراوان در نوع مسائل ميتوان گفت كه حتي وجود روشهاي مختلف الزامي است چرا كه مثلا در يك پروژه بسيار بزرگ نميتوان همان روشي را به كار برد كه در يك پروژه كوچك. ولي زبان و مجموعه علائم از چنين قاعدهاي پيروي نميكند و داشتن يك زبان استاندارد امري بسيار مطلوب و از بعضي ديدگاهها حتي الزامي ميباشد. يكي از الزامات مهم در داشتن يك زبان استاندارد همگاني ناشي از نقشي است كه زبان در ارتباطات به عهده دارد. البته چندگونه بودن زبان خود مولد مشكلات متعددي است.
با هدف ارائه يك زبان استاندارد فراگير شركت Rational با گردآوري سه نفر از ارائهكنندگان معتبرترين روشهاي شيگرا يعني Irar jacobson مبدع روش OOSE ,BOOCH مبدع روشي با همين نام، Rambaugh مبدع روش OMT و با اخذ نقاط قدرت سه روش فوقالذكر، يك زبان استاندارد به نامUML ارائه كرد. اين زبان پس از ارائه از سوي (Object Mamgement Group) كه يكي از معتبرترين سازمان جهاني در زمينه شيگرائي ميباشد بعنوان يك استاندارد پذيرفته شد. پس از ارائه اين زبان و پذيرفته شدن آن به عنوان يك استاندارد جهاني در زمينه نرمافزار، علاوه بر پروسه اين زبان و ارائه متولوژيهاي مبتني بر آن مانند usop و rup از سوي افراد و سازمانهاي مختلف، متخصصين در پي يافتن كاربرد اين زبان در زمينههاي ديگر فني بر آمدند. برآيند اين تلاشها در حال حاضر uml را به عنوان قدرتمندترين زبان مدلسازي در دنياي نرمافزار مطرح ساخته است.
منبع: www.world pc.com
/خ
از يك ديدگاه كلي، پروسه توليد نرمافزار را ميتوان به دو بخش كلي شامل:
الف)تحليل و طراحي ب)پيادهسازي تقسيم كرد.
از ديدگاه دسته اول، برنامهسازان، تحليل و طراحي صرفاً فهم ذهني مساله ميباشد كه دقيقا پس از آن بايستي اقدام به پيادهسازي كرد. در حاليكه در نظر دسته دوم، فاز تحليل و طراحي پر اهميتتر از فاز دوم ميباشد كه بايستي براي انجام آن از متدولوژيها و روشهاي استاندارد استفاده كرد. UML يك زبان مدلسازي ميباشد كه در فاز تحليل و طراحي مورد استفاده قرار ميگيرد.
مدلسازي (Modelling) چيست؟
فرض كنيم قصد داشته باشيم در فاز طراحي يك اتومبيل ميزان موفقيت هوا در مقابل اتومبيل در حال حركت را بسنجيم يكي از راهها براي انجام اين آزمايش، ساخت يك اتومبيل واقعي، راندن و سپس اندازهگيري مقاومت هوا ميباشد كه انجام اينكار اگرچه ما را به هدف ميرساند، ولي داراي هزينه بالاييست چرا كه بايستي ابتدا ماشين ساخته شود، سپس مورد آزمايش قرار گيرد.در اين صورت اگر در آزمايش به نتيجه مورد نظر نرسيم، بايستي دوباره طراحي را تغيير داد، و پس از ساخت يك نمونه واقعي ديگر آزمايش را تكرار كنيم و اين روند آنقدر ادامه پيدا كند تا طراحي مناسب براي اتومبيلي با خصوصيات مورد نظر شكل گيرد. ميبينيم كه چنين روشي بسيار پرهزينه است و اين هزينه هم شامل هزينههاي اقتصادي است و هم هزينههاي زماني، چون علاوه بر اين كه در هر مرحله آزمايش بايستي اتومبيل با صرف هزينه بالا ساخته شود، زمان ساخت آن نيز طول خواهد كشيد.
ولي متخصصان براي انجام چنين آزمايشي به مدل روي ميآورند. يعني يك جسم فيزيكي كوچك با خصوصيات آئروديناميكي لحاظ شده در طراحي اتومبيل، ساخته ميشود و با قرار دادن آن در يك تونل باد، حركت اتومبيل در فضاي واقعي را شبيه سازي ميكنند و بدين طريق ميزان مقاومت هوا را ميسنجند.
نكات مورد توجه در اين مدلسازي، يكي اندازه مدل و ديگري خصوصيات آن ميباشد. مدل بسيار ساده و كوچك ميباشد و از طرفي تنها خصوصيت آئروديناميكي اتومبيل در مدل لحاظ ميشود. چرا كه هدف ما از مدلسازي تنها بررسي خصوصيات آئروديناميكي اتومبيل است و مدل الزاماً نبايستي از جنبههاي ديگر، شباهتي به اتومبيل واقعي داشته باشد. مثلا در ساخت چنين مدلي به هيچوجه به استحكام اجزا و يا زيبايي مدل توجه نميشود چون بررسي چنين خصوصياتي خارج از هدف اين مدلسازي خاص است.
مثال بالا تنها يك جنبه از مدلسازي را بيان ميكند و آن جنبه شناختExploration ميباشد. يعني در مدلسازيهاي مشابه مدلسازي فوقالذكر، هدف از مدلسازي تنها شناخت محيط مورد مدل ميباشد. يك جنبه ديگر از مدلسازي تبيين (specitication) ميباشد. يعني گاه براي معرفي و ارائه خصوصيات يك موجوديت واقعي يك مدل از آن ارائه ميشود. نقشه جغرافيايي مثال خوبي است كه اين جنبه از مدلسازي را مورد نظر دارد.
پس ميتوان گفت كه هدف از مدلسازي دو چيز ميباشد:
الف)شناخت(exploration)
ب)تبيين(specification)
كه بر اساس تعريف مسئله، مدلسازي يكي يا هردو هدف را در نظر ميگيرد.
نكته ديگري كه بايستي در مدلسازي توجه كرد، روش (methodology) ساخت يك مدل ميباشد. در بعضي موارد مدل چيز بسيار سادهاي است و به راحتي ساخته ميشود. ولي در بعضي از موارد مدل خود بسيار پيچيده ميباشد هر چند از نظر منطقي غيرممكن مينمايد ولي ميتوان ادعا كرد كه در بعضي موارد مدل پيچيدهتر از موجوديت واقعي است. زمينهاي كه اين ادعا را در آن مصداق فراوان دارد، نرمافزار ميباشد. بنابراين در شاخهاي از مهندسي كه مدلسازي حائز اهميت فراوان ميباشد قطعا روشهاي استانداردي براي ساختن مدل وجود دارد. در نرمافزار، روشهاي توليد نرمافزار مانند SSAPM ,RUP,USDP, در واقع روشهاي مدلسازي ميباشند. هر روش مدلسازي طبيعتا نيازمند مصالحي براي ساخت مدل ميباشد كه در روشهاي مدلسازي نرمافزاري مصالح لازم براي توليد مدل، زبانهاي مدلسازي ميباشند.
UML چيست؟
پس از ارائه مفاهيم شيگرائي در ابتداي دهه 80 ميلادي به تدريج روشهاي شيگرائي توليد نرمافزار به وسيله افراد و سازمانهاي مختلف ارائه گرديد. اين روشها در برگيرنده يك مجموعه علائم براي بيان مفاهيم و ايدهها از يك سو و يك طرح كاري براي توليد نرمافزار از سوي ديگر بود كه از مهمترين اين روشها ميتوان به OMT,BOOCH,OOSE…. اشاره كرد.
اگرچه داشتن يك روش استاندارد امري مطلوب است ولي تفاوت روشها امريست طبيعي و با توجه به تفاوت فراوان در نوع مسائل ميتوان گفت كه حتي وجود روشهاي مختلف الزامي است چرا كه مثلا در يك پروژه بسيار بزرگ نميتوان همان روشي را به كار برد كه در يك پروژه كوچك. ولي زبان و مجموعه علائم از چنين قاعدهاي پيروي نميكند و داشتن يك زبان استاندارد امري بسيار مطلوب و از بعضي ديدگاهها حتي الزامي ميباشد. يكي از الزامات مهم در داشتن يك زبان استاندارد همگاني ناشي از نقشي است كه زبان در ارتباطات به عهده دارد. البته چندگونه بودن زبان خود مولد مشكلات متعددي است.
با هدف ارائه يك زبان استاندارد فراگير شركت Rational با گردآوري سه نفر از ارائهكنندگان معتبرترين روشهاي شيگرا يعني Irar jacobson مبدع روش OOSE ,BOOCH مبدع روشي با همين نام، Rambaugh مبدع روش OMT و با اخذ نقاط قدرت سه روش فوقالذكر، يك زبان استاندارد به نامUML ارائه كرد. اين زبان پس از ارائه از سوي (Object Mamgement Group) كه يكي از معتبرترين سازمان جهاني در زمينه شيگرائي ميباشد بعنوان يك استاندارد پذيرفته شد. پس از ارائه اين زبان و پذيرفته شدن آن به عنوان يك استاندارد جهاني در زمينه نرمافزار، علاوه بر پروسه اين زبان و ارائه متولوژيهاي مبتني بر آن مانند usop و rup از سوي افراد و سازمانهاي مختلف، متخصصين در پي يافتن كاربرد اين زبان در زمينههاي ديگر فني بر آمدند. برآيند اين تلاشها در حال حاضر uml را به عنوان قدرتمندترين زبان مدلسازي در دنياي نرمافزار مطرح ساخته است.
منبع: www.world pc.com
/خ