6 - دانلود تحقیق: بررسی سبكها و الگوهاي معماري نرم افزار و اصول طراحي معماري نرم افزار مبتني بر سبك و توسعه مبتني بر مولفه 

فروشگاه جامع خرید پروژه و مقاله آماده دانشجویی

http://kia-ir.ir

آمار بازدید

  • بازدید امروز : 1922
  • بازدید دیروز : 271
  • بازدید کل : 3879583

آمار بازدید سایت

پیوند ها

6 - دانلود تحقیق: بررسی سبكها و الگوهاي معماري نرم افزار و اصول طراحي معماري نرم افزار مبتني بر سبك و توسعه مبتني بر مولفه


فرمت فایل: ورد Word و قابل ویرایش

تعداد صفحات: 255

 

 

فهرست مطالبفصل اول: مقدمه

مقدمه-----۲

۱-۱ روشهاي استفاده ا ز تجريدهاي سطح بالا۲

۱-۲ سبك در طراحي معماري نرم افزار-----۲

۱-۳ ساختار اين گزارش –

۳فصل دوم: مفهوم معماري نرم افزار

مقدمه-----۵

۲-۱ معماري نرم افزار-----۵

۲-۲ تعاريف معماري نرم افزار -----۵

۲-۳ اهميت معماري نرم افزار-----۶

۲-۴ اجزا معماري نرم افزار-۷

۲-۴-۱مولفه ها ----۷

۲-۴-۲رابطها۷

۲-۴-۳واسطها-----۷

۲-۴-۴پيكربندي ها-۸

۲-۵ تصميمات معماري----۸

٢-٦ چرخه كاري معماري نرم افزار--٩

٢-٧ فرايند طراحي معماري نرم افزار٩

٢-٨ وظيفه مندي و ويژگي هاي كيفي و ارتباط آنها با معماري--۱۱

٢-٨-١معماري و وظيفه مندي۱۱

٢-٨-٢معماري و ويژگي هاي كيفي --۱۲

۲-۹ سناريوهاي ويژگي هاي كيفي ۱۳

۱۵----(مثال) Availability Scenario ۱-۹-۲

۲-۱۰ تاكتيكها--۱۶

۲-۱۱ زبانهاي توصيف معماري----۱۷

۱۸--Architecture Drivers١٢ -٢

۱۸Software Product Lines ١٣-٢

۱۹- Architecure views ۱۴-۲

۲۰----- Architecture Documents ۱۵-۲

٢-١٦Architecture Blueprints ۲۰٢-١٧ تحليل و ارزيابي معماري نرم افزار----۲۱

فصل سوم: توسعه مبتني بر مولفه

مقدمه----۲۳

۳-۱ توسعه مبتني بر مولفه-----۲۳

۳-۲ مهندسي نرم افزار مبتني بر مولفه----۲۵

۳-۲-۱چالشهايCBSE ---۲۵

٣-٣ تعاريف مختلف مولفه-٢٨

٣-٤ مشكلات مربوط بهCBSE ---٣٢

۳-۵ اشيا و مولفه ها-----۳۲

۳-۶ واسطها----۳۴

۳-۷ قراردادها---۳۵

۳۷----Framework ۸-۳

٣-٩ ارتباط بين مفاهيم---٣٩

٣-٩-١چارچوب ها و مؤلفه ها-٣٩

٣-٩-٢چارچوب ها و قراردادها٤٠

٣-٩-٣چارچوب ها و الگوها--٣٩

٣-٩-٤نتيجه گيري--٤١

٣-١٠ معماري نرم افزار و مولفه ها----٤١

۳-۱۰-۱ معماري سيستم هاي مبتني بر مؤلفه----۴۲

۳-۱۰-۲ توسعه معماري گراي مولفه-----۴۴

۳-۱۰-۳ توسعه معماري مولفه گرا۴۴

۳-۱۰-۳-۱ تكنيكهاي تعمير عدم انطباق واسطها----۴۶

۳-۱۰-۳-۲ تكنيكهاي تشخيص عدم انطباق واسطها--۴۷

۳-۱۰-۳-۳ تكنيكهاي اجتناب از عدم انطباق واسطها-۴۸

۳—۱۱نتيجه گيري---۵۰

فصل چهارم: سبكها و الگوهاي معماري نرم افزار

مقدمه-۵۳

۴-۱ سبك چيست؟--۵۳

۴-۲ ساختار سبك --۵۳

۴-۳ تعاريف ارائه شده براي سبك معماري-----۵۴

۴-۴ طبقه بندي سبك هاي معماري---۵۵

۴-۵ معماري جريان داده(Data – Flow) -----۶۵

4- ۶۷---Pipe&Filter ١-٥

٧٢-pipe&filter مزايا سبك١-١-٥-٤

٧٢pipe&filter معايب سبك٢-١-٥-٤

۷۳----Batch Sequential ۲-۵-۴

۴-۵-۳راندن و كشيدن داده----۷۴

