欢迎来到天天文库
浏览记录
ID:43816124
大小:267.50 KB
页数:16页
时间:2019-10-15
《软件工程模型与方法 03、系统的需求分析及可行性分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件工程模型与方法Models&MethodsofSE第三章系统需求分析与可行性分析肖丁dxiao@bupt.edu.cn计算机系统的定义和组成Webster定义的计算机系统是:元素的集合或排列,这些元素被组织在一起,以便通过处理外部信息完成某些预定的目标。这些系统元素是:软件:指程序、数据结构和相关文档。硬件:指提供计算能力的电子设备和提供外部功能的机电设备。人员:指使用硬件和软件的用户和其他人员。文档:指手册、表格和其他表示系统使用和操作的描述性信息。数据库:指系统所具有的信息模型,是系统中对信息具有存取功能的一个主要部分。过程:指定义每一种系统元素的特定使用步骤或使用环境。
2、计算机的系统工程计算机系统工程是一个问题求解活动,目的是揭示、分析所期望的功能、性能、接口和约束条件,并把它们分配到各个系统元素中去。计算机的系统工程包括:硬件工程、软件工程、人机工程和数据库工程,每一项工程的作用就是明确和细化系统的功能和性能的范围和内容,产生一个能与其他系统元素适当集成的可操作的系统元素。系统需求识别系统分析目标识别用户要求;进行技术分析并进行评价;把功能分配给系统元素;建立成本和进度限制;生成系统规格说明。可通过回答以下问题协助完成系统分析过程系统的总体目标是什么?系统所期望的功能和性能是什么?系统的可靠性和质量要求是什么?成本与进度限制如何?有无软硬件制造
3、和购买的需求?有效的技术方案有哪些?将来系统可能有哪些扩充?可行性分析为什么在系统开发之前要进行可行性分析?其目的在于项目进入实际的开发之前用最小的代价论证该项目是否能做,是否值得做?避免投资损失。援引柳传志的一段话:“没钱赚的事我们不干;有钱赚但投不起钱的事不干;有钱赚也投得起钱但没有可靠的人选,这样的事也不干。”影响系统开发的因素有哪些?时间因素资源因素成本和利润的因素技术条件和能力的因素可行性分析的任务和步骤首先,针对项目确定问题域并对问题域进行概要的分析和研究,初步确定项目的规模、约束和限制条件。其次,针对问题域中的关键和核心问题进行简要的需求分析,抽象出问题域的逻辑结构
4、,并构建逻辑模型。最后从逻辑模型出发,通过小规模的设计和技术实现论证,探索出若干种可供选择的解决方案,并对每种方案进行可行性方面的论证。可行性分析主要集中在以下四个方面:经济可行性分析技术可行分析法律可行性分析实施方案的选择经济可行性分析软件开发为何要进行经济方面的分析?软件开发需要有投资,有投资就需要有收益。目的是从经济角度评价一个新项目是否可行、是否划算,从而帮助投资人或者用户正确地做出是否投资于这个项目的开发决策。如何进行经济可行性的分析?成本/效益分析是对软件的开发成本和可能取得的效益进行权衡比较。短期/长远利益分析而是从另一种角度来评价成本和效益之间的关系。软件成本的估
5、算方法软件开发体现为最终可运行的软件系统以及相应的开发过程,为此有以下估算软件成本的方法:代码行技术功能点技术任务分解技术经验估算模型COCOMO模型软件方程式软件的其他成本估算软件开发的效益度量货币的时间价值:由于任何软件项目大都是投资在前,取得效益在后,因此要考虑到货币的时间价值。设年利率为i,现存入P元,若不计复利则n年后货币价值为反之,若n年能收入F元,那么这些钱的现值是软件开发的效益度量投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间。投资回收期越短,就能越快获得利润。纯收入:就是在整个生存期之内系统的累计经济效益(折合成现在值)与投资之差。纯收入>0说明值
6、得投资纯收入=0等于把资金存入银行纯收入<0说明不值得投资投资回收率:设想把数量等于投资额的资金存入银行,每年年底从银行回收的钱等于系统每年预期可以获得的效益,在时间等于系统寿命时,正好把在银行中的存款全部取完。这个假想的年利率就等于投资回收率。P=F1/(1+j)+F2/(1+j)2+…+Fn/(1+J)n其中,P是现在的投资额;Fi是第i年年底的效益(i=1,2,…,n);n是系统的使用寿命,j是投资回收率。技术可行性分析技术可行性分析主要考虑以下几项内容:开发风险:在给定的限制范围内,能否设计出系统,并实现必须的功能和性能?资源可用性:是否有充足的熟练技术人员可以支配?其他
7、必要的资源(软件和硬件)对建造系统可用么?技术条件:相关的技术条件是否能够支持系统的开发?最终得出一个在技术层面上的决策基础:可行,还是不可行!技术可行性分析的机制Blanchard和Fabrycky定义了在系统的技术可行性分析中使用建模方法的一组标准:能动态地表示系统的配置并能进行评估,要求配置项很容易理解和操纵、并且与现实操作足够接近。模型应该尽可能全面的包括所有相关的因素,并且应体现结果的可重复性。模型应该关注那些关键问题的因素,并且抑制和回避那些不重要的因素。模型设计应该
此文档下载收益归作者所有