软件工程版结构化分析与设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据流
实体 (数据源点或
数据终点)
DFD图的基本符号
数据存储 (数据文件 或数据库)
12
软件工程
结构化分析与设计
A1
A2
*
B
…*
An
数据A1,A2,…An同时输入才能变 换成数据B.
B1
A
*
B2
*…
Bm
数据A变换成数据 B1,B2,…,Bm.
A1
A2 +
B
…+
An
数据A1,A2,…,An中至少有一个输 入就能变换成数据B.
✓数据流是一组成分固定的数据组成的。每一个数据流 必须有一个合适的名字。为数据流命名时,可以从其组 成成分或含义角度来考虑。
✓数据流可以从过程流向过程,从过程流向数据存储或 从数据存储流向过程,也可以数据源点流向过程或从过 程流向数据终点,两个过程之间可以有几股数据流。
账目 取款单
检查 取款 单合 理性
✓每个过程一般有一个编号,编号说明该处理在层次分 解中的位置。
主要内容
1. 绪论 2. 软件生存周期与软件过程 3. 结构化分析与设计 4. 面向对象与UML 5. 需求工程与需求分析 6. 面向对象分析 7. 面向对象设计 8. 编码与测试 9. 软件维护 10. 软件复用 11. 软件工程管理
1
软件工程
结构化分析与设计
提出
➢20世纪70年代中期,Stevens、Myers与Constantine等人 在结构化程序设计的基础上,倡导结构化设计(Structured Design, SD)技术。
➢软件设计指导思想:分解和细化是软件设计阶段的指 导思想。
4
软件工程
结构化分析与设计
结构化分析模型组成
信息模型
数 据
加 工
对 象 描 述
体 关
系 图
实
数据 词典
数
据
流 图
规
格 说 明
功能模型
状态转换图 控 制规 格说 明
行为模型
5
软件工程
结构化分析与设计
➢结构化分析模型
✓数据流图(Data Flow Diagram, DFD):主要作用是指 明系统中的数据是如何流动和变换的,以及描述使数据 流进行变换的功能。在DFD中出现的每个功能,可在 加工规格说明中描述,它们一起构成了软件的功能模型。
结构化分析与设计
➢步骤1:通过对现实环境的调查研究,获取当前系统的 具体模型。
购书
学 申请
生
张
购书 证明
秘
书
王 会 计
购书 发票
李 出
领书 单
纳
赵 保 管
书学 生
学生购买教材的具体模型
8
软件工程
结构化分析与设计
➢步骤2:分析需求,建立系统分析模型,包括当前系统 模型和目标系统模型。
✓去掉具体模型中的非本质因素,提炼出当前系统的逻辑 模型。
✓复审需求说明,补充迄今尚未考虑过的细节,例如系统的响 应时间、增加出错处理等。
学 购书单 生
无效购
审查 并开 发票
发票
书单
开 领 书 单
领书单 学 生
改进的计算机售书系统的逻辑模型
11
软件工程
结构化分析与设计
数据流图(DFD)
➢数据流图:数据流图是用来刻画数据流和加工的信息 系统建模技术。
加工/过程
B1
A
+
B2
+…
Bm
数据A变换成数据 B1,B2,…,Bm中的任意组合
A1
A2
B
…Hale Waihona Puke Baidu
An
数据A1,A2,…,An中有且仅有一个 输入就能变换成数据B.
B1
A
B2
…
Bm
数据A变换成数据B1,B2,…,Bm 中的一个,但不能同时有两个 或两个以上
DFD图的扩展符号
13
软件工程
结构化分析与设计
➢数据流(Data Flow):表示数据元素的运动方向。
购书
学单
生
审 有效 查 购书 有单 效 性
开 发 票
开 领书 发票 领 单
书 单
发 书
书学 生
学生购买教材的逻辑模型
9
软件工程
结构化分析与设计
✓分析当前系统与目标系统的差别,建立目标系统的逻辑 模型。
目标系统是一个使用计算机的系统。一般来说, 它的功能比当前现行业务系统更强,不必也不应
该完全模拟现行系统!
6
软件工程
结构化分析与设计
➢实例:教材购销系统 从用户调查中了解到,某高校向学生销售教材的手续是: ✓先由院办公室的张秘书开一购书证明; ✓学生凭证明找教材科的王会计开购书发票; ✓向李出纳交付书款; ✓然后到书库找赵保管领书。
将上述手工操作流程改为计算机处理流程,开发一个“教材 销售系统”。
7
软件工程
✓实体联系图(Entity Relation Diagram, E-R图):用于 描述数据对象间的关系,它代表了软件的信息模型,在 实体联系图中出现的每个数据对象的属性,可用数据对 象说明描述。
✓状态转换图(State Transformation Diagram, STD): 用于指明系统在外部事件的作用下将如何行动,表明系 统的各种状态以及状态间的变换,从而构成行为模型。
学 购书单 生
审查 并开 发票
发票
开
领 领书单 发 书 学
书
书
生
单
计算机售书系统的逻辑模型
10
软件工程
结构化分析与设计
➢步骤3:整理综合需求,编写软件需求说明。
➢步骤4:验证需求,完善和补充目标系统的描述。
✓通过目标系统的人-机界面,与用户一起确认目标系统功能, 并且确定哪些功能交给计算机去做,哪些功能由人工完成。
合理取 款单
不合理 取款单
14
生产日报
生 产+
生产统计
统
报表
计
软件工程
生产月报
结构化分析与设计
➢过程/加工(Process):表示系统要执行的一个功能。
✓过程是对数据进行的操作,如果把数据流比喻为工厂 的传送带,则过程就好像工厂里的加工工序。
✓每个过程都要有一个确定的名称来命名,名称的选取 要能够反映过程的主要功能。
➢70年代后期,Yourdon等人倡导了与SD配套的结构化分析 (Structured Analysis, SA)技术,合称为结构化分析与设计 方法。
➢结构分析与设计方法是瀑布模型的首次实践。
2
软件工程
结构化分析与设计
结构化分析任务
➢建立分析模型。SA模型是描述软件需求的一组模型, 主要包括功能模型、数据模型和行为模型。
➢编写需求规格说明书。SRS是分析阶段编写的以文字 为主的文档,主要内容包括:引言、信息描述、功能描述、 行为描述、质量保证、接口描述以及其他需求等。
➢结构化分析的指导思想。抽象与分解时结构化分析的 主要指导思想。
3
软件工程
结构化分析与设计
结构化设计任务
➢软件设计=总体设计+详细设计。总体设计的任务是把 分析模型中的数据流图(DFD图)转换为软件结构图(SC 图),详细设计阶段的任务是对SC中的各个模块进行算 法和数据结构设计。