Chap02 需求分析和系统建模

上传人:夏** 文档编号:576522602 上传时间:2024-08-20 格式:PPT 页数:38 大小:343KB
返回 下载 相关 举报
Chap02 需求分析和系统建模_第1页
第1页 / 共38页
Chap02 需求分析和系统建模_第2页
第2页 / 共38页
Chap02 需求分析和系统建模_第3页
第3页 / 共38页
Chap02 需求分析和系统建模_第4页
第4页 / 共38页
Chap02 需求分析和系统建模_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《Chap02 需求分析和系统建模》由会员分享,可在线阅读,更多相关《Chap02 需求分析和系统建模(38页珍藏版)》请在金锄头文库上搜索。

1、Chap02 需求分析与系统建模w教学目标掌握需求分析(OOA)掌握系统建模(类图、顺序图、协作图)掌握Rational Rose的使用(CASE)w教学重点Rational Rose的使用OOA系统建模w教学难点系统建模1 1、获得需求、获得需求 收集需求收集需求 整理需求整理需求 描述需求描述需求思考的问题思考的问题1 1、我们能否直接从、我们能否直接从“需求需求”进入进入“设计设计”?2 2、为什么要增加一个、为什么要增加一个“需求分析需求分析”的环节的环节?2 2、系统设计、系统设计需求分析和建模需求分析和建模 理解需求理解需求 分析需求分析需求 建立域模型建立域模型 编写需求文档编写

2、需求文档 评审需求文档评审需求文档 管理需求管理需求一、Rational Rose对UML建模的支持wRational Rose 2003美国Rational公司(现IBM)开发的面向对象建模工具UML(统一建模语言)由Rational 3世界级面向对象技术专家Grady Booch、Ivar Jacobson、Jim Rumbaugh,为可视化建模奠定了坚实的理论基础wRational Rose 功能Rational Rose(Rational Object Oriented Software Engineering)是分析和设计面向对象软件系统的强大的可视化工具。功能对业务进行建模(工作流

3、)建立对象模型对数据库进行建模(比较粗糙)建立组件模型Rational Rose的对象模型主要支持Java VC VB,并可生成目标语言的框架代码一、Rational Rose对UML建模的支持wRational Rose 2003工具的使用安装启动窗口各个视图Use Case视图:强调从用户角度看到的或需要的系统功能Logical视图:展现系统的静态或结构组成及特征Component视图:体现了系统实现的结构和行为特征Deployment视图:体现系统实现环境的结构和行为特征一、Rational Rose对UML建模的支持w利用Rational Rose 2003建立软件模型创建文件保存保存

4、日志发布到Web服务器中一、Rational Rose对UML建模的支持w用Rational Rose 2003创建项目中的用例及用例图网上书店新建用例建立包:用例包添加用例新建参与者建立包:参与者包添加参与者新建用例图建立用例图(面向读者:前台)关联参与者和用例建立用例图(面向管理员:后台)二、二、需求(对用例)分析需求(对用例)分析当当然然需需求求分分析析也也是是一一个分解的过程。个分解的过程。1 1、需求分析概述、需求分析概述-系统概要设计的输入来自于需求工程系统概要设计的输入来自于需求工程(1 1)什么是需求分析)什么是需求分析分分析析是是一一个个翻翻译译软软件件需需求求和和深深入入理

5、理解解问问题题的的过过程程-也也就就是是把把软件系统的全部功能被表示成一个单一的信息变换过程。软件系统的全部功能被表示成一个单一的信息变换过程。p分分析析是是建建立立业业务务模模型型,完完全全不不考考虑虑采采用用什什么么样样的的技技术术来来实实现现,和和实实现现无无关关,和和计计算算机机无无关关,和和编编程程语语言无关言无关p而而设设计计是是将将业业务务模模型型转转变变为为和和实实现现相相关关的的计计算算机机模模型型,必必须考虑语言等实现相关的东西须考虑语言等实现相关的东西 。 希望您能够区分希望您能够区分UMLUML中所涉及的中所涉及的“分析类分析类”和和“实实现类现类”之间的差别吗!当然也

