软件体系结构复习资料
软件工程复习资料精选全文完整版
![软件工程复习资料精选全文完整版](https://img.taocdn.com/s3/m/62cc6c4611a6f524ccbff121dd36a32d7375c7d5.png)
可编辑修改精选全文完整版一、单选题(共20题,40分)1、使用数据流图,并不断细化的需求获取方法是()。
(2.0)A、简易的应用规格说明B、面向数据流自顶向下逐步求精C、访谈D、快速原型法正确答案: B2、Z语言是以()为基础的形式化规格说明语言。
(2.0)A、微积分B、概率C、图形D、一阶谓词演算正确答案: D3、HIPO是指(2.0)A、层次输入处理输出图或表B、层次功能结构图C、功能结构图D、输入处理输出图或表正确答案: A4、高铁调用系统最适宜采用()方法。
(2.0)A、有穷状态机B、 Petri网C、 Z语言D、一阶线性时态逻辑正确答案: B5、假设学生年龄的成绩输入范围为18-25,则根据等价类划分技术,下列划分正确的是()。
(2.0)A、可划分为2个有效等价类,2个无效等价类B、可划分为1个有效等价类,2个无效等价类C、可划分为2个有效等价类,1个无效等价类D、可划分为1个有效等价类,1个无效等价类正确答案: B6、用于并发系统,解决定时问题的形式化方法是()。
(2.0)A、 VDMB、 Z语言C、 Petri网D、一阶线性时态逻辑正确答案: C7、软件生命周期中所花费费用最多的阶段是(2.0)A、需求分析B、软件总体设计C、软件维护D、软件实现正确答案: C8、软件质量保证措施SQA不包括:(2.0)A、复审或评审B、软件测试C、程序正确性证明D、软件代码编写正确答案: D9、希望确定软件实现的功能是否与需求规格说明书一致,需进行()。
(2.0)A、单元测试B、有效性测试C、确认测试D、集成测试正确答案: C10、总体设计不包括:(2.0)A、体系结构设计B、数据库设计C、模块内算法设计D、逻辑数据结构设计正确答案: C11、关于类和对象的说法,正确的是(2.0)A、一个类只能有一个角色B、类的命名必须用动词C、类的所有对象都具有相同的属性和操作D、类是对象的实例,对象是类的抽象正确答案: C12、数据字典的基本功能是(2.0)A、数据库设计B、数据通信C、数据定义D、数据维护正确答案: C13、软件需求规格说明的内容不应该包括(2.0)A、主要功能B、算法的描述C、用户界面及其运行环境D、软件性能正确答案: B14、增量模型在添加新的模块时,有一个要求是()(2.0)A、需要更多的测试B、有足够的开发人员C、软件体系结构开放D、各个模块都要进行评审正确答案: C15、在软件详细设计过程中不采用的工具是(2.0)A、判定表B、PDLC、程序流程图D、DFD正确答案: D16、软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(2.0)A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑正确答案: B17、耦合是模块之间的相对独立性的度量。
软件设计与体系结构复习题
![软件设计与体系结构复习题](https://img.taocdn.com/s3/m/55236363580102020740be1e650e52ea5418ce73.png)
软件设计与体系结构复习题软件设计与体系结构复习题软件设计与体系结构是计算机科学与技术领域中的重要课程,它涉及到软件系统的设计、构建和维护。
在这篇文章中,我们将回顾一些与软件设计与体系结构相关的复习题,以帮助读者巩固知识和提高理解。
一、软件设计原则1. 什么是SOLID原则?请简要介绍每个原则的含义。
SOLID原则是面向对象设计中的五个基本原则,分别是单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。
单一职责原则指一个类只应该有一个引起变化的原因;开放封闭原则指软件实体(类、模块、函数等)应该对扩展开放,对修改关闭;里氏替换原则指子类对象应该能够替换父类对象而不影响程序的正确性;接口隔离原则指客户端不应该依赖它不需要的接口;依赖倒置原则指高层模块不应该依赖于低层模块,它们都应该依赖于抽象。
2. 什么是DRY原则?它的目的是什么?DRY原则(Don't Repeat Yourself)指不要重复自己。
它的目的是避免代码的重复,提高代码的可维护性和可复用性。
通过遵循DRY原则,可以减少代码的冗余,降低了修改代码时的风险,同时也提高了代码的可读性。
二、软件体系结构1. 什么是软件体系结构?它有什么作用?软件体系结构是指软件系统的整体结构和组织方式,它描述了软件系统中各个组件之间的关系和交互。
软件体系结构有助于理解系统的整体架构,提供了对系统进行设计、开发和维护的指导方针。
2. 请简要介绍常见的软件体系结构模式。
常见的软件体系结构模式包括分层结构、客户端-服务器结构、发布-订阅结构、管道-过滤器结构等。
分层结构将系统划分为若干层次,每一层次负责不同的功能;客户端-服务器结构将系统划分为客户端和服务器两部分,客户端发送请求,服务器提供服务;发布-订阅结构中,发布者发布消息,订阅者订阅感兴趣的消息;管道-过滤器结构中,数据通过一系列的过滤器进行处理。
三、设计模式1. 什么是设计模式?为什么使用设计模式?设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。
软件体系结构知识点复习
![软件体系结构知识点复习](https://img.taocdn.com/s3/m/17a5a20852ea551810a687c7.png)
一、什么是软件系统结构软件体系结构也称为软件构架(有时简称构架),是系统的一个或多个结构,它包括:软件的组成元素(组件),这些元素(组件)的外部可见特性,以及这些元素(组件)之间的相互关系。
含义:(1)系统由一个或多个结构组成,其中任何一个结构并不能与构架等同。
(2)每个系统都有一个体系结构。
(3)软件体系结构是系统的抽象。
(4) 构架定义了软件元素以及各元素间的交互关系。
(5) 以往作为体系结构传递的线框图,事实上并等同于体系结构。
二、构架商业周期(ABC)1.构架由什么决定?构架是否由系统需求决定?×软件构架是技术、商业和社会因素共同作用的结果。
2. 构架从哪里来?(影响构架的因素)影响构架的因素主要包括:❑系统涉众(stakeholder)、主要有:管理者:成本要低,人人都得干活营销人员:特性突出、投放市场快、成本低、可与同类产品相匹敌。终端用户:行为、性能、安全性、可靠性、易用性。维护人员:可修改性强。客户:成本低、及时交付、不要频繁修改。❑开发组织・组织内对现存构架的重用・对某个基础设施进行长期的商业投资以实现某些战略目标・开发组织本身的机构也会影响构架的形成❑构架师的素质和经验构架师先前的一些经验、教育、培训以及所接触到过的成功构架模式都会影响到他们对某种构架的选择。
❑技术环境当前技术发展水平代表了某个时代的构架师的普遍素质和经验,对架构有很大的影响力。
❑其它因素其它如社会、法律、人文环境等都会对构架产生影响。
3.构架的反影响力・构架会影响开发组织的结构・构架会影响开发组织的目标・构架会影响客户对下一个系统的要求・构建系统的过程丰富了整个开发团队的经验,从而将影响设计师对后继系统的设计・一些系统会影响并实际改变软件工程的环境,也就是系统开发人员学习或实践的技术环境。
4.构架的商业周期软件构架是技术、商业和社会等诸多因素作用的结果,而软件构架的存在反过来又会影响技术、商业和社会环境,从而影响未来的软件构架。
软件体系结构复习题
![软件体系结构复习题](https://img.taocdn.com/s3/m/1f9559cd89eb172ded63b7cf.png)
判断题1.软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
对2.开发视图主要支持系统的功能需求,即系统提供给最终用户的服务。
错3.软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。
其中,构件、连接件和配置是最基本的元素。
对4.构件可以由其他复合构建和原子构件通过连接而成。
错5.正交软件体系结构由组织层和线索的构件构成。
对6.软件产品线的建立通常有4种方式,其划分依据有两种对7.体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行。
对8.ATAM评估方法主要通过理解体系结构方法来分析体系结构,在这一步,由设计师确定体系结构方法,由分析小组捕获并进行分析。
对9.WSDL是可扩展的,使得在通信时无论使用何种消息格式或网络协议,都可以对端点及其消息进行描述。
对10.ABSD方法是基于体系结构的设计方法,它描述了系统的主要设计元素及其关系。
对11..可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。
对12.超文本组织方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。
对13.软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。
对14.体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色(对)15.开发视图主要支持系统的功能需求,即系统提供给最终用户的服务。
错16.构件、连接件以及配置是体系结构的核心模型最基本的元素(对)17.HMB风格不支持系统自顶向下的层次化分解,因为它的构件比较简单(对)18.基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。
对19.线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能对20.层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。
软件体系结构课件_软件体系结构总复习
![软件体系结构课件_软件体系结构总复习](https://img.taocdn.com/s3/m/984c462ba517866fb84ae45c3b3567ec102ddcee.png)
第一章 序论
软件体系结构的定义 Software Architecture is the structure or structures of
the system, Which comprise software elements, the externally visible properties of these Elements, and the relations among them
模块结构 组件-连接器结构 分配结构
分解结构 使用结构 分层结构 类或泛化
模块结构
分解结构 使用结构 分层结构 类或泛化
组件-连接器结构
组件 连接 连接的本质 连接器 组件间的联系
分配结构
什么是分配结构
硬件、团队结构、文件系统都会与软件构 架进行交互,所以必须考虑这一类结构。
第八章 构架编档
什么是架构编档,简要表达软件构架编档 要包含的主要内容。
第七章 软件产品线
产品线的概念 一个软件产品线是满足以下性质的
一组软件产品: -共享一组相同的、可管理的特性
的集合 -满足一类特定的市场需求
公共核心资产库(core assets base) COTS〔Commercial Off-the-Shelf〕 核心资产开发活动的输入和目标 产品开发活动中输入/输出关系 使用产品线的好处和代价
元进行操作 连接件:控制 根据控制策略的不同,分为: 数据库〔知识库〕:系统由输入数据流中的事务
信息来驱动,即输入数据流中的事务指令可以触 发系统相应进程的执行, 黑板:如果系统由中央数据结构的当前状态来驱 动,那么黑板模型。
黑板风格
Com它一些事物 元素外部可见的属性是指元素对其它元素来说 提供的效劳 需要的效劳 共享资源的使用等 各元素间的交互关系也可能有多种 例如:细划分,同步,调用,包含…
【软件体系结构】 复习
![【软件体系结构】 复习](https://img.taocdn.com/s3/m/81a496945fbfc77da269b19b.png)
第一章1. 体系结构发现、演化、重用体系结构发现解决如何从已经存在的系统中提取软件的体系结构,属于逆向工程范畴。
由于系统需求、技术、环境、分布等因素的变化而最终导致软件体系结构的变动,称之为软件体系结构演化。
体系结构重用属于设计重用,比代码重用更抽象。
由于软件体系结构是系统的高层抽象,反映了系统的主要组成元素及其交互关系,因而较算法更稳定,更适合于重用。
2.基于软件体系结构的软件开发方法:问题定义—>软件需求—>软件体系结构—>软件设计—>软件实现3.评价软件体系结构的方法权衡分析方法(ATAM方法),软件体系结构分析方法(SAAM方法),中间设计的积极评审(ARID方法)第二章1. 建模结构模型:研究结构模型的核心是体系结构描述语言。
以体系结构的构件,连接件和其他概念来刻画结构。
并力图通过结构来反映系统的重要语义内容。
框架模型:与结构模型类似,但不太侧重细节,而侧重于整体结构。
动态模型:是对结构和框架模型的补充,研究系统大颗粒的行为性质。
过程模型:研究构造系统的步骤和过程,结构是遵循某些过程脚本的结果。
功能模型:认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。
功能模型可以看作是一种特殊的框架模型。
4+1视图模型:逻辑视图、进程视图、物理视图、开发视图和场景视图逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。
在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。
这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。
在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图开发视图通过系统输入输出关系的模型图和子系统图来描述。
进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。
物理视图主要考虑如何把软件映射到硬件上。
逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。
软件体系结构-复习题
![软件体系结构-复习题](https://img.taocdn.com/s3/m/9f7a53e9700abb68a982fb8b.png)
《软件体系结构》习题一、单选题第一章概述1、软件开发模型大体上可以分为3种类型。
第1种是以软件需求完全确定为前提的;第2种是在软件开发初期阶段只能提供基本需求时采用的;第3种是以形式化为基础的变换模型。
A.协同模型B.瀑布模型C.变换模型D.迭代式模型2、根据《信息技术软件生存周期过程》标准,企业为实现ERP系统而准备招标书的活动属于生存周期基本过程中的过程,与该活动属于同一过程的活动还有。
A.总体规划B.系统实现C.获取D.供应A.启动B.准备投标C.系统需求分析D.项目管理3、螺旋模型是一种演进式的软件过程模型,结合了原型开发方法的系统性和瀑布模型可控性特点。
它有两个显著特点,一是采用的方式,逐步加深系统定义和实现的深度,降低风险;二是确定一系列,确保项目开发过程中的相关利益者都支持可行的和令人满意的系统解决方案。
A.逐步交付B.顺序C.循环D.增量A.实现方案B.设计方案C.关键点D.里程碑4、极限编程是一种重要的敏捷开发方法,包括策划、设计、编码和测试4个框架活动的规则和实践。
下面关于极限编程的叙述,错误的是。
A.极限编程中使用的重要技术是重构,既包括设计技术的重构,也包括构建技术的重构B.极限编程提倡在基本设计完成后立即进行编码实现,并进行测试C.极限编程活动中的关键概念之一是“结对编程”,推荐两个人面对同一台计算机共同开发代码D.极限编程过程中建立的单元测试应当使用一个可以自动实施的框架,支持代码修改后即时的回归测试策略5、把整个软件开发流程分成多个阶段,每一个阶段都由目标设定、风险分析、开发和有效性验证以及评审构成。
A.原型模型B.瀑布模型C.螺旋模型D.V模型6、某企业使用了某厂商的软件产品,随后该厂商又推出了这种产品的新版本。
该企业信息中心正在考虑是否需要升级该软件。
信息中心未做出立即更新软件版本的决定,最可能的原因是。
A.需要等待用户部门做出支付软件版本升级费用的预算B.用户部门还没有要求软件版本升级C.虽然新版软件在社会上已普遍使用,但信息中心还是担心存在潜在问题D.新版软件与其他用户部门正在使用的软件不兼容7、某小型软件公司欲开发一个基于Web的考勤管理系统,客户对系统的基本功能、表现形式等要求并不明确。
国家开放大学《软件工程》复习资料
![国家开放大学《软件工程》复习资料](https://img.taocdn.com/s3/m/0252fd01172ded630a1cb685.png)
《软件工程》复习资料一、选择题1.软件工程的研究内容具有层次化结构,最底层是质量保证层,中问层是(C),最主.层是工具层。
A过程层 B.方法层C.过程层和方法层 D.系统层2.可行性研究的四大要素是(D)。
A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平巳经济、技术、计算机硬件环境和网络带宽D.经济、技术、软件开发工具和人员的稳定性3.针对需求不确定的软件开发,比较好的模型是(A)。
A.快速原型化模型B.瀑布模型c.软件成熟度模型。
.系统化模型4.下面的哪个选项不是软件工程的宗旨?(D)A.开发满足用户需求的软件B.研究算法C.及时交付软件D.生产无故障软件5.瀑布模型的主要特点是(A)。
A.将开发过程严格地划分为一系列有序活动B.将开发过程分解为阶段c.提供了有效的管理模式D.缺乏灵活性6.软件结构图中没有(D)元素。
A.模块B.调用参数C.返回结果D.判断7.结构化设计方法划分模块的原则是(C)A.模块扇出小于5B.模块扇人小于5c.低搞合,高内聚 D.模块深度小于78.配置视图体现了系统的实现环境,反映系统的(B)。
A.逻辑架构B.物理架构C组成结构 D.体系结构9.角色可以有四种类型:系统的使用者,硬件设备,外部系统和(D)。
A.数据库B.接口C.对象D.时间10.功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。
在面向对象方法中,由(C)实现。
A.场景描述B.活动图和1场景描述C.用例图和场景描述D.交互图和场景描述11.在分析模型内表示协调,}I顶序、事务处理以及控制其他对象的类是(A)。
A.控制类B.组件类C.主函数D.事务类12.而信息隐藏的核心内容是(C)。
A.人把数据都放在公共的区域B.数据不能被其他模块访问C.一个模块的内部信息不允许其他模块直接访问D.把信息加密,只能让有密钥的模块访问13.面向过程的方法最关心的是过程,而过程实施的对象是作为过程(A)传递的。
第三章 计算机软件复习资料
![第三章 计算机软件复习资料](https://img.taocdn.com/s3/m/85d14033b90d6c85ec3ac6c7.png)
第三章计算机软件【知识点1】计算机系统的概念(1) 计算机系统的基本组成:①计算机硬件:组成计算机各种物理设备的总称②计算机软件:是指示计算机完成特定任务的,以电子格式存储的程序、数据和相关的文档。
程序:计算机如何完成任务逐步执行的命令;数据:程序所处理的对象及处理过程中使用的参数;文档:程序开发、维护和使用所涉及的资料。
(2)软件的三层含义(从科学概念上讲):①个体含义:即上面所说的计算机系统中的程序、规程、规则及其文档。
②整体含义:指在特定计算机系统中所有个体含义下的软件的总体。
③学科含义:即指软件在研究、开发、维护以及使用中所涉及的理论、方法、技术所构成的学科,在这一意义上称为软件学。
【典型例题】55.计算机软件指的是能指示计算机完成特定任务的、以电子格式存储的程序、______和相关的文档的集合。
【知识点2】软件的分类从应用的角度出发,通常将软件分为:系统软件、应用软件(1) 系统软件①系统软件:是给其他程序提供服务的程序的集合.(如各种操作系统、编译程序、磁盘清理程序等)②系统软件的主要特征:与计算机硬件系统有很强的交互性,对计算机的硬件资源进行统一的控制、调度、管理。
具有通用性,任何计算机系统必不可少。
购买计算机时,厂商必须提供一些基本的系统软件(2)应用软件①应用软件:泛指专门用于解决各种具体应用问题的软件。
②应用软件分类:按软件的开发方式和适用范围分为:通用应用软件:可以在许多行业和部门共同使用如:word、excel、绘图软件、媒体播放软件定制应用软件:按照不同领域用户的特定应用要求而专门设计的软件如:某大学的教务管理系统、某超市的销售系统③主要通用应用软件类别和功能【典型例题】8.下列软件中,_____是专门的网页制作软件。
A .FrontPage 2000B .Visual BASIC 6.0 C .Excel 2000D .PowerPoint 2000 11.在计算机的软件分类中,应用软件和系统软件的相互关系是______A .前者以后者为基础B .后者以前者为基础C .每一类都不以另一方为基础D .每一类都以另一方为基础11.在计算机系统中,对计算机各类资源进行统一管理和调度的软件是_______。
软件工程复习知识要点
![软件工程复习知识要点](https://img.taocdn.com/s3/m/910cbfc30875f46527d3240c844769eae009a398.png)
1 软件和软件工程概念软件的组成部分之一;在软件开发中,编程只是软件开发过程的一个阶段。
2.在结构化程序设计时代,程序最小的单位是函数及子程序,程序和数据是分别的。
程序的最小单位是类。
3.软件的特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、维护特性、废弃特性、应用特性。
4.软件的分类:系统软件;应用软件;支撑软件;可复用软件。
5.什么是软件工程?(课后题)软件工程是指导计算机软件开发和维护的工程学科。
接受工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
6.可以用功能性、牢靠性、易用性、效率、可维护性和可移植性六个特性衡量软件的质量。
功能性是指软件所实现的功能达到它的设计规范和满意用户需求的程度。
可移植性是指软件从某一环境转移到另一环境时所作努力得程度。
7.软件生存期由软件定义、软件开发和运行维护三个时期组成。
开发时期通常由概要设计、详细设计、编码和测试四个阶段组成。
开发过程中的典型文档包括:项目支配、软件测试支配、软件设计说明书、用户手册。
8.需求分析的基本任务?(1)建立分析模型,了解系统的各种需求微小环节。
(2)基于分析结果,编写出软件需求规格说明或系统功能规格说明,确认测试支配和初步的系统用户手册,并提交管理机构进行分析评审。
2 软件工程方法和工具1.面对对象方法的动身点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的方法和过程尽可能接近人类相识问题和解决问题的方法和过程,从而使描述问题的问题空间和其解空间在结构上尽可能一样。
2.形式化方法的主要特点是:(课后题)(1) 软件需求规格说明被细化为用数学记号表达的详细的形式化规格说明;(2) 设计、实现和单元测试等开发过程由一个变换开发过程代替。
通过一系列变换将形式的规格说明细化成为程序。
3.面对对象 = 对象 + 类 + 继承 + 消息通信。
软件体系结构复习--华南理工大学
![软件体系结构复习--华南理工大学](https://img.taocdn.com/s3/m/7a259f474afe04a1b171de10.png)
选择题All of the following roles are stakeholder except:All of the following are important system attributes except:Which of the following are elements of a SA:Which of the following is not a precondition for architectural review?ATAM outputs include:简答题1、What is The Architecture Business Cycle (ABC)?ABC is cycle of influences, from the environment to the architecture and back to the environment2、List 5 architecture patterns/styles.数据流过程调用事件驱动风格信息共享风格层次风格3、How is an architectural pattern/style determined.a set of component typesa set of connector types/interaction mechanismsa topological layout of these componentsa set of constraints on topology and behavior4、Bass et al's classify all architecture structures into 3 main categories, what are them?Module-based structures:the elements are software modules (the implementation units). Includes decomposition, uses, layered, class.Component-and-connector structures: the elements are run-time components. Includes process communication, concurrency (parallelism), shared data production and consumption, and client-server communication.Allocation Strutures:5、List 5 architecture structures according to Bass et al.Decomposition, Users, Layered, class , client-serverProcess,Concurrency,Shared data,DeploymentImplement, work assignment6、What is a quality attribute scenario?a means to characterize system quality attributes, consists of 6 parts:stimulus sourcestimulusenvironmentartifacts affectedsystem responsemeasurement of responseA unified way to express quality requirements7、Discuss the benefits of architectural reviews.Five different types of benefits result from holding architectural reviews.financialforces preparation for review为评审做准备也是一种推动力early detection of problems尽早地发现问题validation of requirements确认需求improved architectures提高体系结构质量8、When can architectural reviews begin?iming of the reviewearly “architecture discovery review”is done after requirements are set, but before the architecture is firm需求分析之后,体系结构还没有确定之前进行is used to understand implications of requirements on architecture用来理解需求在体系结构方面的隐含内容checks for requirements feasibility(检查需求的可行性)prioritizes architectural goals(为质量目标排序)full architectural reviewis done when architectural documentation is available体系结构文档可用时进行is used to evaluate qualities of proposed architecture评价被评体系结构的质量9、What is an unplanned architectural review? why should the organization have it?usually occurs when project is in trouble通常在项目出现问题时采用often devolves into finger-pointing导致互相责备can be painful for project already struggling对于已经苦苦挣扎了很久的项目而言,有些痛苦An Unplanned evaluation is unexpected and usually the result of a project in serious trouble and taking extreme measures to try to salvage previous effort10、What is brainstorming?头脑风暴的特点是让与会者敞开思想,使各种设想在相互碰撞中激起脑海的创造性风暴,其可分为直接头脑风暴和质疑头脑风暴法。
软件体系结构与设计模式期末复习
![软件体系结构与设计模式期末复习](https://img.taocdn.com/s3/m/069e3e0cb80d6c85ec3a87c24028915f804d849c.png)
体系结构期末复习一、选择题(一)1. 设计模式的基本原理是( C )A.面向实现编程B.面向对象编程C.面向接口编程D.面向组合编程2. 设计模式的两大主题是( D )A.系统的维护与开发B.对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展3. 依据设计模式思想,程序开发中应优先使用的是( A )关系实现复用。
A.组合聚合B.继承C.创建D. .以上都不对4. 关于继承表述错误的是( D )A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。
B.泛化类(超类)可以显式地捕获那些公共的属性和方法。
特殊类(子类)则通过附加属性和方法来进行实现的扩展。
C.破坏了封装性,因为这会将父类的实现细节暴露给子类。
D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。
5. 常用的设计模式可分为( A )A.创建型、结构型和行为型B.对象型、结构型和行为型C.过程型、创建型和结构型D.抽象型、接口型和实现型6. “不要和陌生人说话”是对( D )设计原则的通俗表述。
A.接口隔离B.里氏代换C.依赖倒转D. .迪米特法则7. 在适配器模式中,对象适配器模式是对( A )设计原则的典型应用A.合成聚合B.里氏代换C.依赖倒转D. .迪米特法则8. 将一个类的接口转换成客户希望的另一个接口,这句话是对(C)设计模式的描述A.策略模式B.桥接模式C.适配器模式D.单例模式9. 以下设计模式中属于结构模式的是( D )A. 观察者模式B.单例模式C.策略模式D.外观模式10. 以下不属于对象行为型模式是( D )A. 命令模式B.策略模式C.访问者模式D.桥接模式11. 下面的类图表示的是哪个设计模式( D )A. 抽象工厂模式B.观察者模式C.策略模式D.桥接模式12. Open-Close开闭原则的含义是一个软件实体( A )A.应当对扩展开放,对修改关闭。
B.应当对修改开放,对扩展关闭。
(完整版)软件体系结构复习题及答案
![(完整版)软件体系结构复习题及答案](https://img.taocdn.com/s3/m/a98070a3ee06eff9aef807df.png)
概述部分1、请分析软件危机的主要表现和原因。
表现:a)软件成本日益增加:开发、部署与应用成本高b)开发进度难以控制:不能按期完成c)软件质量差:错误率高,不能满足用户的需求,没有生命力d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误原因:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高2、请说明软件规模与复杂度对软件过程的影响及解决方法。
软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。
应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。
3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束)软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。
它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
4、请简述软件重用的含义和意义。
可重用元素包括哪些种类?软件重用是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
(含义)可重用的元素包括程序代码、测试用例、设计文档、需求分析文档甚至领域知识。
(种类)可重用的元素越大,我们就说重用的粒度(Granularity)越大。
软件重用是软件产业工业化、工程化的重要手段。
软件重用对提高生产率,降低开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。
(意义)5、请简述常用的构件实现模型及其意义。
实现模型:1.CORBA2.EJB / DCOM / COM+意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。
符合这些标准的任何构件都有很高的重用能力。
描述部分6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。
数据视图风格部分7、什么是软件体系结构的风格?它在软件开发过程中具有何种意义?软件体系结构风格是指设计、组织和实现软件体系结构的各种惯用模式和习惯用法,是对一系列体系结构设计的抽象。
计算机体系结构复习题(有答案)
![计算机体系结构复习题(有答案)](https://img.taocdn.com/s3/m/b3cb44f2524de518964b7d24.png)
软件工程复习资料
![软件工程复习资料](https://img.taocdn.com/s3/m/ce19e1de3186bceb19e8bbe0.png)
第一章概论1.软件工程的主要内容:为了有限的资金、资源和时间条件下开发满足客户要求的高质量软件,就需要研究与软件开发和管理相关的模型、方法、技术、过程、工具和环境等。
2.计算机软件:指的是计算机系统中的程序及其文档,3.程序:指的是计算任务的处理对象和处理规则的描述.4.计算任务:任何以计算机为处理工具的任务都是计算任务。
5.处理对象:是数据(如数字、文字、图形、图像、声音等,它们只是表示,而无含义)或信息(数据及相关的含义)。
6.处理规则:一般指处理的动作和步骤.7.文档:是为了便于了解程序所需的阐述性资料.8.软件工程:是应用计算机科学,数学及管理科学等原理,开发软件的工程。
软件工程借鉴传统工程的原则、方法、以提高质量、降低成本为目的。
其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
9.杨芙清院士指出软件工程的框架可概括为:目标、过程和原则。
10.软件工程目标:只生产具有正确性、可用性和开销合宜的产品。
正确性:指软件产品达到预期功能的程度。
可用性:只软件基本结构、实现及文档为用户可用的程度。
开销合宜:只软件开发,运行的整个开销满足用户要求的程度。
11.软件工程原则包括围绕工程设计、工程支持和工程管理所提出的4条基本原则:(1)选取适宜的开发模型(2)采用合适的设计方法(3)提供高质量的工程支撑(4)重视软件工程的管理。
12.软件的生存周期:软件孕育、诞生、成长、衰亡的生存过程。
软件生存周期是指软件产品或软件系统从产生、投入使用到被淘汰的全过程。
软件生存周期大致可以分为6个阶段:计算机系统工程、需求分析、设计、编码、测试、运行和维护。
13.软件过程:是生产一个最终满足需求且达到工程目标的软件产品所需的步骤。
过程是活动的集合,活动是任务的集合。
14.软件过程有3层含义:(1)、个体含义:指软件产品或系统存在生存周期中的某一类活动的集合,如软件开发过程、软件管理过程等。
软件工程复习提纲
![软件工程复习提纲](https://img.taocdn.com/s3/m/3c8f6209a300a6c30c229ff9.png)
一、选择题(20小题,每题1分)软件定义:软件是程序、数据和相关文档的完整结合,计算机系统中的程序及其文档。
瀑布模型:从可行性与计划入手,依次进行需求分析、设计、编码、测试,直到经用户确认得到最终的软件产品,并由此进入运行维护过程。
(17)可行性分析:包括技术可行性、操作可行性、经济可行性和法律可行性。
(14)逻辑覆盖:是指对程序设计中的逻辑判断条件所进行的测试。
(141)软件维护:指软件系统交付使用后,为了纠正系统错误或者满足用户需求变更而修改软件的过程。
(254)DFD(数据流图):结构建模中最流行的功能建模工具,描述了数据输入,数据转换到数据输出的全过程。
分层的DFD更进一步刻画了系统的功能分解。
(44)ER图:包括数据对象(实体)、属性、关系和基数。
(42)面向对象特征:1.抽象 2.封装 3.继承 4.多态性结构化设计:可分为面向数据流的设计方法和面向数据的设计方法,用于确定软件的结构(90)白盒测试:又称为结构测试、逻辑驱动测试或者程序的测试,是指用于测试代码是否按照设计正确运行的验证技术,它需要详细设计文档作为测试配置。
(140)黑盒测试:又称为功能测试或者行为测试,主要根据设计说明中的功能设计来测试程序是否按预期实现。
(目的:尽量发现系统功能中的错误。
)(148)软件测试的目的:发现错误,错误的定位和处理需要通过调试过程完成。
(167)面向数据流的设计方法:基于数据流图自顶向下、逐层分解的过程,他将各级数据流图映射为软件结构图中对应的各层次模块,体现了结构化设计与结构化分析的相互衔接,也体现了自顶向下的模块化设计思想。
(91)需求分析:准确回答“系统必须做什么”的问题,给出对目标系统完整、准确、一致的描述。
(32)数据字典:建模中定义的概念,术语,属性和逻辑过程进行了详细定义和解释。
(49)软件过程:是有组织或项目使用的,用以计划、管理、执行、监控和改进其软件相关活动的过程或过程的集合. (15)总体设计(概要设计):要完成体系结构设计(确定各子系统模块间的数据传递,调用关系)、界面设计(包括与系统交互的人机界面设计、以及模块间、系统与外部系统的接口关系)和数据设计(包括数据库、数据文件和全局数据结构的定义)。
软件体系结构复习题
![软件体系结构复习题](https://img.taocdn.com/s3/m/b1bf586cf5335a8102d2209f.png)
题型
1.填空题
2.名词解释
3.对错题
4.简答题
5.综合题
复习题:
名词解释
软件体系结构
软件重用
连接器
软件体系结构生命周期模型
产品线(Production line)
“4+1”视图模型
连接及连接的种类
体系结构描述语言
简答题
1.简单介绍管道和过滤器风格,并分析其优缺点。
2.通用体系结构风格都有哪些类?各自包含哪些?
3.质量属性主要考虑从哪3个方面描述体系结构属性?它们的关系如何?
4.简述为什么要学习设计模式?
5.体系结构质量评价的主要方式有哪些?
6.选取你所熟悉的三个设计模式,详细谈谈它们的意图、设计动机和适用性。
7.举例说明层次设计结构在软件和各种设计中的重要性。
8.简要说明三层c/s体系结构的优点。
9.简单介绍基于事件的隐式调用风格,并分析其优缺点。
10.采用面向对象方法设计软件系统时,子系统的划分常采用水平划分或垂直划分的方式,请说明这两种划分所得子系统的特点。
11.为什么要设计独立性强的模块以及如何判断模块的独立性?
12.简述框架技术的基本特征。
13.软件体系结构的根本目的是什么?
14. 各种类型设计模式
15 试简述一下软件产品线的双生命周期模型
16.软件体系结构测试的内容与准则是什么?
综合题
1.熟悉上下文关键字KWIC(Key Word in Context)检索系统的4中体系结构设计
2. 掌握组合、桥接、创建型设计模式,能够程序填空
3. 系统的用例图,识别系统的主要类,会画类图(包含主要属性和操作)和UML时序图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分——零散知识点(加粗部分为关键字)1、软件体系结构是一门新兴学科,它源于软件工程。
(建议查找了解“软件体系结构”和“软件工程”的具体的联系和区别)2、软件体系结构它关注的是软件大粒度的重用、质量和维护3、在“基于消息传递”的通信中,连接器是采用可靠的通信。
而“可靠”是指“发送进程发出的消息,接受进程一定能收到”4、模块设计原则——高内聚,低耦合5、“通信协议”不属于软件体系结构(SA)中“构件”的范畴。
换言之,SA中的“构件”12、“基于规则系统”的软件体系结构风格为:13、JDBC是体系结构中“连接件”的实现,有关此连接件的规约是SQL语言14、每个系统可以不容易的划分层次的模式。
(换句话说,要层次化地划分和设计一个系统也许会十分困难),也可以说,每个系统都可以划分层次,但是层次的划分比较难15、“管道和过滤器风格”不适合处理交互类型的应用。
*建议:此知识点考点较多,选择,判断,简答题均有涉及,可以多花时间重点看下PPT。
以此类推:了解各个体系结构的风格、特点、结构图。
16、“面相对象”的体系结构风格中的“构件”是“对象”17、SA(软件体系结构)= 构件+ 连接件+ 拓扑结构+ 约束+ 质量18、过程控制软件系统,一般使用“数据流”风格(管道-过滤器)的软件体系结构。
无图无真相:通过房间温度的数据来控制暖气的供输。
19、软件系统的非功能需求就是指:有关能够以用户要求的性能标准,合理、高效地实现各类功能性需求的需求20、结构化设计属于面向数据流的设计方法21、耦合是一个软件体系结构(SA)内各模块互连程度的度量22、软件体系结构(SA)中定义的“连接件”是指:机制和协议23、层次风格的体系结构也是调用/返回的一种特例24、基于过程(方法)的调用机制一般是同步的。
25、基于消息的调用机制一般是异步的。
26、中间件一般是解决软件基础设施的复杂性的一种工具。
27、DSSA就是在一个特定的应用领域中为一组组织结构参考的标准软件体系机构。
28、随着软件工程开发方法的进步,体系结构中的粒度越来越粗(细?这个我突然搞不清楚了,有待确认)。
29、共享内存是体系机构中的一种连接方法(连接件)30、使用管道-过滤器风格的软件能够得到一个很好的高内聚、低耦合的系统。
31、SOA是一种特殊的SA。
面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
第二部分-简答题+答题32、简述SA定义。
PPT上内容:软件体系结构(SA):提供了一个结构、行为和属性的高级抽象从一个较高的层次来考虑组成系统的构件、构件之间的连接,以及由构件与构件交互形成的拓扑结构这些要素应该满足一定的限制,遵循一定的设计规则,能够在一定的环境下进行演化。
反映系统开发中具有重要影响的设计决策,便于各种人员的交流,反映多种关注,据此开发的系统能完成系统既定的功能和性能需求。
体系结构= 构件+ 连接件+ 拓扑结构+ 约束+ 质量Architecture = Components + Connectors + Topology + Constraints + Performance33、列举五种符合SA定义的构件对象:属于调用/返回风格中的面向对象风格。
模块;组件;Severlet;控件;子系统;EJB;函数:(注意稍微解释:属于哪个软件体系结构风格,此构件具有什么作用?(能说多少是多少)) (注:列举连接件:注册表、文件、动态链接、RMI、共享内存、JDBC、TCP/IP)34、列举五种体系结构风格面向对象:调用返回:隐式事件调用:管道过滤器:基于规则模型系统:(要简要描述:模板如下:构件是……连接件是……拓扑结构是……优点是……缺点是……)35、简述SA中的“4+1”视图模型的具体内容参照书上P31 图2-1逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。
主要支持系统的功能需求,系统提供给最终用户的服务。
进程视图(Process View),捕捉设计的并发和同步特征。
侧重于系统的运行特性,主要关注一些非功能性需求。
物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。
主要考虑如何把软件映射到硬件上,考虑系统性能、规模、可靠性。
开发视图(Development View),也称模块视图,描述了在开发环境中软件的静态组织结构。
侧重于软件模块的组织和管理。
架构的描述,即所做的各种决定,可以围绕着这四个视图来组织,然后由一些用例(use cases)或场景(scenarios)来说明,使四个视图有机联系起来,从而形成了第五个视图,场景视图是最重要的需求抽象。
36、比较以下体系结构风格的特点:(1)管道-过滤器风格(2)隐式事件调用(3)基于规则的系统37、比较以下体系结构风格的特点:(1)层次结构(2)隐式事件调用38、题干略(当时没抄)(1)请说明任意一种软件体系结构风格分类,并就其中软件体系结构风格的构件、连接件类型和组合约束要求等结构特征、及其应用特点。
这个果断照抄PPT,各种PPT啊,童鞋们看起那个风格就抄哪个……(2)具体阐述你参与管理或开发的项目中在体系结构设计时选择使用软件体系结构风格的情况,包括选择的依据,(还有几个要求,抄掉球了哈)这个也好解决,就拿以前整过的东西瞎扯……反正体系结构的优点都有……不会要求得满分吧?反正我不想……39、题干略(也没抄)关于DSSA书Page89(1)说明领域软件体系结构(DSSA)的含义,并就其中领域软件体系结构必备特征、范围和基本活动等结构特征及其应用特点。
DSSA含义:(2选一)1)来自Hayes-Roth:DSSA就是专用于一类特定类型的任务(领域)的,在整个领域中能有效地使用的、为成功构造应用系统限定了标准的组合结构的软件构件的集合2)来自Tracz:DSSA就是一个特定的问题领域中支持一组应用的领域模型、参考需求、参考体系结构等组成的开发基础,其目标就是支持在一个特定领域中多个应用的生成。
DSSA的必备特征:1)一个严格定义的问题域和/或解决域2)具有普遍性,使其可以用于领域中某个特定应用的开发3)对整个领域的合适程度的抽象4)具备该领域固定的、典型的在开发过程中课重用元素。
DSSA的范围:从功能覆盖的范围角度有两种理解DSSA中领域范围的划分:1)垂直域定义了一个特定的系统族,包含整个系统族内多个系统,其结果是在该领域中可作为系统的可行解决方案的一个通用软件体系结构。
2)水平域定义了在多个系统和多个系统族中功能区域的共有部分,在子系统级上涵盖多个系统族的特定功能部分,无法为系统提供完整的通用体系结构。
DSSA的基本活动:1)领域分析主要目标是获取领域模型,它描述领域中系统之间的共同的需求。
细节活动有:定义领域边界、识别信息源2)领域设计目标是获得DSSA,它描述在领域模型中表示的需求的解决方案,非但系统表示,而是适应领域中多系统的一个高层次设计。
细节活动:以领域模型为基础派生出被建模的DSSA3)领域实现主要目标是依据领域模型和DSSA 开发和组织可重用信息。
细节活动:反复地、逐渐求精地开发和组织重用信息。
DSSA的应用特点:以问题域为出发点的DSSA与以解决域为出发点的软件体系结构有不同的应用特点:1)DSSA只对特定领域进行设计、建模、开发,但可以同时使用多种体系结构风格,也可以将使用的某一个体系结构风格中的公共结构和设计扩展到多个应用领域。
2)DSSA 学习吸收一个或多个与特定领域相关的体系结构风格来设计一个本领域专用的体系结构分析设计工具,该工具只适用于本领域中。
并且两个不同DSSA特定领域之间是不可重用的,工具开发成本很高3)对于普遍体系结构而言,对特定领域的专家知识和经验的忽略,使其在具体的应用开发中所起的作用并不比DSSA大。
4)DSSA和体系结构风格是互为补充的两种技术。
(2)具体阐述你参与管理或开发的项目中在领域体系结构中设计的情况包括选择的依据以及最终实现效果。
见书Page 94 3.11.5(建议将此节通读,可以解决本问题)软件体系结构PPT课件知识点汇总:帮助大家整理思路的,具体内容就不在完善了。
毕竟上面的才是考试核心。
通用体系结构风格的分类数据流风格:批处理序列、管道/过滤器风格过程控制风格:开环,闭环调用/返回风格:主程序/子程序、面向对象风格、层次结构独立构件风格:进程通信、事件系统虚拟机风格:解释器,基于规则的系统仓库风格:数据库系统、黑板系统分类描述复习:建议根据所提的问题去复习知识点。
一、数据流风格Pipes and Filters(1)什么是管道-过滤器风格?(2)过滤器组件的类型有哪些?(3)管道-过滤器风格的构件和连接件是什么?(4)这种风格的特点是什么?优缺点各是什么?批处理风格特点是什么?和管道-过滤器风格的比较二、过程控制风格什么是开环控制和闭环控制?三、调用/返回风格分层风格一般适用于什么样的问题?它的解决方案?它的优点,缺点是什么?分层风格具体的实例可以是什么?面相对象:⏹构件:对象⏹连接件:消息⏹优点⏹缺点四、独立构件风格五、虚拟机风格解释器:⏹什么是解释器风格⏹组件构成⏹连接件⏹该风格的优点和缺点⏹该风格适用于什么情况六、仓库风格数据仓库和黑板模型两种类型的构件:一个中央数据单元,(系统当前的各种状态)相对独立的组件的集合,这些组件对中央数据单元进行操作连接件:控制根据控制策略的不同,分为:数据库(知识库):系统由输入数据流中的事务信息来驱动,即输入数据流中的事务指令可以触发系统相应进程的执行,黑板:如果系统由中央数据结构的当前状态来驱动,则黑板模型。
黑版风格⏹Component:⏹中央数据单元⏹知识源⏹控制单元系统的质量属性⏹可用性⏹可修改性⏹性能⏹安全性⏹可测试性⏹易用性。