大家好,我是小黄呀。软件工程复习随笔,持续更新。
软件工程方法
- 三要素:方法、工具和过程
- 分类:传统方法学(结构化软件工程方法)和面向对象的方法学
结构化方法
- 演进:结构化分析方法(SA),结构化设计方法(SD),结构化程序设计方法(SP)。
- 指导思想:自顶向下、逐步求精
- 基本原则:功能的分解与抽象,适用于数据处理领域的问题。
- 在本质上,结构化的软件开发方法是面向数据、面向过程、面向功能、面向数据流的观点来映射问题的。
- 不足:处理过程与数据分离,可重用性和可修改性差。
面向对象方法
-
面向对象的基本概念:对象、类、封装、继承和多态
- 对象可以是客观世界中存在的事物,也可以是概念化的实体,它由一组属性和操作组成。
- 类是对对象的抽象,是对具有相同属性和相同操作的一组相似对象的定义。
- 封装是指把对象的属性和操作结合在一起,组成一个独立的单元。封装强调两个概念,即独立和封闭。
- 继承表示类之间的层次关系,它使得某类对象可以自动拥有另外一个或多个对象的全部属性和操作。
- 多态是一种使父类中定义的属性或操作被子类继承后,可以有不同的实现的机制。
- 消息是对象发出的服务请求,包含:提供服务的对象标识、服务标识、输入信息、应答信息
-
对象之间的联系
- 一般与特殊
- 整体与部分
- 实例连接——通过对象的属性来表现对象之间的依赖关系
- 消息连接——从请求者指向接受者
-
优点:符合人类的思维习惯、稳定性好、可复用性好、可维护性好。
统一建模语言——UML
-
UML是用于描绘软件蓝图的标准语言,是一个通用的可视化建模语言,是用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档,是一种分析设计语言。
-
特点:具有统一标准、面向对象、可视化,表达能力强、独立于过程。
-
主要构成:事物、关系、图
-
UML事物
- 四种事物:结构事物、行为事物、组织事物、辅助事物。
- 结构事物包括:类、接口、协作、用例、构建、节点。
- 行为事物包括:交互、状态机
- 组织事物包括:包
- 辅助事物包括:注释
-
UML关系:依赖、关联、泛化、实现
-
视图
- 每个视图代表系统的一个抽象,反映了系统中的一个特定方面,从而使不同的人员关注系统的不同方面。包括:用例视图、逻辑视图、并发视图、构件视图、部署视图
- 用例视图表达从用户角度看到的系统应有的外部功能,有时也叫用户模型视图;用用例图来描述。
- 逻辑视图主要用类图和对象图来描述系统的静态结构,它同时也描述对象间为实现给定功能发送消息时出现的动态协作关系,故称结构模型视图。它用状态图,时序图,协作图和活动图来描述。
- 并发视图用于展示系统的行为及其并发性。也称模型视图。它用状态图,时序图,协作图,活动图,构件图和部署图来描述。
- 构件视图展示系统实现的结构和行为特征,包括实现模块和他们之间的依赖关系,也称模型视图。构件视图用构件图来描述。
- 部署视图显示系统地实现环境和构件被部署到物理结构中的映射。它用部署图来描述。
-
图
- 系统模型中每一个视图的内容是由一些图来描述的,UML中包含九种图。
- 对整个系统而言,其功能由用例图描述,静态结构由类图和对象图描述,动态行为由状态图、时序图、协作图和活动图描述,而物理架构则是由组件图(构件图)和分布图(部署图)描述。
- 用例图:定义了系统的功能需求,它完全是从系统的外部观看系统功能,并不描述系统内部对功能的具体实现。
- 类图:描述系统的静态结构,表示系统中的类以及类与类之间的关系。
- 对象图:描述了一组对象以及它们之间的关系,表示类的对象实例。
- 状态图:表示一个状态机,强调对象行为的事件顺序。
- 时序图和协作图均表示一组对象之间的动态协作关系,两者之间可以相互转换,时序图反映对象之间发送消息的时间顺序,协作图反映收发消息对象的结构组织。
- 活动图:反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。
- 组件图(构件图):描述组件以及它们之间的关系,表示系统的静态实现视图。
- 分布图(部署图):反映了系统中软件和硬件的物理架构,表示系统运行时的处理节点以及节点中组件的配置。
有问题可在下方评论或者私信q453682174.