计算机基础与Visual Basic程序设计 教学课件 作者 978 7 302 28844 2 第十三章软件工程.pptVIP

计算机基础与Visual Basic程序设计 教学课件 作者 978 7 302 28844 2 第十三章软件工程.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第13章 软件工程 13.1 软件工程的基本概念 13.2 软件需求分析 13.3 软件设计 13.4 程序设计基础 13.5软件测试 13.6程序的调试 习题 13.1 软件工程的基本概念 13.1.1软件危机与软件工程 1. 软件危机 软件危机主要表现在: 软件需求的增长得不到满足; 软件开发的成本和进度无法控制; 软件质量难以保证; 软件不可维护或维护成度非常低; 软件成本不断提高; 软件开发赶不上硬件的发展。 2. 软件工程 为了消除软件危机,形成了软件工程的概念。 软件工程就是试图用工程、科学和数学的原理与方法研制、维护计算机软件的有关技术及管理方法。 软件工程包括3个要素,即方法、工具和过程。 方法是完成软件工程项目的技术手段; 工具支持软件的开发、管理、文档生成; 过程支持软件开发的各个环节的控制、管理。 软件工程的核心思想是把软件产品作为是一个工程产品来处理。 13.1.2 软件生命周期 分为定义、开发及维护三个阶段。 13.1.3 软件开发工具与软件开发环境 1. 软件开发工具 是指用来帮助开发,测试、分析、维护其他计算机程序及其文档资料的一类程序。 软件工具主要包括需求分析工具、设计工具、编码工具、确认工具、维护工具等。 2. 软件工程环境 软件工程环境是指全面支持软件开发全过程的软件工具集合。 13.2 软件需求分析 13.2.1需求分析与需求分析方法 1.需求分析 软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。 需求分析阶段的工作包括四个方面: 需求获取 需求分析 编写需求说明书 需求评审 2. 需求分析方法 常见的需求分析方法有: ①结构化分析方法。 ②面向对象的分析方法。 13.2.2结构化分析方法 结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。 结构化分析的步骤如下: ①通过对用户的调查,获得当前系统的具体模型: ②去掉具体模型中非本质因素,抽象出当前系统的逻辑模型: ③根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型 ④完善目标系统并补充细节,写出目标系统的软件需求规格说明; ⑤评审直到确认完全符合用户对软件的需求。 结构化分析的常用工具 1. 数据流图 数据流图是描述数据处理过程的有力工具,是从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。 2. 数据字典 数据字典是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义。 3. 判定表 判定表是一种文本化的加工说明的流行格式,它特别适用于带有一组测试条件的说明。 4.判定树 判定树也是用来表达加工逻辑的一种工具。 13.2.3软件需求规格说明书 是需求分析阶段的最后成果。 1. 软件需求规格说明书的作用 便于用户、开发人员进行理解和交流。 反映出用户问题的结构,可以作为软件开发工作的基础和依据。 作为确认测试和验收的依据。 2. 软件需求规格说明书的内容 概述; 数据描述; 功能描述; 性能描述; 参考文献; 附录。 3. 软件需求规格说明书的特征 正确性; 无歧义性; 完整性; 可验证性; 一致性; 可理解性; 可修改性; 可追踪性。 13.3 软件设计 13.3.1 软件设计的基本概念 1. 软件设计的基础 2. 软件设计的基本原理 (1) 模块化 模块化就是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集成起来组成一个整体,可以完成指定的功能。 (2) 抽象 用自顶向下由抽象到具体的方式进行分配控制,简化了软件的设计和实现,提高了软件的可理解性和可测试性,并且使软件更容易维护。 (3) 信息隐蔽 信息隐蔽使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。 (4)模块独立性 每个模块完成一个相对独立的特定子功能,并且和其他模块之间的接口很简单。 模块的独立程度可以由两个定性标准来衡量,这两个标准分别称为耦合性和内聚性。藕合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此间结合的紧密程度。 一般较较优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。 13.3.2 概要设计 1. 概要设计的任务 1) 设计软件系统结构 2) 数据结构及数据库设计 3) 编写概要设计文档 4) 概要设计文档评审 2. 面向数据流的设计方法 3. 设计的准则 ① 提高模块独立性。 ② 模块规模适中。 ③ 应减少模块的接口和界面的复杂性。 ④设计成单入口、单出口的模块。 ⑤设计功能

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档