目录
一、 测试与评审
1.1 测试类型
1.2 测试阶段
1.3 面向对象的测试
1.4 测试自动化
1.5 软件调试
1.6 软件评审
1.7 验收与确认
二、软件质量管理
2.1 软件过程改进-CMMI
2.2 软件开发环境与工具
三、系统运行与评价
3.1 系统转换计划
3.1.1 遗留系统演化策略
3.1.2 新旧系统的转换策略
3.1.3 数据转换与迁移
3.2 系统运行与维护
四、系统审计
五、系统评价
一、 测试与评审
- 尽早、不断的进行测试
- 程序员避免测试自己设计的程序
- 既要选择有效、合理的数据,也要选择无效、不合理的数据
- 修改后应进行回归测试
- 尚未发现的错误数量与该程序已发现错误数成正比
1.1 测试类型
1.2 测试阶段
狭义性能测试分类:
- 负载测试:确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。
- 压力测试:通过确定一个系统的瓶颈或不能接受的性能点,来获得系统能提供的最大服务级别的测试
- 强度测试: 在系统资源特别低的情况下考查软件系统运行情况
- 并发测试:并发测试也称为容量测试,主要用来确定系统可处理的同时在线的最大用户数。
系统测试活动与步骤
1.3 面向对象的测试
1.4 测试自动化
1.5 软件调试
(1)软甲你调试方法
- 蛮力法:主要思想是“通过计算机找错”,低效,耗时
- 回溯法:从出错处人工沿控制流程往回追踪,直至发现出错的根源。复杂程序由于回溯路径多,难以实施
- 原因排除法:主要思想是演绎和归纳,用二分法实现
(2)软件调试与测试的区别
- 测试的目的是找出存在的错误,而调试的目的是定位错误并修改程序以修正错误
- 调试是测试之后的活动,测试和调试在目标、方法和思路上都有所不同
- 测试从一个已知的条件开始,使用预先定义的过程,有预知的结果;调试从一个末知的条件开始,结束的过程不可预计
- 测试过程可以事先设计,进度可以事先确定,调试不能描述过程或持续时间
1.6 软件评审
- 不应以测试代替评审
- 评审人员应关注产品而不应评论开发人员就
- 评审人员应关注于实质性问题
- 评审会议不应变为问题解决方案讨论会
- 评审应被安排进入项目计划
- 评审参与者应了解整个评审过程
- 评审人员事先应对评审材料充分了解
- 应重视评审的组织工作
软件评审分类
- 技术评审
- 管理评审
1.7 验收与确认
- 验证是指在软件开发周期中的一个给定阶段的产品是否达到在上一阶段确立的需求的过程
- 确认是指在软件开发过程结束时对软件进行评价以确定它是否和软件需求相一致的过程
- 测试是指通过执行程序来有意识地发现程序中的设计错误和编码错误的过程。测试是验证和确认的手段之一
二、软件质量管理
2.1 软件过程改进-CMMI
2.2 软件开发环境与工具
三、系统运行与评价
3.1 系统转换计划
3.1.1 遗留系统演化策略
淘汰策略 | 遗留系统的技术含量较低,且具有较低的业务价值。对遗留系统的完全淘汰是企业资源的根本浪费系统分析师应该善于“变废为宝”,通过对遗留系统功能的理解和借鉴,可以帮助新系统的设计降低新系统开发的风险。 |
继承策略 | 遗留系统的技术会虽较低已经满足企业运作的功能或性能要求但具有较高的商业价值,目前企业的业务尚紧密依赖该系统。对这种遗留系统的演化策略为继承在开发新系统时,需要完全兼容遗留系统的功能横型和数据横型。为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。 |
改造策略 | 遗留系统具有较高的业务价值,基本上能够满足企业业务运作和决策支持的需要。这种系统可能建成的时间还很短,对这种遗留系统的演化策略为改造。改造包括系统功能的增强和数据模型的改造两个方面。系统功能的增强是指在原有系统的基础上增加新的应用要求,对遗留系统本身不做改变数据模型的改造是指将遗留系统的旧的数据模型向新的数据模型的转化。 |
集成策略 | 遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部门( 或子公司)的业务管理。这种系统在各自的局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台、不同的数据模型,形成了一个个信息孤岛,对这种遗留系统的演化策略为集成。 |
3.1.2 新旧系统的转换策略
3.1.3 数据转换与迁移
3.2 系统运行与维护
软件维护是生命周期的一个完整部分。可以将软件维护定义为需要提供软件支持的全部活动这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前完成的活动包括交付后运行的计划和维护计划等;交付后的活动包括软件修改、培训、帮助资料等
- 正确性维护:指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。
- 适应性维护:指使应用软件适应信息技术变化和管理需求变化而进行的修改。企业的外部市场环境和管理需求的不断变化也使得各级管理人员不断提出新的信息需求
- 完善性维护:扩充功能和改善性能而进行的修改。对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。
- 预防性维护:为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使用系统适应各类变化而不被淘汰。如将专用报表功能改成通用报表生成功能,以适应将来报表格式的变化。