كارگاه آموزشي معماري نرمافزار esoa.ir

72
ي ش وز م كازگاه آ ي ش وز م كازگاه آ آز ز ف رمآ ن مازي ع م آز ز ف رمآ ن مازي ع مwww.esoa.ir www.esoa.ir س م ش دون زي ف ر# كت د آده ادز# ت س آ ن ي رو ش د ت س ه آول س ل1 ج

Upload: amethyst-reid

Post on 02-Jan-2016

78 views

Category:

Documents


6 download

DESCRIPTION

كارگاه آموزشي معماري نرم‌افزار www.esoa.ir. دكتر فريدون شمس سيد شروين استادزاده. جلسه اول. فهرست مطالب. يك مثال: عمارت وينچستر مقدمه‌ای بر معماری معماري نرم‌افزار چيست؟ چرخه کاری معماری ساختارها و ديدها صفات کيفيتی. يك مثال: عمارت وينچستر. نمونه‌اي از عدم معماري. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: كارگاه آموزشي  معماري نرمافزار esoa.ir

كارگاه آموزشيكارگاه آموزشي

معماري نرم افزار معماري نرم افزارwww.esoa.irwww.esoa.ir

كارگاه آموزشيكارگاه آموزشي

معماري نرم افزار معماري نرم افزارwww.esoa.irwww.esoa.ir

دكتر فريدون شمس

سيد شروين استادزاده

جلسه اول

Page 2: كارگاه آموزشي  معماري نرمافزار esoa.ir

فهرست مطالب

يك مثال: عمارت وينچستر مقدمه ای بر معماری

معماري نرم افزار چيست؟ چرخه کاری معماری

ساختارها و ديدها صفات کيفيتی

Page 3: كارگاه آموزشي  معماري نرمافزار esoa.ir

يك مثال: عمارت وينچستر

نمونه اي ازعدم معماري

Page 4: كارگاه آموزشي  معماري نرمافزار esoa.ir

يك مثال: عمارت وينچستر

ميلي6ون دالر5/5هزين6ه س6اخت = = س66اخت س66ال 38مدت )از

(1922 تا 1884

160تعداد اطاق ها = 2تعداد طبقات =

40تعداد راه پله ها = 3تعداد آسانسور =

467تعداد درب ها = پنجره ه6ا = 10000) 1257تع6داد