۷۶---Batch Sequential در مقايسه باPipe&Filter ۴-۵-۴

۷۷----- Process Control Loops۵-۵-۴

٤-٦ معماري ماشين مجازي(Virtual Machine) -----۷۷

۸۰----rule based وinterpretor مقايسه۱-۶-۴

۴-۷ معماري فراخواني و بازگشت(Call & Return) ---۸۱

۸۳----(Main–program–and–subroutine) سبك برنامه اصلي و زير روال١-٧-٤

۴-۷-۲سبك شي گرايي يا تجريد انواع داده(Abstract-data-type)۸۴

۸۵object oriented مزايا۱-۲-۷-۴

۸۶object oriented معايب۲-۲-۷-۴

۴-۸ سبك لايه اي (Layerd)۸۶

۴-۸-۱مزايا سبكlayered ---۸۹

۴-۸-۲معايب سبكlayered --۹۰

۹۰ Master/Slave ۱ -۲-۸-۴

۹۱Client/Server ۲-۲-۸-۴

۴-۸-۳نكاتي در مورد استراتژي هاي كنترل خطا-۹۴

۹۵Tiered معماري۴-۸-۴

۹۵-----Two Tier Client Server طراحي معماري۱-۴-۸-۴

۹۵----Three Tier Client Server طراحي معماري۲-۴-۸-۴

۹۶Object Oriented وMain Program and Subroutine مقايسه۵-۸-۴

۹۷-Independent Components ۹-۴

۴-۹-۱مزايا--۹۹

٤-٩-٢معايب-٩٩

۱۰۰--explicit invocation وimplicit invocation مقايسه۳-۹-۴

۱۰۱----Data centered ۱۰-۴

۱۰۴BlackBoard وrepository مقايسه سبك هاي۱-۱۰-۴

۴-۱۱ تاريخچه اي از الگوها(Patterns)۱۰۵

۴-۱۱-۱ الگوها: الگو چيست ؟--۱۰۶

تعاريفي از الگو-۱۰۶ ۲-۱۱-۴

۱۰۷-----Model-View-Controller : مثال ۳-۱۱-۴

ويژگي الگوهاي معماري نرم افزار--۱۰۸ ۴-۱۱-۴

سبك و الگو---۱۱۰ ۵-۱۱-۴

نتيجه گيري----۱۱۱ ۱۲-۴

فصل پنجم: طراحي معماري نرم افزار مبتني بر سبك

مقدمه-۱۱۳

۱۱۳--Attribute-Driven Design (ADD)۱-۵

۵-۲ امكانات سبكهاي معماري در طراحي معماري۱۱۴

۵ - ۳ مساله: طراحي معماري نرم افزار مبتني بر سبكهاي معماري-۱۱۵

۵-۳-۱ويژگي هاي سبك ----۱۱۵

۵-۳-۲جنبه هاي مختلف سبك در معماري-----۱۱۵

۵-۳-۳ابعاد تشكيل دهنده سبك -----۱۱۶

۵-۳-۴سبكهاي معماري در طراحي معماري نرم افزار----۱۱۶

۵-۴ نتيجه گيري--۱۱۷فصل ششم: نتيجه گيري

۶-۱ مروري گزارش-۱۱۹

۶-۲ نتايج حاصل --۱۱۹

۶-۳ طرح مساله---۱۲۰

۶-۴ کار آينده----۱۲۰

مراجع و منابع-----۱۲۲

فهرست شكلها

واسطهاي مولفه---۷ ۱-۲

پيكربندي مولفه ها-۸ ۲-۲

چرخه كاري معماري نرم افزار۹ ۳-۲

فرايند طراحي معماري نرم افزار----۱۰ ۴-۲

ابعاد ساماندهي تصميمات معماري---۱۱۵-۲

۱۵- Availability Scenario ۶-۲

۱۵-----availability نمونه سناريوي ۷-۲

تاكتيكهاي معماري۱۷ ۸-۲

ارتباط مفاهيم در توسعه مبتني بر مولفه---۳۹ ۱-۳

مدل حل۵۰ ۲-۳

۶۵-----DataFlow سبكactivity دياگرام ۱-۴

۶۵-----DataFlow سبكactivity دياگرام ۲-۴

مسير دهي داده به دو زير پردازش-۶۵ ۳-۴

مثالي ازسبكDataFlow ----۶۷ ۴-۴

۶۸----pipe&filter سبك ۵-۴

استفاده از كارتهايCRC براي نشان دادن سبكpipe&filter -----۶۸ ۶-۴

نمونه هايي از سبكpipe&filter -۶۹ ۷-۴

الگوهاي جريان داده----۷۰ ۸-۴

نمونه هايي از سبكpipe&filter -۷۱ ۹-۴

نحوه بستن اجزا سبكpipe& filter -----۷۱ ۱۰-۴

۷۴Push Pipeline ۱۱-۴

۷۵-Pull Pipeline ۱۲-۴

