软件体系结构复习题及答案
UML考试题及答案

UML考试题及答案《UML与面向对象方法学》复习题二、单选题1.(A)不是UML体系的组成部分。
A.应用领域B.规则C.基本构造块D.公共机制2.在UML中,有四种事物,下面哪个不是(B)。
A.结构事物B.静态事物C.分组事物D.注释事物3.以下(C)不是RUP中的优秀方法。
A.迭代的开发软件B.不断的验证软件质量C.配置管理与变更管理D.支持正向与逆向工程4.下面(D)属于UML中的动态视图。
A.类图B.用例图C.对象图D.状态图5.在UML中,()把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。
AA.泳道B.同步条C.活动D.组合活动6.用例之间有几种不同的关系,下列哪个不是他们之间可能的关系()。
BA.include B.connect C.generalization D.extend7.event表示对一个在时间和空间上占据一定位置的有意义的事情的规格说明,下面哪个不是事件的类型()。
CA.信号B.调用事件C.源事件D.时间事件8.通常对象有很多属性,但对于外部对象来说某些属性应该不能被直接访问,下面哪个不是UML中的类成员访问限定性()。
DA.public B.protected C.private D.friendly9.在UML中,类之间的关系有一种关系称为关联,其中多重性用来描述类之间的对应关系,下面哪个不是其中之一()。
AA.*....*B.0....*C.1....*D.0.(1)10.关于包的描述,不正确的是()。
BA.和其他建模元素一样,每个包必须有一个区别于其他包的名字B.export使一个包中的元素可以单向访问另一个包中的元素C.包的可见性分为public、protected、privateD.包中可以包含其他元素,比如类、接口、组件、用例等等11.Use Case用来描述系统在事件做出响应时所采取的行动。
《软件工程》11套考试复习练习试题、作业题[含答案解析]
![《软件工程》11套考试复习练习试题、作业题[含答案解析]](https://img.taocdn.com/s3/m/2958e1d3910ef12d2bf9e70d.png)
作业1:1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。
软件体系结构与设计模式期末复习

体系结构期末复习一、选择题(一)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. 应当对扩展开放,对修改关闭。
软件系统分析与设计复习资料参考答案

参考答案选择题1.D2.C3.D4.C5.B6.D7.C8.B9.D10.A11.B12.A13.B14.D15.A16.B17.A18.D19.C20.A21.D22.B23.B24.D25.D26.B27.B28.A29.A30.C31.A32.B33.A34.B35.B36.A37.B38.A39.A40.C41.A42.C43.C44.D45.A46.B47.D48.C49.D50.C51.C52.A53.D54.B55.A56.A57.D58.A59.D60.A61.B62.D63.C64.A65.A66.C67.C68.A69.D70.A71.D72.A73.C74.A75.D判断改错题1.(√)2.(×)有“泳道”概念的是活动图。
3.(×)题目中描述的是CORBA。
4.(×)水平坐标表示一组对象,垂直坐标表示时间顺序。
5.(√)6.(×)UML是建模语言,不是方法论。
7.(√)8.(√)9.(×)两者没有明显分界,需要反复迭代的进行。
10.(×)OOCASE通过外部接口可以方便的调用其它工具软件。
11.(×)定义不同。
12.(√)13.(√)14.(×)完成使命的对象可以被销毁。
15.(×)由图和文字描述组成。
16.(√)17.(×)描述的是白盒复用。
18.(√)19.(F)它不能直接调用EJB构件,而是通过使用代理来调用。
20.(F)不能有嵌套的动作或递归的动作表达式。
21.(T)22.(F)需求模型也是可复用的软件制品。
23.(F)构件图主要用于建立系统的静态实现模型。
24.(F)OOCASE通过外部接口可以方便的调用其它工具软件。
25.(F)“对象+消息”的程序设计模式。
26.(F)通过频繁使用设计样式来设计更大更复杂的系统。
27.(T)28.(T)29.(T)30.(F)协作图强调对象之间的关系,而时序图强调一组对象之间错作调用的时间顺序。
计算机系统结构复习题(附答案) (1)

计算机系统结构复习题和重点(附答案)一、单项选择题1.实现汇编语言源程序变换成机器语言目标程序是由()A.编译程序解释B.编译程序翻译C.汇编程序解释D.汇编程序翻译2.系列机软件必须保证()A.向前兼容,并向上兼容B.向前兼容,并向下兼容C.向后兼容,力争向上兼容D.向后兼容,力争向下兼容3.浮点数尾数基值r m=8,尾数数值部分长6位,可表示规格化正尾数的个数是()A.56个B.63个C.64个D.84个4.在IBM370系统中,支持操作系统实现多进程共用公用区管理最有效的指令是()A.“执行”指令B.“程序调用”指令C.“比较与交换”指令D.“测试与置定”指令5.关于非专用总线三种控制方式中,下列叙述错误..的是()A.集中式定时查询,所有部件共用同一条“总线忙”线B.集中式定时查询,所有部件都用同一条“总线请求”线C.集中式独立请求,所有部件都用同一条“总线请求”线D.集中式串行链接,所有部件都用同一条“总线请求”线6.磁盘外部设备适合于连接到()A.字节多路通道B.数组多路通道或选择通道C.选择通道或字节多路通道D.数组多路通道或字节多路通道7.在Cache存储器中常用的地址映象方式是()A.全相联映象B.页表法映象C.组相联映象D.段页表映象8.在指令级高度并行的超级处理机中,下列叙述正确的是()A.超标量处理机利用资源重复,要求高速时钟机制B.超流水线处理机利用资源重复,要求高速时钟机制C.超标量处理着重开发时间并行性,要求高速时钟机制D.超流水线处理机着重开发时间并行性,要求高速时钟机制9.间接二进制n方体网络是一种()A.多级立方体网络B.多级全排列网络C.单级立方体网络D.多级混洗交换网络10.多端口存储器适合于连接A.紧耦合多处理机B.松耦合多处理机C.机数很多的处理机D.机数可变的多处理机二、填空题11.多处理机实现的是___________、___________间的并行。
软件工程复习题及答案(完整)

一、选择1、文档是软件产品的一部分,没有文档的软件就不称其为软件.对2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。
错3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。
错4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。
错5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。
错6、软件配置管理是一组标识、组织和控制修改源程序的活动. 错7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。
错8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
对9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。
对10、面向对象的分析是面向计算机系统建立软件系统的对象模型.错11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A 软件过程B 软件测试C 软件生存周期D 软件工程12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。
A 质量控制B 质量管理C 质量策划D 质量改进13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级.除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B).A 关键实践B 关键过程域C 软件过程能力D 软件过程14、在软件开发的各种资源中,(D)是最重要的资源。
A 开发工具B 方法C 硬件环境D 人员15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A 固有的B 人为的C 可消除的D 不可降低的16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。
A 业务需求B 功能需求C 非功能需求D 用户需求17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。
A 需求不确定的B 需求确定的C 管理信息D 决策支持18、(A)意味着一个操作在不同的类中可以有不同的实现方式.A 多态性B 多继承C 类的可复用D 信息隐蔽19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。
系统结构复习

