哈尔滨工程大学2012级软件设计与体系结构B卷答案

合集下载

哈尔滨工程大学函授2012级嵌入式系统习题作业

哈尔滨工程大学函授2012级嵌入式系统习题作业

式系统习题作业某计算机指令字长为16位,指令有双操作数、单操作数和无操作数3种格式, 每个操作数字段均用6位二进制表示,该指令系统共有m条(m<16)双操作数指令,并存在无操作数指令。

若采用扩展操作码技术,那么最多还可设计出(24-m)×26-1条单操作数指令。

以下不属于网络安全控制技术的是_差错控制技术_。

“冲击波”病毒属于__蠕虫_类型的病毒,它利用Windows操作系统的RPC漏洞进行快速传播。

标准化法__确定了标准体制和标准化管理体制,规定了制定标准的对象与原则以及实施标准的要求,明确了违法行为的法律责任和处罚办法。

某开发人员不顾企业有关保守商业秘密的要求,将其参与该企业开发设计的应用软件的核心程序设计技巧和算法通过论文向社会发表,那么该开发人员的行为_侵犯了企业商业秘密权_计算机要对声音信号进行处理时,必须将它转换成为数字声音信号。

最基本的声音信号数字化方法是取样-量化法。

若量化后的每个声音样本用2个字节表示,则量化分辨率是_1/65536_。

某幅图像具有640×480个像素点,若每个像素具有8位的颜色深度,则可表示256种不同的颜色,经5:1压缩后,其图像数据需占用_ 61440(Byte)_(Byte)的存储空常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。

其中瀑布模型模型适用于需求明确或很少变更的项目,_喷泉模型_模型主要用来描述面向对象的软件开发过程。

软件能力成熟度模型(CMM)是目前国际上最流行、最实用的软件生产过程标准和软件企业成熟度的等级认证标准。

该模型将软件能力成熟度自低到高依次划分为初始级、可重复级、已定义级、已管理级、优化级。

从_已定义级_开始,要求企业建立基本的项目管理过程的政策和管理规程,使项目管理工作有章可循。

软件测试通常分为单元测试、组装测试、确认测试、系统测试四个阶段,_可靠性_属于确认测试阶段的活动。

11.嵌入式开发环境主要包括哪些组件?答:嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括宿主机目标机(评估电路板)基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境嵌入式操作系统12、ARM核中什么寄存器用于存储PC?R13通常用来存储什么?R14通常用来存储什R15用于程序计数寄存器PC,R13通常用来做堆栈指针寄存器,R14通常用来做链接寄存器,保存函数调用的返回地址13 Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?答:Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。

软件设计及体系结构课后题答案

软件设计及体系结构课后题答案

【题型】1.选择20道2.填空10道3.简答5或6道4.编程题2道【重点】1.软件危机的表现软件开发进度难以预测软件开发成本难以控制用户对产品功能难以满足软件产品质量无法保证软件产品难以维护2.引发软件危机的原因用户需求不明确缺乏正确的理论指导软件开发规模越来越大软件开发复杂度越来越高3.体系结构概念构件、构件之间的关系、集成构件的模式及约束条件4.构件的概念构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。

5.引入体系结构使得开发过程发生什么变化?好处是什么?软件再工程、逆工程的概念?软件设计质量的量度【变化】在引入了体系结构的软件开发之后,应用系统的构造过程变为“问题定义—>软件需求—>软件体系结构—>软件设计—>软件实现”,可以认为软件体系结构架起了软件需求及软件设计之间的一座桥梁。

【好处】克服软件危机【再工程】是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程。

最大限度的复用既存系统的各种资源是再工程的最重点特征之一。

如何开发可复用软件和如何构造采用可复用软件的系统体系结构是两个关键问题。

【逆工程】是指分析软件系统,确定其构成成分及各成分间的关系,提取并生成系统抽象和设计信息的工程。

【量度】面向对象软件质量的度量重点在于对类的分析上。

应从类的以下方面考虑:耦合内聚度继承性复杂度6.5个设计原则概念【单一职责原则】就一个类而言,应该仅有一个引起它变化的原因。

【开闭原则】软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。

(也就是老婆常说的对扩展开放,对修改关闭)【依赖倒转】抽象不应该依赖于细节,细节应该依赖于抽象。

要针对接口编程,不要对实现编程。

【里氏代换】在软件里面,把父类都替换成它的子类,程序行为没有变化。

简单地说,子类型必须能够替换掉它们的父类型。

【迪米特】如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。

2022年哈尔滨工程大学软件工程专业《操作系统》科目期末试卷B(有答案)

2022年哈尔滨工程大学软件工程专业《操作系统》科目期末试卷B(有答案)

2022年哈尔滨工程大学软件工程专业《操作系统》科目期末试卷B(有答案)一、选择题1、采用SPOOLing技术后,使得系统资源利用率()。

A.提高了B.有时提高,有时降低C.降低了D.提高了,但出错的可能性增人了2、用户程序发出磁盘1/0请求后,系统的正确处理流程是()A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序3、考虑页面替换算法,系统有m个页帧(Frame)供调度,初始时全空:引用串(Reference String)长度为p.包含了n个不同的页号,无论用什么算法,缺页次数不会少于()A.mB.pC.nD.min(m,n)4、设有一页式存储管理系统,向用户提供的逻辑地址空间最大为16页,每页2048B,内存总共有8个存储块,试问逻辑地址至少为多少位?内存空间有多大()?A.逻辑地址至少为12位,内存空间有32KBB.逻辑地址至少为12位,内存空间有16KBC.逻辑地址至少为15位,内存空间有32KBD.逻辑地址至少为15位,内存空间有16KB5、在一个请求分页系统中,采用LRU页面置换算法时,加入一个作业的页面走向为:1,3,2,1,1,3,5,1,3,2,1,5。

