软件工程导论习题1

合集下载

软件工程导论(第六版)部分课后习题-答案

软件工程导论(第六版)部分课后习题-答案

软件工程导论(第六版)部分课后习题-答案软件工程导论(第六版)部分课后习题-答案一、选择题1. 答案:B解析:选择题解析2. 答案:A解析:选择题解析二、判断题1. 答案:对解析:判断题解析2. 答案:错解析:判断题解析三、填空题1. 答案:软件工程解析:填空题解析2. 答案:开发、维护解析:填空题解析四、简答题1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约束条件。

解析:简答题解析2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审两个方面。

软件测试是通过运行和验证软件系统的过程,以确定其是否满足预期的需求和标准。

代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。

解析:简答题解析五、计算题1. 答案:20解析:计算题解析2. 答案:1000解析:计算题解析六、案例分析题1. 答案:软件项目管理是指对软件项目进行规划、组织、分配和控制的过程。

它包括项目范围管理、时间管理、成本管理、质量管理、风险管理等方面。

在一个项目中,软件项目经理负责整体的项目管理工作,包括资源的分配、进度的控制、风险的管理等。

解析:案例分析题解析2. 答案:敏捷开发是一种迭代、逐步增量的软件开发方法。

它强调快速、灵活地响应用户需求的变化,通过频繁的迭代和持续的反馈来逐步完善软件系统。

敏捷开发方法注重团队合作、交流和高效的沟通,通过直接面对面的沟通取代冗长的文档和繁琐的流程,提高软件开发的效率和质量。

解析:案例分析题解析总结:本文主要针对《软件工程导论(第六版)》部分课后习题提供了答案和解析。

其中包括选择题、判断题、填空题、简答题、计算题和案例分析题等多个题型。

通过解答这些习题,读者可以进一步加深对软件工程的理解和掌握。

希望本文对读者有所帮助,谢谢阅读。

软件工程导论复习题含答案

软件工程导论复习题含答案

软件工程导论复习题含答案软件工程习题集第1章概述(一)单项选择题1.“软件危机”产生的主要原因是(a)。

a.软件日益巨大b.开发方法不当c.开发人员编写程序能力差d.没保护不好软件2.软件就是一种(b)性工业产品。

a.理论b.科学知识(或逻辑)c.消耗d.体力3.需求分析是在(b)进行的。

a.用户b.用户和分析设计人员之间c.开发人员内部4.软件的主要结构和功能就是在(a)阶段同意的。

a.分析设计b.编程c.测试d.维护5.软件就是计算机系统中与硬件相互依存的另一部分,它的组成部分就是(d)。

d.使用和维护人员间a.程序、数据b.程序、文档c.程序d.程序、数据、文档6.在软件工程时期,决定软件质量的主要因素是(a)a.管理水平b.个人程序技术c.小组技术水平d.硬件的发展7.在软件开发模型中,提出最早、应用最广泛的模型是(a)。

a.瀑布模型b.喷泉模型c.增量模型d.螺旋模型8.瀑布模型把软件生存周期划分为软件定义、软件开发与(c)三个阶段,而每一阶段又可分为若干更小的阶段。

a.详细设计b.可行性分析c.运转及保护d.测试与排错9.计算机辅助软件工程,简称(d)。

a.sab.sdc.scd.case10.软件危机是软件产业化过程中出现的一种现象,下述现象中:(c)是其主要表现。

①软件须要快速增长难以满足用户。

②软件开发成本提升。

③软件开发进度难以掌控。

④软件质量难于确保。

a.③和④b.③和④c.全部d.①、②和③11软件工程的发生主要就是由于(c)。

a.程序设计方法学的影响c.软件危机的出现b.其他工程科学影响d.计算机的发展12、软件生成周期模型有多种,下列选项中,(c)不是软件生存周期模型。

a.螺旋模型b.增量模型c.功能模型d.瀑布模型(二)简答题1.软件产品的特点是什么?2.软件生产的发展经历了哪几个时代?各有何特征?3.软件危机的概念、表现形式、产生原因、化解途径4.详述主要的软件生存期模型(或软件开发模型)。

《软件工程导论》课后习题详细答案

《软件工程导论》课后习题详细答案

《软件工程导论》课后习题详细答案第一章软件工程概论1.什么是软件危机?软件危机是指在运算机软件的开发和爱护过程中所遇到的一系列严峻咨询题。