۷۵--Mixed Push-Pull Pipeline ۱۳-۴

۷۶-Pipeline with Active Filters ۱۴-۴

خلاصه اي از سبكDataflow ---۷۷ ۱۵-۴

۷۸----- -- Interpretor ۱۶-۴

۷۹----virtual machine ۱۷-۴

۸۰interpretor نمونه اي از ۱۸-۴

۸۰--- virtual machineخلاصه اي از سبك ۱۹-۴

۸۲ hierarchical layers ۲۰-۴

٨٣-- Main–program–and–subroutine سبك ۲۱-۴

۸۴---Main–program–and–subroutine خلاصه اي از سبك ۲۲-۴

 

۸۴object oriented سبك ۲۳-۴

۸۵-object oriented سبك ۲۴-۴

۸۵-object oriented سبك ۲۵-۴

۸۷-Layered سبك ۲۶-۴

جنبه هاي مختلف سبكlayered -۸۹ ۲۷-۴

مدل لايه ايOSI ۸۹ ۲۸-۴

۹۰-Master/Slave ۲۹-۴

۹۱-Client/Server ۳۰-۴

۹۲Broker ۳۱-۴

۹۳Peer- 2 – Peer ۳۲-۴

۹۴-Client/Server ۳۳-۴

۹۴----Server/Client خلاصه اي از ۳۴-۴

۹۵----Two Tier Client Server ۳۵-۴

۹۶---Three Tier Client Server ۳۶-۴

۹۶---Multi Tier Client Server ۳۷-۴

۱۰۱-Data Centered سبك ۳۸-۴

استفاده از كارتهايCRC براي نمايش سبكblackboard -۱۰۳ ۳۹-۴

۱۰۳--DataCentered خلاصه اي از ۴۰-۴

الگويMVC -۱۰۸

فهرست جداول ۴۱-۴

طبقه بندي سبك هاي معماري-----۵۹ ۱-۴

مقايسه سبكهايdataflow ۷۶ ۲-۴

فهرست شكلها

واسطهاي مولفه ۱-۲

پيكربندي مولفه ها ۲-۲

چرخه كاري معماري نرم افزار ۳-۲

فرايند طراحي معماري نرم افزار ۴-۲

ابعاد ساماندهي تصميمات معماري ٥ -٢

Availability Scenario ۶-۲

availability نمونه سناريوي ۷-۲

تاكتيكهاي معماري ۸-۲

ارتباط مفاهيم در توسعه مبتني بر مولفه ۱-۳

مدل حل ۲-۳

DataFlow سبكactivity دياگرام ۱-۴

DataFlow سبكactivity دياگرام ۲-۴

مسير دهي داده به دو زير پردازش ۳-۴

مثالي ازسبكDataFlow ۴-۴

pipe&filter سبك ۵-۴

استفاده از كارتهايCRC براي نشان دادن سبكpipe&filter ۶-۴

نمونه هايي از سبكpipe&filter ۷-۴

الگوهاي جريان داده ۸-۴

نمونه هايي از سبكpipe&filter ٩-٤

نحوه بستن اجزا سبكpipe& filter ۱۰-۴

A Push Pipeline with an Active Source ۱۱-۴

A Pull Pipeline with an Active Sink ۱۲-۴

A Mixed Push_Pull PipeLine with Pasive Source and Sink ۱۳-۴

A Pipeline with Active Filters and Synchronizing Buffering Pipes ۱۴-۴

خلاصه اي از سبكDataflow ۱۵-۴

interpretor ۱۶-۴

virtual machine ۱۷-۴

interpretor نمونه اي از ۱۸-۴

virtual machineخلاصه اي از سبك۱۹-۴

hierarchical layers ۲۰-۴

Main–program–and–subroutine سبك ۲۱-۴

Main–program–and–subroutine خلاصه اي از سبك ۲۲-۴

object oriented سبك ۲۳- ۴

object oriented سبك ۲۴-۴

object oriented سبك ۲۵-۴

Layered سبك ۲۶-۴

جنبه هاي مختلف سبكlayered ۲۷-۴

مدل لايه ايOSI ۲۸-۴

Master/Slave ۲۹-۴

Client/Server ۳۰-۴

Broker ۳۱-۴

Peer- 2 – Peer ۳۲-۴

Client/Server ۳۳-۴

Server/Client خلاصه اي از۳۴-۴

Two Tier Client Server ۳۵-۴

Three Tier Client Server ۳۶-۴

Multi Tier Client Server ۳۷-۴

Data Centered سبك ۳۸-۴

استفاده از كارتهايCRC براي نمايش سبكblackboard ۳۹-۴

DataCentered خلاصه اي از۴۰-۴

الگويMVC ۴۱ -۴

 

 

 

فصل ۱

مقدمه 

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

۱-۱ روشهاي استفاده ا ز تجريدهاي سطح بالا