当分配给该作业的物理块数分别为3和4时,在访问过程中所发生的缺页率为()。

A.25%,33%B.25%,100%C.50%,33%D.50%,75%6、下列选项中,不是操作系统关心的主要问题的是()。

A.管理计算机裸机B.设计、提供用户程序与计算机及计算机硬件系统的接口C.管理计算机中的信息资源D.高级程序设计语言的编译7、下列选项中,在用户态执行的是()。

A.命令解释程序B.缺页处理程序C.进程调度程序D.时钟中断处理程序8、在磁盘上容易导致存储碎片发生的物理文件结构是()A.链接B.连续C.索引D.索引和链接9、某文件系统物理结构采用三级索引分配方法,如果每个磁盘块的大小为1024B.每个盘块索引号占用4B,请问在该文件系统中,最大文件的大小最接近的是()A.8GBB.16GBC.32GBD.2TB10、设与某资源相关联的信号量初值为3,当前值为1,若M表示该资源的可用个数,N 表示等待该资源的进程数,则M、N分别为()。

软件体系结构课后习题参考答案

软件体系结构课后习题参考答案

软件体系结构第四章作业题1.请把基于体系结构的软件开发模型与其他软件开发模型进行比较。

答:一、基于体系结构为基础的基于构件组装的软件开发模型,如基于构件的开发模型和基于体系结构的开发模型等。

基于体系结构的开发模型是以软件体系结构为核心,以基于构件的开发方法为基础。

然后采用迭代增量方式进行分析和设计,将功能设计空间映射到结构设计空间,再由结构设计空间映射到系统设计空间的过程。

该开发模型把软件生命周期分为软件定义、需求分析和定义、体系结构设计、软件系统设计和软件实现5个阶段.特点:是利用需求分析结果设计出软件的总体结构,通过基于构件的组装方法来构造软件系统。

优点:基于构件的开发方法使得软件开发不再一切从头开发,开发的过程就是构件组装的过程,维护的过程就是构件升级、替换和扩充的过程。

构件组装模型导致了软件的复用,提高了软件开发的效率。

软件体系结构的出现使得软件的结构框架更清晰,有利于系统的设计、开发和维护。

并且软件复用从代码级的复用提升到构件和体系结构级的复用。

缺点:由于采用自定义的组装结构标准,缺乏通用的组装结构标准,因而引入了较大的风险。

可重用性和软件高效性不易协调,需要精干的有经验的分析和开发人员,一般开发人员插不上手。

客户的满意度低,并且由于过分依赖于构件,所以构件库的质量影响着产品质量。

二、以软件需求完全确定为前提软件开发模型,如瀑布模型等。

特点:软件需求在开发阶段已经被完全确定,将生命周期的各项活动依顺序固定,强调开发的阶段性;优点:开发流程简单。

缺点:是开发后期要改正早期存在的问题需要付出很高的代价,用户需要等待较长时间才能够看到软件产品,增加了风险系数。

并且如果在开发过程存在阻塞问题,则影响开发效率。

三、在开始阶段只能提供基本需求的渐进式开发模型,如螺旋模型和原型实现软件开发模型等。

特点:软件开发开始阶段只有基本的需求,软件开发过程的各个活动是迭代的。

通过迭代过程实现软件的逐步演化,最终得到软件产品。

2012年下半年软件设计师考试下午真题(权威解析+标准答案)

2012年下半年软件设计师考试下午真题(权威解析+标准答案)

