软件工程概述习题及答案
软件工程习题及解答

软件工程第一章习题一、选择题1、软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2、开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3、从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理二、简答题1、美国一家公司在1982年计划用FORTRAN语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN指令。
软件工程简述题(含答案)

考试题型题量:一、单项选择题(每小题2分,共40分,二、填空题(每空1分,共10分)三、判断题(每题1分,共20分。
)四、简答题(每题5分,共30分)搞清楚概念:软件工程软件工程是指导计算机软件开发和维护的一门工程学科软件工程一是把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件,二是研究上述一中提到的途径。
目的:提高质量、降低成本即可维性强原则:选取适宜的开发模型,采用合适的设计方法,提供高质量的工程支持,重视软件工程的管理1.软件工程生命周期软件生命周期(Software Life Cycle,SLC)是软件的产生直到报废或停止使用的生命周期。
软件生命周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,也有将以上阶段的活动组合在内的迭代阶段,即迭代作为生命周期的阶段。
2.可行性研究可以从哪几个方面着手进行可行性的分析?提示:经济上,技术上,操作上经济上:主要是从资源配置的角度衡量项目的价值,评价项目在实现区域经济发展目标、有效配置经济资源、增加供应、创造就业、改善环境、提高人民生活等方面的效益。
技术上:主要考虑使用现有的技术,能否在预定时间内实现该系统的功能;所选择的技术是否先进,合理;在开发过程中能否克服存在的技术难点;参与开发系统的软件人员所能达到的技术水平;所实现系统能否性能的需求等;操作上:主要分析系统的运行方式、操作规程在用户组织内是否可以有效、顺利实施等问题。
3.软件开发模式有几种快速原型模式,增量模型,原型模型,喷泉模型,螺旋模型,瀑布模型。
4.软件界面设计的三条黄金规则。
让用户拥有控制权,减少用户的记忆负担,保持界面的一致。
5.软件设计的启发规则改进软件结构跳模块独立性,模块规模应该适中,深度、宽度、扇出和扇入都应该适当,模块的作用域应该在控制域之内,降低模块接口的复杂程度,设计单入口出口的模块,模块功能应该可以预测。
(完整版)软件工程概论课后习题答案

项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。
优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。因此,最重要的系统服务将接受最多的测试。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:
(1)缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。
(2)软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3)软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。
(4)随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
(3)软件设计:本阶段要回答的关键问题是“目标系统如何做?”为此,必须在设计阶段中制定设计方案,把已确定的各项需求转换成相应的软件体系结构。结构中的每一组成部分都是意义明确的构件,此即所谓概要设计。进而具体描述每个构件所要完成的工作,为源程序编写打下基础,此即所谓详细设计。
(4)程序编码和单元测试:本阶段要解决的问题是“正确地实现已做的设计”,为此,需要选择合适的编程语言,把软件设计转换成计算机可以接受的程序代码,并对程序结构中的各个模块进行单元测试,然后运用调试的手段排除测试中发现的错误。要求编写出的程序应当是结构良好、清晰易读的,且与设计相一致的。
1.3如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?
可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1.4什么是软件危机?它有哪些典型表现?为什么会出现软件危机?
软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。
1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。
它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。
2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。
它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。
2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。
功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。
3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。
3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。
面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。
4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。
4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。
编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。
5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。
软件工程概论的练习题及答案

