一、软件工程
(一)软件测试与维护
软件测试伴随开发和维护过程,通常可以在概念上划分为单元测试、集成测试和系统测试3个阶段
软件维护有如下类型:①更正性维护——更正交付后发现的错误;②适应性维护——使软件产品能够在变化后或变化中的环境中继续使用;③完善性维护——改进交付后产品的性能和可维护性;④预防性维护——在软件产品中的潜在错误称为实际错误前,预测并更正它们
(二)软件质量保证及质量评价
软件质量包括“内部质量”、“外部质量”和“使用质量”三部分。软件质量管理过程由许多活动组成,一些活动可以直接发现缺陷,另一些活动则检查活动的价值。其中包括质量保证过程、验证过程、确认过程、评审过程、审计过程等
软件质量保证:通过制定计划、实施和完成等活动保证项目生命周期中的软件产品和过程符合其规定的要求
验证与确认:确定某一活动的产品是否符合活动的需求,最终的软件产品是否达到其意图并满足用户需求;验证过程试图确保活动的输出产品构造正确,即活动的输出产品满足活动的规范说明;确认过程则试图确保构造了正确的产品,即产品满足其特定的目的一
评审与审计:包括管理评审、技术评审、检查、走查、审计等
管理评审:监控进展,决定计划和进度的状态,或评价用户达到目标所用管理方法的有效性
技术评审:评价软件产品,以确定其对使用意图的适合性
软件审计:提供软件产品和过程对于可应用的规则、标准、指南、计划和流程的遵从性的独立评价
审计:正式组织的活动,识别违例情况,并生成审计报告,采取更正性行动
(三)软件配置管理
软件配置管理活动包括软件配置管理计划、软件配置标识、软件配置控制、软件配置状态记录、软件配置审计、软件发布管理与交付等活动。
(四)软件开发工具
软件需求工具:需求建模工具、需求追踪工具
软件设计工具:软件设计创建和检查工具
软件构造工具:程序编辑器、编译器、代码生成器、解释器、调试器等
软件测试工具:测试生成器、测试执行框架、测试评价工具、测试管理工具、性能分析工具
软件维护工具:理解工具(如可视化工具&#