文章插图
需求驱动的软体开发过程(1)软体需求软体需求描述解决现实世界某个问题的软体产品,及对软体产品的约束 。软体需求涉及需求抽取、需求分析、建立需求规格说明和确认,涉及建模、软体开发的技术、经济、时间可行性分析 。软体需求直接影响软体设计、软体测试、软体维护、软体配置管理、软体工程管理、软体工程过程和软体质量等 。(2)软体设计设计是软体工程最核心的内容 。设计既是“过程”,也是这个过程的“结果” 。软体设计由软体体系结构设计、软体详细设计两种活动组成 。它涉及软体体系结构、构件、接口、以及系统或构件的其它特徵,还涉及软体设计质量分析和评估、软体设计的符号、软体设计策略和方法等 。(3)软体构造通过编码、单元测试、集成测试、调试、确认这些活动,生成可用的、有意义的软体 。软体构造除要求符合设计功能外,还要求控制和降低程式複杂性、预计变更、进行程式验证和制定软体构造标準 。软体构造与软体配置管理、工具和方法、软体质量密切相关 。(4)软体测试测试是软体生存周期的重要部分,涉及测试的标準、测试技术、测试度量和测试过程 。测试不再是编码完成后才开始的活动,测试的目的是标识缺陷和问题,改善产品质量 。软体测试应该围绕整个开发和维护过程 。测试在需求阶段就应该开始,测试计画和规程必须系统,并随着开发的进展不断求精 。正确的软体工程质量观是预防,避免缺陷和问题比改正好 。代码生成前的主要测试手段是静态技术(检查),代码生成后採用动态技术(执行代码) 。测试的重点是动态技术,从程式无限的执行域中选择一个有限的测试用例集,动态地验证程式是否达到预期行为 。(5)软体维护软体产品交付后,需要改正软体的缺陷、提高软体性能或其他属性、使软体产品适应新的环境 。软体维护是软体进化的继续 。软体维护要支持系统快速地、便捷地满足新的需求 。基于服务的软体维护越来越受到重视 。软体维护是软体生存周期的组成部分 。然而,历史上维护从未受到重视 。情况有了改变,软体组织力图使软体运营时间更长,软体维护成为令人关注的焦点 。(6)软体配置管理 为了系统的控制配置变更,维护整个系统生命周期中配置的一致性和可追蹤性,必须按时间管理软体的不同配置,包括配置管理过程的管理、软体配置鉴别、配置管理控制、配置管理状态记录、配置管理审计、软体发布和交付管理等 。(7)软体工程管理运用管理活动,如计画、协调、度量、监控、控制和报告,确保软体开发和维护是系统的、规範的、可度量的 。它涉及基础设施管理;项目管理;度量和控制计画三个层次 。度量是软体管理决策的基础 。近年来软体度量的标準、测度、方法、规範发展较快 。(8)软体工程过程管理软体工程过程的目的是,实现一个新的或者更好的过程 。软体工程过程关注软体过程的定义、实现、评估、测量、管理、变更、改进,以及过程和产品的度量 。软体工程过程分为,①围绕软体生存周期过程的技术和管理活动,即需求获取、软体开发、维护和退役的各种活动 。②对软体生存周期的定义、实现、评估、度量、管理、变更和改进 。(9)软体工程工具和方法软体开发工具是以计算机为基础的,用于辅助软体生存周期过程 。通常,工具是为特定的软体工程方法设计的,以减少手工操作的负担、使软体工程更加系统化 。软体工具的种类很多,从支持个人到整个生存周期 。软体工具分为:需求工具、设计工具、构造工具、测试工具、维护工具、配置管理工具、工程管理工具、工程过程工具、软体质量工具等 。