2012 年下半年软件设计师考试下午真题(权威中所牵涉到的某某文件或某某表。在本题中,描述中有描述过的数据存储有:顾客 表、订单表、商品表、商品分类表和购物车表。由图 0 层数据流图可知,D1 与付款、提交订单、物流 跟踪、改变价格等处理有关,可知 D1 是订单表。由描述“顾客浏览商品,点击加入购物车,根据商品 标识从商品表中读取商品信息,并更新购物车表”,再结合 0 层数据流可知 D2 是商品表,另外,根据 描述“管理员维护(增、删、改、查)顾客表、商品分类表和商品表中的信息”,再结合 0 层数据流可 知 D2 和 D3 应该对应商品表和商品分类表,而 D2 是商品表,因此 D3 就是商品分类表。同理可以知道 D4 就是购物车表。 【问题 3】 本题要求我们找出 0 层数据流图中缺失的数据流,是一类常考的知识点,对应这类题目的求解,我们要 充分利用数据的平衡原则,仔细阅读题目给出的描述。根据说明中(5)的描述,我们不难知道,在付 款这个加工时,要更改购物车表中商品的状态,很显然这个过程在 0 层数据流图中并没有体现出来,因 此缺少了一条从付款到购物车表的数据流。另外,在付款时,系统先要根据顾客表中关联的支付账户, 将转账请求提交给支付系统进行转账,那么就应该有一条从顾客表到付款的数据流。根据说明中(3) 的描述,我们不难知道,在顾客点击提交订单请求,后台将要计算购物车表中商品的总价,那么就需要 从购物车表中获取商品的价格信息,因此就有一条从购物车表到提交订单的数据流,而显然在 0 层数 据流图中并没有体现出来这样一条数据流,因此缺少了一条从购物车表到提交订单的数据流。根据说明 中(7)的描述,可以知道从订单表、商品表以及商品分类表都有到生成报表加工的数据流。从 0 层数 据流图中来看,显然还缺少从订单表到生成报表的数据流。 【问题 4】 数据项也称为数据元素,是最小的数据组成单位,也就是不可再分的数据单位。如学号、姓名等。 在题目中,对于转账请求,已经给出了其包含了验证码、价格,另外根据常识,我们知道还应该有账号 信息。而顾客订单物流查询请求应包含顾客标识和订单标识。商家订单物流查询请求应包含商家标识和 订单标识这些数据项,而且一个商家可能有多个订单,因此订单标识也有多个。 2. 参考答案:

哈尔滨工程大学计算机系统结构试卷1

哈尔滨工程大学计算机系统结构试卷1

一、单选(5分,每小题1分)1.奔腾电脑不可能属于( B )类型。

A.SIMD B.MISD C.MIMD D.SISD。

2.并行处理发展通过( D )途径形成了分布处理系统。

A.提高主频B.时间重叠C.资源重复D.资源共享3.系列机软件必须保证(D ),一般应做到软件的向上兼容性。

A、向上兼容B、向下兼容C、向前兼容D、向后兼容4.面向目标程序优化的思想是指(C )。

A. 通过使用频度分析和改进指令系统B.增设强功能复合指令替代原来的软件实现C.A和BD.面向编译、优化代码生成5.在IBM370系统中,支持操作系统实现多进程共用公用区管理最有效的指令是(B)。

A、测试与置定指令B、比较与交换指令C、执行指令D、程序调用指令二、填空 (5分,每空1分)1、进行仿真工作的机器称为宿主机,而被仿真的机器称为_____________。

2、Cache存储器对应用程序员是透明的,对系统程序员是____________的(填“透明”或“不透明”)。

3、Cache存储器写保护时,只写入Cache,仅当需块替换时,才将其写回主存,称这种修改方法为_______________法。

4、一般中断是在___________时处理的,而页失效是在__________时处理的。

三、判断(5分,每小题1分)1、静态使用频度是指源程序中指令或指令串使用频度。

()2、在多用户系统中,用户程序不能直接用I/O指令,而用“进管”指令,进管请求输入输出,“进管”指令属于管态指令。

()3、若Cache未命中,应将程序挂起,同时调块。

()4、指令的重叠解释,可以加快程序的解释,也能加快指令的解释。

()5、只要将子过程进一步细分,就可以使流水吞吐率进一步提高。

()四、(本大题共12分)有8台外设,各设备要求传送信息的工作速率如图所示。

现设计的通道,在数据传送期,每选择一次设备需2us,每传送一个字节数据也需要2us。

1、若用作字节多路通道,通道的最高流量是多少?2、作字节多路通道时,希望同时不少于4台设备挂在此通道上,最好多挂一些,且高速设备尽量多挂一些,请问应选哪些设备挂在此通道上?为什么?3、若用作数组多路通道,通道工作和最高流量是多少?(设定长块大小取成512B)4、作数组多路通道用时,应选哪些设备挂在通道上,为什么?设备标识A B C D E F G H5002401007550401410工作速率(KB/S)1.五、(本大题共9分)有一个计算机系统可按功能划分成4级,各级的指令都不相同,每一级的指令都比其下一级指令在效能上强5倍,现若需第i级的8条指令解释第i+1级的一条指令,而有一段第1级的程序需要运行10K 秒,问在第2、3、4级上的一段等效程序各需要运行多长时间?六、(本大题共12分)设某计算机主存容量为64K字,Cache存储器的容量为512字,字块长128字,采用直接映象方式和LRU替换算法。

2012年下半年 系统架构设计师 答案详解

2012年下半年 系统架构设计师 答案详解

2012年软考试题假设系统中有n个进程共享3台打印机,任一进程在任一时刻最多只能使用1台打印机。

若用PV操作控制n个进程使用打印机,则相应信号量S的取值范围为(1);若信号量S的值为-3,则系统中有(2)个进程等待使用打印机。

(1)A.0,-1,…,-(n-1) B.3,2,1,0, -1,•, - (n-3)C.C. 1, 0, -1,•, - (n-1)D.2, 1, 0, -1, •••, - (n-2)(2)A.0 B.1 C.2 D.3【答案】B D【解析】本题考查操作系统进程管理方面的基础知识。

试题(1)的正确答案为选项B。

根据题意,假设系统中有n个进程共享3台打印机,意味着每次只允许3个进程进入互斥段,那么信号量的初值应为3。

可见,根据排除法只有选项B中含有3。

试题(2)的正确答案为选项D。

信号量S的物理意义为:当S多0时,表示资源的可用数;当S<0时,其绝对值表示等待资源的进程数。

假设文件系统采用索引节点管理,且索引节点有8个地址项iaddr[0]〜iaddr[7],每个地址项大小为4B, iaddr[0]〜iaddr[4]采用直接地址索弓丨,iaddr[5]和iaddr[6]采用一级间接地址索引,iaddr[7]采用二级间接地址索引。

假设磁盘索引块和磁盘数据块大小均为1KB字节,文件Filel的索引节点如下图所示。

若用户访问文件Filel中逻辑块号为5和261的信息,则对应的物理块号分别为(3);101号物理块存放的是(4)。

(3)A.89和90 B.89和136 C.58和187 D.90和136(4)A.Filel的信息 B.直接地址索引表C.一级地址索引表D.二级地址索引表【答案】C D【解析】本题考查操作系统文件管理方面的基础知识。

根据题意,磁盘索引块为1KB,每个地址项大小为4B,故每个磁盘索引块可存放1024/4=256个物理块地址。

又因为文件索引节点中有8个地址项,其中5个地址项为直接地址索引,这意味着逻辑块号为0〜4的为直接地址索引;2个地址项是一级间接地址索引,其中第一个地址项指出的物理块中是一张一级间接地址索引表,存放逻辑块号为5〜260对应的物理块号,第二个地址项指出的物理块中是另一张一级间接地址索引表,存放逻辑块号为261〜516对应的物理块号。

2022年哈尔滨工程大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)

