آزمايشگاه سيستمهاي هوشمند

63
ي ي را گ ه ب ن ج رد ك ي رو ده ار ا ف ت س ا دي ن م ه ف ت! ظ رو ي غ هاي دي ن م ار ن ن ي ي ا ي و ارر ي سار لر مد د ر وب ب ي ن ت ن م مهاي ت س سي ي ح را ط در د9 ارس ي س ا ن9 س ه كار م ا ان=ي اي? ي ار ر ف رما ب ي س د ن ه م ه ب9 س ر= ن دD ؤ م هام ل ا د ن م9 ش و ه مهاي ت س سي گاه9 ش ي ما رP ا د ماه ن ف س ا1388 م ت ح ر ل ن=ا م ح ر ل له ا ل ما س ي

Upload: ayanna

Post on 23-Feb-2016

97 views

Category:

Documents


1 download

DESCRIPTION

بسم الله الرحمن الرحيم. استفاده از رويكرد جنبه‌گرايي در مدلسازي و ارزيابي نيازمندي‌هاي غيروظيفه‌مندي در طراحي سيستم‌هاي مبتني بر وب پايان‌نامه كارشناسي‌ارشد رشته مهندسي نرم‌افزار الهام مؤذن. آزمايشگاه سيستم‌هاي هوشمند. اسفند ماه 1388. بيان مسأله. اهداف تحقيق . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: آزمايشگاه سيستمهاي هوشمند

استفاده‌از‌رويكرد‌جنبه‌گراييدر‌مدلسازي‌و‌ارزيابي‌نيازمندي‌هاي‌

غيروظيفه‌منديدر‌طراحي‌سيستم‌هاي‌مبتني‌بر‌وب

پايان‌نامه‌كارشناسي‌ارشدرشته‌مهندسي‌نرم‌افزار

الهام‌مؤذن

اسفند‌ماه‌آزمايشگاه‌سيستم‌هاي‌هوشمند1388

بسم‌الله‌الرحمن‌الرحيم

Page 2: آزمايشگاه سيستمهاي هوشمند

63

استفاده‌از‌رويكرد‌جنبه‌گرايي‌در‌مدلسازي‌و‌ارزيابي‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌طراحي‌سيستم‌هاي‌مبتني‌بر‌وب

بيان‌مسأله

الهام‌موذن/‌پايان‌نامه‌كارشناسي‌ارشد

2

Page 3: آزمايشگاه سيستمهاي هوشمند

63

استفاده‌از‌رويكرد‌جنبه‌گرايي‌در‌مدلسازي‌و‌ارزيابي‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌طراحي‌سيستم‌هاي‌مبتني‌بر‌وب

اهداف‌تحقيق‌

الهام‌موذن/‌پايان‌نامه‌كارشناسي‌ارشد

3

پي‌بردن‌به‌م7اهيت‌نيازمندي‌هاي‌غيروظيفه‌مندياستخراج‌الگوي‌تحقق‌نيازمندي‌هاي‌

غيروظيفه‌مندياستفاده‌از‌مفهوم‌جنبهتزريق‌جنبه‌گراي‌نيازم7ندي‌هاي‌غيروظيفه‌مندي‌در‌

فرآيند‌توسعه‌و‌م7عماري‌كاربردهاي‌وبارزيابي‌راه‌حل‌پيشنهادي‌بر‌كيفيت‌از‌ديد‌

توسعه‌دهنده

Page 4: آزمايشگاه سيستمهاي هوشمند

63

استفاده‌از‌رويكرد‌جنبه‌گرايي‌در‌مدلسازي‌و‌ارزيابي‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌طراحي‌سيستم‌هاي‌مبتني‌بر‌وب

الهام‌موذن/‌پايان‌نامه‌كارشناسي‌ارشد

41بررسي‌ادبيات‌موضوع‌‌.

طبقه‌بندي‌نيازمندي‌هاي‌كاربردهاي‌وبدرخت‌نيازمندي‌هاي‌كيفي‌كاربردهاي‌وبمهندسي‌وبكاربردهاي‌سازماني‌مبتني‌بر‌وبتعريف‌كانسرنضعف‌شئ‌گرايي

2.ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌7هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبمعرفي‌مورد‌مطالعاتيتوسعه‌شئ‌گراي‌مورد‌مطالعاتي‌با‌جديدترين‌تكنيك‌هاي‌مهندسي‌وباستخراج‌الگ7وي‌تحقق‌نيازمندي‌هاي‌غيروظيفه‌مندي‌راه‌كارهاي‌ارائه‌شده‌براي‌رفع‌ضعف‌موجود‌در‌شئ‌گرايي

3زريق‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌فرآيند‌توسعه‌كاربردهاي‌7وب.‌ت4‌.بهبود‌فرآيند‌توسعه‌مورد‌مطالعاتي‌با‌تزريق‌جنبه‌گراي‌نيازمندي‌هاي‌غيروظيفه‌مندي5‌.ارزيابي‌راه‌حل‌پيشنهادي‌6نتيجه‌گيري‌‌.

چارچوب‌تحقيق

Page 5: آزمايشگاه سيستمهاي هوشمند

63

كاربردهاي‌وب5

