结构化分析(案例补充)_第1页
结构化分析(案例补充)_第2页
结构化分析(案例补充)_第3页
结构化分析(案例补充)_第4页
结构化分析(案例补充)_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1

软件工程

SoftwareEngineering

2结构化分析案例补充3可行性分析研究步骤1.复查系统规模和目标2.研究目前正在使用的系统(系统流程图)3.导出新系统的高层逻辑模型(数据流图和数据字典)4.进一步定义问题5.导出和评价供选择的解法(可行性分析)6.推荐行动方针7.草拟开发计划8.书写文档提交审查4系统流程图系统流程图是描绘物理系统的传统工具。它表达系统中各个元素之间的信息流动的情况。系统流程图由一系列图形符号组成,这些符号在不同的文献中引用不一样。5系统流程图系统流程图的基本符号:6系统流程图符号7系统流程图库存清单系统的系统流程图:某企业有一个仓库,仓库中的各种物品的数量及各种物品库存量临界值等数据记录在库存文件上,当库房中物品数量有变化时,应更新库存文件。若某种物品的库存量少于库存临界值,则报告采购部门以便定货,规定每天向采购部门送一份定货报告。8成本-效益分析成本-效益分析的目的是从经济角度评价开发一个新的软件项目是否可行。成本-效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡。91.成本估计代码行定量估算方法任务分解技术估算成本。102.货币的时间价值F=P(1+i)nP:现在存入钱数i:年利率F:n年后能收入的钱数假设年利率为12%假设每年节省2500元,则每年节省的钱的现在价值:113.投资回收期投资回收期越短,获得利润就越快,则该项目就越值得开发。例如:某软件修改后,2年后可节省4225.12元,比最初的投资(5000元)还少774.88,第三年再节省1779.45元,则774.88/1779.45=0.44,因此,投资回收周期是2.44年。124.纯收入纯收入就是在整个生命周期之内的累计经济效益与投资之差。例如:上述软件修改后,工程的纯收入预计是:

9011.94-5000=4011.94(元)13工资支付系统分析案例—问题定义工资支付问题定义一天,学校的财务科长把小王找去,请他研究用学校自己的微型计算机生成工资明细表和各种财务报表的可能性。1.定义问题的过程显然,需要考虑的具体技术问题很多,但是在这样的早期阶段就考虑这么具体的技术问题,却很可能会使我们迷失前进的方向。会计部门(用户)并没有要求小王在学校自己的计算机上实现工资支付系统,仅仅要求他研究这种可能性。后者是一个非常重要的然而和前者又很不相同的问题,它实际上是问,在自己的计算机上实现工资支付系统,预期将获得的经济效益能超过开发这个系统的成本吗?换句话说,这项工作值得做吗?14工资支付系统分析案例—问题定义 优秀的系统分析员还应该进一步考虑,我们所面临的问题究竟是什么。财务科长为什么要求他研究在自己的计算机上实现工资支付系统的可能性呢? 虽然知道了目前用人工计算工资所需的成本,但是在这样的早期阶段,小王对新系统的运行费用和开发成本却只能猜测。但是,规定未来系统的规模却仍然是可能的。目前,每个月需要由两名会计花费半个月的时间来计算工资和编制报表,一名会计每个月的工资和岗位津贴共约2000元,因此,每年为此项工作花费的人工费约2.4万元。显然,任何新系统的运行费用也不可能减少到小于零,因此,新系统每年最多可能获得的经济效益是2.4万元。 为了每年节省2.4万元,投资多少钱是可以接受的呢?绝大多数单位都希望在三年内收回投资,因此,对于这个项目来说,7.2万元开发成本可能是一个合理的上限值。虽然这是一个很粗略的数字,但是它确实能使得用户对项目规模有一些了解。如果这项工作不能在7.2万元之内完成,那么它可能是不值得做的。152.关于系统规模和目标的报告书现在小王对需要解决的问题和新系统的规模都有了一些认识,是否会计们心中也是这样想的呢?小王会不会误解了问题的某些方面呢?肯定会有误解的地方!对错误问题的解答即使再圆满又有什么价值呢?!如果小王对问题的认识与会计或校长的认识不一致,那么他无论怎样努力也开发不出能解决实际问题的系统。一个系统,甚至一个“好”系统,如果不能解决实际问题,那么它就是一文不值的,只不过是白白浪费开发资源和经费。因此,在系统生命周期的这个早期阶段,小王清晰地表达出他对问题的认识并请用户和领导审查、纠正他的认识,是极其重要的。典型地,用一个简单的书面备忘录表达分析员对问题的认识,这份文档称为“关于系统规模和目标的报告书”。16表关于工资支付系统规模和目标的报告书关于系统规模和目标的报告书2002.12.26项目名称:工资支付问题:目前计算工资的编制报表的费用太高项目目标:研究开发费用较低的新工资支付系统的可能性。项目规模:开发成本应该不超过7.2万元(±50%)。初步设想:用学校自已的计算机第统生成工资明细表和财务报表。可行性研究:为了更全面地研究工资支付项目的可能性,建议进行大约历时两周的可行性研究。这个研究的成本不超过4000元。17关于系统规模和目标的报告书并没有标准格式,它的具体格式往往随项目而异。书写这份文档的基本原则是,分析员应该尽可能简明清晰地叙述他对问题的理解。