这些咨询题表现在以下几个方面:(1)用户对开发出的软件专门难中意。

(2)软件产品的质量往往靠不住。

(3)一样软件专门难爱护。

(4)软件生产效率专门低。

(5)软件开发成本越来越大。

(6)软件成本与开发进度难以估量。

(7)软件技术的进展远远满足不了运算机应用的普及与深入的需要。

2.什么缘故会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正明白得软件产品是一个完整的配置组成。

造成开发中制定打算盲目、编程草率,不考虑爱护工作的必要性。

(2) 软件本身方面,关于运算机系统来讲,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件爱护困难。

(3) 专门是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估量、爱护困难等一系列咨询题更为突出,技术的进展差不多远远不能适应社会需求。

3.如何样克服软件危机?(1) 充分吸取和借鉴人类长期以来从事各种工程项目中积存的行之有效的有效原理、概念、技术与方法,专门是吸取几十年来人类从事运算机硬件研究和开发的体会教训。

在开发软件的过程中努力作到良好的组织,严格的治理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在运算机系统早期进展时期形成的一些错误概念和作法。

(3) 按照不同的应用领域,开发更好的软件工具并使用这些工具。

将软件开发各个时期使用的软件工具集合成一个整体,形成一个专门好的软件开发支环环境。

总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织治理措施。

4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。

5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、爱护到剔除的全过程。

《软件工程导论》试题及答案

《软件工程导论》试题及答案

《软件工程导论》试题及答案软件工程导论试题及答案一、选择题1. 软件工程是一门多学科交叉的学科,其中包括以下哪些学科?A. 计算机科学B. 电子工程C. 数学D. 管理学E. 心理学答案:A、B、C、D2. 软件工程的目标是什么?A. 提高软件开发效率B. 提高软件质量C. 提高软件可靠性D. 提高软件维护性E. 提高软件安全性答案:A、B、C、D、E3. 软件过程模型是指软件开发过程中的一种抽象表示方法,常用的软件过程模型有哪些?A. 瀑布模型B. 增量模型C. 螺旋模型D. 敏捷模型E. 喷泉模型答案:A、B、C、D4. 以下哪个开发方式可以在软件开发过程中提供更多的灵活性和快速反馈?A. 瀑布模型B. 增量模型C. 螺旋模型D. 敏捷模型答案:D5. 软件需求分析的主要任务是什么?A. 确定软件的功能和性能需求B. 定义软件系统的架构C. 设计软件的用户界面D. 实施软件测试答案:A二、填空题1. 软件工程的核心目标是提高软件的 ______ 和 ______ 。

答案:质量、可靠性2. 软件工程中的四个基本活动是需求分析、设计、 ______ 和______ 。

答案:实现、维护3. 瀑布模型的五个阶段依次是:需求分析、设计、编码、 ______ 和 ______ 。

答案:测试、维护4. “快速原型”开发模型注重 ______ 。

答案:用户参与5. 敏捷开发模型的核心原则是 ______ 。

答案:迭代开发三、简答题1. 请简要说明为什么软件工程是一门多学科交叉的学科?答:软件工程在开发软件的过程中需要结合计算机科学的知识来实现软件的功能,同时也需要借鉴电子工程的设计思想来构建软件系统的架构。

此外,软件工程还应用了数学方法来进行软件需求分析和软件质量保证,同时也需要管理学的知识来进行项目管理和团队协作。

2. 请简述螺旋模型在软件开发过程中的应用场景。

答:螺旋模型适用于大型复杂项目或对安全性要求较高的项目。

软件工程导论第1-2套试题及答案

软件工程导论第1-2套试题及答案

软件工程导论第1-2套试题及答案软件工程A卷一、判断题:每小题1分,共15分,在正确的打上√,错误的打上×1.软件工程学只有理论意义,没有实际用途。

()2.软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。

()3.可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。

()4.代码审查方法没有计算机测试方法好。

()5.验证软件需求的方法主要靠人工审查的方法。

()6.并发系统中遇到的一个主要问题是定时问题。

()7.编码风格由个人喜好决定,没有固定格式。

()8.面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换。

()9.软件重用是提高软件开发生产率和目标系统质量的重要途径。

()10.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。

()11.Power Designer是一个CASE工具。

