第七章 系统分析和设计方法
一 定义问题和归结模型
问题分析
1.在问题定义上达成共识,UP包括下列要素: 问题概述,影响,结果,优点
2.理解问题的本质 方法: 因果鱼骨图 帕累托图
3.确定项目干系人和用户
4.定义系统的边界? 两种方法,一种是结构化分析中的"上下文范围图",一种是面向对象分析的"用例模型"
5.确定系统实现的约束
?
问题定义
1.目标
2.功能需求
3.非功能需求
?
二 需求分析和软件设计
需求分析
任务: 确定待开发软件的功能,性能,数据 界面
实现步骤:? 获取当前系统的物理模型, 抽象出当前系统的逻辑模型 建立目标系统的逻辑模型
工作:
1.问题识别
2.分析和综合 方法: SA , Jackson, OOA , Petri? 状态迁移图? PDOA
3.编制需求分析的文档
4.需求分析和评审
?
需求工程
需求开发
需求管理
?
软件设计
两个阶段: 概要设计 详细设计
设计方法:
结构化设计: Jackson? Parnas
面向对象
?
?
三 结构化分析和设计
?结构化分析方法: 强烈的依赖数据流图的自顶向下的建模方法
?面向数据流
?基本思想: 自顶向下,逐层分解?
?把系统看成一个过程的集合体,包括人完成的和电脑完成的
?特点: ?利用数据流图来帮助人们理解问题,对问题进行分析
?
工具: 数据流图 数据字典 结构化语言 判定表 判定树
?
结构化分析的工作步骤:
1.研究物质环境
2.建立系统逻辑模型
3.划清人机界限
?
结构化设计方法:
?面向数据流
?体系结构设计,接口设计,数据设计,过程设计
?概要设计: 设计软件的架构,确定系统由哪些模块组成,以及模块之间的关系
??? ?结构图,层次图,HIPO图
?
?详细设计:
?????? 程序流程图,盒图,PAD图,PDL图?
?
? 模块设计
?最重要的原则: 信息隐蔽,模块独立
?
?
四 面向对象的分析和设计
面向对象分析:
?
面向对象设计:
用户界面设计
黄金法则:
1.置用户于控制之下
2.减少用户的记忆负担
3.保持界面的一致
?
用户熟悉,意外最小化,可恢复性,用户指南,用户差异性
?
设计过程:
1.用户,任务和环境分析
2.界面设计
3.实现 : 原型工具
4.界面确认
?
?
网络环境下的计算机应用系统的设计
考虑的问题:
1.通信方式和应用协议
2.可靠性
3.网络拥挤
4.安全性
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?????
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?