روشهاي مختلفي براي استفاده از تجريدهاي سطح بالا وجود دارد, اما به منظور ايجاد سيستمهاي بزرگ و پيچيده, تركيب سيستماتيك اين روشها تحت يك ديسيپلين كامل ضروري است. سه روش عمده براي طراحي سيـستمهاينرم افزاري بزرگ وجود دارد:

۱. مهندسي نرم افزار مبتني بر مولفه١ با استفاده از مولفه هاي از قبل تست شده و از قبل بسته بندي شـدهقابليت استفاده مجدد را افزايش مي دهد. ميان افـزار٢ يـك واسـط اسـتاندارد بـراي سيـستمهاي عامـلناهمگن و سرويسهاي شبكه ارائه مي دهد.

۲.Middleware كه يك واسط استاندارد براي سيستمهاي عامل ناهمگن و سرويـسهاي شـبكه ارائـه مـيدهد .

و

۳. معماري نرم افزار كه سازمان درشت ساختار سيستم و رفتار آن را تشريح مي كنـد. معمـاري نـرم افـزارپشتيباني تحليلي بهتري براي تعيين ويژگيهاي بزرگ سيستم نـسبت بـه دو روش اول ارائـه مـي دهـد واغلب با استفاده از پلتفرمهايmiddleware و مولفه هايoff-the-shelf پياده سازي مي شود.

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

۱-۲ سبك در طراحي معماري نرم افزار

سبك در طراحي معماري به منظور تضمين خصوصيات مطلوب وابسته به سبك معماري هاي مبتني بـر آن سـبكمورد استفاده قرار مي گيرد. با وجود اينكه تكنيكهاي سيستماتيك براي تشريح و انتخـاب سـبك وجـود دارد, ولـيبرروي طراحي سيستماتيك و ايجاد معماري هاي مبتني بر سبك كار زيادي انجام نگرفته است .لذا نيازمندي به يكمتدولوژي براي طراحي معماري نرم افزار با استفاده از سبكهاي معماري نرم افزار كـاملا احـساس مـي شـود. ايـنمتدولوژي تحت يك چارچوب بايد شامل تكنيكهاي گوناگوني باشد تا با درنظرگرفتن قواعد و محدوديتهاي سبك ها, اين طراحي را انجام دهد. داده ها, ساختار, توپولوژي ها, تعاملات و رفتار سـبكها در ايـن تكنيكهـا بايـد در نظـرگرفته شود. نكته مهم در اين طراحي چگونگي تطابق سبكهاي انتخاب شده براي تشكيل معماري مي باشد تا ويژگيهاي وابسته به سبك در معماري حاصل حفظ شود .

 

1 Component Based Software Engineering(CBSE)

2 Middleware

۱-۳ ساختار اين گزارش

اين گزارش در قالب ۵ فصل ارائه خواهد شد كه در اين قسمت هر فصل به صورت كلي معرفي مي شود :

فصل اول: مقدمه (همين فصل) در اين فصل كليات موضوع مورد بحث قرار مي گيرد تا خواننـده جهـتگيري كلي موضوع را درك نمايد و با فضايي كه مساله در آن مطرح خواهد شد آشنا شود .

فصل دوم: مفاهيم معماري نرم افزار هدف از تدوين اين فصل مروري بر مفاهيم بنيـادي و مـرتبط بـاموضوع در حوزه معماري نرم افزار مي باشد .

فصل سوم: توسعه مبتني بر مولفه اين فصل دو موضوع را پوشش مـي دهـد. ابتـدا مفهمـوم مولفـه وتعاريف مختلف ارائه شده براي مولفه و توسعه مبتني بر مولفه مطرح شده است. در قـسمت دوم معمـارينرم افزار مبتني بر مولفه تشريح و جايگاه مولفه در سبكهاي معماري نرم افزار مورد بحث قرار مي گيرد.

فصل چهار: سبكها و الگوهاي معماري نرم افزار تشريح مفاهيم سبك و الگو در حوزه معماري, ارائـهتقسيم بندي هاي مختلف ارائه شده براي سبكها و بررسي ساختار و رفتار برخي از سبكهاي مهم از اهدافاين فصل مي باشد

فصل پنجم: معماري نرم افزار مبتني بر سبك اين فصل شامل بحث اصلي سمينار خواهد بود. بررسيحوزه مساله, جهت گيري ها, مسائل مطرح در آن, ماهيت موضوع , نيازها و ضروريات از مـواردي اسـتكه در قالب اين فصل ارائه خواهد شد.

فصل ششم: نتيجه گيري و طرح مساله خلاصه اي از گزارش در اين فصل ارائه مـي شـود . همچنـينموضوعات و مسائلي كه بايد حل شود مطرح خواهد شد.  

فصل ۲

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

مقدمه

در اين فصل به مفاهيم بنيادي و اساسي معماري نرم افزار اشاره خواهد شد.

۲-۱ معماري نرم افزار