中国地质大学(武汉)计算机学院吴湘宁计算机体系结构习题及答案第一章基础知识1.名词解释翻译解释模拟仿真透明性程序访问局部性[答案]略2. 一个经解释实现的计算机可以按功能划分为四级. 每一级为了执行一条指令需要下一级的N条指令. 若执行第一级的一条指令需要的时间为K ns, 那么执行第二、三、四级的一条指令各需要多少时间?3. 计算机系统按功能划分层次结构的好处主要体现在哪些方面?[答案] (1) 有利于理解软件, 硬件和固件在系统中的地位和作用;(2) 有利于理解各种语言的实质和实现途径;(3) 有利于推动计算机系统结构的发展;(4) 有利于理解计算机系统结构的定义.4. 什么是透明性? 对计算机系统结构, 下列哪些是透明的? 哪些是不透明的?1) 存储器的模m交叉存取; 2) 浮点数据表示; 3) I/O系统是采用通道方式还是I/O处理机方式; 4) 阵列运算部件; 5) 数据总线宽度; 6) 通道是采用结合型的还是独立型的; 7) 访问方式保护; 8) 程序性中断; 9) 串行、重叠还是流水控制方式; 10) 堆栈指令; 11) 存储器的最小编址单位; 12) Cache存储器.[答案] 一种本来是存在的事务或属性, 但从某种角度看却好像不存在, 称为透明性.对计算机系统结构来说透明的是: 1), 4), 5), 6), 9), 12)对计算机系统结构来说不透明的是:2), 3), 7), 8), 10), 11)5. 什么是计算机体系结构? 什么是计算机组成? 什么是计算机实现? 并说明三者的关系和相互影响?[答案] 计算机系统结构是计算机系统的软, 硬件分界面, 是机器语言程序员或是编译程序员所需了解的计算机属性;计算机组成是计算机系统结构的逻辑事项;计算机实现是计算机组成的物理实现.三者的关系和互相影响为:(1) 具有相同系统结构的计算机可以采用不同的组成;(2)(2) 一种计算机组成可以采用多种不同的计算机实现;(3) 计算机组成、计算机实现对计算机系统结构有着很大的影响;(4) 计算机系统结构的设计不应限制计算机组成和实现技术,应能用于高档机,也可用于低挡机;(5) 在不同时期, 计算机系统结构,、组成和实现所包含的内容会有所变化,三者之间的界线常常很模糊.6. 从机器(汇编)语言程序员角度看, 以下哪些是透明的?1) 指令地址存储器; 2) 指令缓冲器; 3) 时标发生器; 4) 条件码寄存器; 5) 乘法器; 6) 主存地址寄存器; 7) 磁盘外设; 8) 先行进位链; 10) 通用寄存器; 11) 中断字寄存器.[答案] 对机器(汇编)语言程序员来说透明的有: 2), 3), 5), 6), 8), 9)对机器(汇编)语言程序员来说不透明的有: 1), 4), 7), 10), 11)7. 假设在一台40 MHz处理机上运行200 000条指令的目标代码, 程序主要由四种类型的指令所组成. 根据程序跟踪实验结果, 各类指令的混合比和每类指令的CPI值如表1.9所示.(1) 试计算在单处理机上执行上述该程序时的平均CPI;(2) 根据(1)所得到的CPI, 计算相应的MIPS速率及程序的执行时间.[答案] (1) 2.24 CPI (2) 17.86 MPIS; 0.0112 s8. 某工作站采用时钟频率为15 MHz、处理速率为10 MIPS的处理机来执行一个程序,假定每次存储器存取为1周期延迟, 试问:(1) 此计算机的有效CPI是多少?(2) 假定将处理机的时钟频率提高到30 MHz, 但存储器子系统速率不变, 这样, 每次存储器存取需要两个时钟周期. 如果30%的指令每条只需要一次存储存取, 而另外5%的指令每条需要两次存储存取, 还假定已知混合程序的指令数不变, 并与原工作站兼容, 试求改进后的处理机性能.[答案] (1) 1.5 CPI; (2) 15.8 MPIS9.什么是并行性?它分为哪两种类型?开发计算机系统并行性的主要技术途径有哪三个?沿这些途径分别发展出什么类型的计算机?[答案]略10.实现软件移植的途径有哪些?[答案]略11.什么是Flynn分类法,按照Flynn分类法可将计算机系统分为哪几类?[答案]略第二章指令系统1. 名词解释数据类型、数据表示、规格化浮点数、Huffman编码、扩展编码、RISC[答案]略2. 某模型机有8条指令I1~I8, 它们的使用频度分别为0.3, 0.3, 0.2, 0.1, 0.05, 0.02, 0.02, 0.01.(1) 试分别用Huffman编码和平均码长最短的等长扩展码(限定为两种码长)对其操作码进行编码.(2) 分别计算Huffman编码和等长扩展码编码的平均长度.[答案] (1) 操作码的Huffman编码和2-4等长扩展码编码如下表1所示.(2) Huffman编码的平均长度为2.38位; 等长扩展码编码的平均码长为2.8位.3. 某模型机有10条指令I1~I10, 它们的使用频度分别为0.3, 0.24, 0.16, 0.12, 0.07, 0.04, 0.03,0.02, 0.01, 0.01.(1) 计算机采用等长操作码表示时的信息冗余量.(2) 要求操作码平均码长最短, 试设计操作码的编码, 并计算所设计操作码的平均长度. (3) 设计2-5扩展操作码编码,并计算平均码长.(4) 设计2-4(2/8)等长扩展码编码,并计算平均码长. [答案] (1) 采用等长操作码表示时的信息冗余量为33.5%. (2) 操作码的Huffman编码如表2所示, 此种编码的平均长度为2.7位.(3) 操作码的2-5扩展码编码如表2所示, 此种编码的平均长度为2.9位.(4) 操作码的2-4(2/4)等长扩展码编码如表2所示, 此种编码的平均长度为2.92位.4. 何谓指令格式的优化? 操作码和地址码的优化一般采用哪些方法?[答案] 指令格式的优化是指通过采用多种不同的寻址方式, 地址制, 地址形式和地址码长度以及多种指令字长, 并将它们与可变长操作码的优化表示相结合, 就可以构成冗余度尽可能少的指令字. 操作码的优化采用扩展操作码编码法. 地址码优化有以下四种方法:(1) 在指令中采用不同的寻址方式;(2)(2) 在指令中采用多地址制;(3) 同一种地址制还可以采用多种地址形式和长度, 也可以考虑利用空白处来存放直接操作数或常数等;(4) 在以上措施的基础上, 还可以进一步考虑采用多种指令字长度的指令.5. 若某机设计有如下指令格式的指令:三地址指令12种, 一地址指令254种, 设计指令的长度为16位, 每个地址码字段的位数均为4位. 若操作码的编码采用扩展操作码, 问二地址指令最多可以设计多少种? [答案] 二地址指令最多可以设计48种.6. 一台模型机共有九条指令I1~I9, 各指令的使用频度分别为0.3,0.2,0.2,0.1,0.08,0.6,0.03, 0.02, 0.01. 该模型机有8位和16位两种指令字长. 8位字长指令为寄存器----寄存器(R--R)二地址类型, 16位字长指令为寄存器----存储器(R--M)二地址变址寻址类型.(1) 试设计有两种码长的扩展操作码, 使其平均码长最短, 并计算此种编码的平均码长. (2) 在(1)的基础上, 该机允许使用多少个可编址的通用寄存器?(3) 若采用通用寄存器作为变址寄存器, 试设计该机的两种指令格式, 并标出各字段的位数.(4) 计算变址寻址的偏移地址范围.[答案] (1) 操作码的2-5扩展码编码如表3所示, 此种编码的平均长度位2.9位.2) 在(1)的基础上, 该机允许使用8个可编址的通用寄存器.(3) 该机的两种指令格式及各字段的位数如下:R-R型: 操作码OP (2位) | 源寄存器RS (3位) | 目的寄存器Rd (3位)R-M型: 操作码OP (5位) | 源寄存器RS (3位) | 变址寄存器RX (3位) | 偏移地址 (5位)(4) 变址寻址的偏移地址范围为-16~+15.7. 简述CISC的特点.[答案] CISC的特点如下:(1) 庞大的指令系统;(2) 采用了可变长度的指令格式;(3) 指令使用的寻址方式繁多;(4) CISC指令系统中包括一些用于特殊用途的指令, 各种指令的使用频度相当悬殊.8. 从指令格式, 寻址方式以及平均CPI三个方面, 比较经典CISC和纯RISC体系结构.[答案] 略9.简述RISC设计的一般原则。
软件工程复习题及参考答案3(EF)

