《软件工程》作业一、选择题1.“软件危机”产生的主要原因是(A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件2.经济可行性研究的范围包括(DA.资源有效性B.管理制度C.效益分析D.开发风险3.软件需求分析的任务不应包括(软件可行性分析的依据4.在众多的设计方法中,SD方法是最受人注意的,也是最广泛应用的一种,这种方法可以同分析阶段的(NS5.为了提高模块的独立性,模块内部最好是(A、逻辑内聚B、时间内聚C、功能内聚D、通信内聚6.下面关于详细设计的叙述中,(A)是错误的。A、流程框图可以描述结构化程序B、流程框图不能描述结构程序C、NS图描述的程序一定是结构化的D、PAD图描述的程序一定是结构化的7.由RumBaugh等人提出的一种面向对象方法叫做对象模型化技术(OMT),即三视点技术,它要求把分析时收集的信息建立在三个模型中。第一个模型是(行为图8.因计算机硬件和软件环境的变化而作出的修改软件的过程称为(预防性维护9.维护过程本质上是()的过程。A.修改程序B.修改文档C.修改软件配置D.压缩的修改软件定义和开发10.编写程序的工作量通常占用软件开发总工作量的(A.80%B.60%C.40%D.20.软件工程学的一个重要目标是(DA.提高程序的执行效率B.降低程序对存储空间的要求C.提高软件的可理解性D.提高软件的可维护性12.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(B)的回答。
A.确定B.行或不行C.正确)系统。A.需求不确定的B.需求确定的C.管理信息D.决策支持14.在SD方法中全面指导模块划分的最重要的原则是(A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性15.对象是面向对象系统的()的传递大致等价于过程性范型中的函数调用。供选择的答案:过程16.(A)意味着一个操作在不同的类中可以有不同的实现方式。A.多态性B.多继承C.类的复用D.封装17.块间联系和块内联系是评价程序模块结构质量的重要标准。联系的方式、共用信息的作用、共用信息的数量和接口的(GH:.作用范围控制范围18.使用软件时提出增加新功能就必须进行()维护。A.改正性B.适应性C.完善性D.预防性19.在软件开发的各种资源中,(D)是最重要的资源。人员20.软件的复杂性是(D),它引起人员通信困难、开发费用超支、开发时间超时等问题。不可降低的二、填空题1.在设计测试用例时,______边界值分析_____是用得最多的一种黑盒测试方法。2.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个___自底向上或相反顺序___集成的过程。3.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、_______可移植性________、可使用性和效率。
4.在结构化分析方法中,_____数据流图______表达系统内部数据运动的图形化技术。5.数据字典包括_____4______个条目。6.DFD中每个加工至少有_____一个输入数据流和一个输出流______。7.______封装_____是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。8.软件可靠性的主要指标有________平均无故障时间MTTF数据处理问题典型类型是___变换型__和___事务型__三、判断题如果通过软件测试没有发现错误,则说明软件是正确的。3.在进行总体设计时应加强模块联系。UML是面向对象技术领域的建模语言。四、简答题1.维护的目的是什么?有哪几种?为了保证软件在一个相当长的时期能够正常运行。有4种:改正性维护、适应性维护、完善性维护和预防性维护。2.什么叫面向对象?面向对象方法的特点是什么?为什么要用面向对象方法开发软件?面向对象=对象+类+继承+消息通信特点:方法的唯一性:即方法是对软件开发过程所有阶段进行综合考虑而得到;从生存期的一个阶段到下一个阶段的高度连续性;把面向对象分析、设计和程序设计集成到生存期的相应阶段。
好处:(1)开发方法的唯一性、开发阶段的高度连续性、表示方式的一致性;(2)问题空间实体的自然表示,减轻了设计者的负担,在设计系统之初不必考虑一个很完整的解决方案;(3)建立稳定的系统结构,可促进复用性,易于维护,易于修改,可合理利用共同性,减少复杂性。3.软件测试包括哪些步骤?说明这些步骤的测试对象是什么?。要点:单元测试、集成测试、确认测试、系统测试。4.简述使用面向对象分析方法建立目标系统对象模型的五项主要活动工作内容。确定类-&-对象并对对象分类,建立类与对象层(2)定义属性(3)定义服务(4)建立结构层:一般—特殊结构;整体—部分结构;实例连接;消息连接(5)建立主题层(划分主题)五、分析题1.下面是某程序的流程图,计算它的环路复杂性。1.环路复杂性=判断数+1=6+1=7(个)2.2.图书馆的预定图书子系统有如下功能:(1)由供书部门提供书目给订购组;(2)订书组从各单位取得要订的书目;(3)根据供书目录和订书书目产生订书文档留底;(4)将订书信息(包括数目,数量等)反馈给供书单位;(5)将未订书目通知订书者;(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。
试根据要求画出该问题的数据流程图,并把其转换为软件结构图。3.下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。intGetMax(intintdatalist[为各测试路径设计测试用例(1)控制流图如下,McCabe环路复杂性为3。测试路径:Path1:(3)测试用例:Path1:取n=1,datalist[0]预期结果:k=0Path2:取n=2,datalist[0]