需求分析建模技术_第1页
需求分析建模技术_第2页
需求分析建模技术_第3页
需求分析建模技术_第4页
需求分析建模技术_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上项目需求分析1. 需求分析概述1.1 需求分析定义需求分析是指理解用户需求,就软件功能和性能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。在这个过程中,用户处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。需求分析阶段结束后,要求得到用户需求说明书和需求规格说明书两份文档。广义上,需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。狭义上的需求分析是指需求的获取、分析及定义的过程。需求分析的任务就是软件系统解决“做什么”的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户

2、需求的过程。 1.2 需求分析的根本任务从实践角度考虑,需求分析不是分析如何实现用户的需求。实际上,需求分析是以业务分析为导向,将用户零散的需求串联起来,形成一个体系完成、组织合理、内容清晰的框架,为今后的设计开发工作打下良好的基础。1、 建立分析模型n 将复杂的系统分解成为简单的部分以及它们之间的联系,确定本质特征。n 和用户达成对信息内容的共同理解。n 分析的活动主要包括识别、定义和结构化,它的目的是获取某个可以转换为知识的事物的信息。2、 创建解决方案n 将一个问题分解成独立的、更简单和易于管理的子问题来帮助寻找解决方案。n 创建解决方案的过程是创造性的。n 帮助开发者建立问题的定义,并

3、确定被定义的事物之间的逻辑关系。n 这些逻辑关系可以形成信息的推理,进而可以被用来验证解决方案的正确性。1.3 需求的层次1、业务需求反映组织机构或客户对系统、产品高层次的目标要求。通常问题定义就是业务需求2、用户需求 描述用户使用产品必须要完成什么任务,怎么完成,通常是在问题定义的基础上进用户访谈、调查,对用户使用的场景进行整理,从而建立从用户角度的需求3、系统需求 从系统的角度来说明软件的需求,它就包括了用特性说明的功能需求,质量属性以及其它非功能需求,还有设计约束1.4 需求分析的重要性如果投入大量的人力、物力、财力和时间,而开发出的软件却没人要,那么所有的投入都是徒劳。如果费了很大的精

4、力开发一个软件,最后却不能满足用户的要求,而要重新开发,那么这种返工是让人痛心疾首的。所以,需求分析在软件开发过程中具有举足轻重的地位,具有决策性、方向性、策略性的作用,我们应对需求分析具有足够的重视。在一个大型软件系统的开发中,需求分析的作用要远远大于程序设计。根据Standish Group对23000个项目进行的研究结果表明,28%的项目彻底失败,46%的项目超出经费预算或者超出工期,只有约26%的项目获得成功。而在于这些高达74%的不成功项目中,有约60%的失败是源于需求问题。也就是说,有近45%的项目最终因为需求的问题最终导致失败。失败的主要原因:1、 不完整的需求;2、 没有用户的

5、介入; 3、 不实际的客户期望;4、 需求和规范的变理;5、 提供了不再需要的1.5 需求分析的一般步骤需求分析的基本过程:1. 需求获取 通过会议纪要、讨论纪要的形式。2. 需求捕获技术比较捕获技术优点缺点用户访谈直接有效、灵活、深入,主要技术占用时间长,信息面窄、较片面用户调查面广、可以获得更多反馈不够深入,容易形式主义、失真现场观摩容易建立直接的认识消耗时间长,易失真文档考古能够详细、直观对数据流细节进行分析易陷入文山书海,甚至产生误导联合开发直接的头脑风暴,可以击破需求盲点成本高,需要较高的控制技巧3. 需求分析 对收集到的需求进行提炼、分析和审查,为最终用户所看到的系统建立概念化的分

6、析模型。关键是解决What(收集什么信息)、Where(从哪收集)、How(如何收集)。4. 需求文档的编写 完成需求规格说明书的编写,并审核通过的规格说明书,其内容包含如下:l 分析需求可行性l 细化需求l 建立需求分析模型l 功能活动l 分析问题类和类之间关系l 系统和类行为l 数据流§需求分析的本质就是抽象、映射、转换。:2. 需求分析建模需求分析是软件需求中最核心的工作,需求分析建模是需求分析的主要手段。建立的过程。又称模型化。建模是研究系统的重要手段和前提。凡是用模型描述系统的因果关系或相互关系的过程都属于建模。建模是寻求分析的主要手段,它通过简化(化简)、强调来帮助需求分

