27
دا ام خ ه ن ب1 د ن م ش و ه م هاي ت س سي گاه ش ي ما ز$ ا( http://ce.aut.ac.ir/islab ) زگ ز ب ازي ز ف زم ا ب هاي م ت س سي ي اده ساز ن/ پ و ي ح را ط وم س ري س هاي ن پ ر م ت ه ش? ي/ پ دل از ن ل ا اده له ز ل د ن ع ر کت د اي ق$ ا سال دوم م ت پ86

به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

  • View
    248

  • Download
    4

Embed Size (px)

Citation preview

Page 1: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

به نام خدا

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

(http://ce.aut.ac.ir/islab)

تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

الناز دل پيشه

آقاي دکتر عبدلله زاده

86نيمسال دوم

Page 2: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

:1تمرين

prototyping pattern.را بررسي کنيد

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

(http://ce.aut.ac.ir/islab)

Page 3: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

)ادامه(1تمرين

اين الگو در جايي بکار مي رود که ما عملياتي را انجام دادهايم و شيءي را ساخته ايم اما در جايي ديگر مي خواهيم از

شيء هايي استفاده کنيم. اين الگو زماني استفاده مي شود که از چگونگي توليد

محصولي اطالع نداريم. از موارد کاربرد ديگر اين الگو اين است که ما شيءي را مي

خواهيم اما تنها زمان اجرا مشخص مي شود که اين شيء چيست.

از موارد ديگر کاربرد اين الگو اين است که ما در برنامه ماناز تعداد اشياء توليد شده در زمان اجرا مطمئن نيستيم.

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

(http://ce.aut.ac.ir/islab)

Page 4: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

)ادامه(1تمرين

از مزاياي اين الگو اين است که حذف اضافه در زمان اجرا انجام مي شود.

مزيت دوم اين الگو اين است که سيستم ماديناميک )پويا( خواهد بود و با تغيير متغير ها و حاالت در شيء جديد ما مي توانيم اين پويايي

را ايجاد نماييم. ديگر مزيت اين الگو اين است که ما زير

کالس کردن را در آن کاهش مي دهيم.

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

(http://ce.aut.ac.ir/islab)

Page 5: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

)ادامه(1تمرين

دياگرام کالس اين الگو در ذيل قابل مشاهدهاست.

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

(http://ce.aut.ac.ir/islab)

Page 6: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

:1منبع تمرين

Gamma GOF, Design patterns

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

(http://ce.aut.ac.ir/islab)

Page 7: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

2تمرين

هرview باکداميک از نمودارهاي UML قابل مشاهده است.

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

(http://ce.aut.ac.ir/islab)

Page 8: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

)ادامه(2تمرين

Analysis focused: Class diagramAnalysis interaction: Interaction diagramAnalysis overall: Class diagramContext: UseCase diagramComponent: Component diagramComponent interaction: Interaction diagramComponent state: State diagram

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

(http://ce.aut.ac.ir/islab)

Page 9: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

)ادامه(2تمرين

Logical Data: Class diagramSubsystem Interface Dependency: Class diagramDeployment: Deployment diagramPhysical data: Deployment diagramProcess: Deployment diagramProcess state: State diagram

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

(http://ce.aut.ac.ir/islab)

Page 10: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

:2منبع تمرين

Jeff Garland, Richard Anthony, Large – scale software architecture, 2003.

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

(http://ce.aut.ac.ir/islab)

Page 11: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

:3تمرين

checklist ي براي کنترل کيفيت و عملکرد معماري سيستم ارائه دهيد.

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

(http://ce.aut.ac.ir/islab)

Page 12: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

: )ادامه(3تمرين

طراحي داده هامدلسازي داده- ساختار داده- پايگاه داده- انباره دادهطراحي تفصيلي داده در سطح اجزابکار بردن اصول طراحي نظام مند در مورد داده هاشناسايي تمام عمليات و ساختمان داده هاايجاد فرهنگ داده ايکتابخانه اي از ساختمان داده هاي مفيدبه تعويق انداختن تصميمات مربوط به سطوح پايين طراحي داده تا اواخر فرايند طراحي

انتخابStyleمناسب براي معماري انتخاب الگوي مناسب براي طراحي معماريتحليل طرح هاي معماري جايگزين

ATAMرهنمود کمي براي طراحي معماريبررسي پيچيدگي معماري

نگاشت نيازمندي ها در يک معماري نرم افزار نگاشت تبديالتDFDبه سبک به خصوصي در معماري نگاشت تراکنش ها(پااليش و ارزيابي طراحي معماريQDS)

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

(http://ce.aut.ac.ir/islab)

Page 13: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

:4تمرين

در رابطه باCORBA .يک تمرين صورت گيرد مشخصات آن ذکر شود. کد مجازي، تعريف آن در پروژه و نحوه ي استفاده آن در پروژه ذکر گردد.

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

(http://ce.aut.ac.ir/islab)

Page 14: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

: )ادامه(4تمرين

ORB Core – CORBA runtime infrastructureORB Interface – Standard interface (defined in IDL)

to function provided by all CORBA- compliant ORBs.

IDL Stubs ايجاد شده به وسيله پردازنده هايIDL براي هر واسط

.IDLتعريف شده در پنهان کردن جزئيات سطح پايين ارتباطاتObject ها در

Clientشبکه از ارائه يکAPI سطح باال و Object type-specific.

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

(http://ce.aut.ac.ir/islab)

Page 15: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

: )ادامه(4تمرين

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

(http://ce.aut.ac.ir/islab)

تماميobject هاي تعريف شده در CORBA از يک Interface Definition Language (IDL).استفاده مي کنند

Language mappings are defined from IDL-> c,C++,Ada95, and Smalltack80

( امکان عدم تجانسHeterogeneity زبان ها )

IDL

Interface MineToCee

{void myOper (long ArgA)

}

C++

Class MineToCee

Public virtual CORBA::Object

{virtual void myOper(CORBA::long ArgA);

}

Page 16: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

: )ادامه(4تمرين

Object Request Broker (ORB): استقاللclientها از سرويس ها

Locational and functional Transparency درخواست هايclient.از نظر خودش فراخواني يک تابع محلي است

هنگامي که يکclient يک operation ،را فراخواني مي کند ORB مربوطه، در صورت نياز فعال Objectمسئول يافتن پياده سازي

و برگرداندن هرگونه پاسخ Objectکردن آن، تحويل درخواست به به در خواست کننده، مي باشد.

واسطORB( مجموعه اي از وظايفtasks و )library هايي که امکان

تبديلobject reference( را به رشته String و برعکس به وجود مي )آورند.

ايجاد ليست آرگومان ها براي در خواست هايي که درdynamic Invocation Interface (Dll).به وجود مي آيند

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

(http://ce.aut.ac.ir/islab)

Page 17: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

: )ادامه(4تمرين

جايگاهinterface و implementation

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

(http://ce.aut.ac.ir/islab)

Page 18: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

:4منبع تمرين

CORBA Basics (www.omg.org)

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

(http://ce.aut.ac.ir/islab)

Page 19: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

:5تمرين

انواعstakeholder ها را بيان نموده و بگوييد هر يک چه interest.ي دارند

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

(http://ce.aut.ac.ir/islab)

Page 20: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

:6تمرين

روشها، ابزار و تکنيکهاي تخمين و ريسک رادر سيستمهاي بزرگ با آخرين دستاوردها

گزارش کنيد

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

(http://ce.aut.ac.ir/islab)

Page 21: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

: )ادامه(6تمرين

روش هاي متداول تخمين زمان و هزينه خوداساسا انتزاعي است با اين همه هنوز هم

تخمين پروژه امري الزم و ضروري محسوب مي شود.

:مشکالت ناشي از تخمين بد هزينه توليد سيستم افزايش مي يابد كه اين يعني

ضرر توليدكننده نرم افزار سيستم با قابليت ها و انتظارات ناكافي و در

كيفيتي نامناسب ارايه مي شود

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

(http://ce.aut.ac.ir/islab)

Page 22: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

: )ادامه(6تمرين

روشCOCOMO ميزان خطوط كد الزم Functionبراي توليد برنامه بر اساس مفهوم

point تخمين زده شده و بر اساس آن حجم فعاليت هاي الزم براي پروژه تخمين زده مي

شود.

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

(http://ce.aut.ac.ir/islab)

Page 23: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

: )ادامه(6تمرين

متخصصينRUP نيز روش هاي گوناگوني را براي تخمين هزينه و برآوردهاي واقع بينانه پروژه ارايه كرده اند:

روشUse Case Point: در اين روش با تعريف Use Case Point هاي سيستم و تخصيص نفر ساعت الزم براي

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

سناريوهاي آن هاست. فرآيند تشخيص و تشريح يوزكيس هاي سيستم هر چه با دقت بيشتري انجام شود

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

(http://ce.aut.ac.ir/islab)

Page 24: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

:7تمرين

مسائل مورد توجه در مسير استفاده ازversion در کالس بررسي شد، چگونه بايد اين مسائل را حل

نمونه يک کار ارائه دهيد. 2کنيم؟ براي حداقل

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

(http://ce.aut.ac.ir/islab)

Page 25: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

)ادامه(7تمرين

انتخاب ورژن درست استفاده ازProxy استفاده ازBitmap

وابستگي ورژن ها و مسائل موجود وابستگي ورژن ها مي تواند به عنوان خصيصه هر

ورژن ثبت شود.طبقه بندي و گروه بندي ورژن هاBaselineها ذخيره شوند استفاده از جداول Lookup

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

(http://ce.aut.ac.ir/islab)

Page 26: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

)ادامه(7تمرين

نحوه يDecompose کردن سيستم هاي اصلي و استفاده از پراسسور هاي متفاوت

استفاده از تجربيات گذشتهاستفاده از تکنيک ها با توجه به محيط عملياتي

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

(http://ce.aut.ac.ir/islab)

Page 27: به نام خدا 1 آزمايشگاه سيستم هاي هوشمند ( تمرينهاي سري سوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ

)ادامه(7تمرين

عدم هماهنگي و هم شکلي همه فايل هاي موجود درRepository

استفاده ازmiddleware ها براي يک شکل کردن فايل ها و سپس ذخيره سازي آنها

انديس گذاري فايل ها بر اساس نوعشانکدام فايل ها لود مي شوند

ترتيب کامپايل شدن بهتر است بر اساس گروه بنديورژن ها بر اساس نوع کامپايلر انجام شود تا زمان

کمتري صرف شود

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

(http://ce.aut.ac.ir/islab)