《软件工程》课程复习资料一、填空题:1.基于计算机系统总体可靠性与以下三个方面紧密关联:硬件可靠性、软件可靠性和。
2.面向对象的软件过程是以为基础,利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换。
3.需求分析的任务主要有两个:通过对问题及环境的理解、分析和综合,建立分析模型;在完全弄清用户对软件系统的确切要求的基础上,用把用户的需求表达出来。
4.需求开发又分为可行性研究、需求导出和分析、和需求验证。
5.对象包含两个基本的因素,和方法。
6.数据流图包括以下两种类型:变换型数据流图和。
7.系统设计阶段的输出结果是适应应用软件要求的、类间关系以及子系统的规格说明。
8.软件测试是为了发现而执行程序的过程。
9.软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批,并利用它们去运行程序,以发现程序错误的过程。
10.软件变更可以是修改代码错误的简单变更、更正设计错误的较大范围的变更、对描述错误进行修正或者增加新需求的重大改进。
软件变更可以考虑以下几个策略:、体系结构转换、软件再工程等策略。
11.软件维护性是软件的内在固有属性,它是的重要组成部分。
12.质量评审和自动化的软件评估是质量控制的两种方式。
评审活动主要包括、进展评审和质量评审等几种不同类型。
二、单项选择题: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.面向对象中,模块又称构件,下列哪个不是其基本属性? [ ]A.功能B.结构C.状态D.逻辑7.对象的实现描述中不包括以下哪个信息? [ ]A.由一组消息和注释组成的协议描述B.对象名及所属对象类C.私有数据结构的每一数据项及其类型D.每个操作的过程性描述或指向这样一个过程性描述的指针8.Grenford J.Myers就软件测试目的提出的观点不包括以下哪项? [ ]A.测试是程序的执行过程,目的在于发现错误B.证明软件的功能和性能与需求说明相符合C.一个好的测试用例在于能发现至今未发现的错误D.一个成功的测试是发现了至今未发现的错误的测试9.黑盒测试又称为 [ ]A.结构测试B.代码测试C.功能测试D.路径测试10.纠错技术主要是指定位程序错误采用的工具和手段,常用的定位错误方法不包括 [ ]A.插入打印语句B.设置断点C.根据结果推理D.掩蔽部分程序11.为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程,就叫做 [ ]A.完善性维护B.适应性维护C.改正性维护D.预防性维护12.( )和自动化的软件评估是质量控制的两种方式,其中前者是由一组人员对软件、文档编制和软件制作过程进行评审。
最新系统结构总复习题(附答案)

