结构化设计案例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 通过向财务人员多次询问,小王了解到现有的人工系统 计算工资和编制报表的流程。 • 现在,小王已经用一张系统流程图(图2.20)描绘了现 有的工资支付系统。但是,这张图对现有系统的描绘准 确吗?小王已经把工资支付系统的所有关键功能都划分 出来了吗?小王应该请有关人员仔细审查这张系统流程 图,有错误就应该改正,有遗漏就应该补充。 • 和现有的物理系统相联系的一个问题是,常常很难区分 “做什么”和“怎样做”这两类不同范畴的知识。因此, 下一步应该导出工资支付系统的高层逻辑模型。
4. 进一步确定系统规模和目标
可行性研究的上述4个步骤可以看作是一个循环。分析员 定义问题,分析这个问题,导出试探性的逻辑模型,在此基 础上再次定义问题,……重复这个循环直至得出准确的逻辑 模型为止,然后分析员可以开始考虑实现这个系统的方案。
5. 导出供选择的解法

现在小王对用户的问题已经有了比较深入的理解,但是, 问题能够解决吗?有行得通的解决办法吗?回答这些问题的 惟一方法是,导出一些供选择的解决办法,并且分析这些解 法的可行性。 • 怎样导出供选择的解法呢?一个常用的简单方法是从数据 流图(见图2.21)出发,假设几种划分自动化边界的模式, 并且为每种模式设想一个系统。例如,可以把“收集数据” 和“审核数据”两个处理放在同一个边界内,从而意味着一 个数据收集程序;对事务数据的处理放在另外的边界内,因 此代表另一个程序。或者考虑把“审核数据”和“加工事务 数据”放在同一个自动化边界内,这可能意味着一个批处理 程序,它首先校核数据然后加工数据。总之,每当分析员选 取一组不同的自动化边界时,就可能意味着一种不同的解法。
中等成本方案的成本/效益分析
开发成本 人力(4人月,8000元/人月) 购买硬件 总计 新系统的运行费用 人力和物资(250元/月) 维护 总计 0.3万元/年 0.1万元/年 0.4万元/年 3.2万元 1.0万元 4.2万元
现有系统的运行费用
2.4万元/年
每年节省的费用
2.0万元
年 1 2 3
关于系统规模和目标的报告书并没有标准格式, 它的具体格式往往随项目而异。书写这份文档的 基本原则是,分析员应该尽可能简明清晰地叙述 他对问题的理解。
1. 澄清系统规模和目标
• 在问题定义阶段确定的系统规模和目标准确到什么 程度呢?校长和财务科实际需要什么样的系统呢?分 析员在进行可行性研究时首先应该进一步澄清问题定 义,为此需要进行一系列调查访问。 • 最后,小王应该做一些必要的准备工作。需要他研 究解决的是工资支付问题,工资支付有它自己的专门 术语和专门知识。分析员在分析一个问题之前,必须 学习了解一些这个应用领域的基本知识。学习的目的 不是要变成一个工资支付问题专家,只是要获得对这 个应用领域的基本了解。
• 现在小王对需要解决的问题和新系统的规模都有了一 些认识,是否会计们心中也是这样想的呢?小王会不 会误解了问题的某些方面呢?肯定会有误解的地方! 对错误问题的解答即使再圆满又有什么价值呢?!如 果小王对问题的认识与会计或校长的认识不一致,那 么他无论怎样努力也开发不出能解决实际问题的系统。 一个系统,甚至一个“好”系统,如果不能解决实际 问题,那么它就是一文不值的,只不过是白白浪费开 发资源和经费。因此,在系统生命周期的这个早期阶 段,小王清晰地表达出他对问题的认识并请用户和领 导审查、纠正他的认识,是极其重要的。典型地,用 一个简单的书面备忘录表达分析员对问题的认识,这 份文档称为“关于系统规模和目标的报告书”
现有的工资支付系统Baidu Nhomakorabea
3. 导出高层逻辑模型
• 系统流程图是描绘物理系统的好方法,然而有时可能因 为图中符号表达的含义过分具体反而不符合需要。例如, 图2.20中梯形框代表人工完成的数据处理功能。但是,我 们的目标并不是一成不变地复制现有的人工系统,而是开 发一个用计算机完成同样功能的新系统。因此,小王希望 用另一种方式总结从现有系统中获得的知识,不是准确地 描绘具体的实现方法,而是着重描绘系统的逻辑功能。数 据流图是实现这个目标的极好工具。 • 怎样得出系统的数据流图呢?首先应该找出构成数据流 图的四种基本元素(数据流的源点或终点,处理,数据流, 数据存储),第二步是把找出的四种基本元素组合成数据 流图。
关于工资支付系统规模和目标的报告书
关于系统规模和目标的报告书 2002.12.26 项目名称:工资支付。 问题:目前计算工资和编制报表的费用太高。 项目目标:研究开发费用较低的新工资支付系统的可能性。 项目规模:开发成本应该不超过7.2万元(±50%)。 初步设想:用学校自己的计算机系统生成工资明细表和财务报 表。 可行性研究:为了全面地研究工资支付项目的可能性,建议进 行大约历时两周的可行性研究。这个研究的成本不超过4000元。

