一、关于现实世界和面向对象技术的关系
二、软件质量衡量指标
(一)外部
正确性:软件执行结果是否正确
健壮性和可靠性:软件是不是会崩溃
性能:关于系统延迟等等
(二)内部
模块性:一个软件是不是按模块分的
灵活性和可扩展性:网点扩充,当网点扩充是是不是支持扩充
可复用性:当添加新功能时是不是可以使用现在的代码进行复用
可兼容性:是不是可以兼容各种硬件平台
三、建模(将复杂的系统变成小系统,有利于现实系统建成)
(一)模型组成
系统(O):描述的对象
目标(G):系统将要实现的目标
组分:构成系统的子系统
约束条件(T):系统所处的环境及约束条件
变量(V):表述各个组分的量的变化(内部变量,外部变量以及状态变量)
关系(R):表述不同变量之间的数量关系
状态(S):从初态到终态
模型六元组:M={O,G,T,V,R,S}
(二)建模原则
分解:将复杂的问题分解成多个小问题,降低耦合性
抽象:将问题抽象化,进行总结,观察是否有共性
投影/视图:将问题从不同角度观察
构件化:将共有的特点进行构件的制作,使用时直接利用即可(车和螺丝螺母)
形象化:进行形式化定义
(三)UML
既不是程序设计语言,也不是形式化语言,而是建模语言
四、软件过程
(一)软件危机
软件周期大大超过规定日期;
开发成本严重超标;
软件质量难以保证;
(二)软件开发问题
不能满足用户或商业需求;
不能很好地定位需求;
模块难集成;
最后才发现问题;
对终端用户质量较差;
负载时性能差;
没有协调团队能力;
不断地修改-分布问题;
(三)统一软件过程RUP
1.特点:用力驱动;以架构为中心;采用迭代和增量
2.RUP四个循环阶段:初始;细化;构造;移交
3.RUP的迭代式开发