معماري نرم افزار يك تجريد سطح بالا از سيستمهاي نرم افزاري به فرم عناصر , رابطها, پردازشـهاي دانـه درشـت وپيكربندي آنها ارائه مي دهد[Perry & Wolf]. در حقيقت معماري نرم افزار سازماندهي سيستمهاي نرم افزاري رابا استفاده از مولفه ها, رابطها و پيكربندي كه به وسيله آن مولفه ها و رابطها در يك سيستم به هم متصل مي شوند, و داده اي كه بين مولفه ها و رابطها منتقل مي شود تشريح مي كند[Fielding & Taylor 2000].

تمركز اصلي معماري نرم افزار بهبودي توسعه نرم افزار مـي باشـد زيـرا مـدلهاي معمـاري مـي تواننـد جنبـه هـايساختاري, رفتاري و تركيبي پيچيدگي نرم افزار را شناسايي و به صورت رسمي نشان مـي دهنـد لـذا اسـتدلالهايدقيق درباره ويژگيهاي كلي سيستم ارائه ميدهند. اما علاوه بر درك مشخصات كلي كـه هـدف آن درك راه حلهـايمعماري مي باشد, يك روش مهندسي نيازمند ساختن مدلها و تئوري ها براي حل مسائل تكرار شونده مـي باشـد.

اين مدلها و تئوري ها منجر به تدوين تجـارب موفـق مـي شـود كـه مـي تواننـد بـراي حـل مـسائل مـشابه اعمـال

. [Garlan 1996]شوند

۲-۲ تعاريف معماري نرم افزار

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

[Bass 03] : معماري نرم افزار براي يك برنامه يا يك سيستم محاسـباتي, سـاختار يـا سـاختارهاي آنسيستم است كه شامل عناصر نرم افزاري, ويژگي هاي قابل مشاهده خارجي١ هر يك از عناصـر و ارتبـاطبين آنها مي باشد. .۱

[IEEE 1471-00] : سازماندهي اساسي يك سيستم كه شامل مولفه ها, ارتباط بين هر يك از آنهـا وارتباط آن با محيط سيستم و اصول حاكم بر طراحي و تكامل آن مي باشد . .۲

[Perry 92] : معماري مجموعه اي از اجزا معماري است كه شكل خاصي دارند. ايـن اجـزا در سـه نـوعفرايندي, داده اي و اتصالي طبقه بندي مي شوند.

معماري نرم افزار ساختار مولفه اي يك سيستم (يا برنامـه) و ارتباطـات بـين آنهـا و يـك سـري اصـول وراهنماييهاي حاكم بر طراحي و تكامل آن مي باشد. .۳

[Garlan 03]: مجموعـه اي از مولفـه هـاي نـرم افـزاري, زيـر سيـستم هـا, ارتباطـات, تعـاملات, خصوصيات هر يك از اجزا و مجموعه اي از اصول هـدايت كننـده كـه هـر دو مجموعـه بـاهم يـك سـريخصوصيات اساسي و قيودي براي يك سيستم نرم افزاري تشكيل مي دهند . .۴

[Hayes 94]: مشخصه هاي يك سيستم انتزاعي كه شامل مولفه هاي تابعي و رفتاري است و رفتارهـا وواسطهاي هر مولفه و ارتباطات مولفه – مولفه را توصيف مي كند..۵

[Boehm 95] : معماري يك سيستم نرم افزاري شامل : .۶

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

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

1 Externally visible

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

۷.[McGovern 03 ] : معماري نرم افزار براي يك سيستم يا مجموعه سيستم ها, شامل تصميمات مهمطراحي در مورد ساختارهاي نرم افزار و تعاملات بين اين ساختارها كه سيستم مورد نظر را تشكيل

مي دهند, مي باشد . اين تصميمات طراحي مجموعه اي از كيفيتهايي را پشتيباني مي كننـد كـه بايـدتوسط سيستم حمايت شوند تا موفقيت حاصل شود. تصميمات طراحي يك سـري اصـول مفهـومي پايـه بـرايتوسعه و حمايت و نگهداري سيستم ارائه مي دهند .

۸.[Bhagtani 03] : يك چارچوب پايه يا يك ابزار ساخت كه فرايندهاي طراحي را ساده مي كنـد . يـكسيستم انتزاعي مي باشد مولفه هاي عملياتي و رابطه بيروني اين مولفه ها, قيدهايي برروي اين مولفه هـاو منطقي براي انتخاب آنها مي باشد .

۲-۳ اهميت معماري نرم افزار

از جنبه فني معماري نرم افزار به دلايل زير مهم مي باشد :

۱. ارتباطات بين سهامداران: معماري نرم افزار يك سطح انتزاع عمومي از يك سيستم را ارائه مي دهد كهبسياري از سهامداران سيستم مي توانند از آن به عنوان مبنايي بـراي درك متقابـل, مـذاكرات, اجمـاع وارتباطات دو طرفه استفاده نمايند .

