系统架构设计师下午(Ⅱ)模拟1
计算机水平考试高级系统架构设计师2013年下半年下午真题Ⅱ

计算机水平考试高级系统架构设计师2013年下半年下午真题Ⅱ(总分:12.00,做题时间:150分钟)试题一论软件架构建模技术与应用软件架构用来处理软件高层次结构的设计和实施,它以精心选择的形式将若干结构元素进行装配,从而满足系统的主要功能和性能需求。
软件架构设计的首要问题是如何表示软件架构,即如何对软件架构建模。
根据建模的侧重点不同,可以将软件架构模型分为结构模型、框架模型、动态模型、过程模型和功能模型。
Kruchten在1995年提出了“4+1”视图模型,将5种模型有机地统一在一起。
请围绕“软件架构建模技术与应用”论题,依次从以下三个方面进行论述。
(分数:3.00)(1).1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
(分数:1.00)__________________________________________________________________________________________正确答案:()解析:简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。
(2).2.简要叙述“4+1”视图模型的主要内容。
结合你参与项目的实际情况,详细说明该项目需求及所涉及的软件架构(包括使用到的视图模型、创建的架构模型及使用的建模工具等)。
(分数:1.00)__________________________________________________________________________________________正确答案:()解析:简要叙述“4+1”视图模型的主要内容。
1)“4+1”视图模型从5个不同的视角来描述软件架构,每个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件结构的全部内容。
这5个不同的视角包括逻辑视图、开发视图、进程视图、物理视图和场景。
(1)逻辑视图。
逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。
高级系统架构设计师下午试题模拟2(含详细答案)