2022年哈尔滨工程大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)

2022年哈尔滨工程大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)一、选择题1、若某文件系统索引节点(inode)中有直接地址项和间接地址项,则下列选项中,与单个文件长度无关的因素是().A.索引节点的总数B.间接地址索引的级数C.地址项的个数D.文件块大小2、某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件上、文件主的伙伴、其他用户:访问权限分为5类:完全控制、执行、修改、读取、写入。

若文件控制块中用:进制位串表示文件权限,为表示不同类别用户对一个文件的访问权限,则描述文件权限的位数至少应为()。

A.5B.9C.12D.203、若一个信号量的初值为3,经过多次P、V操作之后当前值为-1,则表示等待进入临界区的进程数为()A.1B.2C.3D.44、银行家算法在解决死锁问题中用于()。

A.预防死锁B.死锁避免C.检测死锁D.解除死锁5、一个进程的读磁盘操作完成后,操作系统针对该进程必做的是(),A.修改进程状态为就绪态B.降低进程优先级C.给进程分配用户内存空间D.增加进程时间片大小6、假设页的大小为4KB,页表的每个表项占用4B。

对于一个64位地址空间系统,采用多级页表机制,至少需要()级页表(本题默认字长为1B)。

A.3B.4C.5D.67、要保证一个程序在主存中被改变了存放位置后仍能正确地执行,则对主存空间应采用()技术。

A.静态重定位B.动态重定位C.动态分配D.静态分配8、下列选项中,会导致用户进程从用户态切换到内核态的操作是()I.整数除以零 II.sin函数调用 III.read系统调用A.仅I、IIB.仅I、IIIC.仅II、IIID. I、II和II9、在单处理器系统中,可并行的是()I.进程与进程II.处理器与设备III.处理器与通道IV.设备与设备A.I、II和IIIB.I、II和IVC.I、III和IVD.II、III和IV10、某进程访问页面的序列如下所示。

2012年10月全国自考(软件工程)真题试卷(题后含答案及解析)

2012年10月全国自考(软件工程)真题试卷(题后含答案及解析)

2012年10月全国自考(软件工程)真题试卷(题后含答案及解析) 题型有:1. 单项选择题 2. 填空题 3. 简答题 4. 综合应用题单项选择题1.在软件开发领域中,“描述了系统是什么”的系统模型被称为( ) A.设计模型B.概念模型C.实现模型D.部署模型正确答案:B解析:概念模型是对客观事物系统的抽象,即标识要解决的问题,它是一个“描述了系统是什么”的系统模型。

2.下列选项不属于质量属性规约所期望的指标的是( )A.可靠性B.可维护性C.用户友好性D.保密性正确答案:D解析:质量属性规约所期望的指标有可靠性、存活性、可维护性和用户友好性。

3.在常见的耦合类型中,应尽量避免使用的是( )A.内容耦合B.数据耦合C.控制耦合D.标记耦合正确答案:A解析:耦合是影响软件复杂程度和设计质量的一个重要因素,在设计上应采取的原则有:如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,尽量避免使用内容耦合。

4.下列工具中,常用作总体设计的是( )A.HIPO图B.N-S图C.PAD图D.DFD图正确答案:A解析:在总体设计阶段使用的表达软件体系结构的工具有模块结构图、层次图以及HIPO图。

5.UML表达关系的术语中,伴随限定符使用的关系是( )A.关联B.依赖C.泛化D.细化正确答案:A解析:限定符是一个关联的属性或属性表,这些属性的值将与该关联相关类的对象集作了一个划分。

6.自行车是一种交通工具,自行车和交通工具之间的关系是( ) A.组合B.关联C.依赖D.泛化正确答案:D解析:泛化是一般性类目和它的较为特殊性类目之间的一种关系。

7.面向对象分析中,对象模型描述了系统的( )A.静态结构B.动态结构C.控制结构D.顺序结构正确答案:A解析:对象模型可用于概念模型和软件模型的静态结构方面。

8.UML用来表达系统交互建模的图形化工具是( )A.用况图B.状态图C.顺序图D.类图正确答案:C解析:顺序图是一种交互图,即由一组对象以及按时序组织的对象之间的关系组成,其中还包含这些对象之间所发送的消息。

软件体系结构简答参考答案

软件体系结构简答参考答案

简答及计算题1、请简述软件体系结构的定义答:软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。

其中,“软件外部的可见特性”是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。

软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。

软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

2. 下列图能作为一个水下声音模拟系统的体系结构吗,为什么?答:不能。

原因如下:1)图中的解释在哪里?2)构件的定义是什么?什么是连接器?3)方块和箭头代表什么?4)图中分布是否合理?5)水平和垂直线代表什么?6)每个元素的功能和职责是什么?它们是如何划分的?7)每个元素运行在不同的处理器上吗?运行在不同时间?它们能代表开发分组?还是运行时的分组?8)每个元素代表不同对象?不同任务?不同功能?不同进程?它们是分布式的吗?9)元素间联系的强度如何?联系是代表元素间通讯?还是互相控制?相互传递数据?相互调用?相互同步?信息共享?或上述模式的部分组合?通讯的机制如何?信息是如何流动的?10)结构是如何分层的?为什么CP单独一层?是说CP能调用其他三个元素,而不能反过来?还是说CP包含了下面三个元素的实现?3. 软件体系结构通常使用哪三类结构视图?答:模块视图:•分解:将实现代码分解成系统、子系统、子子系统等。

