软件工程总结

面向对象的分析

概念:

对象:系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成。

对象的两个基本元素:属性和服务。属性是用来描述对象静态特征的一个数据项;服务是用来描述对象动态特征的一个操作序列。

对象是属性和服务的结合体,对象的属性值只能有这个对象的服务来读取和修改。

类:服务是用来描述对象动态特征的一个操作序列。类代表一个抽象的概念或事物,对象是在客观世界中实际存在的类的实例。

封装:把对象的属性和服务结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。

继承:子类可以自动拥有父类的全部属性和服务。

消息:消息是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等信息。

多态性:由于类的继承以及子类方法重载的存在,使得以父类作为形参的函数在运行时可能接受不同类型的实参。实参可能是:父类自身对象或者某个直接/间接子类的对象。多态提高了灵活性和可扩展性。

统一建模语言:

UML关系:

关联:是一种结构关系,描述一组对象之间的连接,关联两端的类可以某种角色参与关联。

聚合:是一种特殊形式的关联,它表示类之间整体和部分的关系,聚合的两端是“has a”关系。

组合:是一种特殊形式的关联,组合关系中的整体和部分具有同样的生存期,组合两端是“contains a”关系。


泛化:是一种特殊和一般的关系。

依赖:依赖是一种使用的关系,它说明一个事物的规格说明的变化可能影响到使用它的另一事物。依赖可能的原因:一个类向另一个类发消息;一个类是另一个类的某个操作参数。

实现:类元之间的语义关系,其中的一个类元指定了由另一个类元保证执行的契约。

类之间的四种关系:

分类关系、继承---泛化(一般和特殊)

静态联系----关联。

       构成关系---聚合

       构成关系---组合

使用关系----依赖

实现关系----实现

识别继承(泛化):

1)学习当前领域的分类学知识。
2)按常识考虑事物的分类。
3)利用泛化的定义。
4)考察类的属性与操作。
5)看两个类的对象之间是否有“是一种” 关系。

6)考虑领域范围内的复用。

一般特殊结构的简化:取消没有特殊性的特殊类、增加属性简化一般和特殊关系、取消用途单一的一般类,减少继承层次(一般类存在理由:有两个及以上特殊类、需要用它创建实例、有助于软件复用)。

对象之间的关系:对象之间的静态联系,最终可通过对象属性来表示一个对象对另一个对象的访问关系。对象之间的动态联系,对象在行为上(操作调用)的依赖关系。使用关联表示类之间的静态关系。

判断关联关系:如果类的对象之间通过属性有连接关系,那么这些类之间的语义联系就是关联。

用例图:用例图定义了系统的功能需求,它完全是从系统的外部观看系统功能,并不描述系统内部对功能的具体实现。用例图表示了用例、参与者及其它们之间的关系。符号:

参与者:参与者是与系统交互的外部实体,既可以是使用该系统的用户,也可以是与系统交互的其他外部系统、硬件设备或组织机构。参与者之间可以存在泛化关系,类似的参与者可以利用泛化关系组成一般与特殊的层次关系。如:


用例:是从用户角度描述的系统行为,它将系统的一个功能描述成一系列事件,这些事件最终对参与者产生有价值的可观测结果。用户之间的关系:包含关系、扩展关系、泛化关系。包含关系:指一个基本实例的行为包含另一个用例的行为,

即一个实例发生的话包含实例一定发生。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值