软考系规:面向对象系统分析与设计详解

1、面向对象与面向过程

(1)面向过程:世界的一切都不是孤立的,是紧密联系在一起的,缺一不可,互相作用,并形成一个个小系统,然后小系统组合完成大系统,适合于需求明确不复杂的项目

(2)面向对象:世界是分割开来的对象(物件)组成,对象是由数据及其操作所构成的封装体,是系统中用来描述客观事物的一个模块,是构成系统的基本单位对象包含3个基本要素,分别是对象标识、对象状态和对象行为

(标识号、属性、动作)除非有在特定场景下,这些对象是“自私”的,其内部就是一个黑匣子,什么也看不到,叫做封装。它们之间通过消息传递信息,孤立的对象之间进行了某些信息交互才表现出我们看到的一个过程,否则它们将“老死不相往来”。对象喜欢群居,并且总是“物以类聚人以群分”,这些相似性质的对象组成一个部落,对象们寻找性质相似的群居的过程叫做抽象,它们组成的部落叫做类

如:龙生龙凤生凤,老鼠的孩子会打洞,也能飞上天等—-继承继承的反关系叫做泛化

龙生九子—继承,九子各不相同—-泛化

每个对象都有多个外貌,不同情况下展现不同的外貌,但是本质只有一个,叫做接口

2、面向对象基本概念

面向对象的基本概念包括对象、类、抽象、封装、继承、多态、接口、消息、组件、复用和模式等。

(1)对象:由数据及其操作所构成的封装体,是系统中用来描述客观事物的一个模块,是构成系统的基本单位。对象三个基本要素:对象标识、对象状态、对象行为

(2)类:现实世界中实体的形式化描述,类将该实体的属性数据和操作函数封装在一起。类定义了属于该类的所有对象的共同特性一个类可以定义多个对象对象是类的实例,类是对象的模板。如果将对象比作房子,那么类就是房子的设计图纸。

(3)抽象:通过特定的实例抽取共同特征以后形成概念的过程,类是一组对象的抽象

(4)封装:将相关的概念组成一个单元模块,并通过一个名称来引用它。

(5)继承:表示类之间的层次关系父类与子类,这种关系使得某类对象可以继承另外一类对象的特征,继承又可分为单继承和多继承

(6)接口:描述对操作规范的说明,其只说明操作应该做什么,并没有定义操作如何做。

(7)消息:体现对象间的交互,通过它向目标对象发送操作请求。

(8)组件:表示软件系统可替换的、物理的组成部分,封装了模块功能的实现

(9)复用:指将已有的软件及其有效成分用于构造新的软件或系统,组件技术是软件复用实现的关键

(10)多态:定义同一个操作或属性名称在多个类中,并在每个类中可以有不同的体现

(11)模式描述了一个不断重复发生的问题,以及该问题的解决方案,其包括特定环境+问题+ 解决方案3个组成部分。

3、面向对象分析与设计

(1)面向面向对象系统分析的模型用例模型、类-对象模型、对象-关系模型和对象-行为模型组成。

(2)面向对象系统设计基于系统分析得出的问题域模型,用面向对象的方法设计出软件基础架构(概要设计)完整的类结构(详细设计),以实现业务功能。

(3)面向对象系统设计主要包括用例设计、类设计和子系统设计

(4)RUP是使用面向对象技术进行软件开发实践的最佳实践之一。

4、统一建模语言(UML)

(1)UML是一种可视化的建模语言而不是编程语言。分为构造块、规则和公共机制三个部分。适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具。它比较适合用于迭代式的开发过程,是为支持大部分现存的面向对象开发过程而设计的。

(2)UML图提供了对系统进行建模的描述方式,主要包括:

静态图:用例图、类图、对象图、组/构件图、部署图(配置图)

动态图:序列图、状态图、协作图、活动图

理解:

静态图

静态图主要用于展示系统的静态结构,即系统的组成部分以及它们之间的关系,而不涉及这些部分的行为或动作。

用例图(Use Case Diagram)

用例图是用来描述系统功能的图表,它从用户的角度展示了系统能够做什么。它主要包括参与者(用户或外部系统)和用例(系统功能)。参与者通过交互来触发这些用例,用例则展示了系统如何响应这些交互。

类图(Class Diagram)

类图是用于描述系统中类的静态结构,包括类的属性(即数据)和操作(即方法或行为)。类图还展示了类之间的关系,如继承、关联、依赖等。

对象图(Object Diagram)

对象图是类图的一个实例,它展示了在特定时间点或场景下,系统中实际存在的对象以及它们之间的关系。对象图通常用于说明系统的一个具体状态。

组/构件图(Component Diagram)

构件图用于描述系统的物理结构,即系统由哪些构件(如源代码文件、可执行文件、数据库等)组成,以及这些构件之间的关系。

部署图(Deployment Diagram)

部署图展示了系统运行时软件和硬件的物理配置情况,包括节点(如服务器、计算机)和它们之间的通信关系。

动态图

动态图则用于描述系统的动态行为,即系统的组成部分如何随时间进行交互和变化。

序列图(Sequence Diagram)

序列图展示了对象之间交互的顺序,它按照时间顺序描述了对象之间发送和接收消息的过程。

状态图(State Diagram)

状态图用于描述一个对象在其生命周期中的状态变化以及触发这些变化的事件。它展示了对象在不同状态下的行为和状态之间的转换。

协作图(Collaboration Diagram)

协作图与序列图类似,也用于描述对象之间的交互。但协作图更侧重于展示对象之间的空间布局和关系,而不是时间顺序。

活动图(Activity Diagram)

活动图用于描述系统中从一个活动到另一个活动的流程,它展示了为了完成某个目标而需要执行的一系列动作和决策点。

(3)视图描述

图片[1]-软考系规:面向对象系统分析与设计详解
获取更多软考资料

关注公众号

添加微信好友

© 版权声明
THE END
喜欢就支持一下吧
点赞6赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情

    暂无评论内容