()12.软件是指用程序设计语言(如Pascal,C,Visual Basic等)编写的程序,软件开发实际上就是编写程序代码。

()13.在进行需求分析时需同时考虑维护问题。

()14.UML是一种面向对象的分析设计方法,即OOA/OOD方法。

()15.在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。

()二、单选题:每题1分,共15分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、有完整的故障处理E、算法的合理性6、软件可行性研究一般不考虑()A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题7、SA法中,有一个处理过程逻辑不易用语言表达清楚,最好是用()来描述A、流程图B、判定表C、NS图D、问题分析图PAD8、下列需求陈述中有效需求是()A、目标软件应有C++实现B、软件系统必须在5秒内响应并处理外部事件C、目标软件必须有系统设置模块D、当软件和用户交互时,必须能使用满足MS风格的界面9、在面向对象软件开发方法中,类与类之间主要有以下结构关系()A、继承和聚集B、继承和一般C、聚集和消息传递D、继承和方法调用10、面向对象模型主要由以下哪些模型组成()A、对象模型、动态模型、功能模型B、对象模型、数据模型、功能模型C、数据模型、动态模型、功能模型D、对象模型、动态模型、数据模型11、OOA中应首先识别()A、对象B、类C、对象的属性D、对象所属的类12、概要设计的结果是提供一份()A、模块说明书B、框图C、程序D、系统结构图13、以下语言中属于4GL是()A、PBB、VBC、UMLD、SQL Server 2000中的SQL语言14、与设计测试数据无关的文档是()A、需求分析说明书B、概要设计说明书C、源程序D、项目开发计划15、软件测试中的测试实例主要由输入数据和()组成A、测试规则B、测试计划C、预期输出结果D、以往测试记录分析三、简答题(共20分)1.项目A是为银行开发ATM(自动取款机)软件,项目B是为网络公司开发网络数据流分析软件,请问按照面向数据流设计方法(SD法),两个项目应分别采用何种方法将需求分析的功能模型转换成软件结构,为什么?(6分)2.某保险公司对投保人的汽车保费计算方法如下:单身男,年龄30岁以下(含30岁),计保费标准A,30岁以上计保费标准B;已婚男30岁以下(含30岁),计保费标准C,30岁以上计保费标准D,单身女,年龄25岁以下(含25岁),计保费标准E,25岁以上计保费标准F;已婚女25岁以下(含25岁),计保费标准G,25岁以上计保费标准H,请画出对应的判定树。

《软件工程导论》课后习题答案

《软件工程导论》课后习题答案
假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)、(2)题。
*
作业及解答(第1-2章)
05
03
01
在1985年对计算机存储容量的需求,估计是
如果字长为16位,则这个存储器的价格是
如果一条指令的长度为一个字,则使存储器装满程序共需4474263条指令。
储户的属性主要有姓名、住址、电话号码和身份证号码,储蓄所的属性主要是名称、地址和电话号码,而数额、类型、到期日期、利率和密码则是关系类型存取款的属性。
*
作业及解答(第3章)
*
作业及解答(第3章)
3-6 复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。
在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。
基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:
*
作业及解答(第1-2章)
在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少?
假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。
如果字长为32位,则这个存储器的价格是:
在1995年对存储容量的需求估计为:
在1995年一名程序员每天可开发出30条指令,每月可开发出600条指令,为了开发出可装满整个存储器的程序,需要的工作量为

软件工程导论1-6章习题

软件工程导论1-6章习题

第一章练习题一、判断题1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。

(√)2..软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。

(X)3.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。

(X)4.快速原型模型可以有效地适应用户需求的动态变化。

(√)5.类是关于对象性质的描述,由方法和数据组成。

(√)6.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。

(√)二、名字解释:1.软件:完成特定功能的程序+数据结构+文档。

2.软件危机:软件危机指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。

3.软件工程:将系统化的、规范的、可度量的方法应用与软件的开发、运行和维护的过程。

(将工程化运用于软件中)。

4.软件生命周期:一个软件从定义、开发、使用和维护直至最终被废弃,要经历的漫长时期。

5.软件过程:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

6.瀑布模型:是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。

它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试盒维护。

它规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。

7.快速原型模型:是快速建立起来的可以再计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。

8.增量模型:是在项目的开发工程中以一系列的增量方式开发系统。

增量方式包括增量开发和增量提交。

增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件;增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。