قطعه شيشه(

47تعداد بخاري = 17تعداد دودكش =

بخ6ار، كان6ال = گرم6ايي سيس6تم هواي گرم، بخاري

تع6داد درب ه6ايي ك6ه ب6ه ج6ايي ب6از 950نمي شود =

Page 5: كارگاه آموزشي  معماري نرمافزار esoa.ir

يك واقعيت

و بل66وكي س66ازه هاي اگ66ر اك666666ثر زيرس66666اخت هاي نرم اف6666زاري سيس6666تم هاي آنه6ا ب6ا معادل ه6اي را ام6روزي در س6اختمان ج6ايگزين ك6نيم ب6ه عم66ارت نظ66ير عمارت ه66ايي رس66يد. خ66واهيم وينچس66تر عمارت ه6ايي ك6ه ه6ر چن6د هزين6ه و زم6ان زي6ادي ص6رف س6اخت آنه6ا ش6ده اس6ت، ولي چ6ون ب6ر بن6ا اس6اس معم6اري مشخص6ي را الزم اثربخش6ي نش6ده اند،

ندارند.

LANs/Building Networks

ATM

Modem & ISDN

IntranetConnections

LabNetBackbone

ESnet

Ins ti tu tiona l ly owned

Si te300

Ext ernal Connect i ons

Poor Desi gn

Internet

Sec ureNet

InternetConnection

OUTnet

Sec uri ty( M onit or , Fir ewall)

Poor Connect i on t o Backbone

Poor Perf ormance

Shared ComputingResources,

Data , Information

Page 6: كارگاه آموزشي  معماري نرمافزار esoa.ir

نکاتی درباره عمارت وينچستر

راه66برد ي66ك وج66ود عدم مشخص

Page 7: كارگاه آموزشي  معماري نرمافزار esoa.ir

نکاتی درباره عمارت وينچستر

راه66برد ي66ك وج66ود عدم مشخص

عدم وجود نقشه فني

Page 8: كارگاه آموزشي  معماري نرمافزار esoa.ir

نکاتی درباره عمارت وينچستر

راه66برد ي66ك وج66ود عدم مشخص

عدم وجود نقشه فنينيازمن6ديهاي ب6ه توج6ه عدم

واقعي

Page 9: كارگاه آموزشي  معماري نرمافزار esoa.ir

نکاتی درباره عمارت وينچستر

راه66برد ي66ك وج66ود عدم مشخص

عدم وجود نقشه فنينيازمن6ديهاي ب6ه توج6ه عدم

واقعيزمان غير معقول

Page 10: كارگاه آموزشي  معماري نرمافزار esoa.ir

نکاتی درباره عمارت وينچستر

راه66برد ي66ك وج66ود عدم مشخص

عدم وجود نقشه فنينيازمن6ديهاي ب6ه توج6ه عدم

واقعيزمان غير معقولهزينه غير معقول

Page 11: كارگاه آموزشي  معماري نرمافزار esoa.ir

نکاتی درباره عمارت وينچستر

راه66برد ي66ك وج66ود عدم مشخص

عدم وجود نقشه فنينيازمن6ديهاي ب6ه توج6ه عدم

واقعيزمان غير معقولهزينه غير معقول

مختلفي نس6ل هاي حض6ور از سبك ها و سيستم ها

Page 12: كارگاه آموزشي  معماري نرمافزار esoa.ir

نکاتی درباره عمارت وينچستر

راه66برد ي66ك وج66ود عدم مشخص

عدم وجود نقشه فنينيازمن6ديهاي ب6ه توج6ه عدم

واقعيزمان غير معقولهزينه غير معقول

مختلفي نس6ل هاي حض6ور از سبك ها و سيستم ها

غير قابل توسعه

Page 13: كارگاه آموزشي  معماري نرمافزار esoa.ir

معماري چيست؟

اراي6ه يع6ني معم6اري ي6ك از ف6ني توص6يفي نش66ان ك66ه سيس66تم دهن6ده س6اختار اج6زاء آنه6ا، بين ارتب6اط آن، قواع66د و اص66ول و ح6اكم ب6ر ط6راحي آن، و تكام6ل آنه6ا در گ6ذر

زمان باشد.

Page 14: كارگاه آموزشي  معماري نرمافزار esoa.ir

مفاهيم اوليه

مقدمه اي بر

معماري نرم افزار

Page 15: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساخت يك النه سگ

مي تواند توسط يك نفر ساخته شود.نيازمنديها:

كمترين مدل سازي• فرآيند ساخت ساده• ابزارهاي ساده•

Page 16: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساخت يك خانه

مي تواند توسط يك تيم ساخته شود.نيازمنديها:

مدل سازي• فرآيندهاي خوش ساخت• ابزارهاي قدرتمند•

Page 17: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساخت يك آسمانخراش

Page 18: كارگاه آموزشي  معماري نرمافزار esoa.ir

چه زمانی معماری الزم است؟

ابعاد بزرگ

Page 19: كارگاه آموزشي  معماري نرمافزار esoa.ir

چه زمانی معماری الزم است؟

ابعاد بزرگپيچيدگی زياد

Page 20: كارگاه آموزشي  معماري نرمافزار esoa.ir

چه زماني معماري الزم است؟

ابعاد بزرگپيچيدگی زياد

نيازمندي خاص

Page 21: كارگاه آموزشي  معماري نرمافزار esoa.ir

چه زماني معماري الزم است؟

ابعاد بزرگپيچيدگی زياد

نيازمندي خاصطول عمر زياد

Page 22: كارگاه آموزشي  معماري نرمافزار esoa.ir

چه زماني معماري الزم است؟

ابعاد بزرگپيچيدگی زياد

نيازمندي خاصطول عمر زياد

براب6ر در پ6ذيری انعط6اف تغييرات

Page 23: كارگاه آموزشي  معماري نرمافزار esoa.ir

مفاهيم اوليه

معماري نرم افزارچيست؟

Page 24: كارگاه آموزشي  معماري نرمافزار esoa.ir

تعريف معماري

معماري يعني ه6نر ي6ا علم س6اخت ه6ر ن6وع عم6ارت ك6ه م6ورد اس6تفاده

بشر قرار گيرد. عمل يا فرآيند ساخت

كار وابسته به معماري؛ ساختار، ساخت و ساز ساختمان يا ساختار عمومي

ي6ك ي6ا ك6امپيوتر ي6ك مفه6ومي س6اختار و كلي سازمان سيس6تم ك6امپيوتري از دي6د اس6تفاده ي6ا ط6راحي آن؛ ي6ك

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

Page 25: كارگاه آموزشي  معماري نرمافزار esoa.ir

)ادامه(تعريف معماري

معم6اران ك6ه اس6ت ك6اري نرم اف6زار معم6اري نرم افزار انجام مي دهند.

- Beck

Page 26: كارگاه آموزشي  معماري نرمافزار esoa.ir

)ادامه(تعريف معماري

معم6اري )ي6ا ط6راحي( ك6ه داراي ي6ك عناص6ر ي6ك مجموع6ه از شكل مشخص باشند.

- Perry and Wolf, 1992.

يك معماري سيستم نرم افزار تشكيل شده از ...از مجم6وعه اي و ارتباط6ات، مولفه ه6ا و قي6دهاي، نرم اف6زاري

سيستمينيازمنديهاي ذينفعان سيستم مجموعه اي از

قي6دها، اص6ولي و ارتباط6ات، مولفه ه6ا، اين ده6د نش6ان ك6ه را س6هامداران ني6ازم6ن6ديهاي ك6ه مي كن6د را 6تعري6ف سي6س6تمي

برآورده مي سازد.- Boehm et al., 1995.

Page 27: كارگاه آموزشي  معماري نرمافزار esoa.ir

)ادامه(تعريف معماري

سيس6تم ي6ك ي6ا برنام6ه ي6ك نرم اف6زار معم6اري ي6ا س6اختارهايي از سيس6تم اس6ت س6اختارمحاس6باتي

خصوص6يات قاب6ل مش6اهده نرم اف6زاري، عناص6رك6ه بين آنه6ا را ش6امل ارتباط6ات آن عناص6ر، و از ب6يرونمي شود.

- Clements et al., 1997.

Page 28: كارگاه آموزشي  معماري نرمافزار esoa.ir

)ادامه(تعريف معماري

بخشهاي مشترك در تعريف معماري

معماري مولفه هاي اصلي را نشان مي دهد.نش6ان را آنه6ا بين تعام6ل و مولفه ه6ا )س6اختارهاي( ارتباط6ات معم6اري

مي دهد. معم6اري اطالع6ات محت6وايي درب6اره مولفه ه6ا را ك6ه مرب6وط ب6ه تعام6ل آنه6ا

نباشد، حذف مي كند. رفتار مولفه ها بخشي از معماري است.

ه6ر سيس6تمي داراي ي6ك معم6اري اس6ت، ح6تي اگ6ر تنه6ا از ي6ك مولف6ه تش6كيل شده باشد.

معماري اصول پشت پرده هر مولفه و ساختار را بيان مي كند. تعاريف معماري نمي گويند يك مولفه چيست؟

معم6اري ن6يز منف6ردي هيچ س6اختار نيس6ت. منف6رد ي6ك س6اختار معم6اري نيست.

Page 29: كارگاه آموزشي  معماري نرمافزار esoa.ir

)ادامه(تعريف معماري

معماري نرم افزار با موارد زير نيز سروكار دارد : وظيفه مندي

قابليت استفاده قابليت استفاده مجدد

پايداري قابليت درك

قيدها و محدوديت هاي فن آوري و اقتصادي زيبايي شناسي

Page 30: كارگاه آموزشي  معماري نرمافزار esoa.ir

معماري، طراحي، و پياده سازي

پياده س6ازي را مش6خص معم6اري مف6اد ط6راحي و مي كند.

CODE

Implementation

Design

Architecture

Analysis

Page 31: كارگاه آموزشي  معماري نرمافزار esoa.ir

مثالي از معماري

آيا اين نمودار يك معماري است؟

Control

KeyboardInterface

Cash Dispenser

CardInterface

Page 32: كارگاه آموزشي  معماري نرمافزار esoa.ir

مثالي از معماري

چه نكات مبهمي در نمودار قبل وجود داشت؟

وظيف6ه، واح6د، )فرآين6د، كالس، ش6يء، عناص6ر م6اهيت پردازنده، ...(

مسووليت عناصربك6ارگيري، درخواس6ت، )فراخ6واني، ارتباط6ات ن6وع

