ژئوماتیکسیستم اطلاعات مکانی

مدل سازی داده های جغرافیایی با استفاده از UML

نمودار کلاس,نمودار use-case,نمودارهای UML,زبان مدل سازی,زبان مدل­سازی یکپارچه,Unified Modeling Language,GG

در بحث توسعه سیستم ها برای اطلاعات جغرافیایی به منظور اطمینان از سازگاری و یکپارچگی، وجود مدل ­های مفهومی که دارای جزئیات بیشتری هستند ضروری می شود. کاملاً واضح است که داده های جغرافیایی ویژگی های خاصی دارند و لازم است برای توسعه آن به زبان ها و تکنیک های مدل سازی استاندارد روی آوریم.

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

زبان مدل سازی

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

زبان مدل­سازی یکپارچه/Unified Modeling Language

UML یا زبان مدل سازی یکپارچه، یک زبان مدل سازی است که توسط Grady Booch, James Rumbaugh, Ivar Jacobsen ایجاد و بعدها توسط گروه مدیریت شئ OMG در سال ۱۹۹۷ استاندارد شد. از چندین مفهوم و نظریه تشکیل شده است که در سطوح مختلف انتزاعی در توسعه و حفظ و نگهداری سیستم استفاده می شود. می­ تواند برای اهداف گوناگون مورد استفاده قرار گیرد، از جمله: الف) بصری­سازی و مستندسازی فرآیندها، جریان های کاری، پایگاه­های داده و سیستم­های اطلاعاتی در یک سازمان، ب) خصوصی سازی نیازهای سیستم،  پ) طراحی و توسعه سیستم های اطلاعاتی، یعنی؛ تحلیل های کاربری، تحلیل های سیستمی، طراحی و پیاده سازی سیستم. چون در تمامی فازهای توسعه و عملکرد سیستم از یک زبان یکسان استفاده می­شود، به کاربران، مشتریان، توسعه دهندگان و اعضای پروژه ها این امکان را می دهد که به شکلی موثر و کارآمد با سیستم ارتباط برقرار کنند.

 این زبان مدل­سازی گرافیکی از چندین نوع دیاگرام یا نمودار از پیش تعریف شده که ساختار یا رفتار یک سیستم را مشخص می­کنند تشکیل شده است و در مدل­سازی از این نمودارها استفاده می­شود. بسته به مسائل و کیفیت­های مورد نظر برای سیستم­های اطلاعاتی­ای که قرار است پایه ریزی شوند، ما می­توانیم این نمودارها را به مناسب ترین روش سازمان دهی کنیم. هدف استفاده از نمودارهای مختلف در UML، ارائه منظرهای گوناگون از سیستم است. همانطور که مهندسین عمران جهت ساختن یک ساختمان، پلان­های مختلفی از ساختمان تهیه می کنند، ما با استفاده از نمودارهای UML نماهای مختلفی از نرم افزار یا سیستم مورد نظر را تهیه می­کنیم. با توجه به رشد نرم افزارهای پشتیبانی کننده UML، امروزه با استفاده از نرم افزارهایی مانند Microsoft Visio ،Enterprise Architecture و Rational Rose می­توان بعد از رسم نمودارهای UML، مستقیما این نمودارها را به پایگاه داده و کد تبدیل کرد. این نرم افزارها همچنین قادرند کدهای برنامه را گرفته و نمودارهای UML را تولید کنند.

UML1

طرح واره و نشان تجاری زبان مدل سازی یکپارچه

نمودارهای UML

  • ­نمودار use-case [1] : نمودار use-case رابطه بین use-case ها در یک سیستم یا دیگر موجودیت های معنایی و عامل­[۲]های آن را نشان می دهد. این نمودار یک هدف اولیه از چگونگی استفاده کاربران و عاملان از سیستم است. گاهی اوقات به نام نمایش خارجی سیستم نیز عنوان شده و تعامل بین سیستم و محیط بیرونی را شرح می دهد. مطابق شکل می­بینیم که دیاگرام use-case از سه المان اصلی تشکیل شده است: عامل ها، use-case ها، و مرز سیستم. سیستم را از طریق رسم مرز مستطیلی که use-case ها در داخل آن قرار گرفته اند می توان ایجاد کرد و عامل ها یا کاربران در بیرون از مرز سیستم رسم می­شوند. use-case ها بیضی شکل هستند و نوع عملکردی که درون سیستم دارند داخل بیضی نوشته می شود. عامل ها در واقع استفاده کنندگان از سیستم هستند و رابطه بین عامل ها و use-case ها از طریق خطوط ساده رسم و مشخص می شود.

UML2

