软件工程基础部分知识点总结.docxVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第  PAGE \* Arabic 10 页 知识点1软件工程基本概念 1.软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 数据是使程序能够正常操作信息的数据结构。 文档是与程序开发、维护和使用有关的图文资料。 程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2. 软件的特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 软件复杂性高,成本昂贵; 6) 软件开发涉及诸多的社会因素 3.软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件) a应用软件是为解决特定领域的应用而开发的软件。如:教务管理系统、财务管理系统等。 b系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。如:操作系统、数据库管理系统等。 c支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。比如:编码工具软件、测试工具软件 4.软件危机 软件危机是指在软件的开发和维护过程中所遇到的一系列严重 问题。 软件危机主要体现在以下几个方面: ① 软件开发的实际成本和进度估计不准确 ② 开发出来的软件常常不能使用户满意 ③ 软件产品的质量不高,存在漏洞,需要经常打补丁 ④ 大量已有的软件难以维护 ⑤ 软件缺少有关的文档资料 ⑥ 开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦ 软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5.软件工程 a.软件工程概念的出现源自软件危机。 b.软件工程的基本要素 方法:完成软件工程项目的技术手段; 工具:支持软件的开发、管理、文档生成; 过程:支持软件开发的各个环节的控制、管理。 C. 软件工程的核心思想:把软件产品看作是一个工程产品来处理。 ???识点2软件生命周期 1. 将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。 2. 软件生命周期一般划分为定义、开发和维护3个阶段: 定义阶段:可行性研究、需求分析2个阶段; 开发阶段:概要设计、详细设计、编码实现和测试4个阶段; 维护阶段:使用、维护、退役阶段。 1)结构化需求分析方法 2)面向对象的分析方法。 3.软件工程的概述 1)软件定义阶段:包括制定计划和需求分析。 2)软件开发阶段: 软件设计:分为概要设计和详细设计两个部分。 软件实现:把软件设计转换成计算机可以接受的程序代码。 软件测试:在设计测试用例的基础上检验软件的各个组成部分。 3)软件运行维护阶段:软件投入运行,并在使用中不断地维护,进行必要的扩充和删改。 软件生命周期中所花费最多的阶段是软件运行维护阶段。 4)软件工程原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。 5)软件工具与软件开发环境 知识点3软件设计基本概念 软件工程过程:问题定义——可行性研究——需求分析—— 软件设计——软件编码——软件测试——软件维护 软件设计分为: a.总体设计 目的:要解决的问题是“怎样实现目标系统” 任务:确定软件的总体结构,进行模块划分,确定每个模块的功能、接口及模块之间的调用关系,并对全局数据结构进行设计,同时产生概要设计说明书 b.详细设计 目的:要解决的问题是“应该怎样具体实现目标系统” 任务:在概要设计的基础上,设计每个模块实现的细节及对局部数据进行设计(包括模块的数据结构和所需的算法),同时产生详细设计说明书 软件测试: 是为了发现程序中的错误而执行程序的过程 知识点4软件设计的基本原理 1模块化:指解决问题时自顶向下的方法逐层把软件系统划分成若干个模块的过程 2抽象:认识复杂过程中使用的思维工具,即抽出事务的本质的共同的特性而暂不考虑它的细节和其他因素。 3信息隐蔽:旨在设计和确定模块式的时候,是的一个模块内包含的信息,对于不需要这些信息的其他模块来说不可访问 4模块独立性:指每个模块只完成系统要求的独立的功能,并且与其他模块联系最少且接口简单 模块的耦合性和内聚性是衡量软件的模块独立性的两个定性指标。 1)内聚性:是对模块功能强度的度量,即对一个模块内部各个元素(语句之间、程序段)间彼此结合的紧密程度的度量。 2)耦合性:是模块间互相连接的紧密程度的度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。 一个设计良好的软件系统应具有高内聚、低耦合的特征。 在结构化程序设计中,模块划分的原则是:模块内具有高内

文档评论(0)

ccccccxx + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体临沂冉通信息技术有限公司
IP属地山东
统一社会信用代码/组织机构代码
91371300MA9576790T

1亿VIP精品文档

相关文档