سيگنال، ارسال داده، كنترل، زيركالس، ...( مفهوم طرح بندي

عمليات زمان اجراي سيستم

Page 33: كارگاه آموزشي  معماري نرمافزار esoa.ir

مثالي از معماري

چه بخشهايي در نمودار قبل جا مانده است؟

ماهيت هر يك از عناصر چيست؟ مسووليت هر يك از عناصر چيست؟ مفهوم هر يك از ارتباطات چيست؟

مفهوم هر يك از طرح بندي ها چيست؟

z ب6دانيم ه6ر عنص6ر چيس6ت و ج6ز در م6واقعي ك6ه م6ا دقيق6اچگون6ه ب6ا ديگ6ر عناص6ر همك6اري دارد ت6ا ي6ك وظيف6ه سيس6تم

انجام شود، نمودار قبلي هيچ استفاده اي ندارد.

Page 34: كارگاه آموزشي  معماري نرمافزار esoa.ir

نظراتي درباره معماري

معماري تنها بر روي كاغذ است. معماري همان طراحي است.

معماري همان زيرساخت است. معماري همان ساختار است.

فن آوري مورد عالقه من يك معماري است. معماري نتيجه كار تنها يك معمار است.

داده نم6ايش خ6روجي ن6وع ي6ك توس6ط مي توان6د معم6اري .)تك ديدي است(شود

معماري سخت افزار مقدم بر معماري نرم افزار است. معماري قابل ارزش يابي و يا اعتبارسنجي نيست.

معماري يك علم است. معماري يك هنر است.

Page 35: كارگاه آموزشي  معماري نرمافزار esoa.ir

چرخه كاري معماري

چه مواردي بر معماري تاثير مي گذارند؟

چه مواردي از معماري تاثير مي گيرند؟

Page 36: كارگاه آموزشي  معماري نرمافزار esoa.ir

چه كساني بر معماري تاثير دارند؟

Page 37: كارگاه آموزشي  معماري نرمافزار esoa.ir

مشتريان و كاربران نهايي

نيازمن6ديها )+ ص6فات كيفي6تي مث6ل ك6ارايي، ق6ابليت نگهداشت، ...(

محدوديت هاي بودجه اي محدوديت هاي زماني

ي6ك رع6ايت مث6ل س6ازمان خ6اص قواع6د رع6ايت فن آوري خاص

Page 38: كارگاه آموزشي  معماري نرمافزار esoa.ir

سازمان توسعه

موارد كاري سرمايه گذاري و استهالك زيرساخت ها

كاهش هزينه ها ساده بودن پياده سازي

موارد سازماني استفاده از ساختار سازماني موجود

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

Page 39: كارگاه آموزشي  معماري نرمافزار esoa.ir

محيط فن آوري

z نرم افزاره6ا تحت وب گ6رايش غ6الب ام6روزي )مثالباشد(

ي6ك از z تص6ميم در اس6تفاده )مثال فن آوري موج6ود هزين6ه ب6ه بس6تگي توزيع ش6ده ي6ا متمرك6ز سيس6تم

