软件工程导论 第2章 可行性研究

上传人:ca****in 文档编号:202628703 上传时间:2023-04-22 格式:DOC 页数:19 大小:155KB
返回 下载 相关 举报
软件工程导论 第2章 可行性研究_第1页
第1页 / 共19页
软件工程导论 第2章 可行性研究_第2页
第2页 / 共19页
软件工程导论 第2章 可行性研究_第3页
第3页 / 共19页
点击查看更多>>
资源描述
第二章 可行性研究2.1 可行性研究的任务1 可行性研究的目的:用最小的代价,在尽可能短的时间内确定问题是否能够解决。2 可行性研究的实质就是要进行一次压缩,简化了的系统分析和设计的过程。3 可行性研究的的路线(1) 分析和澄清问题(2) 导出系统逻辑模型(3) 探索若干种可供选择的主要解法(系统实现方案)(4) 对每种解法进行可行性研究(5) 为每种可行的解法制定一个粗略的实现进度4 可行性研究应着重考虑如下三个方面技术可行性:使用现有的技术能实现这个系统。经济可行性:这个系统的经济效益能否超过开发成本。操作可行性:系统的操作方式在这个用户组织内是否行得通。必要时还应该从法律和社会效益等方面研究每种解法的可行性。可行性研究需要的时间长短取决于系统的规模,可行性研究的成本只是预期工程总成本的5-10%。2.2 可行性研究过程 1 复查系统规模和目标确保分析员提交的报告书确实是用户要求解决的问题。2 研究目前正在使用的系统现有系统要完成的工作,就是新系统所必须具备的功能;现有系统存在的缺点,新系统必须加以改进;现有系统所不具备的功能,又是用户必须的,则新系统一定要预以增加;现有系统所需要的费用是新系统的一个重要的投资依据。3 导出新系统的高层逻辑模型从现有的物理系统出发,导出现有物理系统的逻辑模型;再以现有物理系统的逻辑模型为基础,设想目标系统的逻辑模型;最后根据目标系统的逻辑模型建造新的物理系统。4 进一步定义问题定义系统目标复查系统目标和规模研究现有系统设计新系统再定义系统目标。重复这个过程,直到提出的新系统逻辑模型复合系统目标。5 导出和评价供选择的解法分析员从系统的逻辑模型出发,以系统要求为目标,利用在数据流图上划分自动化边界的方法,我们可以导出若干种较高层次的物理解法供用户比较和选择。针对多种供选方案,用户应从如下三个方面进行筛选:(1) 从技术角度排除那些不现实的方案;(2) 从操作角度去掉那些操作方式或操作过程用户不能接受的方案;(3) 从经济角度估算每个可能系统的成本/效益;最后为每个在技术、操作和经济等方面都可行的系统制定实现进度表6 推荐行动方针向用户提出推荐的方案,在推荐方案中应清楚地表明本项目的开发价值,成本/效益分析;推荐这个方案的理由;7 草拟开发计划分析员为推荐的方案草拟一份开发计划含:工程进度表估计各类开发人员、各种资源需要情况和使用时间估计系统生命周期每个阶段的成本给出需求分析的详细进度表和成本估计8 书写文档提交审查2.3 系统流程图 系统流程图:是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件。包括程序、文档、数据库和人工过程等。它表达了数据在系统各部件之间的流动情况。2.3.1 符号1 基本符号2 系统符号2.2.2 例子例:某装配厂有一座零件仓库,仓库中现有各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。如果哪种零件的库存量少于它的临界值时,则应报告给采购部门以便定货。规定每天向采购部门送一次定货报告。装配厂使用一台小型计算机处理更新库存清单主文件和产生定货报告的任务。仓库中的每一项业务都通过CRT终端输入到计算机中;系统中的库存清单程序负责对事务进行处理,更新存储在磁盘上的库存清单主文件;必要的定货信息写在磁带上;每天由报告生成程序读一次磁带,生成并打印出定货报告;库存清单程序;报告生成程序;对于复杂系统,可分层描绘2.4 数据流图数据流图简称DFD(Data Flow Diagram)图,它是描绘信息和数据从输入移动到输出的过程中所经受的变换。反映了数据在软件中流动和被处理的逻辑过程。数据流图是系统逻辑功能的图形表示,是一种极好的通信工具。2.4.1 符号数据流图有四种基本符号:数据的源点/终点变换数据的处理:一个程序,一系列程序,单个程序或者程序的一个模块,也可以代表用穿孔机穿孔或目视检查数据正确性等人工处理过程。数据存储它可以表示一个文件,文件的一部分,数据库的元素或记录的一部分。存储:把一个数据存入数据存储;用一个数据去修改数据存储中的数据;从数据存储中读出一个数据;从数据存储中检索出一批数据。数据流表示数据在系统中的流动方向,一般分单向数据流和双向数据流两种。数据流图有六种附加符号:附加符号中的星号(*)表示数据流之间是“与”关系;加号(+)表示数据流之间是“或”关系;符号表示只能从数据流中选一个(互斥关系)。2.4.2 例子例1 一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,列出所有需要再次定货的零件。对于需要订货的零件列出其零件编号、零件名称、定货数量、目前价格、主要供应者、次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存量少于临界值时就应该再次定货分析过程如下第一步确定系统的源点和终点仓库管理员是数据的源点;采购员是数据的终点。加工(处理)本题应该完成定货系统这样一个功能。数据流事务需从仓库送到系统中,显然事务是一个数据流;系统要把定货报表送给采购部,定货报表也是一个数据流。 定货系统基本数据流图第二步将加工(处理)定货系统进行功能分解成事务处理和产生报表两部分;考虑有关数据存储问题,题中涉及到存储的信息有:库存清单、定货信息;定货系统功能级数据流图第三步将事务处理进一步分解为接收事务,更新库存清单、处理定货三部分。画出定货系统功能分解后的数据流图例2 银行取款系统的数据流图(活期储蓄)。分析过程如下:第一步源点和终点都是储户;加工(处理)是完成取款的功能;数据流是取款单、存折、现款。画出银行取款系统的基本数据流图第二步取款工作实际上是由储户资格审查、登录、付款三部分组成; 数据存储部分涉及储户的帐卡和存折上数据的更新。画出取款系统的功能级数据流图画数据流图的原则1 确定系统的源点和终点;2 确定系统的输入和输出数据流。保持分解前后输入/输出数据流必须相同(平衡);3 用“自顶向下”的方法,逐层画出数据流图。 每张数据流图中加工(处理)的个数不能超过9个(7加减2原则);4 将必要的存储与加工(处理)相匹配;5 在画数据流图时应避免线条交叉,必要时可使用重复的外部项(源点或终点)或数据存储符号;6 画出出错及例外条件处理情况。2.4.4 数据流图的用途1 作为交流信息的工具;2 作为分析和设计的工具;3 数据流图可以辅助物理系统的设计(图);4 数据流图对详细设计也有帮助。 2.5 数据字典1 数据字典:是关于数据的信息集合,也就是对数据流图中包含的所有元素定义的集合。2 数据流图和数据字典共同构成系统的逻辑模型。数据流图描述了系统的“分解”,它表明系统由哪些部分组成。数据字典则为数据流图中出现的每一部分都给出“严格定义”,二者的有机配合,完整地描述了系统。没有数据字典数据流图就不严密,没有数据流图数据字典也难于发挥作用。2.5.1 数据字典的内容数据字典的组成:数据流数据流分量数据存储处理数据字典中记录数据元素的下列信息一般信息(名字、别名、描述)定义(数据类型、长度、结构)使用特点(指的范围、使用频率、使用方式)控制信息(来源、用户、程序的改变和使用权)分组信息(父结构、从属结构、物理位置)2.5.3 数据字典的用途1 作为分析阶段的工具2 用于开发小组之间的通信3 可控制程序和模块的改变4 是开发数据库的基础 2.5.4 数据字典的实现开发小系统时可建立卡片为每个要定义的名字准备一张卡片;在卡片上注明名字、别名、描述、定义、位置、控制信息、使用特点;写名子的定义;将所有卡片按一定方式排序,如英文字母顺序或汉字笔画多少等。见书39页2.6 成本/效益分析2.6.1 成本估计1 代码行技术是一种比较简单定量的估算方法,把开发每个软件功能的成本和实现这个功能需要用的源程序代码行数联系起来,若有历史数据作参考的话,这种方法还是有效的。设 T软件成本N软件源代码行数 A每行源代码的平均成本 T=AN其中A取决于软件的复杂程度和工资水平。2任务分解技术把软件开发工程分解为若干个相对独立的任务,然后再分别估计每个单独开发任务的成本,最后累加起来得到软件工程的总成本。设 T-软件总成本B-每个单独开发任务的成本 -系数 T=B C-完成每个单独任务所需的人力(月) D-每人每月的平均工资 B=CD T=CD3自动估计成本技术要有长期搜集的大量历史数据和数据库系统的支持 2.6.2 效益分析四个重要概念货币的时间价值投资回收期纯收入投资回收率以般设生命周期为5年1 货币的时间价值i年利率P现在存入的钱n年n年后可以获得的钱数为F=P(1+i)n这些钱的现在价值为P=F/(1+i)n2 纯收入是指在整个生存周期之内系统的累计经济效益(折合成现在值)与投资之差。3 投资回收期是使累计的经济效益等于最初投资所需要的时间。显然投资回收期越短,就能越快地获得利润,因此这项工程也就越值得投资。4 投资回收率类似于把资金存入银行或贷给其他企业能够获得利息,通常用年利率衡量利息多少,这就叫投资回收率。如果投资回收率等于银行的年利率,则此系统没有必要开发,因为它不能增加收入。所以只有投资回收率大于年利率时,才考虑开发问题。 P=F1/(1+j)+F2/(1+j)2+Fn/(1+j)n或或或数据的源点/终点变换数据的处理数据存储数据流(a)(b)图2.4 数据流图的符号(a)基本符号的含义;(b)附加符号的含义符 号名 称处理输入输出连接换页连接数据流说 明能改变数据值或数据位置的加工或部件、例如,程序、处理机、人工加工等都是处理表示输入或输出(或既输入又输出),是一个广义的不指明具体设备的符号指出转到图的另一部分或从图的另一部分转来,通常在同一页上指出转到另一页图上或由另一页图转来用来连接其他符号,指明数据流动方向图2.1 基本符号符 号名 称穿孔卡片文档磁带联机存储磁盘说 明表示用穿孔卡片输入或输出,也可表示一个穿孔卡片文件通常表示打印输出,也可表示打印终端输入数据磁带输入输出,或表示一个磁带文件表示任何种类的联机存储,包括磁盘、磁鼓、软盘和海量存储器件等磁盘输入输出,也可表示存储在磁盘上的文件或数据库图2.2 系统符号磁鼓显示磁鼓输入输出,也可表示存储在磁鼓上的文件或数据库CRT终端或类似的显示部件,可用于输入或输出,也可既输入又输出人工输入人工输入数据的脱机处理,例如,填写表格辅助操作使用设备进行的脱机操作人工操作人工完成的处理,例如,会计在工资支票上签名通信链路通过远程通信线路或链路传送数据事务库存清单程序订货信息报告生成程序库存清单主文件订货报告图2.3 库存清单系统的系统流程图表2.1 组成数据流图的元素可以从描述问题的信息中提取源点/终点采购员仓库管理员数据源定货报表 零件编号 零件名称 订货数量 目前价格 主要供应者 次要供应者事务 零件编号* 事务类型 数量*处理产生报表处理事务数据存储定货信息(见订货报表)库存清单* 零件编号* 库存量 库存量临界值仓库管理员事务订货系统定货报表采购员图2.5 定货系统的基本系统模型图2.6 定货系统的功能级数据流图定货报表采购员仓库管理员事务1处理事务库存清单D1 库存清单D2 定货信息定货信息2产生报表图2.7 把处理事务的功能进一步分解后的数据流图仓库管理员事务1.1接收事务库存清单D1 库存清单事务1.2更新库存清单定货信息D2 定货信息定货报表采购员2产生报表1.3处理定货定货信息库存信息图2.8 这种划分自动化边界的方法暗示以批量方式更新库存清单库存清单D1 库存清单1.2更新库存清单定货信息D2 定货信息定货报表采购员2产生报表1.3处理定货定货信息库存信息D3 事务事务仓库管理员事务1.1接收事务事务图2.9 另一种划分自动化边界的方法建议以联机方式更新库存清单仓库管理员事务1.1接收事务库存清单D1 库存清单事务1.2更新库存清单定货信息D2 定货信息定货报表采购员2产生报表1.3处理定货定货信息库存信息名字:定货报表别名:定货信息描述:每一天送给采购员的需要定货的零件表定义:定货报表=零件编号+零件名称+定货数量+目前价格+主要供应者+次要供应者位置:输出到打印机名字:零件编号别名:描述:惟一地标识库存清单中一个特定零件的关键域定义:零件编号=8字符8位置:定货报表 定货信息 库存清单 事务名字:定货数量别名:描述:某个零件一次定货的数量定义:定货数量=1数字5位置:定货报表 定货信息 库存清单 事务表2.2 典型环境下各个开发阶段需要使用的人力百分比任 务可行性研究需求分析设计编码和单元测试综合测试总计人 力(%)510252040100表2.3 将来的收入折算成现在值年12345现在值(元)2232.141992.981779.451588.801418.57将来值(元)25002500250025002500(1+i)n1.121.251.401.571.76累计的现在值(元)2232.144225.126004.577593.379011.94
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!