۲. تصميمات طراحي اوليه: معماري نرم افزار زودترين تصميمات طراحي درباره يك سيستم را آشكارمي كند. اين الزامات براي ادامه توسعه سيستم, استقرار و نگهداري آن مهم مي باشند. همچنين اينزودترين نقطه اي است كه مي توان تصميمات طراحي را كه سيستم بر اساس آن بنا شده است آناليز نمود.

۳. تجريد قابل انتقال يك سيستم: معماري نرم افزار مدلهاي نـسبتا كوچـك و منطقـي بـراي چگـونگيساخته شدن سيستم و چگونگي عملكرد عناصر با همديگر تـشكيل مـي دهـد, و ايـن مـدلها در سرتاسـرسيستم قابل انقال مي باشند. به خصوص, اين مدلها مي توانند در سيـستمهايي كـه داراي ويژگـي هـايكيفي و نيازمندي هاي وظيفه مندي مشابهي دارند استفاده شود و قابليت استفاده مجدد در مقياس بزرگرا افزايش دهد.

۲-۴ اجزا معماري نرم افزار

خلاصه تعاريف ارائه شده براي معماري نرم افزار مي تواند به صورت زير ارائه شود :

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

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

(Components)مولفه ها

(Connectors) رابطها

(Interfaces)واسطها

(Configurations)پيكربندي ها

۲-۴-۱ مولفه ها

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

مولفه ها داراي واسطهايي مي باشند. مولفه ها مي توانند درشت دانه (ماننـد اديتورهـا) يـا ريـز دانـه (ماننـد انتـشارتيكهاي ساعت) باشند.

۲-۴-۲ رابطها

رابطها مكان هندسي ارتباطات مي باشند و داراي معناي خوش تعريف مي باشند. رابطها ارتباطات بين مولفـه هـا راتسهيل مي كنند و مي توانند ساده (مانندbroadcat bus ) , پيچيده (مانند شاملmiddleware ) باشند. از طرفديگر رابطها مي توانند ضمني(مانند فراخواني پروسيجرها, invocation ها) يا واضح (مانندORB هـا, ارتباطـاتباس واضح) باشند.

۲-۴-۳ واسطها

واسطها نقاط اتصالي رابطها و مولفه ها مي باشند.آنها مشخص مي نمايند كه داده در كجا وارد مولفه ها/ رابطها شونديا از آنها خارج شوند. واسطها مـي تواننـد بـه طورسـاده (رويـدادهاي ورودي و رويـدادهاي خروجـي) يـا پيچيـده(پروتكلهاي رويدادي عبوري از طريق واسطها) تعريف شوند.

 

شكل ۲-۱ واسطهاي مولفه

۲-۴-۴ پيكربندي ها

پيكربندي ها, مولفه ها و رابطها را به فرم معماري مرتب مي نمايند.

 

شكل ۲-۲ پيكربندي مولفه ها

۲-۵ تصميمات معماري

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

  انتشار : ۶ تیر ۱۳۹۶               تعداد بازدید : 254

فارسی ساز Assassins Creed Black Flag نسخه PC

فارسی ساز Assassins Creed Black Flag نسخه PC

فارسی ساز Assassins Creed Black Flag نسخه PC تلگرام : ParsiTeamCH@ سایت : ParsiTeamSite.ir ... ...

دانلود کتاب صوتی جان شیفته (مجموعه کامل)

دانلود کتاب صوتی جان شیفته (مجموعه کامل)

عنوان کتاب: جان شیفته (مجموعه کامل) نویسنده: رومن رولان مترجم: م.ا به آذین فرمت فایل ها: mp3 تعداد فایل ها: 4 جلد کامل حجم کل فایل ها: 953 مگابایت زبان: فارسی توضیحات: فضای داستان جان شیفته، فرانسه در ابتدای سده بیستم است و رمان وضعیت اجتماعی این دوران را برای ... ...

فارسی ساز Dragons Dogma 2

فارسی ساز Dragons Dogma 2

فارسی ساز Dragons Dogma 2 آموزش نصب : https://parsiteamsite.ir/product13/dd2/index.html ... ...

آموزش انتخاب و خرید دامنه اتوریتی دار | رنک دار (رایگان)

آموزش انتخاب و خرید دامنه اتوریتی دار | رنک دار (رایگان)

دامنه (Domain) آدرس کسب و کار شماست. امروز بسیاری از افراد به دنبال خرید دامنه منقضی شده اتوریتی دار یا رنک دار هستند چرا که خرید یک دامنه رنک دار کسب و کار شما را ماه ها به جلو می اندازد و شما را سریع تر به هدفتان می رساند. اما چگونه بصورت رایگان یک دامنه اتوریتی دار مناسب ... ...

راهنمای پین اوت صفحه آمپر و قطعات الکترونیکی و انزکتوری خودرو

راهنمای پین اوت صفحه آمپر و قطعات الکترونیکی و انزکتوری خودرو