پردازنده ها و سرعت خطوط ارتباطي دارد(

Page 40: كارگاه آموزشي  معماري نرمافزار esoa.ir

پيش زمينه معمار

معم6اران كارش6ان را ب6ا توج6ه ب6ه مجموع6ه تجربي6ات گذشته شان انجام مي دهند.

جدي6د معم6اري در آن تك6رار ب6اعث موف6ق تجرب6ه مي شود.

تجرب6ه ن6اموفق ب6اعث ع6دم اس6تفاده از آن در معم6اري جديد مي شود.

Page 41: كارگاه آموزشي  معماري نرمافزار esoa.ir

تاثيرات بر معماري

Page 42: كارگاه آموزشي  معماري نرمافزار esoa.ir

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

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

زمانبندي بودجه

اهداف سازماني تخصص در زمينه ساخت يك نوع از سيستم ها

موفقيت در بازار ارزيابي بازار

دارايي هاي خط توليد

Page 43: كارگاه آموزشي  معماري نرمافزار esoa.ir

معماري بر روي نيازهاي مشتريان تاثير دارد

دانش مشتريان ارتقاء سيستم، انطباق پذيري، ...

Page 44: كارگاه آموزشي  معماري نرمافزار esoa.ir

معماري بر روي تجربه معمار و محيط فن آوري تاثير دارد

ت6اثير معم6ار تجرب6ه روي ب6ر ي6ك سيس6تم س6اخت خواهد داشت.

z، ي6ك سيس6تم ي6ا ي6ك معم6اري ب6ر روي محي6ط معم6والفن آوري تاثير دارد.

Page 45: كارگاه آموزشي  معماري نرمافزار esoa.ir

چرخه كاري معماري

Page 46: كارگاه آموزشي  معماري نرمافزار esoa.ir

فعاليتهای چرخه كاري معماري

ايجاد يک مورد کاری برای سيستمفهم نيازمنديها

ايجاد يا انتخاب معماریتعامل با معماری

تحليل يا ارزيابی معماریپياده سازی بر مبنای معماری

حصول اطمينان از انطباق محصول با معماری

Page 47: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساختارها و ديدهاي معماري

Page 48: كارگاه آموزشي  معماري نرمافزار esoa.ir

تعريف

س6اختار ي6ك مجموع6ه از عناص6ر همگن ب6ه هم6راه ارتب6اط بين آنه6ا است6. بر6اي ه6ر سا6خ6تار6 6مي 6توان م6وارد6 6زير 6را 6مشخص6 كر6د.

نوع عناصر نوع ارتباطات

مجموعه اي از قيدهاي نحوي معني نمودار

اصول، قواعد، و راهبردها براي چه هدفي قابل استفاده است؟

دي6د نمايش6ي از معم6اري نرم اف6زار ب6ر پاي6ه ي6ك س6اختار اس6ت ك6ه تو6س6ط 6معم6ار6 ترس6ي6م ش6ده 6و دي6نفع6ان آن ر6ا مي خوانن6د. )نم6ونه اي