18工资支付系统分析案例—可行性研究本项目的可行性研究过程由下述8个步骤组成。1.复查系统规模和目标

2.研究现有的系统3.导出高层逻辑模型4.进一步确定系统规模和目标

5.导出供选择的解法6.推荐最佳方案7.草拟开发计划8.写出文档提交审查191.复查系统规模和目标在问题定义阶段确定的系统规模和目标准确到什么程度呢?校长和财务科实际需要什么样的系统呢?分析员在进行可行性研究时首先应该进一步澄清问题定义,为此需要进行一系列调查访问。最后,小王应该做一些必要的准备工作。需要他研究解决的是工资支付问题,工资支付有它自己的专门术语和专门知识。分析员在分析一个问题之前,必须学习了解一些这个应用领域的基本知识。学习的目的不是要变成一个工资支付问题专家,只是要获得对这个应用领域的基本了解。202.研究现有的系统了解任何应用领域最快速有效的方法,可能都是研究现有的系统。但是,分析员应该记住,研究现有系统的目的只是了解它,用它作为开发新系统的借鉴,千万不要被实现现有系统的技术细节迷住而花费过多时间和精力。首先应该访问关键人员。怎样知道谁是关键人员呢?以前访问财务科长时曾了解到两名具体处理工资事务的会计的姓名,因此可以从访问这两个人入手。经过询问,小王知道了处理工资事务的大致过程。在现阶段小王把学校的工资支付系统还看作一个黑盒子,他用图描绘了处理工资支付事务的大致过程。21图

处理工资事务的大致过程22小王的目标是了解图中这个黑盒子(工资支付系统)的内容。怎样达到这个目标呢?通常,从黑盒子的边缘开始了解,由表及里逐步深入。谁接收课时表和任务表?谁分发工资明细表?对这些问题的回答能使小王知道一些处在黑盒子内部的人员,显然这些人比小王对工资支付系统了解得更多,通过他们可以了解到更多情况。上述做法虽然简单但却比较有效,概括地说,就是从你已经知道的事物开始,访问处在你所知道的事物边缘的人,通过他们了解边缘功能,并请他们建议下一步应了解的事物。这样逐步做下去,将使得你对现有系统了解得越来越多。23通过向财务人员多次询问,小王了解到现有的人工系统计算工资和编制报表的流程。现在,小王已经用一张系统流程图描绘了现有的工资支付系统。但是,这张图对现有系统的描绘准确吗?小王已经把工资支付系统的所有关键功能都划分出来了吗?小王应该请有关人员仔细审查这张系统流程图,有错误就应该改正,有遗漏就应该补充。和现有的物理系统相联系的一个问题是,常常很难区分“做什么”和“怎样做”这两类不同范畴的知识。因此,下一步应该导出工资支付系统的高层逻辑模型。24现有的工资支付系统253.导出高层逻辑模型系统流程图是描绘物理系统的好方法,然而有时可能因为图中符号表达的含义过分具体反而不符合需要。例如,图2.20中梯形框代表人工完成的数据处理功能。但是,我们的目标并不是一成不变地复制现有的人工系统,而是开发一个用计算机完成同样功能的新系统。因此,小王希望用另一种方式总结从现有系统中获得的知识,不是准确地描绘具体的实现方法,而是着重描绘系统的逻辑功能。数据流图是实现这个目标的极好工具。怎样得出系统的数据流图呢?首先应该找出构成数据流图的四种基本元素(数据流的源点或终点,处理,数据流,数据存储),第二步是把找出的四种基本元素组合成数据流图。

