管理信息系统第九章 面向对象的分析与设计
- 格式:ppt
- 大小:903.50 KB
- 文档页数:70
第9章面向对象的系统开发9.1 复习笔记一、面向对象方法的基础理论1.面向对象的基本概念(1)对象(Object)①概念对象泛指所要研究的具体事物、抽象概念等。
在面向对象的系统中,问题对象是基本的运行实体,由一组数据和施加于这些数据上的一组操作封装而成。
②构成对象的基本要素a.标识标识即对象的名称,用来在问题域中区分其他对象。
b.数据数据也称状态,用于描述对象属性的存储或数据结构。
c.操作操作即对象的行为,对象运动特性的描述。
d.接口接口是指对象接受外部消息所指定的操作名称集合。
③记录对象禁止特征的数据类型a.公共数据对外界是可见的,用于对象间信息的传递。
b.私有数据是对象操作实现过程中的局部信息,外界不可见。
④数据和操作间的相互作用图9-1说明了对象的内部组织以及与其他对象的联系机制。
图9-1 对象的内部组织以及与其他对象的联系机制(2)类(Class)类是相似对象的集合,现实世界中由许多内部状态和外部行为相似的对象构成的集合就是类。
①标识标识即类的名称,用以区分其他类。
②继承继承描述子类承袭父类的名称,以及结构与功能。
③数据结构数据结构是对该类数据包含数据项的描述。
④操作操作是该类通用功能的具体实现方法。
⑤接口接口是面向其他类的统一的外部通信协议。
(3)消息(Message)消息是实现对象与对象间相互合作的通信载体,是连接对象的纽带,也是请求对象执行某个处理或提供某些信息的要求。
①消息传递当消息发送给某个对象时,接收到消息的对象经过解释予以响应,对象间的这种相互合作需要一个机制协助进行,这样的机制称为“消息传递”。
②消息传递模型图9-2就表示了一个消息传递的模型。
图9-2 消息传递模型(4)继承(Inheritance)继承是指一个类(即称子类)因承袭而具有另一个类(或称父类)的能力和特征的机制或关系。
①继承的特征层次结构的上部(或祖先类)具有通用性,下部(后代类)具有特殊性。
②有继承关系的类应具有的特性a.共享性共享性包括数据和程序代码的共享。
第一章测试1.下面关于功能分解法的优点描述错误的是A:与模块化编程结合使用后,使开发效率有很大提高B:以系统需要提供的功能为中心组织系统C:删除了GoTo语句,使软件能得到有效维护D:具有较强的应对需求变化的能力答案:D2.下面的开发方法能够兼顾功能和数据的是A:面向对象方法B:信息建模法C:结构化方法D:功能分解法答案:A3.结构化方法采用数据流、加工进行建模,需求变化极易引起两者的变动,进而引起其他数据流和加工的变化A:错B:对答案:B4.功能分解法以功能作为系统的构造块,数据组织能力强。
A:错B:对答案:A5.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。
因此面向对象方法有许多特征,如软件系统是由对象组成的;();对象彼此之间仅能通过传递消息互相联系;层次结构的继承。
A:强调需求分析重要性B:把对象划分成类,每个对象类都定义一组数据和方法C:对既存类进行调整D:开发过程基于功能分析和功能分解答案:B第二章测试1.下列关于UML叙述正确的是()。
A: UML仅是一组图形的集合B: UML仅适用于系统的分析与设计阶段C: UML是一种语言,也是系统设计的方法D:在信息系统开发过程方面,UML是一种建模语言,不是对开发过程的细节进行描述的工具答案:D2.UML的最终产物就是最后提交的可执行的软件系统和()。
A: 类图B: 动态图C: 用户手册D: 相应的软件文档资料答案:D3.UML提供了4种静态图用于对系统的静态方面进行可视化、详述、构造和文档化。
其中()是面向对象系统建模中最常用的图,用于说明系统的静态设计视图。
A: 部署图B: 组件图C: 对象图D: 类图答案:D4.UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。
其当需要显示代码物理结构,并用于实际的编程时,应该选择()。
面向对象的系统分析与设计方法在信息化时代,各种软件系统已经深入到人们日常生活的方方面面。
如何将软件设计得更加高效、安全、易用成为设计人员不断探索的问题。
其中,面向对象的系统分析与设计方法被广泛应用于软件领域,成为当前软件研发中的流行趋势。
一、面向对象思想面向对象思想是一种软件分析、设计和编程思路。
它将现实世界中的实体抽象为对象,通过对象之间的交互和信息处理来实现系统的功能。
对象的行为和属性都与现实世界中的事物相对应,因此可以更加符合人类的思维方式,易于理解和维护。
同时,面向对象的设计还具有可重用性好、扩展性强、易维护等优点,因此被广泛应用于软件开发中。
二、面向对象的系统分析与设计面向对象的系统分析与设计方法采用面向对象思想,以系统的对象为中心,对系统所涉及到的实体进行抽象分析和设计。
其主要步骤包括系统需求分析、面向对象的分析和面向对象的设计。
1.系统需求分析系统需求分析是整个软件开发的关键,需要通过对用户需求、客户需求和用户交互接口需求等方面进行深入分析和调研,明确软件的功能、性能、可靠性和安全性等需求要求,为后续的设计和编码打下基础。
2.面向对象的分析面向对象的分析将系统需求分析的结果转化为面向对象的模型,具体包括对象、类、关系、约束条件等方面的分析。
其中,最重要的是通过实体之间的关系和交互来建立对象模型,理清对象之间的依赖关系和功能流程,同时将软件的功能划分为一个个模块,为后续的设计提供可靠的基础。
3.面向对象的设计面向对象的设计是指基于面向对象的分析结果,对系统进行更加详细的设计。
在设计过程中,需要运用各种通用的面向对象设计模式,如单例模式、工厂模式、观察者模式等,从而提高系统的可维护性、可扩展性和可重用性,同时还需考虑系统安全性、性能等方面的设计。
三、面向对象设计方法的优势1.提高系统的可维护性面向对象设计方法可以将系统中的实体进行模块化的设计,每个模块都可以自行管理本身功能的维护和更新,同时多个模块之间的协调和合作也容易实现,从而提高了系统的可维护性。
第九章面向对象设计面向对象设计阶段的目标:–(1) 设计软件体系结构,定义系统的高层划分,确定主要组件及其接口。
–(2) 详细设计软件类或接口。
按照架构模式定义信息系统的边界类、控制类和实体类,详细设计类的属性和方法,设计程序执行的交互图。
–(3) 设计数据库接口,解决面向对象模型到数据库模型的过渡。
经典的三层结构:1.表现层:处理用户和信息系统之间的交互。
•可以是简单的命令行窗口,也可以功能完善的图形用户界面(胖客户端程序),如基于HTML的浏览器界面(瘦客户端程序)。
2.业务逻辑层:也称为领域层或应用层,是信息系统所有和领域相关的工作。
•如根据输入数据或已有数据进行计算,依赖于数据访问层获取数据或保存数据,可替换的组件。
3.数据访问层:一般指与数据库的交互,主要责任是数据库记录的存取。
•如专门的数据访问类包:包是一种逻辑分组手段,可以取UML模型中的任何一种事物,将相关成分聚在一起,以构成更高一层的组织单元——包。
包图用来描述包及其依赖关系。
当有用于表现层的界面包和用于领域层的包时,表现层包中的类因为要使用领域包中的领域类提供的服务,所以表示包对领域有依赖关系。
类是构成面向对象系统的基本组成,将类以包为单位分组,每一层中的所有类组成一个包。
软件类是设计阶段中讨论的对象和类,也称为设计类边界类的职责是完成系统与其参与者之间的交互。
–接收来自用户和外部系统的信息与请求–将信息与请求提交给用户和外部系统通过用例图可以得知每个边界类至少应该与一个参与者有关,参与者类型不同,边界类的设计也不同.实体类来源于领域模型中的类。
实体类是一个软件对象,表示了领域对象的信息,以及具有与它所表示的信息有关的复杂行为。
实体类反映的信息需要在系统中进行处理,并需要进行持久化存储。
边界类仅负责数据的输入和输出,不应承担和数据处理有关的业务逻辑边界类通过与实体类的交互,获得有关数据处理的结果控制类代表协调、排序、事务处理以及对其它对象的控制,经常用于封装与某个具体用例有关的控制流。
《面向对象系统的分析与设计》学习报告面向对象系统的分析与设计课程是本专业的一门重要的专业课。
通过本课程的学习,使我在已有的计算机软硬件基础知识、程序设计知识、数据库和网络通信知识的基础上系统掌握了面向对象系统的分析与设计方法和技术,并初步具备了针对特定环境下的应用问题进行信息系统开发(包括系统分析、设计与实现)的能力。
现将学习情况作以下汇报。
一、面向对象概述在 20 世纪 60 年代以前,软件开发者构造的软件系统大多都是较小的,且相对简单。
编程语言及编程环境也相对简单,随着软件复杂性的增长,为了更好地维护代码,软件开发也需要方法来进行约束。
传统的方法中,结构化方法和基于建模方法是典型的软件开发方法。
结构化方法是结构化分析、结构化设计和结构化编程的总称。
结构化方法的思想萌发于 20 世纪 60 年代,是在 70 年代由 TomDe Macro 和Ed Yourdon 等人被系统地进出来。
其目的在于,提供一个有序的机制,通过抽象来理解待开发的系统,试图产生结构良好的软件系统。
但对于较复杂的系统而言,容易导致模块的低内聚和模块间的高耦合,从面使得系统缺乏灵活性和可维护性。
基于建模方法在20 世纪70 年代末提出,即 Peter Chen 的实体——关系法与Ed Codd 的关系数据库理论相结合提出的一种新的软件开发方法。
其强调对信息实体建模,而不是对象建模。
结构化方法和基于建模方法都没有较强地描述系统的动态行为的能力。
随着计算机技术的飞速发展,计算机管理系统应用的普及,企业信息化势在必行。
传统开发方法结构化开发的软件存在很多问题,其有稳定性、可修改性和可重用性都比较差,生产效率低等缺陷,这是因为传统的软件开发是面向过程的。
然而,用户需求的变化大部分是针对功能的,采用面向对象方法开发可以满足用户的需求,因为面向对象有以下优点:能够比较自然地反映现实事物,可重用性、可维护性和可扩展性比较强。
什么是面向对象呢?“面向对象”本身没有任何意义。