- 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. 软件工程基础 4. 软件危机 指计算机软件的开发和维护过程中所遇到的一系列严重问题。 5. 软件工程定义 是指应用计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。 6. 软件工程目标 在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。 8. 软件工程原则 抽象:采用分层抽象、自顶向下、逐层细化的办法控制软件开发过程的复杂性 信息隐蔽:将模块设计成“黑箱”,实现的细节隐藏在模块内部,不让模块的使用者直接访问这就是信息封装,使用与实现分离的原则 模块化:模块化有助于信息隐蔽和抽象,有助于表示复杂的系统 局部化:要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块之间具有松散的耦合关系,模块内部具有较强的内聚,这有助于控制分解的复杂性 10. 软件生命周期 将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期 分为3个时期共8个阶段 (1)软件定义期:包括问题定义、可行性研究和需求分析 (2)软件开发期:包括概要设计、详细设计、实现和测试 (3)运行维护期:即运行维护阶段 软件生命周期各个阶段的活动可以有重复,执行时也可以有迭代。 软件生命周期各阶段的主要任务 (1)问题定义:确定要求解决的问题是什么 (2)可行性研究与计划制定:决定该问题是否存在一个可 行的解决办法,指定完成开发任务的实施计划 10. 软件生命周期 (3)需求分析:对待开发软件提出需求进行分析并给出详 细定义。编写软件规格说明书及初步的用户手册,提 交评审 (4)软件设计:通常又分为概要设计详细设计两个阶段, 给出软件的结构、模块的划分、功能的分配一级处理 流程。这阶段提交评审的文档有概要设计说明书、详 细设计说明书和测试计划初稿 (5)软件实现:在软件设计的基础上编写程序。这阶段完 成的文档有用户手册、操作手册等面向用户的文档, 以及为下一步做准备而编写的单元测试计划 (6)软件测试:在设计测试用例的基础上,检验软件的各 个组成部分。编写测试分析报告 (7)运行维护:将已交付的软件投入运行,同时不断的维 护,进行必要而且可行的扩充和删改 11. 软件工具和软件开发环境 软件工具:用来辅助软件开、运行、维护、管理、支持等过程中的活动的软件 软件开发环境:支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成 计算机辅助软件工程(CASE)是当前软件开发环境中富有特色的研究工作和发展方向 CASE将各种软件工具、开发机器和一个存放过程信息的中心数据库组合起来,形成软件工程环境 3.2 结构化分析方法 需求分析 用户解决问题或达到目标所需要的条件或权能。 系统或系统部件要满足合同、标准、规范或其他正式文档所需要具有的条件和权能 一种反映以上所描述的条件或权能的文档说明 需求分析阶段的工作 需求获取 需求分析 编写需求规格说明书 需求评审 3.3 结构化设计方法 软件设计概述 软件设计的基本目标是用比较抽象概括的方法确定目标系统如何完成预定的任务。 从工程管理角度:分为概要设计和详细设计 从技术观点:分为软件结构设计、数据设计、接口设计、过程设计 软件设计的基本原则 模块化 抽象 信息隐藏 模块独立化:由内聚性和耦合性两个定性标准度量 耦合衡量不同模块彼此间相依赖(连接)的紧密程度 内聚衡量一个模块内部各个元素彼此结合的紧密程度 3.4 软件测试 软件测试目的 是为了发现程序中的错误而执行程序的过程 好的测试用例能发现迄今为止尚未发现的错误 一次成功的测试是能发现至今为止尚未发现的错误 根本目的是尽可能多地发现并排除软件中隐藏的错误 软件测试的准则 所有测试都应追溯到用户需求。 在测试之前制定测试计划,并严格执行 充分注意测试中的群集现象 避免由程序的编写者测试自己的程序 不可能进行穷举测试 妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便 软件测试方法 静态测试和动态测试 白盒测试:结构测试或逻辑驱动测试 主要技术有逻辑覆盖测试、基本路径测试等 1)逻辑覆盖测试 ①语句覆盖:选择足够多的测试用例,使被测程序中的每个语句至少执行一次。 ②路径覆盖:执行足够的测试用例,使程序中所有可能的路径至少经历一次。 ③判定覆盖:使测试用例每个判断的每个分支(T或F)至少经历一次。 ④条件覆盖:设计用例保证程序中每个条件的可能值取值至少执行一次。 ⑤判断-条件覆盖:
文档评论(0)