1 / 32

نگاه اجمالی -فصل 14

نگاه اجمالی -فصل 14. طراحی معماری چيست؟ طراحی معماری نمايان گر ساختار اجزای داده ای و برنامه ای می باشد که برای ساختن يک سيستم مبتنی برکامپيوتر لازمند. اين طراحی را چه کسی انجام می دهد؟

cicada
Download Presentation

نگاه اجمالی -فصل 14

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. نگاه اجمالی -فصل 14 • طراحی معماری چيست؟ طراحی معماری نمايان گر ساختار اجزای داده ای و برنامه ای می باشد که برای ساختن يک سيستم مبتنی برکامپيوتر لازمند. • اين طراحی را چه کسی انجام می دهد؟ مهندسين پايگاه داده ای يا طراح مخزن اطلاعات.معمار سيستم سبک معماری مناسب را برای نيازمنديهای سيستم درطول مهندسی سيستم و تحليل نيازمندی های نرم افزاری انجام می دهد.

  2. نگاه اجمالی • چرا طراحی معماری مهم است؟ اين طراحي تصوير بزرگی از کار در اختيار گذاشته و شما را مطمئن می سازد که ان را به درستی انجام می دهيد. • مراحل کار چيست؟ طراحی معماری با طراحی داده ها اغاز شده وسپس به يک يا چند شاخه از ساختمان معماری سيستم مشتق می شود. • نتيجه اين کار چيست؟ يک مدل که در برگيرنده ساختمان برنامه ومعماری داده هاست.

  3. نگاه اجمالی • چگونه از درستی انجام کار اطمينان حاصل کنيم؟ نتايج کار طراحی از لحاظ روشن بودن ،درستی و سازگاری با نيازمندی ها و با يکديگر بررسی می شوند. • طراحی مبتنی بر اطلاعات است . روش های طراحی نرم افزار هر يک از سه حوزه مدل تحليل می باشند . اين سه حوزه يعنی داده ای ،کارکردی و رفتاری رهنمودی برای خلق طراحی نرم افزار هستند.

  4. 14-1-1معماری چيست؟ • معماری نرم افزار در يک برنامه ی سيستم محاسباتی عبارت است از ساختار يا ساختارهای سيستم که شامل اجزای نرم افزاری، مشخصه های مشهود برونی اين اجزا و ارتباط ميان انها می باشد . • معماری يک نرم افزار عملياتی نيست.بلکه نمودی است که مهندس نرم افزار را قادر می سازد : • ميزان تاثير طرح را در مرتفع نمودن نيازمندی های بيان شده تحليل کند. • معماری های جايگزين ديگر را در مرحله ای که تغيير طرح هنوز نسبتا اسان است بررسی کند. • خطرات مربوط به ساخت نرم افزار را کاهش دهد.

  5. 14-1-2چرا معماری اهميت دارد؟ • دلايل اهميت معماری از نظر باس و همکارانش: • ارائه معماری نرم افزار کار برقراری ارتباط را ميان همه طرف های علاقه مند به توسعه سيستم مبتنی بر کامپيوتر ميسر می سازد. • اين معماری تصميمات طراحی را مشخص می کند که تاثير زيادی بر همه کارهای مهندسی نرم افزار می گذارد. • اين معماری يک مدل نسبتا کوچک و قابل درک يا چگونگی کارکردن اجزای ان با يکديگر را ارائه می دهد.

  6. 14-2طراحی داده ها • طراحی داده ها هم چون ديگر فعاليت های مهندسی نرم افزار مدلی از داده ها و يا اطلاعات را در سطح بالايی از حالات ا نتزاعی ايجاد می کند.سپس مدل داده ای به صورت بازنمايی خاص پياده سازی در می ايد که می توان ان را به وسيله سيستم مبتنی بر کامپيوتر پردازش کرد .

  7. 14-2-1مدل سازی داده ها- ساختار داده ها-پايگاه داده ها • اشيای داده ای که در طول تحليل نيازمندی های نرم افزاری تعريف شده اند با استفاده از دياگرام های موجوديت/رابطه و فرهنگ داده ها مدل سازی ميشوند. • در سالهای گذشته معماری داده ها معمولا به ساختمان داده ها در سطح برنامه و پايگاه داده ها در سطح برنامه ی کاربردی محدود بود اما امروزه تجارت های بزرگ و کوچک لبريز از اطلاعات هستند و چالش اصلی بدست اوردن اطلاعات مفيد از اين محيط داده ای است .برای حل اين مسئله انجمن تجارت ITفنون استخراج داده ها يا کشف اطلاعات در پايگاه داده ایKDD (knowledge discovery in databases) را ارائه داده است.

  8. 14-2-1انبار داده ها • يک انبار اطلاعاتی يک محيط داده ای جداگانه است که مستقيما با بر نامه های کاربردی روز به روز تلفيق نمی شود بلکه تمام اطلاعات مورد استفاده در تجارت را در بر می گيرد. • نکته ی کليدی : يک انبار داده ها مشتمل بر تمام داده هايی است که مورد استفاده يک اداره يا سازمان قرار می گيرد .هدف دسترسی به کل معلوماتی است که نبايد به گونه ای ديگر و در جايی ديگر قرار داشته باشد.

  9. 14-2-2طراحی تفضيلی داده ها(در سطح اجزاء) • طراحی داده ها در اين سطح روی ارائه ونمايش ساختمان داده هايی متمرکز می شود که مستقيما توسط يک يا چند جزء نرم افزاری قابل دسترسی هستند . • مجموعه اصول زير را برای مشخصه های داده ای در نظر بگيريد: • اصول تحليل نظام مند که در مورد عملکرد و رفتار به کار می رود بايد در مورد داده ها نيز به کار رود . • تمام عمليات و ساختمان داده ها بايد شناسايی شوند، درطراحی يک ساختار داده ای کار آمد بايد عملياتی که روی ساختار داده ها صورت می گيرد را در نظر گرفت. • يک فرهنگ داده ای بوجود آورده و از ان برای تعريف طراحی داده ها و برنامه استفاده کنيد.

  10. 14-2-2طراحی تفضيلی داده ها(در سطح اجزاء) 4) تصميمات مربوط به سطوح پائين طراحی داده ها را بايد تا اواخر فرايند طراحی به تعويق انداخت. 5) نمود ساختاری داده ها تنها بايد برای پيمانه هايی شناخته شده باشد که مستقيما از داده های موجود در ساختار استفاده می کنند. 6) کتابخانه از داده های ساختاری مفيد وعملياتی که ممکن است در مورد آنها به کار رود بايد ايجاد گردد. 7) طراحی نرم افزار و زبان برنامه نويسی بايد خصوصيات وشناسايی انواع داده های انتزاعی را پشتيبانی کند.

  11. 14-3سبک های معماری • هر سبک يک طبقه از سيستم را توصيف می کند که در بر گيرنده ی : • مجموعه ای از اجزائی است که(مثل پايگاه داده ای،پيمانه های محاسباتی )عمل مورد نياز سيستم را انجام می دهند. • مجموعه ای از پيونددهندگان ورابطين که ارتباط،هماهنگی وهمکاری را ميان اجزاء امکان پذير می سازد. • محدوديت هايی که مشخص می کنند چگونه اجزا را می توان تلفيق کرد تا يک سيستم تشکيل دهند. • مدل های معنايی است که طراح را قادر به درک خواص کلی سيستم از طريق تحليل خواص شناخته شده اجزای تشکيل دهنده می کند.

  12. 14-3-1گروه بندی مختصر سبک ها و الگوها • معماری های متمرکز بر داده ها: يک مخزن داده ای در مرکز اين معماری قرار دارد و اغلب توسط ديگر اجزايی که به روز رسانی،افزودن ،حذف يا کارهای ديگر اصلاحی را در مورد مخزن انجام می دهد، قابل دسترسی است. • معماری متمرکز بر داده ها : اين معماری قابليت تلفيق پذيری را افزايش می دهد. • معماری جريان داده ها : اين معماری وقتی به کار گرفته می شود که داده های ورودی قرار است از طريق يک سری اجزاء محاسباتی يا تغييراتی به داده های خروجی تبديل شوند.

  13. 14-3-1گروه بندی مختصر سبک ها و الگوها • معماری فراخوانی و بازگشت: اين سبک از معماری طراح نرم افزار را قادر می سازد تا به ساختار برنامه ای دست يابد که از نظر اصلاح و ارزيابی نسبتا ساده است. تعدادی از سبک های فرعی موجود در اين گروه عبارتند از: • معماری برنامه اصلی/ برنامه فرعی. • معماری فراخوانی روال از راه دور. • معماری شئ گرا: اجزای يک سيستم دربرگيرنده داده ها و عملياتی هستند که بايد برای تغيير داده ها به کار روند.

  14. 14-3-1گروه بندی مختصر سبک ها و الگوها • معماری های لايه ای : تعدادی لايه های مختلف تعريف شده اند که هر کدام به عملياتی دست می يابند که به طور گسترده ای به مجموعه دستورات ماشين نزديکتر می شوند.

  15. 14-3-2سازماندهی و پالايش • از انجا که فرايند طراحی چند شق مختلف از نظر معماری پيش روی مهندس نرم افزار می گذارد،نکته مهم ايجاد مجموعه ای از معيارهای طراحی است که بتوان از انها برای دسترسی به طراحی معماری مشتق شده استفاده نمود. • سوالاتی در زمينه ی کنترل و داده ها نظير :چگونه کنترل در معماری سازماندهی ومدريت می شوند؟ و چگونه داده ها بين اجزا ارتباط برقرار می کنند؟ ديدگاهی در مورد سبک اشتقاقی ارائه می دهند.

  16. 14-4تحليل طراحی های انواع معماری های جايگزين • دو نگرش مختلف را در مورد تحليل طرح های معماری جايگزين در نظر می گيريم: • يک شيوه تحليل توازن معماری: از روشی تکراری برای ارزيابی توازن طراحی استفاده می کند. • رهنمود کمی برای طراحی معماری: يک تکنيک شبه کمَی برای ارزيابی کيفيت طراحی فراهم می سازد.

  17. 14-4-1يک شيوه تحليل توازن معماری • روش (architecture trade-off analysis method) ATAM فرايند ارزيابی مکرر را برای معماری های نرم افزار به وجود اورده است. • فعاليت های تحليل طراحی که در زير آمده اند به صورت تکرار شونده انجام می گيرند: • جمع اوری طرح ها. • بدست اوردن نيازمنديها،محدوديت هاوتوصيف محيط. • توصيف سبک ها/الگوهای معماری که برای بررسی طرح ها و نياز ها انتخاب شده اند

  18. 14-4-1يک شيوه تحليل توازن معماری • ديدگاه پيمانه • ديدگاه پردازشی • ديدگاه جريان داده ای • ارزيابی صفات خاصه کيفی با در نظر گرفتن هر صفت خاصه به طور جداگانه. • شناسايی حساسيت صفات خاصه به صفات خاصه مختلف معماری برای سبک به خصوصی. • متخصصان با استفاده از تحليل حساسيت که در مرحله قبل صورت گرفته معماری های کانديد را پيشنهاد می کنند.

  19. 14-4-2رهنمود کمی برای طراحی معماری • آسادا[ASA96]يک سری مدل های ساده پيشنهاد کرده که به طراح در تعيين مقداری که نسبت به ان معماری خاصی معيارهای خوب از پيش تعريف شده ای را مرتفع می سازد ،کمک می کند .اين معيارها که گاهی به ان ابعاد طراحی می گويند،اغلب در بر گيرنده روش های کيفی تعريف شده در بخش اخر هستند يعنی قابليت اطمينان ،عملکرد ،ايمنی ،قابليت نگهداری ، انعطاف پذيری ،آزمون پذيری ،قابليت حمل،قابليت کاربرد مجدد وعمل در همکاری با ديگر قسمت ها. • اولين مدل بنام تحليل طيف يک طراحی معماری را از نظر خوب بودن طيف از بهترين تا بدترين طراحی های ممکن ،ارزيابی می کند، در واقع اين ارزيابی با اختصاص امتيازی به هر يک از ابعاد طراحی انجام می گيرد.

  20. 14-4-2رهنمود کمی برای طراحی معماری • شاخص طيف Is نشانگر مقداری است که مشخص کننده طراحی رهيافت های پيشنهادی معماری نسبت به يک سيستم بهينه در يک سری انتخاب های منطقی برای طراحی می باشد. • 100*Is=[(S-Sw)/(Sb-Sw)] در رابطه اخيرS امتياز کل می باشد، مجموع Sw برای بدترين معماری محاسبه می شود وSb را برای طراحی بهينه محاسبه می کنيم. • برای مقايسه ی دو طراحی می توان از شاخص پيشرفت استفاده کرد .اگر مقدار مثبتی باشد، می توان نتيجه گيری کرد که سيستم1 نسبت به سيستم 2 پيشرفت داشته. • Im=Is1-Is2

  21. 14-4-2رهنمود کمی برای طراحی معماری • تحليل انتخاب طراحی مدل ديگری است که نيازمند مجموعه ای از ابعاد طراحی است که بايد تعريف شوند.سپس معماری پيشنهادی ارزيابی می گردد تا تعدادابعاد طراحی که در مقايسه با سيستم ايده ال بدست می ايد ،تعيين گردد. • شاخص انتخاب طراحی ياd را بر اساس رابطه زير محاسبه می کنيم: • d=(Ns/Na)*100 در اين رابطه Ns تعداد ابعاد طراحی بدست امده توسط معماری پيشنهادی و Naمجموع کل ابعاد درفضای طراحی است.

  22. 14-4-2رهنمود کمی برای طراحی معماری • تحليل همکاری ،دلايلی را شناسايی می کند که به واسطه انها مجموعه ای از طرح های انتخابی امتياز کمتری را نسبت به طرح های ديگر می گيرند . • تحليل مقدار برای تعيين اولويت نسبی نيازمنديهای تعيين شده در طول نمايش تابع ،اطلاعات و وظيفه صورت می گيرد، مجموعه ای از مکانيزم های تجسم شناسايی می گردد ، تمام نيازمنديهای مشتری فهرستبندی گرديده و يک ماتريس مرجع متقاطع ايجاد می گردد.سلول های اين ماتريس يا شبکه نشانگر نيروی نسبی ارتباط ميان يک مکانيزم تجسم و نياز به هر معماری جايگزين می باشد . اين مورد را گاهی ”فضای اندازه گيری شده طراحی(QDS) “ می نامند .

  23. 14-4-3پيچيدگی معماری • يک روش مفيد برای ارزيابی پيچيدگی کلی معماری پيشنهادی ،عبارت است ازدر نظر گرفتن وابستگی ميان اجزا درون معماری ، که ناشی از جريان کنترل/اطلاعات درون سيستم می باشد. • ژانو سه نوع وابستگی ارائه می دهد: • وابستگی های مشترک : نمايانگر ارتباطات وابسته ای در ميان مصرف کنندگانی هستند که از منبعی يکسان استفاده کرده يا توليدکنندگانی که برای مصرف کنندگان يکسانی توليد می کنند. • وابستگی های جريان: نمايانگر ارتباطات وابسته ای ميان توليدکننده و مصرف کننده های منبع هستند. • وابستگی های مقيد شده: نمايانگر محدوديت ها و قيودی در جريان نسبی کنترل ميان مجموعه ای از فعاليت ها هستند.

  24. 14-5نگاشت نيازمنديها در يک معماری نرم افزار • يک نگاشت که انتقال از مدل نيازمنديها را به مدل طراحی با موفقيت انجام دهد ،وجود ندارد.در واقع ،نگاشت های مختلف سبک های معماری هنوز وجود ندارند و طراح بايد به تفسير نيازمنديها در طراحی از نظر اين سبک ها ،به شيوه ای مخصوص دست يابد. • به منظور تشريح يک روش در کشيدن نقشه(نگاشت) معماری ،فراخوانی و بازگشت معماری را در نظر می گيريم،يعنی يک ساختمان بسيار معمول برای انواع سيستم ها.تکنيک نگاشت مورد نظر طراح را قادر می سازد تا فراخوانی و بازگشت پيچيده منطقی معماری ها را از روی دياگرام جريان داده ها در مدل مقتضيات ارائه دهد .اين تکنيک گاهی طراحی ساخت يافته ناميده می شود.

  25. 14-5نگاشت نيازمنديها در يک معماری نرم افزار • طراحی ساختيافته شده اغلب به عنوان يک روش طراحی مبتنی بر جريان داده ای معرفی می گردد زيرا انتقال راحت از دياگرام جريان داده ای(DFD) را به معماری نرم افزار فراهم می سازد.کار انتقال جريان اطلاعات به ساختار برنامه به عنوان بخشی از فرايند مرحله 6 با موفقيت به انجام می رسد: • نوع جريان اطلاعات تعيين می گردد. • سر حدات جريان مشخص می شوند • DFDدر ساختمان برنامه نگاشت می شود • سلسله مراتب کنترلی تعيين می گردد • ساختمان بدست امده با استفاده از معيار های طراحی و علوم تجربی بازنگری می شود • توصيف معماری بازنگری و تعيين می گردد

  26. 14-5-1 جريان تبديلات • اطلاعات در طول مسيرهايی که اطلاعات برونی را به درونی تبديل می کنند،وارد سيستم می شوند.اين مسيرها به عنوان جريان در حال ورود،شناخته می شوند. • در قسمت مرکزی نرم افزار ،انتقال رخ می دهد.اطلاعات ورودی از مرکز تغيير دهنده گذشته و در طول مسيری به حرکت در می ايند که اکنون به سمت خروجی نرم افزار می رود.اطلاعاتی که در طول اين مسيرها حرکت می کنند جريان خروجی ناميده می شوند. • جريان کلی داده ها به صورت سريالی رخ داده و يک يا چند مسير مستقيم را دنبال می کنند.وقتی بخشی از دياگرام جريان داده ای اين مشخصه ها را نشان می دهد ،جريان تبديل حضور دارد.

  27. 14-5-2 جريان تراکنش تراکنش مرکز تراکنش شکل 14-4 روند تراکنش مسيرهای اقدام

  28. 14-5-2 جريان تراکنش • مدل سيستم بنيادی به جريان تبديل اشاره دارد .بنابراين ممکن است همه جريان داده ای در اين طبقه قرار گيرد.جريان اطلاعات اغلب به وسيله يک قلم داده ای به نام مبادله يا قرارداد توصيف می شود(تراکنش)که در طول يکی از چندين مسير ديگر جريان اطلاعاتی را اصلاح می کند.وقتی DFDبه شکل نشان داده شده در شکل 14-4 می رسد ،جريان تراکنش حضور يافته. • جريان تراکنش با حرکت داده ها در طول مسير توصيف می شود که اطلاعات جهان بيرونی را به يک قرارداد تبديل می کند .اين تراکنش ارزيابی شده و بر اساس ارزشش،جريان در طول يکی از مسيرهای متعدد اقدام ،آغاز می گردد. • در يک DFDبرای يک سيستم بزرگ جريان تبديل و تراکنش ممکن است هر دو وجود داشته باشند.

  29. 14-6 نگاشت تبديلات • نگاشت تبديلات ،مجموعه ای از مراحل طراحی است که بهDFDدارای مشخصات جريان تبديل،امکان می دهد به سبک به خصوصی در معماری طراحی شود.

  30. 14-7 نگاشت تراکنش • در بسياری از برنامه های کاربردی نرم افزاری يک قلم داده ای به تنهايی يک يا چند جريان اطلاعاتی را که به کارکرد مورد نظر راه اندازی داده ها اثر می گذارد،آغاز می کند .اين قلم داده،تراکنش نام دارد.

  31. 14-8 پالايش طراحی معماری • استفاده موفق از نگاشت تراکنش يا تبديل با کارهای اضافی ديگری تکميل می شوند که به عنوان بخشی از طراحی معماری ضروری هستند. بعد از ساخت ساختار برنامه و اصلاح آن ،کارهای زير بايد تکميل گردد: • گزارش پردازشی برای هر پيمانه ارائه شود. • يک توضيح در مورد رابط هر پيمانه داده شود. • ساختار دادهای موضوعی و کلی تعريف شود. • تمام محدوديت های طراحی ذکر شوند • مجموعه ای از بازنگری طراحی ها آماده شود. • اصلاح در صورت لزوم در نظر گرفته شود.

  32. 14-8 پالايش طراحی معماری • پالايش معماری نرم افزار در همان مراحل اوليه طراحی بايد مورد توجه قرار گيرد.سبک های معماری جايگزين می توانند به دست آيند،پالايش شود وبه عنوان بهترين رهيافت ارزيابی شود.اين رهيافت بهينه سازی يکی از منافع حقيقی بدست آمده از ايجاد بازنمايی معماری نرم افزار است. • پایانفصل 14

More Related