6、包括概要设计和详细设之间的差别吗!当然也包括概要设计和详细设计中的计中的“类类”的差别?的差别?(2 2)分析的目标)分析的目标p理解问题并开发一个简要描述方案的可视化模型,不依赖于理解问题并开发一个简要描述方案的可视化模型,不依赖于具体的实施技术环境,即具体的实施技术环境,即“要做什么要做什么”的问题的问题p把我们对用例的理解,转变为与业务一致的形式,实现需求把我们对用例的理解,转变为与业务一致的形式,实现需求的价值的价值(3 3)需求分析工作的重点)需求分析工作的重点q工作的重点工作的重点 主要是将功能性的需求翻译成软件的概念,或者说用主要是将功能性的需求翻译成软件的概念,或者说用软件的概

7、念来诠译问题所要求的功能;软件的概念来诠译问题所要求的功能;q工作的核心工作的核心 是捕获问题的行为,在屏蔽实施细节的基础上得到构是捕获问题的行为,在屏蔽实施细节的基础上得到构成方案的粗略对象模型。成方案的粗略对象模型。 比如财务中的比如财务中的“对帐对帐”、“审计审计”等等2 2、为什么要进行需求分析的过程、为什么要进行需求分析的过程(1 1)需求分析工作的重要性)需求分析工作的重要性q通过对用户的需求进行分析,可以产生出体现通过对用户的需求进行分析,可以产生出体现整个系统整个系统灵魂的文档,灵魂的文档,并且能够实现将客户需求并且能够实现将客户需求从从“具体描述具体描述”到到“抽象表示抽象表

8、示”的一个过程的一个过程q最终产生并能够制定出开发过程中可实施的最终产生并能够制定出开发过程中可实施的规范和标准规范和标准。(2 2)需求分析工作的必要性)需求分析工作的必要性q在需求分析阶段不仅仅是要获得客户的需求,更重要的在需求分析阶段不仅仅是要获得客户的需求,更重要的是需要进行分析以了解需求的细节,并就细节跟客户进是需要进行分析以了解需求的细节,并就细节跟客户进行充分地咨询和沟通,最终获取比较详细的信息。行充分地咨询和沟通,最终获取比较详细的信息。q如果开发方没有去做需求分析而是简单地按照功能要求如果开发方没有去做需求分析而是简单地按照功能要求去设计、规划,最终所开发出的系统是很难完全符

9、合客去设计、规划,最终所开发出的系统是很难完全符合客户的业务流程需要的。户的业务流程需要的。(3 3)需求分析的主要任务)需求分析的主要任务 为了使开发出来的目标系统能满足实际需要,在着手编程为了使开发出来的目标系统能满足实际需要,在着手编程之前,必须要有一定的时间用来认真地考虑以下的问题:之前,必须要有一定的时间用来认真地考虑以下的问题:p系统所要求解决的问题是什么?系统所要求解决的问题是什么?p为解决该问题,系统应干些什么?为解决该问题,系统应干些什么?p系统应该怎么去干?系统应该怎么去干?注意:注意:基本的要求应该是能够基本的要求应该是能够找出系统的主要找出系统的主要“实体对象实体对象”

10、以以及系统的及系统的“业务流程业务流程”。(4 4)如何完成这些任务)如何完成这些任务p确定软件设计的约束和软件同其它系统元素的接口细节确定软件设计的约束和软件同其它系统元素的接口细节p找出用例中的执行流程、事件的各个类(目前为分析类)。找出用例中的执行流程、事件的各个类(目前为分析类)。p通过实现用例,把用例的行为指定到具体的类。通过实现用例,把用例的行为指定到具体的类。 p找出类的责任、属性和他们相互的关系。找出类的责任、属性和他们相互的关系。p规范地确定系统中各用例的职责,并最终对用例分析的结规范地确定系统中各用例的职责,并最终对用例分析的结果进行评估果进行评估 2 2、需求分析的基本过

