需求分析与建模课件.ppt
《需求分析与建模课件.ppt》由会员分享,可在线阅读,更多相关《需求分析与建模课件.ppt(79页珍藏版)》请在三一办公上搜索。
1、.,1,1,第5章 需求分析与建模,需求分析必要性结构化分析面向对象分析需求用例分析,.,2,2,5.1 需求分析与软件分析,神父之牛的故事有个神父在教堂为一个人忏悔。那人说:“神父,我偷了别人一头牛,我该怎么办?我把牛给你好不好?”神父回答:“我不要。你应该把那头牛送还给失主才对。”那人说:“但是他说他不要。”神父说:“那你就自己收下吧。”结果,当天晚上神父回到家后,发觉他的牛不见了。,需求分析的必要性:,.,3,3,5.1 需求分析与软件分析,95 折=95%9 折=9%?(9 折=90%),需求分析的必要性:,.,4,需求分析与建模,需求分析与软件分析结构化分析面向对象的分析需求用例求分
2、析,.,5,5.2 结构化分析,结构化分析(SA)方法是一种面向过程的需求分析方法,主要对数据(流)进行分析,基本思想是将系统抽取出“数据”和“控制”两部分,再分别进行抽象和处理。数据流图(DFD)、数据字典(DD)和流程图是结构化分析最常用的工具。数据流图用来描述数据流从输入到输出的变换流程。数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。,.,6,5.2 结构化分析,.,7,5.2 结构化分析,结构化分析(SA)方法的特点简单高效适合需求分析非常清楚的系统,.,8,需求分析与建模,需求分析与软件分析结构化分析面向对象的分析需求用例分析,.,9,1面向对象(Ob
3、ject Oriented,OO)的基本思想模拟人类认识和解决问题的方式遇到问题认识个体对问题空间(问题域)进行划分归类找出每个类中的基本特征抽象找出实现的解法(求解域)见“第5章补充-面向对象的思想、方法和应用”,5.3 面向对象的分析-基本思想,.,10,5.3 面向对象的分析-基本思想,面向对象的开发方法可描述为:(1)客观事物都是由对象(object)组成的 对象是在客观事物基础上抽象的结果,任何复杂的事物都可以通过对象的某种组合构成。,(2)对象由属性和方法组成 属性(attribute)反映对象的信息特征。如:特点、值、状态等。方法(method)则用 来定义改变对象属性状态的各种
4、操作方式。,(3)对象之间的联系通过传递消息来实现传递消息(message)的方式是通过消息模式(message pattern)和方法所定义的操作过程来完成的。,(4)对象可按其属性进行归类 类(class)有一定的结构,类可以有超类(super class)这种对象或类之间的层次结构是靠继承关系维系的。,(5)对象是被封装的实体,类可以有子类(subclass)所谓封装(encapsulation),即指严格的模块化。这种封装的对象满足软件工程的要求,而且可以直接被面向对象的程序设计语言所接受。,.,11,2结构化方法与OO方法的比较结构化方法依赖基本的数据结构,直接附加语义协议,处理信息
5、,5.3 面向对象的分析-比较,.,12,2结构化方法与OO方法的比较OO方法利用数据结构的多重性,层层变换,最后在最上层附加语义协议,5.3 面向对象的分析-比较,.,13,2OO方法与结构化方法的比较结构化方法:基于变换(输入输出),数据与指令分开OO方法:基于分解,数据与指令放在一起结构化方法从一开始就将系统拆分成“数据”和“控制”两部分,再分别进行抽象和处理OO方法将任务分解为若干较小的子任务,最后才进行“数据”和“控制”的拆分把功能与信息混合的的系统“拆解”为数据和控制,是系统分析与设计过程中最大的风险OO方法将此风险推后,在一系列小系统上“拆解”,更为安全可靠,5.3 面向对象的分
6、析-比较,.,14,如果你的分析习惯是在调研需求时先弄清楚有多少业务流程,再画出业 务流程图,然后顺藤摸瓜,找出业务流程中每一步骤的参与部门或岗位,弄清楚在这一步参与者所做的事情和填写表单的结果,并关心用户是如何把这份表单传给到 下一个环节的。那么很不幸,你还在做面向过程的事情。如果你的分析习惯是在调研需求时最先弄清楚有多少部门,多少岗位,然后找到每一个岗位的业务代表,问他们类似的问题:你平时都做什么?这件事是谁交办的?做完了你需要通知或传达给谁吗?做这件事情你都需要填写些什么表格吗?.那么恭喜你,你已经OO啦!,5.3 面向对象的分析-比较,闲话:今天你OO了吗?,.,15,3、面向对象技术
7、的基本概念:对象和实例(object&instance)类(class)封装(encapsulation)继承(inheritance)多态(polymorphism)消息(message),5.3 面向对象的分析-基本概念,.,16,对象模型基本元素的标识1)类、属性、方法 类是具有相同属性和操作的对象集合的总称。它是面向对象的一个基本概念,类封装了客观世界中对象实体的特征与行为,即属性与方法。其表示法是一个矩形,由带有类名、属性和方法(操作)的分格框组成。如下图所示。,5.3 面向对象的分析-基本概念,.,17,属性 属性是指类的特性,它描述类所具有的一系列特性值。一个类可以有多个属性,也
8、可以没有属性。在类图中属性只要写上名字就可以了。如右上图.也可以在属性名后跟上类型甚至缺省取值,如右下图:,5.3 面向对象的分析-基本概念,.,18,方法 方法是指类所能提供的服务或可执行的操作。它表现类的动态特征。,5.3 面向对象的分析-基本概念,.,19,2)继承 继承,也称泛化,它是面向对象描述类之间相似性的一个重要机制。面向对象利用继承来表达这种相似性,这使得可以利用继承来管理类,同时也使得在定义一个相似类时能简化类的定义工作。,5.3 面向对象的分析-基本概念,.,20,继承(泛化)关系,5.3 面向对象的分析-基本概念,.,21,3)超类、父类、子类 一个类可以继承其他类的属性
9、和方法。继承了其它类属性和方法的类称为子类,被继承的类称为父类或超类。它们的关系如下图所示。子类复用父类属性和方法的过程,称为继承或泛化。没有父类的类被称为基类或根类;没有子类的类被称为叶类。如果一个类恰好只有一个父类,这样的继承关系叫单继承。如果一个类有多个父类,这样的继承就是多继承。,5.3 面向对象的分析-基本概念,.,22,4)抽象类 抽象类(Abstract Class)是一种不能直接产生实例的类,它的作用仅仅是为了其他的非抽象类继承和重用。,5.3 面向对象的分析-基本概念,.,23,类“Window”包含有两个方法的名称“toFront()”和“toBack()”,但是没有方法实
10、现。类“Window”本身不能有实例,但它有两个特化的子类“Windows Window”和“Mac Window”,它们包含了方法“toFront()”和“toBack()”在不同平台上的实现。在本例中,类“Window”的作用是作为文本编辑器类“Text Editor”的一个接口。,5.3 面向对象的分析-基本概念,此图表示了抽象类的应用。其中文本编辑器独立于平台,为此定义了一个独立于平台的窗口对象类“Window”,它是一个抽象类,在类名“Window”下标有约束abstract。,.,24,5)多态多态是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对
11、象。即在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,不同层次中的每个类各自按自己的需要来实现这个行为。当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法。,5.3 面向对象的分析-基本概念,.,25,5)多态 在不同类中具有相同名称的方法(操作)。,5.3 面向对象的分析-基本概念,.,26,6)重载(Overloading)有两种重载:函数重载指同一个函数名可以对应着多个函数的实现,每种实现对应着一个函数体,这些函数的名字相同,但是函数的参数的类型不同。运算符重载是指同一个操作符可以施加于不同的操作数。重载进一步提高了面向对象系统的灵活性和可读性。
12、,5.3 面向对象的分析-基本概念,.,27,7)依赖(dependency)依赖是指一个类中的元素使用了另一个类。依赖关系描述类之间的使用关系。,5.3 面向对象的分析-基本概念,.,28,8)关联 关联(Association)是指对象类之间具有的语义联系。其基本表示如下。,应用于关联的4种修饰:关联名角色名多重性限定符与约束符,5.3 面向对象的分析-基本概念,.,29,9)聚合与组合 聚合(Aggregation)是一种描述类之间的整体与部分的组成关系。,5.3 面向对象的分析-基本概念,.,30,组合(Composition)是一种特殊的聚合,它的每个部分体都是必须的。如下图所示。,
13、5.3 面向对象的分析-基本概念,.,31,10)类图类图表达了一组类和它们之间的联系。,类图示意,5.3 面向对象的分析-基本概念,.,32,11)对象 对象是类的具体实例,即类在某时刻的一个快照。,5.3 面向对象的分析-基本概念,.,33,类图示意,11)对象图 对象图是类图的一个实例,它表示在某一时刻系统对象的状态、对象之间的联系状态。,5.3 面向对象的分析-基本概念,.,34,对象图示意,5.3 面向对象的分析-基本概念,.,35,12)消息 消息是从一个对象(发送者)向另一个或几个其他对象(接收者)发送的信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作。,5.3
14、 面向对象的分析-基本概念,.,36,13)接口(Interface)接口 是一组外部可访问的操作方法,它用于一个类为其他类提供服务。接口可以看作为一种特殊的抽象类,它不含属性,只有方法。接口代表系统中的接缝,接口两端的对象或组件可以独立变更,只要它们遵守和实现接口的规定,通过接口相联系即可。,5.3 面向对象的分析-基本概念,.,37,建立功能模型建立对象模型建立动态模型,5.3 面向对象的分析-分析方法,确定类与对象 确定结构与关联定义属性定义服务,准备典型的交互行为的脚本提取事件,确定事件的动作及目标对象排列事件顺序,确定状态及状态间关系,用例图描述,.,38,38,需求分析与建模,需求
15、分析与软件分析结构化分析面向对象的分析需求用例分析,.,39,39,5.4 需求用例分析,需求用例分析(基于用例的需求分析)用例的概念用例的粒度用例业务建模之涉众业务建模一般步骤和方法 用户、业务用例和业务场景 用例实现、用例场景和领域模型 用例规约的编写-业务规则和实体描述 编写UML需求规格说明书,.,40,5.4 用例分析-用例的概念,用例的定义用例就是与使用者(actor)交互的,并且给使用者提供可观测的有意义的结果的一系列活动的集合。用例的特征1系列活动是相对独立的。这意味着它不需要与其它用例交互而独自完成参与者的目的。也就是说从“功能”上说是完备的。(有人可能会想到,用例之间不是也
16、有关联关系吗?比如扩展/实现/包含。解释:用例间关系是分析过程的产物,而且这种关系一般的产生在概念层用例阶段和系统层用例阶段。对于业务用例,独立性特征是很明显的。),比如在ATM取钱的场景中:取钱,读卡,验证账号,打印回执单等都是可能的用例,.,41,5.4 用例分析-用例的概念,用例的特征2执行结果对参与者来说是可观测的和有意义的。(例如,系统会监控参与者在系统里的操作,并在参与者删除数据之前备份。虽然它是系统的一个必需组成部分,但它在需求阶段却不应该 作为用例出现。因为这是一个后台进程,对参与者来说是不可观测的,它应该在系统用例分析阶段定义。)(又比如说,登录系统是一个有效的用例,但输入密
17、码却不是。这是因为登录系统对参与者是有意义的,这样他可以获得身份认证和授权,但输入密码却是没有意义的,输入完了呢?有什么结果吗?),.,42,5.4 用例分析-用例的概念,用例的特征3用例必须由一个参与者发起。不存在没有参与者的用例,用例不应该自动启动,也不应该主动启动另一个用例。用例总是由一个参与者发起,并且满足特征2。例如从ATM 取钱是一个有效的用例,ATM吐钞却不是。(因为ATM是不会无缘无故吐钞的)。,.,43,5.4 用例分析-用例的概念,用例的特征4必然是以动宾短语形式出现的。即,必须有一个动作和动作的受体。例如,喝水是一个有效的用例,而“喝”和“水”却不是。(虽然生活常识告诉我
18、们,在没有水的情况下 人是不会做出喝这个动作的,水也必然是喝进去的,而不是滑进去的,但是笔者所见的很多用例中类似“计算”,“统计”,“报表”,“输出”,“录入”之类的 并不在少数。),.,44,5.4 用例分析-用例的概念,用例的特征5需求分析阶段用例以参与者为中心(区别于以计算机 系统为中心),从参与者的角度来描述他要做的日常工作(区别于以业务流程描述的方式),并分析这些日常工作之间是如何交互的(区别于数据流的描述方式)。换句话说,用例分析的首要目标不是要弄清楚某项业务是如何一步一步完成的,而是要弄清楚有多少参与者?每个参与者都做什么?业务流程分析则是后续的工作 了。,.,45,5.4 用例
19、分析-用例的概念,用例就是功能的划分和描述,认为一个用例就是一个功能点错!,.,46,46,5.4 用例分析-用例的粒度,比如学生管理系统中:成绩管理、成绩录入、成绩修改、成绩删除、成绩保存等都是可能的用例成绩管理包含了后续的其它用例,成绩管理粒度更大一些,其它用例的粒度则要小一些是一个大的用例合适,还是分解成多个小用例合适呢?,.,47,47,5.4 用例分析-用例的粒度,经验:根据阶段不同,使用不同的粒度。在业务建模阶段,用例的粒度以每个用例能够说明一件完整的事情为宜。即一个用例可以描述一项完整的业务流程。这将有助于明确需求范围。例如取钱,报装电话,借书等表达完整业务的用例,而不要细到验证
20、密码,填写申请单,查找书目等业务中的一个步骤。在用例分析阶段,用例的的粒度以每个用例能描述一个完整的事件流为宜。可理解为一个用例描述一项完整业务中的一个步骤。需要注意的是,这个阶段需要采用OO方法,归纳,抽象业务用例中的概念模型。例如,宽带业务需求中有申请报装,申请迁移地址用例,在用例分析时,可归纳和分解为提供申请资料、受理业务、现场安装等多个业务流程中都会使用的概念用例。在系统建模阶段,用例视角是针对计算机的,因此用例的粒度以一个用例能够描述操作者与计算机的一次完整交互为宜。例如,填写申请单、审核申请单、分配资源、派发任务单等。可理解为一个操作界面,或一个页面流。在RUP中,项目计划要依据系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 需求 分析 建模 课件
链接地址:https://www.31ppt.com/p-2164760.html