《软件工程课后参考答案.docx》由会员分享,可在线阅读,更多相关《软件工程课后参考答案.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章什么是计算机软件?软件的特点是什么?计算机软件是指计算机系统中的程序及其文档软件的特点:l 软件是一种逻辑实体,而不是有形的系统元件,其开发本钱和进度难以精确地估算。l 软件是被开发的或被设计的,没有明显的制造过程,一旦开发胜利,只需复制即可,但其维护的工作量大。l 软件的运用没有硬件那样的机械磨损和老化问题。简述软件的分类,并举例说明1. 系统软件系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。例如:编译软件, 操作系统。2. 支撑软件支撑软件是支撑软件的开发和维护的软件。例如:数据库管理系统, 网络软件, 软件工具, 软件开发环境。3. 应用软件应用软件
2、是特定应用领域专用的软件。例如:工程/科学计算机软件, 嵌入式软件, 产品线软件, Web应用软件, 人工智能软件。简述软件语言的分类,并举例说明。1. 需求定义语言是用于书写软件需求定义的语言。例如:PSL/PSA。2. 功能性语言是用于书写软件功能规约的语言,通常又称为功能规约语言。例如:广谱语言, Z语言。3. 设计性语言是用于书写软件设计规约的语言。例如:PDL。4. 实现性语言也称为程序设计语言,是用于书写计算机程序的语言。例如:C, java, PROLOG, FORTRAN, COBOL, Modula。5. 文档语言是用于书写软件文档的语言。通常用自然语言或半形式化语言书写。1
3、.4什么是软件工程?软件工程是应用计算机科学, 数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原那么, 方法,以提高质量, 降低本钱为目的。1.5简述软件工程的根本原那么。软件工程原那么包括围绕工程设计, 工程支持和工程管理所提出的以下4条根本原那么。1. 选取相宜的开发模型必需相识需求定义的易变性,采纳相宜的开发模型,保证软件产品满足用户的要求。2. 采纳相宜的设计方法相宜的设计方法有助于这些特征的实现,以到达软件工程的目标。3. 供应高质量的工程支撑软件工程工程的质量与开销干脆取决于对软件工程所供应的支撑质量和效用。4. 重视软件工程的管理仅当软件过程予以有效管理时,才能实现
4、有效的软件工程。1.6软件工程生存周期分哪几个阶段?分别简述各个阶段的任务。1.计算机系统工程计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机系统元素之间的关系,进展本钱估算,作出进度支配,并进展可行性分析。2.需求分析需求分析主要解决待开发软件要“做什么的问题,确定软件的功能, 性能, 数据, 界面等要求,生成软件需求规约也称软件需求规格说明。3.设计系统设计的任务是设计软件系统的体系构造,具体设计的任务是设计各个组成成分的实现细微环节,包括局部数据构造和算法。4.编码编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。5. 测试测试阶段的任务
5、是发觉并订正软件中的错误和缺陷。1.7简述CMM的5个等级。1.初始级2.可重复级3.已定义级4.已管理级5.优化级1.8简述CMMI的连续式模型和阶段式模型。1.阶段式模型的构造类同于软件CMM,它关注组织的成熟度,CMMI-SE/SW/IPPD 1.1版中有5个成熟度等级:初始的, 已管理的, 已定义的, 定量管理的, 优化的。2.连续式模型关注每个过程域的实力,CMMI中包括6个过程域实力等级:未完成的, 已执行的, 已管理的, 已定义的, 定量管理的, 优化的。1.9简述各类软件过程模型的特点。1.瀑布模型:上一阶段的活动完成并经过评审才能开场下一阶段的活动,承受上一阶段活动的结果作为
6、本阶段活动的输入,依据上一阶段活动的结果实施本阶段应完成的活动,对本阶段的活动进展评审。2.演化模型:从构造初始的原型动身,逐步将其演化成最终软件产品的过程。演化模型特殊适用于对软件需求缺乏精确相识的状况。3.增量模型:将软件的开发过程分为假设干个日程时间交织的线性序列,融合了瀑布模型的根本成分重复地应用和演化模型的迭代特征,特殊适用于需求常常发生变更的软件开发。4.原型模型:开发人员和用户在“原型上达成一样,缩短了开发周期,加快了工程进度,降低本钱。5.螺旋模型:将原型实现的迭代特征与瀑布模型中限制的和系统化的方面结合起来,不仅表达了这两种模型的优点,而且增加了风险分析。6.喷泉模型:各个阶
7、段没有明显的界限,开发人员可以同步进绽开发,可以提高软件工程开发效率,节约开发时间,适应于面对对象的软件开发过程。7.基于构件的开发模型:利用预先包装的构件来构造应用系统。8.形式化方法模型:易于发觉需求的歧义性, 不完整性和不一样性,易于对分析模型, 设计模型和程序进展验证。1.10灵敏软件开发的特点是什么?1. 个体和交互赛过过程和工具2. 可以工作的软件赛过四平八稳的文档3. 客户合作赛过合同谈判4. 响应变更赛过遵循方案1.11简述灵敏软件开发的价值观。3.与客户协作高于合同契约谈判1.12简述灵敏软件开发的原那么。的是通过尽早地和不断地交有价值的软件来使客户满足。2.即使到了开发的后
8、期,也欢送变更需求。3.以几周到几个月为周期,尽快, 不断地发布可运行软件。4.在整个工程过程中,业务人员和开发人员必需每天一起工作。5.以主动向上的员工为中心建立工程组,赐予他们所须要的环境和支持,对他们的工作予以充分的信任。6.工程组内效率最高, 最有效的信息传递方式是面对面的交谈。7.测量工程进展的首要依据是可运行的软件。8.灵敏过程提倡可持续的开发,工程发起者, 开发者和用户应能长期保持恒定的速度。9.应时刻关注技术上的精益求精和好的设计,以增加灵敏性。10.简洁化是必不行少的,这是尽可能削减不必要工作的艺术。11.最好的构架, 需求和设计出自于自我组织的团队。要定期反思怎样才能更有效
9、,并据此调整自己的行为。1.13通过本章学习,请对灵敏软件开发作简要评价。略1.14简述CASE工具和环境的重要性。CASE已被证明可以加快开发速度,提高应用软件生产率并保证应用软件的牢靠品质。计算机专业人员利用计算机使他们的企业提高了效率,企业的各个部门通过运用计算机提高了生产率和效率,增加了企业的竞争力并使之带来了更多的利润。第二章1. 识别用户的要求识别用户对基于计算机的系统的总体要求,标识系统的功能和性能范围,确定系统的功能, 性能, 约束和接口。2. 系统建模和模拟一个基于计算机的系统通常可考虑建立以下模型:硬件系统模型, 软件系统模型, 人机接口模型, 数据模型。3. 本钱估算及进
10、度支配开发一个基于计算机的系统须要肯定的资金投入和时间约束交互日期,需进展本钱估算,并作出进度支配。4. 可行性分析主要从经济, 技术, 法律等方面分析所给出的解决方案是否可行。5. 生成系统规格说明作为以后开发基于计算机的系统的依据。2.2基于计算机的系统由哪些元素组成?1. 软件2. 硬件3. 人员4. 数据库5. 文档6. 规程1. 经济可行性a) 本钱b) 效益c) 货币的时间价值d) 投资的回收期e) 纯收入2. 技术可行性a) 风险分析b) 资源分析c) 技术分析3. 法律可行性4. 方法的选择和折衷第三章3.1需求工程的重要性是什么? 可以确定客户需求扶植分析人员理解问题评估可行
11、性协商合理的解决方法无歧义的规约方案, 确认规约以及将规约转换到可运行的系统时的管理要求。3.2需求工程具体包括哪些步骤?每个步骤的具体任务是什么?1. 需求获得:系统分析人员通过与用户的沟通, 对现有系统的视察及对任务进展分析。2. 需求分析与协商:分析每个需求与其他需求的关系以检查需求的一样性, 重叠和遗漏的状况,并依据用户的需求对需求进展排序。3. 系统建模:通过相宜的工具和符号系统地描述需求。4. 需求规约:给出对目标软件的各种需求。5. 需求验证:对功能的正确性, 完整性和清楚性以及其他需求赐予评价。6. 需求管理:对需求工程全部相关活动的规约和限制。?请说明理由。 1. 能够娴熟地
12、驾驭计算机硬, 软件的专业学问,具有肯定的系统开发经验。 2. 擅长进展抽象的思维和创建性的思维,擅长把握抽象的概念,并把它们重新整理成为各种逻辑成分,并给出简明, 清楚的描述。 3. 擅长从相互冲突或混淆的原始资料中抽出恰当的条目来。 4. 擅长进展调查探讨,能够很快学习用户的专业领域学问,理解用户的环境条件。 5. 能够倾听他人的意见,留意发挥其它人员的作用。6. 具有良好的书面和口头沟通表达实力。3.4列出在制定需求获得策略时的3种主要考虑因素。1. 功能需求。考虑系统要做什么,在何时做,在何时及如何修改或升级。2. 性能需求。考虑软件开发的技术性指标。3. 用户或人对因素。考虑用户的类
13、型。3.5略3.6略3.7略3.8软件需求分析的操作性原那么和需求工程的指导性原那么是什么?需求分析的操作性原那么:l 必需能够表示和理解问题的信息域。l 必需能够定义软件将完成的功能。l 必需能够表示软件的行为作为外部事务的结果。l 必需划分描述数据, 功能和行为的模型,从而可以分层次地提示细微环节。l 分析过程应当从要素信息转移向细微环节信息需求工程的指导性原那么:l 在开场建立分析模型之前应领先理解问题。假如问题没有很好理解就急于求成,常常会产生一个解决错误问题的完备的软件。 l 强力举荐运用原型。这样做可以运用户了解将如何与计算机交互,而人们对软件质量的相识常常是基于对界面“友好性的切
14、身体会。 l 记录每一个需求的起源和缘由。这是建立对用户要求的可追溯性的第一步。 l 运用多个视图,建立系统的数据, 功能和行为模型。这样做可扶植分析员从多方面分析和理解问题,削减遗漏,识别可能的不一样之处。 l 给需求赐予优先级。因为过短的时限会削减实现全部软件需求的可能性。因此,对需求排定一个优先次序,标识哪些需求先实现,哪些需求后实现。 l 留意消退歧义性。因为大多数需求都是以自然语言描述,存在表达的歧义性问题造成遗漏和误会。采纳正式的技术评审是发觉和消退歧义性的好方法。3.9软件需求规约主要包括哪些内容?1. 引言2. 信息描述3. 功能描述4. 行为描述5. 检验标准6. 参考书目7
15、. 附录3.10需求验证应当有哪些人参与?分析人员, 用户, 开发部门的管理者, 软件设计, 实现, 测试的人员。第四章4.1简述软件设计阶段的根本任务。1. 数据/类设计:将分析类模型变换成类的实现和软件实现所须要的数据构造。2. 体系构造设计:定义了软件的整体构造,由软件部件, 外部可见的属性和他们之间的关系组成。3. 接口设计:描述了软件内部, 软件和协作系统之间以及软件同人之间的通信方式。4. 部件级设计:将软件体系构造的构造性元素变换为对软件部件的过过程性描述。是怎么样的?设计是在软件开发中形成质量的阶段,设计供应了可以用于质量评估的软件表示,是将用户需求精确地转化为完整的软件产品或
16、系统的主要途径。4.3略4.4简述模块, 模块化及模块化设计的概念。模块是数据说明, 可执行语句等程序对象的集合,是单独命名的,并且可以通过名字来访问的。模块化是指把软件依据规定原那么,划分为一个个较小的,相互独立的但又相互关联的部件。模块化设计就是程序的编写不是开场就逐条录入计算机语句和指令,而是首先用主程序, 子程序, 子过程等框架把软件的主要构造和流程描述出来,并定义和调试好各个框架之间的输入, 输出链接关系。举例说明每种类型的模块耦合度和每种类型的模块内聚度。a) 内容耦合:当一个模块干脆修改或操作另一个模块的数据,或者干脆转入另一个模块时就发生了内容耦合。此时,被修改的模块完全依靠于
17、修改它的模块。假如发生以下情形,两个模块之间就发生了内容耦合:i. 一个模块干脆访问另一个模块的内部数据ii. 一个模块不通过正常入口转到另一模块内部 iii. 两个模块有一局部程序代码重叠(只可能出现在汇编语言中) iv. 一个模块有多个入口。b) 公共耦合:假设一组模块都访问同一个公共数据环境,那么它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据构造, 共享的通信区, 内存的公共覆盖区等。 c) 外部耦合:一组模块都访问同一全局简洁变量而不是同一全局数据构造,而且不是通过参数表传递该全局变量的信息,那么称之为外部耦合。 d) 限制耦合:假如一个模块通过传送开关, 标记, 名字等限
18、制信息,明显地限制选择另一模块的功能,就是限制耦合。 e) 标记耦合:一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据构造的子构造,而不是简洁变量。其实传递的是这个数据构造的地址。 f) 数据耦合:一个模块访问另一个模块时,彼此之间是通过简洁数据参数(不是限制参数, 公共数据构造或外部变量) 来交换输入, 输出信息的。g) 非干脆耦合:两个模块之间没有干脆关系,它们之间的联系完全是通过主模块的限制和调用来实现的1. 巧合内聚:讲几个模块中没有明确表现出独立功能的一样程序代码段独立出来建立的模块称巧合内聚模块。 2. 逻辑内聚:逻辑内聚是指完成一组逻辑相关任务的模块,调用该模块时
19、,由传送给模块的限制性参数来确定该模块应执行哪一种功能。 3. 时间内聚:时间内聚是指一个模块中的全部任务必需在同一时间段内执行。 4. 过程内聚:过程内聚是指一个模块完成多个任务,这些任务必需指定的过程执行。 5. 通信内聚:通信内聚是指一个模块内全部处理元素都集中在某个数据构造的一块区域中。 6. 依次内聚:依次内聚是指一个模块完成多个功能,这些功能又必需依次执行 7. 功能内聚:功能内聚是指一个模块中各个局部都是为完成一项具体功能而协同工作,严密联系不行分割。 4.6耦合和软件可移植性的概念有何关系?耦合性是2个或多个模块相关的程度,可移植性是指软件从一个平台/环境转移到另一个平台/环境
20、的难易程度。4.7描述信息隐藏概念,并探讨信息隐藏与模块独立两概念之间的关系。1. 信息隐藏指在设计和确定模块时,使得一个模块内包含信息(过程或数据),对于不须要这些信息的其他模块来说,是不能访问的。在面对对象方法中,信息隐藏是通过对象的封装性来实现的。 2. 信息隐藏的概念与模块的独立性干脆相关4.8什么是模块的独立性?设计中为什么模块要独立?如何度量独立性?模块功能独立有何优点?1. 模块独立性:A. 模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简洁 B. 模块独立性是指模块内部各局部及模块间的关系的一种衡量标准,由内聚和耦合来度量。2. A.具有独立的
21、模块的软件比拟简洁开发出来。这是由于能够分割功能而且接口可以简化,当很多人分工合作开发同一个软件时,这个优点尤其重要。 B.独立的模块比拟简洁测试和维护。这是因为相对说来修改设计和程序须要的工作量比拟小,错误传播范围小,须要扩大功能时能够插入模块。总之,模块独立是优秀设计的关键,而设计又是确定软件质量的关键环节。3. 模块的独立程度可以由两个定性标准度量:内聚和耦合。4. A.具有独立的模块的软件比拟简洁开发出来。这是由于能够分割功能而且接口可以简化,当很多人分工合作开发同一个软件时,这个优点尤其重要。B.独立的模块比拟简洁测试和维护。主要包括哪些内容?1. 工作范围A. 系统目标B. 运行环
22、境C. 主要软件需求D. 设计约束/限制2. 体系构造设计A. 数据流与限制流复审B. 导出的程序构造C. 功能与程序穿插索引3. 数据设计A. 数据对象与形成的数据构造B.C. 全局数据D. 文件/数据与程序穿插索引4. 接口设计A. 人机界面规格说明B. 人机界面设计规那么C.D. 内部接口设计规那么5. 各部件的过程设计A. 处理与算法描述B. 接口描述C. 设计语言或其他描述D. 运用的部件E. 内部程序逻辑描述F. 注释/约束/限制6. 运行设计A. 运行部件组合B. 运行限制C. 运行时间7. 出错处理设计A. 出错处理信息B.8. 平安保密设计9. 需求/设计穿插索引10. 测试
23、局部A. 测试方针B. 集成策略C. 特殊考虑11. 特殊注解12. 附录第五章5.1简述数据流图的主要思想,概述运用数据流图进展需求分析的过程。数据流图描述输入数据流到输出数据流的变换即加工,用于对系统的功能建模。1. 画出系统的输入和输出A. 确定源和宿B. 确定加工C. 确定数据流D. 顶层图通常没有文件2. 画出系统内部A. 确定加工B. 确定数据流C. 确定文件D. 确定源和宿3. 画出加工内部4. 重复第3步,直至每个尚未分解的加工都足够简洁即不必再分解5.2分别采纳数据流方法中的哪些技术来完成用户需求的精确化, 一样化和完全化任务?1. 父图和子图平衡2. 数据守恒3. 局部文件
24、4. 一个加工的输入数据流不能与该加工的输入数据流同名5. 每个加工至少有一个输入数据流和一个输出数据流6. 在整套分层数据流中,每个文件应至少有一个加工读该文件,有另一个加工写该文件。7. 分层数据流图中得每个数据流和文件都必需命名除了流入或流出文件的数据流,并且与数据字典一样。8. 分层DFD中的每个根本加工即不再分解子图的加工都应有一个加工规约。略5.4在数据流图中,可否将两个加工用一个数据流相连?可否将两个源用一个数据流相连?为什么?两个加工可以干脆用数据流相连,两个源不能干脆用数据流相连。因为数据流由一组固定成分的数据组成。在DFD中,数据流的流向可以有以下几种:从一个加工刘向另一个
25、加工,从加工流向文件写文件,从文件流向加工读文件,从源流向加工,从加工流向宿。略5.6略5.7略5.8略5.9略第六章略第七章略第八章略第九章略第十章略第十一章11.1软件测试的目的是什么?软件测试的目的是发觉软件中的错误和缺陷,并加以订正。11.2什么是白盒测试?什么是黑盒测试?白盒测试又称构造测试,这种方法把测试对象看做一个透亮的盒子,测试人员依据程序内部的逻辑构造及有关信息设计测试用例,检查程序中全部逻辑路径是否都按预定的要求正确地工作。白盒测试主要用于对程序模块的测试。包括:l 程序模块中的全部独立路径至少执行一次。l 对全部逻辑判定的取值“真与“假都至少测试一次。l 在上下边界及可操
26、作范围内运行全部循环l 测试内部数据构造的有效性等黑盒测试又称行为测试,这种方法吧测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑构造和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符和它的功能需求。黑盒测试可用于各种测试,它试图发觉以下类型的错误:l 不正确或遗漏的功能l 接口错误,如输入输出参数的个数, 类型等l 数据构造错误或外部信息如外部数据库访问错误l 性能错误l 初始化和终止错误11.3略11.4略分别简述单元测试, 集成测试, 确认测试和系统测试的任务。1. 单元测试:又称模块测试,着重对软件设计的最小单元软件构件或模块进展验证。单元测试依据设计描述,对重要的限
27、制路径进展测试,已发觉构建或模块内部的错误,通常采纳白盒测试,并且多个构件或模块可以并行测试。单元测试的主要内容:接口, 局部数据构造, 边界条件, 独立路径和错误处理路径。2. 集成测试:也叫组装测试或联合测试。在单元测试的根底上,将全部模块依据要求如依据构造图组装成为子系统或系统,进展集成测试。运用黑盒测试方法测试集成的功能,并且对以前的集成进展回来测试。3. 确认测试:经集成测试后,已经依据设计把全部的模块组装成一个完整的软件系统,接口错误也已经根本解除了,接着就应当进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能犹如用户所合理期盼的那样。4. 系统测试:将已经确认的软件
28、, 计算机硬件, 外设, 网络等其他元素结合在一起,进展信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进展的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之冲突的地方,从而提高更加完善的方案。测试?什么是测试?1. 测试时由一个用户在开发者的场所进展的测试,软件在开发者对用户的“指导下进展测试。经过测试后的软件成为版软件。2. 测试是指软件开发公司组织各方面的典型用户在日常工作中实际运用版本,并要求用户报告异样状况, 提出指责意见,然后软件开发公司再对版本进展改错和完善。11.7什么是回来测试?回来测试就是对已经进展过的测试的子集的重新执行,以确保对程序的变
29、更和修改,没有传播非成心的副作用。11.8简述边界值分析方法的作用。长期的测试工作经验告知我们,大量的错误时发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界状况设计测试用例,可以查出更多的错误。第十二章略第十三章请探讨时软件维护本钱居高不下的因素。如何尽可能降低这些因素的影响?1.a) 软件的维护周期长;b) 须要维护的软件往往没有文档, 或文档资料严峻缺乏, 或软件的变更未在相应的文档中反映出来;c) 维护活动占用了其它软件开发可用的资源,使资源的利用率降低;d) 一些修复或修改恳求得不到刚好支配,使得客户满足率下降;e) 维护的结果把一些新的潜在的错误引入软件
30、,降低了软件质量;f) 将软件人员抽调到维护工作中,使得其他软件开发过程受到干扰。2.a) 确定质量管理目标和优先级;b) 运用提高软件质量的技术和工具;c) 选择可维护性高的程序设计语言;d) 完善程序文档;e) 进展质量保证审查13.2略13.3软件维护过程是如何进展的?为什么要进展软件可维护性分析?1. 软件维护过程包括:建立维护组织;确定维护过程;保管维护记录;进展维护评价等四个阶段。2. 可维护性是指理解, 改正, 调整和改良软件的难易程度。进展可维护性分析有利于做出正确的确定,进而实行相应的方法应对客户的需求,对的确不能或者没有进展维护的价值的软件坚决不进展维护,对于可以维护的软件
31、来说,可维护性分析有助于我们了解软件状况,从而做出相应的维护措施13.4略13.5略13.6略13.7在重构和正向工程之间存在的微小不同是什么?重构是指在统一抽象级别上转换系统的描述形式;正向工程过程应用软件工程的原理, 概念, 技术和方法来重新开发某个现有的应用系统。从概念可以看出,重构是从一个系统环境转换到另一个系统环境,而正向工程那么是重新开发,从零开场,没有肯定根底的。13.8略第十四章14.1何谓软件工程管理?软件工程管理与传统工程管理的不同点与一样点?软件工程管理的对象是软件工程工程。它所涉及的范围覆盖了整个软件工程过程。 为使软件工程开发获得胜利,关键问题是必需对软件工程的工作范
32、围, 可能风险, 须要资源(人, 硬件/软件), 要实现的任务, 经验的里程碑, 花费工作量(本钱), 进度支配等做到心中有数。工程管理的思想是共同的,不过,遇到不同的行业会有不同的管理方式。软件的工程管理是个特例,更倾向与对人工的管理,人工本钱是构成软件工程本钱的主要因素。传统行业工程管理中,人, 材, 机都是构成工程本钱的重要因素。略略14.4何谓软件工程管理过程?其目的是什么?软件工程管理过程从工程方案活动开场,而第一项方案活动就是估算:须要多长时间, 须要多少工作量, 以及须要多少人员。此外,我们还必需估算所须要的资源硬件及软件和可能涉及到的风险。加强软件工程管理,就是以软件工程的各个
33、环节为管理主线,将动态工程管理贯穿其中,通过对软件开发的工程范围, 工程进度, 工程质量, 工程沟通, 人力资源, 工程本钱六大核心要素的集成管理,实现软件开发管理效能的最大化,从而大大提高软件的开发质量。14.5略14.6如何理解任务分解及困难性限制。将一个工程分解为更多的工作细目或者子工程,使工程变得更小, 更易管理, 更易操作,此过程称为任务分解。14.7软件工程启动前应完成哪些活动?在软件工程启动前,必需对该工程进展可行性分析,明确工程的目标和范围,并在此根底上选择候选的解决方案及可采纳的软件过程模型,估算新系统可能的开发和运行本钱及其效益,同时给出该工程在技术和管理上的要求。14.8
34、略14.9略14.10略14.11略14.12略14.13略14.14略14.15什么是间接测量?为什么在软件度量工作中常常用到这类测量?测量与被测量有确定函数关系的量,由函数关系表达式运算,得到所需的被测量。产品的间接测量包括功能, 质量, 困难性, 有效性, 牢靠性, 可维护性等。构造软件所需的本钱和工作量, 生产的代码行数, 以及其他干脆测量是相对简洁收集到的,然而,软件的质量和功能或其成效或可维护性是更难于评估的,只能间接测量。14.16略14.17略“风险和“可预料风险之间的差异。风险,是通过细致评估工程方案, 开发工程的商业及技术环境, 以及其它牢靠的信息来源如:不现实的交付时间,没有需求或软件范围的文档, 恶劣的开发环境之后可以发觉的那些风险。可预料风险,能够从过去工程的经验中推想出来如:人员调整,与客户之间无法沟通,由于须要进展维护而使开发人员精力分散。14.19略