软件工程 复习
维护
软件的主要成本是在维护上的
维护有改正性维护、适应性维护、完善性维护以及预防性维护,其中全部维护活动中一半以上是完善性维护
软件的可维护性
因素
- 可理解性
- 可测试性
- 可修改性
- 可移植性
- 可重用性
可维护性复审:在软件工程过程中的每一阶段都应该考虑并努力提高软件的可维护性,在每一阶段结束前的技术审查和管理复审种应该着重对可维护性进行复审
面向对象方法
面向对象的原则是尽可能模拟人类习惯的思维方式,使得开发软件的方法和过程尽可能接近人类认识世界解决问题的方法与过程
面向对象是一种以数据或信息为主线,把数据和处理相结合的方法
面向对象方法优点
1)与人类习惯思维方法一致
2)稳定性好
3)可重用性好
4)较易开发大型软件产品
5)可维护性好
四个要点
- 面向对象的软件系统是由对象组成的。
- 把所有对象都划分成各种对象类,每个对象类都定义一组数据和一组方法。数据表示对象的静态属性、方法是操作
- 类与类之间存在继承关系
- 对象彼此之间仅通过传递消息互相联系
面向对象方法开发软件要建立3种形式的模型:对象、动态、功能模型
对象模型
对象模型是用于描述系统数据结构
类图
类图是一种静态模型、它是创建其他UML图的基础
UML 描述:
--在定义类的时候,对类的命名要求富有描述性、简洁的而且无二义性的
--可见性 属性名:类型名 = 初值{形式串}
关系
类图由类以及类之间的关系组成
类之间的关系有 关联、泛化、依赖、细化
关联
关联:表示两个类的对象之间存在某种语义上的联系。比如作家使用计算机,
其中关联有普通、限定、等
普通关联是最常见的关联、图示是连接两个类的直线
限定关联通常用在一对多或多对多的关联关系中、可以将模型中的重数从一对多变成一对一,或将多对多简化成多对一。
聚集也成为聚合,是关联的特例。表示类与类之间的关系是整体与部分的关系。聚集又可以分为共享聚集和组合聚集。
共享聚集会在表示关联关系的直线末端紧挨着整体类的地方画一个空心菱形。
组合聚集则是用实心菱形表示。
泛化
UML中的泛化就是通常所说的继承关系。
泛化有这普通泛化、受限泛化、
受限泛化就是进一步说明该泛化关系的使用方法或扩充方法,这样的泛化关系称为受限泛化,约束有:多重、不相交、完全和不完全等。
在UML中,用一端为空心三角形的连线表示泛化关系,三角形的顶角紧挨着通用元素。泛化针对类型而不是针对实例一个类可以继承另一个类,但对象不能如此。
依赖和细化
1)依赖关系,描述两个模型关系元素之间的语义连接关系;其中一个模型元素是独立的,另一个模型元素不是独立的,他依赖于独立的模型关系,如果独立的模型关系改变了,将影响依赖于它的模型元素。
在UML中,用带箭头的虚线连接有依赖关系的两个类,剪头指向独立的类。
2)细化关系,对同一事物的不同抽象层次上描述时,这些描述之间具有细化关系。细化用来协调不同阶段模型之间的关系,表述各个开发阶段不同抽象层次的模型之间的相关性,常常用于跟踪模型的演变。图示符号由被细化指向细化,剪头为空心三角形的虚线。
动态模型
动态模型表示瞬时的、行动化的系统的“控制”性质,它规定了对象模型中的合法变化序列。
采用的是状态图
功能模型
功能模型表示变化的系统的“功能”性质,它指明了系统因应该“做什么”,因此更直接地反映了用户对目标系统的需求。
采用的是用例图。
UML用例之间主要有扩展和使用关系,他们是泛化关系的两种不同形式。

浙公网安备 33010602011771号