《计算机系统结构》期末考试复习题一、选择题:1、我们称由(B )实现的机器为虚拟机器。
A、硬件B、软件C、微程序D、固件2、计算机系统结构设计者所关心的是(C )所看到的的计算机结构。
A、硬件设计人员B、逻辑设计人员C、机器语言或汇编语言程序员D、高级语言程序员3、计算机组成是计算机系统结构的(B )。
A、硬件实现B、逻辑实现C、软件实现D、以上三种4、在计算机系统设计时,为了提高系统性能,应当注意(A )。
A、加快经常性使用指令的执行速度B、要特别精心设计少量功能强大的指令B、要减少在数量上占很小比例的指令的条数D、要加快少量指令的速度5、SIMD计算机可以处理(D )。
A、多指令流、单数据流B、单指令流单数据流C、多指令流多数据流D、单指令流多数据流6、在提高CPU性能的问题上,从系统结构角度,可以(C )。
A、提高时钟频率B、减少程序指令条数C、减少每条指令的时钟周期数D、减少程序指令条数和减少每条指令的时钟周期数7、冯.诺依曼计算机是(B )。
A、以存储器为中心B、以CPU为中心C、以处理输入/输出危重点D、以存储器与计算器为中心8、解决软件移植最好的办法就是(C )。
A、采用模拟方法B、采用仿真的方法C、采用统一高级语言D、采用统一标准设计计算机结构9、对计算机系统结构,下列透明的是(A )。
A、数据总线宽度B、浮点数表示C、CPU寄存器个数D、存储器的编址方法10、以下对系统程序员不透明的是(B )。
A、系列机各档不同的数据通路宽度B、虚拟存储器C、指令缓冲寄存器D、存储器读写缓冲寄存器11、在浮点数表示中,尾数的位数多少主要影响( B )。
A、表数范围B、表数精度C、表数效率D、运算实现容易程度12、当浮点数的尾数基值为(A )时,其表数效率最高(假如不考虑隐藏位)。
A、16B、8C、4D、213、当浮点数的尾数基值为( D )时,其表数精度最高,表数范围最大。
A、2B、8C、16D、2或414、当浮点数的尾数用原码表示,基值为2,阶码用移码表示,基值为2时,若尾数部分占23位(不含符号位),阶码占8位(含符号位),则表示的最大负数和最大正数分别为( C )。
软件工程复习题及参考答案

