第13章_软件工程与程序设计基础知识

第13章_软件工程与程序设计基础知识

ID:14131212

大小:1.25 MB

页数:40页

时间:2018-07-26

第13章_软件工程与程序设计基础知识_第1页
第13章_软件工程与程序设计基础知识_第2页
第13章_软件工程与程序设计基础知识_第3页
第13章_软件工程与程序设计基础知识_第4页
第13章_软件工程与程序设计基础知识_第5页
资源描述:

《第13章_软件工程与程序设计基础知识》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章软件工程基础软件工程(SoftwareEngineering,简称SE)是应用计算机科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本。对于软件工程,本章主要介绍一下内容:1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。3.结构化设计方法,总体设计与详细设计。4.程序设计方法与风格,结构化程序设计,面向对象程序设计。5.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。6.程序的调试,静态调试与

2、动态调试。8.1软件工程的基本概念8.1.1软件及其特点计算机系统由硬件和软件两部分组成。计算机软件是包括程序、数据及其相关文档资料的完整集合。其中,程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。数据是使程序能够正常操纵信息的数据结构。文档是与程序开发、维护和使用的图文资料。由此可见,软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护和使用有关的文档。软件与硬件不同,它有以下特点:(1)软件是一种逻辑实体,而不是物理实体,具有抽象性。这使得软件与其他工程对象有着明显的差异。可以将软件

3、记录在纸上或其他存储介质上,但却无法看到软件本身的形态,必须通过观察、分析、思考、判断,才能了解它的功能、性能等。(2)软件的生产没有明显的制作过程。在软件研制开发成功之后,可以大量拷贝同一内容的副本。所以对软件的质量控制,必须着重在软件开发方面下功夫。(3)软件在运行、使用期间不存在磨损、老化问题,但为了适应硬件、环境以及需求的变化要进行修改,而这些修改又会不可避免的引入错误,导致软件失效率升高,从而使得软件退化。(4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题。231(5)软件复杂性高,成本昂贵。软件是人类有史以来生产的复杂

4、度最高的工业产品。软件涉及人类社会的各行各业、方方面面,软件开发常常涉及其他领域的专门知识。软件开发需要投入大量、高强度的脑力劳动,这其中蕴含着成本高,风险大的问题。(6)软件开发涉及诸多的社会因素。许多软件的开发和运行涉及软件用户的机构设置,体制问题以及管理方式等,甚至涉及到人们的观念和心理因素,软件知识产权及法律等诸多的问题。软件根据应用目标的不同,是多种多样的。软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)。应用软件是为解决特定领域的应用而开发的软件。例如,事务处理软件,工程与科学计算软件,实时处理软件,嵌入式软件以及人工智能软件等各种应用性质不

5、同的软件。系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。例如,操作系统,编译程序,汇编程序,网络软件,数据库管理系统等。支撑软件是介于系统软件和应用软件之间、协助用户开发软件的工具性软件。例如,需求分析工具软件,设计工具软件,编码工具软件,测试工具软件,维护工具软件等。8.1.2软件危机与软件工程1.软件危机“软件危机”这个词在20世纪60年代末以后频繁出现。所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。随着计算机技术的发展和计算机应用范围的扩大,计算机硬件的性价比和质量稳步提高,软件规模越来越大,复杂程度

6、不断增加,软件成本逐年上升,质量没有可靠的保证,软件已成为计算机科学发展的“瓶颈”。具体地说,在软件开发和维护过程中,软件危机主要表现在:(1)软件需求的增长得不到满足。用户对系统不满意的情况经常发生。(2)软件开发成本和进度无法控制。(3)软件质量难以保证。(4)软件不可维护或维护程度非常低。(5)软件的成本不断提高。(6)软件开发生产率的提高赶不上硬件的发展和应用需求的增长。在软件开发和维护过程中,之所以存在这些严重的问题,一方面与软件本身的特点有关。例如,在软件运行前,软件开发过程的进展难以衡量,质量难以评价,因此管理和控制软件开发过程相当困难;在软件运行过程中

7、,软件维护意味着改正或修改原来的设计。另外,软件的显著特点是规模庞大,在开发大型软件时,要保证高质量,极端复杂困难,不仅涉及技术问题(如分析方法、设计方法、版本控制),更重要的是必须有严格而科学的管理。2.软件工程为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程的概念,开辟了工程学的新领域——231软件工程学。软件工程就是试图用工程、科学和数学的原理与方法研制、维护计算机软件的有关技术及管理方法。关于软件工程的定义,国标(GB)中指出,软件工程是应用于计算机软件的定义、开发和维护的一

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

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

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