11、程、需求分析的基本过程(1 1)问题识别)问题识别p从系统的角度来理解软件并评审软件范围是否恰当从系统的角度来理解软件并评审软件范围是否恰当p确定对目标系统的综合要求,即软件的需求确定对目标系统的综合要求,即软件的需求p提出这些需求实现条件,以及需求应达到的标准提出这些需求实现条件,以及需求应达到的标准 (2 2)分析与综合)分析与综合p从信息流和信息结构出发,逐步细化所有的软件功能,找出系从信息流和信息结构出发,逐步细化所有的软件功能,找出系统各元素之间的关联、接口特性和设计上的约束,分析它们是统各元素之间的关联、接口特性和设计上的约束,分析它们是否满足功能要求,是否合理。否满足功能要求,是

12、否合理。p剔除其不合理的部分,增加其需要部分。剔除其不合理的部分,增加其需要部分。p最终综合成系统的解决方案,给出目标系统的详细逻辑模型。最终综合成系统的解决方案,给出目标系统的详细逻辑模型。 (3 3)编制需求分析阶段的文档资料)编制需求分析阶段的文档资料p软件需求说明书软件需求说明书p数据要求说明书(数据流图、数据字典和简明的算法描述)数据要求说明书(数据流图、数据字典和简明的算法描述)p初步的用户手册初步的用户手册p修改、完善与确定软件开发实施计划修改、完善与确定软件开发实施计划(4 4)需求分析评审)需求分析评审p系统定义的目标是否与用户的要求一致系统定义的目标是否与用户的要求一致;

13、;p系统需求分析阶段提供的文档资料是否齐全系统需求分析阶段提供的文档资料是否齐全; ;p文档中的所有描述是否完整、清晰、准确反映用户要求文档中的所有描述是否完整、清晰、准确反映用户要求; ;p与所有其它系统成分的重要接口是否都已经描述与所有其它系统成分的重要接口是否都已经描述; ;p被开发项目的数据流与数据结构是否足够,确定被开发项目的数据流与数据结构是否足够,确定; ;p所有图表是否清楚,在不补充说明时能否理解所有图表是否清楚,在不补充说明时能否理解; ;p主主要要功功能能是是否否已已包包括括在在规规定定的的软软件件范范围围之之内内,是是否否都都已已充充分说明分说明 三、面向对象的分析w面向

14、对象的分析技术OOA:Object Oriented Analysis面向对象分析的首要任务识别问题域内各种对象,并分析他们相互间的关系和通信,最终建立简洁、精简、可理解的问题域软件模型面向对象分析的结果静态分析:体现在静态结构上确定出系统中各个类、类之间的关系、类的组成动态分析:着重于动态行为的建立和理解获得对象之间的交互情况、对象的活动情况和状态。三、面向对象的分析w面向对象的分析技术实施面向对象分析的一般步骤:分析用户需求,建立用例并通过用例图来描述用户的需求通过建立域模型以识别类与对象,从而识别系统中的各个对象确定对象的内部特征,从而定义出各个属性与服务,以进一步细化类的结构识别对象之

15、间的关系并使用设计模式对类的结构进行优化和改造获得对象之间的行为关系,绘制出各种动态图形(顺序图、协作图、状态图)三、面向对象的分析w面向对象的分析技术面向对象分析的主要优点能够加强对问题域和系统功能的充分理解促进与分析有关的各类人员之间的交流对需求的变化具有较强的适应性支持软件复用等技术贯穿软件生命周期全过程的一致性三、面向对象的分析w面向对象分析方法主要的面向对象分析方法Peter Coard和Edward Yourdon的OOA和OOD方法BoothOMT(Object Modeling Technology)对象建模技术功能模型(图2.30 P57)对象模型(图2.21 P58)动态模

16、型(图2.22 P58)面向对象分析的主要原则抽象封装继承聚合和组合依赖和关联消息通信四、UML建模中涉及的分析类wRational Rose 2003提供的3种分析类边界类:是一种用于对系统外部环境与其内部运作之间的交互进行建模的类;代表系统的“用户界面”;功能:输入、输出、过滤实体类:是用于对必须存储的信息和相关行为建模的类。控制类:用于对一个或几个用例所特有的控制行为进行建模;功能:控制事件流、负责为实体类分配任务。p分析类和具体编程实现的语言无关,设计类具有特定的语言特点p分析类的UML表示边界对象实体对象控制对象四、UML建模中涉及的分析类wRational Rose 2003提供的