它通常作为开发项目组织的基础,包括文档结构、集成和测试计划等。

结构中的每个单元通常有与特定组织相关的名字。

•使用:它是一种特定形式的依赖关系。

该使用关系将系统分成子集,从而支持增量式开发。

•泛化风格:在类的层次框架下,它表明了不同的代码单元如何关联在一起。

具有相似行为或能力的模块可以使用子类的方法集成。

类的结构也可支持重用和增量式丰富功能。

大学_软件体系结构试题及参考答案

大学_软件体系结构试题及参考答案

软件体系结构试题及参考答案软件体系结构试题及参考答案(一)1. 什么是软件工程?构成软件工程的要素是什么?软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,对所选方法的研究。

软件工程的要素由方法、工具和过程组成。

方法支撑过程和工具,而过程和工具促进方法学的研究。

2. 什么是软件生存周期?软件开发过程模型与软件生存周期之间是何关系?软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程叫软件生存周期。

软件开发过程模型表示软件开发中各个活动的安排方式,出来软件开发各个活动之间关系,是软件开发过程的概括,是软件工程的重要内容,其为软件管理提供里程碑和进度表,为软件开发过程提供原则和方法,其包括有以软件需求完全确定为前提的瀑布模型,以渐进式开发模型的原型和螺旋模型,以形式化开发方法为基础的变换模型。

3. 叙述软件设计在软件工程中所处的位置和重要性位置:软件需求分析--------需求规格说明------软件设计------设计文档------------软件编码总要性:(1)、是对软件需求的直接体现。

(2)、为软件实现提供直接依据(3)、将综合考虑软件系统的各种约束条件并给出相应方案(4)、软件设计的质量将决定最终软件系统的质量。

(5)、及早发现软件设计中存在的错误将极大减少软件修复和维护所需的成本。

4. 软件设计应该包含哪些要素?软件设计应该包含:目标描述、设计约束、产品描述、设计原理、开发规划、使用描述。

5. 简述UML的特点和用途。

、答:为使用者提供了统一的、表达能力强大的可视化建模语言,以描述应用问题的.需求模型、设计模型和设计模型。

提供对核心概念的扩展机制,用户可加入核心概念中没有的概念和符号,可为特定应用领域提出具体的概念、符号表示和约束。

提供于实现语言和支持所有的方法学,覆盖了面向对象分析和设计的相关概念和方法学。

独立于任何开发过程,但支持软件开发全过程。

哈工大软件工程复习习题及答案

哈工大软件工程复习习题及答案

哈工大软件工程复习习题及答案第1章绪论一、填空题1.软件与物质产品有很大的区别,软件是一种_______产品。

2.软件工程是一门综合性交叉学科,计算机科学着重于理论和原理,软件工程着重于_______。

3.概要设计主要是把各项功能需求转换成系统的________。

4.最基本、应用广泛、以文档为驱动、适用于开发功能明确的软件项目生存期模型是_______。

5.简单实用、应用广泛、技术成熟的开发方法是________。

二、选择题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.维护一、填空题答案1.逻辑2.建造一个软件系统3.体系结构4.瀑布模型5.结构化方法二、选择题答案1.B2.C3.C4.A5.D1.构成一个完整计算机系统的两部分是硬件与________。

2.程序设计时代的生产方式是________。

3.软件工程涉及到几个学科,它是一门_____学科。

4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能________。

5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是________模型。

6.喷泉模型是一种以用户需求为动力,以_______为驱动的模型。

7.结构化方法是一种面向数据流的开发方法。

由结构化分析、_______、结构化程序设计构成。

8.软件工程研究的主要内容是软件开发管理和_______两个方面。

9.软件工具是支持软件开发人员的开发和维护活动而使用的________。

2012级计科软件工程A卷

2012级计科软件工程A卷

第2页 共2页二、选择题(共20分 每题2分)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.对于一个系统,其危险性是0.25,安全性是0.95,则系统的完整性是( ) A.0.01 B.0.99 C.0.24 D.0.76 7.软件在交付给最终用户之前发现的错误数为E ,在软件交付之后发现的缺陷数是D ,则把该项目作为一个整体来考虑,其缺陷排除效率是( ) A .D/(D+E)B .E/(D+E)C .1- D/(D+E)D .1- E/(D+E)8.需求模型中的状态图,属于()A.基于场景的模型 B.基于类的模型C.基于行为的模型 D.基于流的模型9.软件的质量属性体现了软件的设计目标,其中不包括()A.功能性 B.易用性C.可靠性 D.独立性10. ()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

A.多态性B.继承C.封装D.消息三、简答题(每题5分,共20分)1. 简述什么是软件工程?2. 描述体系结构风格及体系结构风格分类?3. 什么是回归测试?4. 描述软件团队的几种组织范性?四、应用题(共30分,每题10分)1.某维修站对“功率大于50马力”的机器且“维修记录不全”或“已运行十年以上”的机器应给予优先维修,否则作一般处理。

最新软件设计与体系结构复习整理题目及答案

最新软件设计与体系结构复习整理题目及答案