از يك ساختار( معماري نرم افزار توسط تعدادي ديد مستند مي شود.

Page 49: كارگاه آموزشي  معماري نرمافزار esoa.ir

IEEE)چارچوب مفهومي معماري Std. 1471-2000)

ماموريت

محيطسيستم معماري

صاحب نقش- ذينفع

توصيف معماري

عقالنيت)منطق(

دغدغه ديدگاه ديد

كتابخانهديدگاه مدل

..*1انجام مي دهد

تاثير دارد بر

قرار دارد در

..*1دارد

دارد يك

مهم است براي 1*..

تعيين هويت ..*1مي كند

توصيف مي شود با 1*.. حمايت

مي كند

شركت مي كند در

جمع شده 1*..

شركت مي كند در1*..شامل

1*..

مشخص مي كند1*..

سازمان مي يابد..*1 با

انتخاب مي كند1*..

مطابق

انتخاب مي شود از 0 .. 1

روشي را براي تبيين ايجاد مي كند

استفاده مي شود ..*1تا پوشش دهد

دارد1*.. تبيين مي كند

1*..

Page 50: كارگاه آموزشي  معماري نرمافزار esoa.ir

طبقه بندي ساختارها

(Module) ساختارهاي ماژول 1.

اتصال 2. و مولفه ساختارهاي (Component & Connector)

(Allocation) ساختارهاي تخصيص 3.

هستند.متعامداين طبقه بندی ها

Page 51: كارگاه آموزشي  معماري نرمافزار esoa.ir

- ساختارهاي واحد1

)واحدهاي پياده سازي(ماژول ها عناصر: مشخص مي كند :

مسووليت وظيفه اي ماژول هارا آنه6ا از اس6تفاده اج6ازه م6اژول ك6ه عناص6ري س6اير

دارد. روابط عام و خاص

دي6د اين ب6راي نرم اف6زار اج6رای زم6ان عملي6ات اهميتي ندارد.

Page 52: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساختار تجزيه1-1

سلسله مراتبي عناصر: ماژول ها به شكل ب6ه اش6تراك مي گ6ذارد ، زيرواح6دي از ... ارتباط6ات:

با ... مفيد براي ...

تخصيص منابع پنهان سازي اطالعات

محصور سازي كنترل پيكربندي

Page 53: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساختار استفاده1-2

عناص6ر: ي6ا روال ه6ا، ماژول ه6ا ب6ه ، مرب6وط من6ابع واسط ماژول ها

استفاده مي كند از ... ارتباطات: مفيد براي ...

مهندسي گسترش

Page 54: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساختار اليه اي1-3

زيرنوعي از ساختار استفاده است. )مجم6وعه اي همگن از وظيفه من6دي اليه ه6ا عناص6ر:

