软件工程复习提纲——第六章
软件工程复习提纲,期末、考研的学霸笔记
第六章——实现
第六章实现
- 编码风格:
1)源程序代码的逻辑简明清晰、易读易懂是好程序的一个重要标准。
2)①程序内部的文档:包括恰当的标识符、适当的注解和程序的视觉组织等(例:次数-times)。
②数据说明:数据说明的次序应该标准化,能够加速测试、调试和维护的过程。
③语句构造:每个语句都应该简单而直接。
④输入输出:对所有输入数据都进行检验;保持输入格式简单。
⑤效率:主要指处理机时间和存储器容量两个方面。
【【【不要牺牲程序的清晰性和可读性来不必要地提高效率。】】】
- 测试的定义和目标:
1)概念:①测试是为了发现程序中的错误而执行程序的过程;
②好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;
③成功的测试是发现了至今为止尚未发现的错误的测试。
2)软件测试:为了发现错误而执行程序的过程。(是为了证明程序有错,而不是证明程序无错)
- 单元测试:
1)集中检测软件设计的最小单元——模块(主要使用白盒测试技术)。
2)测试重点:
- 集成测试过程及方法:
1)是测试和组装软件的系统化技术,主要目标是发现与接口有关的问题。
2)由模块组装成程序有两种方法:非渐增式测试方法;渐增式测试方法(被普遍采用的)。
3)渐增式测试方法:
①自顶向下集成策略(被普遍采用):可以使用深度优先或宽度优先策略。
②自底向上集成策略:
③不同集成测试策略的比较:
- BRO测试:
1)测试的一些规定:对于布尔变量B来说,B的输出约束指出,B必须是真(t)或假(f)。
对于关系表达式来说,用符号>,=和<指定表达式的输出约束。
2)例1 C1: B1 & B2
B1和 B2是布尔变量。C1的条件约束形式为(D1,D2),其中D1和D2中的每一个都是
t或f.因此约束集{(t,t),(t,f),(f,t)}被C1的执行所覆盖。
例2 C2: B1 & (E3=E4)
B1是布尔变量,E3和E4是算术表达式。C2的条件约束形式为(D1,D2),其中D1是t
或f.。D2是>,=,<。对于(E3=E4)来说,t 意味着=,而f意味着<或>。因此分别(t,=), (f,=)
替换(t,t),(f,t),并用(t,<),(t,>)替换(t,f)。故C2的约束集为:{(t,=),(f,=),(t,<),(t,>)} 。
例3 C3: (E1>E2) & (E3=E4)
E1,E2,E3和E4都是算术表达式。C3的条件约束形式为(D1,D2),其中D1和D2的每一
个都>,=,<。除了C3的第一个简单条件是关系表达式之外,C3和C2相同,因此可通过修
改C2的约束集得到C3的约束集,结果为:{(>,=),(=,=),(<,=),(>,<),(>,>)} 。
- 确认测试:
1)目标:验证软件的有效性。
2)软件有效性:如果软件的功能和性能如同用户所合理期待的那样,软件就是有效的。
3)通常使用的方法:黑盒测试法。
4)两种测试方法:
Alpha测试:由用户在开发者场所进行;
Beta测试:由软件的最终用户们在一个或多个客户场所进行。
5)测试与调试的区别:
- 软件可靠性:
1)系统的稳态可用性为: Ass=MTTF/(MTTF+MTTR)
【系统平均无故障时间MTTF和平均维修时间MTTR】
2)估算平均无故障时间: MTTF=IT /[K( ET- Ec(τ))] (其中K为常数,其典型值是200)
【ET——测试之前程序中错误总数;IT——程序长度(机器指令总
数);τ——测试(包括调试)时间;Ed( τ)——在 0 至τ期间发
现的错误数 ;Ec( τ)——在 0 至τ期 间改正的错误数。】
3)例 对一个包含10000条机器指令的程序进行一个月集成测试后,总共改正了15个错误,
此时MTTF=10h;经过两个月测试后,总共改正了25个错误(第二个月改正了10个错
误),MTTF=15h。
要求:(1) 根据上述数据确定MTTF与测试时间之间的函数关系,画出MTTF与测试
时间τ的关系曲线。在画这条曲线时做了什么假设?
(2) 为做到MTTF=100h,必须进行多长时间的集成测试?当集成测试结束时总
共改正了多少个错误,还有多少个错误潜伏在程序中?
软件工程复习提纲——第六章相关推荐
- 软件工程复习提纲——第十一章
软件工程复习提纲,期末.考研的学霸笔记 第十一章--软件项目管理 第十一章 软件项目管理 事件4的最早时刻为:EET=max{2+3,6+0}: 事件9的最迟时刻为: LET=21-1=20: 事件8 ...
- 软件工程复习提纲——第七章
软件工程复习提纲,期末.考研的学霸笔记 第七章--维护 第七章维护 1.维护的定义:软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程. 1)四类维护活动: (1)改正性维护 (2)适应 ...
- 软件工程复习提纲——第五章
软件工程复习提纲,期末.考研的学霸笔记 第五章--详细设计 第五章详细设计 详细设计阶段的根本目标:确定应该怎样具体地实现所要求的系统. 结构程序设计: 1)如果一个程序的代码块仅仅通过顺序.选择和循 ...
- 软件工程复习提纲——第四章
软件工程复习提纲,期末.考研的学霸笔记 第四章--总体设计 第四章总体设计 1.总体设计/概要设计/初步设计的目的:"概括地说,系统应该如何实现?"How to do? 启发规 ...
- 软件工程复习提纲——第三章
软件工程复习提纲,期末.考研的学霸笔记 第三章--需求分析 第三章需求分析 需求分析的任务:1)确定对系统的综合要求2)分析系统的数据要求(通常采用建立数据模型的方法): 即:准确地回答:" ...
- 软件工程复习笔记——第六章 软件维护
第六章 软件维护 6.1 软件维护的类型 软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程. 一.软件维护的分类 按照不同的维护目的,维护工作可分为4类: 完善性维护50% ...
- 软件工程复习提纲——第九章
软件工程复习提纲,期末.考研的学霸笔记 第九章--面向对象分析设计 顺序图.用例图等图形的作法: 1)顺序图:顺序图是描述对象之间的动态交互的情况,着重表示对象间消息传递的时间顺序. 纵向是时间轴,时 ...
- 软件工程复习提纲——第二章
软件工程复习提纲,期末.考研的学霸笔记 第二章--可行性研究 第二章可行性研究 1.可行性研究的任务:可行性研究的目的不是解决问题,而是用最小的代价在尽可能短的时间内确 定问题是否能够解决,是否值得去 ...
- 软件工程复习提纲——第一章
软件工程复习提纲,期末.考研的学霸笔记 第一章--软件工程基本概念 第一章软件工程基本概念 软件危机的概念:指在计算机软件的开发和维护过程中所遇到的一系列严重问题. 软件危机包含两方面的问题:1)如何 ...
- 软件工程复习提纲——第八章
软件工程复习提纲,期末.考研的学霸笔记 第八章--面向对象方法学引论 第八章面向对象方法学引论 面向对象方法学的要点.优点: 1)传统方法和面向对象方法的比较: 动态模型:(第三章已介绍状态图 ...
最新文章
- Spring Boot 整合 Netty(附源码)
- c语言编程中%g是什么格式
- 数据结构与算法之二叉搜索树
- NeurIPS 2020 | 没有乘法的神经网络,照样起飞?
- 配置gitlab环境实现代码管理及Web Hook测试和ldap认证
- 217 - leetcode -存在重复元素 -数据结构类 先排序再操作
- ios为了用户隐私安全,禁止自动播放音频文件的解决办法(微信端)
- android播放器demo,Android 简单的本地音乐播放器Demo
- html5鼠标悬停下拉列表,HTML5与CSS3中鼠标悬停会有下拉列表
- odoo rest api 服务接口
- 高等数学:求“分段函数在分段点”的导数,可以直接用导数公式吗?
- 360浏览器出现https证书错误怎么办
- php拼团逻辑,拼团3人团避免人数过多的一个算法
- JavaScript的输出方式大全
- 快手直播前期怎么引流?快手新人主播怎么做涨粉
- dirent C语言获取返回第n个文件的全路径
- 全国地级市面板Excel数据(1990-2019年)
- pytorch 一两张数据GPU测试,dataload速度慢的原因
- 2022-2-11 80.删除有序数组中的重复项II
- linux 实现文件增量同步