بخشی از مقاله


بررسی رویکرد مهندسی وب بر اساس معماری مدلرانه

چکیده
در این مقاله سعی بر آنست که روش مدل سازی مبتنی بر UML و فرایند توسعه روشمند برای کمک به مهندسی وب و تولید کاربردهای غنی اینترنتی (RIA) در زمینههای گوناگون بررسی و تشریح شود. این فرایند با تحلیل نیازمندیها آغاز شده و انواع مدلها- مدل مستقل از محاسبات (CIM)، مدل مستقل از سکو (PIM) و مدل مخصوص سکو (PSM)، و قواعد انتقال میان آنها را ایجاد مینماید. از UML برای مدل سازی این مدلها استفاده میشود که از کاربردهای وب تا کاربردهای غنی اینترنتی گسترده است. برای ایجاد کد نمودارهای کلاس و نمودارهای ترتیبی، توسط ابزارهای مختلفی (منجمله (WAE2CODE پیمایش شده و سپس مفاهیم ایستا و پویای سیستم را نمایش میدهد. سپس این دیاگرامها به قالبهای کد تبدیل می-شوند. در انتها ذینفعان و کاربران میتوانند برنامه تحت وب خود را به راحتی و با استفاده از چارچوب کد تولید شده بسازند.

واژگان کلیدی: معماری مدلرانه، زبان یکپارچه مدلسازی، کاربردهای غنی اینترنتی، مهندسی وب

-1 مقدمه
یکی از رویکردهای مورد قبول بطورگسترده در زمینه توسعه کاربردهای پیچیده خصوصاً برنامه نویسی شئ گرا که به مدل کردن اشیاء و روابط میان آنها نیازمند است، روش توسعه نرمافزار مبتنی بر مدل(MDSD) 1 است. MDSD در هر مرحله از توسعه، مدلی را به عنوان فراورده کلیدی در نظر میگیرد. هدف این رویکرد اینست که فرایند ساخت نرمافزار را از مرحله تحلیل نیازمندیها تا مرحله تولید کد، توسط قواعد استاندارد بصورت نیمه خودکار در آورد.
مهندسی وب نیز یک حوزه ویژهایست که MDSD را میتوان بصورتی موفق در آن بکار برد که به آن مهندسی وب مدلرانه2 (MDWE) اتلاق میشود. به این دلیل که مفهوم مدل در MDWE نقشی اساسی ایفا میکند، لذا بایستی مفاهیم سیستم به طرزی موثر که قابل استفاده آسان برای توسعه دهندگان باشد توسط آن بیان شود. روشهای متعددی برای مدلسازی کاربردهای تحت وب وجود دارد. این روشها عموماً به دو دسته مدلهای مبتنی بر UML و یا زبانهای مخصوص با ابزارهای ویژه تقسیم میشوند. دسته اول از کاربست UML برای بسط و گسترش مدل در مدلسازی دامنه خاص استفاده میکند. در حالیکه دسته دوم از زبان حوزه ویژه(DSL) 3 که انتزاع سطح بالاتری از زبانهای همه منظوره ایجاد مینماید استفاده میکند. این زبانهای خاص اغلب توسط ابزارهایی نظیر WebML/WebRatio, OO-+/9LVXDO:DGH' 8VL;0/ /+GHDO;0/ ' … پیشنهاد و استفاده میشوند.

با وجود اینکه مدلهای مبتنی بر DSL بطور دقیق دامنه مسأله را بیان میکنند ولی بطور کامل نمیتوانند با ابزارهای دیگر مدل سازی تعامل داشته باشند. برعکس مدلهای مبتنی بر UML توسط ابزارهای کامپیوتری کمکی مهندسی نرمافزار4 نظیر

RationalRose(RR), EnterpriseArchitect(EA), 9LVXDO3DUDGLJP(93)' … پشتیبانی شده و توسعه دهندگان میتوانند با افزودن پلاگینهای مورد نظر به این ابزارها به مقصود خود دست یابند.

در این مقاله بر روی یک مدل وبی منشعب از UWAE برای مدل سازی مفهوم جدید کاربردهای غنی اینترنت (RIA5) تمرکز شده است. این مدل بر روی کاربردهای غنی اینترنتی مبتنی بر اسکریپت نویسی تمرکز دارد .[3] این مدلها بوسیله صفحات وب به تکنولوژی ایجکس (AJAX) پیاده سازی میشوند. قالب کاری ایجکس یک کتابخانه اسکریپت جاوا است که توابع درخواست/ پاسخ را بطور غیر همزمان و مانند اشیائ میزکار به منظور غنی سازی رابط کاربر، بکار میبرد. این مدل همچنین اعمال غیرهمزمان و قسمتهای پویا را در صفحات وب تعریف میکند. همچنین تعدادی از اشیائ واسط کاربر (UI6) را که بوسیله واسط JQuery پشتیبانی میشوند را تعریف میکند و در کنار آن یک روش MDWE برای توسعه این RIAها بیان میشود. فرایندها مبتنی بر مدل بیان میشوند. این فرایندهابا تحلیل نیازمندیها آغاز میشود و در ادامه فرایند مدلرانه پیاده سازی میشود. ابتدا نیازمندیها توسط یک نمودار مورد کاربری به عنوان فراورده مدل مستقل از محاسبات (CIM7) بیان میشود. در مرحله بعد مفهوم دامنه، تحلیل شده و نمودار کلاس و نمودارهای ترتیبی UML به عنوان فراورده مدل مستقل از سکو (PIM8) ساخته می-شود. در مرحله سوم هم دیاگرام کلاس و هم دیاگرامهای ترتیبی باید به مدل وب گسترده به عنوان فراورده مدل مختص سکو (PSM9) منتقل شود. در مرحله چهارم قالبهای کد از مدل وب و با استفاده از یک ابزار خاص، تولید میشود .[1] در نهایت توسعه دهندگان، سیستم را بر اساس قالبهای تولید شده کامل میکنند. (شکل (1


شکل-1 مفاهیم بنیادین در MDA

کارهای مرتبط در این زمینه در دو دسته قابل ذکر است: دسته اول کارهایی با رویکرد مدلسازی وب و دسته دوم کارهای با رویکرد کاربردهای غنی اینترنتی. در نوع کارهای با رویکرد اول شیوههایی همچون :HE0/' 8:(' 22+ 0' :$(' … بکار گرفته میشود که در آنها با ایجاد مدلها و مکانیزمهای جدید، سعی در تسهیل درک مفاهیم موجود در کاربردهای وب و ارائه راه حل کامل میشود. در نوع کارهای با رویکرد دوم (RIA)، کاربردهای پیچیده وب بر مبنای معماری کلاینت چاق (پر حجم)، ارتباط غیر همزمان و واسط کاربری قوی با اشیاء متعدد در کانون توجه قرار میگیرد.

-2 توصیف برخی از شیوهها
در ابتدا به بعضی از روشهای مورد نظر در توسعه مدلرانه اشاره نمودیم که توضیح مختصر هر کدام ضروری به نظر میرسد . WebML کاربردهای وب را در سه سطح توصیف میکند: اشیاء محتوا، مدل ابرمتن و دید و درک واسط کاربری. اشیاء محتوا با

استفاده از نمودار کلاس ساده شده UML که متشکل از روابط و عبارات مشتق شده است مشخص میشوند .[8] مدل ابرمتن، بخش بالایی سلسله مراتب سازمانی طرح را که مشتمل بر ویوها، صفحات، واحدهای محتوایی، بخشهای مختلف و ... است، تشکیل میدهد. مدل نمایش نیز ملاحظات مربوط به نحوه ارئه صفحات بر روی صفحه نمایش را در بر دارد. UWE10 از اصل " تفکیک دغدغهها"11 بوسیله مدلسازی محتوا، ساختار هدایت و راهبری کاربر، فرایند کسب و کار، و نمایش کاربرد وب بطور جداگانه، تبعیت میکند.

قبل از تشریح فرایند توسعه برای روشنتر شدن جایگاه هر کدام از این مدلها در چرخه حیات توسعه نرمافزار،در شکل2 و جدول1 این موضوع بصورت نمادین تشریح شده است. در این شکل همانگونه که مشاهده میشود، مدلهای تولیدی در معماری MDA12 متناظر با هریک از فازهای پیشنهادی در هر دو متدولوژی RUP13 و MSF14 (چارچوب پیشنهادی مایکروسافت) بهصورت نگاشت مرحله به مرحله نمایش داده شده است. در جدول 1 نیز مراحل مورد نظر و فعالیتهای انجام شده در هر مرحله بیان شده است.[2]


شکل-2 نگاشت چرخه حیات توسعه نرمافزار و MDA

جدول-1 فعالیتهای مربوط به هر مرحله درMDA
اما مراحل فرایند توسعه:

شکل -3 کلیات فرایند توسعه مدلرانه

-3 فرایند توسعه مدلرانه
در توسعه RIA این فرایند بر مبنای مفاهیم MDA استوار است. به این معنا که مفاهیم سیستم بوسیله مدلهای مشخص، در سطوح مختلف تجرید، تجزیه میشوند. سپس عملیات انتقال مدل در خلال چرخه توسعه با استفاده از قواعد و یا الگوهای انتقال، انجام میپذیرد. این مدل-ها ته تنها به توصیف و درک سیستم کمک میکنند، بلکه در تولید خودکار کد تیز نقش مهمی ایفا مینمایند. در راستای رویکرد MDA، مدلهای مورد استفاده به سه گروه تقسیم میشوند که عبارتند ار مستقل از محاسبات، مستقل از سکو، و مدل سکوی خاص و برای ساخت هر کدام ابزار مناسبی در نظر گرفته میشود. فرایند همسو با MDA و نیز مراحل توسعه سیستم در شکل 3 مشاهده میشود .[1]

-1-3 مدلسازی دامنه

تحلیل دامنه به مفهوم شناسایی، تشخیص و تحلیل نیازمندیهای عمومی و مشترک دامنه یک کاربرد است. مدل دامنه یک سیستم، برای تعیین موجودیتهای اصلی دامنهی مسأله و نیز ارتباط میان آنها بکار میرود. نمودارهای کلاس برای مدلسازی دامنه و نمایش آن بکار میرود. این مفاهیم بوسیله کلاسها، صفات و ارتباطات میان کلاسها ارائه میشود. در مجموع کلاسهای کلی در دیاگرام کلاس به

جداول داده در پایگاه دادهها نگاشت میشوند. به عنوان یک روش، الگوهای طراحی نیز در مدلسازی دامنههای مسائل عمومی و مشترک مفید خواهد بود.

-2-3 مدل نیازمندیها

هدف کلی مدلسازی نیازمندیها، تشریح و توصیف عملکرد سیستم بصورت یک مدل مستقل از محاسبات (CIM) است. اهداف خاص این مدلسازی برای سیستمهای وبی عبارتند از: -1 تعیین نیازمندیهای وظیفهمندی با عبارات نیازمندیهای راهبری و هدایت15 و نیز فرایند حرفه. -2 تعیین محتوای نیازمندیها -3 تعریف سناریوهای تعامل برای گروههای مختلف کاربران وب. UWE نیازمندیها را با نمودارهای موارد کاربری و فعالیت UML مدل میکند. UWE میان دو نوع از موارد کاربری، یعنی موارد کاربری راهبری و هدایت و موارد کاربری فرایندهای حرفه، تمایز قائل میشود. شکل 4 یک مثال از نمودار مورد کاربری برای یک پورتال موسیقی و شکل 5 نمودار فعالیت مورد کاربری دانلود آلبوم موسیقی را نمایش میدهد .[7]

-1-3 مدلسازی رفتار

مدل رفتاری یک سیستم برای تشخیص جریان کار اشیا، متناظر با تعامل توصیف شده در موارد کاربری بکار میرود. هر مورد کاربری باید با یک مدل رفتاری متناظر باشد تا بتوان رفتار شی را توصیف کرد. در این گام تحلیلها را میتوان بر اساس الگوهای MVC16 که اجزاء سیستم را به سه دسته تقسیم میکند، (یعنی اشیاء مرزی، کنترلی و موجودیتی)، اجرا نمود.

اشیاء مرزی مسؤول مدیریت تعامل با کاربر و پاسخ به درخواستها از طریق واسط کاربر است. اجزاء موجودیتی نیز اشیاء ثابت و ایستایی هستند که در موارد کاربری ساخته شده در فاز مدلسازی دامنه برای نمایش دادهها و یا منطق عملکرد بکار برده میشوند. اجزا و اشیاء کنترلی نیز برای مدیریت تعامل میان اجزاء مرزی و اشیاء موجودیتی ایجاد شدهاند. در هر مورد کاربری یک شئ کنترلی مسؤول مدیریت سناریوی تعریف شده در آنست. بعد از تحلیل موارد کاربری اشیاء مرزی و کنترلی تولید خواهند شد. سپس نمودار ترتیب ساخته میشود تا همزمان جریان کار اشیا را توصیف نماید. در مجموع اشیاء تولید شده، باید به نمودار کلاس ساخته شده در مرحله مدلسازی دامنه اضافه شود .[1]


شکل -4 نمودار مثالی از مورد کاربری پرتال موسیقی (CIM)

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید