1、软件工程总复习提纲 第 1 页第一章:软件工程概述1. 软件及软件开发的特点是什么?(ppt)答:抽象性:逻辑实体,而非具体的物理实体无明显制造过程无磨损性:不会老化对硬件的依赖性:开发和运行受计算机系统限制软件的手工开发方式本身的复杂性:实际问题的复杂性程序逻辑结构的复杂性 高成本相当多的软件工作涉及到社会因素2. 软件危机是什么?(P1)软件危机有哪些表现?(P2 )产生软件危机的主要原因是什么?(Ppt)答:软件危机:计算机软件在开发和维护过程中所遇到的一系列严重问题。软件危机的表现:对软件开发成本和进度的估算很不准确用户很不满意质量很不可靠没有适当的文档软件工程总复习提纲 第 2 页软
2、件成本在计算机系统总成本中所占的比例逐年上升供不应求:软件开发生产率跟不上计算机应用迅速深入的趋势 软件危机的本质是:软件开发的高成本,低质量,低效率软件危机的原因:客观原因:软件本身特点决定的。主观原因:不正确的开发方法;缺乏高质量的人才、经验和管理;缺乏一种有效的、系统的、科学的原理、原则、方法和工具来指导软件的开发和维护;软件危机的解决途径:1、对计算机软件有个正确的认识,2、技术措施(方法和工具)3、必要的管理措施3. 软件工程的定义(P5)答:软件工程是指导计算机软件开发和维护的一门工程学科,采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间而验证正确的管理技术和当前能够得
3、到最好的技术方法结合起来,以经济的开发出有质量的软件并且有效维护的它,这就是软件工程。4. 软件包含些什么?程序、数据、文档(P5)填空题软件工程总复习提纲 第 3 页答:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合5. 软件工程方法学的三要素:过程、方法、工具(P9)填空题答:过程(Process)开发一个软件产品所需的步骤、需完成的各项活动和任务以及对这些任务和活动的组织和管理,它贯穿于软件开发的各个环节:包括需求分析、软件设计、人员组织、成本估算、质量保证等等。方法(Methods) 完成软件工程项目的技术手段。支持软件工程项目的计划和估算,软件需
4、求分析、设计、编码、测试和维护等等;例如结构化开发方法、面向对象的开发方法等等。工具(Tools) 自动或半自动地支持软件的开发和管理、文档的生成。6. 什么是软件的生命周期?(ppt)软件的生命周期分哪几个时期?哪几个阶段?每一个阶段的任务和阶段性成果分别是什么?(P1114 三个时期、八个阶段) (Ppt )答:软件生命周期是指从提出软件产品的开发开始,经过开发、使用和维护,及至该软件产品被最终淘汰的全过程。软件工程总复习提纲 第 4 页包括以下三个时期:软件定义:确定软件系统的需求;软件开发:软件开发人员确定如何完成并实现软件系统;软件使用与维护:软件提交给用户之后,还需经历使用、维护及
5、至最终退役的过程。以下八个阶段:1、问题定义任务:确切的定义需要解决的问题阶段成果:结果客户确认对的关于问题性质、工程目标、工程规模的报告。2、可行性研究,分为技术可行性、经济可行性。任务:解用户需求和现实环境,从技术、经济等方面研究并论证开发该软件系统的可行性;阶段成果:可行性论证报告,初步的项目开发计划3、需求分析任务:确定用户对待开发软件系统的需求,包括功能、性能、运行环境约束阶段成果:软件需求规格说明书4、总体设计任务:根据 SRS 建立目标软件系统的总体结构(模块的功能和接口、模块之间的控制关系) 、设计全局数据库或数据结构,规定设计约束,制定组装测试计划等软件工程总复习提纲 第 5
6、 页阶段成果:概要设计规格说明书,数据库或数据结构说明书,组装测试计划。5、详细设计任务:逐步细化总体设计所生成的各个模块,详细描述程序模块的内部细节(数据结构、工作流程等等) ,形成可编程的程序模块,制订单元测试计划。阶段成果:详细设计规格说明书6、编码和单元测试任务:基于某种程序设计语言,根据详细设计规格说明书编写程序,并对程序进行调试和单元测试,验证程序与详细设计文档的一致性。阶段新产品:源程序代码7、综合测试,最基本的是集成测试和验收测试任务:通过各种类型的测试及相应的调试,使软件达到预定的要求。阶段性产品:满足概要设计要求、可运行的系统源程序,系统集成测试报告8、软件维护关键任务是通
7、过必要的维护活动使系统持久的满足用户的需要,分为:改正性维护,完善性维护、适应性维护、预防性维护。软件工程总复习提纲 第 6 页7. 软件工程学研究的内容包括哪些?(软件开发技术和软件工程管理ppt)软件工程的目标有哪些?答:付出较低的开发成本达到要求的软件功能取得较好的软件性能开发的软件易于移植需要较低的维护费用能按时完成开发工作,及时交付使用8. 软件工程的七条基本原理是什么?(P7P9 )答:用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚的审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性软件工程总复习提纲 第 7 页软件开发模
8、型(Software Development Model):软件开发全过程、软件开发活动和任务的结构框架。9. 瀑布模型和快速原型模型的思想(P15P17 ) 。答:瀑布模型:也称之为软件生命周期模型,是戴反馈环的主要思想:阶段间具有顺序性和依赖性;邻二阶段之间存在线性因果关系,上一个阶段的输出是下一个阶段的输入。编码开始得越早,最终完成开发所需的时间越长(推迟实现的观点)阶段性文档;为了保障软件开发活动的正确性,在每一个活动完成之前,必须对该阶段的阶段性产品进行评审,正确之后才能进入下一阶段的工作。 (质量保证的观点)快速模型:快速建立起的可以在计算机上运行的程序,他所能完成的功能是最终产品
9、的功能的子集。第一步就是快速建立能反映用户主要需求的原型系统。是没有反馈环的。10.CASE 的定义( PPt)答:CASE( 计算机辅助软件工程:在软件工程活动中,软件开发人员按照软件工程的方法和原则,借助计算机及其软件工具的帮助来开软件工程总复习提纲 第 8 页发、维护和管理软件产品的过程。第二章:可行性研究1. 可行性研究的任务和目的(P35)答:任务:主要考虑三个方面:技术可行性、经济可行性、操作可行性。进行概要的分析研究,初步确定项目的规模,目标,约束和限制。进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择解决方法。对每种解
10、决方法都要研究它的可行性可行性研究的根本任务:对以后的行动方案提出建议可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能解决。软件工程总复习提纲 第 9 页2. 可行性研究要考虑的三个方面:技术、操作、经济可行性(P35)答:3. 数据流图符号的意义(P4041) 。会看会画数据流图(P42 P47) 。答:数据流图是一种图形化技术,描绘信息流和数据从输入移动到软件工程总复习提纲 第 10 页输出的过程中所经受的变换。数据流图的基本目的是利用他作为交流信息的工具,另一个主要的用途就是作为分析和设计的工具。数据字典的内容和定义的方法(P47P48 )数据流图和数据字典共同构成系统的逻辑模型。数据字典最重要的用途是作为分许阶段的工具。4. 成本效益分析的方法(P51P52 )答:软件开发成本主要变现为人力消耗(乘于人均工资得到开发费用),成本估算方法:1、代码行技术。2、任务分解技术、3 自动估计成本技术成本/效益分析第一步就是估计开发成本、运行成本、和新系统的将带来的利益。