فرمت فایل: ورد –Word و قابل ویرایش
تعداد صفحات: 96
فهرست مطالب
چکیده ....................................١
١ مقدمه .............٢
٢ مفاهیم پایه ...٤
1-2 مقدمه .................٤
2-2 وب معنایی ........٤
1-2-2 تولید برنامه کاربردی با استفاده از فن آوری وب معنایی ......٥
2-2-2 هستان شناسی .........٧
3-2-2 RDF و RDF Schema ........٩
11..................OWL 4-2-2
5-2-2 مقایسه OWL.RDF با زبان های شئ گرا..١٣
3-2 معماری مدل گرا....................١٦
1-3-2 مقدمه ....................١٦
2-3-2 مشکلات توسعه نرم افزار به روش سنتی .......١٧
3-3-2 فرآیند توسعه معماری مدل گرا٢٠
4-3-2 نقش UML در معماری مدل گرا ..................٢٦
5-3-2 متامدل سازی در معماری مدل گرا.................٣١
4-2 جمع بندی مطالب فصل ......٣٥
٣ معماری هستان شناسانه ..٣٧
1-3 مقدمه ..............٣٧
2-3 اهداف مورد نظر....................٣٨
1-2-3 وب معنایی در مهندسی نرم افزار ......................٣٨
یVک I
2-2-3 هستان شناسی به عنوان ابزاری برای توصیف فرمال مدل ها ....................٣٩
3-2-3 پشتیبانی از چرخه حیات نرم افزار ..................٤٥
٤ آنچه دیگران در این زمینه انجام داده اند....................٤٧
1-4 مقدمه ..............٤٧
2-4 توسعه هستان شناسانه .........٤٨
1-2-4 مشکلات ................٤٩
2-2-4 راه حل ها...............٤٩
3-4 توسعه توانمند شده با هستان شناسی ......٥٧
1-3-4 مشکلات ................٥٨
2-3-4 راه حل ...................٥٨
4-4 معماری های مبتنی بر هستان شناسی .....٥٩
1-4-4 مشکلات ................٥٩
2-4-4 راه حل ....................٥٩
5-4 معماری های توانمندشده با هستان شناسی ....................٥٩
1-5-4 مشکلات ................٥٩
2-5-4 راه حل ها...............٦٠
٥ نتیجه گیری ٦٤
پیوست ١ ............ ٦٦
منابع .....................٦٨
دوV
1
چکیده
فناوری وب معنایی ریشه در مهندسی دانش دارد. از سویی ، کاربرد مهندسی
دانش در مهندسی نرم افزار، رویکردی است بـه اثبات رسیده که مدت زیادی از آن
میگذرد و مزایای آن غیرقابل انکار است . بنابراین کاربرد فنـاوریهـای وب
معنـایی کـه علاوه بر دارا بودن خواص مفید زبان های عمومی مهندسی دانش یعنی
مبتنـی بـر منطـق و رسـمی بـودن ، تحـت وب نیـز هستند، در مهندسی نرم
افزار و بخصوص معماری نرم افزار، می تواند بسیاری از کاستی ها را تا حدود
زیادی جبران نماید و در حل مشکلات موجود کمک شایان توجهی نماید. معماری مدل
گرا رویکردی است در معماری نرم افزار که به افـزایش سـطح انتزاع و تمرکز
بیشتر روی مدل های سطح انتزاعی و نیز خودکار نمودن فرآیند توسعه نرم افزار،
تأکید دارد. چنین رویکـردی وقتی مفید خواهد بود که بتوان بسیاری از
ابهامات و شکاف های موجود میان نیازمندی ها و دیدهای ذینفعـان پـروژه یـا
بـه عبارت دیگر مفاهیم ضمنی با معماری و مدل های سطح انتزاعی را از میان
برد. همچنین تسهیل انجام تبدیلات در سـطوح متفاوت فرآیند توسعه نرم افزار
نیز، خود موضوعی است که معماری مدل گـرا در جهـت خودکـار نمـودن ایـن
رونـد، تأکیـد فراوانی روی آن دارد. هستان شناسی ١، مدلی است رسمی، که با
استفاده از زبان های وب معنایی ایجاد مـی شـود، و ابهامـاتی که در زبان های
مدل سازی معمول مورد استفاده در مهندسی نرم افزار وجود دارد را ندارد. به
همین دلیل است که اخیـراً بـه کاربرد هستان شناسی در مهندسی نرم افزار،
توجه فراوانی شده است . این روند منجر به پیـدایش معمـاری هسـتان شناسـانه
شده است . در این گزارش پس از طرح کلی مسأله و مشکلات موجود در معماری نرم
افزار، و مروری بـر مفـاهیم پایـه مـورد نیاز از قبیل وب معنایی، هستان
شناسی و معماری مدل گرا، سعی شده است که کاربرد هستان شناسی در معماری نرم
افزار از جنبه های گوناگون و براساس یک رده بندی مشخص ، در قالب تلاش هایی
که دیگران تا کنون بـه انجـام رسـانیده انـد، مـورد بررسی قرار گیرد. اما
تمرکز بیشتر روی ایجاد متامدل معماری با استفاده از تولید هستان شناسی ها
برای کاستن از ابهامـات موجود در ابعاد گوناگون و نیز افزایش قابلیت ردیابی
در جهت ارزیابی معماری حاصل ، قرار گرفته است .
2
١ مقدمه
دیدگاهی که از تدوین و توصیف معماری برای یک سیستم ایجاد می شود در تمام
طول حیـات آن سیسـتم مرجعـی بـرای تغییرات و تحولات در آن سیستم به شمار
میرود. نگاه به سیستم نرم افزاری با استفاده از نمایی که معماری ایجاد
مـیکنـد چه از لحاظ ارتباط آسان تر میان ذینفعان پروژه و چه از لحاظ درک
دقیق تری که توسعه دهنگان و نگهداری کننـدگان آن از سیستم نرم افزاری
خواهند داشت ، از اهمیت بالایی برخودار است . با این حال توصیف مؤلفه های
معمـاری و ارتباطـات میـان آنها بدون مشخص بودن فرضیات طراحی که متضمن
آنهاست ، مشکلاتی در تحول ١، امکان اسـتفاده مجـدد و حتـی امکـان تعامل ٢
میان مؤلفه های عملیاتی مستقل از هم ، بوجود می آورد (١٩٩٩ ,Kyaruzi,
Katwijk). ایـن فرضـیات ضـمنی در
3 طراحی ، موانعی بر سر راه توسعه سیستم ایجاد می کنند. از این جمله می
توان به فاصله زیادی کـه میـان سـطح انتزاعـی و سطح کد٤ بوجود میآید اشاره
نمود. در این حالت با وجود اینکه مستندات توصیف معماری تلاشی است برای
ایجاد امکـان ترجمه مستقیم از مفاهیم بنیادی سطح انتزاعی به مفاهیم بنیادی
سطح کد، این کار، همـواره بـا مشـکلات فراوانـی روبـرو است .
برای غلبه بر این مشکل تاکنون تلاش های زیادی بـرای رسـمی سـازی ٥
معمـاری نـرم افـزار صـورت گرفتـه اسـت . جهـت رسمیسازی معماری نرم افزار،
باید از زبان های مبتنی بر مدل ٦که بتوانند ویژگیهای ساختاری و رفتاری
سیستم را توصیف نمایند، استفاده شود. برای این کار زبان های زیادی برای
تعیین مشخصات ٧ ایجاد شده اند کـه هریـک سـعی نمـوده انـد کـه اهداف مورد
نظر در یک دامنه بخصوص را پوشش دهند. برای مثال ، زبان هایی ماننـد Z،
VDM8، و B، بـرای مـدل سـازی داده ها و وضعیت ها٩ طراحی شده است در حالی که
زبـان هـایی ماننـد CSP1، CCS2، و π-calculus بـرای مـدل سـازی
Evolution1
Interoperability2
Conceptual level3
Code level4
Formalization5
Model-based languages6
Specification languages7
VDM8 نام اختصاری زبان تعیین مشخصات Vienna Development Method می باشد.
States9
|