uml学习入门 2 面向对象方法分析与设计

1.面向对象分析

面向对象分析的目的是知识客观世界并进行建模.

其实在面向对象的分析过程中也是对需求的分析和理解.

使用面向对象分析的过程一般如下:

获取问题陈述-->确定类-->准备数据字典-->确定关联-->使用继承来细化类型-->完善对象模型-->建立对象动态模型-->建系统功能模型

(1) 获取问题陈述就是与用户一起理解系统,搞清楚系统的业务逻辑,发现用户的需求,在这个时候我们应该以一个用户的身份去看待这些需求.很多设计人员在这个时候没有做足功能,导致最后系统的设计和维护异常困难,并开始抱怨起用户的变态要求.在搞清楚系统的需求之后,我们不要马上开始编码,如果在这个时候你都已经写下了几篇代码了,那么恭喜你,以后够你受的了.

(2)当得到了足够多的问题并对其理解之后,我们就可以把问题中承现出来的物理实体和概念描述整理出来,暂时把这些标志成一个类实体.然后清除冗余类和与系统不相干的类.最终得到我们的模型实体

(3)把第二步分析出来的类建立一个数据字典,这个数据字典很有可能会在我们的数据库设计中起到很大的作用.

(4)通过第二步和第三步,我们已经得到了系统中的实体信息,现在我们就要让各个实体信息之间产生联系.

比如在一个学生选课系统中. 学生被定义为一个实体,课程也被定义为一个实体,通过选课这个行为把两个实体联系起来.这个行为由学生来引发.目标为课程,产生的结果是学生是否成功的选了一门课程.通过这样的分析,在以后的设计过程中我们可以很容易的设计出学生类的方法.

 1class Student{
 2
 3      public bool ChooseCurriculum(Curriculum curriculum){
 4
 5            //.
 6
 7      }
 8
 9      //.
10
11}
12
13class Curriculum{
14
15      //.
16
17}
18

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索面向对象
, 系统
, 实体设计
, 分析
, 设计课设c语言选课
, 选课系统
, 学生
, #学生选课系统
, 一个
实体
,以便于您获取更多的相关知识。

时间: 2024-09-30 00:40:47

uml学习入门 2 面向对象方法分析与设计的相关文章

uml学习入门 3 面向对象建模

1.为什么要用UML建模 模型是什么?模型就是对现实世界的形状或状态的抽象模拟和简化,模型提供了系统的骨架和蓝图. 模型有助于按照实际情况或按照所需要的样式对系统进行可视化. 模型能够规约系统的结构或行为. 模型给出了指导构造系统的模板. 对系统用户而言,软件的开发模型向他们描述了软件开发者对软件系统需求的理解.让系统用户查看软件对象模型并且找到其中的问题,可以使开发者不至于从一开始就发生错误. 对软件开发而言,软件的对象模型有助于他们对软件的需求以及系统的架构和功能进行沟通. 对软件的维护和技

uml学习入门 1 面向对象概述

很久没有写过东西了,在开发过程中明显的感觉到很多程序员对UML与面向对象理论方面的理解不够,所以打算写一个UML的系列文章来一次扫盲. 这是第一节,主要先来确定几个基础的概念. 1.什么是对象 对象(Object)是面向对象的基本构造单元.是一些变量和方法的集合,用于模拟实现世界中的一些事物模型.如一台电脑,一个人,一间房子等.当然也可以模拟一些虚拟的东西,比如一个学号,一个编号,一个院系等. 2.面向对象与面向过程的区别 面向对象"什么做什么"与面向过程"做什么"

黑马程序员 十七、面试题之交通灯管理系统—面向对象的分析与设计、Road 类、Lamp 类、LampController 类、MainClass类)

Java帮帮-IT资源分享网  黑马程序员--面试题之交通灯管理系统 Road 类.Lamp 类.LampController 类.MainClass类   需求: 交通灯管理系统的项目需求 Ø 异步随机生成按照各个路线行驶的车辆. 例如: 由南向而来去往北向的车辆 ---- 直行车辆 由西向而来去往南向的车辆 ---- 右转车辆 由东向而来去往南向的车辆 ---- 左转车辆 ... Ø 信号灯忽略黄灯,只考虑红灯和绿灯. Ø 应考虑左转车辆控制信号灯,右转车辆不受信号灯控制. Ø 具体信号灯控