یکی از مراحل عیب یابی و رفع عیب سیستم های الکتریکی و الکترونیکی خودرو، شناخت محل دقیق پایه ها و تست سیم و یا قطعه مربوطه می باشد بدین منظور تعمیرکاران از کتابچه ها و نقشه های متعددی استفاده می کنند در اختیار داشتن چنین نقشه هایی نیازمند صرف هزینه و مطالعه کتابهای تعمیراتی ... ...

دانلود فرم خام دفتر کارنما ویژه طرح جابر

دانلود  فرم خام دفتر کارنما ویژه طرح جابر

جلد دفتر کارنمای جابر بن حیان (با فرمت word جهت تغییر و ویرایش) نمونه ای از دفتر کار نمای جشنواره جابر بن حیانبا طراحی زیبا و مناسب برای دانش آموزان عزیز آماده شده است. به علاوه 2 هدیه از طرح های جابر تقدیم می شود       ... ...

آموزش نرم افزار شالی

آموزش نرم افزار شالی

آموزش نرم افزار حسابداری شالی (شرکت داده پردازی کاشان) آدرس سایت شرکت: https://kdps.ir/ مجموعه فایل PDF آموزش نرم افزار شالی شامل حساب و انبار + تمرین و حل تمرین ... ...

دانلود پاورپوینت فصل های ریاضی ششم (هفت فصل)

مجموعه ی حاضر فایل پاورپوینت قابل ویرایش تمامی فصل های ریاضی ششم دبستان می باشد که تمامی سوالات همراه با جواب کامل بوده و توضیحات کامل هستند این فایل ها مناسب برای آموزگاران عزیز و دانش آموزان و اولیا می باشد با استفاده از این فایل ها ها به جواب سوالات فصل ها خواهید رسید هم ... ...

نقشه سیم کشی موتورسیکت های پالس Pulse

نقشه سیم کشی موتورسیکت های پالس Pulse

نقشه سیم کشی قسمتهای مختلف موتورسیکلتهای پالس Pulse به صورت کاملا رنگی و بسیار با کیفیت فرمت فایل : pdf (پی دی اف) شامل 8 نقشه سیم کشی 220 و 200 سی سی 01. نقشه مدار سیم کشی نشانگر آمپر سوخت02. نقشه مدار سیم کشی چراغ ها03. نقشه مدار سیم کشی استارت04. نقشه مدار سیم کشی ... ...

پکیج حرفه ای آموزش کسب درآمد میلیونی از اینترنت ( تضمینی و تست شده)

پکیج حرفه ای آموزش کسب درآمد میلیونی از اینترنت ( تضمینی و تست شده)

  √جدیدترین آپدیت آبان ۱۴۰۴√ بسم الله الرحمن الرحیم  **کسب درآمد از اینترنت روزانه تا ۲/۰۰۰/۰۰۰ میلیون تومان (تضمینی و تست شده)** ☆☆آموزش صفر تا صد کسب درآمد اینترنتی بالای ۵۰/۰۰۰/۰۰۰ میلیون تومان ماهانه، پشتیبانی ۲۴ ساعته ۷ روز هفته، ۱۰۰%حلال شرعی، کاملاً واقعی و تست ... ...

کتاب معلم Nuevo prisma libro de profesor (A2)

کتاب معلم Nuevo prisma libro de profesor (A2)

دانلود کتاب معلم نوو پریسما آ2   فایل به صورت pdf با کیفیت خوب و برای راحتی در تدریس یا آموزش کتاب نوو پریسما A2  می باشد. کتاب Nuevo Prisma A2 با ساختار جدید بر اساس متد قبلی این مجموعه جهت فراگیری زبان اسپانیایی ویژه بزرگسالان توسط انتشارات Editorial Edinumen به چاپ ... ...

دانلود "کتاب صدای خود را آزاد کنید"pdf+فایلهای تمرینی

دانلود "کتاب صدای خود را آزاد کنید"pdf+فایلهای تمرینی

دانلود کتاب"صدای خود را آزاد کنید" نوشته : راجر لاو pdf+فایلهای صوتی تمرینی همراه کتاب با یادگیری تکنیکهای ساده راجر لاو هر کسی می تواند صاحب صدایی قوی برای صحبت کردن و صوتی زیبا برای خواندن شود. او با نظریه انقلابی و ارائه مفهوم صدای میانی،شما را به دنیای جدیدی از ... ...

دانلود سوال عربی هفتم هشتم نهم نوبت اول 1404

دانلود سوال عربی هفتم  هشتم نهم نوبت اول 1404

 سئوالات عربی هفتم هشتم نهم نوبت اول دارای همه نوع سوال از جمله: مهارت های ترجمه؛ واژگان؛ مکالمه؛ درک وفهم؛ قواعد طراحی بر اساس بارم بندی جدید 15نمره کتبی و 5 نمره شفاهی مطابق با اصول و شیوه های جدید طراحی سؤال تر و تمیز شسته و رُفته اعراب گذاری شده با دانلود این ... ...

جزوه کامل اصول حسابداری 1 + نمونه سوالات

