软件设计与体系结构练习 大连海事大学
软件体系结构(考试习题集含)
精选文档1.面向对象的方法优势表此刻(ABD)A.简化软件开发过程B.支持软件复用C.提升软件运转效率D.改良软件结构2. 用户界面设计中的三条“黄金规则”是(ABC)A.使系统处于用户控制之中B.减少用户的记忆负担C.保持界面的一致性D.保证用户的易学性3.用户界面的剖析和设计过程是迭代的,此中包含的活动是( ABCD )A.用户、任务以及环境的剖析和建模B.界面设计C.界面实现D.界面确认4. 界面确认需要注意三个方面(ABC)A.界面正确达成了用户的任务,适应用户的任务变化B.易学性和易用程度C.用户的接受程度D.用户的习惯5. 用户界面剖析时往常采纳的信息获得方式包含(ABCD)A.用户会商B.销售人员信息采集C.市场剖析D.用户支持人员信息采集6.( C )把达成一个特定功能的动作序列抽象为一个过程名和参数表A.数据抽象B.动作抽象C.过程抽象D.种类抽象7.( A )把一个数据对象的定义抽象为一个数据种类名A.数据抽象B.动作抽象C.过程抽象D.种类抽象8.软件系统结构设计需要考虑以下(ABCD )A.合用性B.结构稳固性C.可扩展性D.可复用性9. 模块设计时应当考虑( AB )A.模块功能独立B.模块信息的隐蔽C.模块接口的简单D.模块实现简单10. 一个完好的软件设计的主要活动包含有(ABCD )A.系统结构设计B.界面设计C.模块 /子系统设计、D.数据模型、过程 /算法设计等11.模块化是指把一个复杂的问题切割成若干个可管理的小问题后,更易于理解,模块化正是以此为依照的,在区分模块的过程中应当考虑到(ABC )A.模块的可分解性、可组装型B.模块的可理解性、连续性、C.模块保护D.尽可能低切割模块,使得问题的难度降到最1.什么是软件工程?构成软件工程的因素是什么?软件工程是将系统化的、规范的、可胸怀的方法应用于软件的开发、运转和保护过程,马上工程化应用于软件开发和管理之中,对所选方法的研究。
软件设计与体系结构题目与答案
软件设计与体系结构题目与答案1.各种性能指标及如何到达各种性能指标的方法(1)防止变异模式:是如何设计对象,子系统和系统,使这些元素内部的变化或不稳定性不会对其他元素产生不良影响。
解决方案:识别预测的变化或不稳定之处,分配职责用以创建稳定借口。
(2)依赖反转原理:把你的类从局的现实中隔离开,使他们依赖于抽象类或接口。
它促进了代码面向接口而不是实现,这通过保证对实现的低耦合来增加系统的灵活性。
2.常用的中间件有那几种类型(1)常见的对象请求代理架构(2)面向消息的中间件(3)J2EE(4)消息代理(5)业务过程代理3.有那些常见架构风格(1)管道和过滤器架构风格(2)面向对象风格(3)隐式调用风格(4)客户-服务器风格(5)分层风格(6)仓库风格(7)解释程序风格(8)过程控制风格4.架构师需要的核心技能是什么(1)涉众之间的交流(2)技术知识(3)软件工程学(4)风险管理5.什么是软件架构软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。
软件架构是一个系统的草图。
软件架构描述的对象是直接构成系统的抽象组件。
各个组件之间的连接则明确和相对细致的描述组件之间的通讯。
在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。
在面向对象领域中,组件之间的连接通常用接口(计算机科学)实现。
6.什么是架构风格一组原则。
你可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。
7.什么是架构视图一个架构视图是对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,从而省略了此方面无关的实体。
8.各种架构风格的组件和连接器是什么1.管道和过滤器架构风格:适用于需要定义一系列的执行规则数据的独立运算,组件在输入时读数据流,在输出时产生数据流组件:称为过滤器,应用于对局部的输入流的转换,经常增长的计算,因此,在输入结束前输出就开始了连接器:称为管道,给流提供管道,把一个过滤器的输出传输到另一个输入。
2022年大连海事大学软件工程专业《计算机系统结构》科目期末试卷A(有答案)
2022年大连海事大学软件工程专业《计算机系统结构》科目期末试卷A(有答案)一、选择题1、输入输出系统硬件的功能对()是透明的。
A.操作系统程序员B.应用程序员C.系统结构设计人员D.机器语言程序设计员2、“启动I/O”指令是主要的输入输出指令,是属于()。
A.目态指令B.管态指令C.目态、管态都能用的指令D.编译程序只能用的指令3、不同系列的机器之间,实现软件移植的途径不包括( )A.用统一的高级语言B.用统一的汇编语言C.模拟D.仿真4、静态流水线是指( )A.只有一种功能的流水线B.功能不能改变的流水线C.同时只能完成一种功能的多功能流水线D.可同时执行多种功能的流水线5、在流水机器中,全局性相关是指( )。
A.先写后读相关B.先读后写相关C.指令相关D.由转移指令引起的相关6、以下说法不正确的是( )A.线性流水线是单功能流水线B.动态流水线是多功能流水线C.静态流水线是多功能流水线D.动态流水线只能是单功能流水线7、IBM360/91对指令中断的处理方法是()A.不精确断点法B.精确断点法C.指令复执法D.对流水线重新调度8、利用时间重叠概念实现并行处理的是( )。
A.流水处理机B.多处理机C.并行(阵列)处理机D.相联处理机9、目前,MO由()实现,M1用()实现,M2至M5大多用()实现。
A.软件,固件,硬件B.固件,软件,硬件C.硬件,软件,固件D.硬件,固件,软件10、在计算机系统设计中,比较好的方法是( )A.从上向下设计B.从下向上设计C.从两头向中间设计D.从中间开始向上、向下设计二、填空题11、多计算机互连网络中的通信模式有________和________12、所谓链接技术是指把________链接起来成为________13、Cache写不命中时,只写入主存储器,并不将该字所在块由主存调入Cache。
称此分配法为________分配法。
14、Cache存贮器采用组相联的映象规则是组间________映象,组内各块间________映象。
大连海事大学软件工程期末试卷(A)
大连海事大学软件工程期末试卷(A)一、选择题:(每题1分,共20分)(将答案写在题号前的()中)()1. 软件是()。
A. 处理对象和处理规则的描述B. 程序C. 程序及其文档D. 计算机系统()2. 软件需求规格说明的内容不应包括()。
A. 主要功能B. 算法的详细描述C. 用户界面及运行环境D. 软件的性能()3. 程序的三种基本控制结构是()。
A. 过程、子程序和分程序B. 顺序、选择和重复C. 递归、迭代和回溯D. 调用、返回和转移( ) 4. 面向对象的分析方法主要是建立三类模型,即( )。
A) 系统模型、ER模型、应用模型B) 对象模型、动态模型、应用模型C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型( ) 5. 在E-R模型中,包含以下基本成分( )。
A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作( ) 6. 各种软件维护的类型中最重要的是( )。
A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护( ) 7.软件测试的目标是()。
A. 证明软件是正确的B. 发现错误、降低错误带来的风险C. 排除软件中所有的错误D. 与软件调试相同()8.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护()9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法()10、详细设计的基本任务是确定每个模块的( )设计A.功能 B.调用关系 C.输入输出数据 D.算法()11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。
对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:()A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据()12.下面几种白箱测试技术,哪种是最强的覆盖准则()A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖()13.面向数据流的设计方法把()映射成软件结构。
软件全新体系结构试题库试题和答案
一、判断题1、软件重用是指反复使用已有旳软件产品用于开发新旳软件系统,以达到提高软件系统旳开发质量与效率,减少开发成本旳目旳。
答案:√根据页码:P42、可重用技术对构件库组织措施规定不仅要支持精确匹配,还要支持相似构件旳查找。
答案:√根据页码:P73、超文本组织措施与基于数据库系统旳构件库组织措施不同,它基于全文检索技术。
答案:√根据页码:p84、软件体系构造充当一种理解系统构件和它们之间关系旳框架,特别是那些始终跨越时间和实现旳属性。
答案:√根据页码:P285、构件可以由其她复合构建和原子构件通过连接而成。
()答案:√根据页码:P376、体系旳核心模型由5种元素构成:构建、连接体、配备、端口和角色()答案:√根据页码:P377、软件体系构造旳核心由5种元素构成:构件、连接件、配备端口和角色。
其中,构件、连接件和配备是最基本旳元素()答案:√根据页码:P378、开发视图重要支持系统旳功能需求,即系统提供应最后顾客旳服务()答案:X根据页码:P32、339、构件、连接件以及配备是体系构造旳核心模型最基本旳元素()答案:√根据页码:P3710、HMB风格不支持系统系统自顶向下旳层次化分解,由于它旳构件比较简朴。
答案:×根据页码:P8111、正交软件体系构造由组织层和线索旳构件构成。
答案:√根据页码:P7012、基于事件旳隐式调用风格旳思想是构件不直接调用一种过程,而是触发或广播一种或多种事件。
答案:√根据页码:P5313、线索是子系统旳特例,它由完毕不同层次功能旳构建构成,每一条线索完毕整个系统中相对独立旳一部分功能。
()答案:√根据页码:P7014、层次系统中支持抽象限度递增旳系统设计是设计师可以把一种复杂系统按照递增旳环节进行分解,同步支持功能增强,但是不支持重用。
答案:×参照页码:P5515、相交关系R是一种等价关系。
答案:√16、在软件设计中占据着主导地位旳软件体系构造描述措施是图形体现工具。
2022年大连海事大学网络工程专业《计算机系统结构》科目期末试卷B(有答案)
2022年大连海事大学网络工程专业《计算机系统结构》科目期末试卷B(有答案)一、选择题1、IBM360/91属于()A.向量流水机B.标量流水机C.阵列流水机D.并行流水机2、在尾数下溢处理方法中,平均误差最大的是()A.截断法B.舍入法C.恒置"1"法D.ROM查表法3、计算机系统结构不包括( )。
A.主存速度B.机器工作状态C.信息保护D.数据4、系列机软件应做到( )。
A.向前兼容,并向上兼容B.向后兼容,力争向上兼容C.向前兼容,并向下兼容D.向后兼容,力争向下兼容5、汇编语言程序经()的()成机器语言程序。
A.编译程序,翻译B.汇编程序,翻译C.汇编程序,解释D.编译程序,解释6、计算机组成设计不考虑()A.专用部件设置B.功能部件的集成度C.控制机构的组成D.缓冲技术7、高级语言程序经()的()成汇编语言程序。
A.编译程序,翻译B.汇编程序,翻译C.汇编程序,解释D.编译程序,解释8、计算机组成设计不考虑( )。
A.专用部件设置B.功能部件的集成度C.控制机构的组成D.缓冲技术9、()属于MIMD系统结构。
A.各处理单元同时受同一个控制单元的管理B.各处理单元同时接受同一个控制单元送来的指令C.松耦合多处理机和多计算机D.阵列处理机10、与全相联映象相比,组相联映象的优点是( )A.目录表小B.块冲突概率低C.命中率高D.主存利用率高二、判断题11、监听协议用来保持 Cache一致性的两种策略分别是写无效(Write-Invalidate)策略和写更新(Write-Update)策略。
()12、多处理机中,两个程序段之间若同时有先写后读和先读后写2种相关,以交换数据为目的时,则必须并行执行,读写要完全同步,允许顺序串行和交换串行。
()13、计算机仿真用微程序解释,计算机模拟用机器语言解释。
()14、对标量数据来说,并行主存系统的实际频宽采用多体单字方式的要比采用单体单字方式组成的高。
大连海事大学《软件工程》试卷及答案---A卷--B卷
大连海事大学《软件工程》试卷及答案A卷专业年级姓名得分一、名词解释(每个2分,共10分)1.软件危机2.纯收入3.模块4.原型5.BROOKS定律二、填空题(每题2分,共20分)1.____是计算机程序及其说明程序的各种文档。
_____是有关计算机程序功能、设计、编制、使用的文字或图形资料。
2.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。
通常,软件生存周期包括问题定义、____、____、总体设计、详细设计、____、____、软件维护活动,可以将这些活动以适当方式分配到不同阶段去完成。
3.软件详细设计阶段采用的工具有______。
4.____的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
5.模块的耦合性分为四种类型:____、____、____、____。
6.内聚性有七种类型,最强的是____,最弱的是____。
7.结构图的深度指结构图______,结构图宽度指________。
8.集成测试采用的具体方法有--____、______9.对于变换型的数据流图,按照软件设计思想,要将一个大型复杂的软件进行分解,要确定数据流图的____、逻辑输入、逻辑输出。
10.软件编码阶段要善于积累编程的经验,使得编出的程序____,易于____,从而提高软件质量。
三、选择题(每题2分,共20分)1.系统定义明确之后,应对系统的可行性进行研究。
可行性研究应包括()。
A.软件环境可行性、技术可行性、经济可行性、社会可行性B.经济可行性、技术可行性、操作可行性C.经济可行性、社会可行性、系统可行性D.经济可行性、实用性、社会可行性2.通过()可以完成数据流图的细化。
A.结构分解B、功能分解C、数据分解D、系统分解3.模块(),则说明模块的独立性越强。
A.耦合越强B、扇入数越高C、耦合越弱D、扇入数越低4.模块()定义为受该模块内一个判断影响的所有模块集合。
《软件体系结构》课后复习习题共22页
61、辍学如磨刀之石,不见其损,日 有所亏 。 62、奇文共欣赞,疑义相与析。
63、暧暧远人村,依依墟里烟,狗吠 深巷中 ,鸡鸣 桑树颠 。 爱丘山。
56、书不仅是生活,而且是现在、过 去和未 来文化 生活的 源泉。 ——库 法耶夫 57、生命不可能有两次,但许多人连一 次也不 善于度 过。— —吕凯 特 58、问渠哪得清如许,为有源头活水来 。—— 朱熹 59、我的努力求学没有得到别的好处, 只不过 是愈来 愈发觉 自己的 无知。 ——笛 卡儿
拉
60、生活的道路一旦选定,就要勇敢地 走到底 ,决不 回头。 ——左
软件设计与体系结构课后题答案
缺点:
子类太多
何时采用:
1.个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时。
2.某项业务有多个状态,通常都是一些枚举常量,状态的变化都是依靠大量的多分支判断语句来实现,此时应该考虑将每一种状态定义为State的子类。这样这些对象就可以不依赖于其他对象而独立变化,也可以很好的面对需求的改变。
3.在维护一个遗留的大型系统时,可能这个系统已经非常难以维护和扩展了,但新的需求开发必须依赖它。为新系统开发一个外观类,来提供设计粗糙或高度复杂的遗留代码的比较清晰的简单接口,让新系统和Facade对象交互,Facade与遗留代码交互所有复杂的工作。
【建造者】将一个复杂对象的构建与它的表示分离,使得同样的构造过程可以创建不同的表示。
【原型模式】指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。
结构图:
优点:
1.性能优良:原型模型是在内存二进制流的拷贝,要比直接new一个对象性能好很多,特别是要在一个循环体内产生大量的对象时,原型模型可以更好地体现其优点。
【依赖倒转】抽象不应该依赖于细节,细节应该依赖于抽象。要针对接口编程,不要对实现编程。
【里氏代换】在软件里面,把父类都替换成它的子类,程序行为没有变化。简单地说,子类型必须能够替换掉它们的父类型。
【迪米特】如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
3.一个对象多个修改者的场景:一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用
2022年大连海事大学软件工程专业《计算机网络》科目期末试卷A(有答案)
2022年大连海事大学软件工程专业《计算机网络》科目期末试卷A(有答案)一、选择题1、比特的传播时延与链路带宽的关系是()。
A.没有关系B.反比关系C.正比关系D.无法确定2、在OSI参考模型中,第N层与它之上的第N+l层的关系是()。
A.第N层为第N+1层提供服务B.第N+1层将给从第N层接收的报文添加一个报头C.第N层使用第N+1层提供的服务D.第N层使用第N+1层提供的协议3、为了使互联网中的路由器报告差错或提供有关意外情况的信息,在TCP/IP中设计了个特殊用途的报文机制,称为()。
A.ARPB.RARPC.ICMPD.IGMP4、路由器在能够开始向输出链路传输分组的第一位之前,必须接收到整个分组,这种机制称为()。
A.存储转发机制B.直通交换机制C.分组交换机制D.分组检测机制5、在以太网的二进制后退算法中,在4次碰撞之后,站点会在0和()之间选择一个随机数。
A.7B.8C.15D.166、为了检测5比特的错误,编码的海明距应该为()。
A.4B.6C.3D.57、下列关于传输层协议中面向连接的描述,()是错误的。
A.面向连接的服务需要经历3个阶段:连接建立、数据传输以及连接释放B.面向连接的服务可以保证数据到达的顺序是正确的C.面向连接的服务有很高的效率和时间性能D.面向连接的服务提供了一个可靠的数据流8、TCP使用“三次握手”协议来建立连接,握手的第一个报文段中被置为1的标志位是()。
A.SYNB.ACKC.FIND.URG9、下列网络应用中,()不适合使用UDP。
A.客户/服务器领域B.远程调用C.实时多媒体应用D.远程登录10、采用base64编码后,一个99B的邮件大小为()。
A.99B.640C.132D.25611、图所示的曼彻斯特编码表示的比特串为()A.011001B.100110C.111110D.01111012、在图所示的采用“存储-转发”方式分组的交换网络中所有链路的数据传输速率为100Mbit/s,分组大小为1000B,其中分组头大小为20B。
软件设计与体系结构练习题
软件设计与体系结构复习一、填空题(一)Chapter 11.软件设计模式通常包含4个基本要素:模式名称、问题、解决方案以及效果。
2.软件设计模式可以分为三个层次:架构模式、设计模式、习惯用法。
3.软件设计模式是对软件设计经验的总结,是对软件设计中特定环境下反复出现的设计问题的、经过验证的、成功解决方案的描述。
(二)chapter 51.早在1968年,计算机领域的大师Dijstra指出:项目规模越大,其整体架构就越重要。
2. 软件体系结构的三个基本要素是:构件、连接件、约束3. 对软件质量的关注正是软件架构师与一般的软件设计师的不同之处,一般的软件设计师主要关注软件功能的设计,并要遵循架构师给出的设计准则。
4. IEEE 1471-2000标准定义软件体系结构是“系统的基本组织结构,包括系统构成要素、这些构成要素相互之间以及运行环境之间的关系,还包括系统设计及演化时应遵循的原则”。
(三)chapter 21.创建型软件设计模式是解决_对象创建机制_的设计模式。
2.创建型软件设计模式的两个主导思想:封装了系统使用的具体类的知识,隐藏这些具体类的实例被创建与结合的细节。
3.简单工厂方法模式的特点是仅仅有一个具体的创建者类,并且在此类中包含一个__静态工厂_____方法。
4.生成器模式是一步一步创建一个复杂的对象,允许用户通过制定复杂对象的类型和内容就可以构建它们,用户不知道内部的具体构建细节5. 单例模式是指确保一个仅有一个唯一的实例,并提供一个全局的访问点。
6. 在单例模式中,为了防止客户程序利用构造方法创建多个对象,要将构造方法声明为private(或私有)类型。
(四)chapter 31. 结构型软件设计模式的主要目的是将不同的类和对象组合在一起,形成更大或者更复杂的结构体。
2. 组合模式指将对象组合成树形结构,以表示“部分-整体”的层次结构。
该模式使得对单个对象和组合对象的使用具有一致性。
3.适配器模式可以分为两种:类适配器和对象适配器4. 类适配器模式通过继承的方式改变已经存在的接口而形成新的接口,使之适合客户类调用的需要;对象适配器模式使用调用或者聚合的方式选择调用多个类中的方法,形成新的接口。
2017年大连海事大学考研复试软件工程模拟试题
2017年大连海事大学考研复试软件工程模拟试题一、单项选择题1.在软件开发领域中,“描述了实现概念模型的软件解决方案”的系统模型被称为( )A.设计模型 B 软件模型C.实现模型D.部署模型2.一般来说,整个需求的主体是( )A 功能需求 B.性能需求C.外部接口需求D.设计约束3.总体设计的第二阶段是( )A.初始设计 B.详细设计C.复审阶段D精化设计4.在模块内聚类型中,常常通过研究流程图确定模块的划分,得到的是( )A.逻辑内聚 B.顺序内聚C.功能内聚 D 过程内聚5.一个模块直接控制(调用)的下层模块的数目称为模块的( ) A.扇入 B 扇出C.深度D.宽度6.UML术语中,限定符常被用在( )A.依赖关系 B.泛化关系C 关联关系 D.细化关系7.UML提供的13种图形化工具中,用于概念模型和软件模型静态结构的是( )A.用况图 B.状态图C 类图 D.活动图8.RUP的迭代、增量式开发规定的4个阶段不.包括( )A 评审阶段 B.构造阶段C.移交阶段D.精化阶段9.根据RUP实现的活动,输入为设计类,活动为实现类,则输出为( )A.用况 B.子系统C.接口 D 构件10.软件评估可分为静态评估和动态评估,其中属于动态评估技术的是( )A.评审 B.走查C.形式化证明 D 软件测试11.黑盒测试技术,又称为( )A 功能测试 B.结构测试C.系统测试D.集成测试12.若有语句if(A<1 and C>0)then B=1/C else B=1/A,选用类似数据A=2,C=1;A=-2,C=1;A=2,C=-1;A=-2,C=-1;得到不同B 的值,这种测试策略为( )A.定义域测试 B.等价类测试C 路径测试 D.事务流测试13.在两种模型的基础上,螺旋模型加入两者所忽略的风险分析,这两者是( )A.瀑布模型和增量模型 B 瀑布模型和演化模型C.喷泉模型和增量模型D.喷泉模型和演化模型14.在软件生存周期模型中,主要用于支持面向对象技术的软件开发模型是( )A.演化模型 B.增量模型C 喷泉模型 D.螺旋模型15.CMMI能力等级中的第一级为( )A 已执行级 B.已管理级C.已定义级D.已定量管理级二、填空题16.在软件开发领域,系统模型分为两大类,其中之一的_______描述了系统是什么。
软件设计与体系结构课后练习部分答案(DOC)
软件设计与体系结构课后练习部分答案(DOC)第一章作业6.简要介绍了软件设计在软件工程中的地位和重要性。
答:位置:软件需求分析?需求规格?软件设计?设计文件?软件编码。
重要性:(1)它是软件需求的直接体现;(2)为软件实施提供直接依据;(3)将综合考虑软件系统的各种约束条件并给出相应方案;(4)软件设计的质量将决定最终软件系统的质量;(5)及早发现软件设计中的错误将大大降低软件修复和维护的成本。
7、软件设计应该包含哪些要素?答复:软件设计应该包含:目标描述、设计约束、产品描述、设计原理、开发规划、使用描述。
8.软件架构和软件设计之间的关系是什么?软件架构出现的必然性和意义是什么?答复:软件体系结构与软件设计的关系:软件体系结构设计作为软件设计过程中的活动之一,能在较为抽象的级别上描述整个软件系统的结构,成为大规模、复杂软件系统设计中必不可少的步骤。
软件体系结构的含义:软件体系结构将组件和组件之间的连接作为软件体系结构的基本组件。
软件体系结构使软件重用从代码重用发展到设计重用和过程重用,为不同的人提供了一种通用的语言,反映了系统的早期设计决策,作为系统设计的抽象,为框架和组件的共享和重用,以及基于体系结构的软件开发提供了强有力的支持。
第二章作业1.简要描述UML的特点和用途。
答复:uml的发起者在最初制定uml时,充分考虑了各种需求、方法和语言的特点使uml在表达能力、对新技术的包容能力和扩张性等方面具有显著的优势:(1)它为用户提供了一种统一、强大的可视化建模语言来描述应用问题的需求模型、设计模型和实现模型。
(2)提供对核心概念的扩展机制,用户可加入核心概念中没有的概念和符号,可为特定应用领域提出具体的概念、符号表示和约束。
(3)它独立于实现语言和方法,但支持所有方法,涵盖了面向对象分析和设计的相关概念和方法。
(4)独立于任何开发过程,但支持软件开发全过程。
(5)它为理解建模语言提供了形式化基础,用元素类型描述了基本语义,用OCL描述了定义良好的规则,用自然语言描述了动态语义。
软件体系结构课后习题参考答案
软件体系结构第四章作业题1.请把基于体系结构的软件开发模型与其他软件开发模型进行比较。
答:一、基于体系结构为基础的基于构件组装的软件开发模型,如基于构件的开发模型和基于体系结构的开发模型等。
基于体系结构的开发模型是以软件体系结构为核心,以基于构件的开发方法为基础。
然后采用迭代增量方式进行分析和设计,将功能设计空间映射到结构设计空间,再由结构设计空间映射到系统设计空间的过程。
该开发模型把软件生命周期分为软件定义、需求分析和定义、体系结构设计、软件系统设计和软件实现5个阶段.特点:是利用需求分析结果设计出软件的总体结构,通过基于构件的组装方法来构造软件系统。
优点:基于构件的开发方法使得软件开发不再一切从头开发,开发的过程就是构件组装的过程,维护的过程就是构件升级、替换和扩充的过程。
构件组装模型导致了软件的复用,提高了软件开发的效率。
软件体系结构的出现使得软件的结构框架更清晰,有利于系统的设计、开发和维护。
并且软件复用从代码级的复用提升到构件和体系结构级的复用。
缺点:由于采用自定义的组装结构标准,缺乏通用的组装结构标准,因而引入了较大的风险。
可重用性和软件高效性不易协调,需要精干的有经验的分析和开发人员,一般开发人员插不上手。
客户的满意度低,并且由于过分依赖于构件,所以构件库的质量影响着产品质量。
二、以软件需求完全确定为前提软件开发模型,如瀑布模型等。
特点:软件需求在开发阶段已经被完全确定,将生命周期的各项活动依顺序固定,强调开发的阶段性;优点:开发流程简单。
缺点:是开发后期要改正早期存在的问题需要付出很高的代价,用户需要等待较长时间才能够看到软件产品,增加了风险系数。
并且如果在开发过程存在阻塞问题,则影响开发效率。
三、在开始阶段只能提供基本需求的渐进式开发模型,如螺旋模型和原型实现软件开发模型等。
特点:软件开发开始阶段只有基本的需求,软件开发过程的各个活动是迭代的。
通过迭代过程实现软件的逐步演化,最终得到软件产品。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题
1、设计模式一般用来解决什么样的问题(a )
A.同一问题的不同表相 B不同问题的同一表相
C.不同问题的不同表相
D.以上都不是
2、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(a )模式。
A.创建型
B.结构型 C行为型 D.以上都可以
3. 对于依赖倒转的表述错误的是( e )
A.依赖于抽象而不依赖于具体,也就是针对接口编程。
B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调用时,所知道的
方法集合。
C.从选项B的角度论述,一个对象可以有多个接口。
D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。
而且不必知道所示用的对象
是那个实现类的实例。
E.此题没有正确答案。
4. 软件体系结构是一门新兴学科,它来源于(C)
A.程序设计语言 B. 数据库技术 C.软件工程 D. 网络通信
5.“不要和陌生人说话” 是( d )原则的通俗表述
A.接口隔离
B.里氏代换
C.依赖倒转
D.迪米特:一个对象应对其他对象尽可能少的了解
3、要依赖于抽象,不要依赖于具体。
即针对接口编程,不要针对实现编程,是(d )的表述
A.开-闭原则
B.接口隔离原则
C.里氏代换原则
D.依赖倒转原则
5.Open-Close原则的含义是一个软件实体( a )
A.应当对扩展开放,对修改关闭.
B.应当对修改开放,对扩展关闭
C.应当对继承开
放,对修改关闭 D.以上都不对
二.判断题
1.在设计模式原则中里氏代换原则指出不要为了使用某些类的方法(功能)而滥用继承。
Y
2.软件总是有体系结构的,不存在没有体系结构的软件。
Y
3.UML中用菱形和箭头线表示聚合。
Y
4.软件设计原则之一是要使用继承,而不是组合。
N
5.在设计模式原则中里氏代换原则指出为了使用某些类的方法(功能)而使用继承。
N
6.软件不总是有体系结构的,存在没有体系结构的软件。
N
7.软件体系结构处理算法与数据结构之上的、关于整体系统结构设计和描述方面的一些问题。
Y
8.软件的可重用性是指软件可以被重复运行多次。
N
9.软件的灵活性是指用户可以按多种方式使用该软件。
N
三.填空题
1.创立型模式的根本意图是要把(对象的创建)和(使用分离)的责任进行分离,从而降低系统的(耦合度)。
2.设计模式的基本要素有(名称,目的(意图),解决方案,实施后达到的效果)。
3.软件体系结构是软件设计过程中的一个( 层次),这一层次超越计算过程中的算法设计和
数据结构设计。
4.所有设计原则的目标都是为了使软件: ( 降低耦合 ) 、 ( 增强灵活性 ) 。
5.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(创建性)模式。
6.Abstract Factory经常用(工厂方法)模式实现。
7.设计模式中应优先使用的复用技术是(对象组合)。
8.设计时应该将(可变部分)封装起来。
四.简答题
1、设计软件时应遵循的设计原则有哪些?
2、简述抽象工厂设计模式的优缺点?
3、简述单件设计模式在实现过程中需要注意的问题?
4、简述抽象工厂设计模式与工厂设计模式之间的关系?
1.封装一个对象的结构和组成的设计模式为:
A.状态模式 B.抽象工厂模式 C.装饰者模式 D.组合模式
2.设计的健壮性是指:
A.符合需求 B.容忍错误 C.响应时间短 D.易维护
3.提供一个产品类库,只显示它们的接口而不是实现时,可以采用的设计模式为:
A.抽象工厂 B.组合模式 C.装饰者模式 D.工厂方法
4.软件设计模式的四个基本要素是:
A.模式名称、问题、解决方案、效果 B.动机、问题、解决方案、效果
C.适用性、问题、解决方案、效果 D.模式名称、问题、解决方案、实现装饰者设计模式的意图是动态地给一个对象添加一些额外的职责。
1.使用继承处理对象间关系的设计模式包括:工厂方法、适配器、模板方法和解释器模式。
2.A bstract Factory经常用工厂方法模式实现。
3.迭代器设计模式根据谁控制迭代可分为外部迭代器、内部迭代器。
4.适配器设计模式可分为类模式(类适配器)、对象模式(对象适配器)两类。
5.A bstract Factory经常用工厂方法模式实现。
6.创建型模式抽象了实例化过程。
一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。
1.请说出在什么情况下可以采用策略设计模式,并指出装饰者模式与策略模式的区别。
(7分)
四、设计题
1.客户端通过类的接口访问提供的服务,一般现有类可提供用户所需的功能,而有时不能满足用户的期待。
例如有两个毫不关联的类组合在一起使用,要么就是修改各自的接口,但是在不修改各自接口的前提下,该怎么做呢?
给出采用的设计模式的名称及原因,给出此设计模式的类关系图,并说明各部分的作用。
2.假设某系统有一个对话框(dialog),可以将对话框定义为一个类,为了保证对话框的唯一性,需要如何设计?请给出实现代码。
3.移动机器人系统必须处理外部传感器和传动装置,能够实时响应,并且响应速度要和工作环境中的系统行为相匹配。
特别地,移动机器人的软件功能主要有:
采集从传感器发送来的输入信号
操纵车轮和其他可移动零件的运动
规划未来的移动路线。
设计系统需要考虑的因素有:
需求1:这种体系结构必须能够协调有准备的行为和反应行为。
即机器人必须能够协调控制为完成指定的目标(如收集岩石标本)而采取的行动和由环境(如避开障碍物)引起的反应行为。
需求2:这种体系结构必须能够处理不确定性。
机器人的操作环境是不能完全预测的。
这种体系结构必须提供一个框架,在这个框架下,机器人能够应对不完整的或不可靠的信息(比如,矛盾的传感器读数)。
需求3:这种体系结构必须能够应对机器人操作和环境中固有的危险。
通过考虑容错度、安全性和性能,这个体系结构必须能够帮助保持机器人、操作及其环境的完整性。
诸如电力供应下降,有毒气体,门被意外地打开等问题,不应该导致灾难。
需求4:这种体系结构必须给予设计者灵活性。
移动机器人的应用开发经常需要实验和重新配置。
另外,任务的改变需要定期的修改。
请你设计这个系统的体系结构,列出其中主要的组件(构件),并给出理由。
4.现有一系统,需要迭代器接口,迭代器如下
但是现在没有迭代器接口的实现,只有枚举类型(Enumerate)的实现,枚举器接口如上图所示,请解决此问题,给出设计方案,画出相应的类图,并描述采用的设计模式的适用情况。
5现有一个表示打印机资源的类:
请你定义这个类,保证它只能被创建一个实例,请你给出关键部分的代码。
5.某公司开发一个文档编辑器,文档包括字符、线、多边形和其他图形元素,编辑器允许作者将某些字符、图等构成的集合看做一个单元,直接操作。
请你设计一种方案,画出类图,给出理由。
7现需为一个大型公司开发一套系统,要求公司内部的员工可以浏览、填报相关数据,公司外部客户可以查看一些对外发布的信息,某些客户也需要提交大批量的数据。
请设计适合的体系结构,给出体系结构图,并说明这样设计的理由。
8.构建一个系统来显示示波器的波形数据。
示波器是一个仪器系统,能对模拟信号取样,并在屏幕上显示信号的曲线,需要实现的功能包括过滤、采样、波形处理、显示,并且要求可以与用户针对每个功能进行交互。
请你设计这个系统的体系结构,列出其中主要的组件(构件),并给出理由。
9.现在要编写系统对现要开发一个公司的管理系统,总部有人力资源、财务部门,公司在全国几大城市都设有分公司,分公司还会在一些城市设办事处,总部、分公司和办事处都需要有人力资源和财务部的办公室管理功能,并且可以按统一的方式处理总部和办事处的功能模块。
请你选择一种设计模式,画出类关系图,并给出理由。
10.KWIC(key word in context)检索系统接受有序的行集合,每一行是单词的有序集合,每一个单词又是字母的有序集合,通过重复的删除行中第一个单词并把它插入到行尾,每一行可以被“循环地移动”,KWIC 检索系统以字母表的顺序输出一个所有行循环移动的列表。
请设计这个系统的体系结构,给出组件(构件),并给出理由。
简答题
1、简述软件体系结构的定义、意义和作用。
2、隐式调用的优缺点?
3、设计软件应遵循的原则?
4、简述体系结构权衡分析法(ATAM)的评估步骤。
5、ATAM评估结果的内容。
6、请说出在什么情况下采用策略设计模式,并指出装饰者模式和策略模式的区别。
7、给出观察者模式的类关系图,并说明其中各部分的作用。
8、简述三层C/S体系结构的优点?
9、可复用的面向对象设计的两条原则是什么?。