概述一、填空题1、软件由计算机程序、数据和文档组成;2、软件是一种逻辑产品,它与物质产品有很大的区别;3、计算机系统由硬件、软件、使用计算机的人、数据库、文档和执行过程组成;4、软件的发展,到现在为止,经历了三个阶段:程序设计、程序系统和软件工程;5、程序设计时代的生产方式是个体手工艺者,程序系统时代的生产方式是手工作坊,软件工程时代的生产方式是工程化;6、软件工程是一门综合性的交叉学科,它涉及计算机学科工程学科、管理学科和数学学科;7、计算机科学的成果都可用于软件工程,但计算机科学着重于理论和原理,软件工程着重于建造软件系统;8、软件工程研究的主要内容是方法、过程和工具等三个方面;9、软件开发各阶段任务的划分应尽可能相对独立,同一阶段任务的性质应尽可能相同;10、瀑布模型是将软件生存期各个活动规定为依线性顺序连接的若干阶段的模型;它规定了各阶段的活动由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落;11、演化模型是一种非整体开发模型;先开发一个原型软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的产品;12、螺旋模型将开发过程分为几个螺旋周期;在每个螺旋周期内分为四个工作步骤:制定计划、风险分析、开发实施、用户评估;13、喷泉模型是一种以用户要求为动力,以对象为驱动的模型;它使开发过程具有迭代性和无间隙性,适用于面向对象开发方法;二、单项选择题1、软件产品的生产主要是C;A.制造B.复制C.开发D.研制2、个体手工劳动是B时代的软件生产方式;A.程序系统B.程序设计C.软件工程D.程序编码3、软件工程是一门C学科;A.理论性B.原理性C.工程性D.心理性4、软件开发费用只占软件生存期全部费用的B;35、在软件开发过程中大约要花费C%的工作量进行测试和调试;、准确地解决“软件系统必须做什么”是B阶段的任务;A.可行性研究B.需求分析C.软件设计D.程序编码7、软件生存期中时间最长的是D阶段;A.需求分析B.软件设计C.软件测试D.软件运行/维护8、在软件生存期的模型中,D适合于大型软件的开发它吸收了软件工程中“演化”的概念;A.喷泉模型B.基于知识的模型C.瀑布模型D.螺旋模型9、在软件生存期中,用户的参与主要在A;A.软件定义阶段B.软件开发阶段C.软件维护阶段D.整个软件生存期过程中10、在软件开发过程中的每个阶段都要进行严格的D,以尽早发现在软件开发过程中产生的错误;A.检验B.验证C.度量D.评审11、在软件开发和维护过程中需要变更需求时,为了保持软件各个配置成分的一致性,必须实施严格的BA.产品检验B.产品控制C.产品标准化D.开发规范12、实践表明,采用先进的开发技术可提高软件开发的生产率,还可提高软件的D;A.可靠性B.可使用性C.安全性D.可维护性13、为了提高软件开发过程的A,有效地进行管理,应当根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准;A.可见性B.生产率C.安全性D.有效性14、随着开发小组人数的A,因交流开发进展情况和讨论遇到的问题而造成的通信开销也急剧增加;A.增加B.降低C.稳定D.不稳定15、为保证软件开发的过程能够跟上技术的进步,必须不断地灵活地改进软件工程C;A.原则B.工具C.过程D.方法三、选择填空题1、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内;软件是计算机系统中与硬件相互依存的另一部分,它是包括②、⑦及⑤的完整集合;其中,②是按事先设计的功能和性能要求执行的指令序列;⑦是使程序能够正确操纵信息的数据结构;⑤是与程序开发、维护和使用有关的图文材料;供选择的答案:A~C.①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内;开发软件时对提高软件开发人员工作效率至关重要的是①;软件工程中描述生存周期的瀑布模型一般包括计划、①、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成③和⑥两步;供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内;有人将软件的发展过程划分为4个阶段:第一阶段1950~1950年代末称为“程序设计的原始时期”,这时既没有A ,也没有B ,程序员只能用机器指令编写程序;第二阶段1950年代末~1960年代末称为“基本软件期”;出现了①,并逐渐普及;随着④的发展,编译技术也有较大的发展;第三阶段1960年代末~1970年代中期称为“程序设计方法时代”;这一时期,与硬件费用下降相反,软件开发费急剧上升;人们提出了⑤和⑧等程序设计方法,设法降低软件的开发费用;第四阶段1970年代中期~现在称“软件工程时期”;软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如⑤、④、编码、单元测试、综合测试、①及其整体有关的各种管理技术;供选择的答案:A~D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E~G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内;软件工程的最终目的是以较少的投资获得可维护的、可靠的、高效率的和可理解的软件产品;软件工程技术应遵循⑦、④、⑥、③、一致性、确定性、完备性、可验证性、抽象和信息隐蔽;原型法适用于开发较复杂的系统,原型可分为三种:②、⑤和④;供选择的答案:A~D①有效性②合理性③局部化④协同性⑤实用性⑥模块化⑦抽象⑧信息隐蔽E~G:①复用型②实验型③废弃型④演化型⑤探索型项目管理一、填空题1、要成功地完成软件开发工作的一个主要的决定性因素是项目管理;2、软件过程是软件生存期中的一系列相关工程活动集合;3、所有的软件开发都可以看成是一个问题循环解决过程,其中包括4个截然不同的阶段:状态捕捉、问题定义、技术开发和方案综合;4、在制定软件项目计划之前,必须先明确项目的目标和范围;项目的目标标明了软件项目的目的但不涉及如何去达到这些目的;5、对软件进行度量,是为了表明软件产品的质量,弄清软件开发人员的生产率,建立项目估算的基线,帮助调整对新的工具和附加培训的要求;6、软件质量的事后度量包括正确性、可维护性、完整性和可使用性;其中完整性包括危险性和安全性;7、软件范围包括功能、性能、限制、接口和可靠性;8、软件项目计划的第二个任务是对完成该软件项目所需的资源进行估算;资源包括人与工具;9、对于一个大型的软件项目,要进行一系列的估算处理;主要靠分解和类推的手段进行;10、基本COCOMO模型是一个静态单变量模型,它用一个已估算出的源代码行数LOC为自变量的经验函数来计算软件开发工作量;11、成本-效益分析的目的,是从经济角度评价开发一个新的软件项目是否可行;12、风险估计从两个方面估价风险;一是估计一个风险发生的可能性;一是估价与风险相关的问题出现后将会产生的结果;13、一个软件任务由一个人单独开发,生产率最高;14、在与软件成本相关的影响因素中,人员的能力是最大影响因素;15、软件开发所需的人力随开发的进展逐渐增加,在编码与单元测试阶段达到高峰,以后又逐渐减少;16、在建立项目组织时应注意的原则有三:①尽早落实责任,指定专人负责;②减少接口,要有合理的人员分工、好的组织结构、有效的通信,减少不必要的生产率的损失;③责权均衡;17、风险出现概率可以使用从过去项目、直觉或其它信息收集来的度量数据进行统计分析估算出来;18、用各种不同的方法对风险进行分类是可能的;从宏观上来看,可将风险分为项目风险、技术风险和商业风险;二、选择题1、所有的软件开发都可以看成是一个问题B过程;A.顺序解决B.循环解决C.分类解决D.分组解决2、软件项目管理所涉及的范围覆盖了整个软件D;A.开发过程B.运行与维护过程C.定义过程D.生存期3、为使软件开发获得成功,一个关键问题是必须对软件范围、风险、资源、任务、里程碑、成本,进度等做到心中有数,而C可以提供这些信息;A.计算机辅助工程B.软件开发工具C.软件项目管理D.软件估算4、软件范围标明了软件要实现的基本功能,并尽量以A的方式界定这些功能;A.定量B.规范C.统一D.定性5、只要事先建立特定的度量规程,很容易做到B开发软件所需要的成本和工作量、产生的代码行数等;A.间接度量B.直接度量C.间接估算D.直接估算6、为了计算特征点,可以像计算功能点那样,对信息域值进行计数和加权;此外,需要对一个新的软件特征A进行计数;A.算法B.计算误差C.程序复杂性D.效率7、对于软件的D,有一种简单的面向时间的度量,叫做平均变更等待时间MTTCMeanTimeToChange;这个时间包括开始分析变更要求、设计合适的修改、实现变更并测试它、以及把这种变更发送给所有的用户;A.可靠性B.可修改性C.可测试性D.可维护性8、软件的完整性是度量一个系统抗拒对它的C攻击事故的和人为的的能力;A.可靠性B.正确性C.安全性D.容错性9、对每一种软件资源,应说明4个特性:资源的描述,资源的有效性说明,资源在何时开始需要,使用资源的持续时间;最后两个特性统称为A;A.时间窗口B.时间安排C.日程安排D.资源定义10、业务系统计划工具借助特定的C建立一个组织的战略信息需求的模型,导出特定的信息系统;A.过程性语言B.形式化语言C.元语言D.伪码11、软件开发成本主要是指软件开发过程中所花费的B及相应的代价;A.劳动力B.工作量C.资源D.持续时间12、自顶向下估算软件成本的方法主要是从项目的整体出发进行B,即根据已完成项目的总成本或总工作量,来推算待开发软件的总成本或总工作量,然后按比例将它分配到各开发任务单元中去;A.分解B.类推C.推导D.评估13、自底向上估算软件成本的方法主要是把待开发软件A,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发的总工作量;A.分解B.类推C.推导D.评估16、系统的经济效益B因使用新系统而增加的收入加上使用新系统可以节省的运行费用;A.大于B.等于C.小于D.不等于17、项目复杂性、规模和结构的不确定性构成C估算风险因素;A.技术B.经济C.项目D.商业18、识别风险的一种最好的方法就是利用一组A来帮助人们了解在项目和技术方面有哪些风险;因此,Boehm建议使用一个“风险项目检查表”;A.提问B.项目C.脚本D.场景19、在做风险评价时常采用的一个非常有效的方法就是定义D;A.风险评价标准B.风险影响因子C.风险调整因素D.风险参照水准21、当几个人共同承担软件开发项目中的某一任务时,人与人之间必须通过交流来解决各自承担任务之间的A 问题,即所谓通信问题;A.接口B.衔接C.调用D.控制22、假设一个人单独开发软件,生产率是5000行/人年;若4个人组成一个小组共同开发这个软件,在每条通信路径上耗费的工作量是250行/人年;则组中每人的生产率降低为C、PERT技术叫做B技术,它是采用网络图来描述一个项目的任务网络,安排开发进度,制定软件开发计划的最常用的方法;A.日程安排B.计划评审C.关键路径D.因果图24、在进度压力下赶任务,其成果往往是以B产品的质量为代价的;A.浪费B.牺牲C.抵押D.维持三、选择填空题1、从供选择的答案中选出与下列有关软件过程叙述相对应的正确答案,将其编号填入到相应的括弧内;软件过程是软件4中的一系列相关软件工程3的集合;每一个软件过程又是由一组6、项目8、软件工程产品和交付物以及质量保证SQA点等组成;一个软件过程可以用右图的形式来表示;首先建立一个2过程框架,其中定义了少量可适用于所有软件项目的框架3,再给出各个框架3的任务集合,最后是保护伞活动,如软件质量保证、软件配置管理以及测量等;软件过程模型的选择基于项目和应用的特点、采用的5和工具、要求的控制和需交付的产品;A.④B.③C.⑥D.⑧E.②F.⑤供选择的答案:A~F.①工程②公共③活动④生存期⑤方法⑥工作任务⑦功能⑧里程碑2、从供选择的答案中选出与下列有关软件项目管理叙述相对应的正确答案,将其编号填入到相应的括弧内; 由于软件工程有如下的特点,使软件管理比其它工程的管理更为困难;软件产品2;6标准的过程;大型软件项目往往是3项目;2的作用是为有效地定量地进行管理,把握软件工程过程的实际情况和它所产生的产品质量;在制定计划时,应当对人力、项目持续时间、成本作出4;5实际上就是贯穿于软件工程过程中一系列风险管理步骤;最后,每一个软件项目都要制定一个1,一旦6制定出来,就可以开始着手5;供选择的答案:A.②B.⑥C.③D.②E.④F.①G.⑥H.⑤A~C.①可见的②不可见的③“一次性”④“多次”⑤存在⑥不存在D~H.①进度安排②度量③风险分析④估算⑤追踪和控制⑥开发计划3、从供选择的答案中选出与下列有关软件度量叙述相对应的正确答案,将其编号填入到相应的括弧内;软件的度量包括A1和B4;软件产品的A1包括产生的代码行数、执行速度等;软件产品的B则包括若干质量特性;我们还可进一步将软件度量如右图所示那样分类;软件C度量主要关注软件工程过程的结果;D度量则指明了软件适应明确和不明确的用户要求到什么程度;E度量主要关注软件的一些特性而不是软件开发的全过程;从图中还可看到另一种分类方法:面向F的度量用于收集与直接度量有关软件工程输出的信息和质量信息;面向G的度量提供直接度量的尺度;面向H的度量则收集有关人们开发软件所用方式的信息和人们理解有关工具和方法的效率的信息;A.①B.④C.④D.①E.②F.⑤G.⑦H.③供选择的答案:A~B.①直接度量②尺度度量③二元度量④间接度量C~E.①质量②技术③成本④生产率F~H.①过程②对象③人④存取⑤规模⑥进程⑦功能⑧数据4、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内;估算资源、成本和进度时需要经验、有用的历史信息、足够的定量数据和作定量度量的勇气;通常估算本身带有A;项目的复杂性越高,规模越大,开发工作量B,估算的A就C;项目的结构化程度提高,进行精确估算的能力就能D,而风险将E;有用的历史信息F,总的风险会减少;供选择的答案:A.③B.②C.⑦D.①E.③F.②A.①风范范型②风格③风险④度量B~F.①增加②越多③降低④不变⑤越少⑥越高⑦越大5、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内;在软件项目估算时,将代码行LOC和功能点FP数据在两个方面使用:一是作为一个估算变量,度量软件每一个A的大小;一是联合使用从过去的项目中收集到的B和其它估算变量,进行成本和C估算;LOC和FP是两种不同的估算技术,但两者有许多共同的特征,只是LOC和FP技术对于分解所需要的D不同;当用E作为估算变量时,功能分解是绝对必要且应达到很详细的程度,而用F作为估算变量时,分解程度可以不很详细;E是直接估算,F 是间接估算;若计划人员对每个功能分别按最佳的、可能的、悲观的三种情况给出LOC或FP估计值,记作a,m,b,则LOC或FP的期望值E的公式为G,m是加权的最可能的估计值,遵循H;供选择的答案:A.③,B.⑦,C.⑤,D.①,E.②,F.①,G.②,H.③;A~C.①模块②软件项目③分量④持续时间⑤工作量⑥进度⑦基线数据⑧改进数据D.①详细程度②分解要求③改进过程④使用方法E,F.①FP②LOCG.①E=a+m+b/3②E=a+4m+b/6③E=2a+3m+4b/3④H.①χ概率②γ概率③β概率④泊松6、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内;在考虑各种软件开发资源时,A是最重要的资源;如果把软件开发所需的资源画成一个金字塔形:在塔的上层是最基本的资源A,在底部为B;B包括硬件资源和软件资源;C、D和其它硬件设备属于硬件资源;IPSE工具属于软件资源中的E;为了提高软件的生产率和软件产品的质量,可建立F;供选择的答案:A.②B.③C.②D.④E.⑥F.⑤A,B.①方法②人力③工具④上下文环境C,D.①虚拟机②目标机③自动机④宿主机E,F.①维护工具②分析设计工具③支持工具④编程工具⑤可复用构件库⑥框架工具⑦原型化模拟工具7、从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案,将其编号填入到相应的括弧内;定义一个人参加劳动时间的长短为A,其度量单位为PM人月或PY人年;而定义完成一个软件项目或软件任务所需的A为B,其度量单位是人月/项目任务,记作PM人月;进一步地,定义单位A所能完成的软件C的数量为软件D,其度量单位为LOC/PM;它表明一般指E的一个平均值;例如,一个软件的开发工作量如下表所示;该软件共有源代码2900行,其中,500行用于测试,2400行是执行F的源代码;则劳动生产率是GLOC/PM;供选择的答案:A.④B.②C.④D.①E.①F.②G.④A,B,D.①生产率②工作量③成本④劳动量E.①开发全过程②某开发阶段③软件生存期④某开发任务F,C.①软件②程序③进程④产品G.①520②120③320④2408、从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案,将其编号填入到相应的括弧内;对于一个大型的软件项目,由于项目的复杂性,需要进行一系列的估算处理;主要按A和B手段进行;估算的方法分为三类:从项目的整体出发,进行B的方法称为C估算法;把待开发的软件细分,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发总工作量的方法称为D估算法;而把待开发的软件项目与过去已完成的软件项目做类比,区分出类似部分和不同部分分别处理的方法称为E估算法;F是由多位专家进行成本估算的方法;供选择的答案:A.③,B.①,C.②,D.③,E.①,F.④A,B.①类推②类比③分解④综合C~F.①差别②自顶向下③自底向上④专家判定技术⑤循序渐进⑥比较10、从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案,将其编号填入到相应的括弧内; 一个规模为10KDSI的商用微机远程通信的嵌入型软件,使用中间COCOMO模型进行软件成本估算;程序的名义工作量MM=A;程序实际工作量MM=B;开发所用的时间TDEV=C;如果软件开发人员的工资都按每月6000美元计算,则该软件项目的开发人员的工资总额=D;表1中间COCOMO模型的名义工作量与进度公式表2影响工作量的因素fi的取值A.③,B.②,C.①,D.④供选择的答案:A,B.①②③④.①月②月③月④月D.①万美元②36万美元③万美元④万美元11、从供选择的答案中选出与下列有关软件成本-效益分析叙述相对应的答案,将其编号填入到相应的括弧内; 假设开发某个计算机应用系统的投资额为3000元,该计算机应用系统投入使用后,每年可以节约1000元,5年内可能节约5000元;3000元是现在投资的钱,5000元是5年内节省的钱,两者不能简单地比较;假定年利率为12%,利用计算货币现在价值的公式,可以算出该计算机应用系统投入使用后每年预计节省的金额的现在价值;A.④,B.②,C.③则该系统的纯收入是A,投资回收期是B,投资回收率为C;供选择的答案:A.①元②元③元④元B.①年②年③年④元C.①25%②30%③20%④15%12从供选择的答案中选出与下列有关软件风险分析叙述相对应的正确答案,将其编号填入到相应的括弧内; 在特定情况下,是否必须进行风险分析,是对项目开发的形势进行A后确定的;A可以按如下步骤进行:明确项目的目标、总策略、具体策略和为完成所标识的目标而使用的方法和资源;保证该目标是B,项目成功的标准也是B;考虑采用某些条目作为项目成功的C;根据估计的结果来确定是否要进行风险分析;一般来说,风险分析的方法要依赖于特定问题的需求和有关部门所关心的方面;具体分3步进行;第一步识别潜在的风险项,首先进行D过程;第二步估计每个风险的大小及其出现的可能性,选择一种E,它可以估计各种风险项的值;第三步进行风险评估;风险评估也有三个步骤:确定F,确定G,把风险与“参照风险”做比较;供选择的答案:A.②B.①C.②D.②E.③F.④G.③A.①风险管理②风险估计③风险评价④风险测试B.①可度量的②不可度量的③准确的④不确定的C.①规范②标准③过程模型④设计要求D,E.①信息分类②信息收集③度量尺度④标准⑤度量工具⑥信息获取F,G.①风险的范围②风险的特性③风险的级别④风险的评价标准⑤风险的排除策略13、从供选择的答案中选出与下列有关软件风险分析叙述相对应的正确答案,将其编号填入到相应的括弧内; 风险分析实际上是4个不同的活动,按顺序依次为A、B、风险评价和C;在风险评价时,应当建立一个三元组:ri,li,xi,ri是风险描述,li是D,而xi是风险的影响;一个对风险评价很有用的技术是定义E;F、G、H是三种典型的E;在做风险分析的上下文环境中一个E就存在一个单独的点,叫做参照点或I;在这个点上要公正底给出判断;实际上,参照点能在图上表示成一条平滑的曲线的情况很少,多数情况它是一个J;供选择的答案:A.②,B.③,C.①,D.②,E.①,F.③,G.④,H.⑥,I.②,J.④A~C.①风险驾驭和监控②风险识别③风险估计④风险消除D.①风险的大小②风险的概率③风险的时间④风险的范围E.①风险参照水准②风险度量③风险监控④风险工具F~H.①生产率②功能③成本④进度⑤范围⑥性能I,J.①凹点②崩溃点③终点④区域⑤拐点⑥原点14、从供选择的答案中选出与下列有关软件进度管理叙述相对应的正确答案,将其编号填入到相应的括弧内; 任何软件项目都必须做好项目管理工作,最常使用的进度管理工具是A,当某一开发项目的进度有可能拖延时,应该B;对于一个典型的软件开发项目,各开发阶段需投入的工作量的百分比大致是C;各阶段所需不同层次的技术人员大致是D,而管理人员在各阶段所需数量也不同,相对而言大致是E;供选择的答案:A.①数据流图②程序结构图③因果图④PERT图B.①增加新的开发人员②分析拖期原因加以补救③从别的小组抽调人员临时帮忙④推迟预定完成时间。
软件工程第一二三章习题参考答案.doc

