第一篇 信息系统技术知识
第二章 信息系统基础
2.3 软件工程知识
2.3.1 考点梳理
软件需求分析与定义
概念:软件需求是一个为解决特定问题而必须由披开发或被修改的软件展示的特性。
所有软件需求的一个基本特性就是可验证性。软件需求和软件质保人员都必须保证,在现有的资源约束下,需求可以被验证。
除了其表达的行为特性外,需求还有其他特性,如优先级,以便在资源有限时进行权衡。通常,要唯一的标识软件需求,才能在整个软件生命周期中,进行软件配置控制和管理。
需求分析的目的如下:
1) 检测和解决需求之间的冲突。
2) 发现软件的边界,以及软件与其环境如何交互。
3) 详细描述系统需求,以导出软件需求。
软件设计、测试与维护
软件设计的概念:定义一个系统或组件的架构、组件、接口和其他特征的过程程,并得到这个过程的结果。软件设计由两个处于软件需求和软件构造之间的活动组成:软件架构设计、软件详细设计。
软件测试是为评价和改进软件产品质量、识别软件产品的缺陷和问题而进行的活动。软件测试随开发和维护过程,通常在不同的级别上进行,可以在概念上区分三个大的测试阶段:单元测试、集成测试和系统测试。
软件维护定义为需要提供软件支持的全部活动。这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前完成的活动包括交付后运行的计划和维护计划等。交付后的活动包括软件修改、培训、帮助资料等。
软件维护包括如下类型。
1) 更正性维护:软件产品交付后进行的修改,以更正发现的问题。
2) 适应性维护:软件产品交付后进行的修改,以保持软件产品能在变化后 或变化中的环境中可以继续使用。
3) 完善性维护:软件产品交付后进行的修改,以改进性能和可维护性。
4) 预防性维护:软件产品交付后进行的修改,以在软件产品中的潜在错误成为实际错误前,检测和更正它们。
软件复用
软件复用是指利用已有软件的各种有关知识构造新的软件,以缩减软件开发和维护的费用。
软件复用的主要思想是,将软件看成是由不同功能的“组件”所组成的有机体,每一个组件在设计编写时可以被设计成“完成同类工作的通用工具”,这样,如果完成各种工作的组件被建立起来以后,编写某一特定软件的工作就变成了将各种不同组件组织连接起来的简单问题,这对于软件产品的最终质量和维护工作都有本质性的改变。
软件质量保证及质量评价
软件质量管理过程包括:质量保证过程、验证过程、确认过程、评审过程、审计过程等。
软件质量保证过程通过计划制订、实施和完成一组活动提供保证,这些活动保证项目生命周期中的软件产品和过程符合其规定的需求。
验证与确认过程使用能够定位缺陷并便于以后改正的测试技术直接处理软件产品质量问题。验证与确认过程确定某一开发和维护活动的产品是否符合活动的需求,最终的软件产品是否达到其意图并满足用户需求。验证过程试图确保活动的输出产品已经被正确制造,即活动的输出产品满足前面活动施加的规范说明;确认过程则试图确保建造了正确的产品,即产品满足其特定的目的。
评审与审计过程包括:管理评审、技术评审、检查、走查、审计等。
软件配置管理
软件配置管理活动有:软件配置管理过程的管理和计划、软件配置标识、软件配置控制、软件配置状态记录、软件配置审计、软件发布管理与交付。
软件开发环境
软件开发环境是指在基本硬件和宿至软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。
软件需求工具包括需求建模工具和需求追踪工具。
软件设计工具用于创建和检查软件设计,因为软件设计方法的多样性,这类工具的种类很多。
软件构造工具包括程序编辑器、编译器和代码生成器、解释器、调试器等。
软件测试工具包括测试生成器、测试执行框架、测试评价工具、测试管理工具、性能分析工具。
软件维护工具包括理解工具(如可视化工具)和再造工具(如重构工具)。
软件配置管理工具包括追踪工具、版本管理工具和发布工具。
软件工程管理工具包括项目计划与追踪工具、风险管理工具和度量工具。
软件工程过程工具包括建模工具、管理工具、软件开发环境。
软件质量工具包括检查工具和分析工具。
软件过程管理
软件过程管理是提高软件生产率和保证软件质量的一个重要的方法。
软件工程管理集成了过程管理和项目管理,包括以下6个方面:
1) 启动和范围定义
2) 软件项目计划
3) 软件项目实施
4) 评审和评价
5) 关闭
6) 软件工程度量