一 定义问题和归结模型
问题分析
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.安全性