您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 总结/报告 > 软件工程第二章可行性研究
第二章可行性研究(维护报告)问题定义编码需求分析设计可行性研究运行与维护测试开发时期运行时期计划时期(性质、目标与规模说明书)(可行性研究论告)(测试报告)(程序)(设计文档)(需求规格说明书)可行性研究是软件生命期中重要的一步。项目计划阶段主要活动:•问题定义•可行性研究2.1定义问题主要任务通过对客户的访问调查,系统分析员扼要的写出关于问题性质、工程目标和工程规模的书面报告。问题定义案例假设你在一所高等职业技术学校工作,负责该校信息系统的建设与维护。财务科长请你研究学校拥有的微型计算机生成工资明细表和各种财务报表的可能性。请给出问题定义关于工资支付系统规模和目标的报告书项目名称:工资支付系统问题:目前计算工资和编制报表的费用太高项目目标:研究开发费用较低的新工资支付系统的可能性项目规模:开发成本应该不超过7.2万元初步设想:用学校自己的计算机系统生成工资明细表和财务报表可行性研究:为了更全面的研究工资支付项目的可能性,建议进行大约历时两周的可行性研究。这个研究的成本不超过5000元2.2可行性研究可行性研究的目的:“说明该软件开发项目的实现在技术上、经济上和社会条件上的可行性;评述为合理地达到开发目标可能选择的各种方案”。(GB8567-88《计算机软件产品开发文件编制指南》)“用最小的代价在尽可能短的时间内确定问题是否能够解决”可行性研究的主要任务GB8566-88《计算机软件开发规范》中指出:可行性研究的主要任务是“了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。”可行性研究的内容技术可行性经济可行性操作可行性社会可行性(法律可行性)做出抉择技术可行性使用现有的技术能实现这个系统吗?考虑的问题(1)开发风险分析(2)资源分析(3)相关技术的发展(现有技术能否实现新系统,技术难点、建议采用技术的先进性).经济可行性度量系统解决方案的性能价格比(1)成本估计代码行技术、任务分解技术、自动估计成本技术。(2)成本/效益分析的方法估计成本,运行费用和新系统的经济效益。比较新系统的开发成本和经济效益,应该考虑货币的时间价值、投资回收期、纯收入和投资回收率。系统开发和每年运行费用举例1.系统开发费用(一次)人员:.2名系统分析员(450小时/名,45美元/小时)$40,500.5名系统开发人员(275小时/名,36美元/小时)$49,500.1名数据通讯专家(60小时/名,42美元/小时)$2,400.1名数据库管理员(30小时/名,42美元/小时)$1,260.2名技术写作者(120小时/名,25美元/小时)$6,000.1名秘书(160小时/名,15美元/小时)$2,400.2名在转换期间数据输入人员$49,500(40小时/名,12美元/小时)系统开发和每年运行费用举例培训:三天的开发人员内部培训课程$7,00030个用户,三天的内部培训课程$10,000物资:复印$500磁盘、纸张等消耗品$650系统开发和每年运行费用举例购买硬件、软件:20台工作站Windows软件$1,00020台工作站内存升级$8,000网络软件$17,50020台工作站办公软件产品$20,000系统开发总费用$161,670系统开发和每年运行费用举例2.年运行费用(每年)人员:维护程序员/分析员(250小时/年,42美元/小时)$10,500网络管理员(300小时/年,50美元/小时)$15,000购买硬件、软件升级:硬件$5,000软件$6,000物资和杂项$3,500每年总运行费用$40,000操作可行性•用户使用可能性•时间进度可行性•组织和文化上的可行性社会可行性(法律可行性)开发项目是否会在社会上或政治上引起侵权、破坏或其它责任问题2.3可行性研究的步骤1、复查确认系统目标、规模。2、研究正在使用的系统。3、导出新系统的高层逻辑模型。4、重新定义问题。5、导出和评价供选择的方案。6、推荐可行的方案。7、草拟开发计划。8、编写可行性研究报告,送审。可行性研究报告的编写提示GB8567-88《计算机软件产品开发文件编制指南》1引言1.1编写目的1.2背景1.3定义1.4参考资料可行性研究报告的编写提示2可行性研究的前提2.1要求2.2目标2.3条件、假定和限制2.4进行可行性研究的方法2.5评价尺度可行性研究报告的编写提示3对现有系统的分析3.1数据流程和处理流程3.2工作负荷3.3费用开支3.4人员3.5设备3.6局限性可行性研究报告的编写提示4所建议的系统4.1对所建议系统的说明4.2数据流程和处理流程4.3改进之处4.4影响4.5局限性4.6技术条件方面的可行性可行性研究报告的编写提示5可选择的其它系统方案5.1可选择的其它系统15.2可选择的其它系统2......可行性研究报告的编写提示6投资及收益分析6.1支出6.2收益6.3收益/投资比6.4投资回收周期6.5敏感性分析可行性研究报告的编写提示7社会条件方面的可行性7.1法律方面的可行性7.2使用方面的可行性系统流程图系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程等)以及信息在这些部件间流动和处理的情况。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此它是物理数据流图,不是程序流程图。某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果哪种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便定货,规定每天向采购部门送一次定货报告。系统流程图实例1——库存清单系统例子该装配厂使用一台小型计算机处理更新库存清单主文件和产生定货报告的任务。零件库存量的每一次变化称为一个事务,由放在仓库中的CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的定货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出定货报告。库存清单系统的系统流程图系统流程图实例2——借书处理•某图书馆闭架借书流程如下:读者必须被验明证件后才能进入查询室。读者在查询室内通过检书卡或利用终端检索图书数据库来查找自己所需的图书。找到所需的图书并填好索书单后到服务台借书。如果所借图书还有剩余,管理员将填好借书单,从库房中取出图书交于读者。验证学生身份检索图书检书卡图书数据库索书单填索书单借书借书借书单作业设某城市公务员考试成绩统计系统如下。考生分三个专业,不同专业考试科目不同:计算机专业---考申论、语文、软件工程行政专业---考申论、语文、行政财经专业---考申论、语文、财经学每个考生在报名时登记姓名、地址、年龄和报考专业。报名后考试办公室根据考生专业及地址在市区或郊区来编排准考证号码和考场。考生参加考试后,输入每个考生的各门课程的成绩,并统计出每个考生三门课程的总成绩。按准考证号的顺序打印出考生考试成绩单,分发给每个考生。各专业分别将考生按成绩总分从高到低的次序排序,以便决定面试名单。请画出由下列文字描述的系统流程图数据流图(DataFlowDiagram,DFD)是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理•数据流图中的主要图形元素数据加工(数据变换)------转换数据流的处理过程数据源点或终点(外部实体)------位于软件系统边界之外的信息生产者或消费者数据流------在转换之间有向流动的数据项或数据集合数据存储文件----可以是数据库文件或任何形式的数据组织。箭头向内则表示写入文件或查询文件,箭头向外则表示从文件中读取数据或得到查询结果顾客出版社验证订单汇总订单订单出版社订单图书目录文件顾客档案待处理订单文件正确订单一批订单出版社档案文件订货存根文件DFD图的例子加工名编号加工名编号文件名文件名数据流与数据加工之间的关系数据流图举例-订货系统假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。第一步:可以从问题描述中提取数据流图的4种成分。首先考虑数据的源点和终点,从上面对系统的描述可以知道“采购部每天需要一张定货报表”,“通过放在仓库中的CRT终端把事务报告给定货系统”,所以采购员是数据终点,而仓库管理员是数据源点。第二步:考虑处理,再一次阅读问题描述,“采购部需要报表”,显然他们还没有这种报表,因此必须有一个用于产生报表的处理。事务的后果是改变零件库存量,然而任何改变数据的操作都是处理,因此对事务进行的加工是另一个处理。第三:考虑数据流和数据存储:系统把定货报表送给采购部,因此定货报表是一个数据流;事务需要从仓库送到系统中,显然事务是另一个数据流。产生报表和处理事务这两个处理在时间上明显不匹配——每当有一个事务发生时立即处理它,然而每天只产生一次定货报表。因此,用来产生定货报表的数据必须存放一段时间,也就是应该有一个数据存储。“当某种零件的库存量少于临界值时就应该再次订货”说明应该有库存清单的数据存储。定货系统的基本系统模型定货系统的功能级数据流图把处理事务的功能进一步分解后的数据流图为数据流命名•名字应代表整个数据流(数据存储)的内容,而不是仅仅反映一部分;•不要使用缺乏具体含义的名字;•如果在为某个数据流(数据存储)起名字时遇到困难,则很有可能是因为对数据流图分解不恰当引起的。为处理命名•通常先为数据流命名,再为与之相关的处理命名;•名字应该反映整个处理的功能,而不是它的一部分功能;•名字最好由一个具体的动词加上宾语组成;•如果必须要用两个动词才能描述整个处理,则把这个处理分解成两个处理;•如果为某个处理命名时遇到困难,则可能是分解不当,应考虑重新分解。“先全局后局部,先整体后细节,先抽象后具体”通常可将这种分层的DFD图,分为顶层、中间层、底层。具体步骤:1。先确定系统范围,画出顶层的DFD图。2。逐层分解顶层DFD图,获得若干中间层DFD图。3。画出底层的DFD图。画分层DFD图的方法顶层图说明了系统的边界,即系统的输入和输出数据流,顶层图只有一张。底层图由一些不能再分解的加工组成,这些加工都已足够简单,称为基本加工。在顶层和底层之间的是中间层。中间层的数据流图描述了某个加工的分解,而它的组成部分又要进一步分解。画各层DFD图时,“由外向内”。X1321.11.21.41.32.12.21.1.11.1.22.1.32.1.22.1.12.2.22.2.32.2.1顶层中间层底层先全局后局部,先整体后细节,先抽象后具体.0图1图2图1.1图2.1图2.2图分层DFD图加工分解的原则自然性:概念上合理、清晰;均匀性:理想的分解是将一个问题分解成大小均匀的几个部分;分解度:一般每一个加工每次分解最多不要超过7个子加工,分解应分解到基本加工为止。画分层DFD图的基本原则数据守恒与数据封闭原则所谓数据守恒是指加工的输入输出数据流是否匹配,即每一个加工既有输入数据流又有输出数据流。或者说一个加工至少有一个输入数据流,一个输出数据流。数据封闭是对整个系统而言。合理使用文件当文件作为某些加工之间的交界面时,文件必须画出来,一旦文件作为数据流图中的一个独立成份画出来了,那么他同其他成份之间的联系也应同时表达出来。DFD图不是流程图,不表示软件的控制流程。画分层DFD图的基本原则子图与父图的“平衡”父图中某个加工的输入输出数据流应该同相应的子图的输入输出相同(相对应),分层数据流图的这种特点称为子图与父图“平衡”。分层DFD图的改进DFD图必须经过反复修
本文标题:软件工程第二章可行性研究
链接地址:https://www.777doc.com/doc-3259676 .html