软件工程
电子教案
王树林
一、需求分析的基本概念:
软件的计划时期只是完成了软件开发项目
立项阶段的全部工作。
1,需求分析的任务:,系统必须作什么?”
(1) 充分地理解和表达用户需求
(2) 确定软件系统的主要成分或软件系统
的构成。 (SA方法 )
(3) 编制,需求规格说明书”
编制作用 ?提供用户和开发者对软件开
发的共同理解
?技术合同
?设计的基本依据
?确认和验收的基准
此几项之外的工作
(1) 编写用户手册概要
(2) 编写验收测试计划
(3) 修正软件项目开发计划
2,需求分析步骤:
(1) 用户需求调查
(2) 分析用户需求
(3) 编写需求定义说明
(4) 系统分析导出系统构成 (逻辑模型 )
(5) 需求定义和系统分析完善吗?
(6) 编写需求规格说明书
(7) 评审



3,软件需求规格说明书:
(1) 概述
(2) 数据描述:
?数据流图
?数据字典
?系统接口说明
?内部接口说明
(3) 功能描述:
?功能
?处理说明
?设计的限制
(4) 性能描述:
?性能指标
?测试种类
?预期的软件的响应性能
?其他
(5) 参考文献目录
(6) 附录
软件需求文档的生成方法:
(1) 计算机辅助生成
RSL (需求陈述语言 )
PSL/PSA (问题陈述语言 /问题陈述分析程序 )
(2) 手工与半手工方式
二、结构化分析方法:
SD(Structured Designed)
特点,?自顶向下逐层分解 (核心 )
?描述方式直观
1,自顶向下逐层分解:
基本手段:抽象概括 ? 精细分解
这是目前使用得最为广泛的方法,是由美国
Yourdon 公司提出的。
SA(Structured Analysis)
S
S1 S
2
S3
S4 S5
S4.1 S4.2
S4.3
S5.1 S5.2
S5.3 S5.4
2,描述方式:介于形式语言和自然语言之间
结果 (1) 一套分层的数据流图
(2) 一本数据词典
(3) 一组小说明
3,SA导出逻辑模型的步骤:
(1) 获得当前系统的实际模型,抽象出系统
逻辑模型
(2) 分析和比较目标系统与逻辑系统的差别
(3) 补充和优货逻辑模型
三、数据流图, DFD(Data Flow Diagram)
是描绘信息在软件系统中流动和处理情
况的图形工具
作用,?对系统的分析手段;
?描述系统的组成结构
1,数据流图的构成:
(1) 数据流,?
表示数据的流向。
?流向
?数据组成
?名称
注意:数据流总是从加工 (数据源 /条件 )出发
或流向加工 (数据源 /文件 )
(2) 数据处理 (加工,变换 ):
是对数据流进行某种操作或变换。
(3) 信息存储 (文件 ):
指暂时存储的数据,而不是存储器等
物理介质。
(4) 数据源 (数据池 ):
统称为外部项,不是必须的。
例:某仓库的业务工作流程如下:车间职工填
写领料单,经车间主任审查后签名,然后
职工凭领料单领料,仓库保管员审查领料
单是否签名,不正确退回职工,正确则领
料并修改库存清单。当库存量低于临界值
时,则为采购部门提供订货单。
职工 仓库系统 采购员
订货单领料单
职 工
1.1
填写
领料单
库存清单
2.2
更新库
存清单
2.3
处理订货
3
产生
订货单
订货信息
1.2
审查
并签名
2.1
编辑有效
领料单
采购员
零件清单
A B C
已填的
领料单
有效的
领料单
库存
信息
订货单
不合法的领料单
合法的领料单
A,领料单准备系统。 (可用人工实现,
也可用网络实现 )
B,仓库管理系统。 (联机实时 )
C,订货单产生系统
2,怎样画数据流图:
(1) 原则:
?理解并模拟现行系统的处理过程。
(可能是人工的 )
?自顶向下地分层画出各层数据流图。
(2) 引入概念:
?父图与子图:
?编号:
父图是子图的抽象表示。
子图是父图的精细化。
原则:以其父图中相应加工的编号作为
该图的编号。
?局部文件:
(3) 数据流图的改进:
?数据流的遗漏和冗余。
?父图与子图的平衡。
?简化加工间的联系,提高 DFD可理解性。
?加工分解的均匀性。
四、数据词典
数据词典是关于对数据流图中包含
的所有元素的定义的集合。
1,数据词典的内容:
(1) 数据流条目:
?标识
?数据组成
?流动属性
给出 DFD图中某个数据流的定义。
简述,职工到仓库领料时的单据
数据流来源:职工
数据流去向:数据处理,编辑领料单”
数据流流量,100份 /天
高峰期流量:上午 9, 00 ~ 11,00 60份
数据流组成:零件名称
零件编号
数量
领料人姓名
车间主任
例:数据流名称:领料单
(2) 文件条目:
?文件标识
?记录组成
是对某个文件的定义。
简述,包括仓库中所有零件的信息
组成,零件名称
零件编号
制造厂家
单价
库存量
临界库存量
文件的组织:按零件编号递增排序。
例:文件名称:库存清单
(3) 数据项条目:
?标识
?属性描述
所谓数据项是指不可再分解的数据单位。
简述,学生报到注册日期
组成,年


值类型,6
取值范围,(略 )
例:数据项名称:开学日期
(4) 加工条目,(此处略 )
2,数据的定义方法:
(1) 顺序
(2) 选择
(3) 重复
(4) 可选:
符号,=,+,[ ·| ·| ·],{ },( )
例,?存款单 = 帐号 + 户名 + 金额 + 日期
61?领料单 = {零件名称 + 零件编号 + 数量 }
?考试成绩 = [ 5 | 4 | 3 | 2]
301?学生成绩单= 班级 + 课程 +{姓名 + 成绩 }
五、数据处理的描述方法:
1,数据处理的描述:
?标识
?处理逻辑
?激发条件
?优先级
对数据处理的描述是结构化分析 SA的关键。
例:加工名,更新库存清单
零件名,库存量 = 零件名, 库存量-
领料单, 零件名, 数量
如果 零件名, 库存量 < 零件名, 临界量
那么 订货信息, 零件名, 订货量 = 100
编号,2.2
处理逻辑:对领料单上每一零件,作:
激发条件:接收到合法领料单时
优先级,普通
输入,合法领料单
输出,订货信息,零件名, 订货量
执行频率,100次 / 天
2,结构化语言:
(1) 顺序语句
(2) 选择语句
(3) 重复语句
3,制定表,(决策表 )
主要适用于根据多条件的多种组合情况,
决定采取何种行动,并要描述这种标准。
例:如果不满 18岁, 文化程度是大学, 若是
男性, 则一律要考研;若是女性, 则分
配到办公室;如果满 18岁不满 50岁, 文
化程度是研究生, 不分男女, 均任课题
组长;文化程度是大学, 则担任中层领
导, 如果 50岁以上, 文化程度是研究生,
若是男性, 则课题组长;文化程度是大
学, 若是男性, 则任科研人员, 若是女
性, 则任资料员 。
4,判定树,(略 )
5,三种描述方法的比较:
(1) 机器可读性:判定表和结构化语言好。
(2) 描述的直观性:判定树最好。
(3) 逻辑验证和优化决策能力:判定表的
决策效率最高。
6,需求分析阶段的其他工作:
(1) 确定软件开发的约束条件。
(2) 编制确认测试计划。
(3) 编写初步的用户手册。
(4) 审查需求规格说明书。