كلیه اطلاعات این سایت مربوط به شركت طراحی سایت - شركت نرم افزاری بهپردازان می باشد


شركت نرم افزاری بهپردازان

موضوع مقاله : 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 با استفاده از يك سري مكانيزم هاي گسترش پذير امكان مي دهد كه بتوان زبانهاي مدلسازي جديدتري (با گسترش مفاهيم پايه اي موجود) ايجاد كرد.