1、各种性能指标的定义及如何到达各种性能指标的方法ppt1-8 119页-124页 ①性能:吞吐量Throughput 、响应时间Response Time 、Deadlines②实现吞吐量:Peak & Average Many system have low average but high peak throughput requirements③实现响应时间: Guaranteed & Average E.g. 95% of responses in sub-4 seconds, and all within 10 seconds④Dealines :Deadlines often associated with batch jobs in IT systems2、常用的中间件有那几种类型(四种)分类:Business Process Orchestrators 业务流程协调器Message Brokers 消息代理Application Servers 应用服务器Transport面向消息的中间件,分布式对象系统(1)CORBA---公用对象请求代理(调度)程序体系结构,它在对象间建立客户-服务器的关系,这样一个客户可以很简单地使用服务器对象的方法而不论服务器是在同一机器上还是Business Process OrchestratorsMessage BrokersApplication ServersTransport Message-Oriented Middleware,Distributed Objects SystemsJ2EE, CCM, .NET BizTalk, WebSphere Message Broker, SonicMQ BizTalk, TIBCO StaffWare, ActiveBPEL通过一个网络访问。

(常见的对象请求代理架构)(2)Basic Message-oriented middleware---- MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。

哈工程 大学计算机基础 课后习题答案

哈工程 大学计算机基础 课后习题答案

第1章计算机基础知识一、填空题1.硬件系统、软件系统2.(11011101)2=(221)10 =(335)8=(DD)163.1101.0114.11110111.00000.011.(小数点后第5位到第8位循环)5.11116.2217.主存、Cache ram,rom8.RAM、ROM9.外存10.读、写、字节二、选择题1-5:CBADC 6-10:AADDD 11-15:ACCAD三、判断题1-5:错错对对对6-10:对错错错错四、简答题1.简述计算机发展各阶段所采用的逻辑部件及计算机的发展趋势。

答案:第一代计算机:电子管第二代计算机:晶体管第三代计算机:中小规模集成电路第四代计算机:大规模、超大规模集成电路计算机的研制正向智能化、网络化、巨型化、微型化、多媒体化的方向前进。

2.答案:因为采用二进制易于物理实现,机器可靠性高,运算规则简单。

3.位:代表一个二进制数位,是计算机表示数据的最小单位。

字节:计算机内部以字节为单位存储数据。

1B=8b。

字:CPU通过数据总线一次存取、加工和传送的数据单位称为字。

一个字通常由若干个字节组成。

字长:一个字对应的位数。

4.1)运算速度2)主频3)字长 4)内存容量 5)外设扩展能力 6)软件配置情况 举例:略 5.原码:数X补码:X(1) 原码:01010010反码:01010010 补码:01010010(2) 原码:11111111反码:10000000 补码:10000001(3) 原码:11010001 说明:表示时不应该有小数点反码:10101110 补码:10101111(4) 原码:10000001反码:11111110 补码:11111111(5) 原码:00000000(或10000000)反码:00000000(或11111111) 补码:000000006.微型计算机存储系统分为内存和外存。

内存存放正在运行的程序和数据;外存存放需长期保存的数据。

2012参考答案和评分细则-软件工程

2012参考答案和评分细则-软件工程

诚信应考 考出水平 考出风格 2011 — 2012 学年第一学期期末试卷答卷 《 软件工程 》 开课单位: 计算分院 ;考试形式:闭、开卷;考试时间:__2012_年__1__月__8 日; 所需时间: 120 分钟一._单项选择题_____(本大题共__15__题,每题___1___分,共___15___分。

)第15小题因为答案是18,所以选ABCD 都算正确。

二._组合选择题______(本大题共______题,每空___1___分,共___30_____分。

)三.判断题(本大题共__15__题,每题___1___分,共___15_____分。

)四.简答题(本大题共__2__题,每题___5___分,共___10_____分。

)1、喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程(3分)采用迭代的方法, 各项活动之间无明显边界(2分)2、将软件的所有阶段按生命周期的方法划分(1分),可分为定义、开发和维护三个时期 (3分),每个时期又可划分为若干个阶段(1分)。

五.综合题(本大题共__3__题,每题___10___分,共___30_____分。

)1、 答案不唯一!能画出2层DFD 图并基本正确 6-7分画出0层DFD 图并基本正确4分,画出顶层DFD 图并基本正确2分。

能写出上述数据流图中的相应数据流的数据字典并基本正确 3分大致正确 1-2分2、PAD图完全正确3分基本正确2-3分不正确0-1分测试用例设计完全正确并且简洁6-7分测试用例设计正确但不简洁4-5分测试用例设计概念不够清晰,2-3分不正确0-1分3、答案不唯一用例图基本正确,3-4分能有用例图的大致轮廓:1-2分能有对象模型的大致概念:5-6分一般情况:1-4分。

2022年哈尔滨工业大学软件工程专业《计算机系统结构》科目期末试卷B(有答案)

2022年哈尔滨工业大学软件工程专业《计算机系统结构》科目期末试卷B(有答案)

2022年哈尔滨工业大学软件工程专业《计算机系统结构》科目期末试卷B(有答案)一、选择题1、对系统程序员不透明的应当是( )。

A.Cache存贮器XB.系列机各档不同的数据通路宽度C.指令缓冲寄存器D.虚拟存贮器2、不同系列的机器之间,实现软件移植的途径不包括( )A.用统一的高级语言B.用统一的汇编语言C.模拟D.仿真3、除了分布处理、MPP和机群系统外,并行处理计算机按其基本结构特征可分为流水线计算机,阵列处理机,多处理机和()四种不同的结构。

A.计算机网络B.控制流计算机C.机群系统D.数据流计算机4、"从中间开始"设计的"中间"目前多数是在( )。

A.传统机器语言级与操作系统机器级之间B.传统机器语言级与微程序机器级之间C.微程序机器级与汇编语言机器级之间D.操作系统机器级与汇编语言机器级之间5、若输入流水线的指令既无局部性相关,也不存在全局性相关,则()。

