فرمت فایل: word(قابل ویرایش)تعداد صفحات71
مقدمه:
با کمی اغماض میتوان ادعا کرد که در میان شاخههای مختلف مهندسی در هرکدام که دارای قدمت بیشتری است، همگرایی بیشتری در اتخاذ روش و ابزار برای انجام اعمال نسبتاً مشابه از میان متخصصان و متولیان آن رشته وجود دارد. به طور مثال در حال حاضر برای اجرای یک سازه در هر نقطه از دنیا، مهندسین عمران از یک روند همسان با توالی مشابه شامل: الف)تولید طرح عمرانی ب)پیادهسازی نقشه ج)محاسبات سازهای د)اجرا استفاده میکنند. ولی در رشته نوپایی چون مهندسی نرمافزار، گاه چنان روشها متفاوت است که از دید یک ناظر خارجی، دو تیم نرمافزاری مختلف که هر دو قصد تولید محصولی مشابه را دارند، دو تیم در رشتههای متفاوت به نظر بیایند. یکی از علل وجود تمایز در تولید نرمافزار میزان تخصص نیرو و زمان به پیادهسازی میباشد.بدین معنا که در نزد بسیاری از برنامهنویسان تولید نرمافزار معادل است با تولید کد. ولی از نظر بعضی دیگر تولید کد تنها بخشی از تولید نرمافزار است که در بسیاری از موارد حتی منابع و زمان. اختصاص داده شده به آن در طول پروسه.تولید نرمافزار کمتر از50% میباشد.
از یک دیدگاه کلی، پروسه تولید نرمافزار را میتوان به دو بخش کلی شامل:
الف)تحلیل و طراحی ب)پیادهسازی تقسیم کرد. از دیدگاه دسته اول، برنامهسازان، تحلیل و طراحی صرفاً فهم ذهنی مساله میباشد که دقیقا پس از آن بایستی اقدام به پیادهسازی کرد. در حالیکه در نظر دسته دوم، فاز تحلیل و طراحی پر اهمیتتر از فاز دوم میباشد که بایستی برای انجام آن از متدولوژیها و روشهای استاندارد استفاده کرد. UML یک زبان مدلسازی میباشد که در فاز تحلیل و طراحی مورد استفاده قرار میگیرد.
مدلسازی (Modeling) چیست؟
مدلسازی یکی از تکنیکهای ذهنی بشر میباشد که نه تنها برای اهداف علمی، بلکه برای انجام امور روزمره بشر به دفعات مورد استفاده قرار میگیرد. مدلسازی به طور کلی یعنی شبیهسازی یک محیط با اندازههای متفاوت و از محیط واقعی و احتمالا مواد و مصالحی متمایز از جنس مواد و مصالح محیط مدل شده. در مدلسازی ابتدا اجزای محیط واقعی انتخاب شده و متناسب با هدف مورد نظر از مدلسازی خصوصیاتی از هریک از اجزای واقعی انتزاع میشود، یعنی به ازای هزیک از اجزای محیط واقعی یک موجودیت تجریدی ساخته میشود و با برقراری ارتباطی مشابه با ارتباط اجزای واقعی، در میان موجودیتهای تجریدی، محیط واقعی مدل میشود. برای روشن شدن مثالی میزنیم:
فرض کنیم قصد داشته باشیم در فاز طراحی یک اتومبیل میزان موفقیت هوا در مقابل اتومبیل در حال حرکت را بسنجیم یکی از راهها برای انجام این آزمایش، ساخت یک اتومبیل واقعی، راندن و سپس اندازهگیری مقاومت هوا میباشد که انجام اینکار اگرچه ما را به هدف میرساند، ولی دارای هزینه بالاییست چرا که بایستی ابتدا ماشین ساخته شود، سپس مورد آزمایش قرار گیرد.در این صورت اگر در آزمایش به نتیجه مورد نظر نرسیم، بایستی دوباره طراحی را تغییر داد، و پس از ساخت یک نمونه واقعی دیگر آزمایش را تکرار کنیم و این روند آنقدر ادامه پیدا کند تا طراحی مناسب برای اتومبیلی با خصوصیات مورد نظر شکل گیرد. میبینیم که چنین روشی بسیار پرهزینه است و این هزینه هم شامل هزینههای اقتصادی است و هم هزینههای زمانی، چون علاوه بر این که در هر مرحله آزمایش بایستی اتومبیل با صرف هزینه بالا ساخته شود، زمان ساخت آن نیز طول خواهد کشید.
ولی متخصصان برای انجام چنین آزمایشی به مدل روی میآورند. یعنی یک جسم فیزیکی کوچک با خصوصیات آئرودینامیکی لحاظ شده در طراحی اتومبیل، ساخته میشود و با قرار دادن آن در یک تونل باد، حرکت اتومبیل در فضای واقعی را شبیه سازی میکنند و بدین طریق میزان مقاومت هوا را میسنجند.
نکات مورد توجه در این مدلسازی، یکی اندازه مدل و دیگری خصوصیات آن میباشد. مدل بسیار ساده و کوچک میباشد و از طرفی تنها خصوصیت آئرودینامیکی اتومبیل در مدل لحاظ میشود. چرا که هدف ما از مدلسازی تنها بررسی خصوصیات آئرودینامیکی اتومبیل است و مدل الزاماً نبایستی از جنبههای دیگر، شباهتی به اتومبیل واقعی داشته باشد. مثلا در ساخت چنین مدلی به هیچوجه به استحکام اجزا و یا زیبایی مدل توجه نمیشود چون بررسی چنین خصوصیاتی خارج از هدف این مدلسازی خاص است.
مثال بالاتنها یک جنبه از مدلسازی را بیان میکند و آن جنبه شناختExploration میباشد. یعنی در مدلسازیهای مشابه مدلسازی فوقالذکر، هدف از مدلسازی تنها شناخت محیط مورد مدل میباشد. یک جنبه دیگر از مدلسازی تبیین (specification) میباشد. یعنی گاه برای معرفی و ارائه خصوصیات یک موجودیت واقعی یک مدل از آن ارائه میشود. نقشه جغرافیایی مثال خوبی است که این جنبه از مدلسازی را مورد نظر دارد.
تحقیق کامل UML