软件体系结构复习资料
- 格式:docx
- 大小:209.83 KB
- 文档页数:8
可编辑修改精选全文完整版一、单选题(共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、耦合是模块之间的相对独立性的度量。
软件设计与体系结构复习题软件设计与体系结构复习题软件设计与体系结构是计算机科学与技术领域中的重要课程,它涉及到软件系统的设计、构建和维护。
在这篇文章中,我们将回顾一些与软件设计与体系结构相关的复习题,以帮助读者巩固知识和提高理解。
一、软件设计原则1. 什么是SOLID原则?请简要介绍每个原则的含义。
SOLID原则是面向对象设计中的五个基本原则,分别是单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。
单一职责原则指一个类只应该有一个引起变化的原因;开放封闭原则指软件实体(类、模块、函数等)应该对扩展开放,对修改关闭;里氏替换原则指子类对象应该能够替换父类对象而不影响程序的正确性;接口隔离原则指客户端不应该依赖它不需要的接口;依赖倒置原则指高层模块不应该依赖于低层模块,它们都应该依赖于抽象。
2. 什么是DRY原则?它的目的是什么?DRY原则(Don't Repeat Yourself)指不要重复自己。
它的目的是避免代码的重复,提高代码的可维护性和可复用性。
通过遵循DRY原则,可以减少代码的冗余,降低了修改代码时的风险,同时也提高了代码的可读性。
二、软件体系结构1. 什么是软件体系结构?它有什么作用?软件体系结构是指软件系统的整体结构和组织方式,它描述了软件系统中各个组件之间的关系和交互。
软件体系结构有助于理解系统的整体架构,提供了对系统进行设计、开发和维护的指导方针。
2. 请简要介绍常见的软件体系结构模式。
常见的软件体系结构模式包括分层结构、客户端-服务器结构、发布-订阅结构、管道-过滤器结构等。
分层结构将系统划分为若干层次,每一层次负责不同的功能;客户端-服务器结构将系统划分为客户端和服务器两部分,客户端发送请求,服务器提供服务;发布-订阅结构中,发布者发布消息,订阅者订阅感兴趣的消息;管道-过滤器结构中,数据通过一系列的过滤器进行处理。
三、设计模式1. 什么是设计模式?为什么使用设计模式?设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。
一、什么是软件系统结构软件体系结构也称为软件构架(有时简称构架),是系统的一个或多个结构,它包括:软件的组成元素(组件),这些元素(组件)的外部可见特性,以及这些元素(组件)之间的相互关系。
含义:(1)系统由一个或多个结构组成,其中任何一个结构并不能与构架等同。
(2)每个系统都有一个体系结构。
(3)软件体系结构是系统的抽象。
(4) 构架定义了软件元素以及各元素间的交互关系。
(5) 以往作为体系结构传递的线框图,事实上并等同于体系结构。
二、构架商业周期(ABC)1.构架由什么决定?构架是否由系统需求决定?×软件构架是技术、商业和社会因素共同作用的结果。
2. 构架从哪里来?(影响构架的因素)影响构架的因素主要包括:❑系统涉众(stakeholder)、主要有:管理者:成本要低,人人都得干活营销人员:特性突出、投放市场快、成本低、可与同类产品相匹敌。终端用户:行为、性能、安全性、可靠性、易用性。维护人员:可修改性强。客户:成本低、及时交付、不要频繁修改。❑开发组织・组织内对现存构架的重用・对某个基础设施进行长期的商业投资以实现某些战略目标・开发组织本身的机构也会影响构架的形成❑构架师的素质和经验构架师先前的一些经验、教育、培训以及所接触到过的成功构架模式都会影响到他们对某种构架的选择。
❑技术环境当前技术发展水平代表了某个时代的构架师的普遍素质和经验,对架构有很大的影响力。
❑其它因素其它如社会、法律、人文环境等都会对构架产生影响。
3.构架的反影响力・构架会影响开发组织的结构・构架会影响开发组织的目标・构架会影响客户对下一个系统的要求・构建系统的过程丰富了整个开发团队的经验,从而将影响设计师对后继系统的设计・一些系统会影响并实际改变软件工程的环境,也就是系统开发人员学习或实践的技术环境。
4.构架的商业周期软件构架是技术、商业和社会等诸多因素作用的结果,而软件构架的存在反过来又会影响技术、商业和社会环境,从而影响未来的软件构架。
判断题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.层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。
第一章1. 体系结构发现、演化、重用体系结构发现解决如何从已经存在的系统中提取软件的体系结构,属于逆向工程范畴。
由于系统需求、技术、环境、分布等因素的变化而最终导致软件体系结构的变动,称之为软件体系结构演化。
体系结构重用属于设计重用,比代码重用更抽象。
由于软件体系结构是系统的高层抽象,反映了系统的主要组成元素及其交互关系,因而较算法更稳定,更适合于重用。
2.基于软件体系结构的软件开发方法:问题定义—>软件需求—>软件体系结构—>软件设计—>软件实现3.评价软件体系结构的方法权衡分析方法(ATAM方法),软件体系结构分析方法(SAAM方法),中间设计的积极评审(ARID方法)第二章1. 建模结构模型:研究结构模型的核心是体系结构描述语言。
以体系结构的构件,连接件和其他概念来刻画结构。
并力图通过结构来反映系统的重要语义内容。
框架模型:与结构模型类似,但不太侧重细节,而侧重于整体结构。
动态模型:是对结构和框架模型的补充,研究系统大颗粒的行为性质。
过程模型:研究构造系统的步骤和过程,结构是遵循某些过程脚本的结果。
功能模型:认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。
功能模型可以看作是一种特殊的框架模型。
4+1视图模型:逻辑视图、进程视图、物理视图、开发视图和场景视图逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。
在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。
这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。
在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图开发视图通过系统输入输出关系的模型图和子系统图来描述。
进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。
物理视图主要考虑如何把软件映射到硬件上。
逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。
《软件体系结构》习题一、单选题第一章概述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的考勤管理系统,客户对系统的基本功能、表现形式等要求并不明确。
《软件工程》复习资料一、选择题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)传递的。
第三章计算机软件【知识点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.在计算机系统中,对计算机各类资源进行统一管理和调度的软件是_______。
1 软件和软件工程概念软件的组成部分之一;在软件开发中,编程只是软件开发过程的一个阶段。
2.在结构化程序设计时代,程序最小的单位是函数及子程序,程序和数据是分别的。
程序的最小单位是类。
3.软件的特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、维护特性、废弃特性、应用特性。
4.软件的分类:系统软件;应用软件;支撑软件;可复用软件。
5.什么是软件工程?(课后题)软件工程是指导计算机软件开发和维护的工程学科。
接受工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
6.可以用功能性、牢靠性、易用性、效率、可维护性和可移植性六个特性衡量软件的质量。
功能性是指软件所实现的功能达到它的设计规范和满意用户需求的程度。
可移植性是指软件从某一环境转移到另一环境时所作努力得程度。
7.软件生存期由软件定义、软件开发和运行维护三个时期组成。
开发时期通常由概要设计、详细设计、编码和测试四个阶段组成。
开发过程中的典型文档包括:项目支配、软件测试支配、软件设计说明书、用户手册。
8.需求分析的基本任务?(1)建立分析模型,了解系统的各种需求微小环节。
(2)基于分析结果,编写出软件需求规格说明或系统功能规格说明,确认测试支配和初步的系统用户手册,并提交管理机构进行分析评审。
2 软件工程方法和工具1.面对对象方法的动身点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的方法和过程尽可能接近人类相识问题和解决问题的方法和过程,从而使描述问题的问题空间和其解空间在结构上尽可能一样。
2.形式化方法的主要特点是:(课后题)(1) 软件需求规格说明被细化为用数学记号表达的详细的形式化规格说明;(2) 设计、实现和单元测试等开发过程由一个变换开发过程代替。
通过一系列变换将形式的规格说明细化成为程序。
3.面对对象 = 对象 + 类 + 继承 + 消息通信。
第一部分——零散知识点(加粗部分为关键字)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:⏹中央数据单元⏹知识源⏹控制单元系统的质量属性⏹可用性⏹可修改性⏹性能⏹安全性⏹可测试性⏹易用性。