增量开发和增量提交可以同时使用,也可以单独使用。

9.螺旋模型:是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。

软件工程导论试题

软件工程导论试题

一、单项选择题(每小题3分,共10题)1、需求分析的任务不包括(B)。

A.问题分析B.系统设计C.需求描述D.需求评审。

2、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。

A.判定表和判定树B.盒图C.流程图D.关系图3、为适应软件运行环境的变化而修改软件的活动称为(B)。

A.纠错性维护B.适应性维护C.改善性维护D.预防性维护4、下列不属于软件工程方法3要素的是(D)。

A)方法B)工具C)过程D)人员5、软件的发展经历了(D)个发展阶段。

A.一B.二C.三D.四6、下列不属于UML中的动态图的是(B)。

A)状态图B)对象图C)协作图D)活动图7、一个模块的(B)是指能直接调用(控制)该模块的模块数。

A.扇出数B.扇入数C.宽度D.深度8、下列耦合中,模块独立性最好的是(A)。

A)非直接耦合B)数据耦合C)外部耦合D)内容耦合9、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。

除第1级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干(A)。

A 关键实践B 软件过程性能C 软件过程能力D 软件过程10、UML的扩展机制不包括(C)。

A)构造型B)标记值C)注解D)约束二、填空题(每题2分,共5题)1、任何复杂的程序流程图都只应该由5种基本控制结构组合或嵌套而成,这5中基本结构分别是顺序型、选择型、先判定型循环、后判定型循环、多情况型选择。

2、在进行结构化分析时,对数据流图进行分层应注意父图和子图平衡。

3、UML的基本构造块包含:视图、图和模型元素。

4、自行车类与自行车车轮类之间是聚集关系。

5、在进行软件规模估算时,与代码行度量方式相比,功能点度量的估算结果更客观和合理。

三、判断题(每题2分,共10题)1、目前,软件项目的进度安排比较常用的方法包括程序评估与审查技术(PERT)和关键路径法(CPM)。

(对)2、缺乏处理大型软件项目的经验。

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

软件工程导论习题软件生命周期每个阶段的基本任务:1问题定义2可行性研究3需求分析4总体设计5详细设计6编码和单元测试7综合测试8软件维护2.软件过程生命周期模型分几个模型?瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型。

3.数据流图的定义;是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

4.数据字典由四类元素的定义组成;(1)数据流(2)数据流分量(即数据元素)(3)数据存储(4)处理。

5数据模型中包含3种相互关联的信息:数据对象,数据对象的属性及数据对象彼此间相互连接的关系6.模块独立的概念是模块化,抽象。

信息隐蔽和局部化概念的直接结果。

开发具有独立功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块立7.模块独立性重要有两条理由:第一,有效的模块化(即具有独立的模块)的软件比较容易开发出来。

第二,独立的模块比较容易测试和维护。

8.模块的独立程度的标准是内聚和耦合9.耦合和内聚哪个最高最低,哪个最强最弱?功能内聚是最高程度的内聚,耦合程度最低,高程度的耦合是内容耦合,最弱的是非直接耦合。

10.启发式规则:1改进软件结构提高模块独立性,2模块规模应该适中3深度,宽度,扇出和扇入都应该适当4模块的作用域应该在控制域之内5力争降低模块接口的复杂程度6设计单入口单出口的模块7模块功能应该可以预测11.人机界面设计的4个设计问题:1系统响应时间2用户帮助设施3出错信息处理4命令交互12.软件系统的测试过程的几个步骤:1模块测试2子系统测试3系统测试4验收测试5平行运行13.测试重点从5个方面对模块进行测试:1模块接口2局部数据结构3重要的执行通路4出错处理通路5边界条件。

14.非渐增式测试一下子把所有的模块放在一起,并把庞大的程序作为一个整体来测试,测试者面对的情况十分复杂。

渐增式测试与“一步到位”的非渐增式测试相反,它把程序划分成小段来构造和测试,在这个过程中容易定位和改正错误,对接口可以进行更彻底的测试。