17、3种分析类p3种分析类对象间交互的4个原则:p用例的参与者只能与边界类进行交互p边界对象只能与控制对象和用例的参与者进行交互p实体对象只能与控制对象进行交互p控制对象可以和边界对象交互,也可以和实体对象交互。四、UML建模中涉及的分析类w分析类的设计示例(网上银行)边界类:用户账号表单、转账信息表单、存/取款表单控制类:开户、销户、转账、存/取款、修改密码实体类:用户、管理员、账户、人民币账户、美元账户建立用户开户业务的分析类图(P64)1 1、系统建模、系统建模(1 1)概述)概述p严格的说用例模型并不是面向对象的,它描述的是系统的严格的说用例模型并不是面向对象的,它描述的是系统的功能,只是

18、建立系统的最初的输入。功能,只是建立系统的最初的输入。p为了更细腻的分析需求,从面向对象的角度,可以建立领为了更细腻的分析需求,从面向对象的角度,可以建立领域模型。域模型。 (2 2)什么是建模)什么是建模 通过将用户的业务需求映射为项目的系统架构、程序代通过将用户的业务需求映射为项目的系统架构、程序代码,同时保证程序代码能够满足和实现用户的需求,并且代码,同时保证程序代码能够满足和实现用户的需求,并且代码还能回溯需求的过程。码还能回溯需求的过程。五、面向对象的统一建模五、面向对象的统一建模您您知道建知道建“大厦大厦”和建和建“狗窝狗窝”在流程方面的差别在流程方面的差别吗?吗?2 2、为什么要

19、建模、为什么要建模(1 1)建立大厦和建立狗窝的区别是建设狗窝不需要设计)建立大厦和建立狗窝的区别是建设狗窝不需要设计 因此,同样要生产合格的软件也就要有一套关于体系结因此,同样要生产合格的软件也就要有一套关于体系结构、实现过程和所使用的工具各种规范的说明。构、实现过程和所使用的工具各种规范的说明。(2 2)建立模型有助于系统分析、设计)建立模型有助于系统分析、设计-而且一个系统越大,而且一个系统越大,越复杂,建模的重要性就越大越复杂,建模的重要性就越大 3 3、建模的意义体现、建模的意义体现(1 1)在系统开发时需要对系统进行简化和抽象在系统开发时需要对系统进行简化和抽象(2 2)通过构建系

20、统模型以便能够对系统进行全面的分析和设计)通过构建系统模型以便能够对系统进行全面的分析和设计4 4、什么是模型、什么是模型(1 1)模型是对现实世界的简化和抽象模型是对现实世界的简化和抽象(2 2)各行各业都使用模型来辅助设计)各行各业都使用模型来辅助设计(3 3)模型是沟通的手段和了解真正系统的一种替代物)模型是沟通的手段和了解真正系统的一种替代物(4 4)模型可以精确地描述系统)模型可以精确地描述系统您知道房地产商为什么要首先建您知道房地产商为什么要首先建楼盘模型吗?楼盘模型吗?您没有真正见到您没有真正见到“神神6”6”但您肯定但您肯定见过见过“神神6”6”的模的模型!型!5 5、系统建模

21、的具体方法、系统建模的具体方法-采用采用“结构化结构化”(1 1)结构化模型设计方法的实现)结构化模型设计方法的实现 传统的面向过程的软件开发是从传统的面向过程的软件开发是从-算法的角度和业务流程算法的角度和业务流程进行建模。进行建模。(2 2)模型的核心是数据词典)模型的核心是数据词典它描述了所有的在目标系统中使用的和生成的数据对象。围它描述了所有的在目标系统中使用的和生成的数据对象。围绕着这个核心的有三种图:绕着这个核心的有三种图:p实体实体-关系图关系图(ERD)(ERD) 描述数据对象及数据对象之间的关系,用于数据建模;描述数据对象及数据对象之间的关系,用于数据建模;p数据流图数据流图