系统架构设计师考试下午I模拟2案例分析题阅读以下软件架构设计的问题,在答题纸上回答问题。
某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。
在系统开发之初,企业对该平台提出了如下要求。
1在线交易平台必须在1秒内完成客户的交易请求。
2该平台必须保证客户个人信息和交易信息的安全。
3当发生故障时,该平台的平均故障恢复时间必须小于10秒。
4由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。
添加新功能或进行硬件升级必须在6小时内完成。
针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。
1、软件质量属性是影响软件架构设计的重要因素。
请用200字以内的文字列举6种不同的软件质量属性名称,并解释其含义。
2、请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。
阅读以下关于结构化软件系统建模的叙述,在答题纸上回答问题。
希赛公司拟开发一个商业情报处理系统,使公司能够针对市场环境的变化及时调整发展战略,以获取最大的商业利益。
项目组经过讨论,决定采用结构化分析和设计方法。
在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的没计思路。
3小张提出先构建系统流程图(System Flowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出。
4小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图所示。
项目组经讨沦确定以数据流图作为本阶段的建模手段。
工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了图的数据流图中存在的错误。
3、流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。
2009年下半年系统架构设计师上下午试卷word

2009年下半年系统架构设计师上午试卷●计算机系统中硬件层之上的软件通常按照三层来划分,如下图所示,图中①②③分别表示(1) 。
(1)A. 操作系统、应用软件和其他系统软件 B. 操作系统、其他系统软件和应用软件C. 其他系统软件、操作系统和应用软件D. 应用软件、其他系统软件和操作系统●某计算机系统中有一个CPU、一台扫描仪和一台打印机。
现有三个图像处理任务,每个任务有三个程序段:扫描S i,图像处理Ci和打印P i (i=1,2,3)。
下图为三个任务各程序段并发执行的前驱图,其中, (2) 可并行执行, (3) 的直接制约, (4) 的间接制约。
(2)A.”C1S2”,”P1C2S3”,”P2C3” B.”C1S1”,”S2C2P2”,”C3P3” C.”S1C1P1”,”S2C2P2”,”S3C3P3” D.”S1S2S3”,”C1C2C3”,”P1P2P3”(3)(4)A. S1受到S2和S3、C1受到C2和C3、P1受到P2和P3 B. S2和S3受到S1、C2和C3受到C1、P2和P3受到P1C. C1和P1受到S1、C2和P2受到S2、C3和P3受到S3D. C1和S1受到P1、C2和S2受到P2、C3和S3受到P3●在数据库设计的需求分析阶段应完成包括(5) 在内的文档。
(5)A. E-R图 B. 关系模式 C. 数据字典和数据流图 D. 任务书和设计方案●设有职务工资关系P(职务,最低工资,最高工资),员工关系EMP(员工号,职务,工资),要求任何一名员工,其工资值必须在其职务对应的工资范围之内,实现该需求的方法是(6) 。
(6)A. 建立”EMP.职务”向”P.职务”的参照完整性约束 B. 建立”P.职务”向”EMP.职务”的参照完整性约束C. 建立EMP上的触发器程序审定该需求D. 建立P上的触发器程序审定该需求●设关系模式R(U, F),其中R上的属性集U={A, B, C, D, E},R上的函数依赖集F={A→B,DE→B,CB→E, E→A, B→D}。
系统架构设计师模拟试题第1套[下午I]
![系统架构设计师模拟试题第1套[下午I]](https://img.taocdn.com/s3/m/c732890876c66137ee0619cd.png)
系统架构设计师模拟试题第1套[下午I]第一题医院信息系统在我国医院应用已经有10多年的历史了,从第一代以解决收费为目的的系统到现在电子病历的时代到来,医院信息系统的应用正不断向深度和广度扩展。
目前某医院需要建设自己的HIS系统。
其要求为:(1)功能全面,易于修改(2)响应速度快(3)界面友好、操作方便(4)成本低,维护方便(5)便于统计和查询数据(6)易于系统集成(7)良好的支持医疗保险的能力(8)数据标准化要高,易于社区联网(9)支持远程医疗(10)开发周期短关于系统架构的选择,在项目团队中有着不同的声音,有的成员提出应采用C/S模式,有的成员提出应采用B/S模式,有的提出应采用C/S/S模式,也有的提出应采用SOA架构。
【问题1】(8分)项目组最终未选择SOA架构的原因有可能是(多选题,多选或错选1个扣2分,扣完为止):A.SOA架构中构件之间的耦合程度较高,不利于达到“维护方便”的要求B.SOA接口定义模糊,不利于达到“易于系统集成”的要求C.SOA开发难度较高,失败风险较大D.C/S/S模式中的构件为粗粒度,而SOA架构中的服务为细粒度,所以C/S/S模式更符合“良好的支持医疗保险的能力”E.开发团队对SOA技术不熟F.SOA在“数据标准化要高,易于社区联网”方面难以达到要求【问题2】(10分)请完成下表中的空白部分(用+表示优、-表示差)【问题3】(7分)在用户需求中“易于修改、维护方便、易于系统集成”其实讲的都是软件的可维护性问题,这足以说明可维护性的重要。
请说明可维护性由几个质量子特性组成,常见的软件维护有那四种类型。
参考答案【问题1】C E【问题2】(1)- (2)+ (3)- (4)+ (5)+ (6)- (7)+ (8)+ (9)- (10) - 【问题3】(1)易分析性、易改变性(易修改性)、易测试性、稳定性、维护性的依从性(2)改正性维护、适应性维护、完善性维护、预防性维护试题分析【问题1】实际上是从另一个角度来分析SOA的优缺点。
系统架构设计师考试模拟试题加答案解析(二)

系统架构设计师考试模拟试题加答案解析(二)2016年下半年系统架构设计师考试将于11月12日举行。
大家都准备好了吗?下面由希赛小编为大家整理了一些系统架构设计师考试模拟试题,希望对大家有所帮助。
试题11、以下是关于VxWorks嵌入式操作系统几个典型观点,选项______代表的观点是正确的。
①操作系统与应用程序处于不同存储空间②支持进程间隔离保护③支持多任务(线程)操作④硬实时系统A.①、③B.②、④C.③、④D.①、②、③12、对于______,要求团队成员在这些构件所代表的应用领域中具有丰富的经验,但对其进行所需的修改,风险相对较小。
A.成品构件B.具有部分经验的构件C.具有完全经验的构件D.新构件13、用户文档主要描述所交付系统的功能和使用方法。
下列文档中,______属于用户文档。
A.需求说明书B.系统设计文档C.安装文档D.系统测试计划14、某大中型企业在全国各城市共有30个分支机构,现有的信息系统环境是,每个机构的数据库服务器从PCServer(最小512MB内存)到RISC小型机(最大4GB内存)配置不一,操作系统也不一样,数据库产品类型也不统一。
为了加强管理,实现对下属机构业务数据的异地存储备份,保证数据的安全及恢复,同时对全国业务数据进行挖掘分析,该企业拟在总部建设数据中心。
为了保证数据上传的顺序、稳定、安全和并发,并解决数据库的异构问题,系统应采用______。
A.WebService技术B.插装技术C.Web中间件D.交易中间件技术15、A.patternB.modelsC.metadataponents16、A.frameworkB.deliverablesC.representationD.semanticmodels17、A.changeabilityB.effectivenessC.testabilityD.functionality18、A.qualityB.budgetC.schedulesD.risks19、A.visibleB.reliableC.secureD.robust21、项目时间管理包括使项目按时完成所必需的管理过程,活动定义是其中的一个重要过程。
2023年系统架构设计师考试模拟练习题及答案

2023年系统架构设计师考试模拟练习题及答案模拟练习题(一)以下关于软件开发方法的叙述,错误的是()。
A.对于较为复杂的应用问题,适合采用形式化方法进行需求分析B.形式化方法的优势在于能够精确地表述和研究应用问题及其软件实现C.净室软件工程将正确性验证作为发现和排除错误的主要机制D.净室软件工程强调统计质量控制技术,包括对客户软件使用预期的测试【解析】正确答案:A。
软件开发方法是指软件开发过程所遵循的办法和步骤,从不同的角度可以对软件开发方法进行不同的分类。
形式化方法是一种具有坚实数学基础的方法,从而允许对系统和开发过程做严格处理和论证,适用于那些系统安全级别要求极高的软件的开发。
形式化方法的主要优越性在于它能够数学地表述和研究应用问题及软件实现。
但是它要求开发人员具备良好的数学基础。
用形式化语言书写的大型应用问题的软件规格说明往往过于细节化,并且难以为用户和软件设计人员所理解。
由于这些缺陷,形式化方法在目前的软件开发实践中并未得到普遍应用。
净室软件工程(Cleanroom Software Engineering,CSE)是软件开发的一种形式化方法,可以开发较高质量的软件。
它使用盒结构规约进行分析和建模,并且将正确性验证作为发现和排除错误的主要机制,使用统计测试来获取认证软件可靠性所需要的信息。
CSE强调在规约和设计上的严格性,还强调统计质量控制技术,包括基于客户对软件的预期使用测试。
模拟练习题(二)结构化布线系统分为六个子系统,其中水平子系统()。
A.由各种交叉连接设备以及集线器和交换机等设备组成B.连接了干线子系统和工作区子系统,C.由终端设备到信息插座的整个区域组成D.实现各楼层设备间子系统之间的互连【解析】正确答案:B。
水平子系统是指的,从楼层管理间到信息插口这一段,它连接了垂直干线子系统与工作区子系统。
模拟练习题(三)以下关于网络控制的叙述,正确的是()。
A.由于TCP的窗口大小是固定的,所以防止拥塞的方法只能是超时重发B.在前向纠错系统中,当接收端检测到错误后就要请求发送端重发出错分组C.在滑动窗口协议中,窗口的大小以及确认应答使得可以连续发送多个数据D.在数据报系统中,所有连续发送的数据都可以沿着预先建立的虚通路传送【解析】正确答案:C。
(完整版)年系统架构设计师考试下午真题与答案(下半年)

2009年下半年系统架构设计师考试下午真题试题:阅读以下软件架构设计的问题,在答题纸上回答问题1和问题2.某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。
在系统开发之初,企业对该平台提出了如下要求:(1)在线交易平台必须在1s内完成客户的交易请求。
(2)该平台必须保证客户个人信息和交易信息的安全。
(3)当发生故障时,该平台的平均故障恢复时间必须小于10s.(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级.添加新功能或进行硬件升级必须在6小时内完成。
针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。
【问题1】(9分)软件质量属性是影响软件架构设计的重要因素。
请用200字以内的文字列举六种不同的软件质量属性名称,并解释其含义。
【问题2】(16分)请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。
1.试题答案:【问题1】常见的软件质量属性有多种,例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter—operation)等。
这些质量属性的具体含义是:(1)性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数.(2)可用性是系统能够正常运行的时间比例。
(3)可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力.(4)健壮性是指在处理或环境中,系统能够承受压力或变更的能力。
2009年下半年系统架构设计师下午试题答案1

软考网 专业实用 考生之家
(4)通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的
试题五 问题 1
信息系统面临的安全威胁来自于物理环境、通信链路、网络系统、操作系统、应用系统 以及管理等多个方面。
物理安全威胁是指对系统所用设备的威胁,如自然灾害、电源故障、数据库故障和设备 被盗等造成数据丢失或信息泄漏。
通信链路安全威胁是指在传输线路上安装窃听装置或对通信链路进行干扰。 网络安全威胁当前主要是指由于因特网的开放性、国际性与无安全管理性,对内部网络 形成的严重安全威胁。 操作系统安全威胁指的是操作系统本身的后门或安全缺陷,如“木马”和“陷阱门”等。 应用系统安全威胁是指对于网络服务或用户业务系统安全的威胁,包括应用系统自身漏 洞,也受到“木马”的威胁。
(3)当发生故障时,该平台的平均故障恢复时间必须小于 10s。该要求主要对应可用性, 可以采用的架构设计策略有 Ping/Echo、心跳、异常和主动冗余等。
(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功 能或进行平台升级必须在 6 小时内完成。该要求主要对应可修改性,可以采用的架构设计策略 有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。
试题二 问题 1
数据流图系 统中的数据流。
流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述 处理过程的控制流。
两者的区别主要包括: (1)数据流图中的处理过程可并行;流程图在某个时间点只能处于一个处理过程。 (2)数据流图展现系统的数据流;流程图展现系统的控制流。 (3)数据流图展现全局的处理过程,过程之间遵循不同的计时标准;流程图中处理过程 遵循一致的计时标准。 (4)数据流图适用于系统分析中的逻辑建模阶段;流程图适用于系统设计中的物理建模 阶段。 问题 2 如图所示的数据流图中存在的错误有以下 4 种: (1)“分类训练”加工:只有输入没有输出,产生数据黑洞; (2)“分类处理”加工:只有输出没有输入,无中生有; (3)“规则文件”数据流:外部实体没有经过加工处理,直接到数据存储。 (4)“配置信息”数据流:外部实体之间没有加工处理,存在直接数据流。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[模拟] 系统架构设计师下午(Ⅱ)模拟1论文一、论基于Mashup的Web应用系统设计与应用第1题:采用基于Web 2.0的Mashup技术架构Web应用系统,可以从不同的数据源抽取数据,聚合并转换数据,在不同的上下文使用,避免了复杂的集成过程,近年来受到了广泛的关注。
Mashup核心活动包括数据输入、数据可视化、调度与监视、剪裁、转换与充实、动作,以及发布与推广等。
可以通过使用搜索、语言翻译、工作流支持和其他改进技术来增强基础的Mashup。
请围绕“基于Mashup的Web应用系统设计与应用”论题,依次从以下3个方面进行论述。
1、概要叙述你参与管理和实施的Web应用系统开发项目及你所承担的主要工作。
2、简述常见的Mashup数据接口,详细论述你在所参与建设的Web应用系统项目中是如何应用Mashup技术,并分析应用这些技术之后对项目产生了哪些效果(或影响)。
3、论述在你参与建设的Web应用系统项目实施过程中遇到的,与Mashup技术相关的问题及解决的办法,还有哪些需要进一步改进之处及如何进行改进。
参考答案:1、简要介绍你参与规划和设计的Web应用系统开发项目,尤其着重介绍Web 应用系统的应用环境、总体需求(特别是质量属性需求)、Web应用系统的逻辑与物理拓扑结构及采用的技术等内容,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。
论文叙述自己参与设计和实施的Web应用系统项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。
2、Mashup程序从架构上是由客户机的Web浏览器、Mashup网站和API/内容提供者等3个不同的部分组成,它们在逻辑上和物理上都是相互脱离的(可能由网络和组织边界分隔)。
Mashup的主要工作流程是,当移动用户向Mashup网站发起一个请求时,通过GPS系统附带自身的位置信息;Mashup网站接受请求,并将请求分解为对多个服务网站的数据请求调用,并为发起调用进行准备;针对不同服务网站的调用接口,采用不同的调用方式;最终在Mashup站点将请求信息进行数据内容聚合,并将用户所处位置的整合信息返回。
目前,经常使用的3种Mashup 接口如下。
(1)聚合内容(Really Simple Syndication,RSS)式的Mashup接口。
一种用于对网站内容进行描述和同步的格式,是目前使用最为广泛的Web资源发布方式,可以被称为资源共享模式的延伸。
(2)表述性状态转移(REpresentational State Transfer,REST)式的Mashup接口。
REST从资源的角度来看待整个网络,分布在各处的资源由统一资源标识符(Unified Resource Identifier,URI)确定,而客户端的应用通过URI来获取资源的表示。
(3)基于简单对象访问协议(Simple Object Access Protocol,SOAP)的Web服务式Mashup接口。
一种基于XML的数据格式定义,用来进行Web服务调用过程中的参数调用和返回。
采用基于Web 2.0的Mashup技术架构Web应用系统具有的优势:①仅需要使用现有Web应用程序(如Google Maps)公开的,基于Web的API(或Web服务)构建应用程序,集成过程相对简单;②直接使用Mashup技术集成两个或者更多的Web API,创建新的特性与功能;③使用AjaX技术调用基于Web的API,浏览器客户端不需要在每次与服务器通信时都重新加载整个页面,动态特性强;④使用SOA的思想集成底层系统,强调功能暴露与服务组合,以服务的形式集成并暴露现有系统的能力等。
在实现Mashup应用时,进行内容聚合的物理位置是一个十分重要的因素。
目前很多Mashup站点都选择在客户端机器上进行内容聚合,构成所谓的胖因特网应用程序(Rich Internet Application,RIA)。
这种在客户端进行内容聚合的优点主要表现在:①从Mashup 服务器存储的角度来说,对服务器所产生的负载较轻,因为数据可以直接从内容提供者那里传送到客户端;②从网络传输的角度来说,在基于Ajax等技术和应用模型的基础上,客户端页面只请求需要更新的内容,而不用刷新整个页面,从而减少网络数据的通信量。
结合项目实践经验,说明你参与管理和开发的项目中,如何理解Mashup、门户、SOA、EAI/EII和SaaS之间的关系;能够全面和准确地描述Mashup各个核心活动(包括数据输入、数据可视化、调度与监视、剪裁、转换与充实、动作,以及发布与推广等)及其具体的实施内容;能够准确地描述如何管理Mashup开发,包括从计划和管理方法到集成、测试和部署的全过程;在优化安全性、隐私、可访问性、有用性和性能,通过使用搜索、语言翻译、工作流支持和其他改进来增强基础的Mashup,执行有效的负载和回归测试,避免造成企业Mashup故障的“反模式”等方面也要有一定的论述。
3、有具体着眼点地论述在你参与建设的Web应用系统项目实施过程中遇到的,与Mashup 技术相关的问题。
针对具体的问题你采取了哪些解决技术、方法和措施,以及它们对该工程项目后期的工作产生了哪些积极(或消极)的影响(效果和存在的问题)。
论文最后可以进一步讨论你在该工程项目中获得的与Mashup应用相关的体会,以及在今后的工作过程中,如果碰到类似的开发项目你将如何应用这些经验或教训。
对需要进一步改进的地方,应有具体的着眼点,不能泛泛而谈。
4、论文写作过程中值得关注的一些要点如下(全书同)。
(1)整篇论文要结构合理、切中要害、陈述完整、言简意赅、语言流畅、字迹清楚,切忌对知识点的堆积、长篇大论、言之无物。
(2)选择自己参与过的工程项目进行分析论述,所述项目切题真实,介绍清楚。
(3)下午试卷Ⅱ是论述题目,问题中提到的中心内容在题目的说明中都有所涉及。
在答题时首先要冷静并认真阅读题目,找出和问题相关的知识点,确定考题的关键考点,这是答题的前提。
(4)摘要是全文概括,千万不要写成引言。
(5)围绕论文主题,对所参与的项目进行科学叙述与评价,要有具体的着眼点,不能泛泛而谈,尽可能从字里行间让阅卷者体会到你的实际工作能力、业务水平和项目实践经验。
(6)在考试过程中应注意技巧,让答题的思路最大限度地符合出题的思路,避免跑题,这样容易得到阅卷老师的共鸣。
(7)根据考生对所参与的项目中针对本论文主题的相关叙述与评价,可确定他(她)有无参与信息系统项目开发过程的实践经验。
详细解答:二、论大中型信息系统安全体系的架构与规划第2题:企事业单位信息系统安全体系的架构与规划则是本单位信息化发展战略的基础性工作,而信息系统安全体系的架构与规划是一个非常细致和非常重要的工作,需要对企事业单位信息化发展的历史情况进行深入和全面的调研,针对现有的及未来的信息系统安全的主要内容进行整体的规划工作。
请围绕“大中型信息系统安全体系的架构与规划”论题,依次对以下3个方面进行论述。
1、简述你参与规划和设计的大中型信息系统及你所担任的主要工作。
2、结合你的网络规划设计经验,简述大中型信息系统安全体系所包含的基本内容和规划框架,并着重说明你采用的保障信息系统安全和网络安全的技术和方法。
3、分析你采取上述技术和方法的效果如何,还有哪些需要进一步改进之处及如何进行改进。
参考答案:详细解答:三、论软件架构风格及其应用第3题:软件架构设计的一个核心问题是如何有效地使用重复的体系结构模式,即达到软件体系结构级的软件重用。
软件架构风格(Software Architecture Style)是描述软件系统组织方式的常用模式,在实践中已经被多次应用。
按照Shaw和Garlan的说法,“一种体系结构风格定义了构件类型和连接件类型的词汇表,以及它们如何组合的约束条件”。
软件架构风格通常分为数据流(Data Flow)风格、调用/返回(Call/Return)风格、独立构件(Independent Components)风格、虚拟机(Virtual Machines)风格和仓库(Repositories)风格5大类。
在实际应用中,随着软件系统规模的扩大和复杂,一个系统往往会同时使用多类体系结构风格,这些风格可以交叉组合,彼此重叠。
请围绕“软件架构风格及其应用”论题,依次从以下3个方面进行论述。
1、概要叙述你参与管理和开发的软件工程项目及你在其中所担任的主要工作。
2、请说明以上软件架构风格分类中每一类有哪些经典的软件体系结构设计风格,并就其中至少两类论述其具体的软件架构风格的构件、连接件类型和组合约束要求等结构特征及其应用特点。
3、具体阐述你参与管理和开发的项目中在体系结构设计时选择使用软件架构风格的情况,包括选择的依据、多个风格组合使用的情况和最终实际效果等,还有哪些需要进一步改进之处及如何进行改进。
参考答案:1、简要介绍你参与规划、设计和实施的大中型软件工程项目的基本情况,尤其有针对性地介绍与软件架构风格或软件重用方面的需求和应用环境,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。
论文叙述自己参与设计和实施的软件工程项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。
2、结合你的项目实践经验,介绍以下软件架构风格方面的知识点。
1)Garlan和Shaw将软件架构风格分为5大类(1)数据流风格:包括批处理序列架构风格(Batch Sequential)和管道/过滤器架构风格(Pipes/Filters)。
(2)调用/返回风格:包括主程序/子程序架构风格(Main Program and Subroutine)、数据抽象和面向对象架构风格(Data Abstraction and Object-Oriented)及层次结构架构风格(Hierarchical Layers)。
(3)独立构件风格:包括进程通信架构风格(Communicating Processes)和事件驱动架构风格(EventSystems)。
(4)虚拟机风格:包括解释器架构风格(Interpreters)和基于规则的系统(Rule-based Systems)架构风格。
(5)仓库风格:包括数据库架构风格(Databases)和黑板架构风格(Blackboards)。
其他:特定领域软件体系结构(Domain-specific Software Architectures)、状态转移(State TransitionSystem)、分布式处理(Distributed Processes)架构风格和:REST(REpresentational State Transfer)混合架构风格等。
其中分布式架构风格中有客户机/服务器(C/S)架构风格、浏览器/服务器(B/S)架构风格、CORBA、DCOM和EJB架构风格等。