15.白盒测试技术中逻辑覆盖分那些等级?1语句覆盖2判定覆盖3条件覆盖4判定/条件覆盖5条件组合覆盖6点覆盖7边覆盖8路径覆盖16.黑盒测试技术几种?1等价划分2边界值分析3错误推测17.软件再工程过程?1库存目录分析2文档重构3逆向工程4代码重构5数据重构6正向工程18.软件成分的重用级别:(1)代码重用(2)设计结果重用(3)分析结果重用大题1.为什么说喷泉模型较好地体现了面向对象软件开发过程无缝和迭代的特性?迭代是软件开发过程中普遍存在的一种内在属性。

一般来说,使用面向对象方法学开发软件时,工作重点应该放在生命周期中的分析阶段。

由于在整个开发过程中都使用统一的的软件概念“对象”,所有其他概念都是围绕对象组成的,目的是保证分析工作中得到的信息不会丢失或改变,因此,对生命周期各阶段的区分就不重要了、不明显了。

由于各阶段都使用统一的概念和表示符号,因此,整个开发过程都是吻合一致的,或者说是“无缝”连接的,这自然就很容易实现各个开发步骤的多次反复迭代,达到认识的逐步深化。

2.在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

可行性研究实质上是要进行一次大大地压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。

应该从3个方面研究,一技术可行性使用现在的技术能实现这个系统吗?二经济可行性这个系统的经济效益能超过它的开发成本吗?三操作可行性系统的操作方式在这个用户组织内行得通吗?必要时还要从法律、社会效益等更广泛的方面研究。

步骤:1复查系统规模和目标2研究目前正在使用的系统3导出新系统的高层逻辑模型4进一步定义问题5导出和评价选择的解法6推荐行动方针7草拟开发计划8书写文档提交审查3.为什么要进行需求分析?通常对软件系统又哪些要求?需求分析的任务不是确定系统怎样完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

在需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准确的描述软件需求。

只有用户知道自己最需要什么,但是他们并不知道怎样用软件实现自己的需求,用户必须把他们对软件的需求尽量准确、具体的描述出来。

分析员知道怎样用软件实现人们的需求,但是在需求分析开始时他们对用户的需求并不十分清楚,必须通过与用户的沟通获取用户对软件的需求。

需求分析和规格说明是一项十分艰巨复杂的工作。

1功能要求:指定系统必须提供的服务2性能要求:指定系统必须满足的定时约束或容量约束,通常包括速度、信息量速率、主存容量、磁盘容量、安全性等方面的需求3可靠性和可用性需求:可靠性需求定量地指定系统的可靠性,可用性和可靠性密切相关,它量化了用户可以使用系统的程度4出错处理需求;当应用系统发现它自己犯了一个错误时所采取的行动5接口需求:描述应用系统与它的环境通信的格式6约束:设计约束或实现约束描述在设计或实现应用系统是应遵守的限制条件7逆向需求:说明软件系统不应该做什么8将来可能提出的要求:应该明确地列出那些虽然不属于当前系统开发的范畴,但是据分析将来很可能会提出来的要求4.等价划分是怎样划分的?哪些是有效等价类和无效等价类?等价划分是一种黑盒测试技术,这种技术把程序的输入域划分成若干个数据类,据此导出测试用例。

(1)如果规定了输入值的范围,则可划分出一个有效的等价类(输入值在此范围内),两个无效的等价类(输入值小于最小值或大于最大值)。

(2)如果规定了输入数据的个数,则类似地也可以划分出一个有效的等价类和两个无效的等价类。

(3)如果规定了输入数据的一组值,而且程序对不同输入值做不同的处理,则每个允许的输入值是一个有效的等价类,此外还有一个无效的等价类(任一个不允许的输入值)。

(4)如果规定了输入数据必须遵循的规则,则可以划分出一个有效地等价类(符合规则)和若干个无效的等价类(从各种不同的角度违反规则)(5)如果规定了输入数据为整型,则可以划分出正整数、零和负数等3个有效类。

(6)如果程序的处理对象是表格,则应该使用空表,以及含一项或多项的表有效输入的等价类(1)1~6个数字字符组成的数字串(最高位数字不是零)(2)最高位数字是零的数字串(3)最高位数字左邻是负号的数字串无效的等价类(1)空字符串(全是空格)(2)左部填充的字符既不是零也不是空格(3)最高位数字右面由数字和空格混合而成(4)最高位数字右面由数字和其他字符混合而成(5)负号和最高位数字之间又空格5.软件的可维护性与哪些因素有关?在软件开发过程中应该采取哪些措施来提高软件产品的可维护性?1可理解性:表现为外来读者理解软件的结构、功能、接口和内部处理过程的难易程度。