软件⼯程复习题及参考答案软件⼯程复习题及参考答案The manuscript was revised on the evening of 2021《软件⼯程》课程复习资料⼀、单项选择题:1.下⾯哪些UML图描述系统⾏为[ ]A.⽤例图B.类图C.对象图2.属于概要设计活动的是[ ]A.软件结构设计B.数据结构设计C.算法设计3.属⾏为型设计模式的是[ ]A.组合模式B.⼯⼚⽅法模式C.观察者模式4.下列说法正确的是[ ]是软件开发⽅法是系统描述语⾔是软件开发过程5.根据程序流程图划分的模块通常是[ ]A.信息内聚的模块B.过程内聚的模块C.逻辑内聚的模块6.如果某程序中的⽐较个数是m,则其 McCabe环形复杂度为[ ]+1A.软件开发⽅法B.软件开发组织管理制度C.软件开发合同8.软件测试的⽬的是[ ]A.证明软件⽆错B.发现软件中的所有错误C.尽可能发现软件系统中的错误9.软件重构关注的是[ ]A.软件体系结构B.模块细节C.软件性能10.软件项⽬开发计划的内容有[ ]A.数据分析B.风险分析C.功能分析11.在UML的类图中,描述整体与部分关系的是[ ]A.泛化关系B.聚合关系C.依赖关系12.软件过程能⼒成熟度模型CMM⽤以评价[ ]A.软件过程能⼒B.组织能⼒C.学习能⼒13.因计算机硬件和软件环境的变化⽽作出的修改软件的过程称为[ ]A.完善性维护B.改正性维护C.适应性维护14.对项⽬软件⽽⾔,软件功能需求信息主要由谁提供B.软件开发⼈员C.软件项⽬管理⼈员图反映不出[ ]A.系统做什么B.系统功能由谁做C.系统如何做16.原型模型是⼀种什么开发过程模型[ ]A.⾃顶向上B.由外⾄内C.增量式17.系统流程图描述[ ]A.物理系统B.逻辑系统C.软件体系结构18.需求规格说明书的内容不应该包括[ ]A.软件确认准则B.软件的性能描述C.算法过程的详细描述19.适合需求模糊或需求不确定系统开发的软件开发模型是[ ]A.瀑布模型模型 C.原型模型图中描述系统结构的是[ ]A.组件图B.顺序图C.状态图21.⾯向对象⽅法是⼀种什么软件开发⽅法[ ]A.层次化22.不可以⽤来衡量软件可维护性的是[ ]A.可靠性B.可⽤性C.可⾏性23.系统分析员在需求分析最后负责编写[ ]A.⽤户⼿册B.概要设计说明书C.可⾏性研究报告24.为了提⾼软件的可靠性、可维护性等⽽对软件的修改称为[ ]A.改正性维护B.适应性维护C.预防性维护25.在结构化⽅法中,为使需求改变对软件影响较⼩,应该使软件结构[ ]A.与问题结构对应B.与问题结构独⽴C.与⽤户界⾯对应26.单元测试的计划应该在什么阶段完成[ ]A.需求分析B.概要设计C.详细设计27.下列属⾯向对象软件开发⽅法的是[ ]⽅法⽅法⽅法28.强调信息隐藏的软件⼯程设计⽅法是[ ]⽅法⽅法 SD ⽅法29.描述系统动态⾏为的模型是[ ]C.状态图30.考虑输⼊条件组合的测试⽤例设计⽅法是[ ]A.等价分类法B.语句覆盖法C.因果图法31.下列能减少⽀援性维护活动的是[ ]A.利⽤软件包B.进⾏配置管理C.对⽤户进⾏适当培训32.只⽀持单重继承的程序设计语⾔是[ ]++图的顶层图是[ ]图图图34.在UML的⽤例图中,扩展关系是⼀种[ ]A.泛化关系B.依赖关系C.关联关系35.独⽴测试⼩组开始介⼊测试是在[ ]A.模块测试阶段B.集成测试阶段C.确认测试阶段36.在成本估计中容易低估局部问题的⽅法是[ ]A.基于经验模型的估计B.⾃底向上估计C.⾃顶向下估计37.在IDEF1X图中,如果⼦实体与⽗实体存在联系,则⼦实体将继承⽗实体的B.主关键字属性C.⾮主关键字属性38.结构化分析⽅法使⽤的⼯具是[ ]A.数据流图B.类图C.软件结构图39.⽩盒测试设计⽤例的⽅法是[ ]A.等价分类法B.基本路径覆盖法C.因果图法40.在衡量软件质量时,最重要的标准是[ ]A.可维护性好B.可⽤性好C.满⾜⽤户功能需求41.瀑布模型是⼀种[ ]A.演化模型B.顺序模型C.增量模型42.模块的独⽴程度可以由什么定性标准度量[ ]A.耦合度B.复杂度C.可靠性43.以下选项中,不属于对象的特点有[ ]A.继承B.多态C.封闭44.⾯向数据结构的设计⽅法有45.与UML配合最好的软件开发⽅法是[ ]⽅法 Yourdon⽅法⽅法⼆、填空题:1.统⼀建模语⾔UML提供了两种描述整体/部分关系的⽅法,分别是和。
软件体系结构-复习题

《软件体系结构》习题一、单选题第一章概述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的考勤管理系统,客户对系统的基本功能、表现形式等要求并不明确。
计算机体系结构-复习题(附答案)-vip专享

《计算机体系结构》复习题一、填空题1. 推动计算机系统结构发展的主要动力是( 计算机应用 )。
2. ( 器件 )的发展是促使计算机系统结构不断发展的最活跃因素。
3. 衡量计算机系统性能可采用各种尺度,但最为可靠的衡量尺度是( 时间 )。
4. CPI表示执行每条指令所需的( 平均时钟周期数 )。
5. 计算机系统中的数据表示是指可由硬件直接辨认的( 数据类型 )。
6. 在向量处理中经常会遇到稀疏向量,为了节省存储空间和处理时间( 压缩向量 )的表示方法。
7. 在当今的RISC机的指令系统中,全都是( 定字长 )指令格式。
8. 增强向量流水处理性能的方法主要有:多功能部件并行操作和采用( 链接 )技术。
9. 数组多路通道与设备之间的数据传送的基本单位是( 数据块 )。
10. 数据流系统结构是基于数据驱动和( 消息传送 )的计算模型。
11. 现代计算机系统是由(硬件/固件)和(软件)组成的十分复杂的系统。
12. 计算机系统应能支持软件可移植,实现可移植性的常用方法有3种,即(采用系列机),(仿真和模拟),统一高级语言。
13. 可以将当前大多数通用寄存器型指令集结构进一步细分为3种类型,即( RM结构)、( RR结构)和存储器-存储器型指令集结构。
14.MIPS指令DADDIU R14,R5,#6属于( I )类型的指令格式;MIPS指令SD R4,300(R5)属于( I )类型的指令格式。
15.描述流水线的工作,常采用时空图的方法。
在时空图中,横坐标表示(时间),纵坐标代表(空间或流水线各段)。
16.在MIPS指令实现的简单数据通路中,在WB周期中,有两大类指令执行操作:( Load )和( ALU )指令。
17.存储器的层次结构中,“Cache-主存”层次是为了弥补主存(速度)的不足,“主存-辅存”层次是为了弥补主存(容量)的不足。
18.Cache实现的映像规则有全相联映像、(直接)和(组相联)三种。
软件工程复习试题及答案

