架构最终版复习提纲加例题答案.docx

上传人:b****0 文档编号:18031502 上传时间:2023-08-07 格式:DOCX 页数:17 大小:356.85KB
下载 相关 举报
架构最终版复习提纲加例题答案.docx_第1页
第1页 / 共17页
架构最终版复习提纲加例题答案.docx_第2页
第2页 / 共17页
架构最终版复习提纲加例题答案.docx_第3页
第3页 / 共17页
架构最终版复习提纲加例题答案.docx_第4页
第4页 / 共17页
架构最终版复习提纲加例题答案.docx_第5页
第5页 / 共17页
架构最终版复习提纲加例题答案.docx_第6页
第6页 / 共17页
架构最终版复习提纲加例题答案.docx_第7页
第7页 / 共17页
架构最终版复习提纲加例题答案.docx_第8页
第8页 / 共17页
架构最终版复习提纲加例题答案.docx_第9页
第9页 / 共17页
架构最终版复习提纲加例题答案.docx_第10页
第10页 / 共17页
架构最终版复习提纲加例题答案.docx_第11页
第11页 / 共17页
架构最终版复习提纲加例题答案.docx_第12页
第12页 / 共17页
架构最终版复习提纲加例题答案.docx_第13页
第13页 / 共17页
架构最终版复习提纲加例题答案.docx_第14页
第14页 / 共17页
架构最终版复习提纲加例题答案.docx_第15页
第15页 / 共17页
架构最终版复习提纲加例题答案.docx_第16页
第16页 / 共17页
架构最终版复习提纲加例题答案.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

架构最终版复习提纲加例题答案.docx

《架构最终版复习提纲加例题答案.docx》由会员分享,可在线阅读,更多相关《架构最终版复习提纲加例题答案.docx(17页珍藏版)》请在冰点文库上搜索。

架构最终版复习提纲加例题答案.docx

架构最终版复习提纲加例题答案

架构复习内容:

软件体系结构概念及ABC

SA的定义:

Thesoftwarearchitectureofaprogramorcomputingsystemisthestructureorstructuresofthesystem,whichcomprisesoftwareelements,theexternallyvisiblepropertiesofthoseelements,andtherelationshipsamongthem.

一个程序的软件体系结构或者一个计算机系统是一个架构或者是一个系统的架构。

它包括软件元素、这些元素的外观,以及它们之间的关系。

体系结构=组件+连接件+约束

Architecture=Components+Connectors+Constrains

SA的重要性:

1.架构是涉众之间进行交流的手段

2.架构是早期设计决策的体现

3.架构是可传递、可重用的系统抽象

ABC:

TheArchitectureBusinessCycle(ABC)

ABCiscycleofinfluences,fromtheenvironmenttothearchitectureandbacktotheenvironment.

ABC是一个来自环境对架构以及反馈回环境的影响的循环。

Thebusiness/organizationalenvironmentnecessarilyaffectsarchitecturaldesigndecisions.

事物/组织环境必定会影响架构设计决定。

Thesoftwarearchitectureinturnchangesthebusinessenvironment.

Architecturaldesignispartofeverystepofthedevelopmentprocess.

Theseinfluencesstronglyaffecttheorganization’sbottomline.

软件架构反过来改变事物环境。

架构设计是开发过程的每一步的部分。

这些会强烈影响组织的底线。

什么是好的SA:

关于过程的建议

1、架构的设计应该由一位设计师或者在某设计师领导下的小组完成

2、设计师应全面掌握系统的功能需求,并且应有一份所设计架构应满足的划分了优先级的质量属性列表。

3、架构的文档应该完备。

4、应该让各种涉众积极参与设计方案的评审。

5、对架构人身进行分析,得出可应用的量化度量指标。

6、架构的设计应有助于增量式实现。

7、允许架构带来一定的资源争用,但应清楚地给出这些资源争用的解决方案。

关于结构的建议:

1、架构应采用定义良好的模块。

2、应该使用特定于每个属性的众所周知的架构战术来实现质量属性。

3、架构不可以依赖于某个版本的商业产品或者工具。

4、产生数据的模块与使用数据的模块分开。

5、对于并行处理系统,应采取订立良好的进程或任务。

