欢迎来到天天文库
浏览记录
ID:11828659
大小:39.73 KB
页数:11页
时间:2018-07-14
《软件工程基础部分知识点总结》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、知识点1软件工程基本概念1.软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。数据是使程序能够正常操作信息的数据结构。文档是与程序开发、维护和使用有关的图文资料。程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。2.软件的特点:1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分;2)软件的生产与硬件不同,它没有明显的制作过程;3)软件在运行、使用期间不存在磨损、老化问题;4)软件的开发、运行对计算机系统具有依赖性,受计
2、算机系统的限制,这导致了软件移植的问题;5)软件复杂性高,成本昂贵;6)软件开发涉及诸多的社会因素3.软件的分类:按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件)a应用软件是为解决特定领域的应用而开发的软件。如:教务管理系统、财务管理系统等。b系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。如:操作系统、数据库管理系统等。c支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。比如:编码工具软件、测试工具软件4.软件危机软件危机是指在软件的开发和维护过程中所遇到的
3、一系列严重问题。软件危机主要体现在以下几个方面:①软件开发的实际成本和进度估计不准确②开发出来的软件常常不能使用户满意③软件产品的质量不高,存在漏洞,需要经常打补丁④大量已有的软件难以维护⑤软件缺少有关的文档资料⑥开发和维护成本不断提高,直接威胁计算机应用的扩大⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长5.软件工程a.软件工程概念的出现源自软件危机。b.软件工程的基本要素方法:完成软件工程项目的技术手段;工具:支持软件的开发、管理、文档生成;过程:支持软件开发的各个环节的控制、管理。C.软件工程的核心思想:把
4、软件产品看作是一个工程产品来处理。知识点2软件生命周期1.将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。2.软件生命周期一般划分为定义、开发和维护3个阶段:定义阶段:可行性研究、需求分析2个阶段;开发阶段:概要设计、详细设计、编码实现和测试4个阶段;维护阶段:使用、维护、退役阶段。1)结构化需求分析方法2)面向对象的分析方法。3.软件工程的概述1)软件定义阶段:包括制定计划和需求分析。2)软件开发阶段:软件设计:分为概要设计和详细设计两个部分。软件实现:把软件设计转换成计算机可以接受的程序代码。软
5、件测试:在设计测试用例的基础上检验软件的各个组成部分。3)软件运行维护阶段:软件投入运行,并在使用中不断地维护,进行必要的扩充和删改。软件生命周期中所花费最多的阶段是软件运行维护阶段。4)软件工程原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。5)软件工具与软件开发环境知识点3软件设计基本概念软件工程过程:问题定义——可行性研究——需求分析——软件设计——软件编码——软件测试——软件维护软件设计分为:a.总体设计目的:要解决的问题是“怎样实现目标系统”任务:确定软件的总体结构,进行模块划分,确定每
6、个模块的功能、接口及模块之间的调用关系,并对全局数据结构进行设计,同时产生概要设计说明书b.详细设计目的:要解决的问题是“应该怎样具体实现目标系统”任务:在概要设计的基础上,设计每个模块实现的细节及对局部数据进行设计(包括模块的数据结构和所需的算法),同时产生详细设计说明书软件测试:是为了发现程序中的错误而执行程序的过程知识点4软件设计的基本原理1模块化:指解决问题时自顶向下的方法逐层把软件系统划分成若干个模块的过程2抽象:认识复杂过程中使用的思维工具,即抽出事务的本质的共同的特性而暂不考虑它的细节和其他因素。3信息隐蔽
7、:旨在设计和确定模块式的时候,是的一个模块内包含的信息,对于不需要这些信息的其他模块来说不可访问4模块独立性:指每个模块只完成系统要求的独立的功能,并且与其他模块联系最少且接口简单模块的耦合性和内聚性是衡量软件的模块独立性的两个定性指标。1)内聚性:是对模块功能强度的度量,即对一个模块内部各个元素(语句之间、程序段)间彼此结合的紧密程度的度量。2)耦合性:是模块间互相连接的紧密程度的度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。一个设计良好的软件系统应具有高内聚、低耦合的特征。在结构化程序设计中,模块划分
8、的原则是:模块内具有高内聚度,模块间具有低耦合度。软件设计有两个步骤:(1)概要设计(又称结构设计)是将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;(2)详细设计是确定每个模块的实现算法和局部数据结构,通过对结构表示进行细化,得到软件的详细数据结构和算法。知识点5结构化分析方法1.结构化分析
此文档下载收益归作者所有