一、填空题(在下划线上填写正确的答案,每题2分,共20分)1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。
2.数据流图和数据字典共同构成了系统的逻辑模型。
3.盒图也称为N—S图.这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题.6.数据流图有四种基本成分:源、终点,处理,存储,数据流。
7.数据字典有以下四种条目数据项是组成数据流和数据存储的最小元素。
8.软件工程中的结构化分析SA是一种面向数据流的分析方法。
9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程.10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。
2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。
3.软件测试的步骤:单元、集成、系统、验收.4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。
5.IPO图由输入、处理和输出三个框组成。
这个图的特点是能够直观的显示三者之间的关系。
6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法.7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。
8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。
9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。
10.常用的测试方法有黑盒测试和白盒测试。
1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面研究。
2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构。
3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护阶段。
4.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。
UML复习题

(一)一、选择题1、软件开发过程中,最困难的一个环节是()A、程序语言的学习B、详细设计C、需求分析D、编码设2、若将活动状态比作方法,那么动作状态即()A、方法名B、方法返回值C、方法体中的每一条语句D、方法的可见性3、UML提供了一系列的图支持面向对象的分析与设计,其中()给出系统的静态设计视图;()对系统的行为进行组织和建模是非常重要的;()和()都是描述系统动态视图的交互图,其中()描述了以时间顺序组织的对象之间的交互活动,()强调收发消息的对象的组织结构。
A、状态图B、用例图C、顺序图D、部署图E、通信图F、类图G、时序图4、在一个订单输入子系统中,创建新订单和更新订单都需要检查用户帐号是否正确。
那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是()关系A.包含(include)B.扩展(extend)C.分类(classification)D.聚集(aggregation)5、Innovation公司正在为Rose开发插入件,使得Rose可以把OOA、OOD模型以各种图形格式导出,如JPEG 格式、BMP格式、GIF格式等。
在导出时,会根据不同的算法来生成相应的图形文件,这些算法很复杂。
为了描述这些算法,如下图中,那个最适合()A. 活动图B. 状态图C. 类图D. 用例图二、简答题1、找出并说明下面类图中的错误。
2、请根据如下Java代码画出相应的顺序图。
Class C1{C2 c2 = new C2();public void f1(){ c2.f2(); }}Class C2{public void f2(){ f2(); } } 3、请根据下图所示写出C++代码(基本结构)。
Animal-leg: int+run()Tiger Dog4、请找出下面类图中存在的错误并画出正确的类图。
5、对于如下类图,请写出OCL约束:(1)、对于一个班级而言,只有注册人数大于25人方可开课并且由于教室大小的约束,人数又不能超过80人。
软件工程期末复习题(含答案)

软件工程必备期末复习题选择题1.软件设计中划分模块的一个准则是(C)。
A低内聚低耦合B低内聚高耦合C高内聚低耦合D.高内聚高耦合2.(A)是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型法C、螺旋模型方法D、构件组装模型3.试判断下列叙述中,哪个些是正确的(C)。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D)A、PASCALB、VISUALBASICC、C++D、汇编语言6.软件测试的目的是?(D)A.软件的正确性B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误7.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。
A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能8.软件维护工作的最主要部分是(C)。
A、纠正性维护B、适应性维护C、完善性维护D、预防性维护9.PDL是(B)语言。
A.高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(C)。
A、软件结构B、软件过程C、软件模型D、软件模块11.在数据流图中,○(椭圆)代表(B)A、数据流B、转换C、数据源D、外部实体12.总体设计目的是确定整个系统的(D)。
A、规模B、测试方案C、费用D、功能及模块结构13.检查软件产品是否符合需求定义的过程称为(A)。
A、确认测试B、集成测试C、验收测试D、验证测试14、在七种偶合中,最低偶合是(C)。
(完整版)软件体系结构复习题及答案

概述部分1、请分析软件危机的主要表现和原因。
表现:a)软件成本日益增加:开发、部署与应用成本高b)开发进度难以控制:不能按期完成c)软件质量差:错误率高,不能满足用户的需求,没有生命力d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误原因:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高2、请说明软件规模与复杂度对软件过程的影响及解决方法。
软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。
应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。
3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束)软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。
它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
4、请简述软件重用的含义和意义。
可重用元素包括哪些种类?软件重用是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
(含义)可重用的元素包括程序代码、测试用例、设计文档、需求分析文档甚至领域知识。
(种类)可重用的元素越大,我们就说重用的粒度(Granularity)越大。
软件重用是软件产业工业化、工程化的重要手段。
软件重用对提高生产率,降低开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。
(意义)5、请简述常用的构件实现模型及其意义。
实现模型:1.CORBA2.EJB / DCOM / COM+意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。
符合这些标准的任何构件都有很高的重用能力。
描述部分6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。
数据视图风格部分7、什么是软件体系结构的风格?它在软件开发过程中具有何种意义?软件体系结构风格是指设计、组织和实现软件体系结构的各种惯用模式和习惯用法,是对一系列体系结构设计的抽象。
计算机体系结构复习题(有答案)

第2章 计算机体系结构 习题与答案