A.可获得高的吞吐率和效率B.流水线的效率和吞吐率恶化C.出现瓶颈D.可靠性提高6、费林按指令流和数据流的多倍性把计算机系统分类,这里的多倍性指()。

A.系统瓶颈部件上处于同一执行阶段的指令流是数据流的多少倍。

B.系统瓶颈部件上处于同一执行阶段的数据流是指令流的多少倍。

C.系统瓶颈部件上处于同一执行阶段的指令或数据的最大可能个数。

D.A和B7、对系统程序员不透明的应当是()A.CACHE 存储器B.系列机各档不同的数据通路宽度C.指令缓冲寄存器D.虚拟存储器8、在计算机系统设计中,比较好的方法是()。

A.从上向下设计B.从下向上设计C.从两头向中间设计D.从中间开始向上、向下设计9、利用时间重叠概念实现并行处理的是( )。

A.流水处理机B.多处理机C.并行(阵列)处理机D.相联处理机10、1TFLOPS计算机能力,1TBYTE/S的I/O带宽和()称为计算机系统的3T性能目标。

A,1TBYTE 硬盘容量B.1TBYTE 软盘容量C.1TBYTE 主存容量D.A和B二、填空题11、要实现两条指令在时间上重叠解释,首先需要付出________,其次,要处理好指令之间可能存在的________12、程序在时间上的局部性表现在,最近未来要用的信息可能就是现在正在使用的信息,这是因为程序中有________循环13、段式存储管理是指________,为此每道程序在系统中都有一个________14、页面调度的两种方式________和________15、Huffman编码,长操作码的使用频度较________,而短操作码的使用频度较________16、Cache存贮器是增加辅助________件,使之速度接近于Cache的,容量是存的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2012级《软件设计与体系结构》B卷标准答案与评分标准一、填空题(每小空1分,共10分)1、创建型模式结构型模式行为型模式2、引用3、单一职责原则4、单例5、耦合6、外观7、函数指针8、适配器二、简答题(共20分)1、答:适用性:迭代器模式支持无需暴露聚合对象内部表示的聚合对象遍历;支持聚合对象的多个遍历同时进行;为遍历不同的聚合结构提供一个统一的接口。

---6分优点:能够简化聚合的接口,使其不被遍历方法污染;并支持多个遍历同时进行,支持不同的遍历技术。

---4分2、答:适用性:对象的行为取决于其状态,并且它必须在运行期根据该状态改变它的行为;一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。

---4分优点:将所有与一个状态相关的行为都放入一个对象中;允许状态转换逻辑结合到状态对象中而不是放入单块的if或switch语句;有助于避免不一致的状态。

---4分缺点:增加了对象的数量。