جزوه کامل اصول حسابداری 1 + نمونه سوالات

جزوه کامل اصول حسابداری 1 +  نمونه سوالات بر اساس کتاب عبدالکریم مقدم و علی شفیع زاده منبع رشته حسابداری پیام نور در 250 صفحه به صورت فایل PDF   این راهنما شامل موارد زیر است: نمونه سوالات آزمون تستی و تشریحی با جواب نکات مهم و چکیده هر فصل حل کامل تمرینات هر فصل ... ...

دتایل اجرایی ژاکت فلزی - ژاکت فولادی (مقاوم سازی ستون بتنی) اتوکد dwg

دتایل اجرایی ژاکت فلزی - ژاکت فولادی (مقاوم سازی ستون بتنی) اتوکد dwg

در اینجا جزئیات اجرایی کمیاب از نحوه اجرا و نقشه های مقاوم سازی ستون بتنی با ژاکت فولادی را می توانید دانلود کنید... نقشه های دانلودی در فرمت فایل اتوکد dwg و قابل ویرایش هستند... شامل : دانلود دتایل اجرایی مقاوم سازی ستون بتنی با ژاکت فلزی نحوه اتصال بولت ها به ستون ... ...

کسب درآمد از هوش مصنوعی ماهیانه حداقل ۱۲ میلیون تضمینی

کسب درآمد از هوش مصنوعی ماهیانه حداقل ۱۲ میلیون تضمینی

 پکیج فوق‌العاده آموزش کسب درآمد با هوش مصنوعی  بدون نیاز به تخصص | بدون سرمایه اولیه | درآمد واقعی ✅ چرا باید این پکیج رو تهیه کنید؟ ✨ کاملاً عملی و کاربردی – فقط تئوری نیست، دقیقاً قدم‌به‌قدم نشونت میدیم چه کاری انجام بدی.  ‌✨بدون نیاز به تجربه یا تخصص قبلی – حتی اگه ... ...

دانلود کتاب جوغن ها pdf

دانلود کتاب جوغن ها pdf

  اگر علاقه مند به باستان شناسی باشید، پس از مطالعه مقالات و کتاب ها مطمئنا به واژه جوغن یا جوغان برخوردید.   شناخت جوغن ها در گنج یابی بسیار مهم است چون: يکي از بيشترين علايمي که در ايران عزيز وجود داره سنگ کاسه و جوغنها هستند کاسه ها به طور معمول نشانه قبر هستند ... ...

حسابداری مالی دکتر یدالله تاری وردی

دانلود حسابداری مالی دکتر یدالله تاری وردی و کلاس کنکور کارشناسی ارشد حسابداری مالی ... ...

کتاب صوتی پاک زیستن - انجمن معتادان گمنام

کتاب صوتی پاک زیستن - انجمن معتادان گمنام

کتاب صوتی پاک زیستن انجمن معتادان گمنام NA   درباره کتاب: هر روزی که ما پاک زیسته و اصول روحانی بهبودی را تمرین می کنیم, حقایق بیشتری آشکار می گردند. اولین نسخۀ کتاب پاک زیستن در سال 1983 نوشته شد اما آغاز این پروژه حتی به پیش از این تاریخ نیز مربوط می گردد. این ... ...

فارسی ساز بازی جهنم خود ماست ( Hell is Us)

فارسی ساز بازی جهنم خود ماست ( Hell is Us)

با نصب این  فارسی ساز می‌توانید بازی Hell is us رو به صورت کامل فارسی بازی کنید. ... ...

نقشه سیم کشی موتورسیکلت های آپاچی Apache کاربراتور

نقشه سیم کشی موتورسیکلت های آپاچی Apache کاربراتور

نقشه سیم کشی موتورسیکلت های آپاچی کاربراتوری به صورت کاملا فارسی و رنگی و دارای بالاترین و بهترین کیفیتفرمت فایل : PDF (پی دی اف)شامل 9 نقشه سیم کشی:1. نقشه سیم کشی سیستم احتراق (جرقه زنی) 2. نقشه سیم کشی سیستم چراغ های روشنایی (جلو و عقب) 3. نقشه سیم کشی سیستم شارژ ... ...

دانلود نمونه سوال قرآن هفتم هشتم نهم نوبت اول1404

دانلود نمونه سوال قرآن هفتم  هشتم نهم نوبت اول1404

فایل ورد سوال قرآن هفتم هشتم نهم نوبت اول دی 1404 دارای راهنمای تصحیح/ قابل تغییر و ویرایش مجدد تر و تمیز شسته و رُفتهاعراب(حرکت) گذاری شده و دارای انواع سوالات از جمله: (سؤالات ترجمه کلمات، ترکیبات، ترجمه آیات و عبارات و مفاهیم قرآنی) چنانچه هر سه ... ...

تمام حقوق مادی و معنوی این وب سایت متعلق به "" می باشد

فید خبر خوان    نقشه سایت    تماس با ما