22、(DFD)(DFD) 描述数据在系统中如何被传送或变换,以及描述如何描述数据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功能(子功能),用于功能建模;对数据流进行变换的功能(子功能),用于功能建模;p使用系统结构图来表达功能间的关系使用系统结构图来表达功能间的关系 (3 3)使)使用系统用系统结构图结构图来表达来表达功能间功能间的关系的关系(4 4)使用数据流图表达功能)使用数据流图表达功能与数据间关系,同时使用与数据间关系,同时使用ERER图表达数据间关系图表达数据间关系 (5 5)结构化模型设计方法主要的缺点)结构化模型设计方法主要的缺点q传统的结构化模型的设计所建立的模型(数

23、据)不能反应源传统的结构化模型的设计所建立的模型(数据)不能反应源代码(操作),忽略了模型与代码之间不可分割的内在联系代码(操作),忽略了模型与代码之间不可分割的内在联系 模型与代码几乎没什么关系。同时根据模型不能生成模型与代码几乎没什么关系。同时根据模型不能生成代码,反之根据代码更不能生成模型。代码,反之根据代码更不能生成模型。q不能保证软件的质量,更不易软件的维护不能保证软件的质量,更不易软件的维护-没什么约束力没什么约束力也没有检测的标准。也没有检测的标准。q传统的软件开发是从算法的角度进行建模传统的软件开发是从算法的角度进行建模-所有的软件所有的软件都用函数作为构造块,这种建模方法使设

24、计人员把精力放在都用函数作为构造块,这种建模方法使设计人员把精力放在控制流程和对应的算法进行分析上,这种方法建立的模型是控制流程和对应的算法进行分析上,这种方法建立的模型是脆弱的,因为当需求发生变化的时候,将难以维护。脆弱的,因为当需求发生变化的时候,将难以维护。q没有体现出数据所表示的业务含义,并且对客观世界的描述没有体现出数据所表示的业务含义,并且对客观世界的描述不够准确不够准确 q过程式设计对于比较复杂的问题,或是在开发中需求变化比过程式设计对于比较复杂的问题,或是在开发中需求变化比较多的时候,往往显得力不从心较多的时候,往往显得力不从心6 6、系统建模的具体方法、系统建模的具体方法-采

25、用采用“面向对象面向对象”(1 1)面向对象的建模)面向对象的建模-封装和继承封装和继承q把系统看作是相互协作的对象,这些对象是结构和行为的把系统看作是相互协作的对象,这些对象是结构和行为的封装封装-都属于某个类,通过类能反映某种层次化的结构。都属于某个类,通过类能反映某种层次化的结构。q系统的所有功能通过对象之间相互发送消息来获得。系统的所有功能通过对象之间相互发送消息来获得。(2 2)面向对象的建模所体现出主要优点)面向对象的建模所体现出主要优点p可以将整个系统看成为是一个包含以下元素的概念框架:可以将整个系统看成为是一个包含以下元素的概念框架:抽象、封装、模块化、层次、分类抽象、封装、模

26、块化、层次、分类并行、稳定、可重用和可扩展。并行、稳定、可重用和可扩展。p对象建模技术采用一组面向对象对象建模技术采用一组面向对象的概念和与程序语言无关的图形的概念和与程序语言无关的图形符号来统一表达软件开发人员在符号来统一表达软件开发人员在分析、设计直到实现的整个软件分析、设计直到实现的整个软件开发过程开发过程7 7、OOOO建模技术的实现形式建模技术的实现形式-通过通过UMLUML来进行建模来进行建模(1 1)静态建模)静态建模-静态建模机制主要包括静态建模机制主要包括q用例图用例图q包图、类图、对象图包图、类图、对象图q组件图和配置图组件图和配置图(2 2)动态建模)动态建模-动态建模机

27、制包括动态建模机制包括q时序图和协作图时序图和协作图q状态图和活动图状态图和活动图8 8、何时需要建模、何时需要建模(1 1)在应用开发的任何阶段进入建模工作都是有意义的)在应用开发的任何阶段进入建模工作都是有意义的(2 2)在设计最初阶段在设计最初阶段 无可否认的是,在设计最初阶段,应将精力主要用无可否认的是,在设计最初阶段,应将精力主要用于处理有关应用系统功能、为实现这些功能应采用何种于处理有关应用系统功能、为实现这些功能应采用何种开发平台、编程环境等技术手段,而不是考虑程序的细开发平台、编程环境等技术手段,而不是考虑程序的细节节-如在屏幕上的什么位置应该放置什么按钮等。如在屏幕上的什么位

