您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程概论第三章02
第二篇:传统软件工程方法学第3章结构化分析第4章结构化设计第5章结构化实现第3章结构化分析(StructuredAnalysis,SA)结构化分析过程和准则与用户通信获取用户需求的方法分析建模与规格说明实体-关系图数据流图状态转化图数据字典结构化分析实例2问题陈述某校财务科长要求系统分析员研究一下用学校自己的微型计算机生成工资明细表和各种财务报表的可能性。请问,系统分析员怎样用结构化分析技术完成这项工作?3软件生命周期由三个时期组成软件定义软件开发运行维护软件定义时期问题定义可行性研究需求分析4三个阶段阶段关键问题结束标准问题定义要解决的问题是什么?问题性质、项目规模和项目目标的报告书可行性研究有可行的解决办法吗?若干种可能的系统实现方案及其成本/效益分析需求分析目标系统必须做什么?目标系统的需求文档,即规格说明(specification)5问题定义某校财务科长要求系统分析员研究一下用学校自己的微型计算机生成工资明细表和各种财务报表的可能性。问题是“在学校自己的计算机上实现工资支付系统”吗?这样做预期将获得的经济效益能超过开发这个系统的成本吗?换句话说,这样做值得吗?6思考????用户面临的问题究竟是什么?7问题是什么?询问财务科长后得知:该校一直由会计人工计算工资并编制财务报表随着学校规模扩大工作量也越来越大不仅工作效率低而且成本高今后学校规模将进一步扩大,人工计算工资的成本还会进一步提高8目标是寻找一种比较便宜的生成工资明细表和各种财务报表的办法良好的问题定义应该明确地描述实际问题,而不是隐含地描述解决问题的方案。9项目规模应该考虑下述3个基本数字目前计算工资所花费的成本新系统的开发成本运行费用每年人工费约2.4万元,新系统每年的经济效益?投资回报10阶段性成果关于系统规模和目标的报告书用户评审11Report关于系统规模和目标的报告书2011.3.16项目名称:工资支付。问题:目前计算工资和编制报表的费用太高。项目目标:研究开发费用较低的新工资支付系统的可能性。项目规模:开发成本应该不超过7.2万元(±50%)。初步设想:用学校的计算机系统生成工资明细表和财务报表。可行性研究:为了更全面地研究工资支付项目的可能性,建议进行大约历时两周的可行性研究。这个研究的成本不超过4000元。12可行性研究可行性研究是抽象和简化了的系统分析和设计的全过程它的目标是用最小代价尽快确定问题是否能够解决以避免盲目投资带来的巨大浪费13可行性研究8个步骤1.澄清系统规模和目标2.研究现有的系统3.导出高层逻辑模型4.进一步确定系统规模和目标5.导出供选择的解法6.推荐最佳方案7.草拟开发计划8.写出文档提交审查141.澄清系统规模和目标为确保从一个正确的发点着手进行可行性研究,首先进一步验证报告书的正确性对人工计算工资的弊端有了更具体的认识了解到工资总数应该记入分类日记账152.研究现有的系统处理工资事务的大致过程16审核后的数据审核数据教师职工课时表任务表排序专用表格计算课时费计算岗位津贴计算个人所得税计算住房公积金计算保险费计算工资总额计算实发工资工资表银行工资明细表教师职工编制报表报表更新分类账分类账会计现有的工资支付系统173.导出高层逻辑模型系统流程图很好地描绘了具体的系统但是,在这样的图中把“做什么”和“怎样做”这两类不同范畴的知识混在一起了项目的目标开发一个能完成同样功能的新系统18系统的逻辑功能教师职工1收集数据3加工事务数据4分发工资明细表5更新分类账2审核数据会计D1事务数据D2工资表D3工资明细表D4报表教师职工银行194.进一步确定系统规模和目标分析员再次访问客户,讨论数据流图通过仔细分析和讨论数据流图,能够及时发现并纠正分析员对系统的误解,补充被忽视的内容如果系统规模有较大变化,则应及时报告给客户,以便做出新的决策20前4个步骤可行性研究的上述4个步骤可以看作是一个循环重复分析员定义问题分析这个问题导出试探性的逻辑模型在此基础上再次定义问题直至得出准确的逻辑模型为止,然后开始考虑实现这个系统的方案215.导出供选择的解法问题有行得通的解决办法吗?导出一些供选择的解决办法,并且分析这些解法的可行性技术可行性(Technicalfeasibility)操作可行性(Operationalfeasibility)经济可行性(Economicfeasibility)进度可行性(Schedulefeasibility)22技术可行性建议的技术或方案实际吗?我们目前拥有所需的技术吗?我们拥有所需的技术专家吗?23操作可行性(运行可行性)问题是否值得解决,或者问题的解决方案能工作吗?用户和管理人员对问题(方案)感觉如何?可用性分析24经济可行性系统将花费多少(成本)系统将提供什么收益建议的系统合算吗?25建议的系统合算吗?成本收益分析的三种常用的技术投资回收分析投资回报率分析净现值货币时间价值现值——在未来任何时候1美元的当前价值26投资回收分析确定投资是否可以收回以及什么时候收回投资回收期27投资回报率分析投资回报率分析(Return-on-Investment(ROA)analysis)——比较替代方案或项目的终生收益率终生ROI=(估计的终生收益–估计的终生成本)/估计的终生成本年度ROI=终生ROI/系统的生命期28净现值净现值——一种比较不同方案的年度贴现成本和收益的分析技术29低、中、高低成本方案如果把每月发一次工资改为每两个月发一次工资除了已经进行的可行性研究的费用外,不再需要新的投资必须充分认识上述低成本方案的缺点:违反常规教职工反对不能解决根本问题随着学校规模扩大,人工处理工资事务的费用也将成比例地增加305.导出供选择的解法(方案)中等成本的解决方案建议基本上复制现有系统的功能中等成本方案的系统流程图3132高成本方案建立一个中央数据库,为开发完整的管理信息系统做好准备把工资支付系统作为该系统的第一个子系统这样做开发成本大约将增加到12万元,然而从工资支付这项应用中获得的经济效益并不变336.推荐最佳方案低成本方案虽然诱人,但是很难付诸实现高成本的系统从长远看是合理的,但是它所需要的投资超出了预算从已经确定的系统规模和目标来看,显然中等成本的方案是最好的347.草拟开发计划应该为推荐的最佳方案草拟一份开发计划把系统生命周期划分成阶段,有助于制定出相对合理的计划在这样的早期开发阶段,制定出的开发计划是比较粗略的35368.写出文档提交审查分析员归纳整理本阶段的工作成果写成正式文档(其中成本/效益分析的内容,根据实现计划适当修正)提交由校长和财务科全体人员参加的会议审查37需求分析需求分析的目的是确切地回答下述问题:“系统必须做什么?”需求分析在可行性研究的基础上进行前一阶段产生的文档,特别是数据流图是需求分析的出发点在需求分析过程中分析员将设计出更精确的数据流图,并将写出数据字典及一系列简明的算法描述需求分析的主要任务是更详尽地定义系统应该完成的每一个逻辑功能38需求分析过程沿数据流图回溯写出文档初稿定义逻辑系统细化数据流图书写正式文档技术审查和管理复审39沿数据流图回溯为了把数据流和数据存储定义到元素级,一般说来,从数据流图的输出端着手分析是有意义的系统最基本的功能是产生需要的输出数据,在输出端出现的数据元素决定了系统的基本构成40工资总额必须搞清楚基本工资、生活补贴、书报费、交通费和洗理费等数据元素存储在何处必须弄清课时费和岗位津贴的计算方法实发工资必须搞清楚个人所得税、住房公积金和保险费的计算方法41写出文档初稿分析员在分析过程中应该把获得的信息用一种容易修改、容易更新的形式记录下来一个系统会涉及许多人,他们彼此理解是至关重要的文档是主要的通信工具,因此,文档必须是一致的和容易理解的结构化分析方法要求,在需求分析阶段完成的正式文档(软件需求规格说明书)中必须至少包含三个重要成分:数据流图数据字典一组黑盒形式的算法描述42数据字典在分析阶段数据字典能帮助分析员组织有关数据的信息,并且是和用户交流信息的有力工具它还能起备忘录的作用在设计阶段,可以根据它确定记录、文件或数据库的格式在实现阶段,程序员可以根据数据字典确定数据描述在系统投入运行以后,数据字典可以清楚地告诉维护人员,具体的数据元素在系统中是怎样使用的当必须修改程序时,这样的信息是极其宝贵的43在手边没有数据字典软件包可用时,可以用卡片形式人工建立数据字典44黑盒形式的算法描述所谓黑盒子就是不考虑一个功能的具体实现方法,只把它看作给予输入之后就能够产生一定输出的盒子目的是用原理性算法准确地定义功能,算法的细节可以等到以后的开发阶段再确定通常使用IPO表记录对算法的初步描述,以后可以进一步精化它,而且在详细设计阶段可以把它作为HIPO图的一部分(本书4.5.1节将介绍HIPO图)4546定义逻辑系统上述这些工作成果正确吗?某些数据元素是从哪里来的呢?再次找客户校核把新发现的数据源点、数据处理和数据存储补充到数据流图中,得到新的数据流图4748细化数据流图使用下述的功能分解方法来细化数据流图选取数据流图上功能过分复杂的处理,把它分解成若干个子功能这些较低层次的子功能成为新数据流图上的处理它们有自己的数据存储和数据流495051书写正式文档以细化后的数据流图为基础,可以对系统需求做更进一步地分析随着分析过程的进展,通过询问与回答的反复循环,会把目标系统定义得越来越准确最终,分析员对系统需求有了令人满意的认识,应该把这些认识用正式文档“软件需求规格说明书”准确地记录下来细化到适当层次的数据流图、数据字典和黑盒形式的算法描述,是构成软件需求规格说明书的重要成分52技术审查和管理复审技术审查由从外单位聘请来的系统分析员担任组长,并由最终用户及本系统的分析员作为小组成员,组成技术审查小组数据流图是审查的重点;用数据字典和IPO表辅助对数据流图的理解朗读软件需求规格说明书,大家仔细审查这份文档审查的目的是发现错误或遗漏改正审查小组发现的问题在转入概要设计之前还必须进行管理方面的复审由财务科长和学校校长对本项目的经费支出情况和开发进度,从管理角度进行审查53小结传统SE方法学使用结构化分析技术完成用户需求分析的工作需求分析过程:发现、求精、建模、规格说明、复审发现需求(发现+求精):访谈、简易应用规格说明技术、快速原型描述需求(ERD、DFD、STD、DD、规格说明)54Thankyouverymuch!55
本文标题:软件工程概论第三章02
链接地址:https://www.777doc.com/doc-3876680 .html