一、软件系统建模
1、结构化建模方法
结构化建模方法是以过程为中心的技术,可用于分析一个现有系统以及定义新系统的业务需求。结构化建模方法所绘制的模型称为数据流图(DFD)。对于流程较为稳定的系统可考虑结构化建模方法。
2、信息工程建模方法
信息工程建模方法是一种以数据为中心,但过程敏感的技术,它强调在分析和研究过程需求之前,首先研究和分析数据需求。信息工程建模方法所创建的模型被称为实体联系图(ERD)。主要用于数据建模。
3、面向对象建模方法
面向对象建模方法将 “数据” 和 “过程” 集成到被称为 “对象” 的结构中,消除了数据和过程的人为分离现象。面向对象建模方法所创建的模型被称为对象模型。随着面向对象技术的不断发展和应用,形成了面向对象的建模标准,即UML(统一建模语言)。UML定义了几种不同类型的模型图,这些模型图以对象的形式共建一个信息系统或应用系统,是目前比较常用的建模方法。
二、软件系统设计
1、人机界面设计(黄金三法则)
(1)置于用户控制之下(2)减少用户记忆负担(3)保持界面一致性
2、结构化设计
(1)概要设计【外部设计】:功能需求分配给软件模块,确定每个模块的功能和调用关系,形成模块结构图。
(2)详细设计【内部设计】:为每个具体任务选择适当的技术手段和处理方法。
结构化设计的原则:
(1)模块独立性原则(高内聚、低耦合)
(2)保持模块的大小适中
(3)多扇入,少扇出
(4)深度和宽度均不宜过高
结构化设计(内聚):
结构化设计(耦合):
模块的四个要素:
(1)输入和输出:模块的输入来源和输出去向都是同一个调用者,即一个模块从调用者那儿取得输入,进行加工后再把输出返回给调用者。
(2)处理功能:指模块把输入转换成输出所做的工作。
(3)内部数据:指仅供该模块本身引用的数据。
(4)程序代码:指用来实现模块功能的程序。
3、面向对象设计
面向对象基本过程:
类的分类:
(1)边界类
· API接口:机器接口
· 用户界面:人机交互
例:显示屏、窗体、打印机接口、通信协议、对话框、菜单、购物车、报表、二维码
(2)控制类
· 应用逻辑、业务逻辑、数据访问逻辑
例:身份验证器
(3)实体类
· 数据
例:学院类、课程类
面向对象设计原则:
(1)单一职责原则:设计目的单一的类。
(2)开发-封闭原则:对扩展开放,对修改封闭。
(3)李氏(Liskov)替换原则:子类可以替换父类。
(4)依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程。
(5)接口隔离原则:使用多个专门的接口比使用单一的总接口要好。
(6)组合重用原则:要尽量使用组合,而不是继承关系达到重用目的。
(7)迪米特(Demeter)原则(最少知识原则):一个对象对其他对象有尽可能少的了解。