系统分析与建模


前言

最近临近期末考试,由于之前学习的一门课软件构造,考试考的并不是很理想,因此我今年考试的时候提前复习了系统分析与建模这一个门课,在此记录下复习过程中的笔记。 以下内容均为自己的看法和一些课本上的内容,不喜勿喷,谢谢

一、对象

对象可以是一个实体,一件事,一个名词,也可以是可获得的某种东西,还可以是想象为自己所表示的任何事务。因此可以给出对象的定义:对象是一个实体,这个实体具有明确的定义的边界和标识,并且封装了状态和行为。

  1. 对象具有很明确定义的边界和标识。边界以为这对象是一个封装体,通过封装来与其他对象分隔。而标识是表明一个对象是唯一的,虽然有时候某个对象的状态有可能与其他对象一样,但是每一个对象无论是在现实生活中还是在代码世界都是独一无二的,通过明确的边界与其他对象分割开来。而且这个边界应该是研究该对象的用户可以清晰的定义的。也就是说对象只是对于一类人来说是有效的,但是对于其他人来说就不一定是一个对象。例如杯子中的一杯水,对于普通用户来说,杯子就是他的边界,一杯水可以是一个对象,但是对于专业人士(化学老师来说),如果要专门研究这一杯水的话,呢这杯水就不一定是一个对象,可能是多个氢原子对象和氧原子对象。
  2. 对象封装了状态和行为。对象的状态通过对象的属性和关系来表达。对象的行为通过对象的操作,方法和状态机来表达,它是由对象定义的一系列操作来决定。

二、类

对象是具体的存在的,并且是可以具体反映出问题空间的概念的。但是在现实生活中的对象太多了,在处理问题的时候不可能一个一个建模,而对象与对象之间也存在一定的相似特征,因此如果将这一系列对象抽象描述,这些对象共享相同的属性、操作、关系和语义。并且与之对应的,一个具体的对象就是该类的一个实例。由此可见,类是一种抽象,它将相似的实体独享抽象成相同的概念。

三、抽象

抽象的过程就是解释事务区别与其他事务的本质特征的过程,是一个分析和理解问题的过程,这个过程取决于使用者的目的,忽略其他不相关的事务,抽象就是从对象到类的过程,将所见到的具体抽象成概念,从而能够在计算机世界中对于现实世界进行模拟。(抽象抽象就是从对象中抽出像的一部分,组成一个类。)

四、封装

是指对象对其访问者隐藏具体的实现,他是软件模块化思想的体现。通过封装可是实现信息的隐藏和数据的抽象。

五、泛化

泛化是指一个类可以共享一个或者多个类的结构和行为。为了实现泛化关系,引入了继承机制。一个子类继承一个或者多个父类,从而实现了不同大的抽象层次。这些层次所建立的关系即为泛化关系。(UML类图中用带三角的实线表示泛化关系,其中的父类被三角的一段所指)

六、分层

  1. 分层是指面向不同目标建立不同的抽象级别层次,从而在不同的抽象层次对系统进行分解,进一步简化对于系统的理解。
  2. 分层主要在类层次分层以及对象层次分层;类分层是指在不同的抽象级别进行对象进项抽象,高层的类抽象层次更高,其描述能力越强;越底层的类则越具体。对象层次是指对象间的组成结构,即大的对象是由小的对象组成,这种结构是通过类与类之间的聚合关系来实现的,也称为聚合层次结构。(一个类的属性是另一个类的实例对象。)

七、分解

分解是将单个大规模复杂系统划分为多个不同的小构件。

八、复用

复用是借助于已有软件的各种相关的只是建立新软件的过程,缩减新软件的开发和维护成本。不过现在的大多数企业尤其是大企业都不提倡复用,都比较注重于底层的自研和创新。

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值