资源预览内容
第1页 / 共71页
第2页 / 共71页
第3页 / 共71页
第4页 / 共71页
第5页 / 共71页
第6页 / 共71页
第7页 / 共71页
第8页 / 共71页
第9页 / 共71页
第10页 / 共71页
亲,该文档总共71页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四部分 现代软件工程的需求过程,现代软件工程,传统的需求分析方法-1 面向对象的需求分析方法-2 基于UML的需求分析方法-3 需求工程与需求管理的实现-4,第四部分 现代软件工程的需求过程,第一章 传统的需求分析方法 需求概念与需求过程-1.1 问题定义阶段的需求分析-1.2 传统软件工程的需求分析方法-1.3 传统软件工程的建模方法-1.4,第四部分 现代软件工程的需求过程,1.4 传统软件工程的建模方法,回顾一下:上节课我们学习了 问题定义阶段的需求分析 确定系统目标 确定系统边界 传统软件需求分析(9个步骤) 1、系统分析 2、组织结构与功能分析 3、业务流程分析 4、数据与数据流分析 5、产生数据字典 6、功能/数据分析 7、系统功能划分 8、数据资源分布和应用部署 9、新系统总体方案的建立 结果:产生系统功能定义 这节课开始,我们介绍需求分析的下一步工作:建模,1.4.1 建模:作用与意义,需求说明: 描述了软件要做什么系统要实现的功能(性能、特征等) 通常是非正式描述,与未来的用户一起准备,正式合同的基础,常作为软件开发的起点 需求说明的形式: 非正式的大纲 高度抽象和结构化的功能说明 程序员非正式的理解 原型系统(与未来用户一起开发) 适合于 只有一个或几个程序员的简单系统 数据和子系统结构可以装在程序员的脑子里,系统功能只是软件系统最基本的外部表征 系统功能主要是面向用户的 大型复杂的系统,靠一些简单的功能定义,是无法实现的 手工作坊式的开发是由小功能(小系统)堆砌成大系统 混乱的(没有分析)控制流、信息流(传统) 大量类似的事件,但却采取不一致的、而又基本重复的处理(对象) 一种结果是:建立无数个信息“孤岛” 另一种结果是:系统内部纵横交错、关联关系错综复杂,一个小问题可能牵涉系统全身,系统非常不稳定 怎么办?需求分析的下一步工作,建立系统模型 用模型来进一步描述系统需求,需求分析与系统建模,天津联通本地网营业系统客户申请数据的流向图,信息入口,功能模块,根据不同的申请和情况,决定走不同的路线、经过不同的处理流程,大型系统通常十分复杂,很难直接对它们进行分析设计,因此,人们经常借助模型来设计分析系统。 绘画、书法、音乐、戏剧等等,这些复杂的系统,都可以分析出它的一些特有的固定模式。 例如:要了解京剧,可能先要搞清楚什么是行当、流派、程式,等等。“标签”帮助我们对系统的了解。 模型是现实世界中的某些事物的一种抽象表示。 抽象的含义是抽取事物的本质特性,忽略事物的其他次要因素,使得我们能比较容易地认识事物的本质。 模型抽取是理解、分析、开发或改造事物原型的常用手段。 开发复杂的软件系统,系统分析员建立的分析模型,可以从不同侧面,从复杂的背景下,抽象出系统清晰的目标特征,便于用户理解和开发实现,需求分析与系统建模,对于复杂系统,模型是需求和体系结构之间的过渡: 需求的抽象,成为需求模型 系统体系结构的特定方面来自需求模型 模型用需求的抽象视图表示,这种功能的文档称为模型(Model),模型的作用 整个系统太复杂,难以一下子抓住,通过模型简洁地描述系统某个方面 交流。(项目组成员之间,与客户) 将系统体系结构归档 模型的表述:模型语言模型Model+表示法Notation Model: 表示系统的结构 设计系统时可以在高层进行讨论, 而不用太早进入代码的细节 Notation: 以图、表、文字等将模型文档化,模型建立的思路有两种: 自顶向下、逐步求精 自底向上、综合集成。 描述系统模型最常见的方法是形式化描述和图示化描述。 形式化描述方法非常精确、严谨,易于系统以后的实现,但难以掌握和理解,模型可读性差,往往只有专业人员才会使用,因而难于推广。 图示化方法直观、自然,易于描述系统的层次结构、功能组成,且简单易学,通常还有工具软件支持,因而成为信息系统的主要描述工具,但这种方法的精确性和严谨性不够。,需求分析与系统建模,分析模型Analysis models 描述应用领域(问题域) 设计模型 Design models 描述软件系统(问题的解域结构 ) OOA与OOD 面向对象技术的分析模型和设计模型之间使用相同的模型和建模概念 解决从分析阶段到设计阶段的过渡问题,防止不一致 因此,OOA与OOD经常联系在一起,面向过程的建模 面向过程的建模方法是把过程看作系统模型的基本主线,数据是随着过程而产生的。最有影响的面向过程的设计方法是Yourdon的结构化分析与设计方法(SA-SD-SP方法)。 面向数据的建模 面向数据的建模方法把模型的输入输出看成是系统的主线,因此,首先定义的是数据结构,而过程模块是从数据结构中导出的,即功能跟随数据。最有影响的面向数据的设计方法是Jackson设计方法。 面向对象的建模 面向对象的需求分析方法是采用面向对象技术的建模概念,以对象、消息和事件及其处理为主线。如实体、关系、属性等,同时运用封装、继承、多态等机制来构造模型,模拟现实系统。,考察高速公路上的收费站与汽车的关系 面向过程是功能控制过程 传统的结构化需求分析和建模技术的基本点是构建过程,在系统的需求开发过程中,系统被分解成若干个过程。 以收费站的观点看汽车,汽车进来、出去都要经过收费站,这是面向过程的观点,收费站是功能,汽车是输入、输出数据。 以过程为重点,过程是主要的 ,数据是依附的 面向数据是数据控制过程 站在汽车的观点看收费站,汽车可以经过收费站,还可以去加油站、休息站。接受不同的服务功能,交不同的费用。 同样这些站是功能,汽车是数据。但以汽车为观察点,汽车是核心数据,功能依附于数据,这是面向数据的观点 而面向对象的方法是采用问题模型的观点,在系统的需求开发过程中,系统被分解并建造出一个问题域的模型。 汽车、收费站、加油站、都在一个整体内,但分别被定义为不同的对象类。适合按不同的需要进行考察和处理 在面向对象的设计中,考察的目标是对象,然后将具有共同特征的对象归纳成类,组织类之间的等级关系,构造类库。 在应用开发时,在类库中选择相应的类。,模型的分类,分类:根据从何种角度来理解和描述系统的结构 Structured Methods: 包括结构化分析,结构化设计等 通常用Dataflow diagram描述数据如何经过各个处理流程 适于关系数据库设计(大量数据,数据的处理可由数据之外的函数处理) 几种典型的需求分析建模方法 DFD数据流建模 IDEF功能建模 STD行为建模 E-R实体-关系建模 Object-oriented Methods: 将数据和函数统一 建议迭代、增量(iterative, incremental)开发 Example: UML, Shlaer-Mellor.,需求分析和设计与建模过程,1.4.2 数据流建模,数据流建模方法是一种面向结构化分析的方法,主要工具是数据流程图(DFD) 数据流表示信息在系统中流动和处理的过程,并不表示具体实现,因此,是系统分析员与用户沟通交流的工具 数据流图也是系统设计的依据,设计人员根据数据流图,可以确定子系统的边界 从数据流图可以进一步分解出数据存储和数据加工,这是系统的最基本功能 数据存储产生数据字典,数据加工产生数据处理说明 数据流建模方法就是这样建立了对系统的描述 我们在上一节课中已经介绍了DFD过程,IDEF建模,IDEF的含义是集成计算机辅助制造(Integrated ComputerAided Manufacturing,ICAM) DEFinition。最初的IDEF方法是在美国空军ICAM项目建立的。 最初开发的3种方法是: 功能建模(IDEF0) 信息建模(IDEF1) 动态建模(IDEF2) 随着信息技术的相继开发,产生了所谓IDEF族方法: 数据建模(IDEF1X) 过程描述获取方法(IDEF3) 面向对象的设计(OO设计)方法(IDEF4) 使用C语言的OO设计方法(IDEF4C) 实体描述获取方法(IDEF5) 设计理论(rationale)获取方法(IDEF6) 人系统交互设计方法(IDEF8) 业务约束发现方法(IDEF9) 网络设计方法(IDEF14)等。,IDEF建模,根据用途,可以把IDEF族方法分成两类: 第一类IDEF方法的作用是沟通系统开发人员之间的信息交流。主要有:IDEF0、IDEF1、IDEF3、IDEF5。 IDEF0通过对功能的分解、功能之间关系的分类(如按照输入、输出、控制和机制分类)来描述系统功能。 IDEF1用来描述企业运作过程中的重要信息。 IDEF3支持系统用户视图的结构化描述。 IDEF5用来采集事实和获取知识。 第二类IDEF方法重点支持系统开发的设计过程部分。目前有两种IDEF设计方法:IDEF1X和IDEF4。 IDEF1X可以辅助语义数据模型的设计。 IDEF4可以产生面向对象实现方法所需的高质量的设计产品。 在需求分析阶段,我们重点介绍第一类IDEF0和IDEF1,在介绍面向对象方法时,我们将简单介绍IDEF3,IDEF0只使用盒子和箭头这样二种容易理解的图形语言,代表一个真实系统 有效的IDEF0模型有助于组织系统分析,便于模型的构造者和流程的执行者交流。 IDEF0建模方法确立了分析的范围,流程的设计者使用IDEF0方法,提高了认识和决策的一致性。 右图是基本的IDEF0模型图 盒子表示一种活动,是IDEF0最基本的元件,通常使用动词描述活动特性。 箭头表示输入、控制、输出和机制,箭头用以连接系统中各活动,箭头通常是由名词描述: 输入(Input):实行或完成特定活动所需的资源,置于框图的左侧 输出(Output):经由活动处理或修正后的产出,置于框图的右侧 控制(Control):活动所需的条件限制,置于框图的上方 机制(Mechanisms):完成活动所需的工具,包括人员、设施及装备,置于框图的下方,(1)IDEF0功能建模,IDEF0方法不仅可以描述独立的活动,而且可以显示出由几个活动组成的连续流程,同时显示了各个活动的相互关系。 右图描述了产品A,B,C的生产过程,基本活动是建立机制、制造产品、检查产品。 建立机制的输出文档作为制造产品活动的输入,制造产品活动的产品A、B、C输出作为检查产品活动的输入。,生产过程的IDEF0,在这里我们可以看到,IDEF0丰富和深化了“功能”的概念描述了“功能”间的联系(输入/输出)和控制机制,IDEF0的多层分解结构,建立IDEF0模型是自上而下的分解活动。 首先依据活动的边界划定IDEF0中的框图。 在顶层框图完成以后,根据实际流程,可以把活动分解成下一层更小的活动。 这种阶梯结构有利于确定模型的范围。 通过观察图形,得到更深入的理解,防止系统描述中不必要的繁琐和疏漏。,IDEF0的建模步骤: (1)资料的收集:了解流程的相关背景,包括相关人员、事物及制度。建模需要与专家和流程的实际操作者广泛讨论。对收集到的信息分类加工整理。 (2)定义范围:在资料收集的基础上,分析关键性流程,如外部接口、系统与环境的边界等。 (3)针对收集到的资料绘图,根据IDEF0的绘制原则和符号,设计第一层。 (4)分解:对第一层进行分解,针对每个阶层编写辅助说明文字,并与父层共同构成完整模型。 (5)确认:模型建构者把初步的IDEF0图形和相关文件再次和相关人员进行讨论,确认最终结果。,(2)IDEF1信息建模,IDEF1信息建模方法主要用于对所建系统的信息资源进行分析和交流。IDEF1X是IDEF系列方法中IDEF1的扩展版本,是在E-R(实体联系)法的原则基础上,增加了一些规则, 使语义更为丰富的一种方法。用于建立系统信息模型。 主要内容是,对在组织中正在使用的信息,在现有流程分析过程中,确立哪些约束是由于缺乏合适的信息引起的,以及实施新流程所需要的信息。 IDEF1明确了现存的信息,以及在企业内部需要被管理的信息。 IDEF1是一种组织方法,可以标定和分析信息。 IDEF1是一种分析的工具,可以完成对以下问题的分析: (1)企业中信息的收集、保存、管理。 (2)控制信息管理的规则。 (3)企业中信息的逻辑关系。 (4)由于缺乏有效的信息管理所导致的问题。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号