面向对象的分析与设计

面向对象的范式是思考程序设计时一种新的.而且全然不同的方式,许多人最开始都会在如何构造一个项目上皱起了眉头.事实上,我们可以作出一个"好"的设计,它能充分利用OOP提供的所有优点. 有关OOP分析与设计的书籍大多数都不尽如人意.其中的大多数书都充斥着莫名其妙的话语.笨拙的笔调以及许多听起来似乎很重要的声明(注释⑨).我认为这种书最好压缩到一章左右的空间,至多写成一本非常薄的书.具有讽剌意味的是,那些特别专注于复杂事物管理的人往往在写一些浅显.明白的书上面大费周章!如果不能说得简单和直接

python基于面向对象的分析和设计

1 原文地址 http://learnpythonthehardway.org/book/ex43.html 2 引言 2.1 译者 特别在编程语言的学习过程中, 通常会纠结在语言本身的细节中, 然后发现学习的过程变得越来越枯燥, 以至于最后放弃了这门才刚刚起步的语言, 投身到新的一个轮回中. 因为他们忘记了: 快乐来自于创造. 当然起先掌握一门语言还是很有必要的. 2.2 作者 我(以下文中的我均指作者)将描述在运用python的语言建立一些东西的过程, 这些描述更适用于运用python面向对

统一建模语言UML轻松入门之基本概念

概念 20 世纪80 年代,随着面向对象技术成为研究的热点,先后出现了几十种面向对象的软件开发方法.其中,Booch.OMT 和OOSE等方法得到了广泛的认可.然而,采用不同方法进行建模不利于开发者之间的交流.而UML则统一了Booch.OMT 和OOSE 的表示方法,而且对其作了进一步的发展.1997 年,UML 被国际对象组织OMG采纳为面向对象的建模语言的国际标准,它溶入了软件工程领域的新思想.新方法和新技术.UML不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程.数

《面向对象分析与设计》一1.5面向对象方法的发展史及现状简介

1.5面向对象方法的发展史及现状简介 在这里把面向对象方法的发展分为三个阶段:雏形阶段.完善阶段和繁荣阶段. (1) 雏形阶段 20世纪60年代挪威计算中心开发的Simula 67,首先引入了类的概念和继承机制,它是面向对象语言的先驱.该语言的诞生是面向对象发展史上的第一个里程碑.随后20世纪70年代的CLU.并发Pascal.Ada和Modula2等语言对抽象数据类型理论的发展起到了重要作用,它们支持数据与操作的封装.犹他大学的博士生Alan Kay设计出了一个实验性的语言Flex,该语言从

《面向对象分析与设计》一3.5 检查与调整

3.5 检查与调整 对于各用况图应该综合考虑,进行检查与调整.下面针对参与者和用况给出一些需要注意的检查与调整原则. 1参与者 1) 确定系统环境中的所有角色,并都归入了相应的参与者. 2) 每个参与者都至少与一个用况相关联. 3) 若一个参与者是另一个参与者的一部分,或扮演了类似的角色,考虑把它们合并或在它们之间建立继承关系. 2用况 1) 每个用况都至少与一个参与者相关联. 2) 若两个用况有相同或相似的序列,可能需要合并它们,或抽取出一个新用况,在它们之间建立包含.扩展或继承关系. 3

从领域、对象、角色、职责、对象交互、场景等方面去分析和设计领域模型(附源码)

好久没有写文章了,最近比较忙,另一方面也是感觉自己在这方面没什么实质性的突破.但是今天终于感觉自己小有所成,有些可以值得和大家分享的东西,并且完成了两个可以表达自己想法的Demo.因此,趁现在有点时间,是写文章和大家分享的时候了. 首先给出这两个Demo的源代码的压缩包的下载地址,因为之前有博友说他没有装VS2010而没办法运行Demo,所以这次我分别用VS2008和VS2010实现了两个版本. http://files.cnblogs.com/netfocus/DCIBasedDDD.rar