الهام‌موذن/‌پايان‌نامه‌ادبيات‌موضوع‌)مفر7وضات(كارشناسي‌ارشد

طبقه‌بندي‌نيازمندي‌هاي‌كاربردهاي‌وبنيازمندي‌هاي‌وظيفه‌مندي

نيازمندي‌هاي‌محتوانيازمندي‌هاي‌واسط‌كاربرينيازمندي‌هاي‌پيمايشينيازمندي‌هاي‌شخصي‌سازينيازمندي‌هاي‌تراكنشي

نيازمندي‌هاي‌غيروظيفه‌مندي

Page 6: آزمايشگاه سيستمهاي هوشمند

63

ليست‌نيازمندي‌هاي‌كيفي‌كاربردهاي‌وب

الهام‌موذن/‌پايان‌نامه‌ادبيات‌موضوع‌)مفر7وضات(كارشناسي‌ارشد

6

1997در‌سال‌درك‌پذيري‌عمومي‌سايت،‌قابليت‌كمك‌آنالين،‌قابليت‌هاي‌واسط‌و‌زيبايي،‌...()قابليت‌7استف7اده‌توانايي‌جستجو‌و‌بازيابي،‌قابليت‌هاي‌پيمايش‌و‌مرور،‌...(قابليت‌7وظيفه‌مندي‌(پردازش‌صحيح‌لينك،‌ترميم‌خطا،‌اعتبارسنجي‌ورودي‌كاربر،‌...(قابليت‌7اطمينان‌(كارايي‌زمان‌پاسخ،‌سرعت‌توليد‌صفحات،‌...(بهره‌وري‌(آساني‌تصحيحات،‌وفق‌پذيري،‌توسعه‌پذيري،‌...‌(نگهداشت‌7پذيري‌(

2002در‌سال‌(جلوگيري‌كردن‌7از‌دسترسي‌غيرمجاز‌و‌خنثي‌كردن‌حمالت‌خرابكارانه‌خارجي)امنيت‌درصدي‌از‌زمان(‌دسترس‌7پذيري‌(كاربر(‌100000يا‌100‌،1000‌،10000)استفاده‌همزماِن‌مقياس‌پذيري‌‌زمان‌رسيدن‌به‌بازار

Page 7: آزمايشگاه سيستمهاي هوشمند

63

مهندس7ي‌وب

الهام‌موذن/‌پايان‌نامه‌ادبيات‌موضوع‌)مفر7وضات(كارشناسي‌ارشد

7

تعريف‌مهندسي‌وبطراحي‌كاربردهاي‌وبهرم‌طراحي‌كاربردهاي‌وب

طراحي‌واسط

طراحي‌زيبايي

طراحي‌محتوا

طراحي‌پيمايش

طراحي‌معماري

طراحي‌مؤلفه

Page 8: آزمايشگاه سيستمهاي هوشمند

63

كاربردهاي‌سازماني‌مبتني‌بر‌وب

الهام‌موذن/‌پايان‌نامه‌ادبيات‌موضوع‌)مفر7وضات(كارشناسي‌ارشد

8

داده‌هاي‌پيچيده‌در‌حجم‌زيادتعداد‌زياد‌كاربرانتعداد‌زياد‌صفحات‌واسط‌كاربرييكپارچگيمنطق‌تجاري‌پيچيدهانواع‌نيازمندي‌هاي‌خاص‌سيستم‌هاي‌مبتني‌بر‌وب

Page 9: آزمايشگاه سيستمهاي هوشمند

639

معماري‌كاربردهاي‌سازماني‌مبتني‌بر‌وب

الهام‌موذن/‌پايان‌نامه‌ادبيات‌موضوع‌)مفر7وضات(كارشناسي‌ارشد

پيروي‌از‌سبك‌معماري‌اليه‌اياستفاده‌از‌الگوي‌مدل‌دامنهنگاشت‌بر‌پايگاه‌داده‌هاي‌رابطه‌اينمايش‌وب

View Controller

Model

Page 10: آزمايشگاه سيستمهاي هوشمند

63

تعريف‌كانِسرن

الهام‌موذن/‌پايان‌نامه‌ادبيات‌موضوع‌)مفر7وضات(كارشناسي‌ارشد

10

است‌كه‌جنبه‌اي‌از‌يك‌مسألهيك‌كانسرن‌‌براي‌ذينفع‌يا‌ذينفعاني،‌بحر<اني‌يا‌در‌غير‌

‌مي‌باشد.‌اينصورت‌مهماغلب،‌نيازمندي‌ها‌جنبه‌هايي‌از‌يك‌م7سأله‌توسعه‌

نرم‌افزار‌را‌بيان‌مي‌كنند‌اما‌نه‌همه‌آنها‌را.برخي‌از‌جنبه‌هاي‌مسأله‌در‌طول‌چرخه‌عمر‌

نرم‌افزار‌مطرح‌مي‌شوند.‌كانسرن‌هاي‌عيني‌و‌غيرعيني

Page 11: آزمايشگاه سيستمهاي هوشمند

63

11

ضعف‌رويكرد‌شئ‌گرايي

الهام‌موذن/‌پايان‌نامه‌ادبيات‌موضوع‌)مفر7وضات(كارشناسي‌ارشد

متداول‌ترين‌رويكرد‌توسعه‌سيستم‌هاي‌نرم‌افزاريناتواني‌در‌پيمانه‌بندي‌كانسرن‌هاي‌متقاطعتأثي7ر‌آ7ن‌بر‌نحوه‌تأمي7ن‌كانسرن‌هاي‌غيروظيفه‌مندي‌

در‌كاربردهاي‌وب

Page 12: آزمايشگاه سيستمهاي هوشمند

63

12

مورد‌مطالعاتي

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

سيستم‌جامع‌برنامه‌ريزي‌منابع‌سازمانيكامالً‌مبتني‌بر‌وب

هال‌ژومای‌رفمع

یهال‌ژوماه‌شنق

Cyb

er E

RP

کنترل‌کیفیت

مديريت‌تولید

نگهداری‌و‌تعمیرات

مديريت‌انبار

مدیریت

مدیریت‌مالی

مديريت‌فروش

مدیریت‌پروژه

طراحی‌آزمایشات‌کنترل‌کیفیت

کیفیت‌مواد‌اولیه‌و‌محصول

بازرسی

مدیریتHoldin

g

داشبورامور‌د

قراردادها

کنترلپروژه

حسابداریپروژه

برنامه‌ریزیپروژه

مدیریتریسک

مدیریتClaim

برنامه‌ریزیمواد

کنترلتولید

مهندسیمحصول

توسعهمحصول

برنامه‌ریزیعملیات

ظرفیت‌سنجی

تعمیراتاضطراری

اقداماتپیشگیرانه

مشخصاتفنی

تجهیزات

کنترلموجودی

حسابداریانبار

انبارمقداری

مدیریتتوزیع

بازاریابی

حسابداری

فروش

فروش‌وسفارشات

صادرات

خدمات‌پس‌ازفروش

مدیریتمالی

حسابداری

صنعتی

بودجه

خزانه‌داری

سهام

اموالحسابداری

تشکیالتعمومی

کارگزینی

حضور‌و‌غیاب

حقوق‌ودستمزد

ارزشیابی

پرسنلی

آموزشرفاه

دبیرخانه

کارتابلمکانیزه

پیام‌های‌داخلی

حسابداریخرید

اطالعاتتامین‌کنندگانو‌مشتریان

خرید

واردات

مدیریت‌منابع‌انسانی

اتوماسیون‌اداری

مدیریت‌خرید

Page 13: آزمايشگاه سيستمهاي هوشمند

63

13

Cyber‌ERPمعماري‌

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

Layering Domain‌Model Data‌Mapper MVC

PresentationLayer JSP TagLib

ModelController

Service‌Factory‌&‌Service‌Wrapper

Struts

SpringServiceLayer

Service‌InterfaceService‌Implementation

WorkflowService

DataAccessLayer

DAO‌Interface

DAO‌Implementation

Hibernate

Application‌DB Workflow‌DB

WorkflowManagement

System Domain‌Ob

ject

e‌-‌form

Page 14: آزمايشگاه سيستمهاي هوشمند

63

توس7عه‌مدل‌گرا‌با‌استفاده‌از‌توليد‌كننده‌هاي‌كد

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

14

)MDD‌)Model‌Driven‌Developmentحرکت‌به‌سمت‌•

PresentationLayer JSP TagLi

b

ModelController

Struts

SpringServiceLayer

Service‌InterfaceService‌Implementatio

nDataAccessLayer

DAO‌InterfaceDAO‌ImplementationHibernate

Application‌DB

Domain‌

Object

UI

Gene

rato

r

Dom

ain

Gene

rato

r

Page 15: آزمايشگاه سيستمهاي هوشمند

63

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

جمع‌آوري‌نيازمندي‌هاي‌هر‌زي<رسيستم‌از‌طريق‌محك‌سيستم‌هاي‌موجود،‌دانش‌

متخصص<ين‌دامنه‌و‌مصاحبه‌با‌مشتري‌

فايل‌هاي‌HTML

توليد‌نمونه‌اوليه‌واسط‌كاربري

تدوين‌سناريوي‌كانسرن‌وظيفه‌مندي

فايل‌هاي‌XMLطراحي‌متامدل‌واسط‌كاربري

طراحي‌متامدل‌دامنه‌

توليد‌خودكار‌اليه‌هاي‌فوقاني‌معماري

توليد‌خودكار‌اليه‌هاي‌زيرين‌معماري

پياده‌سازي‌منطق‌

وظيفه‌مندي‌در‌هر‌اليه

پياده‌سازي‌منطق‌غيروظيفه‌مندي‌در‌هر‌پيمانه‌در‌

هر‌اليه

نمودارها‌UMLي‌

2.0فايل‌هاي‌نگاشت‌بر‌Hibernate‌(.hbm)

تست‌سناريوي‌وظيفه‌مندي

متاداده‌واسط‌کاربر‌به‌:xmlصورت‌

الگوی‌صفحه•‌مولفه‌های‌موجود‌در‌•

هر‌صفحه‌به‌همراه‌کلید‌عنوان‌آن‌ها‌(مستقل‌از‌

زبان)اطالعات‌مربوط‌به‌پکیج‌•

ها‌و‌نامگذاری

‌به‌JSPواسط‌کاربر•همراه‌اسکرپیت‌JSهای‌کنترلی‌

ایجاد‌تنظیمات‌و‌• MVCساخت‌کدهای‌

(Struts Action/Form)رجیستر‌کردن‌•

صفحه‌در‌پرتال‌cyberERP

متا‌داده‌ی‌موجودیت‌ O/Rها‌‌به‌صورت‌

Mapping XML

کالس‌های‌موجودیت‌•)Java Bean(جداول‌مرتبط‌در‌پایگاه‌•

دادهکالس‌های‌سرویس‌و‌•

DAOو‌تزریق‌وابستگی‌این‌‌دو‌به‌هم‌

تنظیمات‌و‌پیکره‌بندی‌•Springهای‌

پراكندگي‌كانسرن‌هاي‌غيروظيفه‌مندي‌در‌معماري‌كاربرد‌وب‌و‌در‌هم‌پيچيدگي‌آنها‌با‌كانسرن‌هاي‌وظيفه‌مندي

Page 16: آزمايشگاه سيستمهاي هوشمند

63

16

معماري‌زيرسيستم‌مديريت‌منابع‌(HRM)انساني‌

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

Page 17: آزمايشگاه سيستمهاي هوشمند

63

17

بخشي‌از‌كد‌سناريوي‌محاسبه‌حقوق‌در‌اليهModel‌Controller

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

Page 18: آزمايشگاه سيستمهاي هوشمند

63

18

بخشي‌از‌كد‌سناريوي‌محاسبه‌حقوق‌در‌اليهSpring‌Service‌Layer

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

Page 19: آزمايشگاه سيستمهاي هوشمند

63

19

بخشي‌از‌كد‌سناريوي‌محاسبه‌حقوق‌در‌اليهData‌Access‌Layer

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

Page 20: آزمايشگاه سيستمهاي هوشمند

63

20

طبقه‌بندي‌كانسرن‌هاي‌عيني‌در‌توسعه‌كاربردهاي‌وب

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

كانسرن‌وظيفه‌مندي‌هسته‌7:‌محاسبه‌حقوق‌‌‌‌Core‌Functional‌Concern

‌:كانسرن‌غيروظيفه‌مندي‌قابل‌عملياتي‌شدنمجازشناسي

Operationalizable‌Non-functional‌Concernكانسرن‌غيروظيفه‌مندي‌نظارت‌پذير:‌كارايي‌زمان‌

پاسخCheckable‌Non-functional‌Concern

Page 21: آزمايشگاه سيستمهاي هوشمند

63

21

استخراج‌الگوي‌تحقق‌كانسرن‌هاي‌غيروظيفه‌مندي

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

تحقق‌نظارت‌امنيت

كارايي‌زمان‌پاسخ

Page 22: آزمايشگاه سيستمهاي هوشمند

63

22

استخراج‌الگوي‌تحقق‌كانسرن‌هاي‌غيروظيفه‌مندي

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

پراكندگي‌و‌در‌هم‌پيچيدگي‌كانسرن‌هاTangling‌&‌Scattering

كانسرن‌متقاطعCrosscutting‌Concern

نيازمندي‌هاي‌غيروظيفه‌منديكانسر<ن‌هاي‌متقاطع‌در‌توسعه‌كاربردهاي‌

وب‌مي‌باشند.

Page 23: آزمايشگاه سيستمهاي هوشمند

63

23

تأثير‌ناكارايي‌رويكرد‌شئ‌گرايي‌بر‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌توسعه‌كاربردهاي‌وب

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

توزيع‌مسئوليت‌پياده‌سازي‌نيازمندي‌هاي‌غيروظيفه‌مندي

ناكارايي‌در‌استفاده‌مجدد‌از‌پياده‌سازي‌نيازمندي‌هاي‌وظيفه‌مندي‌و‌غيروظيفه‌مندي

عدم‌بازنمايي‌نيازمندي‌هاي‌غيروظيفه‌م7ندي‌در‌معماري‌كاربرد‌و‌دشواري‌استدالل‌پيرامون‌آنها

دشواري‌در‌آزمون‌نيازمندي‌هاي‌غيروظيفه‌منديدشواري‌در‌نگهداري‌كاربرد‌با‌توجه‌به‌هزينه‌

اصالحات‌براي‌توسعه‌دهنده

Page 24: آزمايشگاه سيستمهاي هوشمند

63

24

راه‌حل‌پيش‌رو:‌جداسازي‌پيشرفته‌كانسرن‌ها

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

نياز‌به‌يك‌نوع‌مكانيزم‌پيمانه‌بندي‌جديدتكنيك‌جداسازي‌كانسرن‌هاتكنيك‌تركيب‌كانسرن‌ها

راه‌حل‌هاي‌ارائه‌شده‌براي‌برطرف‌نمودن‌نقطه‌ضعف‌شئ‌گرايي:

برنامه‌نويسي‌جنبه‌گرا‌1.

فيلترهاي‌تركيبي2.

جداسازي‌چندبعدي‌كانسرن‌ها3.

برنامه‌نويسي‌قابل‌تطبيق4.

Aspect-Oriented‌

Programming‌)AOP(

Page 25: آزمايشگاه سيستمهاي هوشمند

63

25

برنامه‌نويسي‌جنبه‌گرا

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

Aspect-Oriented Programming. Kiczales,‌Gregor,‌et‌al.‌Proceedings‌of‌the‌European‌Conference‌on‌Object-Oriented‌Programming‌)ECOOP(,‌1997.

بهبود‌پيمانه‌بندي‌سيستم‌با‌تمركز‌بر‌پياده‌سازي‌پيمانه‌اي‌كانسرن‌هاي‌متقاطع‌

مي‌باشد.هر‌كانسرن‌متقاطع‌را‌در‌يك‌پيمانه‌جداگانهتمام‌منطق‌كاري‌كانسرن‌هاي‌متقاطع‌از‌ساز‌و‌

كار‌اصلي‌برنامه‌مجزا‌مي‌شوند.

Page 26: آزمايشگاه سيستمهاي هوشمند

63

26

AspectJ

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

An Overview of AspectJ. Kiczales,‌Gregor,‌et‌al.‌Proceedings‌of‌the‌European‌Conference‌on‌Object-Oriented‌Programming‌)ECOOP(,‌2001.

Join‌point Pointcut Advice Inter-type‌declaration‌)introduction( Aspect‌

Page 27: آزمايشگاه سيستمهاي هوشمند

63

27

پياده‌سازي‌كانسرن‌هاي‌متقاطع‌در‌كاربردهاي‌جاوا

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

مي‌خواهيم‌اشياء‌Screenتغييرات‌اشياء‌‌Pointرا‌‌مالحظه‌كنند.

راه‌حل‌برنامه‌نويسي‌جنبه‌گرا:‌جنبه‌PointObserving

Page 28: آزمايشگاه سيستمهاي هوشمند

63

28

پياده‌سازي‌كانسرن‌هاي‌متقاطع‌در‌كاربردهاي‌جاوا

الهام‌موذن/‌پايان‌نامه‌ريشه‌يابي‌خأل‌تأمين‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌مهندسي‌كاربردهاي‌وبكارشناسي‌ارشد

aspect PointObserving { private Vector Point.observers = new Vector(); public static void addObserver(Point p, Screen s) { p.observers.add(s); } public static void removeObserver(Point p, Screen s) { p.observers.remove(s); }

pointcut changes(Point p): target(p) && call(void Point.set*(int));

after(Point p): changes(p) { Iterator iter = p.observers.iterator(); while ( iter.hasNext() ) { updateObserver(p, (Screen)iter.next()); } }

static void updateObserver(Point p, Screen s) { s.display(p); }}

introduction

pointcut

advice

aspect

Page 29: آزمايشگاه سيستمهاي هوشمند

63

29

نيازمندي‌غيروظيفه‌مندي‌با‌قابليت‌جنبه‌شدن

الهام‌موذن/‌پايان‌نامه‌زريق‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌فرآيند‌توسعه‌كاربر7دهاي‌وبتكارشناسي‌ارشد

"يک‌نيازمندي‌غيروظيفه‌مندي‌با‌قابليت‌جنبه‌شدن،‌يک‌ويژگي‌کيفي‌است‌که‌پس‌از‌پااليش‌در‌

چارچوب‌نيازمندي‌هاي‌غيروظيفه‌مندي‌کانسرن‌هاي‌زيرشاخه‌هايي‌از‌نوع‌

و‌يا‌غير<وظيفه‌مندي‌قابل‌عملياتي‌شدن‌‌کانسر<ن‌هاي‌غيروظيفه‌مندي‌نظارت‌پذير

داشته‌باشد.”امنيتكارايي

Page 30: آزمايشگاه سيستمهاي هوشمند

63

30

الهام‌موذن/‌پايان‌نامه‌زريق‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌فرآيند‌توسعه‌كاربر7دهاي‌وبتكارشناسي‌ارشد

نيازمندي‌هاي‌غيروظيفه‌مندي‌با‌قابليت‌جنبه‌شدن

Page 31: آزمايشگاه سيستمهاي هوشمند

63

31

الهام‌موذن/‌پايان‌نامه‌كارشناسي‌ارشد

بهبود‌فرآيند‌توسعه‌مورد‌مطالعاتي‌با‌تزريق‌جنبه‌گراي‌نيازمندي‌هاي‌غيروظيفه‌مندي

جمع‌آوري‌نيازمندي‌هاي‌هر‌زيرسيستم‌از‌طريق‌محك‌سيستم‌هاي‌موجود،‌دانش‌

متخصصين‌دامنه‌و‌مص<احبه‌با‌مشتري‌

استخراج‌نيازمندي‌هاي‌غيروظيفه‌مندي‌با‌قابليت‌جنبه‌‌شدن

فايل‌هاي‌HTML

توليد‌نمونه‌اوليه‌واسط‌كاربري

تدوين‌سناريوي‌كانسرن‌وظيفه‌مندي‌هسته

فايل‌هاي‌XMLطراحي‌متامدل‌واسط‌كاربري

طراحي‌متامدل‌دامنه‌

توليد‌خودكار‌اليه‌هاي‌فوقاني‌معماري

توليد‌خودكار‌اليه‌هاي‌زي<رين‌معماري

پياده‌سازي‌منطق‌

وظيفه‌مندي‌در‌هر‌اليه

تست‌سناريوي‌كانسرن‌وظيفه‌مندي

نمودارها‌UMLي‌

2.0فايل‌هاي‌نگاشت‌بر‌Hibernate‌(.hbm)

تدوين‌سناريوي‌كانسرن‌

غيروظيفه‌مندي‌قابل‌

تدوين‌عملياتي‌شدنسناريوي‌كانسرن‌

غيروظيفه‌مندي‌نظارت‌پذير

تعريف‌متامدل‌مؤلفه‌زي<رساختي‌جنبه‌گرا

برنامه‌نويسي‌جنبه‌گرا

تعريف‌متامدل‌مؤلفه‌نظارت‌گر‌جنبه‌گرا

برنامه‌نويسي‌جنبه‌گرا

نمودارهاي‌گسترش‌يافته‌

‌UMLجنبه‌گراي‌2.0

نمودارهاي‌گسترش‌يافته‌

‌UMLجنبه‌گراي‌2.0 تست‌

سناريوي‌كانسرن‌غيروظيفه‌مندي‌قا<بل‌عملياتي‌شدنتست‌سناريوي‌كانسرن‌غيروظيفه‌مندي‌

نظارت‌پذير

تالقي‌كانسرن‌هاي‌

وظيفه‌مندي‌و‌

غيروظيفه‌تست‌مندي‌يكپارچگي

Page 32: آزمايشگاه سيستمهاي هوشمند

63

32

بررس7ي‌زبان‌7هاي‌توصيف‌جنبه‌گراي‌معماري‌نرم‌افزار

الهام‌موذن/‌پايان‌نامه‌زريق‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌فرآيند‌توسعه‌كاربر7دهاي‌وبتكارشناسي‌ارشد

AOADLs ƶƀƿŚƤƯƽŚƷŹŚǀƘƯ

PRISMA AOADL‌

AspectualACME‌

AspectLEDA‌AO-ADL‌ABC/ADL‌

ƽŻŚſřŶūŚƸƳźƀƳŚƧ‌

šŚƏŚŞţŹřŻřšŚŞſŚŰƯƽŻŚſřŶū‌‌‌‌‌‌ƖƏŚƤŤƯƽŚƸƳźƀƳŚƧƽŶƴŞƸƳŚưǀě‌‌‌‌‌‌

ƽŹŚưƘƯƽŚƷŶƿŵ‌~ ~ ~ ~‌~

ƭŚƸŝřƭŶƗ‌šŚƠǀƇƺţƾưſŹƶƿŚě‌‌‌‌‌‌ŢƿŚưůƽŹřżŝř‌

ƽŹřżŝřƶģŹŚĜƨƿƎǀŰƯ‌‌‌‌‌‌ƾƬųřŵƾŬƴƀŤŰƇŹřżŝř‌‌‌‌~ ‌ƾūŹŚųƾŬƴſŹŚŞŤƗřŹřżŝř‌‌‌‌‌‌

řźūřƪŝŚƣšŚƠǀƇƺţ‌‌‌‌‌‌ƮŤƀǀſ ƶƘſƺţƪůřźƯźƿŚſŻřŢƿŚưů‌ ‌‌‌‌

ƵŵŚƯŎƄǀěŻřƽŹŚŬţƽŚƸƸƠƫŒƯƭŚưƌƳřŻřŢƿŚưů‌ ‌‌‌‌‌‌ŻřŢƿŚưůUML ~ ‌~ ‌‌ŚŝơŚŞƐƳřAspectJ ‌‌‌‌

ƹƽŹřŶƸĮƳƪƯŚƨţ‌

ƞǀƇƺţƱŚƯŻƪƯŚƨţ‌‌‌~‌~‌~‌řźūřƱŚƯŻƪƯŚƨţ‌‌‌~‌‌‌

ƵźŤƀĭŵźŝŹŚƧ‌ƶƴƯřŵ‌

ƵŹƺƔƴưƸưƷ�‌ƶŞƴūƽŹŚưƘƯ-

řźĭ‌

ƵŹƺƔƴưƸưƷ�‌‌)źǀƛ(ƽŹŚưƘƯ

řźĮƸŞƴū

ƵŹƺƔƴưƸưƷ�‌‌)źǀƛ(ƽŹŚưƘƯ

řźĮƸŞƴū

ƵŹƺƔƴưƸưƷ�‌‌)źǀƛ(ƽŹŚưƘƯ

řźĮƸŞƴū

ƵŹƺƔƴưƸưƷ�‌‌)źǀƛ(ƽŹŚưƘƯ

řźĮƸŞƴū

ƽźƿŸĜƸƘſƺţ‌~‌~‌~‌~‌~‌:‌فقدان<):‌قابل‌قبول<،‌~‌:‌ضعيف،‌مقايسه‌زبان‌هاي‌توصيف‌جنبه‌گراي‌نرم‌افزار‌(

Page 33: آزمايشگاه سيستمهاي هوشمند

63

33

تعريف‌متامدل‌جنبه‌براي‌مدلسازي‌كانسرن‌هاي‌UML‌2.0غيروظيفه‌مندي‌با‌گسترش‌جنبه‌گراي‌

الهام‌موذن/‌پايان‌نامه‌زريق‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌فرآيند‌توسعه‌كاربر7دهاي‌وبتكارشناسي‌ارشد

<<NFR>>‌ <<ONFC>> <<CNFC>>

<<Aspect>> <<pointcut>> <<advice>>

Page 34: آزمايشگاه سيستمهاي هوشمند

63

34

‌به‌عنوان‌يك‌Authorizationمدلسازي‌كانسرن‌كانسرن‌غيروظيفه‌مندي‌با‌قابليت‌عملياتي‌شدن‌در‌

Securityمؤلفه‌جنبه‌گراي‌

الهام‌موذن/‌پايان‌نامه‌زريق‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌فرآيند‌توسعه‌كاربر7دهاي‌وبتكارشناسي‌ارشد

Page 35: آزمايشگاه سيستمهاي هوشمند

63

35

،‌توصيف‌‌Authorizationدر‌جنبه‌advice1نحوه‌تحقق‌‌نظير‌آنCollaborationشده‌در‌

الهام‌موذن/‌پايان‌نامه‌زريق‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌فرآيند‌توسعه‌كاربر7دهاي‌وبتكارشناسي‌ارشد

Page 36: آزمايشگاه سيستمهاي هوشمند

63

36

‌Response‌Time‌Monitoringمدلسازي‌كانسرن‌‌به‌عنوان‌يك‌كانسرن‌غيروظيفه‌مندي‌نظارت‌پذير‌

Performanceدر‌مؤلفه‌جنبه‌گراي‌

الهام‌موذن/‌پايان‌نامه‌زريق‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌فرآيند‌توسعه‌كاربر7دهاي‌وبتكارشناسي‌ارشد

Page 37: آزمايشگاه سيستمهاي هوشمند

63

37

‌‌‌Response‌Timeدر‌جنبهadvice1نحوه‌تحققMonitoringتوصيف‌شده‌در‌‌Collaborationنظير‌آن‌‌

الهام‌موذن/‌پايان‌نامه‌زريق‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌فرآيند‌توسعه‌كاربر7دهاي‌وبتكارشناسي‌ارشد

Page 38: آزمايشگاه سيستمهاي هوشمند

63

38

بخشي‌از‌كد‌مورد‌كاربرد‌محاسبه‌حقوق‌در‌‌‌پس‌از‌اعمال‌فرآيند‌Model‌Controllerالي7ه

توسعه‌جنبه‌گراي‌پيشنهادي

الهام‌موذن/‌پايان‌نامه‌زريق‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌فرآيند‌توسعه‌كاربر7دهاي‌وبتكارشناسي‌ارشد

Page 39: آزمايشگاه سيستمهاي هوشمند

63

39

الهام‌موذن/‌پايان‌نامه‌كارشناسي‌ارشد

كانسرن پيمانه‌بندي Authorizationمتقاطع

جنبه يك در

Page 40: آزمايشگاه سيستمهاي هوشمند

63

40

الهام‌موذن/‌پايان‌نامه‌كارشناسي‌ارشد

متقاطع كانسرن پيمانه‌بنديTime‌Monitoring‌Response در

جنبه يك

Page 41: آزمايشگاه سيستمهاي هوشمند

63

41

ارزيابي‌راه‌حل‌پيشنهادي

الهام‌موذن/‌پايان‌نامه‌ارزيابي‌راه‌حل‌پيشنهاديكارشناسي‌ارشد

Architecture Ok?

Architecture(Re)definition

Go!Implement Architecture

yes

no

Review GuidelinesQuality Criteria

Page 42: آزمايشگاه سيستمهاي هوشمند

63

42

ارزيابي‌مبتني‌بر‌سناريو

الهام‌موذن/‌پايان‌نامه‌كارشناسي‌ارشد

استفاده‌از‌رويكرد‌جنبه‌گرايي‌در‌مدلسازي‌و‌ارزيابي‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌طراحي‌سيستم‌هاي‌مبتني‌بر‌7وب

روش‌ارزيابي‌SAAMتوصيف‌معماري‌هاي‌كانديد1.توسعه‌سناريوها2.طبقه‌بندي‌و‌اولويت‌دهي‌سناريوها3.ارزيابي‌سناريوها4.بدست‌آوردن‌ارتباطات‌بين‌سناريوها5.تهيه‌ارزيابي‌كلي6.

Page 43: آزمايشگاه سيستمهاي هوشمند

63

43

SAAMمشكل‌روش‌

الهام‌موذن/‌پايان‌نامه‌ارزيابي‌راه‌حل‌پيشنهاديكارشناسي‌ارشد

Architecture Ok?

Go!Implement Architecture

yes

Indirect Scenario

Refactor

نمي‌توانم‌معماري‌خوبي‌بدست‌آورم،‌مشكل‌چيست؟

no

Page 44: آزمايشگاه سيستمهاي هوشمند

63

44

ASAAMروش‌ارزيابي‌

الهام‌موذن/‌پايان‌نامه‌كارشناسي‌ارشد

استفاده‌از‌رويكرد‌جنبه‌گرايي‌در‌مدلسازي‌و‌ارزيابي‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌طراحي‌سيستم‌هاي‌مبتني‌بر‌7وب

‌7گسترش‌جنبه‌گرايSAAMتوسعه‌معماري‌‌كانديد1.توسعه‌و‌اولويت‌دهي‌سناريوها2.ارزيابي‌تك‌تك‌سناريوها‌و‌تشخيص‌جنبه‌ها3.

سناريوهاي‌مستقيم،‌سناريوهاي‌غيرمستقيم،‌سناريوهاي‌جنبه‌گونه،‌جنبه‌هاي‌معماري

ارزيابي‌تعامل‌سناريوها‌و‌طبقه‌بندي‌مؤلفه‌ها4.مؤلفه‌چسبناك،‌مؤلفه‌در‌هم‌پيچيده،‌مولفه‌مركب،‌مؤلفه‌

بدتعريفطراحي‌مجدد‌معماري5.

)...‌،تك7نيك‌هاي‌متداول‌)الگوهاي‌طراحي‌شئ‌گراتك7نيك‌هاي‌جنبه‌گرايي

Page 45: آزمايشگاه سيستمهاي هوشمند

63

45

ارزيابي‌معماري‌پايه‌و‌معماري‌پيشنهادي‌مورد‌مطالعاتي‌ASAAMبا‌استفاده‌از‌

الهام‌موذن/‌پايان‌نامه‌ارزيابي‌راه‌حل‌پيشنهاديكارشناسي‌ارشد

ارزيابي‌قابليت‌نگهداشتسناريوهاي‌نگهداشت‌اصالحيسناريوهاي‌نگهداشت‌تكميليسناريوهاي‌نگهداشت‌تطبيقيسناريوهاي‌نگهداشت‌پيش‌گيرنده

Page 46: آزمايشگاه سيستمهاي هوشمند

63

46

توصيف‌معماري‌)معماري‌پايه(‌

الهام‌موذن/‌پايان‌نامه‌ارزيابي‌راه‌حل‌پيشنهاديكارشناسي‌ارشد

تحقق‌نظارت‌امنيت

كارايي‌زمان‌پاسخ

Page 47: آزمايشگاه سيستمهاي هوشمند

63

47

توصيف‌معماري‌)معماري‌پيشنهادي(‌

الهام‌موذن/‌پايان‌نامه‌ارزيابي‌راه‌حل‌پيشنهاديكارشناسي‌ارشد

Page 48: آزمايشگاه سيستمهاي هوشمند

63

48

توسعه‌سناريوها

الهام‌موذن/‌پايان‌نامه‌ASAAMارزيابي‌معماري‌پايه‌و‌معماري‌پيشنهادي‌مورد‌مطالعاتي‌با‌استفاده‌از‌كارشناسي‌ارشد

سناريو شماره سناريو نوع

S100‌-‌165 هسته وظيفه‌مندي كانسرن‌هاي سناريوهايS200 عملياتي قابل غيروظيفه‌مندي كانسرن سناريوهاي

شدنS201 نظارت‌پذير غيروظيفه‌مندي كانسرن سناريوهاي

S300-301 كانسرن‌هاي اصالحي نگهداشت سناريوهايغيروظيفه‌مندي

S302-303 كانسرن‌هاي تكميلي نگهداشت سناريوهايغيروظيفه‌مندي

S304-305 كانسرن‌هاي تطبيقي نگهداشت سناريوهايغيروظيفه‌مندي

S306 كانسرن‌هاي پيش‌گيرنده نگهداشت سناريويغيروظيفه‌مندي

Page 49: آزمايشگاه سيستمهاي هوشمند

63

49

ارزيابي‌سناريوها‌و‌تشخيص‌جنبه‌ها‌در‌معماري‌پايه

الهام‌موذن/‌پايان‌نامه‌ASAAMارزيابي‌معماري‌پايه‌و‌معماري‌پيشنهادي‌مورد‌مطالعاتي‌با‌استفاده‌از‌كارشناسي‌ارشد

شماره‌سناريو

مؤلفه‌هاي‌متأثر اليه‌هاي‌معماري‌متأثر

نوع‌سناريو(مستقيم،‌غيرمستقيم،‌جنبه‌گونه)

S100-115 Enterprise‌Info Presentation‌LayerModel‌ControllerSpring‌Service‌

LayerData‌Access‌Layer

مستقيم

S116-122 Salary‌Calculation

مانند‌باال مستقيم

S123-130 Employee‌Management

مانند‌باال مستقيم

S131-140 Recruitment مانند‌باال مستقيمS141-150 Self‌Service مانند‌باال مستقيمS151-165 General‌

Accountingمانند‌باال مستقيم

Page 50: آزمايشگاه سيستمهاي هوشمند

63

استفاده‌از‌رويكرد‌جنبه‌گرايي‌در‌مدلسازي‌و‌ارزيابي‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌طراحي‌سيستم‌هاي‌مبتني‌بر‌وب

50

ارزيابي‌سناريوها‌و‌تشخيص‌جنبه‌ها‌در‌معماري‌پايه

الهام‌موذن/‌پايان‌نامه‌كارشناسي‌ارشد

شماره‌سناريو

مؤلفه‌هاي‌متأثر اليه‌هاي‌معماري‌متأثر

نوع‌سناريو(مستقيم،‌غيرمستقيم،‌جنبه‌گونه)

S200 Enterprise‌InfoSalary‌

CalculationEmployee‌

ManagementRecruitmentSelf‌ServiceGeneral‌

Accounting

Presentation‌LayerModel‌ControllerSpring‌Service‌

LayerData‌Access‌Layer

جنبه‌گونهمستقيم‌

S201 Enterprise‌InfoSalary‌

CalculationEmployee‌

ManagementRecruitmentSelf‌ServiceGeneral‌

Accounting

Presentation‌LayerModel‌ControllerSpring‌Service‌

LayerData‌Access‌Layer

جنبه‌گونهمستقيم‌

Page 51: آزمايشگاه سيستمهاي هوشمند

63

51

ارزيابي‌سناريوها‌و‌تشخيص‌جنبه‌ها‌در‌معماري‌پايه

الهام‌موذن/‌پايان‌نامه‌ASAAMارزيابي‌معماري‌پايه‌و‌معماري‌پيشنهادي‌مورد‌مطالعاتي‌با‌استفاده‌از‌كارشناسي‌ارشد

شماره‌سناريو مؤلفه‌هاي‌متأثر اليه‌هاي‌معماري‌متأثر نوع‌سناريو(مستقيم،‌غيرمستقيم،‌جنبه‌گونه)

S300 Enterprise‌InfoSalary‌Calculation

Employee‌ManagementRecruitmentSelf‌Service

General‌Accounting

Presentation‌LayerModel‌Controller

Spring‌Service‌LayerData‌Access‌Layer

غيرمستقيم‌جنبه‌گونه

S301 Enterprise‌InfoSalary‌Calculation

Employee‌ManagementRecruitmentSelf‌Service

General‌Accounting

Model‌ControllerSpring‌Service‌LayerData‌Access‌Layer

غيرمستقيم‌جنبه‌گونه

S302 Salary‌CalculationSelf‌Service

Data‌Access‌Layer غيرمستقيم‌جنبه‌گونه

S303 Enterprise‌InfoSalary‌Calculation

Employee‌ManagementRecruitmentSelf‌Service

General‌Accounting

Model‌ControllerSpring‌Service‌LayerData‌Access‌Layer

غيرمستقيم‌جنبه‌گونه

S304 Enterprise‌InfoSalary‌Calculation

Employee‌ManagementRecruitmentSelf‌Service

General‌Accounting

Model‌ControllerSpring‌Service‌LayerData‌Access‌Layer

غيرمستقيم‌جنبه‌گونه

S305 Enterprise‌InfoSalary‌Calculation

Employee‌ManagementRecruitmentSelf‌Service

General‌Accounting

Presentation‌LayerModel‌Controller

Spring‌Service‌LayerData‌Access‌Layer

غيرمستقيم‌جنبه‌گونه

S306 Enterprise‌InfoSalary‌Calculation

Employee‌ManagementRecruitmentSelf‌Service

General‌Accounting

Model‌Controller غيرمستقيم‌جنبه‌گونه

Page 52: آزمايشگاه سيستمهاي هوشمند

63

52

ارزيابي‌سناريوها‌و‌تشخيص‌جنبه‌ها‌در‌معماري‌جنبه‌گراي‌پيشنهادي

الهام‌موذن/‌پايان‌نامه‌ASAAMارزيابي‌معماري‌پايه‌و‌معماري‌پيشنهادي‌مورد‌مطالعاتي‌با‌استفاده‌از‌كارشناسي‌ارشد

شماره‌سناريو

مؤلفه‌هاي‌متأثر اليه‌هاي‌معماري‌متأثر

نوع‌سناريو(مستقيم،‌غيرمستقيم،‌جنبه‌گونه)

S100-115 Enterprise‌Info Presentation‌LayerModel‌ControllerSpring‌Service‌

LayerData‌Access‌Layer

مستقيم

S116-122 Salary‌Calculation

مانند‌باال مستقيم

S123-130 Employee‌Management

مانند‌باال مستقيم

S131-140 Recruitment مانند‌باال مستقيمS141-150 Self‌Service مانند‌باال مستقيمS151-165 General‌

Accountingمانند‌باال مستقيم

Page 53: آزمايشگاه سيستمهاي هوشمند

63

53

ارزيابي‌سناريوها‌و‌تشخيص‌جنبه‌ها‌در‌معماري‌جنبه‌گراي‌پيشنهادي

الهام‌موذن/‌پايان‌نامه‌ASAAMارزيابي‌معماري‌پايه‌و‌معماري‌پيشنهادي‌مورد‌مطالعاتي‌با‌استفاده‌از‌كارشناسي‌ارشد

شماره‌سناريو

مؤلفه‌هاي‌متأثر اليه‌هاي‌معماري‌متأثر

نوع‌سناريو(مستقيم،‌غيرمستقيم،‌جنبه‌گونه)

S200 Security Presentation‌LayerModel‌ControllerSpring‌Service‌

LayerData‌Access‌Layer

مستقيم

S201 Performance Presentation‌LayerModel‌ControllerSpring‌Service‌

LayerData‌Access‌Layer

مستقيم

Page 54: آزمايشگاه سيستمهاي هوشمند

63

54

ارزيابي‌سناريوها‌و‌تشخيص‌جنبه‌ها‌در‌معماري‌پايه

الهام‌موذن/‌پايان‌نامه‌ASAAMارزيابي‌معماري‌پايه‌و‌معماري‌پيشنهادي‌مورد‌مطالعاتي‌با‌استفاده‌از‌كارشناسي‌ارشد

شماره‌سناريو

مؤلفه‌هاي‌متأثر اليه‌هاي‌معماري‌متأثر

نوع‌سناريو(مستقيم،‌غيرمستقيم،‌جنبه‌گونه)

S300 Security Presentation‌LayerModel‌Controller

Spring‌Service‌LayerData‌Access‌Layer

غيرمستقيم

S301 Performance Model‌ControllerSpring‌Service‌LayerData‌Access‌Layer

غيرمستقيم

S302 Security Data‌Access‌Layer غيرمستقيم

S303 Performance Model‌ControllerSpring‌Service‌LayerData‌Access‌Layer

غيرمستقيم

S304 Performance Model‌ControllerSpring‌Service‌LayerData‌Access‌Layer

غيرمستقيم

S305 Security Presentation‌LayerModel‌Controller

Spring‌Service‌LayerData‌Access‌Layer

غيرمستقيم

S306 Security Model‌Controller غيرمستقيم

Page 55: آزمايشگاه سيستمهاي هوشمند

63

55

مح7اسبه‌هزينه‌سناريوهاي‌نگهداشت‌7د7ر‌هر‌دو‌معماري

الهام‌موذن/‌پايان‌نامه‌ASAAMارزيابي‌معماري‌پايه‌و‌معماري‌پيشنهادي‌مورد‌مطالعاتي‌با‌استفاده‌از‌كارشناسي‌ارشد

Cost‌=[‌(L‌*‌M‌*‌C‌)‌/‌T]‌*‌100

Cost‌:هزينه‌متوسط‌نگهداريL‌:تعداد‌اليه‌هاي‌متأثر‌معماريM‌:متوسط‌تعداد‌پيمانه‌هاي‌متأثر‌هر‌مؤلفه‌در‌هر‌

اليهCتعداد‌مؤلفه‌هاي‌متأثر‌:T:کل‌تعداد‌پيمانه‌هاي‌زيرسيستم‌بررسي‌شده‌

Page 56: آزمايشگاه سيستمهاي هوشمند

63

56

مح7اسبه‌هزينه‌سناريوهاي‌نگهداشت‌7د7ر‌هر‌دو‌معماري

الهام‌موذن/‌پايان‌نامه‌ASAAMارزيابي‌معماري‌پايه‌و‌معماري‌پيشنهادي‌مورد‌مطالعاتي‌با‌استفاده‌از‌كارشناسي‌ارشد

شماره‌سناريو

هزينه‌متوسط‌نگهداري‌هر‌

پيمانه‌در‌معماري‌پايه

هزينه‌متوسط‌نگهداري‌هر‌

پيمانه‌در‌معماري‌جنبه‌گرا

S300 100[‌*‌96(‌/‌6‌*‌4‌*‌4])

100[‌*‌108(‌/‌1‌*‌1.5‌*‌4])

S301 100[‌*‌96(‌/‌6‌*‌4‌*‌3])

100[‌*‌108(‌/‌1‌*‌1.5‌*‌3])

S302 100[‌*‌96(‌/‌2‌*‌4‌*‌1])

100[‌*‌108(‌/‌1‌*‌1.5‌*‌1])

S303 100[‌*‌96(‌/‌6‌*‌4‌*‌3])

100[‌*‌108(‌/‌1‌*‌1.5‌*‌3])

S304 100[‌*‌96(‌/‌6‌*‌4‌*‌3])

100[‌*‌108(‌/‌1‌*‌1.5‌*‌3])

S305 100[‌*‌96(‌/‌6‌*‌4‌*‌4])

100[‌*‌108(‌/‌1‌*‌1.5‌*‌4])

S306 100[‌*‌96(‌/‌6‌*‌4‌*‌1])

100[‌*‌108(‌/‌1‌*‌1.5‌*‌1])

Page 57: آزمايشگاه سيستمهاي هوشمند

63

استفاده‌از‌رويكرد‌جنبه‌گرايي‌در‌مدلسازي‌و‌ارزيابي‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌طراحي‌سيستم‌هاي‌مبتني‌بر‌وب

57

مح7اسبه‌هزينه‌سناريوهاي‌نگهداشت‌7د7ر‌هر‌دو‌معماري

الهام‌موذن/‌پايان‌نامه‌كارشناسي‌ارشد

فعاليت‌نگهداري

متوسط‌هزينه‌در‌معماري‌پايه‌در‌

100مقياس‌

متوسط‌هزينه‌در‌معماري‌جنبه‌گرا‌در‌

100مقياس‌نگهداشت‌

اصالحي87.5 4.85

نگهداشت‌تكميلي‌

41.65 2.8

نگهداشت‌تطبيقي‌

87.5 4.85

نگهداشت‌پيش‌گ7يرنده

25 1.4

Page 58: آزمايشگاه سيستمهاي هوشمند

63

58

دستاوردهاي‌اصلي

الهام‌موذن/‌پايان‌نامه‌نتيجه‌گيريكارشناسي‌ارشد

روشي‌براي‌تزريق‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌طراحي‌معماري‌كاربردهاي‌وب‌

ارائه‌چارچوبي‌براي‌بررسي‌زبان‌هاي‌توصيف‌جنبه‌گراي‌م7عماري‌نرم‌افزار

گسترش‌UML‌2.0به‌منظور‌مدل‌سازي‌‌نيازمندي‌هاي‌غيروظيفه‌مندي‌به‌صورت‌جنبه‌هاي‌

معمارياتكا‌بر‌مورد‌مطالعاتي‌صنعتي‌و‌واقعيتأثير‌بسيار‌قابل‌توجه‌رويكرد‌جنبه‌گرايي‌بر‌قابليت‌

نگهداشت‌كاربردهاي‌سازماني‌مبتني‌بر‌وب

Page 59: آزمايشگاه سيستمهاي هوشمند

63

پيشنهادات

الهام‌موذن/‌پايان‌نامه‌نتيجه‌گيريكارشناسي‌ارشد

59

بررسي‌قابليت‌جنبه‌شدن‌ساير‌نيازمندي‌هاي‌غيروظيفه‌مندي

بررسي‌ابعاد‌ديگر‌تأثير‌استفاده‌از‌رويكرد‌جنبه‌گرايي‌در‌م7هندسي‌وب

يكپارچه‌سازي‌انواع‌زبان‌هاي‌ارائه‌شده‌براي‌توصيف‌معماري‌هاي‌جنبه‌گرا‌و‌بهبود‌ضعف‌هاي‌آنها

بسط‌راه‌حل‌پيشنهادي‌به‌نيازمندي‌هاي‌وظيفه‌مندي‌با‌قابليت‌جنبه‌شدن

Page 60: آزمايشگاه سيستمهاي هوشمند

63

استفاده‌از‌رويكرد‌جنبه‌گرايي‌در‌مدلسازي‌و‌ارزيابي‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌طراحي‌سيستم‌هاي‌مبتني‌بر‌وب

60

مراجع

الهام‌موذن/‌پايان‌نامه‌كارشناسي‌ارشد

- Pressman, Roger S. Software Engineering: A Practioner's Approach, Seventh Edition. s.l. : McGraw-Hill.- Chung, Lawrence, et al. Non-Functional Requirements in Software Engineering. s.l. : Kluwer Academic Publishers, 2000.- Requirements Engineering for Web Applications – A Comparative Study. ESCALONA, M JOSÉ and KOCH, NORA. s.l. : Journal of Web Engineering, 2004, Vol. 2, pp. 193-212.- Quality Attributes of Web Software Applications. Offutt, Jeff. s.l. : IEEE Software, 2002.- Chitchyan, Ruzanna, et al. Survey of Analysis and Design Approaches. s.l. : AOSD-Europe, 2005. Deliverable D11.- Fowler, Martin, et al. Patterns of Enterprise Application Architecture. s.l. : Addison Wesley, 2002.- KANDÉ, Mohamed Mancona. A Concern-Oriented Approach to Software Architecture. s.l. : PhD Thesis, Swiss Federal Institute of Technology (EPFL), Lausanne, Switzerland, 2003.- Jacobson, Ivar and Ng, Pan-Wei. Aspect-Oriented Software Development with Use Cases. s.l. : Addison Wesley Professional, 2005.- Aspect-Oriented Programming. Kiczales, Gregor, et al. s.l. : Proceedings of the European Conference on Object-Oriented Programming (ECOOP), 1997.- An Overview of AspectJ. Kiczales, Gregor, et al. s.l. : Proceedings of the European Conference on Object-Oriented Programming (ECOOP), 2001.- AspectJ. [Online] http://eclipse.org/aspectj/.- Aspect-Oriented Software Development Community & Conference. [Online] http://aosd.net/.- Pérez, Jenifer. PRISMA: Aspect-Oriented Software Architectures. s.l. : PhD Thesis. Department of Information Systems and Computation, Polytechnic University of Valencia, 2006.

Page 61: آزمايشگاه سيستمهاي هوشمند

63

61

الهام‌موذن/‌پايان‌نامه‌كارشناسي‌ارشد

استفاده‌از‌رويكرد‌جنبه‌گرايي‌در‌مدلسازي‌و‌ارزيابي‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌طراحي‌سيستم‌هاي‌مبتني‌بر‌7وب

مراجع

-On the Modular Representation of Architectural Aspects. Garcia, Alessandro, et al. s.l. : Proceedings of the 3rd. European Workshop on Software Architecture (EWSA'06), 2006.- An ADL dealing with aspects at software architecture stage. Navasa, Amparo, Pérez-Toledano, Miguel A and Murillo, Juan M. s.l. : Information and Software Technology, 2009, Vol. 51, pp. 306-324.- AO-ADL: An ADL for Describing Aspect-Oriented Architectures. Pinto, Mónica and Fuentes, Lidia. s.l. : Lecture Notes in Computer Science, Springer, 2007.- Supporting crosscutting concern modelling in software architecture design. Donggang, Cao, Hong, Mei and Minghui, Zhou. s.l. : Frontiers of Computer Science in China, 2007, Vol. 1, pp. 50-57.- Clements, Paul, Kazman, Rick and Klein, Mark. Evaluating software architectures: methods and case studies. s.l. : Addison-Wesley, 2006.- Garland, Jeff and Anthony, Richard. Large-Scale Software Architecture, A Practical Guide using UML. s.l. : John Wiley & Sons ltd, 2003.- ASAAM: Aspectual Software Architecture Analysis Method. Tekinerdogan, Bedir. s.l. : Proceedings of the Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA), 2004. pp. 5-14.- Rashid, Awais. Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design. [Online] http://www.early-aspects.net/.- Aspect Oriented Software Architecture: a Structural Perspective.

Page 62: آزمايشگاه سيستمهاي هوشمند

63

استفاده‌از‌رويكرد‌جنبه‌گرايي‌در‌مدلسازي‌و‌ارزيابي‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌طراحي‌سيستم‌هاي‌مبتني‌بر‌وب

سپاسگزاريجناب‌آقاي‌دكتر‌احمد‌عبدالله‌زاده‌بارفروشجناب‌آقاي‌دكتر‌سيد‌مجيد‌نورحسينيجناب‌آقاي‌دكتر‌رامتين‌خسرويشركت‌مهندسي‌راي‌دانا

62

الهام‌موذن/‌پايان‌نامه‌كارشناسي‌ارشد

Page 63: آزمايشگاه سيستمهاي هوشمند

63

استفاده‌از‌رويكرد‌جنبه‌گرايي‌در‌مدلسازي‌و‌ارزيابي‌نيازمندي‌هاي‌غيروظيفه‌مندي‌در‌طراحي‌سيستم‌هاي‌مبتني‌بر‌وب

الهام‌موذن/‌پايان‌نامه‌كارشناسي‌ارشد

63

با‌سپاس‌و‌آرزوي‌موفقيت