版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章:可行性研究
可行性研究就是要回答“所定义的问题有可行的解决办法吗?”。可行性研究的目的是:用最小的代价在尽可能短的时间内确定问题是否有解,以及是否值得去解。2.1可行性研究的任务可行性研究所需的时间取决于工程的规模,所需要的成本要占工程总成本的5%~10%。可行性研究的内容:1)技术可行性技术可行性要分析各种技术因素,例如:使用现有的技术能否实现这个系统?是否有胜任开发该项目的熟练技术人员?能否按期得到开发该项目所需的软件、硬件资源?2)经济可行性对经济合理性进行评价,所要考虑的问题是:
这个系统的经济效益能否超过它的开发成本?这就需要对项目进行价格/利益分析,即“投入/产出”分析。由于利益分析取决于软件系统的特点,因此在软件开发之前,很难对新系统产生的效益作出精确的定量描述,所以往往采用一些估算方法。3)操作可行性操作可行性评价系统运行后会引起的各方面变化,如:对组织机构管理模式、用户工作环境等产生的影响。4)社会可行性社会可行性主要讨论法律方面和使用方面的可行性。例如,被开发软件的权利归属问题、软件所使用的技术是否会造成侵权等问题。2.2可行性研究的步骤
1)复查系统规模和目标;2)研究目前正在使用的系统;3)导出新系统的高层逻辑模型(数据流图、数据字典);4)重新定义问题;
5)导出和评价供选择的解法(物理解决方案);6)推荐行动方案;7)草拟开发计划;8)书写文档提交审查。
2.2可行性研究的步骤
2.3系统流程图(描绘物理系统的工具)2.3.1符号
符号名称说明处理如:程序,处理机,人工加工输入/输出连接换页连接数据流表示输入或输出同一页上图的连接不同页上图的连接指明数据流动方向图2.1基本符号符号名称说明穿孔卡片文档磁带联机存储磁盘磁鼓显示人工输入人工操作辅助操作通信链路穿孔卡片输入/输出,或穿孔卡片文件打印输出,或打印终端输入数据磁带输入/输出,或表示磁带文件任何种类磁盘存储,如磁盘、磁鼓等磁盘输入/输出,或磁盘上文件、数据库磁鼓输入/输出,或磁鼓上文件、数据库显示器部件人工输入数据,如填写表格人工完成的处理使用辅助设备进行的脱机操作通过远程通信线路传送数据图2.2系统符号2.3.2例子
事务库存清单程序报告生成程序定货信息定货报告库存清单主文件图2.3库存清单系统的系统流程图2.4数据流图(描绘数据在系统中流动的逻辑过程)2.4.1符号
或或或数据源点或终点变换数据的处理数据存储数据流图2.4基本符号的含义TABC*TABC*附加符号TABC+TABC+注意:“处理”可表示:单个程序、一系列程序、程序的一个模块、人工处理过程等等;“数据存储”可表示:一个文件、文件的一部分、数据库记录等等;数据流图忽略出错处理、打开文件、关闭文件。
假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。2.4.2例子2.4.2绘制数据流图的例子
事务库存清单程序报告生成程序定货信息定货报告库存清单主文件图2.3库存清单系统的系统流程图
分析:数据的源点和终点:“采购部每天需要一张定货报表”,“通过放在仓库中的CRT终端把事务报告给定货系统”处理:“采购部需要报表”数据流:定货报表、事务数据存储:产生报表和处理事务这两个处理在时间上明显不匹配——每当有一个事务发生时立即处理它,然而每天只产生一次定货报表。2.4.2例子组成该例子的数据流图的元素源点/终点处理采购员仓库管理员产生报表处理事务数据流数据存储订货报表零件编号零件名称订货数量目前价格主要供应商次要供应商事务零件编号事务类型数量订货信息(见订货报表)库存清单零件编号库存量库存量临界值2.4.2绘制数据流图的例子
仓库管理员采购员定货系统事务定货报表图2.5定货系统的基本系统模型2.4.2绘制数据流图的例子库存清单仓库管理员采购员事务定货报表图2.6定货系统的功能级数据流图处理事务1产生报表2D1库存清单D2定货信息定货信息定货信息上述数据流图所描述的功能够详细了吗?2.4.2绘制数据流图的例子仓库管理员采购员事务定货报表图2.7定货系统进一步分解后的数据流图更新库存清单1.2产生报表2D1库存清单D2定货信息接收事务1.1处理定货1.3库存清单定货信息定货信息1)为数据流(或数据存储)命名A.名字应该代表整个数据流(或数据存储)的内容;B.不要使用空洞的、缺乏具体含义的名字(如“数据”、“输入”);
2.4.3命名C.如果为某个数据流(或数据存储)起名字时遇到困难,则很可能是因为对数据流图的分解不恰当造成的,应该试试重新分解数据流图;
2)为处理命名A.通常先为数据流命名,然后再为与之相关联的处理命名;B.名字应该反映整个处理的功能;C.应该尽量避免空洞笼统的动词做名字,如“处理”、“加工”;
D.通常用一个动词命名,如果必须用两个动词才能描述整个处理的功能,则可能要把这个处理分解成两个处理更恰当;E.如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的情况,应考虑重新分解。通常,为“数据源点/终点”命名时,采用它们在问题域中习惯使用的名字(如“仓库管理员”、“采购员”)。1)利用它作为交流信息的工具;2)作为软件分析和设计的工具。2.4.4数据流图的用途
2.4.4数据流图的用途仓库管理员采购员事务定货报表图2.8这种自动化边界建议以联机方式更新库存清单更新库存清单1.2产生报表2D1库存清单D2定货信息接收事务1.1处理定货1.3库存清单定货信息定货信息图2.8对应的物理实现硬件方案2.4.4数据流图的用途
仓库管理员采购员事务定货报表图2.9这种自动化边界暗示以批量方式更新库存清单更新库存清单1.2产生报表2D1库存清单D2定货信息接收事务1.1处理定货1.3库存清单定货信息定货信息D3事务图2.9对应的物理实现硬件方案
数据字典:对数据流图中包含的所有元素的定义的集合;可行性研究阶段,数据流图与数据字典共同构成系统的逻辑模型。2.5数据字典
2.5.1数据字典的内容数据字典应该对下列元素进行定义:1)数据流;2)数据元素(数据流分量);3)数据存储;4)处理。
1)数据元素字典定义其定义的基本内容有:A.数据元素编号、名称及其含义;B.数据类型和长度;C.合理取值;D.其他内容,如它与其它数据的逻辑关系等。2.5.2定义数据的方法数据元素字典定义实例:数据元素编号:DC001数据元素名称:考试成绩别名:成绩、分数简述:学生考试成绩,分五个等级类型/长度:两个字节,字符类型取值/含义:优[90-100]良[80-89]中[70-79]及格[60-69]不及格[0-59]有关数据项或结构:学生成绩档案有关处理逻辑:计算成绩
图2.10数据元素字典定义数据元素的别名就是该元素的其他等价的名字,出现别名主要有下述3个原因:(1)对于同样的数据,不同的用户使用了不同的名字;(2)一个分析员在不同时期对同一个数据使用了不同的名字;(3)两个分析员分别分析同一个数据流时,使用了不同的名字。虽然应该尽量减少出现别名,但是不可能完全消除别名。2)数据流字典定义其定义的基本内容有:A.数据流编号及名称;B.数据流来源;C.数据流去处;D.数据流的组成;E.流通量;F.峰值。数据流字典定义实例:数据流编号:DF001数据流名称:订票单简述:订票时填写的订票单数据流来源:外部实体“乘客”数据流去处:处理逻辑“预订机票”数据流组成:订单编号日期乘客号航班号状态订单失效日期流通量:每天300份高峰值流通量:每天早上9:00,约160份图2.11数据流字典定义3)数据存储字典定义其定义的基本内容有:A.数据存储编号及名称;B.数据存储的组成;C.其它要求。4)数据处理字典定义其定义的基本内容有:A.数据处理编号及名称;B.简单描述;C.输入/输出;D.功能描述;E.有关数据存储。数据处理字典定义实例:数据处理编号:DP001数据处理名称:编辑订票简述:接收从终端录入的订票单,检验是否正确输入:乘客订单,来源:外部实体“乘客”输出:1.合格订单,去处:处理逻辑“确定订票”2.不及格订单,去处:外部实体“乘客”功能描述:……(略)图2.12数据处理字典定义5)组成数据项的表示方法
=表示“等价于”或“定义为”
+表示“与”
[]与|表示“或”
{}表示重复
()表示可选项通讯录={通讯地址}通讯地址=姓名+邮编+[省|直辖市|自治区]+[市|县]+街道+门牌号+(电话)
1.作为分析阶段的重要工具;2.数据元素的控制信息非常有用;3.数据字典是开发数据库的第一步,而且是很有价值的一步。2.5.3数据字典的用途实现数据字典:1)程序处理;2)卡片式人工书写;2.5.4数据字典的实现2.6成本/效益分析
1)代码行技术软件成本=每行代码的平均成本×估计的源代码总行数
2.6.1成本估计2)任务分解技术
软件开发项目分解为若干个相对独立的任务,分别估计每个单独任务的成本:
单独任务成本=任务所需人力估计值×每人每月平均工资;
软件开发项目总成本估计=各个单独任务成本估计值之和。常用的办法是按开发阶段划分任务,典型环境下各个开发阶段需要使用的人力百分比大致如下:任务人力(%)可行性研究需求分析设计编码与单元测试综合测试总计5102520401003)自动估计成本技术采用自动估计成本的软件工具估计。
1)Putnam模型1978年Putnam提出的,一种动态多变量模型:软件开发成本估算的经验模型:Ck为技术状态常数,它反映“妨碍开发进展的限制”,取值因开发环境而异,见下表:Ck的典型值开发环境开发环境举例2000差没有系统的开发方法,缺乏文档和复审8000好有合适的系统的开发方法,有充分的文档和复审11000优有自动的开发工具和技术2)COCOMO模型(constructivecostmodel)
这是由TRW公司开发,Boehm提出的结构化成本估算模型,是一种精确的、易于使用的成本估算方法。基本COCOMO模型估算工作量和进度的公式如下:
工作量:
MM=r×(KDSI)c
(人月)
开发时间:
TDKV=a×(MM)b
(月)DSI:源指令条数,不包括注释,1KDSI=1000DSIMM:开发工作量(以人月计),1MM=19人日=152人时=1/12人年
经验常数r,c,a,b取决于项目的总体类型COCOMO模型中,考虑开发环境,软件开发项目的类型可以分为3种:1)组织型(organic)
相对较小、较简单的软件项目。开发人员对开发目标理解比较充分,与软件系统相关的工作经验丰富,对软件的使用环境很熟悉,受硬件的约束较小,程序的规模不是很大(<50000行)2)嵌入型(embedded)
要求在紧密联系的硬件、软件和操作的限制条件下运行,通常与某种复杂的硬件设备紧密结合在一起。对接口,数据结构,算法的要求高。软件规模任意。如大而复杂的事务处理系统,大型/超大型操作系统,航天用控制系统,大型指挥系统等。3)半独立型(semidetached)
介于上述两种软件之间。规模和复杂度都属于中等或更高。最大可达30万行。COCOMO模型按其详细程度可以分为三级:1)基本COCOMO模型是一个静态单变量模型,它用一个以已估算出来的原代码行数(LOC)为自变量的经验函数计算软件开发工作量。基本COCOMO模型通过统计63个历史项目的历史数据,得到如下计算公式:总体类型工作量所需开发时间组织型MM=2.4×(KDSI)1.05TDKV=2.5×(MM)0.38半独立型MM=3.0×(KDSI)1.12TDKV=2.5×(MM)0.35嵌入型MM=3.0×(KDSI)1.20TDKV=2.5×(MM)0.322)中级COCOMO模型在基本COCOMO模型的基础上,再用涉及产品、硬件、人员、项目等方面的影响因素调整工作量的估算。3)详细COCOMO模型包括中级COCOMO模型的所有特性,但更进一步考虑了软件工程中每一步骤(如分析、设计)的影响。1)货币的时间价值
假设年利率为i,如果现在存入P元钱,则n年以后可以得到的钱数为:
反之,如果n年后能收入F元钱,那么这些钱现在的价
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装饰公司业务员奖惩制度
- 通风工程施工奖惩制度
- 部门说英语奖惩制度细则
- 酒店客房部奖惩制度范本
- 酒店餐饮质检奖惩制度
- 银行业消防工作奖惩制度
- 销售团队现金奖惩制度
- 食品安全考核及奖惩制度
- 公司费用报销管理制度
- 停入车位人工管理制度
- 格宾笼技术教学课件
- 农业烘干设备租赁合同(2025年风险承担)
- 胆总管结石课件
- 档案方面的课题申报书范文
- 收纳劳动课件
- 2025浙江绍兴市原水集团有限公司下属企业招聘1人考试笔试备考试题及答案解析
- GB/T 46605-2025硫化橡胶或热塑性橡胶动态耐切割性能的测定
- 2025年10月自考05677法理学试题及答案含评分参考
- 2025年建筑工程项目管理综合能力测评题库附答案
- 2025年江西省公务员录用考试试卷《申论》(乡镇卷)及答案
- 2025年国企招聘考试(人力资源管理)经典试题及答案
评论
0/150
提交评论