28、置应该放置什么按钮等。(3 3)在项目开发的中期引入建模也是非常有意义的)在项目开发的中期引入建模也是非常有意义的 RatioalRatioal Rose Rose既支持正向建模,同时也支持反向建模。既支持正向建模,同时也支持反向建模。(4 4)RoseRose通过建立模型使开发人员把握程序开发的方向,通过建立模型使开发人员把握程序开发的方向,准确完成需求分析中所要求的任务。准确完成需求分析中所要求的任务。1 1、利用、利用UMLUML实现系统分析和设计的基本过程实现系统分析和设计的基本过程(1 1)三个基本过程)三个基本过程六、利用六、利用UMLUML实现面向对象的实现面向对象的建模建模(2

29、 2)静态建模机制)静态建模机制(3 3)动态建模机制)动态建模机制2 2、UMLUML适用于系统开发过程中的不同阶段适用于系统开发过程中的不同阶段(1 1)在需求阶段)在需求阶段q通过用例建模,描述对系统感兴趣的外部角色及其对系统通过用例建模,描述对系统感兴趣的外部角色及其对系统( (用例用例) )的功能要求。的功能要求。q通过用时序图可以实现按时间先后顺序,从上到下分析用通过用时序图可以实现按时间先后顺序,从上到下分析用例,进一步确定和细化用例的处理流程例,进一步确定和细化用例的处理流程和实现过程和实现过程q通过协作图可以确定对象之间的关系的处理过程的分析流通过协作图可以确定对象之间的关系

30、的处理过程的分析流程程(2 2)分析阶段)分析阶段q重点关心问题域中的主要概念重点关心问题域中的主要概念( (如抽象、类和对象等如抽象、类和对象等) )和机和机制,需要识别这些类以及它们相互间的关系制,需要识别这些类以及它们相互间的关系-这可以用这可以用UMLUML类图来描述。类图来描述。q为实现用例为实现用例, ,类之间需要协作类之间需要协作-这可以用这可以用UMLUML动态模型中的动态模型中的协作图等来描述协作图等来描述希望您能够区分与设计希望您能够区分与设计阶段所出现的类图的不阶段所出现的类图的不同!同!(3 3)在设计阶段)在设计阶段q概要设计中通过分析用例图,得到所用到的类,分析概要

31、设计中通过分析用例图,得到所用到的类,分析这些类的属性、操作和它们之间的关系。所需要用到的这些类的属性、操作和它们之间的关系。所需要用到的UMLUML的图的图类图类图-显示系统中类与类之间的交互显示系统中类与类之间的交互包图包图-具有一些共性的类组合在一起的图具有一些共性的类组合在一起的图q详细设计中通过再进一步地细化各个用例图的实现,详细设计中通过再进一步地细化各个用例图的实现,如类的操作和对象之间的消息等细节问题。所需要用到如类的操作和对象之间的消息等细节问题。所需要用到的的UMLUML的图的图类图类图-显示系统中类与类之间的交互显示系统中类与类之间的交互状态图状态图(当然也包括其它的动态

32、视图)(当然也包括其它的动态视图)-显示一个对象从显示一个对象从生成到删除的生命周期生成到删除的生命周期希望您能够区分与分析阶段希望您能够区分与分析阶段中所出现的类图的不同!中所出现的类图的不同!(4 4)编程)编程( (构造构造) )是一个相对独立的阶段是一个相对独立的阶段q任务:是用面向对象编程语言将来自设计阶段的类转换成任务:是用面向对象编程语言将来自设计阶段的类转换成实际的代码。实际的代码。q要点要点在用在用UMLUML建立分析和设计模型时,应尽量避免考虑把模型建立分析和设计模型时,应尽量避免考虑把模型转换成某种特定的编程语言。转换成某种特定的编程语言。因为在早期阶段,模型仅仅是理解和

