软件体系结构复习题
软件体系结构知识点复习

一、什么是软件系统结构软件体系结构也称为软件构架(有时简称构架),是系统的一个或多个结构,它包括:软件的组成元素(组件),这些元素(组件)的外部可见特性,以及这些元素(组件)之间的相互关系。
含义:(1)系统由一个或多个结构组成,其中任何一个结构并不能与构架等同。
(2)每个系统都有一个体系结构。
(3)软件体系结构是系统的抽象。
(4) 构架定义了软件元素以及各元素间的交互关系。
(5) 以往作为体系结构传递的线框图,事实上并等同于体系结构。
二、构架商业周期(ABC)1.构架由什么决定?构架是否由系统需求决定?×软件构架是技术、商业和社会因素共同作用的结果。
2. 构架从哪里来?(影响构架的因素)影响构架的因素主要包括:❑系统涉众(stakeholder)、主要有:管理者:成本要低,人人都得干活营销人员:特性突出、投放市场快、成本低、可与同类产品相匹敌。终端用户:行为、性能、安全性、可靠性、易用性。维护人员:可修改性强。客户:成本低、及时交付、不要频繁修改。❑开发组织・组织内对现存构架的重用・对某个基础设施进行长期的商业投资以实现某些战略目标・开发组织本身的机构也会影响构架的形成❑构架师的素质和经验构架师先前的一些经验、教育、培训以及所接触到过的成功构架模式都会影响到他们对某种构架的选择。
❑技术环境当前技术发展水平代表了某个时代的构架师的普遍素质和经验,对架构有很大的影响力。
❑其它因素其它如社会、法律、人文环境等都会对构架产生影响。
3.构架的反影响力・构架会影响开发组织的结构・构架会影响开发组织的目标・构架会影响客户对下一个系统的要求・构建系统的过程丰富了整个开发团队的经验,从而将影响设计师对后继系统的设计・一些系统会影响并实际改变软件工程的环境,也就是系统开发人员学习或实践的技术环境。
4.构架的商业周期软件构架是技术、商业和社会等诸多因素作用的结果,而软件构架的存在反过来又会影响技术、商业和社会环境,从而影响未来的软件构架。
软件系统分析与设计复习资料参考答案

参考答案选择题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)协作图强调对象之间的关系,而时序图强调一组对象之间错作调用的时间顺序。
uml复习题

