本章主要讲了软件开发中的软件需求,从软件需求、需求工程过程、需求获取技术和对小型图书资料管理系统案例分析几个方面展开讲述,讲到了软件需求在软件开发中的重要地位。
软件需求定义:①用户解决问题或达到目标所需的条件或能力。②系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力。③一种反映上面①或②所描述的条件或能力的文档说明。通常可以划分为业务需求、用户需求、功能需求和非功能需求等类型,业务需求是组织或客户对于系统的高层次目标要求,用户需求是从用户角度描述的系统功能需求和非功能需求,只涉及系统的外部行为,功能需求描述系统应该提供的功能或服务,非功能需求是从各角度对系统的约束和限制,系统需求是更加详细的描述系统的作用。
需求工程过程主要包括需求获取、需求分析、需求规格说明、需求验证和需求管理等,需求获取集中在用户任务包括:聆听用户需求、分析和整理所获取的信息、形成文档化的描述。需求分析是对收集到的需求进行提炼、分析,包括:定义系统边界、建立软件模型、分析需求可能性、确定需求优先级、建立需求分析模型、创建数据字典。需求规格说明是需求开发的结果精确阐述了软件系统必须提供的功能和性能及限制条件。需求验证是为了确保需求说明准确、完整地表达必要的质量特点,包括正确性、无二义性、完整性、可验证性、一致性、可修改性和可跟踪性。需求管理主要有需求变更控制、需求文档的版权控制、需求跟踪、需求管理工具等。
需求获取技术,它的关键在于通过与用户的沟通和交流,收集和理解用户的各项要求。常见的需求获取技术包括面谈和问卷调查、需求专题讨论会、观察用户工作流程、基于用例的方法、原型化方法等。面谈重要而直接的需求获取方法。需求专题讨论会是需求获取的一种最有力的技术,有很多优点。观察用户工作流程分被动观察和主动观察。原型化方法通过系统的可视化获得用户反馈,有抛弃式原型和演化式原型。基于用例的方法,它以任务和用户为中心,分确定参与者、确定用例、描述用例三部。
小型图书资料管理系统案例总实例讨论使用启发式方法获取用户需求并建立系统的用例模型,形象的介绍了软件需求的重要性,它主要有以下步骤:确定参与者、确定场景、确定用例、编写用例描述几部,没个步骤有自己的工作与作用。通过举例形象的说明了软件需求在软件开发中的重要地位。