软件工程第一二三章习题参考答案第一章软件工程概述软件是计算机程序及其有关的数据和文档的结合。
软件危机是指在计算机软件开发和维护时所遇到的一系列问题。
软件危机主要包含两方面的问题:一是如何开发软件以满足对软件日益增长的需求;二是如何维护数量不断增长的已有软件。
软件工程是软件开发、运行、维护和引退的系统方法。
软件工程是指导计算机软件开发和维护的工程学科。
软件工程采用工程的概念、原理、技术和方法来开发与维护软件。
软件工程的目标是实现软件的优质高产。
软件工程学的主要内容是软件开发技术和软件工程管理。
软件开发方法学是编制软件的系统方法,它确定软件开发的各个阶段,规定每一阶段的活动、产品、验收的步骤和完成准则。
常用的软件开发方法有结构化方法、面向数据结构方法和面向对象方法等。
习题参考答案:1.什么是软件危机?为什么会出现软件危机?答:软件危机是指在计算机的开发和维护过程中所遇到的一系列严重问题。
这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。
出现软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中逻辑件而不是物理部件。
管理和控制软件开发过程相当困难。
软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业人员对软件开发和维护还有不少糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。
总结如下:1)取得正确的用户需求和正确地描述需求很困难2)开发人员对需求的正确理解也有困难3)常常在没有正确理解之前就仓促开始编程4)软件项目缺乏有效的组织、管理和内部交流5)缺乏软件开发方法、模型和工具的支持6)软件维护的困难性2.假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件已经完成时再引入变动,当然付出的代价更高。
软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。
可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
软件工程概述习题及答案