33、分析系统结构的工具,因为在早期阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编码问题十分不利于建立简单正确的模型。过早考虑编码问题十分不利于建立简单正确的模型。q所用到的所用到的UMLUML的图的图包图包图-显示系统中类与类之间的集合关系显示系统中类与类之间的集合关系类图类图-显示系统中类与类之间的交互显示系统中类与类之间的交互组件图组件图-表示系统中的组件及相互依赖性表示系统中的组件及相互依赖性(5 5)测试阶段)测试阶段q系统通常需要经过单元测试、集成测试、系统测试和验收系统通常需要经过单元测试、集成测试、系统测试和验收测试等环节。测试等环节。q不同的测试小组使用不同的不同的测试小组使

34、用不同的UMLUML图作为测试依据;图作为测试依据;单元测试依据类图和类功能规格说明文档;单元测试依据类图和类功能规格说明文档;集成测试依据组件图和协作图;集成测试依据组件图和协作图;系统性能测试依据用例图来验证系统的行为;系统性能测试依据用例图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。在分析阶段确定的需求。所用到的所用到的UMLUML的图为部署图的图为部署图-显示网络中的物理布局和各显示网络中的物理布局和各种组件的位置,以及用例图。种组件的位置,以及用例图。3 3、统一建模中的、统一建模中的“统一统

35、一”含义含义(1 1)软软件件开开发发的的整整个个生生命命周周期期都都可可以以用用可可视视化化建建模模技技术术统统一一起起来,避免来,避免“分而治之分而治之”(业务流程图、(业务流程图、ERER图、图、DFDDFD图等)。图等)。(2 2)在在传传统统的的开开发发技技术术中中,这这些些步步骤骤是是由由不不同同的的技技术术完完成成的的,如如业业务务模模型型是是由由IDEF IDEF 语语言言来来描描述述,分分析析设设计计由由数数据据流流图图来来表表示,数据库结构是用示,数据库结构是用ER ER 来定义等等。来定义等等。(3 3)通通过过统统一一建建模模语语言言UMLUML,可可以以大大大大增增强

36、强团团队队的的沟沟通通,提提高高开发效率和软件质量开发效率和软件质量4 4、可视化建模技术的好处、可视化建模技术的好处(1 1)有效管理系统复杂度)有效管理系统复杂度q模型通过过滤非本质的细节信息,成为描述复杂的问题或模型通过过滤非本质的细节信息,成为描述复杂的问题或结构的本质的抽象(结构的本质的抽象(abstractionabstraction),),她使问题更容易理解她使问题更容易理解了。了。q因为在对象模型中我们只需要描述对象所实现的功能,而因为在对象模型中我们只需要描述对象所实现的功能,而封装了操作实现的细节封装了操作实现的细节(2 2)增强团队的沟通)增强团队的沟通q可视化建模采用的

37、是标准的统一建模语言可视化建模采用的是标准的统一建模语言UMLUML,所有的开发所有的开发人员都应该采用这种统一建模语言来进行系统的设计人员都应该采用这种统一建模语言来进行系统的设计q从而保证大家工作的结果是所有人都可以理解的从而保证大家工作的结果是所有人都可以理解的(3 3)提高系统设计的可重用性)提高系统设计的可重用性q所建立的模型与物理系统是相互吻合的所建立的模型与物理系统是相互吻合的q同时面向对象技术最基本的原则就是抽象同时面向对象技术最基本的原则就是抽象七、域模型及建立系统域模型示例w建立项目系统中的域模型问题域和域建模问题域:软件系统所要解决的现实世界中的问题领域域模型:领域类识别

38、领域类的一些指导原则:不要认为域模型中领域类越少越好,情况往往恰恰相反识别领域类的过程也是一个不断完善的过程尽可能全面地找出各个领域类建立域模型主要的思路和基本的实现步骤:收集和描述软件系统中的各个用例对用例进行分析并首先建立一个用例实现其次,补充和完善前面用例的描述在为用例行为找出用例类根据分析的结果找出软件系统中的各个分析类描述已找出分析类的职责建立分析类之间的关系确认分析类的行为描述各个分析类中的属性七、域模型及建立系统域模型示例w建立域模型的示例(BBS论坛)需求获得和描述(Chap01)需求分析和理解发现并找出各个有关的类找出类之间的关系设计类中的各个属性顺序图协作图小结w需求分析:正确理解用户各个方面的需求wRational Rose 2003w分析类:边界类、实体类、控制类w系统建模:域模型

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号