系统分析:一个系统到底要做什么
步骤:
1.认识当前环境,获取当前系统的物理模型
2.对物理模型抽象出当前系统的逻辑模型
3.对逻辑模型进行分析和优化,建立目标系统的逻辑模型
4.对目标系统的逻辑模型具体化(物理化),建立目标系统的物理模型
系统设计
基本原理:抽象、模块化、信息隐蔽、模块独立
内聚
偶然内聚:无直接关系
逻辑内聚:逻辑相似、参数决定
过程内聚:指定的过程顺序
通信内聚:相同数据结构、相同输入输出
顺序内聚:顺序执行、输入为输出
功能内聚:共同作用、缺一不可
耦合
无直接耦合:无直接关系
数据耦合:传递数据值调用
标记耦合:传递数据结构
外部耦合:软件外部环境
公共耦合:公共数据结构
内容耦合:模块内部关联
系统设计的主要目的是为了得到详细设计方案
步骤:概要设计和详细设计
1.概要设计基本任务:设计软件系统的总体结构、数据结构、数据库设计、编写概要设计文档、评审
2.详细设计的基本任务:模块内详细算法设计、模块内数据结构设计、数据库的物理设计、其他设计、编写详细设计说明书、评审
系统总体结构设计
子系统划分原则:子系统应该相互独立
webapp分析与设计
大部分webapp采用敏捷开发
五种需求模型:
内容模型、交互模型、功能模型、导航模型、配置模型(可以用uml部署图)
webapp设计:架构设计(MVC)、构建设计(内容和功能的聚合包)包括{构建级内容设计、构建级功能设计}、内容设计、导航设计
软件需求
六个阶段:获取需求、需求分析与协商、系统建模、需求规约、需求验证、需求管理
需求管理