任何数据处理系统的基本功能,都是把输入数据转变成需要的输出 信息。数据决定了处理和算法,看来数据应该是分析工作的出发点。在 可行性研究阶段,由于不需要了解太多细节,因此忽略了大部分实际的 数据元素,现在是定义这些数据元素的时候了。
为了每年节省2.4万元,投资多少钱是可 以接受的呢?绝大多数单位都希望在三年 内收回投资,因此,对于这个项目来说, 7.2万元开发成本可能是一个合理的上限 值。虽然这是一个很粗略的数字,但是它 确实能使得用户对项目规模有一些了解。 如果这项工作不能在7.2万元之内完成, 那么它可能是不值得做的。
2. 关于系统规模和目标的报告书

在上述设想供选择的解法的过程中,分析员首先考虑的是 技术上的可行性。不能在现有硬件上实现的或与这个应用 有定时冲突的方案都不需要考虑。显然,技术上不可能实 现的方案是没有意义的。但是,技术可行性只是必须考虑 的一个方面,还必须能同时通过其他检验,一种解决方案 才可以说是可行的。 • 另一个必须考虑的关键问题是操作可行性。 • 最后,必须考虑经济可行性问题,即“效益大于成本吗?”
• 6. 推荐最佳方案 • 7. 草拟开发计划 • 小王下一步应该做的工作,是为所推荐的方案草拟一份 开发计划。在这样非常早期的开发阶段,很难准确估计分 析、设计和实行的工资支付系统需要用的时间、人力和经 费,但是根据系统生命周期还是能够作出相对合理的估计 的。下面分别考虑生命周期的每个阶段。
• 8. 写出文档提交审查
处理工资事务的大致过程
小王的目标是了解图2.19中这个黑盒子(工资支付系统)的 内容。怎样达到这个目标呢?通常,从黑盒子的边缘开始了解 ,由表及里逐步深入。谁接收课时表和任务表?谁分发工资明 细表?对这些问题的回答能使小王知道一些处在黑盒子内部的 人员,显然这些人比小王对工资支付系统了解得更多,通过他 们可以了解到更多情况。上述做法虽然简单但却比较有效,概 括地说,就是从你已经知道的事物开始,访问处在你所知道的 事物边缘的人,通过他们了解边缘功能,并请他们建议下一步 应了解的事物。这样逐步做下去,将使得你对现有系统了解得 越来越多。
软件工程案例
结构化分析实例(工资支付问题定义)
一天,学校的财务科长把小王找去,请 他研究用学校自己的微型计算机生成工 资明细表和各种财务报表的可能性。
1. 定义问题的过程
显然,需要考虑的具体技术问题很多,但是在这样的早 期阶段就考虑这么具体的技术问题,却很可能会使我们 迷失前进的方向。会计部门(用户)并没有要求小王在 学校自己的计算机上实现工资支付系统,仅仅要求他研 究这种可能性。后者是一个非常重要的然而和前者又很 不相同的问题,它实际上是问,在自己的计算机上实现 工资支付系统,预期将获得的经济效益能超过开发这个 系统的成本吗?换句话说,这项工作值得做吗?
2. 研究现有的系统
• 了解任何应用领域最快速有效的方法,可能都是研究 现有的系统。但是,分析员应该记住,研究现有系统的 目的只是了解它,用它作为开发新系统的借鉴,千万不 要被实现现有系统的技术细节迷住而花费过多时间和精 力。 • 首先应该访问关键人员。怎样知道谁是关键人员呢? 以前访问财务科长时曾了解到两名具体处理工资事务的 会计的姓名,因此可以从访问这两个人入手。经过询问, 小王知道了处理工资事务的大致过程。在现阶段小王把 学校的工资支付系统还看作一个黑盒子,他用图2.19描 绘了处理工资支付事务的大致过程。
需求分析
• 需求分析在可行性研究的基础上进行,前一阶段产生的文 档,特别是数据流图(见图2.21),是这个阶段工作的出 发点。在需求分析阶段系统分析员将设计出更精确的数据 流图,此外还将写出数据字典,及一系列简明的算法描述。 这些文档是软件需求规格说明书的重要组成部分,而完整、 正确的规格说明书是需求分析阶段结束的标准,它总结了 分析员对目标系统的理解,经过用户和使用单位领导的审 查批准之后,将用来帮助设计实际的物理系统。 • 需求分析阶段的主要任务是更详尽地定义系统应该完成的 每一个逻辑功能。分析员怎样完成这个任务呢?
• 优秀的系统分析员还应该进一步考虑, 我们所面临的问题究竟是什么。财务科 长为什么要求他研究在自己的计算机上 实现工资支付系统的可能性呢?
虽然知道了目前用人工计算工资所需的成本, 但是在这样的早期阶段,小王对新系统的运行 费用和开发成本却只能猜测。但是,规定未来 系统的规模却仍然是可能的。目前,每个月需 要由两名会计花费半个月的时间来计算工资和 编制报表,一名会计每个月的工资和岗位津贴 共约2000元,因此,每年为此项工作花费的人 工费约2.4万元。显然,任何新系统的运行费 用也不可能减少到小于零,因此,新系统每年 最多可能获得的经济效益是2.4万元。
投资回收期
纯收入


