- 1、本文档共120页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
树型层次结构逐层细化
3.1 基本概念 需求工程(requirement engineering,RE)是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。 它通过合适的工具和记号系统地描述待开发系统及其行为特征和相关约束,形成需求文档,并对用户不断变化的需求演进给予支持。 软件需求工程 是一门分析并记录软件需求的学科,它把系统需求分解成一些主要的子系统和任务,把这些子系统或任务分配给软件,并通过一系列重复的分析、设计、比较研究、原型开发过程把这些系统需求转换成软件的需求描述和一些性能参数。 软件需求 是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对应问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段。 需求分析 介于系统分析和软件设计阶段之间的桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。 需求工程过程 需求工程是一个不断反复的需求定义、文档记录、需求演进的过程,并最终在验证的基础上冻结需求。80年代,HerbKrasner定义了需求工程的五阶段生命周期: 需求定义和分析、需求决策、形成需求规格、需求实现与验证、需求演进管理。 MatthiasJarke和KlausPohl提出了三阶段周期的说法:获取、表示和验证。 1、涉及的几个问题 如何定义系统需求? 如何识别、获取需求? 你能够采取何种手段与用户进行交流沟通? 何为需求建模? 你如何理解模型与建模? 4、六步骤说 把需求工程的活动划分为以下6个步骤: (1)需求获取:通过与用户的交流,对现有系统的观察,从而捕获用户的需求; (2)需求分析:对获取的需求进行分析; (3)需求规约:对需求进行确的形式化的描述,作为用户和开发者之间的一个协约; 3.2 需求获取 需求获取即问题识别。 任务:准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么。用 需求规格说明书 规范的形式准确地表达用户的需求。 焦点--what 在需求分析阶段,系统分析员的主要焦点是 “做什么(what)” ,不是 “怎样做(how)” 一、需求获取面临的挑战 问题的复杂性和对问题空间 理解的不完备性与不一致性 交流障碍 需求易变性 需求获取面临的挑战之二 绝大部分用户是不懂得需求分析方法的,他们不知道怎样全面而又准确无误地表达自己的需求,因而对于需求分析人员来讲,需要掌握很好的方法与技巧,恰当地启发引导用户表达自己的需求,以便为项目的成功提供一个很好的基石。 需求获取的2个基本原则 1 深入浅出 2 以流程为主线 1 深入浅出 对企业的需求调研的要尽可能的全面、细致,调研的需求是个全集,系统真正实现的是个子集。所做的工作可能一时看不到有什么作用,但是这样做可以对应用领域的业务吃得很透,能够避免一些不必要的麻烦,如可以保证系统的灵活性等。 2 以流程为主线 在与用户交流的过程中,应该用流程将所有的内容串起来,如单据、信息、组织结构、处理规则等,这样便于交流沟通,符合用户的思维习惯。流程的描述既要有宏观,又要有微观。即要强调总体的业务流程、全生命周期的业务流程,又要对流程细化,有分支的业务流程。在分析企业流程并进行优化时,要把握几个方面: 二、 初步需求获取技术 1 用户访谈与会议 2 现场观察与实地调研 3 联合工作小组 联合工作小组 分析人员与用户在一起,充分了解用户的要求 把双方的理解用需求规格说明书表达出来 需求规格说明书包括目标系统的完整描述,需求验证标准,等等. 审核通过之后,将成为系统设计的依据和将来验收系统的依据 三、 需求获取的内容 1.用户需求分类 (1)功能性需求: 定义了系统做什么(描述系统必须支持 的功能和过程) (2)非功能性需求(技术需求): 定义了系统工作时的特性 (描述操作环境和性能目标) 2. 两类需求包括的内容 (1) 功能 (2) 性能 (3) 环境 (4) 界面 (5) 用户或人的因素 (6) 文档 (7) 数据 (8) 资源 (9) 安全必威体育官网网址 (10)软件成本消耗与开发进度 (11)质量保证 (1) 功能需求 系统做什么? 系统何时做什么? 系统何时及如何修改或升
文档评论(0)