《新修的同学实验报告一定要交》《新修的同学实验报告一定要交》《考试时间 16周,请班长费心通知》周,请班长费心通知》《复习》《复习》《论述》基于UML 的软件开发的一般过程答:UML 是按OO 思想进行系统建模时使用的一组表示法,它并不对采用何种OO 分析、分析、设计以及设计以及开发过程模型构成限制。
开发过程模型构成限制。
基于基于UML 的软件开发通常是以体系结构为中心,的软件开发通常是以体系结构为中心,用例驱动的迭代用例驱动的迭代和增量式开发,并结合职责分配模式进行具体设计。
开发过程可以包括计划和细化、迭代的构造和实施3大阶段。
在经过一个初步的计划和细化阶段后,进入若干迭代构造开发周期,每个周期都包含分析、设计、构造和测试步骤。
(1)计划和细化:通过各种传统的需求获取手段(调查、访谈、原型等)得出系统目标、系统功能和系统属性,系统功能和系统属性,撰写系统规格说明。
撰写系统规格说明。
撰写系统规格说明。
基于参与者和外部事件基于参与者和外部事件基于参与者和外部事件(动宾词组)(动宾词组)构建用例,以增进对领域过程和功能需求的理解《做什么》。
按照风险、业务主线及对体系结构的影响程度(系统属性)划分用例的优先级,并据此决定用例的时间调度。
对高优先用例采用扩展格式细化。
同时建立概念模型草案、系统体系结构草案。
(2)分析阶段:根据当前周期的用例描述,采用概念目录列表、非正式分析或事务模式,识别出相关概念,建立初始概念模型,根据通用关联列表和信息存储的需要,为概念模型添加关联和属性。
将用例分解为系统事件,并对应系统操作,建立系统顺序图;分析系统操作被调用后系统状态(概念)的变化,为系统操作建立契约,进一步理解系统行为《做的效果》。
(3)设计阶段:设计一个合理的体系结构,建立真实用例。
针对每个系统操作,使用操作契约和契约的后置条件以及用例描述文档作为起点,按照职责分配模式或BCE 模式为对象(来自概念模型)分配职责,通过协作图体现对象间的交互《怎么做》。
计算机系统结构复习题(附答案) (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. 一个经解释实现的计算机可以按功能划分为四级. 每一级为了执行一条指令需要下一级的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设计的一般原则。
软件工程复习题及参考答案

软件工程课程复习资料一、单项选择题:1.下面哪些UML图描述系统行为A.用例图B.类图C.对象图2.属于概要设计活动的是A.软件结构设计B.数据结构设计C.算法设计3.属行为型设计模式的是A.组合模式B.工厂方法模式C.观察者模式4.下列说法正确的是A.UML 是软件开发方法B.UML是系统描述语言C.UML是软件开发过程5.根据程序流程图划分的模块通常是A.信息内聚的模块B.过程内聚的模块C.逻辑内聚的模块6.如果某程序中的比较个数是m,则其 McCabe环形复杂度为A.m-1B.mC.m+17.按ISO9000-3的说明,下列属软件配置项的是A.软件开发方法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.对项目软件而言,软件功能需求信息主要由谁提供A.软件用户B.软件开发人员C.软件项目管理人员15.IDEF0 图反映不出A.系统做什么B.系统功能由谁做C.系统如何做16.原型模型是一种什么开发过程模型A.自顶向上B.由外至内C.增量式17.系统流程图描述A.物理系统B.逻辑系统C.软件体系结构18.需求规格说明书的内容不应该包括A.软件确认准则B.软件的性能描述C.算法过程的详细描述19.适合需求模糊或需求不确定系统开发的软件开发模型是A.瀑布模型B.RAD 模型C.原型模型20.UML 图中描述系统结构的是A.组件图B.顺序图C.状态图21.面向对象方法是一种什么软件开发方法A.层次化B.迭代增量式C.逐步求精22.不可以用来衡量软件可维护性的是A.可靠性B.可用性C.可行性23.系统分析员在需求分析最后负责编写A.用户手册B.概要设计说明书C.可行性研究报告24.为了提高软件的可靠性、可维护性等而对软件的修改称为A.改正性维护B.适应性维护C.预防性维护25.在结构化方法中,为使需求改变对软件影响较小,应该使软件结构A.与问题结构对应B.与问题结构独立C.与用户界面对应26.单元测试的计划应该在什么阶段完成A.需求分析B.概要设计C.详细设计27.下列属面向对象软件开发方法的是A.LCP 方法B.OMT 方法C.IDEF0 方法28.强调信息隐藏的软件工程设计方法是A.Jackson 方法B.Parnas 方法C.SA/SD 方法29.描述系统动态行为的模型是A.包图B.软件结构图C.状态图30.考虑输入条件组合的测试用例设计方法是A.等价分类法B.语句覆盖法C.因果图法31.下列能减少支援性维护活动的是A.利用软件包B.进行配置管理C.对用户进行适当培训32.只支持单重继承的程序设计语言是A.C++B.DelphiC.C33.IDEF0 图的顶层图是A.A0 图B.A-0 图C.A-1图34.在UML的用例图中,扩展关系是一种A.泛化关系B.依赖关系C.关联关系35.独立测试小组开始介入测试是在A.模块测试阶段B.集成测试阶段C.确认测试阶段36.在成本估计中容易低估局部问题的方法是A.基于经验模型的估计B.自底向上估计C.自顶向下估计37.在IDEF1X图中,如果子实体与父实体存在联系,则子实体将继承父实体的A.全部属性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.面向数据结构的设计方法有A.Parnas 方法B.Jackson 方法C.IDEF0 方法45.与UML配合最好的软件开发方法是A.RUP 方法B.Coad/Yourdon方法C.IDEF4方法二、填空题:1.统一建模语言UML提供了两种描述整体/部分关系的方法,分别是和 ;2.软件是计算机程序、及的完整集合,将其统称为软件配置,这些项称为软件配置项;通过正式复审的软件配置项称为 ,只有通过正式的变化控制过程才能改变它;3.纯收入是指在整个生存周期之内的与投资之差;4.瀑布模型是以驱动的软件生存周期模型,适合需求明确的软件系统开发;5.在单元测试期间,应该为被测模块编写相应的测试软件,一般地模块接收测试数据,并把数据传给被测模块,而模块则模拟实际模块完成少量数据处理;6.IDEF0方法用严格的自顶向下、逐层分解的方式进行系统的功能描述,其顶层图将图在建模范围内分解成个主要部分得到;7.如果一个模块完成多个逻辑上相近或相关的功能,并且每次调用只选择该模块中的一个功能执行,则称此模块为内聚的模块;8.程序静态分析的对象是 ;常生成各种引用表,如列出各模块中出现的全部标号;9.在数据流图中,每个加工至少有一个和一个 ;10.两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是 ;11.设E为程序图G中边的总数; N 为程序图中结点的总数,则该程序图的环形复杂度为 ;12.汽车有一个发动机;若用UML描述汽车和发动机之间的关系,则它们之间是_____关系;13.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略,即策略和策略;14.在基本路径测试中,以详细设计为基础,导出控制流程图的拓扑结构: 程序图,在计算了程序图的之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组的一条路径;从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径;15.在多层次的结构图中,其模块结构的层次数称为结构图的 ;结构图中同一层模块的最大模块数称为结构图的 ;16.耦合性是指两个模块之间的关系,模块之间的联系越复杂,每个模块的独立性就 ;17.可行性研究实质上是进行了一次过程;18.需求分析的任务是 ;19.NS图的主要优点是它强制设计人员使用技术,从而可保证软件设计的质量;20.结构型模式涉及如何组合类和对象,从而构成更大的对象,一是采用来组合接口或实现形成更大的结构;另一种方式通过方式来形成;21.为了便于对照检查,测试用例应由和预期的两部分组成;22.软件开发时,一个错误发现得越晚,为改正它所付出的代价就 ;23.在UML的用例图中,根据参与者与用例关系的不同,参与者可分为和次要参与者,参与者之间的关系只有关系;24.评价软件质量可以从三个方面进行,即产品或中间产品、和项目;25.软件配置管理是一组用于在计算机软件的整个生存周期内管理的活动;26.通过抽象,可以确定组成软件的 ;通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的 ;27.UML表示法的基础是 ,它描述建模元素的语义;28.条件覆盖是指设计足够的测试用例,使得至少出现一次;29.面向数据流图的结构化分析方法是根据的原则,按照系统中数据处理的流程,用数据图来建立系统的模型;30.评估软件企业的质量管理有两种方法,一种是按照认证,另外一种是按照CMM认证;31.风险估计从两个方面来度量,一是估计 ,二是估计与风险相关的问题出现后将会带来的损失;三、名词解释:1.集成测试2.设计模式3.信息隐藏4.用例5.结构化方法6.MVC四、判断题:1.测试计划、测试用例和出错统计等一般不用长期保存;2.在面向对象方法中,需求分析和设计没有差别;3.应用设计模式使得软件灵活,可重用性提高,应该尽量多使用;4.UML 是一种建模语言,可以被任何面向对象方法使用;5.任何系统都需要对数据进行处理,因而数据流图可描述任何系统;6.软件开发就是编写程序代码;7.面向对象软件开发最适合采用迭代、增量式的开发模型;8.设计模式是一种可以重用的面向对象软件设计方案;9.软件测试就是检查程序是否正确;10.软件项目计划在可行性研究阶段就已定稿;11.软件工程认为软件设计的最终目标是要取得最佳方案;12.只要对软件进行严格的测试,就能发现软件中的所有错误;13.初级技术人员在编码阶段参与软件项目的程度在各类人员中最高;14.单元测试常常在编码阶段进行;15.CMM 描述和分析了软件过程能力的发展与改进的程度;16.为了加快开发速度,可以一边写程序,一边设计文档;17.没有发现任何错误的测试是无效的测试;18.软件结构图中不能有控制信息流动;19.单元测试常常由独立的测试小组进行;20.用例建模只能用于面向对象软件系统的开发;21.数据流建模方法是一种自顶向下的需求分析方法;22.为了减少程序的长度,最好不要在程序中增加注释;五、简答题:1.在需求分析和设计阶段建立原型的好处有哪些2.什么是模块的扇入和扇出3.UML的特点是什么4.层次图和层次方框图有何区别5.软件测试对象应包括哪些内容6.试简要叙述文档在软件工程中的作用;7.为何螺旋模型主要适合开发人员和用户为同一个组织机构成员的软件项目的开发8.软件测试为何需要尽早和不断地进行9.简要说明如何实现MVC;10.试给出一种开源软件框架,并简要说明开源软件存在的问题;11.IDEF0方法有什么特点12.快速原型模型有几种各有何特点六、综合题:1.某网络学院决定开发一个管理所有学生和教师信息的交互式网络系统,该系统提供如下服务:1浏览学生信息:网络学院的任何人员,包括学生和老师,均可以浏览学院任何学生的信息,包括姓名、学号和专业名称;2浏览教师信息:网络学院的任何人,包括学生和老师,均可以浏览学院任何教师的信息,包括姓名、工号和职称;3登录:网络学院给学院每个人一个账号;拥有授权帐号的学生和老师,可以使用系统提供的页面设置个人密码,并使用该账号和密码向系统注册;4修改个人信息:学生或老师向系统注册后,可以发送电子邮件或使用系统提供的页面,对个人信息进行修改;5删除个人信息:只有网络学院的管理人员才能删除不再是学院学生或老师的人员的有关信息;试问哪些是参与者哪些是用例并用UML的用例图描述系统行为;2.试据下述伪代码描述的模块,改用NS图描述;BeginabDo Until x6If xl thenfIf x4 thenDo Until x5iEnd UntilElseghEnd ifElseSelect Case x2Case 1:Do While x3cEnd WhileCase 2:dCase 3:eEnd SelectEnd ifEnd UntilEnd3.某五星级宾馆共有H间客房;每间客房的房间号、房间等级、床位数以及占用状态分别存放在数组ROOM、RANK、NBED和STATUS中;房间等级用整数表示;房间状态有:空闲0表示和占用1表示;客房以房间为单位出租;试设计一个算法,依据散客的要求预定房间,要求输入为:人数M,房间等级要求RR为0表示任意等级均可;输出为:可供选择的房间号;要求用程序流程图描述算法;4.某医院打算开发一个以计算机为中心的患者监护系统,以解决医院人手不够和对危重病人的及时监护;该系统应能做到以下几点:随时接受每个病人的生理信号;定时记录病人情况形成患者日志;当病人生理信号超出医生规定的安全范围时向值班护士发告警信息;此外,护士在需要时,还可要求系统印出指定病人的病情报告;试椐此叙述绘出对应的DFD图;5.试采用设计模式描述算术表达式不含圆括号的设计方案;算术表达式是由加、减、乘、除和操作数构成的表达式,操作数假定为实数;6.请根据如下程序流程图设计该程序段的判定覆盖测试用例,其中输入为A,B,X,输出为X;参考答案一、单项选择题:1.A2.A3.C4.B5.B6.C7.C8.C9.B 10.B 11.B 12.A 13.C 14.A 15.C 16.B 17.A 18.C 19.C 20.A 21.B 22.C 23.A 24.C 25.A 26.C 27.B 28.B 29.C 30.C31.C 32.B 33.A 34.B 35.C 36.C 37.B 38.A 39.B 40.C 41.B 42.A 43.C 44.B 45.A二、填空题:1.聚集组合2.描述计算机程序的文档数据基线3.累计经济效益折合成现在值4.文档5.驱动模块桩模块6.A-0 3-67.逻辑 8.源程序标号交叉引用表9.输入流输出流 10.5011.E – N + 2 12.聚合13.深度优先广度优先 14.环形复杂性以前没有处理的语句或条件15.深度宽度 16.依赖越低17.大大压缩简化了的系统分析和设计过程 18.确定系统必须完成哪些工作19.结构化 20.继承对象组合21.输入数据预期输出结果 22.越大23.主要参与者泛化 24.过程25.变化 26.过程实体存取限制27.UML 元模型 28.判定表达式中每个条件的各种可能的值29.分解与抽象功能 30.ISO900131.风险发生的可能性三、名词解释:1.集成测试也称组装测试或联调;是指在单元测试的基础上,将所有模块按照概要设计要求组装成一个完整的系统而进行的测试;模块组装的方式有两种:渐增式和非渐增式;2.设计模式是普通面向对象设计问题的解决方案,这类问题以一组交互类的形式出现,用户根据需要定制这些交互类以形成专门的设计;所有设计模式均可以从四个方面加以描述:模式名称、问题描述、解决方案和效果;3.信息隐藏是指在模块设计时,使得一个模块内包含的信息过程或数据,对于不需要这些信息的其他模块来说是不能访问的;这样,改变模块的内部过程和数据的设计不会影响到其它模块;4.用例是参与者为达到某个目的而与系统进行的一系列交互,执行结果将为参与者提供可度量的价值;从参与者的角度来看,用例应该是一个完整的任务,在一个相对较短的时间内完成;5.结构化方法是一种传统的软件开发方法,其总的指导思想是自顶向下、初步求精、单入口、单出口,其基本原则是抽象和功能分解;6.MVC即模型、视图、控制器;其中,模型是应用对象,其包含一些数据值,维护数据并提供数据的访问方法;视图显示模型的部分或说有数据,多个视图可以以不同的方式来显示模型中数据;控制器处理用户输入事件;四、判断题:1.×2.×3.×4.√5.√6.×7.√8.√9.× 10.× 11.× 12.× 13.√ 14.√ 15.√16.× 17.√ 18.× 19.× 20.× 21.√ 22.×五、简答题:1.在需求分析和设计阶段建立原型的好处有:1增进开发人员和用户对系统需求的一致理解,明确软件需求,尤其是功能含糊的需求;2原型提供了一种有力的学习手段,能够使用户尽早接触系统;3原型可以用来识别或化解风险;4原型有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个组成部分,这样有利于建成最终系统;2.扇入则定义为一个模块被调用或控制的模块个数;扇出表示一个模块直接调用或控制的其他模块数目;3.UML的特点是:1统一了面向对象方法的有关概念和描述方法;2表达能力强,能对各种并发分布式系统进行建模,且UML还提供了扩展机制;3UML专注于一种标准的建模语言,而不是一个开发过程;4.层次图主要用来描绘软件的层次结构,矩形框代表一个模块,矩形框之间的连线表示模块之间的调用关系,常与IPO图一起形成HIPO图;层次方框图主要描述系统的组成关系,一般自用域需求分析;5.软件测试并不等于程序代码测试,其应该贯穿于软件定义与开发的整个期间;因此,需求分析、概要设计以及程序编码等各阶段所得的文档,包括需求规格说明、概要设计说明、详细设计规格说明以及源程序代码都应成为软件测试的对象;6.在软件工程中,文档的作用是:1提高软件开发过程的能见度;2记录开发过程的有关信息便于使用与维护;3作为开发人员阶段工作成果和结束标志;4提高开发效率;5提供软件运行、维护和培训有关资料;6便于用户了解软件功能、性能;7.因为如果开发人员和用户属于不同的组织机构,则一般在正式的软件开发之前均需要签订合同,所有的风险分析均必须在签订合同之前完成;但螺旋模型需要在软件开发的每一个阶段都进行风险分析,当重要风险不能解决时,项目应该终止;由此螺旋模型可能因为风险使得合同在完成之前就终止,从而导致法律诉讼;故螺旋模型不适合开发人员和用户属于不同组织机构的情况;8.软件测试不应仅仅作为一个独立的软件开发阶段,而应贯穿到软件开发的各个阶段中;通过各阶段的评审,在早期把错误解决,以减少错误放大效应,这样不仅可以提高软件质量,而且也是降低软件成本的一个重要措施;由此,软件测试应该尽早和不断地进行;9.MVC是Model-View-Controller的简写;"Model" 代表的是应用的业务逻辑通过JavaBean,EJB组件实现, "View" 是应用的表示层由JSP页面产生,"Controller" 是提供应用的处理过程控制一般是一个Servlet,通过MVC把应用逻辑,处理过程和显示逻辑分成不同的组件实现;10.Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开源应用框架; Struts框架主要有如下功能:1包含一个controller servlet,能将用户的请求发送到相应的Action对象; 2JSP 自由tag库,并且在controller servlet中提供关联支持,帮助开发人员创建交互式表单应用;3提供了一系列实用对象,如XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息等;开源软件存在的主要问题有:1技术服务支持较少;2版本控制困难;3性能不够稳定;4文档不全,等等;11.IDEF0方法的特点是:1采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束条件及实现机制,清楚地反映了系统的功能;2采用严格的自顶向下、逐层分解的方式建立系统功能模型;顶层确定系统范围,采用抽象原则,然后有控制的逐步展开有关活动的细节,符合SA方法的分析策略;同时,IDEF0规定每张图至少有3个、最多有6个方框,上界6保证采用层次性描述复杂问题的可理解性,下界3保证分解有意义;12.根据原型的不同作用,有三类原型模型:⑴探索型原型;这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性;它主要针对开发目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求;⑵实验型原型;这种原型主要用于设计阶段,考核实现方案是否合适,能否实现,对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性;⑶演化型原型;这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框或者包含系统的主要功能;在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程;六、综合题:1. System 网络学院人员管理人员教师学生登录修改个人信息浏览学生信息浏览教师信息删除个人信息2.3.4.5.6.1选择测试路径:Ⅰ:a→ b → d 判定A>1∨B=0为假;判定A=2∧X>1为假Ⅱ:a→ c → e 判定A>1∨B=0为真;判定A=2∧X>1为真2选择测试用例Ⅰ:输入A=1 B=1 X=1 预期输出 X=1Ⅱ:输入A=2 B=0 X=4 预期输出 X=4。
软考架构师2023题

软考架构师2023题
1. 在软件架构设计中,高内聚低耦合是哪个设计原则的体现?
A. 模块化原则
B. 信息隐藏原则
C. 单一职责原则
D. 开放封闭原则
2. 软件架构中的哪种视图类型关注系统的功能分解和组织?
A. 逻辑视图
B. 开发视图
C. 运行时视图
D. 物理视图
3. 在软件架构设计中,使用哪种工具可以生成代码框架?
A. UML建模工具
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. 在软件架构设计中,哪种设计模式可以提高系统的可扩展性?
A. 单例模式
B. 工厂模式
C. 适配器模式
D. 装饰器模式。
【软件体系结构】 复习

第一章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的考勤管理系统,客户对系统的基本功能、表现形式等要求并不明确。
UML复习题+答案

1.用例的extend和include之间的区别是什么Extend指通过附件行为获取其他用例来扩展当前用例。
如果初始迭代实线的用例功能,在后续迭代有所改进,那么就存在用例扩展关系。
Include指一个用例功能包含在另一个用例功能之内。
当另一个用例要求一个用例的功能时,那么就存在用例包含关系。
2.关联中的组合和聚合之间的区别是什么聚合关系反映了一个对象是另一个对象的一部分,或者说表明了一个对象是由若干个其他对象组成的。
组合关系描述部分对象依赖于整体对象,这种依赖关系通过如下两种方式表现出来:首先,在任一给定时刻,一个部分对象只能属于一个组合对象;其次,当一个组合对象被撤销时,所有依赖于这个组合对象的部分对象都将同时被撤销。
3.抽象类和接口之间的区别是什么接口是您能实现多继承,因为类能够实线多个接口。
但是,抽象类不支持多继承。
一个类无法继承多个抽象类。
抽象类包含属性和方法,这些属性和方法可以是public、private或protected。
接口只包含方法。
抽象类可提供部分方法的定义,但是接口不提供任何定义。
抽象类用于同一包中,而接口则可以在多个包中实现。
4.静态建模和动态建模之间的区别是什么静态建模表示软件系统的静态或结构成分,也称为结构建模;它包含类和对象关系图;它有助于描绘系统成分之间的关系和依赖性。
动态建模表示软件系统静态成分的行为,也成为行为建模;它包含交互、活动和状态关系图;它有助于表达系统在一段时间内的行为并对其建模。
5.UML的主要包括的3种构造成分UML主要包括三个基本构造块:事物(Things)、关系(Relationships)和图(Diagrams)。
事物是是实体抽象化的最终结果,是模型中的基本成员,UML中包含结构事物、行为事物、分组事物和注释事物。
关系是将事物联系在一起的方式,UML中定义了四种关系:依赖、关联、泛化、实现。
图是事物集合的分类,UML中包含多种图:类图、对象图、包图、组件图、部署图、用例图、顺序图、协作图、状态图、活动图。
软件系统分析与设计复习资料

软件系统分析与设计复习资料一、选择题1.结构化程序设计方法的主要特征不包括A.控制结构仅由顺序、选择和重复等结构复合而成B.程序自底向上逐步抽象成一个函数块C.每个函数块都有一个入口和一个出口D.采用“消息+对象”的设计模式2.由开发者“指导”用户对软件进行的测试称为A.单元测试B.组装测试C.alpha测试D.beta测试3.系统分析和设计完成以后,开发者向用户提供的文档资料不包括A.场景/用例图和功能处理模型B.对象静态、动态模型C.体系结构模型D.测试文档资料4. UML的5种视图中对下列对象都适用是A.客户B.分析者C.开发者D.测试者5. UML中不.属于动态模型图的是A.活动图B.用例图C.状态图D.时序图6.关于UML的描述错误的是A.UML是一种可视化建模语言B.UML是完全的面向对象的软件开发方法C.UML独立于特定开发语言和开发过程D.现有的UML没有扩展机制7.在软件开发统一过程(UP)中的设计阶段应切忌的是A.全部文档描述应能明显地看到形成这些文档的基础是什么B.创建简单、完整、一致的接口,使所有构件服务都能易于理解和使用C.在早期就要过分强调性能D.保留开发过程中发生的所有事情的记录8.在系统开发的开始阶段,在确定客户需求过程中建立的用例称为A.系统用例B.业务用例C.主要用例D.关键用例9.关于用例图中的行为者描述正确的是A.一个行为者只能启动一个用例B.行为者一定是人C.行为者之间不能有继承关系D.行为者代表一种角色而不是具体某个人10.通常在UML的类图里面,符号“+”用来修饰A.公有成员B.私有成员C.保护成员D.可继承成员11.关于UML中类图的关联所使用的重数的描述中,错误的是A.“0..1”表示“0或1”。
B.“0..*”和“*”表示的意思不一样。
C.“1..*”表示“1或多”。
D.“5..11”表示“5-11”。
12.关于时序图中对象排列原则错误的是A.对象纵向排列在时序图的左边B.交互密切的对象尽可能相邻C.交互中创建的对象,应放置在其创建的时间点上D.每个对象有一个下垂的生命线13.在UML中,用来表示状态的图符是A.一个矩形框B.一个带圆角的矩形框C.一个椭圆D.一个圆14.一个结构良好的状态图应排除下面的情形A.能准确描述系统动态模型的一个侧面B.图中只包含描述该侧面相关的重要元素C.附加对于理解状态图含义必要的特征信息D.一个状态图应可以单独描述出系统的全貌15.关于构件和类具有相同点的是A.构件和类都可以有实例B.直接拥有自己的属性和操作C.可以拥有多个实例D.都是逻辑抽象16.数据流图(DFD)主要应用于A.面向对象分析方法B.结构化方法C.模块化方法D.面向数据结构方法17.以下不属于封装的特征的是A.具有唯一的标识名B.一个清楚的边界C.一个接口D.受保护的内部实现18.需求分析工作不包括A.软件功能需求B.软件性能需求C.软件运行环境约束D.定义模块接口19.UML中构件视图的作用是A.描述系统的功能需求;找出用例和行为者。
软件体系结构与设计模式期末复习

体系结构期末复习一、选择题(一)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.应当对修改开放,对扩展关闭。
软件工程复习试题及答案

一、填空题(在下划线上填写正确的答案,每题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、请分析软件危机的主要表现和原因。
表现: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。
Android终极复习题

进程重要性列表
前台进程、可视进程、服务进程、后台进程、空进程
单线程模型规则
不要阻塞UI线程(主线程),不要其他的线程(非UI线程)来访问android的UI组件
3、其它线程访问UI组件
Android提供了几种方法从其他线程来访问UI组件
Activity.runOnUiThread(Runnable)
1、服务分两类:启动服务、绑定服务
两者的区别是:
绑定服务,通过调用Context.bindService调用可以把服务和应用程序组件绑定。绑定的服务提供c/s接口,允许组件与服务交互,发送请求,返回结果,甚至跨进程的通讯(IPC)。没有Activity绑定,自动销毁;
启动服务,由activity调用startSerivce方法来启动一个服务。破坏Activity,不能停止服务,后台运行。通常情况下,启动服务执行后服务不返回结果给调用者(Activity组件)
?? 参数View返回每个AdapterView内部子选项的对象,可以是TextView类的对象(包含所有子类对象)如CheckedTextView是带复选框的,RadioButton是带单选框,他们都是TextView的子类,参数int和参数long都返回当前选择的索引值 ,从0开始。
五、服务
当活动在前台,要到后台执行到onPause(),如果要从后台调到前台,则重新调用到、回调方法不可逆,onRestart()再次显示才会调用。
Activity的创建
A、创建一个类,父类必须是android.app.Activity?
B、在Activity中实现重写的回调方法onCreate()中,加载各种android.view.View和andoird.view.ViewGroup对象,通用调用 setContentView(ViewGroup)方法传递布局对象
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
答案:√2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。
答案:√3、超文本组织方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。
4、答案:√5、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。
答案:√5、构件可以由其他复合构建和原子构件通过连接而成。
()答案:√6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色()答案:√7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。
其中,构件、连接件和配置是最基本的元素()答案:√8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务()答案:X9、构件、连接件以及配置是体系结构的核心模型最基本的元素()答案:√10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。
答案:×11、正交软件体系结构由组织层和线索的构件构成。
答案:√12、基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。
答案:√13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能。
()答案:√14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。
答案:×15、相交关系R是一个等价关系。
答案:√16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。
答案:√17、Rapide是一种可执行的ADL,其目的在于通过定义并模拟基于事件的行为对分布式同步系统建模。
答案:×并发系统建模18、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行。
19、基于软构件的系统描述语言是较好的一种以构件为单位的软件系统描述语言。
答案:√20、需求语言与ADL的区别在于后者描述的是问题空间,而前者则扎根于解空间中。
答案:×前后颠倒21、基于构件的动态系统结构模型分为三层,风别是应用层、中间层、和体系结构层。
答案:√22、ADL提供了一种形式化机制来描述软件体系结构,大多数ADL不进描述系统的静态结构,也支持对体系结构动态性的描述()答案:×23、基于构件的动态系统结构模型分为应用层,中间层和体系结构层。
答案:√24、2000年世界计算机大会提出,软件体系结构中最为重要的三个研究方向是:体系结构风格,静态体系结构和动态体系结构。
答案:×25、XML是W3C制定的作为Internet上数据交换和表示的标准语言,是一种允许用户定义的标记语言。
()答案:√26、WSDL是可扩展的,使得在通信时无论使用何种消息格式或网络协议,都可以对端点及其消息进行描述。
()答案:√27、SOA模型具有松散耦合、粗粒度服务、标准化接口等特征。
()答案:√28、从概念上讲,SOA有3个主要的抽象级别,分别是操作、服务和业务流程。
()答案:√29、一般的说,一个模式有一下4个基本成分,1.模式名称,2.问题,3.解决方案,4.效果,这句话是对的()答案:√30、设计模式的概念最早是由美国的一位计算机专家提出的。
答案:X31、利用设计模式可以方便地重用成功的设计和结构。
答案:√32、ABSD方法是基于体系结构的设计方法,它描述了系统的主要设计元素及其关系。
()答案:√33、在模式目录中,每个模式描述的多少与别的模式无关。
答案:√34、软件系统的可靠性依赖于状态的执行顺序和每一个状态的可靠性()答案:√35、.基于体系结构描述的软件测试包括黑盒测试和根据路径测试。
( )答案:√36、在体系结构级进行风险评估是更有利于开发阶段的前期评估。
()答案:×37、容错体系结构风格的目的是通过一系列的容错构件修正初始系统的错误来改善系统的稳定性。
()答案:×38、ATAM评估方法主要通过理解体系结构方法来分析体系结构,在这一步,由设计师确定体系结构方法,由分析小组捕获并进行分析。
()答案:×由分析小组捕获,但不进行分析39、评估方法质量属性中安全性不包括完整性。
()答案:×40、软件体系结构的评估方法主要有调查问卷、检查表、场景、度量、比较5种()答:×调查问卷、检查表、场景、度量、比较是软件体系结构的5种评估方式,评估方法有ATAM、SAAM、ARID三种。
41、软件体系结构评估只针对一个体系结构,不可以针对一组体系结构()。
答案:×42、正式的对软件产品线的理论研究到20世纪80年代中期才出现。
()答案:×43、软件重用长期以来一直是软件工程界不断追求的目标。
()答案:√44、产品开发活动取决于产品线范围,核心资源库、产品计划和需求的输出。
()答案:√45、软件产品线的建立通常有4种方式,其划分依据有两种。
()答案:√二、填空题1、软件元素包括、、、、甚至领域知识。
答案:程序代码、测试用例、设计文档、设计过程、需求分析文档2、软件工程包括3个要素:、和。
答案:方法、工具、过程3、软件重用过程中需要重用的开发组织结构予以支持,它包括:______、_______、_________4、三组成员组成。
5、答案:构件开发组、构件应用组、协调组。
6、采用层次式软件体系结构,将产品的系统构件模型定义为4个层次,分别为:、、、。
答案:系统构件层、通用类构件层、业务构件层、表现层5、软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型。
答案:结构模型,动态模型。
6、软件体系结构的名片型分为:______、框架模型、_______、_________、功能模型。
答案:结构模型、动态模型、过程模型7、根据建模的侧重点不同,可以将软件体系结构的模型分为5种:、框架模型、、过程模型和动能模型。
答案:结构模型,动态模型。
8、软件体系结构的生命周期模型主要分为需求分析阶段,建立软件体系结构阶段()和实现阶段。
答:设计阶段9、软件体系结构应建立于传统的软件开发过程的________和________阶段之间。
答案:需求分析、软件设计10、黑板系统主要由__________ 、____________ 和_________ 组成。
答案:知识源、合办数据结构、控制11、三层C/S结构风格是由_________ 、_________ 和__________ 构成的。
答案:表示层、功能层、数据层12、消息总线对消息过滤提供了________和___________两种方式。
答案:转换、阻塞13、正交软件体系结构由____和_____构成。
答案:组织层、线索的构件14、C/S体系结构服务器主要负责有效的管理系统的资源主要负责_________、_________、_________和_________。
答案:数据库安全性的要求、数据库访问并发性的控制、数据库前端的客户应用程序的全局数据完整性规则、数据库的备份与恢复15、层次系统最广泛的应用是____________.答案:分层通信协议16、软件体系结构的描述方法主要有、、基于软构件的系统描述语言和。
答案:图形表达工具、模块内连接语言、软件体系结构描述语言17、ADL是一种在底层语义模拟支持下的形式化语言。
基于底层语义的工具为体系结构的、分析、、、设计过程等提供支持。
答案:表示、演化、细化18、可重用的体系结构描述框架可以从、、和四个视点出发描述体系结构。
答案:需求视点、设计视点、实现视点、测试视点19、支持对构件之间交互的形式化和分析。
答案:Wright20、典型的ADL在充分继承和吸收传统程序设计语言的和特点的同时,还应该具有构造、抽象、重用、组合、异构和分析推理等多种能力和特性。
能力指的是ADL使得其描述的每一个系统元素都有其自己的局部结构。
答案:精确性、严格性,组合21、体系结构的动态性分为“_________ ”“_________”“_________”三类。
答案:交互式动态性、结构化动态性、体系结构动态性22、基于构件的动态体统结构模型(CBDSAM)支持运行系统的动态更新。
该模型分为三层,分别是应用层、_________和________________。
答案:中间层、体系结构层23、体系结构的动态性主要分为几类:_________、_________、___________。
答案:交互式动态性,结构化动态性、体系结构化动态性。
24、对动态软件体系结构的形式化描述通常有______、_______、_________三种方法。
答案:图形化方法、进程代数方法、逻辑描述方法25、一个完整的Web服务包括3种逻辑构件:______ 、______、_______。
答案:服务提供、服务代理、服务请求26、Web服务栈的五层标准为:发现服务层、描述层、________、________、________。
答案:消息格式层、编码格式层、传输协议层27、Web服务开发生命周期分为:________、________、________、________四个阶段。
答案:构建、部署、运行、管理。
28、OOAD、EA和BPM分别从___________层、___________层和__________层3个层次上为SOAD提供了理论支撑。
答案:基础设计、应用结构、业务组织。
29、MVC模式的中的M,V,C分别对应______、_______、_________三种单词。
答案:Model,View,Controller30、模式的问题陈述用一个强制条件_______集来表示。
答案:force31、ABSD方法取决于决定系统的体系结构驱动,所谓体系结构驱动,是指构成体系结构的______________、_____________、___________的组合。
答案:业务质量功能需求32、设计模式的基本成分包括______________、___________、___________、__________。
答案:模式名称、问题、解决方案、效果。
33、ABSD的全称是:____________________________答案:基于体系结构的软件设计34、软件体系结构的可靠性风险分析方法有__________和_____________答案:动态方法、构建依赖图(CDG)35、实现完整测试的典型方法是利用测试准则定义测试需求,进而生成测试用例.参照相关研究工作,可定义、等测试路径。
答案:构件或连接件内部消息的传递路径、构件或连接件内部端口的执行顺序路径36、构建依赖图是用于在体系结构级进行可靠性分析的模型。