结构化分析与设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统投入运行后,必须进行修正、优化和版本升级等维护。
2)面向对象开发方法(OO:Object Oriented)
▽ 定义问题 即需求分析和确定系统目标。
▽ 分析问题 识别对象及其行为、结构、属性和适用的方法。称面向对
象分析(OOA)。 ▽ 设计问题
通过抽象、归纳、整理,最后确定对象的范式(OOD)。 ▽ 程序实现
数据文件
(6)文件匹配
文件A
文件B
处理关键字 相同的记录
匹配文件
(7)文件抽取
被抽取的 文件
文件抽取
抽取的文件
(9)模型调用 输入的数据
决策模型
模型调用
(8)文件转储(复制)
条件键(项)
被转储的 文件
文件转储
磁盘文件
磁带文件
决策信息
3.2 实时处理方式与批处理方式
实时处理方式 主要处理过程面向事务,且希望立即完成。
▽ 系统分析
描述和分析现行系统流程,明确新系统的具体目标和逻 辑功能。阶段成果:数据流图、数据字典和系统逻辑设计说 明书。
▽ 系统设计
物理上实现上一阶段的逻辑功能,其说明书由模块结构 图、输入/出报表和文档组成。
▽ 系统实施 程序的编调、人员培训、数据转换,以及设备的购置、安
装和调试,系统测试和转换。 ▽ 系统维护
结构化分析与设计技术
(SADT:Structured Analysis and Design Technologies)
1. 软件开发方法
1)结构化开发方法 这是迄今为止应用最普遍和最成熟的开发方法。
▽ 系统规划
对软件系统的环境、目标、现行系统的状况进行初步调 查和初步的可行性分析。阶段成果:新系统总体目标及实施 方案组成的系统开发任务书。
开发原型系统
运行原型系统
与用户需求 是否一致?
修改原型
交付用户使用
源自文库
4)计算机辅助软件工程
(CASE:Computer Aided Software Engineering) 为具体的开发方法提供支持每一过程的专门工具,它集图
形处理技术、程序生成技术、关系数据库技术和各类开发工具 于一体。如在结构化开发中,CASE完成:
① 列出计算机处理的基本作业; ② 根据功能聚合原则,将所有的基本作业归类成若干群,并给 每个群命名; ③ 逐层向上。 注意: ① 所谓基本作业是指不可再分解的作业; ② 它为计算机化系统业务流程中的处理框中内容; ③ 在同一个职能子系统内,命名不可重复; ④ 一个群的命名为该群中作业的抽象。
更新库存台账
可供货 订单
备货单
发给仓库
发给采购部 来自采购部
3. 数据处理的技术和方式 3.1 技术
(1)数据输入
数据录入
原始记录
(2)文件更新 数据录入
更新数据
数据文件
中间文件
(3)文件合并
文件A
文件合并
文件更新 文件B
主文件
文件C
(4)文件排序 未排序文件 文件排序 已排序文件
(5)文件检索 关键字 查找记录 记 录
用面向对象的程序设计语言实现范式形式的对象(OOP)。
大型的或复杂的软件系统,不经过自顶向下的系统分析,就 采用OO法自底向上开发,会造成系统结构不合理,子系统之 间不协调等问题。
3)原型法(Prototyping)
基于对用户需求的理解,快速实现一个原型系统,然后反 复修改来实现软件系统。
理解用户需求
因为,提供信息的目的是使目标系统更有效地运行, 所以,需求的信息应来自目标系统的各种活动。 4)从正在形成的系统实验中获取。
2.2 现行系统业务流程 2.4.1 调查的内容 1)系统的界限; 2)组织机构人员分工; 3)业务流程; 4)各种单据、报表、账册及其生成与处理; 5)现有资源; 6)约束条件。 2.4.2 现行系统业务流程图(英国,NCC标准)
销售统计 采购价格 职工雇佣 库存更新
事务登录
数据确认
合法性参数 非法事务
记录 更正记录 合法性事务
文件
更新主文件
主文件
合法性: ①遗漏的数据项; ②数据项的长度; ③数据的成分及类型; ④合理范围测试; ⑤与存储数据比较。
已更正 记录
4. 结构化系统分析
(又称:概要设计和逻辑设计)
4.1 “自底向上”的系统功能层次结构分析 按以下步骤获取系统功能得直观目录:
在该笔记中,部分相关图符如下。
订单
库存台账
校验订单
备货单
进货 通知单
客户档案
缺货订单 留底
修改库存 开备货单
客户
订单
校验订单
不合格 订单 合格 订单
查阅库存
库存台账
可供货 订单
修改库存
开备货单
客户档案
订单留底 (已处理)
缺货订单 留底
缺货统计
缺货 统计表
进货 通知单
进-缺货配对
扣除缺 货的进 货清单
各种处理: 名词+动词,或 动词+名词
各种账册,或 票据留底
各种票据,或 清单和报表
环境
系统内部,或 系统与环境之 间的输入/出
案例:销售办公室的现行业务流程的调查笔记如下。
接受顾客订单,校验订单,将不合格订单退回顾客。校验过 程中查阅库存记录,将缺货订单和可供货订单分开。对于缺货项 目列出缺货统计表交采购办公室,并保存缺货订单待到货后处理; 对于可供货订单进行库存修改和开备货单交仓库。当收到进货通 知单后,修改库存记录和处理缺货订单,并填写原先缺货但现在 可供货的备货单交给仓库,将已处理的缺货订单存档保存。在填 写备货单时,均要参考和更新顾客档案。
▼目的地 ▼开车时间 ▼票数
录入 确认
车次 检索
▼目的地 ▼发车时间 ▼票价
修改售票 主文件
打印 车票
售票 登录
旅客
更正要求
售票主文件
车票
售票更新
车次座位 文件
车次调整 数据文件
目的地-乘坐率 统计
车次乘坐率 文件
车次优化调整
售票事务文件
窗口当班 售票款统计
窗口售票 款总额
财会室
(2) 批处理
按一定时间间隔 (日、月、旬等), 将要处理的数据积累 成批后,一次输入计 算机进行处理。如工 资处理和缺货处理等。
业务流程分析→数据流程分析→功能模块设计→程序实现。
在面向对象开发中,CASE完成: 问题抽象→属性、结构和方法定义→对象分类→确定范式的程 序实现。
注意,CASE只能提供一种方便,不能取代开发者的分析和 设计的技能
2. 业务流程图
2.1 信息需求 为什么信息需求难以确定? 1)人作为信息处理器的局限性; 2)信息需求的多样性和复杂性; 3)用户与系统分析员相互作用的复杂方式; 4)用户不愿意提供信息。 如何评价和确定信息需求? 1) 询问。 2)从现有的软件系统推导。 3)从应用系统的特性中综合:
相关文档
最新文档