موضوع مقاله :

UML در طراحی سایت چه کاربردی دارد

چکیده :

UML در طراحی سایت چه کاربردی دارد


شرح : ایجاد یك مدل برای سیستمهای نرم افزاری قبل از ساخت یا بازساخت آن، به اندازه داشتن نقشه برای ساختن یك ساختمان ضروری و حیاتی است. بسیاری از شاخه های مهندسی، توصیف چگونگی محصولاتی كه باید ساخته شوند را ترسیم می كنند و همچنین دقت زیادی می كنند كه محصولاتشان طبق این مدلها و توصیفها ساخته شوند. مدلهای خوب و دقیق در برقراری یك ارتباط كامل بین افراد پروژه، نقش زیادی می توانند داشته باشند. شاید علت مدل كردن سیستمهای پیچیده این باشد كه تمامی آن را نمی توان یك باره مجسم كرد، بنابراین برای فهم كامل سیستم و یافتن و نمایش ارتباط بین قسمتهای مختلف آن، به مدلسازی می‌پردازیم. UML زبانی است برای مدلسازی یا ایجاد نقشه تولید نرم افزار.

به عبارت دیگر، یك زبان، با ارائه یك فرهنگ لغات و یك مجموعه قواعد، امكان می دهد كه با تركیب كلمات این فرهنگ لغات و ساختن جملات، با یكدیگر ارتباط برقرار كنیم. یك زبان مدلسازی، زبانی است كه فرهنگ لغات و قواعد آن بر نمایش فیزیكی و مفهومی آن سیستم متمركزند. برای سیستمهای نرم افزاری نیاز به یك زبان مدلسازی داریم كه بتواند دیدهای مختلف معماری سیستم را در طول چرخه تولید آن، مدل كند.

فرهنگ واژگان و قواعد زبانی مثل UML به شما می گویند كه چگونه یك مدل را بسازید و یا چگونه یك مدل را بخوانید. اما به شما نمی گویند كه در چه زمانی، چه مدلی را ایجاد كنید. یعنی UML فقط یك زبان نمادگذاری (Notation) است نه یك متدولوژی. (توضیحات بیشتر در سایر مقالات سایت میکرو رایانه) یك زبان نمادگذاری شامل نحوه ایجاد و نحوه خواندن یك مدل می باشد، اما یك متدولوژی بیان می كند كه چه محصولاتی باید در چه زمانی تولید شوند و چه كارهایی با چه ترتیبی توسط چه كسانی، با چه هزینه‌ای، در چه مدتی و با چه ریسكی انجام شوند.

ویژگیهای UML UML دارای ویژگیهای بارز فراوانی است كه در این قسمت به آنها می پردازیم. UML یك زبان مدلسازی است اما چیزی فراتر از چند نماد گرافیكی است. به طوریكه در ورای این نمادها، یك سمانتیك (معناشناسی) قوی وجود دارد، به طوریكه یك تولیدكننده می‌تواند مدلهایی تولید كند كه تولید‌كننده های دیگر و یا حتی یك ماشین آن را بخواند و بفهمد. بنابراین یكی دیگر از نقش های مهم UML "تسهیل ارتباط" بین اعضای پروژه و یا بین تولیدكنندگان مختلف می باشد. این ارتباط بسیار مهم است. شاید دلیل اصلی اینكه تولید نرم افزار به صورت فریبنده ای دشوار است، همین عدم ارتباط مناسب بین اعضای پروژه باشد و اگر در تولید نرم افزار، بین اعضای پروژه گزارشهای هفتگی و مداوم وجود داشته باشد، بسیاری از این دشواریها برطرف خواهد شد.

البته این را هم باید در نظر گرفت كه UML كمی پیچیده است و این به خاطر آن است كه سعی شده است نمودارهایی فراهم شود كه در هر موقعیتی و با هر ترتیبی قابل استفاده باشند. دلیل دیگر پیچیدگی از آنجا ناشی می شود كه UML تركیبی است از زبانهای مختلف، كه برای حفظ سازگاری و جمع كردن خصوصیات مثبت آنها، ناگزیر از پذیرش این پیچیدگی می باشد.

UML موفقیت طرح را تضمین نمی كند، اما در عین حال خیلی چیزها را بهبود می‌بخشد. به عنوان مثال استفاده از UML، تا حد زیادی، هزینه های ثابتی نظیر آموزش و استفاده مجدد از ابزارها را در هنگام ایجاد تغییر در سازمان و طرحها كاهش می دهد.

مساله دیگر اینكه، UML یك زبان برنامه نویسی بصری (visual) نیست، اما مدلهای آن را می‌توان مستقیماً به انواع زبانهای مختلف ارتباط داد. یعنی امكان نگاشت از مدلهای UML به كد زبانهای برنامه نویسی مثل Java و ++C وجود دارد كه به این عمل "مهندسی رو به جلو" می گویند.

عكس این عمل نیز ممكن است؛ یعنی این امكان وجود دارد كه شما بتوانید از كد یك برنامه زبانی شی گرا، مدلهای UML معادل آن را به دست آورید. به این عمل "مهندسی معكوس" می گویند. مهندسی رو به جلو و معكوس از مهمترین قابلیت های UML به شمار می روند، البته نیاز به ابزار Case مناسبی دارید كه از این مفاهیم پشتیبانی كنند.

اگر با زبانهای مدلسازی دیگر كار كرده باشید، برای كار با UML مشكل چندانی نخواهید داشت. اما برای شروع كار با UML به عنوان اولین زبان مدلسازی، بهتر است فقط با نمودارهای خاصی كار كنید. برای این كار بهتر است ابتدا با نمودارهای مورد كاربرد و تعامل كار كنید و پس از مدتی كار و آشنا شدن با ویژگیهای اولیه آن، به یادگیری و استفاده از نمودارها و اجزای دیگر بپردازید. در مقایسه با زبانهای مدلسازی دیگر مثل ER و زبان فلوچارتی DR، زبان UML نمودارهای قوی تر و قابل فهم تری را ارائه می دهد كه شامل تمامی مراحل چرخه حیات تولید نرم افزار (تحلیل، طراحی، پیاده سازی و تست) می‌شود.

یكی دیگر از ویژگی های مهم UML این است كه مستقل از متدولوژی یا فرایند تولید نرم افزار می باشد و این بدان معنی است كه شما برای استفاده از UML، نیاز به استفاده از یك متدولوژی خاص ندارید و می توانید طبق متدولوژی های قبلی خود عمل كنید با این تفاوت كه مدلهایتان را با UML نمایش می دهید. البته مستقل بودن از متدولوژی و فرایند تولید، یك مزیت برای UML می‌باشد؛ زیرا بسیاری از انواع پروژه ها و سیستمها نیاز به متدولوژی خاص خود دارند. اگر UML در پی پیاده كردن همه اینها بر می آمد، یا بسیار پیچیده می شد و یا استفاده خود را محدود می كرد. البته متدولوژیهایی براساس UML در حال شكل گیری می باشند.

از دیگر ویژگیهای UML می توان به پشتیبانی از مفاهیم سطح بالای شی گرایی مثل Collaboration، Framework، Pattern و Component اشاره كرد. همچنین UML با استفاده از یك سری مكانیزم های گسترش پذیر امكان می دهد كه بتوان زبانهای مدلسازی جدیدتری (با گسترش مفاهیم پایه ای موجود) ایجاد كرد.