系统开发生命周期

传统的系统开发生命周期方法(SDLC,Software Development Life Cycle)
也称为瀑布模型(Waterfall Model),适用于当一个项目的需求稳定、定义准确,而且能忍受较长的开发周期的情况。

各个阶段 总体描述
1.可行性研究 初步业务需求,业务案例、技术、经济、社会可行性,备选方案,投资回报
2. 需求定义 用户积极参与。功能性需求和非功能性需求。定义安全需求(CIA,机密性、完整性、可用性),定义审计轨迹需求。确定是采购软件还是定制开发。
3A. 购买系统 用户要参与软件的评估选择过程。准备需求建议书(RFP),要考虑供应商的财务能力,与供应商签订软件源代码第三方保全协议(Escrow)。
3B. 系统设计 系统规格说明,系统功能实现,接口设计,程序和数据库设计,安全计划。用户过多参与不合适,但设计人员可向用户解释软件架构如何满足需求。
4A. 系统配置 系统参数配置,与已有系统的接口开发联调。
4B. 系统开发 程序编码,调试与测试
5. 部署和实施 UAT测试之后进行,用户培训,数据转换,系统迁移,系统切换
6.实施后评估 评后估系统的充分性,评价成本成本效益和投资回报,吸取经验教训,为后续的开发项目提供改进建议

实体关系图(ERD, Entity Relationship Diagrams)
描述系统数据及数据之间的交互,用于表达逻辑数据模型

软件基线管理(Baseline)

编程标准

集成开发环境(IDE, Integrated Development Environment)

编程调试

  • 逻辑路径监测(Logic Path Monitor): 一系列事件的报告,提供逻辑错误的线索。
  • 内存转储(Memory Dumps): 用于系统崩溃时, 将内存中的数据转储保存在转储文件中,供给有关人员进行排错分析。
  • 输出分析(Output Analysis):通过比较实际的输出结果与预期结果检查系统的精确性。

测试模型-V模型

系统开发生命周期_第1张图片

软件测试方法

自底向上(Bottom-up)从底层的单元测试开始 自顶向下(Top-down)从顶层的系统测试开始
1.无需安装驱动程序 2.在所有程序完成前就可以开始测试 3. 对关键模块的错误可以较早发现 1. 可较早对主要功能和处理流程进行测试 2. 接口错误可以较早的测试出来 3. 编程人员与用户看到整个系统,增强信心

基本测试分类

  • 单元测试:对程序模块内部进行测试
  • 集成测试/接口测试: 测试多个模块之间的连接,验证整个系统的功能
  • 系统测试:将软件作为整个计算机系统的一部分,与硬件、外设、其他系统、数据等结合在一起进行测试
  • 最终接受测试
    用户接受测试(UAT):用户进行验收测试,确保用户要求的功能得到实现
    质量保证测试(QAT):质量保证人员进行测试,对软件的可迁移性、兼容性、可维护性、错误的恢复功能进行技术性确认

集成测试工具(ITF,Integrated Test Facilities)
测试数据输入到生产环境系统中运行,验证新系统在真实环境下的运行状况。要做好测试数据的标识工作,避免与生产数据的混淆。

其他测试类型

  • α测试(Alpha Testing):一个用户在开发环境下的测试,用于评价系统的FURPS(功能、可使用性、可靠性、性能、支持服务)。
  • β测试(Beta Testing):多个用户在实际使用环境下进行的测试,开发者通常不在测试现场,目标是测试可支持性
  • 模拟测试:对系统的某些特定或预定义的内容进行预备性的测试。
  • 白盒测试:测试软件系统的所有内部逻辑流程和路径,证实操作符合设计要求。
  • 黑盒测试:根据软件功能进行测试,不考虑系统内部逻辑结构和内部特性,检查软件是否符合功能说明。
  • 功能/确认测试:
  • 回归测试:
  • 平行测试:
  • 社交性测试:

系统切换技术

  • 并行切换/平行切换:
  • 分阶段切换:
  • 快速切换/一次性切换:

你可能感兴趣的:(系统开发生命周期)