预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

《面向对象系统的分析与设计》学习报告 面向对象系统的分析与设计课程是本专业的一门重要的专业课。通 过本课程的学习,使我在已有的计算机软硬件基础知识、程序设计知 识、数据库和网络通信知识的基础上系统掌握了面向对象系统的分析与 设计方法和技术,并初步具备了针对特定环境下的应用问题进行信息 系统开发(包括系统分析、设计与实现)的能力。现将学习情况作以下 汇报。 一、面向对象概述 在20世纪60年代以前,软件开发者构造的软件系统大多都是较 小的,且相对简单。编程语言及编程环境也相对简单,随着软件复杂 性的增长,为了更好地维护代码,软件开发也需要方法来进行约束。 传统的方法中,结构化方法和基于建模方法是典型的软件开发方法。 结构化方法是结构化分析、结构化设计和结构化编程的总称。结构化 方法的思想萌发于20世纪60年代,是在70年代由TomDeMacro和 EdYourdon等人被系统地进出来。其目的在于,提供一个有序的机制, 通过抽象来理解待开发的系统,试图产生结构良好的软件系统。 但对于较复杂的系统而言,容易导致模块的低内聚和模块间的高耦 合,从面使得系统缺乏灵活性和可维护性。基于建模方法在20世纪 70年代末提出,即PeterChen的实体——关系法与EdCodd的关系 数据库理论相结合提出的一种新的软件开发方法。其强调对信息实体 建模,而不是对象建模。结构化方法和基于建模方法都没有较强地描 述系统的动态行为的能力。随着计算机技术的飞速发展,计算机管理 系统应用的普及,企业信息化势在必行。传统开发方法结构化开发的 软件存在很多问题,其有稳定性、可修改性和可重用性都比较差,生产 效率低等缺陷,这是因为传统的软件开发是面向过程的。然而,用户需 求的变化大部分是针对功能的,采用面向对象方法开发可以满足用户 的需求,因为面向对象有以下优点:能够比较自然地反映现实事物, 可重用性、可维护性和可扩展性比较强。 什么是面向对象呢?“面向对象”本身没有任何意义。“对象”大 概是英语中最普通的一个单词。它在字典中的定义是这样的。对象:能 感觉到或能够被感觉到的东西。换句话说,对象可以是任何东西! “面向”也没有任何特别的含义,它的定义是“指向”。在这种 定义下,“面向对象”被理解为形容词。因此,面向对象可以定义成这 样,面向对象:指向你可以想到的任何东西。 毫无疑问,软件工业无法为“面向对象”下一个统一的定义。这 种模糊性使得任何一个软件零售商都声称他们的商品是“面向对象” 的。 1面向对象的基本概念 尽管权威人士对面向对象的概念没有达成一致的意见,但从程序 设计方法的角度来看,面向对象是一种新的程序设计范型。其基本思 想是使用对象、类、封装、继承、关联、聚合、消息、多态性等基本 概念来进行程序设计。 1.1对象(Object) 对象是人们要进行研究的任何事物,它可以是有形的(比如一辆汽 车),也可以是无形的(比如一项计划)。对象是构成世界的一个独立 单位,它具有自己的静态特征和动态特征。对象是系统中用来描述客 观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组 属性和对这组属性进行操作的一组服务构成。 1.2类(Class) 具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是 类,类的具体化就是对象,也可以说类的实例是对象。类的确定主要 是确定该类的所有对象有哪些属性和哪些行为。这些属性和行为必须 覆盖该类中的所有对象。例如在一个学生类中,它的属性有姓名、学号、 性别、所在院系,它的行为有选课、注册等。抽象是指忽略事物的非本 质特征,只注意那些与当前目标有拳本质特征,从而找出事物的共性; 而分类是把具有共同性质的事物划分为一类,得出一个抽象的概念。另 外,每一个属性与行为都被封装后,只能在类的内部起作用。 1.3封装(Encapsulation) 为了实现信息的隐蔽,又提出了封装,就是把对象的属性和行为 结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 1.4继承(Inheritance) 任何一个子类都具有其父类所有的属性、方法、事件。这一特性 叫做类的继承。 如果父类的特性发生变化,其子类也相应改变。面向对象的编程 技术强调了代码的重用性,而可重用性即是能过继承来实现的。简化 了人们对事物的认识和描述,也简化了系统的构造强度及其文档,非 常有益于软件复用。 1.5关联 类之间的静态联系称为关联。关联