信息系统分析与设计 第六章 面向对象的系统分析与设计.ppt
《信息系统分析与设计 第六章 面向对象的系统分析与设计.ppt》由会员分享,可在线阅读,更多相关《信息系统分析与设计 第六章 面向对象的系统分析与设计.ppt(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象的系统分析课堂讨论课堂讨论通过对结构化方法的学习,谈谈你的体会。通过对结构化方法的学习,谈谈你的体会。u结构化方法的基本原理;结构化方法的基本原理;u结构化方法的工作阶段;结构化方法的工作阶段;u结构化方法工作的重点和难点;结构化方法工作的重点和难点;u结构化方法的局限和不足。结构化方法的局限和不足。面向对象的系统分析面向对象方法的基本原理面向对象方法的基本原理 面面向向对对象象方方法法是是分分析析问问题题和和解解决决问问题题的的新新方方法法,其其基基本本出出发发点点就就是是尽尽可可能能按按照照人人类类认认识识世世界界的的方方法法和和思思维维方方式式来来分分析析和和解解决决问问题题。客
2、客观观世世界界是是由由许许多多具具体体的的事事物物或或事事件件,抽抽象象的的概概念念和和规规则则等等组组成成的的,因因此此,我我们们将将任任何何感感兴兴趣趣或或要要加加以以研研究究的的事事、物物、概概念念都都称称为为对对象象。面面向向对对象象的的方方法法正正是是以以对对象象作作为为最最基基本本的的元元素素,这这也也是是分分析析问问题题,解解决决问问题的核心。题的核心。面向对象的系统分析面向对象中的几个概念面向对象中的几个概念*对象(对象(Object):可以看作其自身所具有的状态特征及可以:可以看作其自身所具有的状态特征及可以对这些状态施加的操作结合在一起所构成的独立实体。对这些状态施加的操作
3、结合在一起所构成的独立实体。类:类:(Class):类是具有相同属性和服务的一组对象的集合。:类是具有相同属性和服务的一组对象的集合。消息(消息(Message):消息是面向对象发出的服务请求。:消息是面向对象发出的服务请求。封装(封装(Encapsulation):把对象的属性和服务结合成一个独:把对象的属性和服务结合成一个独立的系统单位,尽可能隐蔽对象的内部细节。立的系统单位,尽可能隐蔽对象的内部细节。继承(继承(Inheritance):即:即“自动地拥有自动地拥有”,特殊类可以自动,特殊类可以自动地拥有其一般类定义的所有属性与服务。地拥有其一般类定义的所有属性与服务。多态(多态(Pol
4、ymorphism):描述同一个消息可以根据发送消:描述同一个消息可以根据发送消息对象的不同,采用多种不同的行为方式。息对象的不同,采用多种不同的行为方式。面向对象的系统分析问题背景:问题背景:需要强调的是,面向对象不仅是一种程序设计方法,更重要的需要强调的是,面向对象不仅是一种程序设计方法,更重要的是,它是一种对真实世界的抽象思维方式。随着计算机应用的是,它是一种对真实世界的抽象思维方式。随着计算机应用的飞速发展,软件的复杂程度不断提高,源代码的规模越来越大,飞速发展,软件的复杂程度不断提高,源代码的规模越来越大,项目失败的可能性也相应增加。在长期的研究与实践中,人们项目失败的可能性也相应增
5、加。在长期的研究与实践中,人们愈来愈深刻地认识到,建立简明准确的()是把握复愈来愈深刻地认识到,建立简明准确的()是把握复杂系统的关键。杂系统的关键。表示模型表示模型模型可以使人们从全局上把握系统的全貌及其相关部件之间的模型可以使人们从全局上把握系统的全貌及其相关部件之间的联系,可以防止人们过早地陷入各个模块的细节。因此,面向联系,可以防止人们过早地陷入各个模块的细节。因此,面向对象的分析和设计应该从()开始。对象的分析和设计应该从()开始。建模建模面向对象的系统分析BoochOMTOOSEUML面对众多的建模语言,用面对众多的建模语言,用户没有能力区别不同语言户没有能力区别不同语言之间的差别
6、,因此很难找之间的差别,因此很难找到一种比较适合其应用特到一种比较适合其应用特点的语言。另外,在众多点的语言。另外,在众多的建模语言中,实际上各的建模语言中,实际上各有千秋,需要取长补短,有千秋,需要取长补短,日臻完善。第三,虽然不日臻完善。第三,虽然不同的建模语言大多相同,同的建模语言大多相同,但仍存在某些细微的差别。但仍存在某些细微的差别。极大地妨碍了用户之间的极大地妨碍了用户之间的交流。交流。因此,在客观上,极有必要在精心比较不同建模语言的优缺点及因此,在客观上,极有必要在精心比较不同建模语言的优缺点及总结面向对象技术应用实践的基础上,努力统一这些建模语言。总结面向对象技术应用实践的基础
7、上,努力统一这些建模语言。面向对象的系统分析例:使用例:使用Booch方法和方法和OMT方法描述的系统用例图。方法描述的系统用例图。面向对象的系统分析面向对象的系统分析与设计面向对象的系统分析与设计一、一、UML简介简介二、基于二、基于UML的面向对象的系统分析的面向对象的系统分析1、定义基本、定义基本用例用例需求分析需求分析2、建立概念模型、建立概念模型概念类分析概念类分析3、建立系统行为顺序图建立系统行为顺序图4、定义系统操作契约、定义系统操作契约三、基于三、基于UML的面向对象的系统设计的面向对象的系统设计面向对象的系统分析一、统一建模语言一、统一建模语言UML(Unifiedmodel
8、inglanguage)定定义义:UML代代表表统统一一建建模模语语言言,是是使使用用面面向向对对象象概概念念进进行行系系统统建模的一组表示法,它已成为面向对象领域标准的建模图形。建模的一组表示法,它已成为面向对象领域标准的建模图形。*1、什么是、什么是UML?2、与面向对象方法之间有何关系?、与面向对象方法之间有何关系?面向对象的系统分析设计者为设计者为UML设定的目标:设定的目标:(1)运用面向对象概念来构造系统模型;)运用面向对象概念来构造系统模型;(2)建立起从概念模型直到可执行体之间明显对应关系;)建立起从概念模型直到可执行体之间明显对应关系;(3)为复杂的系统建立衡量标准,同时应着
9、眼于那些有重)为复杂的系统建立衡量标准,同时应着眼于那些有重大影响的问题;大影响的问题;(4)创建一种对人和机器都适用的建模语言。)创建一种对人和机器都适用的建模语言。面向对象的系统分析关于关于UML的几个要点的几个要点:*1、UML是一种建模语言,而不是一种方法。是一种建模语言,而不是一种方法。2、UML统一了面向对象建模的基本概念、术语及其图形符号。统一了面向对象建模的基本概念、术语及其图形符号。3、UML能够有力地支持从需求分析开始的软件开发的全过程。能够有力地支持从需求分析开始的软件开发的全过程。4、UML是标准的语言,而不是标准的开发过程。是标准的语言,而不是标准的开发过程。5、UM
10、L采用的是一种图形表示法,是一种可视化的图形建模采用的是一种图形表示法,是一种可视化的图形建模语言。语言。6、UML包含静态建模机制和动态建模机制两大类。包含静态建模机制和动态建模机制两大类。面向对象的系统分析RUP(RationalUnifiedProcess)RUP也称统一软件开发过程,统一软件过程。也称统一软件开发过程,统一软件过程。RUP是一个是一个面向对象且基于网络的程序开发方法论。根据面向对象且基于网络的程序开发方法论。根据Rational公司的公司的说法,好像一个在线的指导者,它可以为所有方面和层次的程说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版
11、以及事例支持。序开发提供指导方针,模版以及事例支持。RUP把开发中面向把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。框架内。面向对象的系统分析规划规划分析分析设计设计实施实施运行运行传统的流水线过程传统的流水线过程瀑布模型瀑布模型高级分析高级分析细节分析细节分析设计设计开发开发测试测试部署部署重复性的开发方法重复性的开发方法面向对象的系统分析开发过程中的各个阶段:开发过程中的各个阶段:*1 1 初始阶段初始
12、阶段2 2 细化阶段细化阶段 3 3 构造阶段构造阶段 4 4 交付阶段交付阶段 面向对象的系统分析UML的主要内容:(的主要内容:(5类,共类,共9种模型)种模型)*一、用例图。它从用户角度描述系统的功能,并指出各功一、用例图。它从用户角度描述系统的功能,并指出各功能的执行者。能的执行者。二、静态图。包括类图、对象图。类图用于定义系统中的二、静态图。包括类图、对象图。类图用于定义系统中的类,描述类之间的联系以及类的内部结构。在系统的整个类,描述类之间的联系以及类的内部结构。在系统的整个生命周期都有效。对象图显示类的实例,其只能在系统某生命周期都有效。对象图显示类的实例,其只能在系统某一时间段
13、存在。一时间段存在。三、行为图。描述系统的动态模型和组成对象间的交互关三、行为图。描述系统的动态模型和组成对象间的交互关系。一种是状态图,它描述一类对象的所有可能的状态以系。一种是状态图,它描述一类对象的所有可能的状态以及事件发生时的状态的转移条件,通常状态图是对类图的及事件发生时的状态的转移条件,通常状态图是对类图的补充。另一种是活动图,它描述为满足用例要求所要进行补充。另一种是活动图,它描述为满足用例要求所要进行的活动以及活动间的约束关系。使用活动图可以很方便地的活动以及活动间的约束关系。使用活动图可以很方便地表示并行活动。表示并行活动。例例例例例例面向对象的系统分析四、交互图,描述对象间
14、的交互关系。一种是顺序图,用以四、交互图,描述对象间的交互关系。一种是顺序图,用以显示对象之间的动态合作关系。它强调对象之间消息发送显示对象之间的动态合作关系。它强调对象之间消息发送的顺序,同时也显示对象之间的交互过程。另一种是协作的顺序,同时也显示对象之间的交互过程。另一种是协作图,它着重描述对象间的协作关系。如果强调时间和顺序,图,它着重描述对象间的协作关系。如果强调时间和顺序,使用顺序图。如果强调通信关系,使用合作图。使用顺序图。如果强调通信关系,使用合作图。五、实现图,包括构件图和配置图。构件图描述代码部件的五、实现图,包括构件图和配置图。构件图描述代码部件的物理结构以及各部件之间的依
15、赖关系。配置图定义系统中物理结构以及各部件之间的依赖关系。配置图定义系统中软硬件的物理体系结构。软硬件的物理体系结构。例例面向对象的系统分析面向对象的系统分析面向对象的系统分析面向对象的系统分析面向对象的系统分析面向对象的系统分析面向对象的系统分析面向对象的系统分析面向对象分析阶段的基本过程:面向对象分析阶段的基本过程:*1、基于用例模型从外部用户的角度捕获系统的行为,即、基于用例模型从外部用户的角度捕获系统的行为,即系统应该响应的主要事件系统应该响应的主要事件2、使用类图定义系统领域主要概念之间的关系,形成系、使用类图定义系统领域主要概念之间的关系,形成系统的概念模型,它表达了系统对应的事物
16、部分统的概念模型,它表达了系统对应的事物部分3、采用顺序图对系统操作行为进行描述,系统行为描述、采用顺序图对系统操作行为进行描述,系统行为描述了系统做什么,而不解释系统怎么做了系统做什么,而不解释系统怎么做4、基于概念模型、系统顺序图和系统操作建立系统操作、基于概念模型、系统顺序图和系统操作建立系统操作的契约。的契约。二、基于二、基于UML的面向对象分析的面向对象分析面向对象的系统分析1、定义基本用例需求分析、定义基本用例需求分析需求包括三个不同的层次:业务需求、用户需求需求包括三个不同的层次:业务需求、用户需求和功能需求。和功能需求。*业务需求反映了组织机构或客户对系统高层次的业务需求反映了
17、组织机构或客户对系统高层次的目标要求,它们在系统的视图与范围文档中予以说明;目标要求,它们在系统的视图与范围文档中予以说明;用户需求描述了用户使用系统必须要完成的任务,它用户需求描述了用户使用系统必须要完成的任务,它使用用例(使用用例(usecase)及其用例场景予以说明;功能需)及其用例场景予以说明;功能需求定义了开发人员必须实现的软件功能。求定义了开发人员必须实现的软件功能。面向对象的系统分析业务需求业务需求视图与范围文档视图与范围文档用户需求用户需求质量属性质量属性其他非功能其他非功能需求需求约束条件约束条件功能需求功能需求用例文档用例文档需求规格说明需求规格说明需求分类需求分类面向对象
18、的系统分析用包图来描述信息系统的业务需求结构用包图来描述信息系统的业务需求结构。每。每一个需求用一个需求包来表示,包与包之间用组一个需求用一个需求包来表示,包与包之间用组成关系关联起来,包可以逐层分解,构成分层信成关系关联起来,包可以逐层分解,构成分层信息系统需求结构。息系统需求结构。面向对象的系统分析用户需求分析用户需求分析用例图用例图*用例图:描述系统外部角色(执行者)与系统提供的用例之间用例图:描述系统外部角色(执行者)与系统提供的用例之间的某种联系。的某种联系。用例的作用?面向对象的所有工作是用例驱动的。用例的作用?面向对象的所有工作是用例驱动的。用例(用例(UseCase):是指对系
19、统提供的功能的一种描述。):是指对系统提供的功能的一种描述。用例按详细程度可以分为:高层用例和扩展用例。用例按详细程度可以分为:高层用例和扩展用例。高层用例以简洁的方式来描述一个过程,可快速获得对系统整体过程的高层用例以简洁的方式来描述一个过程,可快速获得对系统整体过程的理解。而扩展用例也叫用例场景,对一个过程的描述要比高层用例详细得多,理解。而扩展用例也叫用例场景,对一个过程的描述要比高层用例详细得多,在格式上具有典型的事件发生过程。在格式上具有典型的事件发生过程。面向对象的系统分析此外,用例按重要程度分为主要用例、次要用例和可选用例三种。此外,用例按重要程度分为主要用例、次要用例和可选用例
20、三种。主要用例:代表了那些主要的过程;主要用例:代表了那些主要的过程;次要用例:代表那些不重要的或者是不常见的用例;次要用例:代表那些不重要的或者是不常见的用例;可选用例:代表那些可以处理也可以不处理的用例。可选用例:代表那些可以处理也可以不处理的用例。用例用例注册选课注册选课角色角色学生(发起者)学生(发起者)类型类型主要的主要的描述描述学生从所开设的课程列表中选择课程,并生成课程表学生从所开设的课程列表中选择课程,并生成课程表例:例:“注册选课注册选课”的高层用例的高层用例面向对象的系统分析用例图:显示了用例图:显示了、和和的图形。的图形。各个部分的关系:各个部分的关系:(1)关联关系)关
21、联关系(2)包含()包含(Include)关系)关系(3)扩展()扩展(Extend)关系)关系(4)泛化关系)泛化关系角色:角色:是系统之外的人员或外部系统是系统之外的人员或外部系统用例:用例:是系统需要完成的各项功能是系统需要完成的各项功能掌握其图形掌握其图形表示及使表示及使用对象用对象角色角色用例用例用例之间的关系用例之间的关系面向对象的系统分析用例中各种关系的说明:用例中各种关系的说明:*1、关联关系是指两者之间有信息交流。只能用于、关联关系是指两者之间有信息交流。只能用于角色和用例角色和用例之之间的间的“通信通信”。2、包含关系也叫使用关系,、包含关系也叫使用关系,只能用于两个用例之
22、间只能用于两个用例之间。一般是指。一般是指一个用例使用了另一个用例的行为或功能,它允许将不同用例一个用例使用了另一个用例的行为或功能,它允许将不同用例中的共同行为抽取出来放到另一个独立的用例当中。中的共同行为抽取出来放到另一个独立的用例当中。(例)(例)3、扩展关系是指一个用例与另一个用例相似,但比另外一个所、扩展关系是指一个用例与另一个用例相似,但比另外一个所做的动作多一些,或者将常规的动作放在基本用例中,将非常做的动作多一些,或者将常规的动作放在基本用例中,将非常规动作放在它的扩展中。规动作放在它的扩展中。扩展关系只能用于两个用例之间扩展关系只能用于两个用例之间。4、泛化关系指抽象与具体的
23、关系。、泛化关系指抽象与具体的关系。既可以用在角色之间也可以既可以用在角色之间也可以用在用例之间。用在用例之间。面向对象的系统分析说明说明:“注册选课注册选课”用例使用了用例使用了“登录登录”用例,它表示用例,它表示在执行在执行“注册选课注册选课”流程过程中,同时执行了流程过程中,同时执行了“注册选注册选课课”和和“登录登录”两个用例。两个用例。面向对象的系统分析银行系统用例图银行系统用例图扩展关系扩展关系泛化关系泛化关系面向对象的系统分析练习:练习:1:在很多业务中,总是存在着维护某某信息的功能,如果将:在很多业务中,总是存在着维护某某信息的功能,如果将它作为一个用例,那添加、编辑以及修改都
24、要在用例详述中它作为一个用例,那添加、编辑以及修改都要在用例详述中描述,过于复杂;如果分成添加用例、编辑用例和删除用例,描述,过于复杂;如果分成添加用例、编辑用例和删除用例,则划分太细。这时()关系可以用来理清关系。则划分太细。这时()关系可以用来理清关系。包含包含2:系统中允许用户对查询的结果进行导出、打印。对于查询:系统中允许用户对查询的结果进行导出、打印。对于查询而言,能不能导出、打印,查询都是一样的,导出、打印是不而言,能不能导出、打印,查询都是一样的,导出、打印是不可见的。导入、打印和查询相对独立,而且为查询添加了新行可见的。导入、打印和查询相对独立,而且为查询添加了新行为。因此可以
25、采用()关系来描述。为。因此可以采用()关系来描述。扩展扩展面向对象的系统分析面向对象的系统分析包含用例事件流的执行过程包含用例事件流的执行过程基用例事件流基用例事件流被包含的用例事件流被包含的用例事件流说明:基用例中所包含中事件流肯定被执行,被包含的用说明:基用例中所包含中事件流肯定被执行,被包含的用例事件被看作是基用例的一部分。两者是包含的关系。例事件被看作是基用例的一部分。两者是包含的关系。面向对象的系统分析基用例事件流基用例事件流扩展用例的执行过程扩展用例的执行过程A序列行为序列行为扩展点扩展点B扩展的用例事件流扩展的用例事件流B序列行为序列行为扩展点扩展点A说明:说明:1、系统将可选
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息系统分析与设计 第六章面向对象的系统分析与设计 信息 系统分析 设计 第六 面向 对象
限制150内