软件工程复习提纲,期末、考研的学霸笔记

第六章——实现

第六章实现

  1. 编码风格:

1)源程序代码的逻辑简明清晰、易读易懂是好程序的一个重要标准。

2)①程序内部的文档:包括恰当的标识符、适当的注解和程序的视觉组织等(例:次数-times)。

②数据说明:数据说明的次序应该标准化,能够加速测试、调试和维护的过程。

③语句构造:每个语句都应该简单而直接。

④输入输出:对所有输入数据都进行检验;保持输入格式简单。

⑤效率:主要指处理机时间和存储器容量两个方面。

【【【不要牺牲程序的清晰性和可读性来不必要地提高效率。】】】

  1. 测试的定义和目标:

 1)概念:①测试是为了发现程序中的错误而执行程序的过程;

②好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;

③成功的测试是发现了至今为止尚未发现的错误的测试。

 2)软件测试:为了发现错误而执行程序的过程。(是为了证明程序有错,而不是证明程序无错)

  1. 单元测试:

1)集中检测软件设计的最小单元——模块(主要使用白盒测试技术)。

2)测试重点:

  1. 集成测试过程及方法:

1)是测试和组装软件的系统化技术,主要目标是发现与接口有关的问题。

2)由模块组装成程序有两种方法:非渐增式测试方法;渐增式测试方法(被普遍采用的)。

 3)渐增式测试方法:

自顶向下集成策略(被普遍采用):可以使用深度优先宽度优先策略。

自底向上集成策略:

不同集成测试策略的比较:

  1. 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. 确认测试:

 1)目标:验证软件的有效性。

   2)软件有效性:如果软件的功能和性能如同用户所合理期待的那样,软件就是有效的。

 3)通常使用的方法:黑盒测试法。

4)两种测试方法:

Alpha测试:由用户在开发者场所进行;

Beta测试:由软件的最终用户们在一个或多个客户场所进行。

 5)测试与调试的区别:

  1. 软件可靠性:

 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,必须进行多长时间的集成测试?当集成测试结束时总

共改正了多少个错误,还有多少个错误潜伏在程序中?

软件工程复习提纲——第六章相关推荐

  1. 软件工程复习提纲——第十一章

    软件工程复习提纲,期末.考研的学霸笔记 第十一章--软件项目管理 第十一章 软件项目管理 事件4的最早时刻为:EET=max{2+3,6+0}: 事件9的最迟时刻为: LET=21-1=20: 事件8 ...

  2. 软件工程复习提纲——第七章

    软件工程复习提纲,期末.考研的学霸笔记 第七章--维护 第七章维护 1.维护的定义:软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程. 1)四类维护活动: (1)改正性维护 (2)适应 ...

  3. 软件工程复习提纲——第五章

    软件工程复习提纲,期末.考研的学霸笔记 第五章--详细设计 第五章详细设计 详细设计阶段的根本目标:确定应该怎样具体地实现所要求的系统. 结构程序设计: 1)如果一个程序的代码块仅仅通过顺序.选择和循 ...

  4. 软件工程复习提纲——第四章

    软件工程复习提纲,期末.考研的学霸笔记 第四章--总体设计 第四章总体设计 1.总体设计/概要设计/初步设计的目的:"概括地说,系统应该如何实现?"How to do?   启发规 ...

  5. 软件工程复习提纲——第三章

    软件工程复习提纲,期末.考研的学霸笔记 第三章--需求分析 第三章需求分析 需求分析的任务:1)确定对系统的综合要求2)分析系统的数据要求(通常采用建立数据模型的方法): 即:准确地回答:" ...

  6. 软件工程复习笔记——第六章 软件维护

    第六章 软件维护 6.1 软件维护的类型 软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程. 一.软件维护的分类 按照不同的维护目的,维护工作可分为4类: 完善性维护50% ...

  7. 软件工程复习提纲——第九章

    软件工程复习提纲,期末.考研的学霸笔记 第九章--面向对象分析设计 顺序图.用例图等图形的作法: 1)顺序图:顺序图是描述对象之间的动态交互的情况,着重表示对象间消息传递的时间顺序. 纵向是时间轴,时 ...

  8. 软件工程复习提纲——第二章

    软件工程复习提纲,期末.考研的学霸笔记 第二章--可行性研究 第二章可行性研究 1.可行性研究的任务:可行性研究的目的不是解决问题,而是用最小的代价在尽可能短的时间内确 定问题是否能够解决,是否值得去 ...

  9. 软件工程复习提纲——第一章

    软件工程复习提纲,期末.考研的学霸笔记 第一章--软件工程基本概念 第一章软件工程基本概念 软件危机的概念:指在计算机软件的开发和维护过程中所遇到的一系列严重问题. 软件危机包含两方面的问题:1)如何 ...

  10. 软件工程复习提纲——第八章

    软件工程复习提纲,期末.考研的学霸笔记 第八章--面向对象方法学引论 第八章面向对象方法学引论 面向对象方法学的要点.优点:   1)传统方法和面向对象方法的比较:   动态模型:(第三章已介绍状态图 ...

最新文章

  1. Spring Boot 整合 Netty(附源码)
  2. c语言编程中%g是什么格式
  3. 数据结构与算法之二叉搜索树
  4. NeurIPS 2020 | 没有乘法的神经网络,照样起飞?
  5. 配置gitlab环境实现代码管理及Web Hook测试和ldap认证
  6. 217 - leetcode -存在重复元素 -数据结构类 先排序再操作
  7. ios为了用户隐私安全,禁止自动播放音频文件的解决办法(微信端)
  8. android播放器demo,Android 简单的本地音乐播放器Demo
  9. html5鼠标悬停下拉列表,HTML5与CSS3中鼠标悬停会有下拉列表
  10. odoo rest api 服务接口
  11. 高等数学:求“分段函数在分段点”的导数,可以直接用导数公式吗?
  12. 360浏览器出现https证书错误怎么办
  13. php拼团逻辑,拼团3人团避免人数过多的一个算法
  14. JavaScript的输出方式大全
  15. 快手直播前期怎么引流?快手新人主播怎么做涨粉
  16. dirent C语言获取返回第n个文件的全路径
  17. 全国地级市面板Excel数据(1990-2019年)
  18. pytorch 一两张数据GPU测试,dataload速度慢的原因
  19. 2022-2-11 80.删除有序数组中的重复项II
  20. linux 实现文件增量同步

热门文章

  1. 三相PWM整流器滞环电流控制仿真
  2. 软件测试类型-文档测试
  3. 【GIS】开源GIS简介
  4. 微信小程序组件间传值
  5. 2023年度深圳市中小试基地认定资助申请指南
  6. java 自己实现连接池_JAVA自定义连接池原理设计(一)
  7. 矩阵键盘消抖 c语言,按键消抖,矩阵键盘原理和矩阵键盘的仿真模型
  8. Dos攻击工具burpsuite完整使用指南
  9. FAT文件系统详解(一)
  10. 拼音搜索函数(C# and java)