软件工程第一章软件工程概述

软件工程第一章软件工程概述

ID:43533684

大小:912.00 KB

页数:79页

时间:2019-10-10

软件工程第一章软件工程概述_第1页
软件工程第一章软件工程概述_第2页
软件工程第一章软件工程概述_第3页
软件工程第一章软件工程概述_第4页
软件工程第一章软件工程概述_第5页
资源描述:

《软件工程第一章软件工程概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程第1讲软件工程概述1.1软件危机与软件工程的产生1.2软件工程的基本概念1.3软件工程研究的主要内容1.4软件开发模型1.1软件危机与软件工程的产生1.1.1软件与软件的特点软件的定义:软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档。简略地说:软件=程序+文档软件的复杂性软件是一种逻辑实体,而不是具体的物理实体,它具有抽象性软件是“开发”出来的,不是“制造”出来的软件维护不同于硬件维修(参看硬件和软件失效率的对比图)软件的开发和运

2、行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性软件的开发效率仍相当低,至今尚未完全摆脱手工作坊式的开发方式硬件和软件失效率的对比:1.1.2软件的三个发展阶段第1个阶段:程序时期(约为20世纪50至60年代)程序规模小,每一个程序都是为求解某一个问题而专门设计的,几乎没有什么系统的方法可遵循,程序设计常常是设计者头脑中进行的隐含过程,除了程序清单,基本没有设计文档资料,其生产方式完全是“个体手工方式”,人们只有程序的概念而没有软件的概念。第2个阶段:程序+说明时期(约为20世纪60至7

3、0年代)软件技术取得了很大的进展,如多用户人机交互、文件管理、多种高级语言的出现、形式语言理论、编译技术的突破等,给计算机的广泛应用奠定了基础。但是,软件应用的需求变多,规模变大,复杂程度变高,使得“个体生产方式”已经不能适应生产要求,而是需要多人分工合作共同编制程序,形成了所谓的“作坊式生产方式”,这种方式造成了开发约定不清晰、程序说明不完整,导致了软件质量不高、成本失控、生产效率过低、工期延误,后期难于维护,甚至一个软件项目在开发过程中途夭折等,最终导致“软件危机”的开始。软件危机软件危机是指在

4、计算机软件的开发和维护中所遇到的一系列严重问题原因:1)软件本身的复杂性2)软件维护和开发方法不正确表现:软件开发周期大大超过规定日期;软件开发成本严重超标;软件质量难于保证。例:Windows95有1000万行代码Windows2000有5000万行代码Exchange2000和Windows2000开发人员结构Exchange2000Windows2000项目经理25人约250人开发人员140人约1700人测试人员350人约3200人为了摆脱软件危机这一困境,北大西洋公约组织NATO(North

5、AtlanticTreatyOrganization)于1968年召开软件研讨会(ConferenceonSoftwareEngineering),并首次提出“软件工程”这个术语,从此诞生了软件工程这个新兴学科。从70年代初开始,软件工作者主要围绕软件过程和开发模型、开发方法和技术、开发工具和环境,开发规范和标准以及软件管理等各个方面的研究和实践,使“作坊式生产方式”,逐步过渡到“软件工厂式的生产方式”,软件的生产步入了系列化、产品化、工程化和标准化的进程。第3个阶段:软件工程时期(约为20世纪70

6、年代以后)1.2软件工程的基本概念1.2.1软件工程定义是指导软件开发和维护的工程类学科,它以计算机科学理论及其他相关学科的理论为指导,采用工程化的概念、原理、方法和技术,进行软件的开发和维护,并与经过时间证明正确的管理方法与措施相结合,以较少的代价获取高质量的软件。1.2.2软件工程的目标具体包括:付出较低的开发成本达到要求的软件功能取得较好的软件性能开发的软件易于移植需要较低的维护费用能按时完成开发工作,及时交付使用1.2.3软件生存周期SLC(SoftwareLifeCycle)一个软件产品通

7、常是从模糊的概念开始,逐步建立起产品的需求,并对需求进行说明,然后进行设计、实现和测试。如果客户是满意的,那么就可安装产品,并且开始运行和维护它。如果产品到达了其有用生命的尽头就会退役、报废或停止使用。这一系列过程,我们称为软件的生命周期。软件生命周期软件的生命周期可以归结为以下几个主要阶段:软件计划、需求分析、软件设计、编码、测试、维护与运行、退役等。实际上,每个软件的生命周期有所不同,如有的软件可能在需求阶段花费几年的时间,有的软件在设计和实现阶段只需几个月时间,有的软件则在维护阶段可能长达十几

8、年。软件生存周期划分的意义把软件的整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能简化每一步的工作,使软件开发过程易于控制和管理。采用这种划分,使得每一个阶段的工作相对独立,有利于简化整个问题的解决,且便于不同人员分工协作。而且严格的科学的评审制度提高了软件的质量,从而大大提高了软件开发的生产率和成功率。第一个阶段:软件计划(Planning)确定要解决的“问题是什么”及“解决问题的可行方案”即确定要开发软件系统的总目标,给出它的功能、性能、可靠性以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。