第二章习题(P69-70)一、复习题1.简述冯∙诺依曼原理,冯∙诺依曼结构计算机包含哪几部分部件,其结构以何部件为中心?答:冯∙诺依曼理论的要点包括:指令像数据那样存放在存储器中,并可以像数据那样进行处理;指令格式使用二进制机器码表示;用程序存储控制方式工作。
这3条合称冯∙诺依曼原理OgtiojD。
冯∙诺依曼计算机由五大部分组成:运算器、控制器、存储器、输入设备、输出设备,整个结构一般以运算器为中心,也可以以控制器为中心。
(P51-P54)r1fI4bu。
2.简述计算机体系结构与组成、实现之间的关系。
答:计算机体系结构通常是指程序设计人员所见到的计算机系统的属性,是硬件子系统的结构概念及其功能特性。
计算机组成(computer organization)是依据计算机体系结构确定并且分配了硬件系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,它们之间的连接关系,实现机器指令级的各种功能和特性。
同时,为实现指令的控制功能,还需要设计相应的软件系统来构成一个完整的运算系统。
计算机实现,是计算机组成的物理实现,就是把完成逻辑设计的计算机组成方案转换为真实的计算机。
计算机体系结构、计算机组成和计算机实现是三个不同的概念,各自有不同的含义,但是又有着密切的联系,而且随着时间和技术的进步,这些含意也会有所改变。
在某些情况下,有时也无须特意地去区分计算机体系结构和计算机组成的不同含义。
(P47-P48)28BoSAn。
3.根据指令系统结构划分,现代计算机包含哪两种主要的体系结构?答:根据指令系统结构划分,现代计算机主要包含:CISC和RISC两种结构。
(P55)4.简述RISC技术的特点?答:从指令系统结构上看,RISC体系结构一般具有如下特点:(1)精简指令系统。
可以通过对过去大量的机器语言程序进行指令使用频度的统计,来选取其中常用的基本指令,并根据对操作系统、高级语言和应用环境等的支持增设一些最常用的指令;hJslBtf。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
概述部分1、请分析软件危机的主要表现和原因。
表现:a)软件成本日益增加:开发、部署与应用成本高b)开发进度难以控制:不能按期完成c)软件质量差:错误率高,不能满足用户的需求,没有生命力d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误原因:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高2、请说明软件规模与复杂度对软件过程的影响及解决方法。
软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。
应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。
3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束)软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。
它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
4、请简述软件重用的含义和意义。
可重用元素包括哪些种类?软件重用是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
(含义)可重用的元素包括程序代码、测试用例、设计文档、需求分析文档甚至领域知识。
(种类)可重用的元素越大,我们就说重用的粒度(Granularity)越大。
软件重用是软件产业工业化、工程化的重要手段。
软件重用对提高生产率,降低开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。
(意义)5、请简述常用的构件实现模型及其意义。
实现模型:1.CORBA2.EJB / DCOM / COM+意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。
符合这些标准的任何构件都有很高的重用能力。
描述部分6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。
数据视图风格部分7、什么是软件体系结构的风格?它在软件开发过程中具有何种意义?软件体系结构风格是指设计、组织和实现软件体系结构的各种惯用模式和习惯用法,是对一系列体系结构设计的抽象。
(风格)利用软件体系结构风格,可以在不同的软件体系结构设计过程中重复使用同一个体系结构。
这样可以将软件复用粒度提高到软件体系结构一级。
通过学习软件体系结构风格,可以在软件体系结构设计过程中,采用成熟的体系结构风格,使得所设计的软件体系结构有良好的组织结构和通用性。
8、常见的软件体系结构风格主要有哪些种类?数据流风格:批处理序列,管道/过滤器调用/返回风格:主程序/子程序,面向对象风格,层次结构独立构件风格:进程通信,事件系统虚拟机风格:解释器,基于规则的系统仓库风格:数据库系统,超文本系统,黑板系统9、什么是虚拟机体系结构风格?这类软件主要由哪几个部分组成?(选择或者填空)通过软件手段建立一个虚拟的机器平台,并在该平台上解释运行所谓的“程序”代码。
(什么事虚拟机体系风格)正在被解释的程序(组成部分)虚拟机引擎构件用来保存被解释程序的状态的构件用来保存虚拟机引擎状态的构件10、请说明C/S结构软件的开放性和可扩展性特点的含义。
开放性:由于客户端和服务器端提供开放的、标准的接口,使得在软件系统中采用不同的客户端开发工具和服务器端DBMS产品。
开放性本身也意味着开发和维护成本的降低。
可扩展性:在客户/服务器结构的系统中,可以方便地增加客户机数量而不影响整个系统。
有的系统甚至可以增加服务器,提高系统的数据处理能力和服务性能。
11、请说明三层C/S结构和B/S结构相对于传统C/S结构的优点。
(从传统C/S结构的缺点入手)a.胖客户机.b.用户界面不统一,不利于推广。
c.软件的维护和升级困难。
d.安全性不高。
相对优点是:结构合理、用户界面统一、维护升级简单、安全性高12.请设计一个具有B/S结构(或三层C/S结构)登录模块的体系结构,并说明每层的作用。
(基本不考、因为编程题已经有了)B/S结构:(1)第一层:客户层(或表现层、界面层),第二层:业务逻辑层(或应用层、功能层、应用服务器层),第三层:数据层(2)第一层只有浏览器,通过访问第二层的网页实现用户界面,即接受用户的名称、密码的输入,并向第二层传送用户名和密码,最后将登录结果显示出来。
(3)第二层接受第一层的用户名和密码,并通过访问第三层判断用户合法性,最后将登陆结果以网页形式返回给第一层。
(4)第三层在数据库或文件中存储用户名和密码,并为第二层提供数据访问服务。
三层C/S结构:(1)第一层:客户层(或表现层、界面层),第二层:业务逻辑层(或应用层、功能层、应用服务器层),第三层:数据层(2)第一层实现用户界面,并通过网络连接或进程通信形式向第二层提出服务请求,最后将登录结果显示出来。
(3)第二层实现业务逻辑,即接受第一层的服务请求,并执行相应功能(业务)代码,最后将处理结果返回给第一层;业务功能需要访问数据时向第三层提出数据访问请求。
(4)第三层在数据库或文件中存储用户名和密码,并为第二层提供数据访问服务。
12、MVC风格的含义MVC风格将各个构件划分成各自独立的三个部分:模型、视图和控制器,分别对应商务逻辑、外观呈现和请求处理。
设计部分13、软件体系结构分析与设计的关键环节包括哪几部分?需求分析、领域建模;关键需求的确定、概念性体系结构的设计、体系结构细化、体系结构验证。
14、软件需求的典型分类包括哪些种类?15、运行期质量属性和开发期质量属性的划分:(大概看一下、选择填空)16、什么是体系结构设计相关的领域建模?对需求分析的细化是软件结构设计相关的领域建模。
领域建模是建立领域模型的过程,而领域模型是对实际问题领域的抽象表示。
领域建模专注于分析问题领域本身,发掘重要的业务领域概念并建立它们之间的关系。
一般情况下,领域模型可以用UML类图或状态图表示。
鲁邦图包括哪几种对象?它们之间存在哪几种建模规则?还有哪些规则是禁止的?边界对象、控制对象、实体对象17、体系结构细化过程中采用的“5视图法”中包括哪些视图,通常都用什么方式描述?(1)逻辑视图:着重考虑功能需求,主要关注行为或指责的划分,并将不同的职责分配给逻辑层、功能模块或类等不同粒度的逻辑单元。
可以用包图、类图、对象图(静态部分)或序列图、协作图、状态图和活动图(动态内容)来描述。
(2)开发视图:主要考虑开发期质量属性,如可扩展性、可重用性、可移植性、易理解性、易测试性等等,其关注点是软件模块的实际组织方式。
可以用包图、类图、构件图表述。
(3)数据视图:关注点是持久化数据的组织,一般采用数据流图或E-R图表示,或者用带对象流的活动图代替数据流图,用类图代替E-R图。
(4)运行视图:着重考虑运行期质量属性,如性能、可伸缩性、持续可用性等,主要关注进程、线程、对象等运行期概念,以及相应的并发、同步、通信等问题,可以用包图、类图、对象图(静态部分)或序列图、协作图(动态部分)表述。
(5)物理视图:主要考虑安装和部署需求,描述运行环境的计算机、网络、硬件设施等情况。
同时,物理视图还必须关注如何配置硬件环境来配合软件的特殊质量属性。
一般用部署图和构件图描述。
分析与评估部分18、什么是软件的性能质量属性,应由什么指标来衡量?性能:指系统的响应能力,通常用单位时间内所处理的事务数量或完成某个事务处理所需要的时间对系统的性能进行定量表示。
19、什么是软件的可靠性质量属性,应由什么指标来衡量?(MTTF、MTBF)可靠性:软件系统在意外或错误使用的情况下,维持系统功能特性的基本能力,通常用平均失效等待时间和平均失效间隔时间来衡量。
(两个的比值接近1最好)20、什么是软件的可修改性,主要包含哪几个方面的内容?可修改性:是指能够快速地、以较高的性价比对系统进行变更的能力。
通常以某些具体的变更为基准,并通过变更的代价来衡量可修改性。
主要包括以下几个方面:1、可维护性2、可扩展性3、结构重组4、可移植性21、软件体系结构评估方法可以分为几类,每类又可包含哪些具体方法?基于质询(调查问卷、检查表)、基于场景(SAAM、ATAM)、基于度量22、什么是基于场景的评估方法?常用的基于场景的评估方法是什么?(SAAM、ATAM)这种评估方法分析软件体系结构对场景的支持程度,从而判断该体系结构对这一场景所代表的质量属性的满足程度。
例如,用一系列对软件的修改来反映可修改性方面的特性,用一系列攻击性操作来测试安全性方面的要求等等。
23、请用图示法表示SAAM方法的主要步骤及其关系。
典型软件结构部分24、典型的操作系统体系结构有哪几种,各自的典型代表是什么操作系统?a)模块结构:MS-DOS,uc/OSb)分层结构:THE系统、Unix系统/Linuxc)虚拟机结构:VM/370系统d)客户/服务器结构:“微内核”操作系统25、操作系统的典型质量属性:(时间比值越接近1,质量属性越好)安全、可靠、可维护、可移植、性能(a+b/a+b+c)26、请分析X window标准的三个组成部分的作用,并与传统C/S结构进行逻辑功能方面的比较。
X Server:处理输入/输出、维护X Client定义的资源、维护与X Client之间的网络连接。
X Client:指需要用图形界面与用户交互的应用程序。
X Protocol:X Client和X Server之间的通信规约,所有请求和事件都通过X 协议传递。
分布式计算部分27、请说明分布式结构软件的计算资源共享特点。
在分布式结构软件中,各个软件构件在物理上可以分布在不同的计算机中。
各个构件之间通过相互调用,完成统一的软件功能。
各个构件分别使用不同的计算机完成执行过程,从而达到计算资源共享的目的。
对于软件的使用者来说,他们感觉不到多个计算机以及相互之间的调用关系。
28、假设要实现基于RMI的分布式阶乘运算软件,请说明主要的开发、部署和运行步骤。
要求说明各个组成部分提供的主要功能。
开发步骤:(1)应编写远程接口及接口实现类。
远程接口定义供远程客户调用的方法(如long fact(int n)),而远程接口实现类应编写具体的阶乘运算代码。
(2)在远程接口实现类的基础上,生成远程接口实现类的存根类。
(rmic命令)(3)编写服务器类,该类主要完成远程接口实现类的实例化及将实例化对象绑定到某一命名地址上。
(4)编写客户端类,该类通过名称查找远程接口实现类的实例化对象,查找成功后通过具体参数调用阶乘方法,并得到阶乘结果。
部署和运行步骤:(1)将客户端类、存根类和远程接口类部署到客户端机器上。
(2)将服务器端类、远程接口实现类和远程接口类部署到服务器端。
(3)在服务器端启动RMI注册器。
(rmiregistry命令)(4)启动服务器端。
(5)运行客户端,通过访问服务器得到运算结果。