6、每个任务或进程的编写都要考虑与特定处理器的关系。

7、采用少量的、简单的交互模式。

架构的重要性:

1、架构影响着开发组织的结构

2、构架会影响开发组织的目标。

3、构架可能会影响客户对下一个系统的要求。

4、构建系统的过程丰富了整个开发团队的经验。

5、一些典型的系统会影响并实际改变软件工程的发展。

构架的分类:

模块结构组件-连接器结构分配结构

常见软件体系结构风格及其特点-数据流、调用/返回、层次、仓库/黑板

SA风格的概念,常用SA风格特点,比较

软件体系结构的视图和描述

4+1视图理论,ArchitecturalStructures(教材作者的多重结构理论)

Thedesignorlogicalview:

theclasses,interfaces,andcollaborationsformingthevocabularyoftheproblemanditssolution.

Theinteractionorprocessview:

howcontrolflowsacrossthestaticclassesatruntime.

Theimplementationview:

theorganizationofthesoftwaremodulesinthedevelopmentenvironment.

Thedeploymentview:

Amappingofelementsontoprocessingandcommunicationnodes.

Usescasescutacrosstheviews.Theycapturethesystem’sfunctionalrequirementsforthesystemandhelpfindconflicts.

软件体系结构的质量属性及其战术(重点!

常见质量属性:

质量属性场景

刺激源刺激环境制品响应响应度量

保障质量属性的常用战术:

1.可用性战术

错误检测

命令响应心跳异常

恢复:

检测和修复

表决主动冗余(仅用第一个反应)被动冗余(主响应,其他更新)备件

恢复:

重新引入

Shadow状态再同步回滚

预防

从服务中删除事务进程监视器

2.可修复性战术

局部化变更

语义一致性预期期望的变更泛化模型限制可能的选择抽象通用的服务

防止连锁反应

隐藏信息维持现有的接口限制通信路径使用仲裁者

推迟绑定时间

运行时注册配置文件多态组件更换遵守已定义的协议

3.性能战术

资源需求

提高计算效率减少计算开销管理事件率

资源管理

引入并发维持多个副本增加可用资源

资源仲裁

调度策略

4.安全性战术

抵抗攻击

对用户进行身份验证对用户进行授权维护数据的机密性维护完整性限制暴露信息限制访问

检测攻击

入侵检测

从攻击中恢复

恢复——查看可用性识别——审计追踪

5.可测试性战术

管理输入输出

记录回放将接口与实现分离特化访问路线接口

内部监视

内置监视器

6.易用性战术

分离用户接口

支持用户主动

取消

撤销

聚合

用户模型

用户模型

系统模型

任务模型

软件体系结构设计的ADD方法

架构设计的重要性和时机:

把架构作为软件开发过程基础的人和组织都需要理解构架在其生命中的位置。

何时开始设计:

在生命期模型中,构架设计就是从初步的需求分析开始逐步进行迭代。

ADD方法的步骤:

1、选择要分解的模块

2、根据这些步骤对模块进行求精

2.1、从具体的质量场景和功能需求集合中选择构架驱动因素

2.2、选择满足构架驱动因素的构架模式。

2.3、实例化模块并根据用例分配功能。

2.4、定义子模块的接口。

2.5、验证用例和质量场景并对其求精。

3、对需求进一步分解的每一个模块重复上述步骤

如何创建骨架系统:

1、首先实现处理架构组建的执行和交互的软件部分。

这可能要求生成实时系统中的调度程序;实现规则引擎以控制在基于规则的系统中规则的激发;实现多进程系统中的进程同步机制或客户机。

之后就拥有了一个运行系统。

这为添加有用功能提供了基础。

2、现在可以选择把提供功能的那些元素添加到该系统。

这种选择可能是根据以下因素做出的:

首先处理问题最多的部分来降低风险;或现在开发人员的类型水平;或尽可能快地将有用的产品推向市场。

3、现在了提供下一个功能增量的元素后,就可以采用使用结构,以获知应该在系统中采用什么软件来支持该功能。

4、随着过程的继续,系统的增量越来越大,直到软件开发完毕。

 

软件体系结构评审及其常用方法(ATAM)

架构评审的重要性:

Alldesigninvolvestradeoffinsystemqualities(设计即折中)

Systemqualitiesarelargelydependentonarchitecturaldecisions

体系结构极大地影响系统质量

Promotingonequalityoftencomesattheexpenseofanotherquality

提高一个质量,经常会降低另一个质量

Asoftwarearchitectureistheearliestlife-cycleartifactthatembodiessignificantdesigndecisions:

choicesandtradeoffs.

“选择与折中”是设计中首要考虑的问题,软件体系结构是软件生命周期中最早一个遇到此问题的

Choicesareeasytomake,buthardtochangeoncethesystemisimplemented

选择很容易做,但是一旦系统已经实现,就很难更改

成本收益:

Clarifiedqualityattributerequirements

明确质量需求

Improvedarchitecturedocumentation

提高体系结构文档质量

Documentedbasisforarchitecturaldecisions

文档化了的体系结构方案基础

Identifiedrisksearlyinthelife-cycle

及早发现风险

Increasedcommunicationamongstakeholders

促进了角色之间的交流

Theresultsareimprovedarchitectures.

结果是,体系结构得到改进

时机:

Academically,thetimetouseATAMisrightafterthearchitecturehasbeenspecifiedwhenthereislittleornocode.

学术上说,应该在体系结构确定之后使用ATAM,此时没有或者仅有少量的代码

However,inpractice,ATAMhasbeenveryeffectiveinthefollowingsituations:

Evaluatingalternativecandidatearchitectures

评审候选的体系结构

Evaluatingexistingsystemspriortocommittingtomajorupgrades

在升级之前,评审已有的系统

Decidingbetweenupgradeorreplace

无法决定是升级还是替换时

前提条件:

ClientsmusthaveaSoftwareArchitecture

客户必须有一个软件架构

Scope/scalemustbemanageable

其作用范围和程度必须可管理

ATAMwillnotworkifthesoftwarearchitecturehasnotbeencreatedyet

如果体系结构还没有被建立,那么ATAM毫无用武之地

ATAMteammemberswillreviewarchitecturalartifacts,andmayhelprefinedocumentationATAM

组将评估体系结构,并帮助改善文档

Architectmustprepareanarchitecturepresentation

架构师必须准备一个体系结构讲解

Clientsmustprepareabusiness/missiongoalspresentation

必须有一个商业/任务目标讲解

ATAMwillreviewarchitectureartifacts,presentations,andreadaheadmaterialtobecomefamiliarwithdomainATAM

要事先阅读一些材料来熟悉这个领域

人员组成:

1、评估小组

2、项目决策者

3、构架涉众

过程(步骤):

1、方法的表述

2、商业动机的表述

3、构架的表述

4、对构架方法进行分类

5、生成质量属性效用树

6、分析构架方法

7、集体讨论并确定场景的优先级

8、分析构架方法

9、结果的表述

常用技术手段

评审结果:

1、一个简洁的构架表述。

2、表述清楚的业务目标。

3、用场景集合捕获的质量需求。

4、所确定的敏感点和权衡点集合。

5、有风险决策和无风险决策。

6、风险主题集合。

ATAM方法的这些方面知识

考题类型

选择题(30%)

简答题(30%)

分析论述题(40%)

选择题

Allofthefollowingrolesarestakeholderexcept:

客户、最终用户、开发人员、项目经理、维护人员、对系统进行市场营销活动的人

Allofthefollowingareimportantsystemattributesexcept:

attractivity

Availability,Modifiability,Performance,Security,Testability,Usability

WhichofthefollowingareelementsofaSA:

All

特征损失模型(MODP)、回响模型(MODR)、噪音模型(MODN)、控制处理(CP)

Whichofthefollowingisnotapreconditionforarchitecturalreview?

finisheddesign

ATAMoutputsinclude:

Setofrankedissues

supportingdata

containedinformalreport

feedbacktoproject

Enhancedsystemdocumentation

增强的系统文档

Setofscenariosforfutureuse

将来会用到的场景集

Identificationofpotentiallyreusablecomponents

认定潜在的可重用组件

Estimationofcostsandbenefits

估算成本和收益

简答题

WhatisTheArchitectureBusinessCycle(ABC)?

ABCiscycleofinfluences,fromtheenvironmenttothearchitectureandbacktotheenvironment

List5architecturepatterns/styles.

数据流、调用/返回、层次、仓库/黑板,虚拟机

Howisanarchitecturalpattern/styledetermined.

asetofcomponenttypes

asetofconnectortypes/interactionmechanisms

atopologicallayoutofthesecomponents

asetofconstraintsontopologyandbehavior

aninformaldescriptionofthecostsandbenefitsofthestyle

Bassetal'sclassifyallarchitecturestructuresinto3maincategories,whatarethem?

Model-based(Decomposition,Users-Layered,Class)

Component-and-connector(Client-Server,Concurrency,Process,SharedData)structures

Allocation(WorkAssignment,Deployment,Implementation)

List5architecturestructuresaccordingtoBassetal.

DecompositionClassUsers-LayeredClient-ServerProcessSharedData

Whatisaqualityattributescenario?

ameanstocharacterizesystemqualityattributes,consistsof6parts:

stimulussource

stimulus

environment

artifactsaffected

systemresponse

measurementofresponse

Aunifiedwaytoexpressqualityrequirements

Discussthebenefitsofarchitecturalreviews.

1、financial

2、forcespreparationforreview

推动为评审做准备

3、capturedrationale

4、earlydetectionofproblems

尽早地发现问题

5、validationofrequirements

确认需求

6、improvedarchitectures

提高体系结构质量

Whencanarchitecturalreviewsbegin?

Early“architecturediscoveryreview”isdoneafterrequirementsareset,butbeforethearchitectureisfirm

Fullarchitecturalreviewisdonewhenarchitecturaldocumentationisavailable

Whatisanunplannedarchitecturalreview?

whyshouldtheorganizationhaveit?

计划外的评审是未曾预料到的,通常是因为项目存在严重的问题,需要采取极端的措施来补救以前的工作。

当管理层认为项目可能会失败,需要在开发过程中进行纠正时,进行计划外评审。

Whatisbrainstorming?

Explainriskpointsinarchitecturaldecision.

ATAM有风险决策:

根据所陈述的质量属性需求,可能导致不期望有的结果的构架决策。

Explainnon-riskpointsinarchitecturaldecision.

ATAM无风险决策:

根据分析被认为是安全的构架决策。

Explainsensitivitypointsinarchitecturaldecision.

Sensitivitypoints某决策很可能影响某些质量

Explaintrade-offpointsinarchitecturaldecision.

Tradeoffs某几种质量属性中的折中点

ListATAMsteps.

a.PresenttheATAM

b.Presentbusinessdrivers

c.Presentarchitecture

d.Identifyarchitecturalapproaches

e.Generatequalityattributeutilitytree

f.Analyzearchitecturalapproaches

g.Brainstormandprioritizescenarios自由讨论和为场景排序

h.Analyzearchitecturalapproaches

i.Presentresults

Whatisautilitytree?

Autilitytreeisatop-downvehicleforcharacterizingthe“driving”attribute-specificrequirements

效用树是一个自顶向下的工具,用来刻画重要的需求

Selectthemostimportantqualitygoalstobethehigh-levelnodes(typicallyperformance,modifiability,security,andavailability)

把最重要的质量目标放在高层节点(典型的有:

性能、适应性、安全和可用性)

Whatisaproductline?

生产线:

一组软件密集型系统,它们共享一个公共的、可管理的特性集,满足了某个特定市场或人物的具体需要,是以规定的方式用公共的核心资产集开发出来的。

Fromaproductline,howproductscanbeproduced?

-从公共核心资产库(coreassetsbase)中选取合适的构件

-使用预定义的变化性机制进行裁剪,如:

参数化、继承

-必要时增加新的构件

-在整个产品线范围内共同的体系结构指导下,进行构件组装,形成系统

论述题

Howdotheenvironmentsinfluencesdesigns?

Stakeholderwithdifferent,sometimesconflictingconcerns;

BusinessEnvironmentandOrganizationalStructure(organizationalstructure,resources,assets,businessstrategies);

TheArchitect'sBackgroundandExperience

HowdoArchitectureDesignChangetheBusinessEnvironment?

Theyaffectthestructureoftheorganization.

Theyaffectthebusinessgoalsoftheorganization.

Theyaffectcustomerrequirementsfornew

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2