نمودار use-case

  • نمودار فعالیت[۳] : نمودار فعالیت برای بررسی و شرح فعالیت ­ها یا جریان های کاری موجود در سازمان ها و سیستم ها استفاده می شود. اساساً فلو­چارت هایی هستند که برای نمایش جریان کاری سیستم ها به کار می روند. در واقع یک روش گرافیکی برای مستندسازی یک جریان کاری در شکل و شمایلی ساده و شهودی است. با نگاه به چنین نموداری می توان دریافت که: چه چیزی در جریان کار اتفاق می افتد و چه فعالیت هایی می تواند به صورت موازی انجام گیرد. نمودار فعالیت همچنین نقش­ها و حوزه های مسئولیت تجاری را شرح می دهد؛ به عبارت دیگر این که چی کسی مسئول انجام چه چیزی در کار است. نقش­ها و مسئولیت ها به شکل ستون هایی در نمودار فعالیت مستندسازی می شوند.

UML3

مثالی از نمودار فعالیت برای جریان کار خرید کتاب

  • نمودار کلاس[۴] : یک کلاس شرحی است از یک مجموعه از اشیاء که همگی دارای ویژگی، صفت، عملیات، رابطه و معنای یکسانی هستند. ساختارهای ایستا از کلاس ها و رابطه ها ساخته می شوند. کلاس ها می توانند اطلاعات، تولیدات، اسناد یا نهادها را بیان کنند و سامان بدهند. هدف نمودار کلاس مستند­سازی رابطه­های بین کارکنان و موجودیت ها است. یک روش بصری است تا نشان دهد چه کسی با چه کسی تعامل دارد و چه کسی مسئول چه چیزی است. نمودارهای کلاس برای ۲ هدف اصلی به کار می روند: – برای نمایش چگونگی همکاری کارمندان و موجودیت­ها در به انجام رساندن یک فرآیند – برای نمایش ساختار ایستا و رابطه های میان موجودیت ها. می­توان گفت که نمودارهای کلاس تقریباً استخوان­بندی تمام متدهای شئ­گرا مثل UML است. بیشترین نوع دیاگرامی که در مدل سازی پدیده های جغرافیایی به کار می­روند دیاگرام ایستای کلاس است. برای نمایش این نمودار از مستطیلی که دارای سه بخش است استفاده می­شود: بخش اول نام کلاس، بخش دوم صفات و بخش سوم شامل عملیات است.

UML4

نمایش بخش­های نمودار کلاس (بالا)، مثالی از چگونگی ارتباط کلاس­ها و زیرکلاس­ها (پایین)

  • نمودار شئ[۵] : این نمودار واقعیت هایی را که به توصیف موجودیت های معین می­ پردازد ، مدل می کند، در حالیکه نمودار کلاس قوانین برای انواع موجودیت ها را مدل می­کند. اشیاء چیزهای واقعی هستند مثل قطعه زمین و اشخاص. نمودار شئ حقیقتی را نمایش خواهد داد؛ به عنوان مثال شخصی که صاحب قطعه زمین است. درحالیکه نمودار کلاس قانونی را که شخص می تواند صاحب زمین باشد را مشخص می­کند. نمودارهای شئ رابطه­ی نزدیکی با نمودارکلاس دارد، چرا که شئ نمونه ای از کلاس است، یک نمودار شئ را می­توان نمونه­ای از نمودار کلاس در نظر گرفت. نمودارهای شئ ساختارهای ایستا یک سیستم را در یک زمان خاص بیان می کنند و برای بررسی دقت نمودارهای کلاس مورد استفاده قرار می­گیرند.
  • ­نمودار تعامل[۶] :  نمودار تعامل مدلی است بیان­گر این­که چگونه گروه­های اشیاء در بعضی از رفتارها همکاری می کنند. یک نمودار تعامل، رفتارهای یک تک use-case را شامل می­شود. نمودار تعدادی اشیاء و پیام­هایی که بین اشیاء در use-case انتقال یافته­اند را نشان می دهد. نمودار تعامل ضمن در بر داشتن اطلاعات یکسان به دو شکل ساخته می شود : نمودار توالی[۷] و نمودار همکاری[۸].
  • نمودار حالت[۹] : این نمودار رفتارهای پویای یک شئ­ای که در حال تغییر به حالت­های مختلف است را شامل می شود. نمودار حالت رفتارهای ممکن کلاس­ها را در پاسخ به تحریک های بیرونی بیان می کند. این نمودار برای سیستم های آنی پرکاربرد است.

دو نمودار دیگر که عمدتاً در پیاده سازی سیستم به کار می روند عبارتند از نمودار اجزا[۱۰] که اجزای سازنده یک سیستم را توصیف می کند و نمودار استقرار [۱۱] که سخت افزارهای سیستم را شرح می دهد.

[۱] use-case diagram

[۲] actor

[۳] activity diagram

[۴] class diagram

[۵] object diagram

[۶] interaction diagram

[۷] sequence diagram

[۸] collaboration diagram

[۹] state diagram

[۱۰] component diagram

[۱۱] deployment diagram

دیدگاهتان را بنویسید