2可测试性:诊断和测试的容易程度取决于软件容易理解的程度3可修改性:软件容易修改的程度和设计原理和启发规则则直接有关。

4可移植性:把程序从一种计算环境(硬件配置和操作系统)转移到另一中计算环境的难易程度。

5可重用性:同一事物不做修改或稍加改动就再在不同环境中多次重复使用在每个阶段结束前的技术审查和管理复审中,应该着重对可维护性进行复审,在复审过程中,应该对将来要改进得部分和可能要改的部分加以注意指明,应该讨论软件的可移植性问题,考虑可能影响软件维护的系统界面。

在设计和编码过程中应该尽量使用可重用的软件构件,每个测试步骤都可以暗示在软件正式交付使用之前,程序中可能需要做预防性维护的部分。

,在完成了每项维护工作之后,都应该对软件维护本身仔细认真地复审。

6.面向对象设计应该遵循哪些规则?简述每条准则的内容,并说明遵循每条准则的必要性。

(1)模块化:面向对象软件开发模式,很自然地支持了把系统分解成模块的设计原理:对象就是模块。

它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。

(2)抽象:不仅支持过程抽象而且支持数据抽象,类实际上是一种抽象数据类型,它对外开放的公共接口构成了类的规格说明,接口规定了外界可以使用的合法操作符,使用者通过操作符使用类中定义的数据,这类抽象称为规格说明抽象。

(3)信息隐蔽:信息隐蔽通过对象的封装性实现,类结构分离了接口和实现,从而支持了信息隐蔽。

(4)弱耦合:是一个软件结构内不同模块之间互连的紧密程度。

弱耦合是优秀设计的一个重要标准,这有助于使得系统中某一部分的变化对其他部分的影响家昂到最低程度。

两类耦合,一,交互耦合对象之间的耦合通过消息连接来实现,这就是交互耦合。

二,继承耦合,与交互耦合相反,一个提高继承耦合程度(5)强内聚:内聚衡量一个模块内各个元素彼此结合的紧密程度,也可以把内聚定义为设计使用的一个构件内的各个元素,对完成一个定义明确的目的所作出的贡献程度。

(6)可重用:软件重用是提高软件开发生产率和目标系统质量的重要途径。

7.叙述能力成熟度的5个等级的特点?1初始级:软件过程的特征是无序的,有时甚至混乱。

处于这个最低成熟度等级的软件机构,基本上没有健全的软件工程管理制度,其软件过程完全取决于项目组的人员配备,所以具有不可预测性。

人员变了过程也随之改变。

过程能力是不可预测的,软件过程是不稳定的,产品质量只能根据相关人员的个人工作能力而不是软件机构的过程能力来预测。

2可重复级:软件机构建立了基本的项目管理过程,可跟踪成本、进度、功能和质量。

软件机构针对所承担的软件项目建立了基本的软件管理控制制度,通过对以前项目的观察和分析,可以提出针对现行项目的约束条件。

软件机构的过程能力概括为,软件项目的策划和跟踪是稳定的,已经为一个有纪律的管理过程提供了可重复以前成功实践的项目环境。

3已定义级:软件机构已经定义了完整的软件过程(过程模型),软件过程已经文档化和标准化。

有一个固定的的过程小组从事软件过程活动,无论是管理活动还是工程活动都是稳定的,软件开发的成本和进度以及产品的功能和质量都受到控制,而且软件产品的质量具有可追溯性。

4已管理级:软件机构对软件过程(过程模型和过程实例)和软件产品都建立了定量的质量目标,所有项目的重要的过程活动都是可度量。

软件过程是可度量的,软件过程在可度量的范围内运行。

5优化级:软件机构集中精力持续不断地改进软件过程,是一个以防止出现缺陷为目标的机构,它有能力识别软件过程要素的薄弱环节,并有足够的手段改进它们。

软件过程是可优化的。

8.P138 9. P31710.成本效益分析的货币的时间价值、投资回收期、纯收入?n也就是p元钱在n年后的价值。

反之,如果n年后能收入F元钱,那么这些钱现在的价值是:P=F/(1+i)n修改库存清单系统两年以后可以节省4225.12元,比最初的投资5000元还少774.88元,第三年以后将在节省1779.45元。

相关文档
最新文档