信息技术知识
信息系统建设与开发
信息系统建设的基本概念
信息系统建设的总体目标
信息系统的生命周期、各阶段目标及其主要工作内容
信息系统常用的开发方法
信息系统设计
方案设计
系统架构
软件工程
软件需求分析与定义
软件设计、测试与维护
软件质量保证及质量评价
软件配置管理
软件过程管理
软件开发工具
软件复用
面向对象的系统分析与设计
面向对象的基本概念
统一建模语言 UML 与可视化建模
UML 是一种定义良好、易于表达、功能强大且普遍适用的建模语言。
从总体上来看,UML 的结构包括构造块、规则和公共机制三个部分。
UML 中的事物
(1)结构事物:结构事物在模型中属于最静态的部分,代表概念上或物理上的元素。
(2)行为事物:行为事物是 UML 模型中的动态部分,代表时间和空间上的动作。
(3)分组事物:分组事物是 UML 模型中组织的部分
(4)注释事物:注释事物是 UML 模型的解释部分。
UML 中的关系
UML 用关系把事物结合在一起,主要有下列四种关系:
(1)依赖(dependency):依赖是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
(2)关联(association): 关联描述一组对象之间连接的结构关系。
(3)泛化(generalization): 泛化是一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象。 (4)实现(realization): 实现是类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。
UML 视图
UML 对系统架构的定义是系统的组织结构,包括系统分解的组成部分,以及它们的关联性、交互机制和指导原则等提供系统设计的信息。具体来说,就是指以下 5 个系统视图:
(1)逻辑视图:逻辑视图也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。
(2)进程视图:进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。
(3)实现视图:实现视图对组成基于系统的物理代码的文件和构件进行建模。
(4)部署视图:部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。
(5)用例视图:用例视图是最基本的需求分析模型。
面向对象的系统分析
类之间的主要关系有关联、依赖、泛化、聚合、组合和实现等,它们在 UML 中的表示方式如下图所示:
(1)关联关系。关联提供了不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。关联体现的是对象实例之间的关系,而不表示两个类之间的关系。
(2)依赖关系。两个类 A 和 B, 如果 B 的变化可能会引起 A 的变化,则称类 A 依赖于类 B。
(3)泛化关系。泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。继承关系是泛化关系的反关系,也就是说,子类继承了父类,而父类则是子类的泛化。
(4)共享聚集。共享聚集关系通常简称为聚合关系,它表示类之间的整体与部分的关系,其含义是“部分”可能同时属于多个“整体","部分”与“整体”的生命周期可以不相同。
(5)组合聚集。组合聚集关系通常简称为组合关系,它也是表示类之间的整体与部分的关系。与聚合关系的区别在于,组合关系中的”部分”只能属于一个“整体", "部分”与“整体”的生命周期相同,“部分”随着“整体”的创建而创建,也随着“整体”的消亡而消亡。
(6)实现关系。实现关系将说明和实现联系起来。接口是对行为而非实现的说明,而类中则包含了实现的结构。一个或多个类可以实现一个接口,而每个类分别实现接口中的操作。
面向对象的系统设计
软件架构
软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。
1. 软件架构风格
软件架构设计的一个核心问题是能否达到架构级的软件复用,也就是说,能否在不同的系统中,使用同一个软件架构。
将软件架构分为数据流风格、调用/返回风格、独立构件风格、虚拟机风格和仓库风格。
2. 软件架构评估
在架构评估过程中,评估人员所关注的是系统的质量属性。
从目前已有的软件架构评估技术来看,可以归纳为三类主要的评估方式,分别是基于调查问卷(或检查表)的方式、基于场景的方式和基于度量的方式。这三种评估方式中,基于场景的评估方式最为常用。