1.软件需求包括:业务需求,用户需求,系统需求。其中系统需求包括技术需求的功能需求,非功能需求和设计约束。
2.需求获取:联合需求计划(JRP),即开会。用户访谈,获取领域知识。采样,进行数理统计。
3.结构化需求分析:自顶向下、逐步分解、面向数据。
4.数据字典DD:为数据流图中每个数据、文件加工以及对组成数据流或文件的数据项做说明。其组成部分有以下四类,数据流、数据项、数据存储和基本加工。加工逻辑,结构化语言、判定表和判定树。
5.需求定义:软件需求规格说明书SRS。
6.需求变更:变更控制委员会(CCB)对项目中任何基线工作产品变更都可以做决定。
7.流程表示工具:a.程序流程图,包含顺序、选择和循环结构;b.IPO图,可以对输入、输出和数据进行加工;c.N-S图,不适合于复杂程序设计;d.问题分析图(PAD),结构化程序设计。
8.业务流程重组BPR:根本性再思考和彻底性再设计,设计方式自顶向下,实现方式,自底向上。基本原则,以流程为中心,以人为本,以客户为导向。
9.系统设计:概要设计,形成软件模块结构图即系统结构图。详细设计,详细算法、数据结构、数据库物理设计等。基本原理,抽象化,自顶向下,逐步求精,多扇入,少扇出等。
10.耦合性与内聚性:
内聚性,
- 偶然内聚,无直接关系;
- 逻辑内聚,逻辑相似,聚合性关系由参数决定;
- 时间内聚,同时执行;
- 过程内聚,指定的过程顺序;
- 通信内聚,相同的数据结构、相同输入输出;
- 顺序内聚,前一个输出是下一个输入;
- 功能内聚,共同作用,缺一不可。
耦合性,
- 无直接耦合,无直接关系;
- 数据耦合,传递数据值调用;
- 标记耦合,传递数据结构;
- 控制耦合,控制变量、选择执行某一功能;
- 外部耦合,一样的软件外部环境;
- 公共耦合,一样的公共数据结构;
- 内容耦合,模块外部关联。
eg.系统设计的主要内容:概要设计和详细设计;系统总体结构设计的主要任务是将系统功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图。
11.人机界面设计三大黄金原则:置于用户控制之下;减少用户记忆负担;保持界面一致性。