欢迎来到天天文库
浏览记录
ID:19971390
大小:95.00 KB
页数:4页
时间:2018-10-08
《第一章 软件工程学概述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件工程导论(第四版)张海藩著清华大学出版社第一章软件工程学概述1.1软件危机1.2软件工程1.3软件生命周期1.4软件过程1.5小结习题1.1软件危机一、软件的概念与特点1.软件(Software)是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。软件=程序+文档2.软件特点(1)抽象性——软件是一种逻辑实体,而不是物理实体。。(2)没有明显的制造过程。(3)在软件的运行和使用期间,没有机械磨损与老化问题。(4)软件开发和运行依赖于计算机系统。(5)软件开发至今尚未完全摆脱手工工艺的开发方式。(6)复
2、杂性。(7)高成本。(8)软件工作涉及各种社会因素。二、什么是软件危机软件危机是指在计算机软件的开发和维护过程中新遇到的一系统列严重问题,主要包括下列两个方面的问题:①如何开发软件,以满足对软件的日益增长的需求;②如何维护不断增多的已有软件。软件危机的具体表现:1.对软件开发成本和进度估计不足。2.用户对已完成的软件系统不满足。3.软件产品的质量无法保证。4.软件不可维护。5.没用与软件配套的完整的文档资料。6.软件成本逐年上升。47.软件开发跟不上计算机应用的发展。三、产生软件危机的原因1.软件本身的特点:软件是计算机系统中的逻辑实
3、体而不是物理实体,软件生产与硬件不同,在它的开发过程中没有明显的制造过程。软件是通过人们的智力活动,把知识与技术转化成信息的一种产品。在软件的运行过程中,没有“用坏”的问题。软件维护意味着修正原来的设计,较为困难。2.软件专业人员对软件开发和维护存在糊涂观念,在实践过程中采用了错误的方法和技术:(1)忽视软件需求分析的重要性;(2)轻视软件维护。统计表明:软件维护费用占总费用的55%~70%。四、解决软件危机的途径1.组织管理措施:组织良好、管理严密,使各类人员协同配合,共同完成软件开发的工程项目。2.使用开发软件成功的技术和方法,更
4、好地使用软件工具,建立一个良好的软件工程支撑环境。1.2软件工程一、什么是软件工程?1.软件工程是指导计算机软件开发和维护的工程学科,采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前最好的技术方法结合起来,就是软件工程。二、软件工程的基本原理1.用分阶段的生命周期按计划严格管理2.坚持进行阶段评审3.实行严格的产品控制4.采用现代程序设计技术:SA——结构分析,SD——结构分析。5.结果应能够清楚地审查6.开发小组成员应当少而精。7.承认不断改进软件工程实践的必要性。三、软件工程方法学通常把在
5、软件生命周期全过程中使用的一整套技术的集合,称为软件工程方法学。软件工程方法学包括三个要素:方法、工具和过程。其中:软件工程方法是完成软件开发的各项任务的技术方法,为软件开发提供了“如何做”的技术。软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。注:传统方法学和面向对象方法学是目前使用得最广泛的两种软件工程方法学。1.3软件生命周期1.软件生存周期:一个软件定义、开发、使用和维护,直到最终被废弃,要经历的漫长的时期,称为软件的生存周期
6、。42.软件工程采用的生存周期方法学就是从时间角度对软件开发和维护的复杂性进行分解,把软件生存的漫长周期依次划分为若干个阶段,每个阶段都有独立的任务,然后逐步完成每个阶段的任务。3.划分软件生存周期的阶段时应当递循的基本原则:使各阶段的任务之间尽可能相互独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂程序,简化不同阶段之间的联系,有利于软件开发工程的组织管理。4.软件生存周期由软件定义、软件开发和软件维护三个时期组成,每个时期又可划分若干个阶段。(1)软件定义时期:总目标的确定,可行性,采用策略,系统功能,所需资源
7、与成本,工程进度表,也称为系统分析时期,分为所定义,可行性研究和需求分析。(2)开发时期:具体设计和实现前面所定义的软件。分为:总体设计,详细设计,编码和单元测试,综合测试。(3)维护时期:使软件尽量地满足用户需要,纠错,适应新环境,满足新需求。5.软件生存周期三个时期、八个阶段的基本任务(1).软件定义(系统分析)时期:(1)问题定义——产生关于规模和目标的报告书(2)可行性研究——产生系统的高层逻辑模型:①数据流图②成本/效益分析(3)需求分析——产生系统的逻辑模型:①数据流图;②数据字典;③算法描述。(2).软件开发时期:(4)
8、总体设计——产生①系统流程图;②成本授益分析。(层次图或结构图)(5)详细设计——产生编码规格说明:HIPO图或PDL。(6)编码和单元测试——产生源程序清单,单元测试方案和结果。(7)综合测试——产生综合测试方案和结果
此文档下载收益归作者所有