- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章软件工程基础 软件 与计算机操作相关的程序、规程、规则,以及可能 有的文件、文档及数据 特点 是一种逻辑实体,具有抽象性 没有明显的制作过程 运行、使用期间不存在磨损、老化问题 开发、运行依赖计算机系统 软件复杂性高、成本昂贵 涉及诸多社会因素 软件危机与软件工程 软件危机主要特征★ 生产率:软件开发周期大大超过规定日期 成本:软件开发成本严重超标 质量:软件质量难于保证 软件工程定义 Fritz Bauer定义:“建立并使用完善的工程化原则,以较经济 的手段获得能在机器上有效运行的可靠软件的一系列方法” IEEE93定义:“将系统化的、规范的、可度量的方法应用于软件 的开发、运行和维护的过程,即将工程化应用于软件中” 软件工程三要素★ 方法:完成软件工程的技术手段 工具:支持软件的开发、管理、文档生成 过程:支持软件开发的各个环节的控制、管理 软件工程目标和原则 目标 低成本 较好的软件功能 易于移植、维护 及时交付等 主要研究内容 软件开发技术 软件开发方法学 开发过程 开发工具和软件工程环境(CASE) 软件工程管理: 软件管理学、软件工程经济学、软件心理学 原则:抽象、信息隐蔽、模块化、一致性、完备性等 3.2 结构化分析方法 需求分析与需求分析方法 结构化分析方法 软件规格说明书 需求分析与需求分析方法 需求分析 系统分析员的主要焦点是 “做什么(what)” , 不是 “怎样做(how)” 需求分析任务 需求分析方法 结构化分析(SA) 面向对象的分析方法(OOA) 结构化分析方法(SA) 常用工具 数据流图(DFD) 数据字典(DD) 判定树 判定表 数据字典(DD) 功能 对系统相关数据元素的精确、严格的定义,即对 DFD中四个基本成分的详细描述 数据结构描述方式 定义式【示例】 存折=户名+所号+帐号+开户日期+性质+1{存取行}50 户名=2{字母}24 所号=“001”..“999” (注:储蓄所编码规定三位数字) 帐号=“000001”..“999999” (注:帐号规定由六位数字组成) 开户日期=年+月+日 性质=“1”..“6”(注:“1”表示普通户,“5”工资户等) 存取行=日期+(摘要)+指出+存入+余额 +操作+复核 年= “00”..“99” 月=“01”..“12” 日=“01”..“31” 摘要=1{字母}4(注:表明该存取是存?是取?还是换?)…… 判定树(决策树) 条件1 条件2 结果 计 7-9, 订票量20: 30% 算 12月 订票量≤20: 20% 折 扣 1-6, 订票量20: 15% 量 10,11月 订票量≤20: 10% 判定表(决策表) 描述多条件、多目标动作的形式化工具 软件需求规格说明书(SRS) (Software Requirement Specification) 需求分析阶段的最终结果文档 特点:正确性、无歧义性、可验证性、一致性等 3.3 结构化设计方法 基本概念 概要设计 详细设计 软件设计的基本概念 开发阶段最重要的步骤 主要工作★ 概要设计:结构设计、数据设计、接口设计 详细设计:过程设计 基本原理 抽象性 模块化 信息隐蔽 模块独立性 内聚:模块内各个元素彼此结合的紧密程度 耦合:不同模块间互相依赖(连接)的紧密程度 原则:高内聚,低耦合★ 概要设计 任务 设计软件系统结构 设计数据结构及数据库 编写概要设计文档 文档评审 工具:结构图(SC) 设计原则 结构图(SC) 描绘软件结构的图形工具 基本形式 有关术语 上级模块 从属模块 深度:控制的层数 宽度:最大模块数层 扇入:调用某个模块的上级模块数目 扇出:一个模块调用其它模块的数目 原子模块:树中位于叶结点的模块 结构图基本形式 详细设计 任务 为每个功能模块确定实现算法和局部数据结构 设计工具★ 程序流程图 N-S图 PAD图 PDL(伪码) 程序流程图(程序框图) 盒图(N-S图) 问题分析图(PAD图) 3.4 软件测试 测试:是为了发现错误而执行程序的过程 测试准则 测试方法 静态测试 动态测试 白盒测试 黑盒测试 测试的实施 测试准则 所有的测试都应该能追溯到用户需求 制定严格测试计划 注意测试群集现象 穷举测试是不可能的 应有第三方从事测试工作 又称结构测试、逻辑驱动测试 主要方法 逻辑覆盖测试 路径覆盖:所有可能路径至少经历一次 语句覆盖:每个语句至少执行一次 判定覆盖:每个判定表达式都取到可能结果 条件覆盖: 判定中的每个条件取得可能结果 判定-条件覆盖
文档评论(0)