مرتبط(ارتباط6ات: ... از مي كن6د ح6الت اس6تفاده )در

اي6ده آل، ه6ر الي6ه تنه6ا از الي6ه قب6ل از خ6ود اس6تفاده مي كند(.

مفيد براي ... ماشين مجازي

Page 55: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساختار كالس1-4

كالس ها عناصر: نمونه اي از ... است، وراثت ارتباطات:

مفيد براي ... طراحي شيءگرا

Page 56: كارگاه آموزشي  معماري نرمافزار esoa.ir

- ساختارهاي مولفه و ارتباط2

اص6لي )واح6دهاي اج6را زم6ان مولفه ه6اي عناص6ر: محاس6به( و اتص6االت )ابزاره6اي ارتب6اطي بين مولفه ها(

مشخص مي كند: مولفه هاي اجرايي اصلي و چگونگي تعامل بين آنها

انباره هاي داده مشترك اصلي چه بخشي از سيستم تكرار شده است؟

جريان داده در سيستم چه بخش هايي بصورت موازي مي توانند اجرا شود؟

س6اختار سيس6تم در حين اج6را چگون6ه مي توان6د تغي6ير كند؟

Page 57: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساختار مشتري/خدمتگزار2-1

خدمتگزار، مشتري عناصر: ارتباط6ات: ... ب6ا برق6رار مي كن6د وابس6ته ،ارتب6اط است به ...

مفيد براي ... عمليات توزيع شده

جداسازي موارد بااهميت تعادل بار

Page 58: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساختار پردازه2-2

نخ ها يا پردازه ها عناصر: قب6ل از ... ،م6وازي اج6را مي ش6ود ب6ا ... ارتباط6ات:

اجرا مي شود مفيد براي ... تحليل كارايي

تحليل زمانبندي

Page 59: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساختار توازي2-3

نخ هاي منطقي عناصر: اجرا مي شود بر روي ... ارتباطات:

مفيد براي ... اتصال

انشعاب

Page 60: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساختار داده مشترك يا 2-4انباره

عناص6ر: داده، انب6اره داده، توليدكنن6ده مص6رف دادهكننده

مصرف داده،توليد داده ارتباطات: مفيد براي ...

يكپارچگي داده كارايي

تغييرپذيري

Page 61: كارگاه آموزشي  معماري نرمافزار esoa.ir

- ساختارهاي تخصيص3

محي6ط از عناص6ري ب6ا را نرم اف6زار بين ارتب6اط خارجي نشان مي دهد.

مشخص مي كند: پردازن6ده اي ك6ه ه6ر ي6ك از عناص6ر نرم اف6زاري را اج6را

مي كند.نرم اف6زاري را در هنگ6ام از عناص6ر ي6ك ف6ايلي ك6ه ه6ر

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

Page 62: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساختار استقرار3-1

عناص66ر: وس66خت افزار، نرم اف66زار مس66يرهاي ، ارتباطي

ارتباط6ات: ... ب6ه داده ش6ده مه6اجرت ، تخص6يص به ...

مفيد براي ... تحليل كارايي

تحليل دسترس پذيري تحليل امنيت

Page 63: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساختار پياده سازي3-2

)مثل ماژول(واحد منطقي عناصر: هر پياده سازي مي كند ... ارتباطات:

مفيد براي ... كنترل پيكربندي يكپارچه سازي

فعاليت هاي آزمون

Page 64: كارگاه آموزشي  معماري نرمافزار esoa.ir

ساختار انتساب كار3-3

)مثل ماژول(واحد منطقي عناصر: هر انتساب داده مي شود به ... ارتباطات:

مثالي از كاربرد مديريت پروژه

بهنرين استفاده از تخصص ها

Page 65: كارگاه آموزشي  معماري نرمافزار esoa.ir

طبقه بندي ساختارها

Page 66: كارگاه آموزشي  معماري نرمافزار esoa.ir

صفات كيفيتي

Page 67: كارگاه آموزشي  معماري نرمافزار esoa.ir

طبقه بندي سنتي نيازمنديها

وظيفه اي غيروظيفه اي

نرم اف6زاري ابت6دا نرم اف6زار: در مت6داول افس6انه ي6ك س6اخته6 ش6ود ك6ه 6نيازمن6ديهاي وظيفه ا6ي را ب6رآو6رده 6كن6د، س6پس نيازمن6ديهاي غ6يروظيفه اي ب6ه آن اف6زوده ي6ا تزري6ق

شود.پ6ايين اتالف من6ابع و كيفيت ب6ه س6مت اي6ده م6ا را اين

سوق مي دهد. باي6د تمرك6ز ب6ر روي كيفيت را از هم6ان ابت6دا آغ6از ك6رد

)در سطح معماري(

Page 68: كارگاه آموزشي  معماري نرمافزار esoa.ir

وظيفه مندي و معماري

تئ6وري نظ6ر از كيفي6تي ص6فات و وظيفه من6دي از س66طحي ه66ر ب66ا نمي ت66وان هس66تند. متعام66د

وظيفه مندي به همه صفات كيفيتي دست يافت.مختل6ف ش6كل هاي ب6ه مي ت6وان را وظيفه من6دي

بدست آورد )چندان به معماري مربوط نيست(ب6ه وظ6ايف س6ازماندهي ب6ا دارد قص6د معم6اري

صفات كيفيتي دست پيدا كند.

Page 69: كارگاه آموزشي  معماري نرمافزار esoa.ir

معماري و كيفيت

دس6تيابي ب6ه كيفيت باي6د در تم6ام مراح6ل ط6راحي )از جمل6ه معماري(، پياده سازي، و استقرار مد نظر قرار گيرد.

جنبه ه6اي هم و معم6اري ب6ه مرب6وط جنبه ه6اي هم كيفيت z نامربوط به معماري دارد. مثال

دس6ترس پ6ذيري: انتخ6اب از بين عناص6ر در براب6ر پش6تيباني از عم6ل بازگشت

كارايي: مقدار ارتباط بين مولفه ها در برابر الگوريتم ها

ص6فات كيفي6تي مس6تقل نيس6تند و نباي6د بص6ورت مج6زا ب6ه آنه6ا دست يافت.

همبستگي مثبت )مثل تغييرپذيري و قابليت ساخت( همبستگي منفي )مثل قابليت اطمينان و امنيت(

Page 70: كارگاه آموزشي  معماري نرمافزار esoa.ir

طبقه بندي صفات كيفيتي

دس66ترس پذيري، سيس66تمي: كيفي66تي ص66فات و آزمون پ66ذيري، ام66نيت، ك66ارايي، تغييرپ66ذيري،

قابليت استفادهz مدت زمان بازاريابي صفات كيفيتي كاري: مثال

z يكپارچگي مفهومي صفات كيفيتي معماري: مثال

Page 71: كارگاه آموزشي  معماري نرمافزار esoa.ir

طبقه بندي صفات كيفيتي سيستمي

قاب6ل مش6اهده از طري6ق اج6را )مث6ل ك6ارايي و امنيت( غيرقاب6ل مش6اهده از طري6ق اج6را )مث6ل تغييرپ6ذيري و

آزمون پذيري(

z مس6تقل )متعام6د( هس6تند . اگرچ6ه اين دو گ6روه ك6امالگروه6 دو6م بر روي 6اولي تاثير غ6يرمستقيم د6ارد.

مهم هس6تند، ن6يز غيرقاب6ل مش6اهده كيفي6تي ص6فات گاهي حتي مهم تر !!!

Page 72: كارگاه آموزشي  معماري نرمافزار esoa.ir

صفات كيفيتي سيستمي

دسترس پذيري )وابسته به قابليت اطمينان( تغييرپ6ذيري )ش6امل ق6ابليت حم6ل، ق6ابليت اس6تفاده

مجدد، مقياس پذيري( كارايي امنيت

آزمون پذيريانطب6اقي و ق6ابليت اس6تفاده )ش6امل ق6ابليت خ6ود

قابليت انطباق كاربر(