信息系统开发与设计.pptx
《信息系统开发与设计.pptx》由会员分享,可在线阅读,更多相关《信息系统开发与设计.pptx(141页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学习要求面向对象的基本概念:包括类、对象、关联、继承、聚合、组装、接口、操作、方法、多态、动态联编等;面向对象的建模包括类图、时序图、合作图、用例图、状态图等 软件开发过程和工具 常用软件开发过程模型的一般概念,统一软件开发过程(RUP)第1页/共141页面向对象分析和设计 1.需求捕获,需求的基本概念,领域建模、商业建模以及用Use Case捕获和描述系统的需求2.面向对象分析和设计的基本概念和方法第2页/共141页回回顾顾结构化生命周期法结构化生命周期法系统开发生命周期系统开发生命周期生命周期阶段划分生命周期阶段划分1 1、调查和可行性研究、调查和可行性研究2 2、系统分析、系统分析 3
2、3、系统设计、系统设计4 4、系统实现与测试、系统实现与测试 第3页/共141页项目论证和选择项目规划系统分析逻辑设计系统实现物理设计维护信息系统生命周期结构化生命周期法结构化生命周期法第4页/共141页现代信息系统建模方法综述现代信息系统建模方法综述 系统模型是现实世界中的某些事物的一种抽象表示模型是理解、分析、开发或改造事物原型的一种常用手段模型是开发过程中的一个不可缺少的工具。抽象抽取事物的本质特性,忽略事物的其他次要因素 信息系统内涵数据处理事务管理决策支持。第5页/共141页模型的类型划分模型的类型划分功能模型功能模型信息模型信息模型数据模型数据模型控制模型控制模型决策模型决策模型
3、信息系统可以看成是由一系列有序的模信息系统可以看成是由一系列有序的模型构成的,所谓有序是指这些模型上分别在型构成的,所谓有序是指这些模型上分别在系统的不同开发阶段、不同开发层次上建立系统的不同开发阶段、不同开发层次上建立的。的。第6页/共141页模型的表示形式数学公式缩小的物理装置图表文字说明也可以是专用的形式化语言模型建立的方法自顶向下、逐步求精自底向上、综合集成信息系统模型最常见的描述方法形式化描述图示化描述 第7页/共141页面向过程的建模面向过程的建模把过程看作系统模型的基本部分,数据是随着过程而产生的。最有影响把过程看作系统模型的基本部分,数据是随着过程而产生的。最有影响的面向过程的
4、设计方法是的面向过程的设计方法是Yourdon设计法。设计法。面向数据的建模模型的输入输出看成是最为重要的,因此,首先定义的是数据结构,而过程模块是从数据结构中导出的,即功能跟随数据。最有影响的面向数据的设计方法是Jackson设计法。信息系统的建模方法第8页/共141页面向信息的建模从整个系统的逻辑数据模型开始的,通过一个全局信息需求视图来说明系统中所有基本数据实体及其相互关系,然后,在此基础上逐步构造整个模型 面向决策的建模由数据库、模型库和各自的管理系统组成。决策支持系统模型需要反映的问题是系统的决策制订原则和机理、系统的组织机构和人员配置。第9页/共141页面向对象的分析方法 利用面向
5、对象的信息建模概念,如实体、关系、属性等,同时运用封装、继承、多态等机制来构造模拟现实系统的方法。传统的结构化设计方法的基本点是面向过程,系统被传统的结构化设计方法的基本点是面向过程,系统被分解成若干个过程。分解成若干个过程。面向对象的方法是采用构造模型的观点,在系统的开发过程中,各个步骤的共同的目标是建造一个问题域的模型。面向对象的设计中,初始元素是对象,然后将具有共同特征的对象归纳成类,组织类之间的等级关系,构造类库。在应用时,在类库中选择相应的类。第10页/共141页6.1 6.1 面向对象的基本概念面向对象的基本概念一、概述二、对象(object)三、消息(message)与操作方法(
6、method)四、对象接口(Interface)五、类(class)六、继承性(inheritance)七、封装性(encapsulation)八、多态性(polymorphism)第11页/共141页1、概述、概述面向对象思想的起源1967年,第一个面向对象的语言Simula。80年代,Smalltalk、C+、Objective C等通用面向对象语言出现。面向对象思想的成熟Smalltalk80和C+语言被越来越多的人所理解和接受,形成面向对象编程(Object-Oriented Programming,即OOP)软件工程发展启示信息系统的开发与程序设计区别结构化编程(SP)-结构化分析与
7、设计OOP解决问题的思路OOP-OOA&OOD第12页/共141页2、对象、对象(object)对象的基本概念:问题空间中与系统问题处理相关的事物的抽象体,它是把事物的属性和对属性数据的操作方法结合而成的整体。对象的三个特性:1、预定义行为:对象初始时所定义的动作序列。2、对象的状态:一个对象可以有任意个属性或域,对象的状态和存储在它的域中的值相对应。3、对象的标识:标识是对象的唯一编号,用来与其他对象相区别。第13页/共141页3、消息与操作方法、消息与操作方法(method)消息(message):对象之间进行通信的数据。一个消息由下列三个元素组成:消息名;零个或多个参数列表,为接收对象提
8、供数据信息;对接收对象的引用。操作方法(method):与一个对象有关的过程,即实现某一操作的一段代码。方法绑定:对象收到一个消息后,决定调用哪个方法来响应该消息的过程。第14页/共141页3、消息与操作方法、消息与操作方法(method)(续)(续)执行与消息对应的预定义行为可能会产生三种结果:返回一个值给消息发送者。改变接收者的状态。改变作为参数传给接收者的对象的状态。图 1 对象的分解图对 象 消息到达 服务(操作方法)服务(操作方法)属性(数据)消息发出接口第15页/共141页4、对象接口、对象接口(Interface)对象的接口是以一组操作方法的形式出现的,每一个操作都对应于在响应某
9、个消息时对象所完成的预定义行为,客户通过对象的接口来理解对象支持的各种行为,并根据接口来发送消息。调用对象的操作方法要遵守一定的规则,这些规则描述了如何使用对象的每一个操作。对象接口可以分为公有接口和限制型接口第16页/共141页5、类、类(class)类的概念:类是在对象之上的抽象,一个类定义了一组大体上相同的对象。一个类所包含的操作方法和属性数据描述了一组对象的共同行为和属性。1、对象是类的具体化,是类的实例。2、每一个对象都属于某个类。类不仅决定了对象的类型,还决定它的域和方法。类的层次结构类的主要功能 第17页/共141页6、继承性、继承性(inheritance)继承性是类层次结构中
10、的一个重要特点,是超类和子类之间共享数据和操作方法的机制。图5-2所示为超类A和它的子类B之间的继承关系。类A得到继承,叫做“单重继承”。如果一个子类有两个以上的父类,则称为“多重继承”。图2 类的继承关系继承部分 从A继承AB增加部分第18页/共141页6、继承性、继承性(inheritance)(续)(续)继承是软件重用的一个基本机制。当通过继承定义一个新类时,新类获得了已存在类的域和行为。图5-3中的类图所描绘了继承层次结构。RectangleEllipseRegionPointFigureLineSegment图3 类的层次结构Circle第19页/共141页6、继承性、继承性(inh
11、eritance)(续)(续)继承有下面三种使用方式:1.子类定义新的属性和方法作为对它所继承的属性和方法的补充。2.子类重新实现所继承的一个或多个方法。3.子类实现一个或多个其父类声明但没有实现的方法。使用继承可以创建一个类家族。当利用继承定义新类时,这个新子类就可以被用户使用,软件系统也因增加新的类型而扩展了。第20页/共141页7、封装性、封装性(encapsulation)封装的概念:把一组相关软件元素组织到一起的地方。对所有对象的内部软件范围的边界进行限定;对各对象之间相互作用的接口进行描述;对每个对象的内部实现(操作程序和数据)进行保护。封装的基本单位是对象 利用封装来隐藏那些不属
12、于对象公有接口的软件元利用封装来隐藏那些不属于对象公有接口的软件元素称为素称为信息隐藏。第21页/共141页8、多态性、多态性(polymorphism)多态的概念:不同的对象收到同一消息可产生多种不同的结果,即会有多种不同形式。多态的实现受到继承性的支持 利用类层次的继承关系,把具有通用功能的消息存放在高层次,而实现这一功能的不同的行为放在较低层次 第22页/共141页6.26.2 经典的面向对象方法经典的面向对象方法 对象模型技术对象模型技术OMT(Object Model Technology)OOA/OOD 面向对象软件工程面向对象软件工程(OOSE)第23页/共141页一、对象模型技
13、术一、对象模型技术OMT(Object Model Technology)模型模型-是在构造事物前理解事物而对事物的一是在构造事物前理解事物而对事物的一种种抽象抽象抽象具有目的性,不同的抽象目的,抽象具有目的性,不同的抽象目的,统一事统一事物可以有不同的抽象物可以有不同的抽象一个好的模型能够反映问题的一个好的模型能够反映问题的主要方面主要方面,而,而忽视问题的忽视问题的次要方面次要方面从从三个不同但又相关的角度三个不同但又相关的角度去建立系统模型去建立系统模型是很有用的。是很有用的。第24页/共141页OMT的思想的思想建立描述系统数据结构的建立描述系统数据结构的“对象模型对象模型”;“静态的
14、静态的”、“结构化的结构化的”数据数据建立描述系统控制结构的建立描述系统控制结构的“动态模型动态模型”;“动态的动态的”、“行为的行为的”控制方式控制方式建立描述系统功能的建立描述系统功能的“功能模型功能模型”。系统的系统的“转换转换”功能功能第25页/共141页典型的信息系统开发过程把这三个方面紧密结合在一起:使用数据结构(对象模型),按时间调整操作顺序(动态模型)和转换属性值(功能模型)OMT方法覆盖了应用开发的全过程,包括分析、设计和实现。在系统开发周期中,这三种模型的每一种都不断发展。系统开发周期:分析、设计与实现第26页/共141页对象模型化技术对象模型化技术OMTn对象模型化技术把
15、分析时收集的信息构造在三对象模型化技术把分析时收集的信息构造在三类模型中,即类模型中,即对象模型对象模型、功能模型功能模型和和动态模型动态模型。n这个模型化的过程是一个迭代过程。这个模型化的过程是一个迭代过程。第27页/共141页对象模型技术对象模型技术OMT分析阶段的对象模型表示系统分析阶段的对象模型表示系统静态的、结构化静态的、结构化的特征。的特征。动态模型使用动态模型使用场景描述场景描述对象间的相互作用。对象间的相互作用。事件图事件图描述参与某个脚本的对象和事描述参与某个脚本的对象和事件。件。状态图状态图描述系统中对象的各种状态以及触发它们之间相互转换的事件。描述系统中对象的各种状态以及
16、触发它们之间相互转换的事件。第28页/共141页OMT方法的设计阶段由方法的设计阶段由系统设计和对象设计系统设计和对象设计两部分构成。两部分构成。OMT方法突出的特点是在分析阶段,它可以较全面地描述系统的静态结构,适合于方法突出的特点是在分析阶段,它可以较全面地描述系统的静态结构,适合于数据密集型信息系统数据密集型信息系统的的开发。开发。第29页/共141页n n对象模型对象模型对象标识对象标识对象之间关系对象之间关系属性与操作属性与操作 类图、盒图来表示类图、盒图来表示(1 1)对象与类)对象与类(2 2)关联)关联(3 3)聚集)聚集(4 4)泛化与继承)泛化与继承对象模型(静态逻辑模型)
17、第30页/共141页对象模型(静态逻辑模型)对象和类机床(机床)铣床FANUC6i(机床)铣床FANUC18i机床名称长度宽度启动关闭报警第31页/共141页对象模型(静态逻辑模型)关联ABAB BABAB B1对11对多多对多1对零个或多个关联名称关联名称关联名称关联名称第32页/共141页目录文件文件名公司人员高级职员人员公司雇员雇主工作于职工政绩干部领导工人第33页/共141页聚集聚集微机监视器系统板键盘底架CPURAM芯片第34页/共141页泛化与继承泛化与继承人员教师学生工人第35页/共141页对象模型对象模型是三个模型中最关键的一个模型,它的作用是描述系统的静态结构,包括构成系统的
18、类和对象,它们的属性和操作,及它们之间的关系。在OMT中,类与类之间的关系叫做关联。关联代表一组存在于两个或多个对象之间的、具有相同结构和含义的具体连接。第36页/共141页聚合,代表整体与部分的关系,这是一种特殊形式的关联。限定,用以对关联的含义做某种约束。角色,用来说明关联的一端。由于多数关联具有两个端点,因而涉及到两个角色。附加的说明对象之间连接的连接属性。第37页/共141页第38页/共141页第39页/共141页一般化关系一般化关系也称为继承性。一般化关系包含基类和几个派生类。基类表示了一个较为一般、普遍的概念每个派生类则是它的某个特殊形态派生类除了自然地继承基类所具有的属性和操作外
19、,还具有反映自身特点的属性和操作。第40页/共141页动态模型(动态逻辑模型)动态模型(动态逻辑模型)动态逻辑模型描述系统中与时间和操作序列有关的内容。通过描述系统中发生的操作序列来定义系统运行时的行为。动态模型用状态图表示事件:触发的动作状态:属性值状态图:表示事件与状态的关系操作:动作发送事件状态的泛化(子状态/超状态)第41页/共141页动态模型动态模型要想对一个系统了解得比较清楚,应当考察在任何时刻对象及其关系的改变。系统的这些涉及时序和改变状况用动态模型来描述。动态模型着重于系统的控制逻辑。它包括两个图,一是状态图,一是事件追踪图。第42页/共141页状态图状态图状态图是一个状态和事
20、件的网络图,侧重于描述每一类对象的动态行为。在状态图中,状态是对某一时刻中属性特征的概括。而状态迁移表示这一类对象在何时对系统内外发生的哪些事件做出何种响应。第43页/共141页操作是一个伴随状态迁移的瞬时发生的行为,与触发事件一起表示在有关的状态迁移之上。活动则是发生在某个状态中的行为,往往需要一定的时间来完成,因此与状态名一起出现在有关的状态之中。第44页/共141页动态模型由多个状态图组成。对于每一个具有重要动态行为的类都有一个状态图,从而表明所有系统活动的模式。各个状态图并发地执行,并可以独立地改变状态。各种类的状态图可以通过共享事件组合到一个动态模型中。第45页/共141页事件事件一
21、个事件发生在某一时刻每个事件都是单独发生的建立事件类,并给每个事件一个名字,以指明共同结构和行为。事件从一个对象向另一个对象传送信息。第46页/共141页有些事件类可能传送的是简单的信号“要发生某件事”,而有些事件类则可能传送的是数据值。由事件传送的数据值叫做属性。列车出发列车出发(线路、班次、城市线路、班次、城市)揿下鼠标按钮揿下鼠标按钮(按钮、位置按钮、位置)拿起电话受话器拿起电话受话器 数字拨号数字拨号(数字数字)第47页/共141页事件追踪图事件追踪图事件追踪图侧重于说明发生于系统执行过程中的一个特定“场景”。场景也叫做脚本,是完成系统某个功能的一个事件序列。场景通常起始于一个系统外部
22、的输入事件,结束于一个系统外部的输出事件,它可以包括发生在这个期间的系统所有的内部事件。第48页/共141页第49页/共141页状态图与事件追踪图的关系状态图与事件追踪图的关系状态图叙述一个对象的个体行为,事件追踪图则给出多个对象所表现出来的集体行为。它们从不同侧面来说明同一系统的行为。例如,一个事件追踪图指出某一对象在接受一个事件之后发出另一事件,同一行为在此对象的状态图中也应当有所表示。第50页/共141页动态模型与对象模型的关系动态模型:对象模型中的对象的值的合法的变化序列;状态图描述具体类中某一对象的部分或所有的操作;状态等价于对象的属性值和链值;事件在对象模型中可表示为操作第51页/
23、共141页功能模型模块描述代码的布局,描述系统的体系结构对象数据流图组成处理:改变数据值数据流:对象之间动作对象:数据存储对象:控制流:第52页/共141页功能模型功能模型表明,通通过过计计算算,从从输输入入数数据据能能得得到到什什么么样样的的输输出出数数据据,不不考考虑虑参参加加计计算算的的数数据按什么时序执行据按什么时序执行。功能模型由由多多个个数数据据流流图图组组成成,它们指明从外部输入,通过操作和内部存储,直到外部输出,这整个的数据流情况。第53页/共141页功能模型中所有的数据流图往往形成一个层次结构。在这个层次结构中,一个数据流图中的过程可以由下一层的数据流图做进一步的说明。一般来
24、讲,高层的过程相应于作用在聚合对象上的操作,而低层的过程则代表作用于一个简单对象上的操作。第54页/共141页数据流图中允许加入控制流,但这样做将与动态模型重复,不提倡夹带控制流。第55页/共141页三种模型的关系对象模型表示数据的结构功能模型反映功能需求,反映对象组装处理/操作/存储 对象反映三个不同层次第56页/共141页二、二、OOA(OO Analysis)/OOD(OO Design)1 1、面向对象分析、面向对象分析(OOA)(OOA):面面向向对对象象的的分分析析方方法法主主要要包包括括:分分析析发发现现对对象象;定定义义它它们们的的类类,然然后后建建立立类类之之间间的的关关系系
25、;找找出出重重用用类,最后用重用类的实例类,最后用重用类的实例-对象构造系统框架。对象构造系统框架。OOAOOA可以按照以下五个步骤来进行:可以按照以下五个步骤来进行:标识对象:标识对象:标识结构:标识结构:标识主题:标识主题:定义属性:定义属性:定义方法:定义方法:第57页/共141页二、二、OOA/OOD2、面向对象设计、面向对象设计(OOD)从从OOA到到OOD是是一一个个渐渐进进的的模模型型扩扩充充过过程程,OOD包包括括了了问问题题域域部部分分、人机交互部分、任务管理部分和数据管理部分人机交互部分、任务管理部分和数据管理部分等四个部分的设计。等四个部分的设计。第58页/共141页三、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息系统 开发 设计
限制150内