结构化分析:理解用户需求与工资支付系统数据流图

需积分: 43 1 下载量 172 浏览量 更新于2024-08-23 1 收藏 1.25MB PPT 举报
"补充后的工资支付系统数据流图-第3章 结构化分析" 在软件工程中,结构化分析(Structured Analysis, SA)是一种常用的需求分析方法,它旨在清晰、系统地理解用户的需求,为后续的设计和编码阶段提供坚实的基础。本章内容围绕结构化分析展开,特别关注其在工资支付系统中的应用,通过补充数据存储和增加新的处理来完善系统。 3.2 与用户通信的技术是需求获取的关键,这包括访谈、问卷调查、观察和工作研讨会等手段,确保开发团队能够准确理解工资支付系统的目标用户——例如人力资源部门和财务部门——的具体需求和期望。 3.3 分析建模与规格说明是结构化分析的核心部分。数据流图(Data Flow Diagram, DFD)被用来描绘系统中信息的流动,如在工资支付过程中,从输入员工信息到计算工资、扣除税款和生成报表等步骤。此外,还需要编写详细的规格说明书,明确每个处理过程的功能和约束。 3.4 实体-关系图(Entity-Relationship Diagram, ERD)用于描述数据模型,它展示了工资支付系统中的实体(如员工、部门、工资等级等)及其相互关系,帮助设计数据库结构。 3.5 数据流图进一步细化了信息在系统内部的流转。在工资支付系统中,可能包括“员工数据”、“薪酬计算”、“税务处理”和“工资单生成”等数据流,这些流图帮助识别出系统的关键组件和接口。 3.6 状态转换图(State Transition Diagram, STD)用于描述系统中对象的状态变化,比如员工的雇佣状态(全职、兼职、离职等)以及相应状态间的转移条件。 3.7 数据字典(Data Dictionary, DD)是对数据流图中所有数据元素的详细定义,包括数据项的名称、类型、格式、来源及用途等,确保数据的一致性和准确性。 3.8 结构化分析实例通常会包含一个具体的案例研究,如工资支付系统的案例,详细展示如何应用上述工具和技术来构建一个满足用户需求的模型。 举例来说,如果在工资支付系统中发现需求不完整或需求与规格说明不一致,可能会导致项目失败。1994年Standish小组的研究表明,需求问题占项目失败原因的相当比例。因此,对如工资支付系统这样的关键业务流程进行彻底的结构化分析至关重要,以避免潜在的问题并提高软件项目的成功率。例如,Ariane-5火箭的灾难性事件就揭示了系统设计中的严重缺陷,强调了需求分析和规格说明的重要性。