7、析人员理清思路,达成共识。因此需求建模的过程非常重要。1.1 模型 (Model)模型是对事物的抽象,帮助人们在创建一个事物之前可以有更好的理解。集中关注问题的计算特性(数据、功能、规则等等) 它是对系统进行思考和推理的一种方式。建模的目标是建立系统的一个表示,这个表示以精确一致的方式描述系统,使得系统的使用更加容易 1.2 建模的目的通过建模可以更好地理解正在开发的系统。原先,由于计算机应用还不算普及,因此软件系统的规模和复杂度都相对较小。使用“数据结构+算法=程序”的模式就可以解决大部分问题。现在,随着计算机应用的不断普及,业务模式、数据量都在发生迅速的变化。软件涉及的问题越来越广,早已超

8、出了人们可以处理的复杂程度。如果还采用传统的方式,就无法进行有效的规划和设计,最终必然导致失败。通过软件建模,帮助我们按照实际情况或按照我们的需要的模式对系统进行可视化,提供一种详细说明系统的结构或者行为的方法,给出一个指导系统构造的模板。对所有做出的决定实施文档化。1.3 模型分类:业务模型、分析模型、计算模型、编码模型。以图书馆借书为例的一个模型:1.4 建模的过程需求理解模型模型分析建立模型现实系统1.5 建模的原则l 抽象(Abstraction)一方面要求人们只关注重要的信息,忽略次要的内容,通过强调本质的特征,就减少了问题的复杂性。另一方面也要求人们将认知保留在适当的层次,屏蔽更深

9、层次的细节。在问题的各元素之间推断出更广泛和更普遍的关系,帮助人们寻找解决方案。l 分解(Decomposition / Partitioning)“分而治之”,将单个复杂和难以理解的问题分解成多个相对更容易的子问题,并掌握各子问题之间的联系分解的方案往往还能提供问题的解决思路。l 投影(Projection)多视点方法1.6 建模方法描述系统需求时可以从系统的功能、行为和信息三个方面进行,侧重点可以不一样。1. 面向信息流向:结构化分析方法(SA)结构化分析(SA):structured analysis。使用、和判定树等工具,来建立一种新的、称为结构化说明书的目标文档-需求规格说明书。结构

10、化体现在将抽象为一系列的逻辑加工单元,各单元之间以发生关联。结构化分析是70年代末,由Demarco等人提出的,旨在减少分析活动中的错误,建立满足用户需求的系统逻辑模型。该方法的要点是:面对数据流的分解和抽象;把复杂问题自顶向下逐层分解,经过一系列分解和抽象,到最底层的就都是很容易描述并实现的问题了。SA方法的分析结果由、和加工逻辑说明。结构化分析过程中,一般认为首先应该考虑的问题应该是进行环境分析。2. 面向信息结构:Jackson分析方法JACKSON方法是一套完整的分析和设计方法。Jackson认为有三种形式的数据结构:顺序、选择和重复。三种数据结构可以进行任意嵌套,组合。形成复杂的结构

11、体系。JACKSON方法的从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整的描述程序结构的JACKSON图。3. 面向信息内容:面向对象分析方法面向对象分析方法(Object-Oriented Analysis,OOA),是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)和5个活动(标识对象类、标识结构、定义主题、定义属性和定义服务)组成。在这种方法中定义了两种对象类之间的结构,一种称为分类结构,一种称为组装结构。分类结构就是所谓的一般与特殊的关系。组

12、装结构则反映了对象之间的整体与部分的关系。OOA 中的5个层次和5个活动继续贯穿在OOD(画向对象的设计)过程中。OOD模型由4个部分组成。它们分别是设计问题域部分、设计人机交互部分、设计任务管理部分和设计数据管理部分。1.7 需求分析工具目前市面上最为流行的需求管理工具有以下三款,三款均需购买才能使用。1. 1Rational RequisiteProIBM Rational RequisitePro解决方案是一种需求和用例管理工具,能够帮助项目团队改进项目目标的沟通,增强协作开发,降低项目风险,以及在部署前提高应用程序的质量。通过与 Microsoft? Word 的高级集成方式,为需求的