26通过上述分析得到的工资支付系统数据流图的四种基本元素列在表中。源点/终点数

储处

理数

流教师事务数据收集数据(与数据存储相同)职工工资表审核数据

会计工资明细表加工事务数据

银行报表分发工资明细表

更新分类账

工资支付系统数据流图元素27根据表中列出的基本元素,可以画出工资支付系统的数据流图(见图)。从这张图中很容易看出从收集数据到加工事务数据产生工资表、工资明细表和财务报表的过程。

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

29关于工资支付系统的详细信息只能来源于直接工作在这个系统上的人。因此,再次访问财务科长和具体处理工资事务的两位会计。数据流图是使讨论时焦点集中的极好工具,从数据流图的数据源点开始,沿着数据流循序讨论。最后,把新发现的数据源点、数据处理和数据存储补充到数据流图中,得到新的数据流图。30图

补充后的工资支付系统数据流图314细化数据流图通常,使用下述的功能分解方法来细化数据流图:选取数据流图上功能过分复杂的处理,把它分解成若干个子功能,这些较低层次的子功能成为新数据流图上的处理,它们有自己的数据存储和数据流。将图中“加工事务数据”这个处理分解,用图来描绘。32图对“加工事务数据”的细化33把分解“加工事务数据”处理框的结果加到原来的数据流图中,得到一张更详细的新数据流图34图

工资支付系统完整的数据流图35图

工资支付系统的数据字典卡片小王为工资支付系统中几个数据元素填写的数据字典卡片中。数据字典364.进一步确定系统规模和目标可行性研究的上述4个步骤可以看作是一个循环。分析员定义问题,分析这个问题,导出试探性的逻辑模型,在此基础上再次定义问题,……重复这个循环直至得出准确的逻辑模型为止,然后分析员可以开始考虑实现这个系统的方案。375.导出供选择的解法现在小王对用户的问题已经有了比较深入的理解,但是,问题能够解决吗?有行得通的解决办法吗?回答这些问题的惟一方法是,导出一些供选择的解决办法,并且分析这些解法的可行性。怎样导出供选择的解法呢?一个常用的简单方法是从数据流图出发,假设几种划分自动化边界的模式,并且为每种模式设想一个系统。例如,可以把“收集数据”和“审核数据”两个处理放在同一个边界内,从而意味着一个数据收集程序;对事务数据的处理放在另外的边界内,因此代表另一个程序。或者考虑把“审核数据”和“加工事务数据”放在同一个自动化边界内,这可能意味着一个批处理程序,它首先校核数据然后加工数据。总之,每当分析员选取一组不同的自动化边界时,就可能意味着一种不同的解法。38在上述设想供选择的解法的过程中,分析员首先考虑的是技术上的可行性。不能在现有硬件上实现的或与这个应用有定时冲突的方案都不需要考虑。显然,技术上不可能实现的方案是没有意义的。但是,技术可行性只是必须考虑的一个方面,还必须能同时通过其他检验,此解决方案才可以说是可行的。另一个必须考虑的关键问题是操作可行性。最后,必须考虑经济可行性问题,即“效益大于成本吗?”

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

中等成本方案的成本/效益分析开发成本人力(4人月,8000元/人月)

3.2万元购买硬件

1.0万元总计

4.2万元新系统的运行费用人力和物资(250元/月)

0.3万元/年维护

0.1万元/年总计

0.4万元/年现有系统的运行费用

2.4万元/年41每年节省的费用

2.0万元年节

省现在值(以5%计算)累计现在值120000元19047.62元19047.62元220000元18181.82元37229.44元320000元17241.38元54470.82元投资回收期

2.28年纯收入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论