软件需求第8课 软件需求分析概述ppt课件.ppt
《软件需求第8课 软件需求分析概述ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件需求第8课 软件需求分析概述ppt课件.ppt(79页珍藏版)》请在三一办公上搜索。
1、1,软 件 需 求,哈尔滨工程大学计算机科学与技术学院海量数据挖掘及网络数据集成研究组 王念滨 教授 博导,2,第 8 章 软件需求分析概述,3,本课主要讨论问题,2 需求分析技术,3 需求分析方法,4 前期需求分析阶段的建模与分析,1 需求分析的根本任务,5 需求分析活动,4,本课主要讨论问题,2 需求分析技术,3 需求分析方法,4 前期需求分析阶段的建模与分析,1 需求分析的根本任务,5 需求分析活动,5,1 需求分析的根本任务,需求分析是软件需求中最核心的工作,需求建模是需求分析的主要手段。 需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。需求
2、分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。,6,软件的生存周期,问题定义,可行性研究,需求分析,软件设计,编码,测试,维护,计划时期,开发时期,运行时期,2 软件工程及软件需求概述,7,1 需求分析的根本任务,需求分析根本任务:建立分析模型,创建解决方案。,8,建立分析模型将复杂的系统分解成为简单的部分以及它们之间的联系,确定本质特征和用户达成对信息内容的共同理解分析的活动主要包括识别、定义和结构化,它的目的是获取某个可以转换为知识的事物的信息,1 需求分析的根本任务,创建解决方案将一个问题分解成独立的、更简单
3、和易于管理的子问题来帮助寻找解决方案创建解决方案的过程是创造性的帮助开发者建立问题的定义,并确定被定义的事物之间的逻辑关系这些逻辑关系可以形成信息的推理,进而可以被用来验证解决方案的正确性。,9,1 需求分析的根本任务,从实践角度考虑,需求分析不是分析如何实现用户的需求。实际上,需求分析是以业务分析为导向,将用户零散的需求串联起来,形成一个体系完成、组织合理、内容清晰的框架,为今后的设计开发工作打下良好的基础。,What to do? Yes,How to do ? No,10,1 需求分析的根本任务,需求分析的任务:分解、提炼的过程,在此过程中消除需求矛盾,(1)分解 分解是人类控制复杂性,
4、认识复杂事物的基本策略方法。无论是采用结构化方法,还是采用面向对象方法,分解都是必须采用的手段。 传统方法一般采用系统导向的分解方法,而现代需求工程建议采用业务导向的方法。 实践中,分解的策略很多,主要要根据团队的应用实践和用户的要求选择适当的分解方法,主要包括以下几种: 1)业务流程为主线的分解策略; 2 )程序结构为主线的分解策略; 3 )基于场景的分解策略; 4 )基于数据的分解策略等。,11,1 需求分析的根本任务,1)业务流程为主线的分解策略,系统级别,业务职责,岗位间,岗位级别,动作级别,目标系统,主题域1,主题域n,。,业务事件1,业务事件n,业务活动1,业务活动m,业务步骤1,
5、业务步骤w,目标决定范围,理清业务脉络,填充细节,细化和确认工作,12,1)业务流程为主线的分解策略,1 需求分析的根本任务,业务流程为主线的分解策略是目前比较流行的方法,主要按照“业务”的角度考虑分解方法。此方法特别适合联机事务处理系统、管理信息系统(MIS)。目标系统-主题域的分解依据是“目标决定范围”;主题域-业务事件所做的是理清业务脉络;业务事件-业务活动所做的是填充细节;业务活动-业务步骤所做的是细化和确认工作。,13,2)程序结构为主线的分解策略,1 需求分析的根本任务,目标系统,子系统1,子系统n,。,功能模块1,功能模块n,子模块1,子模块m,功能点1,功能点w,14,2)程序
6、结构为主线的分解策略,1 需求分析的根本任务,该方法是需求分析最常用的分解方法。当由于其过早进入程序结构,割裂了与问题域之间的联系,从而容易导致对问题域研究的不足,降低了需求的质量。目前认为此种方法仅适合于问题域比较清晰,问题不算复杂的情况,例如工具软件、嵌入式系统等。,15,3)基于场景的分解策略,1 需求分析的根本任务,目标系统,关注点1,关注点n,场景集合1,场景集合n,使用场景1,使用场景m,任务1,任务w,16,3)基于场景的分解策略,1 需求分析的根本任务,对于决策支持系统、面向用户的嵌入式系统等来说,决策场景、使用场景是主要的线索。向上可以总结成一类相似的集合,再总结成一系列的关
7、注点或者功能域,向下可以分解成具体的步骤或者操作任务。,17,4)基于数据的分解策略,1 需求分析的根本任务,目标系统,主题域1,主题域n,。,主题类1,主题类n,逻辑数据1,逻辑数据m,物理数据1,物理数据w,18,4)基于数据的分解策略,1 需求分析的根本任务,上述分解策略都是从“业务”角度来组织。但对于类似数据仓库之类的数据类项目,业务线索并不是十分明显,或者并不重要这是就需要以数据为主的分解策略。其中主题域仍然与“业务流程为主的分解策略”类似。而主题类是企业中的高层实体,主要由一组企业的逻辑数据类来表示,而企业的逻辑数据类在实现时又会对应于多个物理数据类。,19,分解策略小结,1 需求
8、分析的根本任务,业务流程为主线的分解策略; 程序结构为主线的分解策略; 基于场景的分解策略; 基于数据的分解策略等。 上述几种分解策略的选择要根据实际应用展开。选择一个合适的分解策略后,就可以将需求分析规格说明书的大纲确定下来,知道应该获取什么信息,由此当信息获取完成后,需求分析的任务就是将获取的信息填充到相应的级别上,并不断地验证是否已经填充完成,验证获取需求的可用性和完整性,解决存在的矛盾。,20,1 需求分析的根本任务,需求分析的任务:分解、提炼的过程,在此过程中消除需求矛盾,(2) 提炼 分解是一种自顶向下的方法,当按照任何一种线索进行分解时。就会破坏其它线索的完整性。例如,如果以“业
9、务”为线索,就会发现数据需求分解后会出现相互交叠的情况,也就是在多个业务事件中都涉及相同的类。 此种情况出现时,可能会影响需求分析人员建立全面的理解,因此需要采用自底向上的方法进行提炼。例如将每个业务事件中的类进行提炼,抽取出共性的部分,建立针对整个系统的全局领域模型。,21,1 需求分析的根本任务,需求分析的任务:分解、提炼的过程,在此过程中消除需求矛盾,(3)消除矛盾 在分析过程中,显然可能会发现有些需求是相互矛盾的、冲突的,由于是将收集的信息放在一个预先定义的结构中发现这些矛盾的,因此对矛盾的影响范围会有直观的了解,也能够知道它影响那些层面。寻找相应的人员,通过进一步需求获取来消除矛盾。
10、,22,1 需求分析的根本任务,建立分析模型,建立分析模型将复杂的系统分解成为简单的部分以及它们之间的联系,确定本质特征和用户达成对信息内容的共同理解分析的活动主要包括识别、定义和结构化,它的目的是获取某个可以转换为知识的事物的信息,23,1 需求分析的根本任务,建立分析模型,建模的目标与要点 建模是寻求分析的主要手段,它通过简化(化简)、强调来帮助需求分析人员理清思路,达成共识。因此需求建模的过程非常重要。建模的目的(为什么要建模?) 在平常工作和生活中,许多理工科的领域,几乎看不到那个领域是没有模型的。建筑工地需要施工图纸,电子工厂需要电路图,如果没有这些,我们会感到不可思议。因为这些模型
11、可以有效地帮助人们更好地认识、应用、设计复杂的事物。,24,1 需求分析的根本任务,建模的目的(为什么要建模?) 软件行业的复杂程度与例子中的行业比较,其复杂程度可以说是有过之而无不及。 为什么要建模?通过建模可以更好地理解正在开发的系统。 原先,由于计算机应用还不算普及,因此软件系统的规模和复杂度都相对较小。使用“数据结构+算法=程序”的模式就可以解决大部分问题。 现在,随着计算机应用的不断普及,业务模式、数据量都在发生迅速的变化。软件涉及的问题越来越广,早已超出了人们可以处理的复杂程度。 例子:以建筑行业作类比,早期的软件系统就像是构建一个小平房。即使没有建筑图纸,建筑工人也能够凭借经验和
12、已有的平房,安全,快捷地构建出可供使用的房屋。而现在的软件系统更像是高楼大厦,如果还采用传统的方式,就无法进行有效的规划和设计,最终必然导致失败。,建立分析模型,25,1 需求分析的根本任务,建立分析模型,建模的目的 通过软件建模,帮助我们按照实际情况或按照我们的需要的模式对系统进行可视化,提供一种详细说明系统的结构或者行为的方法,给出一个指导系统构造的模板。对所有做出的决定实施文档化。,26,1 需求分析的根本任务,模型 “模型是对事物的抽象,帮助人们在创建一个事物之前可以有更好的理解” 集中关注问题的计算特性(数据、功能、规则等等) “它是对系统进行思考和推理的一种方式。建模的目标是建立系
13、统的一个表示,这个表示以精确一致的方式描述系统,使得系统的使用更加容易” 建模方法抽象分解投影,建立分析模型,27,1 需求分析的根本任务,抽象(Abstraction)一方面要求人们只关注重要的信息,忽略次要的内容通过强调本质的特征,就减少了问题的复杂性(例如学生模型)另一方面也要求人们将认知保留在适当的层次,屏蔽更深层次的细节在问题的各元素之间推断出更广泛和更普遍的关系,帮助人们寻找解决方案分解(Decomposition / Partitioning)“分而治之”将单个复杂和难以理解的问题分解成多个相对更容易的子问题,并掌握各子问题之间的联系分解的方案往往还能提供问题的解决思路投影(Pr
14、ojection)多视点方法,建立分析模型,28,1 需求分析的根本任务,建立分析模型-三种模型,29,1 需求分析的根本任务,问题世界与业务模型使用问题域中的重要概念作为模型的组元使用概念之间的业务联系作为组元之间的关系使用了业务描述的方式,具有非形式化特征业务模型元素(即业务概念和业务联系)的选取和定义上具有不准确、不确定和模糊化可以抽取出需求信息中最重要和最本质的内容可以达成用户和开发者的共同理解非形式化特征使得它不适合于进行需求建模不足以用于描述一个有效的软件解决方案不准确、不确定和模糊化,建立分析模型,30,1 需求分析的根本任务,建立分析模型,软件分析模型介于计算模型和业务模型二者
15、之间的模型形式使用了计算模型的组元形式在组元的表现上采用了业务模型的表现方式半形式化的不像计算模型那么严谨比业务模型更严格,31,1 需求分析的根本任务,计算世界与计算模型使用软件的构成单位作为模型的组元软件构建单位之间的关系作为模型组元之间的关系基于计算科学建立的,具有形式化的特征信息的描述具有明确化、准确化和确定化的特征需求分析阶段不适宜建立形式化的计算模型重点问题是缺乏和软件实现相关的技术细节用户无法理解,建立分析模型,32,1 需求分析的根本任务,建模的要点和原则 在建模时,要注意考虑到计划之外的变化:设计要文档化,只有这样,才能使不熟悉的新手也可以有效地利用设计的方案。用可视化的模型
16、表达现实世界,有助于理解变化所代表的含义。 在实际的建模过程中要遵循以下建模原则: 模型是用来沟通的; 选择创建什么模型对如何解决问题和如何形成解决方案具有深远的影响。 每种模型可以在不同的精度级别上表示; 最好的模型是与现实相联系的模型; 单个模型往往不够充分,对每个重要的系统最好用一组几乎独立的模型去处理。,建立分析模型,33,1 需求分析的根本任务,模型的描述三个要素之间互为依赖,每个要素都为下一个要素提供了一个必需的环境语法:使用规则怎样使用模型的元素,并且以什么方式组织、连接或关联这些元素;语义:特定模型元素所具有的含义;语用:模型元素的上下文,以及影响该模型元素意义的约束和假定分析
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件需求第8课 软件需求分析概述ppt课件 软件 需求 分析 概述 ppt 课件
链接地址:https://www.31ppt.com/p-1422624.html