现在值(以5% 计算)
累计现在值 19047.62元 37229.44元 54470.82元
2.28年
20000元 20000元 20000元
19047.62元 18181.82元 17241.38元
12470.82元

为了回收上述投资,新系统必须能够节省开支。小王估计新 系统每月的使用费用是250元,即每年的使用费用大约是3000元, 此外,估计每年还需要维护费用1000元,因此总计每年的运行 费用是4000元。现有系统每年的运行费用是2.4万元,因此每年 可以节省2.0万元。表2.8总结了从这些基本数字出发进行的一 些经济分析的结果。分析结果告诉我们,3年内(实际是2.28年) 可以收回全部投资,3年中纯收入约为12471元。看来中等成本 的解决方案是很合理的,经济上是可行的。 • 最后,小王考虑一种成本更高的方案。
根据表2.7中列出的基本元素,可以画出工资支付系统的数据流图。
接口
图2.21 工资支付系统的数据流图

注意,从“加工事务数据”处理框流出的“报表”进入 另一个处理框“更新分类账”。对分类账的处理是另一个 系统的任务,但是,工资支付系统至少必须和这个系统通 信,因此搞清楚它们之间的接口要点是很重要的。 • 最后,分析员应该在数据流图上直接注明关键的定时假 设。在以后的系统设计过程中这些假设将起重要作用。清 楚地注明这些假设也可以增加及时发现并纠正误解的机会。 • 数据流图代表系统的逻辑模型。分析员可以借助数据流 图向用户和管理人员讲解他对系统的认识,并请他们补充 和纠正他的认识。在设计新系统的过程中,这个逻辑模型 也很有用。

分析员至少应该提出三种类型的解法供他们选择:低成 本的系统;能较好地完成任务的中等成本的系统;包含所有 可能需要的功能的高成本系统。此外分析员还应该考虑现有 的系统,它是一个正在工作着的系统,没有风险也不需要重 新投资。当然,它的运行费用看来太高了,但是,如果没有 其他问题,这个费用正是评价其他代替它的方案的标准。 • 这个中等成本的解决方案看来是现实的,因此小王完成 了完整的成本/效益分析,分析结果列在表2.8中。当然, 对于每个认真考虑过的解决办法,都应该完成类似的分析。 据估计,开发中等成本的工资支付系统大约需要一个人用4 个月时间才能完成,按每人每月的成本8000元计算,4个月 共需3.2万元,此外,购买硬件约需1万元,因此总成本是 4.2万元。
相关文档
最新文档