---2分三、(20分)答:---6分public abstract class Stock extends Observable{private String symbol;private double price;public Stock(String symbol,double price){this.price = price;this.symbol = symbol;}public String getSymbol(){return symbol;}public double getPrice(){return price;}public void setSymbol(String symbol){this.symbol =symbol;}public void setPrice(double price){this.price =price;setChanged();notifyObservers(price);}} ---5分public class Google extends Stock{public Google(String symbol, double price) {super(symbol, price);}} ---2分public class Investor implements Observer{String nameInvestor;String nameStock;double price;public Investor(String nameInvestor,String nameStock){ Investor = nameInvestor;Stock = nameStock;price = 0;}public void update(Observable o, Object arg) {if(arg instanceof Double){price = (Double) arg;System.out.print("通知到股民"+ nameInvestor+ nameStock +"最新股价为: " + price + "\n");}else{System.out.print("通知到股民" + nameStock + "股价没有变!");}}} ---5分public class stockTest {public static void main(String[] args) {// TODO Auto-generated method stubInvestor zhangsan = new Investor("张三","Google");Investor lisi = new Investor("李四","Google");Investor wangwu = new Investor("王五","Google");Google google = new Google("Google",100);google.addObserver(zhangsan);google.addObserver(lisi);google.addObserver(wangwu);google.setPrice(200);google.setPrice(300);}} ---2分四、(20分)答:责任链模式---2分---5分//请求类public class Request {private String requestType;private String requestContent;private int number;public String getRequestType() {return requestType;}public void setRequestType(String requestType) {this.requestType = requestType;}public String getRequestContent() {return requestContent;} public void setRequestContent(String requestContent) { this.requestContent = requestContent;}public int getNumber() {return number;}public void setNumber(int number) {this.number = number;}} ---3分//管理者类public abstract class Manager {protected String name;//管理者的上级protected Manager superior;public Manager(String name){ = name;}//设置管理者的上级public void SetSuperior(Manager superior){this.superior = superior;}//申请请求abstract public void RequestApplications(Request request);}---2分// 总监类public class Majordomo extends Manager {public Majordomo(String name) {super(name);}public void RequestApplications(Request request) { // 总监所能有的权限就是可准许下属一周内的假期if (request.getRequestType() == "请假" &&request.getNumber() <= 5) {System.out.println(name + ":" +request.getRequestContent() + " 数量"+ request.getNumber() + "被批准");} else {if (superior != null)// 其余的申请都需转到上级superior.RequestApplications(request);}}} ---2分// 经理类public class CommonManager extends Manager {public CommonManager(String name) {super(name);}public void RequestApplications(Request request) { // 经理所能有的权限就是可准许下属两天内的假期if (request.getRequestType() == "请假" &&request.getNumber() <= 2) {System.out.println(name + ":" +request.getRequestContent() + " 数量"+ request.getNumber() + "被批准");} else {// 其余的申请都需要转到上级if (superior != null)superior.RequestApplications(request);}}} ---2分// 总经理类public class GeneralManager extends Manager {public GeneralManager(String name) {super(name);}public void RequestApplications(Request request) { if (request.getRequestType() == "请假") {// 总经理可准许下属任意天的假期System.out.println(name + ":" +request.getRequestContent() + " 数量"+ request.getNumber() + "被批准");}// 加薪在500以内,没有问题else if (request.getRequestType() == "加薪" &&request.getNumber() <= 500) {System.out.println(name + ":" +request.getRequestContent() + " 数量"+ request.getNumber() + "被批准");} else if (request.getRequestType() == "加薪"&& request.getNumber() > 500) {System.out.println(name + ":" +request.getRequestContent() + " 数量"+ request.getNumber() + "再说吧");}}} ---2分// 客户端public class Test {public static void main(String[] args) {CommonManager jinli = new CommonManager("金利");Majordomo zongjian = new Majordomo("宗剑");GeneralManager zhongjingli = new GeneralManager("钟精励");jinli.SetSuperior(zongjian);zongjian.SetSuperior(zhongjingli);Request request = new Request();request.setRequestType("请假");request.setRequestContent("小菜请假");request.setNumber(1);jinli.RequestApplications(request);Request request2 = new Request();request2.setRequestType("请假");request2.setRequestContent("小菜请假");request2.setNumber(4);jinli.RequestApplications(request2);Request request3 = new Request();request3.setRequestType("加薪");request3.setRequestContent("小菜请求加薪");request3.setNumber(500);jinli.RequestApplications(request3);Request request4 = new Request();request4.setRequestType("加薪");request4.setRequestContent("小菜请求加薪");request4.setNumber(1000);jinli.RequestApplications(request4);}} ---2分五、(30分)答:组合模式 ---2分----5分public interface IComponent {public void open();public void close();public void add(IComponent object);public boolean remove(IComponent object);public boolean isOpen();public void display();} ----3分// Bag 类:public class Bag implements IComponent{private boolean isOpen;private ArrayList<IComponent> bagList = newArrayList<IComponent>();public Bag(){}@Overridepublic void close() {// TODO Auto-generated method stubSystem.out.println("This Bag is closed.");isOpen = false;}public void open() {System.out.println("This Bag is opening.");isOpen = true;}public boolean isOpen(){return isOpen;}public void display(){if(isOpen){System.out.println("--This Bag have: ");for(int i = 0; i < bagList.size(); i++){System.out.print("------");System.out.println(bagList.get(i).toString());}}else{System.out.println("--This is a Bag");}}public void add(IComponent object) {bagList.add(object);}public boolean remove(IComponent object) {boolean isBag = bagList.remove(object);return isBag;}public String toString(){String string;string = "Bag ";return string;}} ----6分// Box 类:public class Box implements IComponent{private boolean isOpen;private ArrayList<IComponent> boxList = newArrayList<IComponent>();public Box(){}public void close() {System.out.print("This Box is closed.");isOpen = false;}public void open() {if(isOpen)System.out.print("This Box have opened.\n");else{isOpen = true;System.out.print("Box is opening.\n");}}public void display(){if(isOpen){System.out.println("--This Box have: ");for(int i = 0; i < boxList.size(); i++){System.out.print("------");System.out.println(boxList.get(i).toString());}}else{System.out.println("--This is a Box");} }public boolean isOpen(){return isOpen;}public void add(IComponent object) {boxList.add(object);}public boolean remove(IComponent object) {boolean isBox = boxList.remove(object);return isBox;}public String toString(){return"Box";}}----6分// 物品类:public class SingleThing implements IComponent{private String thingName;public SingleThing(String thingName){this.thingName = thingName;}public void add(IComponent object) {System.out.print("It cannot add to " + thingName + ", " + thingName + " isnot bag or box");}public void close() {System.out.println("It cannot open, It's a SingleThing");}public void open() {System.out.println("It cannot open, It's a SingleThing");}public void display(){System.out.println("--This is SingleThing.");}public boolean isOpen() {// TODO Auto-generated method stubSystem.out.println("It cannot open, It's a SingleThing");return false;}public boolean remove(IComponent object) {// TODO Auto-generated method stubSystem.out.print("It cannot remove to " + thingName + ", " + thingName + " isnot bag or box");return false;}public String toString(){String rightString;if(thingName == "Red Ball")rightString = thingName + "\n" + "恭喜你,你已经找到红球";elserightString = thingName;return rightString;}} ----6分public class compositTest {public static void main(String[] args) {// TODO Auto-generated method stubIComponent componentBag1 = new Bag();IComponent componentBag2 = new Bag();IComponent componentSingleThing = new SingleThing("Blue Ball");IComponent componentSingleThingRedBall = newSingleThing("Red Ball");componentBag2.add(componentSingleThingRedBall);componentBag1.add(componentBag2);componentBag1.add(componentSingleThing);componentBag1.open();componentBag1.display();componentBag1.close();componentBag1.display();IComponent componentBox1 = new Box();IComponent componentBox2 = new Box();IComponent componentSingleThing2 = newSingleThing("football");IComponent componentSingleThing3 = newSingleThing("basketball");componentBox1.add(componentBox2);componentBox1.add(componentSingleThing2);componentBox1.open();componentBox1.display();componentBox2.add(componentSingleThing3);componentBox2.add(componentBag1);componentBox2.open();componentBox2.display();componentBag1.open();componentBag1.display();componentBag2.open();componentBag2.display();componentSingleThingRedBall.add(componentSingleThing);}}----2分。

相关文档
最新文档