- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程基础 需求工程 刘 驰 讲授内容 软件需求 需求工程过程 需求建模 形式化描述 1. 什么是需求? 需求是对系统应该提供的服务和所受约束的描述。 由于需求要向不同类型的涉众(读者)传达不同层次的信息,可以将需求分为: 用户需求(目标需求) :用用户所熟悉的表达形式给出需求描述。 系统需求(产品需求):详细地给出系统将提供的服务以及系统所受到的约束,比用户需求更具体,更形式化。 软件设计描述(设计层需求):在系统需求描述的基础上再加入更加详细的设计层面的需求细节。 示例1 示例2 用自然语言描述的用户需求 描述不够清楚(二义性) 需求混乱(功能需求、非功能需求、系统目标和设计信息无法清晰地区分) 需求混合(多个不同的需求交织在一起,以一个需求的形式给出) 描述系统需求可能用到多种不同模型,如:对象模型、数据流模型等 原则上讲,系统需求仅仅描述做什么,而不应该描述如何实现。然而,要给出细节需求而不提到任何设计信息,事实上也是不可能的: 通常系统需求依照构成系统的各个子系统结构来给出,即由初始的系统体系结构来构造需求描述; 通常目标系统和已有系统互操作,这就约束了目标系统的设计,同时这些约束又构成了新系统的需求; 某些特别的设计(如NVP)是系统的一个外部需求 系统需求描述工具 SADT: Structured Analysis and Design Techniques 2. 需求的另一种划分 业务需求 用户需求 功能需求 非功能需求 业务需求(Business Requirement) 反映了组织机构或客户对系统、产品的高层次目标要求 反映目标系统所处领域的特点 在项目视图与范围文档中予以说明 用户需求(User Requirement) 用户使用产品必须要完成的任务 在使用用例文档或方案脚本说明中予以说明 功能需求(Functional, Behavioral Requirement ) 定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求 对系统应该提供的服务、如何对输入做出发应以及系统在特定条件下的行为的描述。 涉及与本系统有接口的其他系统的所有事情。 可能需要明确声明系统不应该做什么。 非功能需求(Non-functional Requirement) 对系统提供的服务或功能给出的约束,包括性能指标、对质量属性(quality attribute)的描述、外部接口以及设计与实现的约束(constraint)、时间约束、标准等。 非功能需求最好是可以验证的,但实际上对需求量化通常很难。 非功能需求与功能需求有时会发生冲突。 非功能需求之间会发生冲突。 非功能需求分类 功能需求示例:大学图书馆系统 - 功能需求以不同的详细程度重写(需求1和3) - 含糊的表达,“多种浏览器” 容易忽略的非琐碎要求(示例) 酒店房间预订系统: R1:根据客房类型而不是客房号进行预订(业务细节) R2:考虑到预订客房的客户有可能不入住,可以接受超过空闲客房数量的预订 (边界条件) R3:授权的系统管理员可以自定义单价(权限) 3.软件需求文档 SRS (Software Requirement Specification) Heninger 对软件需求文档提出的6点要求: It should specify external system behavior. It should specify constraints on the implementation. It should be easy to change. It should serve as a reference tool for system maintainers. It should record forethought about the life cycle of the system. It should characterize acceptable responses to undesired events. SRS结构 Introduction Purpose Definitions System overview References Overall description Product perspective System Interfaces User Interfaces Hardware interfaces Software interfaces Communication Interfaces Memory Constraints Operations Site Adaptation Requirements Product functions Use
文档评论(0)