软件工程概述习题及答案第一章软件工程概述一. 填空题1. 软件的发展过程, , , .2. 基于软件的工作方式,软件可以划分为, , , .3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境.4. 在计算机系统中,软件是, 而硬件是.5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。
6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。
7. 软件生存期若分为三个大的阶段,,.8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。
9. 在软件的生存周期开发阶段要经三个步骤, , 。
10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。
11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,,和四个步骤。
12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。
采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。
螺旋线第一圈的开始点可能是一个____ 。
从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。
13. 软件开发模型, , , , , .14. 软件工程面临的问题有, , , .15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和.16.基于软件的功能划分可以把软件划分为, ,和。
17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。
为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。
18.软件工程是指导的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章软件工程概述一. 填空题1. 软件的发展过程, , , .2. 基于软件的工作方式,软件可以划分为, , , .3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境.4. 在计算机系统中,软件是, 而硬件是.5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。
6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。
7. 软件生存期若分为三个大的阶段,,.8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。
9. 在软件的生存周期开发阶段要经三个步骤, , 。
10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。
11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,,和四个步骤。
12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。
采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。
螺旋线第一圈的开始点可能是一个____ 。
从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。
13. 软件开发模型, , , , , .14. 软件工程面临的问题有, , , .15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和.16.基于软件的功能划分可以把软件划分为, ,和。
17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。
为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。
18.软件工程是指导的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
19.为了开发出低成本高质量的软件产品,软件工程学应遵守以下基本原则:, ,和, 。
20.原型模型是从需求分析开始。
软件开发者和用户在一起定义,说明需求,并规划出定义的区域。
然后快速设计软件中对用户/客户可见部分的表示。
快速设计导致了原形的建造,原形由用户/客户评估,并进一步求精。
二. 选择题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. 瀑布模型的存在问题是()A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D. 适用可变需求7.螺旋模型的开发实施基本和( )模型相吻和.A.瀑布B.再利用组装C.螺旋D.原型8.软件生命周期中所花费用最多的阶段是()A.详细设计B.软件编码C.软件测试D.软件维护9.()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A.软件过程B.软件工具C.质量保证D.软件工程10.综合测试是在软件周期的( )阶段制定的,在综合测试完成的.A.需求分析B. 概要设计C. 综合测试D.确认测试11.确认测试计划在软件生存周期的( )阶段制定的,在确认测试阶段完成的.A.需求分析B.概要设计C.综合测试D.确认测试12. 下列关于瀑布模型的描述正确的是()。
A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。
B. 瀑布模型具有良好的灵活性。
C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。
D. 利用瀑布模型,如果发现问题修改的代价很低。
13.软件计划阶段要求()的交互和配合。
A.分析人员和设计人员B.分析人员和用户C.设计人员和用户D.代码开发人员和用户14.软件危机是指在软件开发和维护中所产生的一系列严重的问题,在这些问题中相对次要的因素是()A.文档质量B.程序中的解释C.软件性能D.开发进度15.软件计划的任务是为项目负责人提供对软件资源、成本和进度的估价。
其中对系统各种功能的界限划分应属于下列哪种任务A.分析B.估价C.制定进度D.进度分配16.软件文档时影响软件可维护性的重要因素,软件系统的文档可分为用户文档和系统文档。
导致软件开发进度与软件文档完全脱节的根本原因是()A.文档规范程度低B.生成文档的工具不够先进C.开发者不公重视D.工程化程度尚低17.瀑布模型把软件生存周期划分为软件定义、()与运行及维护三个阶段,每一个阶段又可细分为若干更小的阶段。
A.可行性分析B.详细设计C.编码阶段D.软件开发18.软件开发的原型化方法最有效的应用领域是()A.科学计算B.工程设计C.管理信息D.实时控制19.软件生命周期过程中,用户的参与主要在()A.软件定义阶段B.软件开发阶段C.软件维护阶段D.整个软件生命周期过程中20.结构化生命周期方法是将软件生命周期的各项活动规定为按固定次序连接的若干阶段的工作,因其特征而一般称为( )A.层次模型B.瀑布模型C.螺旋模型D.对象模型三. 名词解释1软件2系统软件3实时处理软件4.软件工程5.软件危机6.软件生存周期7.瀑布模型8.螺旋模型四. 简答题1.说出软件的特点.2.简述软件的种类.3.简述关键软件的特点.4.软件危机主要有哪些表现其产生的原因是什么5.软件工程有哪些原则6.简述软件工程目标和面临的主要问题。
7. 软件生成周期一般可分为哪几个阶段8. 软件的质量保证工作不能等到编码阶段结束之后再进行,简述其理由9. 简述软件工程研究的基本内容与目标10. 在用瀑布模型开发软件时,每项开发活动均应具有哪些特征11. 简述第四代技术模型的优点和缺点。
简述在软件开发模型中原型模型的优点和缺点,适用范围和不适用范围第一章习题答案一. 填空题答案1.程序设计阶段程序系统阶段软件工程阶段第四阶段2. 实时处理软件分时软件交互式软件批处理软件3. 集中的主机分布的客户/服务器4. 逻辑部件物理部件5. 二三6. 管理人员开发人员用户使用维护人员7. 计划阶段开发阶段维护阶段8. 基准配置9. 设计编码测试10. 软件需求明确11. 制定计划风险分析开发实施用户评估12. 风险分析风险概念项目13.瀑布模型螺旋模型第四代技术模型原型模型构件组装模型混合模型14. 软件费用可靠性可维护性可重用性及生产率等15. 基本继承16.系统软件支撑软件应用软件17.大型软件软件危机计算机软件工程学18.计算机软件开发和维护19.分解抽象和信息隐蔽一致性确定性20.软件的总目标待开发软件的需求二. 选择题答案11 A 12 C 13 B 14 D 15 B 16 D 17 D 18 C 19 A 20C三. 名词解释答案1. 软件的定义如下:在运行中能提供所希望的功能和性能的指令集;使程序能正确运行的数据结构;描述程序研制过程和方法所用的文档。
2.系统软件:是与计算机硬件紧密配合以使计算机的各个部件与相关软件及数据协调、高效工作的软件。
3.实时处理软件:指在事件或数据产生时,立即处理,并及时反馈信号,控制需要监测和控制的过程的软件。
4. 软件工程是指导计算机软件开发和维护的一门学科5. 软件危机指的是软件开发和维护过程中遇到的一系列严重问题6.软件生存周期: 就是从提出软件产品开始,直到该软件产品被淘汰的全过程7. 瀑布模型又称生存周期模型,由提出,是软件工程的基础模型。
其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作8. 螺旋模型将瀑布模型与演化模型结合起来,并且加入两种模型均忽略了的风险分析,弥补了两者的不足四. 简答题答案1.软件既是知识产品,又是与汽车,建筑物一样的工业产品,此外,软件还具有类似艺术,学术那样的知识性创造和特点,因此,可以说软件就是独特的特点软件的特点如下:软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性;软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的;在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题;软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖关系;软件的开发尚未完全摆脱手工的开发方式;软件的开发费用越来越高,成本相当昂贵;软件的开发是一个复杂的过程,因而管理是软件开发过程中必不可少内容。
2. 软件的种类:基于软件的功能划分:系统软件支撑软件应用软件基于软件工作方式划分:实时处理软件分时软件交互式软件批处理软件基于软件规模的划分:微型软件小型软件中型软件大型软件甚大型软件极大型软件基于软件失效的影响进行划分:基于软件服务对象的范围划分:定制软件产品软件)可靠性质量要求高;(2)常与完成重要功能的大系统的处理部件相联;3)含有的程序可能对人员、公众、设备或设施的安全造成影响。
还可能影响到环境的质量和关系到国家的安全和机密。
4.软件危机主要表现如下:产品不符合用户的实际需要:软件开发生产率提高的速度远远不能满足客观需要,软件的生产率远远低于硬件生产率和计算机应用的增长速度,使人们不能充分利用现代计算机硬件提供的巨大潜力。
软件产品的质量差;对软件开发成本和进度的估计常常不准确;软件的可维护性差;软件文档资料通常既不完整也不合格;软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。
造成软件危机的原因是:软件的规模越来越大,结构越来越复杂。
软件开发管理困难而复杂。
软件开发费用不断增加。
软件开发技术落后。
生产方式落后。
开发工具落后,生产率提高缓慢。
5. 软件工程原则如下:用分阶段的生存周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;应能清楚地审查结果;合理安排软件开发小组的人员6.软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。
包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
面临的主要问题是:软件费用软件可靠性软件维护软件生产率软件重用。
6.软件生存周期一般分为如下几个阶段:S1:问题定义S2:可行性研究S3:需求分析S4:概要设计S5:详细设计S6:编码S7:测试S8:运行与维护软件生存期也可以分为三个大的阶段:计划阶段。