13、定义和组织提供熟悉的环境。提供数据库与Word 文档的实时同步能力,为需求的组织、集成和分析提供方便。支持需求详细属性的定制和过滤,以最大化各个需求的信息价值。提供了详细的可跟踪性视图,通过这些视图可以显示需求间的父子关系,以及需求之间的相互影响关系。通过导出的XML格式的项目基线,可以比较项目间的差异。可以与 IBM Software Development Platform 中的许多工具进行集成,以改善需求的可访问性和沟通。2. Telelogic DOORS Telelogic DOORSreg; Enterprise Requirements Suite (DOORS/ERS) 是基于

14、整个公司的需求管理系统,用来捕捉、链接、跟踪、分析及管理信息,以确保项目与特定的需求及标准保持一致。 DOORS/ERS 使用清晰的沟通来降低失败的风险,这使通过通用的需求库来实现更高生产率的建设性的协作成为可能,并且为根据特定的需求定义的可交付物提供可视化的验证方法,从而达到质量标准。Telelogic DOORS企业需求管理套件(DOORS/ERS)是仅有的面向管理者、开发者与最终用户及整个生命周期的综合需求管理套件。不同于那些只能通过一种方式工作的解决方案,DOORS/ERS赋予你多种工具与方法对需求进行管理,可以灵活地融合到公司的管理过程中。以世界著名的需求管理工具DOORS 为基础,

15、DOORS/ERS使得整个企业能够有效地沟通从而减少失败的风险。DOORS/ERS 通过统一的需求知识库,提供对结果是否满足需求的可视化验证,从而达到质量目标,并能够进行结构化的协同作业使生产率得到提高3. Borland CaliberRM Borland CaliberRM是一个基于Web 和用于协作的需求定义和管理工具,可以帮助分布式的开发团队平滑协作,从而加速交付应用系统。CaliberRM 辅助团队成员沟通,减少错误和提升项目质量。CaliberRM 有助于更好地理解和控制项目,是Borland 生命周期管理技术暨Borland Suite 中用于定义和设计工作的关键内容,能够帮助团

16、队领先于竞争对手。CaliberRM 提供集中的存储库,能够帮助团队在早期及时澄清项目的需求,当全体成员都能够保持同步,工作的内容很容易具有明确的重点。此外,CaliberRM 和领先的对象建模工具、软件配置管理工具、项目规划工具、分析设计工具以及测试管理工具良好地集成。这种有效的集成有助于更好地理解需求变更对项目规模、预算和进度的影响。3. 数据挖掘3.1. 数据分析模型1. 绝对模型(Categorical Model):依据预定义路径寻找原因,如查询2. 解释模型(Exegetical Model):依据多层次路径寻找原因,如多维分析3. 思考模型(Contemplative Model

17、):参数化路径,如场景分析4. 公式模型(Formulaic Model):模型化路径,如数据挖掘3.2. 数据挖掘概念数据挖掘(Data Mining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。数据挖掘是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。因此,数据挖掘可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的先进有效的方法。图4.1数据

18、挖掘从数据仓库中得出3.3. 数据挖掘方法论1. 以SPSS,NCR等公司为代表的CRISP-DM方法论CRISP-DM是跨行业数据挖掘标准流程(Cross-Industry Standard Process for Data Mining)的缩写。强调以业务理解、数据理解、数据准备、建模、评价、发布为核心环节,将数据挖掘目标和商务目标有机地联系在一起。2. 以SAS公司为代表的SEMMA方法论,以抽样(Sample) 、探索(Explore) 、修改(Modify) 、建模(Model) 、评估(Assess) 为核心环节,强调数据挖掘过程是这5个环节的有机循环。3.4. 数据挖掘模型数据挖掘通过预测未来趋势及行为,做出前摄的、基于知识的决策。数据挖掘的目标是从数据库中发现隐含的、有意义的知识,主要有以下五类功能。1. 自动预测趋势和行为2. 关联分析3.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论