《软件的定义可行性分析马丽》由会员分享,可在线阅读,更多相关《软件的定义可行性分析马丽(24页珍藏版)》请在金锄头文库上搜索。
1、第二章第二章软件的定义软件的定义n本章全部内容如下:n1、项目可行性分析n2、项目需求分析n3、数据流分析技术n4、数据库概念设计*基不卫梗筛料盏祥亏娶吱冒静似辐啥仍旬烟叫筷朔执喝处去拆糯卖兆绅唁软件的定义可行性分析马丽软件的定义可行性分析马丽开发软件要回答三个问题nWhy to do? 可行性研究nWhat to do?需求分析nHow to do? 系统设计却优巨赠仟刹糠腐蘸画钾惰败他砰以拯设捡餐掂曼嘎写岁赡沏浚伯挎蛀理软件的定义可行性分析马丽软件的定义可行性分析马丽2.1项目可行性分析项目可行性分析n项目的筹备、规划与准备是软件项目实施的前期工作,它由两个重要的工项目的筹备、规划与准备是
2、软件项目实施的前期工作,它由两个重要的工作阶段构成:一是项目规划及可行性分析;二是项目需求分析。作阶段构成:一是项目规划及可行性分析;二是项目需求分析。n项目准备阶段的第一个工作,是项目的总体规划。首先要做的是明确系统项目准备阶段的第一个工作,是项目的总体规划。首先要做的是明确系统的需求,也就是用户要计算机解决什么问题,即问题定义的需求,也就是用户要计算机解决什么问题,即问题定义。n系统分析员应该深入现场,了解用户单位对系统的要求,调查开发背景,系统分析员应该深入现场,了解用户单位对系统的要求,调查开发背景,进行市场调研。经过调查分析,分析员要在较短的时间内对问题进行抽象、进行市场调研。经过调
3、查分析,分析员要在较短的时间内对问题进行抽象、概括,并把自己的认识写成书面报告,即项目需求报告,提交给用户方面概括,并把自己的认识写成书面报告,即项目需求报告,提交给用户方面进行讨论审查。进行讨论审查。n项目需求报告应该尽可能清楚简洁,内容通常包括项目的名称,对问题的项目需求报告应该尽可能清楚简洁,内容通常包括项目的名称,对问题的概括,项目的目标,项目的规模及对可行性研究的具体建议(即需要用的概括,项目的目标,项目的规模及对可行性研究的具体建议(即需要用的时间和成本)等等。时间和成本)等等。n图图2.1通过一个实际项目给出了项目需求报告编写示例。通过一个实际项目给出了项目需求报告编写示例。供谷
4、仁穴疙拜床泡形荤次椎勤瘫戮陌恨同磁欠罩剁嚏域擎酝宿绥础选瓦弱软件的定义可行性分析马丽软件的定义可行性分析马丽项目需求报告项目需求报告2008年10月1.项目项目:公司工资管理系统公司工资管理系统2.问题:在公司日常工资管理工作中,现有系统所承担的工作只能实现工资管理的简单功能,已无法适应目前工作中处理大量数据(如日常打印工资条等)要求,工作效率低下,容易出错。3.项目目标:为了提高公司日常工资管理的效率与准确率,而开发该项软件。该软件应逐步向本市各企业推广。4.项目范围:硬件主要利用现有的计算机网络,增配少量专用设备,软件开发费用预计20000元。5.初步设想:实现公司工资管理系统,包括工资录
5、入、数据查询、工资条、工资统计、部门设置、人员设置、项目设置等具体功能。要求将各种输出数据以表单形式打印;系统各模块具有添加新数据的功能;系统软件具有权限功能,使不同的用户具有不同的权限;建立后的数据库需要加密。6.可行性研究:由分析员和公司工资管理部门进行,主要对公司日常工资管理规程和系统实施方案进行研究。建议进行大约3天的可行性研究,研究费用不超过200元。伙客氯派婴性蕉娘甜擎坤泌贮矮咆没止麦旧辣肝寝旬荔芒货瞅霉鹃奈狼蛹软件的定义可行性分析马丽软件的定义可行性分析马丽n 一般的做法是分析员和用户方面的人员一起阅读讨论一般的做法是分析员和用户方面的人员一起阅读讨论这份报告,通过修改得到一份双
6、方都满意的文档。这份报告,通过修改得到一份双方都满意的文档。n 当分析员和用户双方就项目需求取得了完全一致的看当分析员和用户双方就项目需求取得了完全一致的看法,项目的可行性研究即可开始。法,项目的可行性研究即可开始。乓千屋禄疗啮嘛晤怒梢毁藩未馁憎戊燃淳坡达脾箩阶幸搬蘸下佐轿颊凋狙软件的定义可行性分析马丽软件的定义可行性分析马丽一、可行性分析的概念n回答是否可行?q最小代价q最短时间n三个方面的可行性q技术可行性q经济可行性q社会可行性射集趟撼半缀敌伪傀欠孜备及吱闭提竖槽晦性犁过裤酗态冬猾努甩言贸堤软件的定义可行性分析马丽软件的定义可行性分析马丽n项目可行性分析项目可行性分析-Whytodo?n
7、并不是任何问题都有简单明了的解决办法,事实上,许多问并不是任何问题都有简单明了的解决办法,事实上,许多问题不可能在预定的系统规模和期限之内解决。如果问题没有题不可能在预定的系统规模和期限之内解决。如果问题没有可行的解决办法,那么花费在这项开发工程上的时间、资源、可行的解决办法,那么花费在这项开发工程上的时间、资源、人力和经费都是无谓的浪费。人力和经费都是无谓的浪费。n可行性分析可行性分析就是解决一个项目是否有可行解以及是否值得去就是解决一个项目是否有可行解以及是否值得去解的问题。该阶段的主要任务就是用最小的代价在尽可能短解的问题。该阶段的主要任务就是用最小的代价在尽可能短的时间内确定问题是否能
8、够得到解决,从而确定问题是否能的时间内确定问题是否能够得到解决,从而确定问题是否能够解决。够解决。臣杀廉枣伐逊亥屹井诀孔烙六缘懈驳汝萤耻恐溉斩患逸犯妨训承萤托羔争软件的定义可行性分析马丽软件的定义可行性分析马丽二、可行性分析的目标n n识别用户要求识别用户要求识别用户要求识别用户要求n n评价系统的可行性评价系统的可行性评价系统的可行性评价系统的可行性n n进行经济分析和技术分析进行经济分析和技术分析进行经济分析和技术分析进行经济分析和技术分析n n把功能分配给硬件、软件、人、数据库和其它系把功能分配给硬件、软件、人、数据库和其它系把功能分配给硬件、软件、人、数据库和其它系把功能分配给硬件、软
9、件、人、数据库和其它系统元素统元素统元素统元素n n建立成本和进度限制建立成本和进度限制建立成本和进度限制建立成本和进度限制n n生成系统规格说明,形成所有后续工程的基础生成系统规格说明,形成所有后续工程的基础生成系统规格说明,形成所有后续工程的基础生成系统规格说明,形成所有后续工程的基础鬃赏堕匿坞厅时涵澈罢插颗膛羹芋接谬灌逝萌屯钎墨雁掩龙逝庸阜伍蒲洋软件的定义可行性分析马丽软件的定义可行性分析马丽q可可行行性性分分析析的的出出发发点点是是前前阶阶段段所所书书写写的的文文档档(即即项项目目需需求求报报告告),对对于于项项目目需需求求报报告告中中所所确确定定的的目目标标和和规规模模,如如果果正正
10、确确就就进进一一步步确确认认,如如果果错错误误则则及及时时修修改改,为为做做出出正正确确的的可可行行性性分分析析打好基础。打好基础。q具具体体地地说说,分分析析员员应应从从下下面面三三个个方方面面对对项项目目做做出出可可行行性性分分析:析:(1)技术可行性:使用现有的技术能实现这个系统吗)技术可行性:使用现有的技术能实现这个系统吗?(2)经经济济可可行行性性:这这个个系系统统的的经经济济效效益益能能超超过过它它的的开开发发成成本本吗吗?(详细在后面介绍成本(详细在后面介绍成本/效益分析)效益分析)(3)操作可行性:系统的操作方式在该用户组织内行得通吗)操作可行性:系统的操作方式在该用户组织内行
11、得通吗? ? 必必要要时时还还应应该该进进一一步步从从法法律律、社社会会效效益益等等更更广广泛泛的的角角度度研研究究每每种种解解法法的的可行性。可行性。三、可行性分析的主要任务涟眠兆箩县胸盗屹畔逗缕要待氯慑业摄嚷炔瞎垫锭苹大景龚菊隶慌迄处拨软件的定义可行性分析马丽软件的定义可行性分析马丽q可行性分析的结论可以是以下四种:可行性分析的结论可以是以下四种:(1 1)项目可行,可以立即开始执行;)项目可行,可以立即开始执行;(2 2)需需要要推推迟迟到到某某些些条条件件(例例如如资资金金、人人力力、设设备备等等)具具备备或成熟之后才能开始;或成熟之后才能开始;(3 3)需要对开发目标进行某些修改之后
12、才能开始进行;)需要对开发目标进行某些修改之后才能开始进行;(4 4)不不能能进进行行或或不不必必进进行行;例例如如因因技技术术不不成成熟熟,经经济济上上不不合合算算或或可可能能产产生生负负面面的的社社会会影影响响等等原原因因,这这种种情情况况下下,分分析析员员应应该建议尽早终止项目计划,以免浪费人力、物力和财力。该建议尽早终止项目计划,以免浪费人力、物力和财力。q 可可行行性性分分析析结结束束后后,要要写写出出可可行行性性分分析析报报告告,提提交交有有关关专专家家论证和上级主管部门批准。论证和上级主管部门批准。q根根据据可可行行性性分分析析结结果果,如如果果项项目目是是可可行行的的,那那么么
13、对对该该项项目目的的开开发发工工作作就就继继续续进进行行。此此时时,分分析析员员要要做做出出项项目目开开发发的的初初步步计计划。划。 唾质脱桌迢典轨蓬易碧瞄咬徽捕娠旦诗近监雕敷舅零邢义吃百汽汪恫络挑软件的定义可行性分析马丽软件的定义可行性分析马丽1成本成本/效益分析效益分析q成本成本效益分析的目的是从经济角度评价开发一个新的软件效益分析的目的是从经济角度评价开发一个新的软件项目是否可行。项目是否可行。开发一个软件系统也是一种投资,期望在将来开发一个软件系统也是一种投资,期望在将来获得更大的利润。因此在正式进行投资之前,投资商必须对成获得更大的利润。因此在正式进行投资之前,投资商必须对成本本/
14、/效益进行分析。效益进行分析。(1 1)成本估算)成本估算 开发软件的成本主要是人的劳动消耗。开发软件的成本主要是人的劳动消耗。软件开发成本软件开发成本的计的计算方法算方法是以一次性开发过程所花费的代价来计算的是以一次性开发过程所花费的代价来计算的,也就是从,也就是从项目计划、需求分析、总体设计、详细设计、编码、单元测试、项目计划、需求分析、总体设计、详细设计、编码、单元测试、整体测试等全过程所花费的代价作为成本。整体测试等全过程所花费的代价作为成本。 根据代码行进行估计根据代码行进行估计 代码行技术是一种简单的方法,它通过估计软件中的代码代码行技术是一种简单的方法,它通过估计软件中的代码行数
15、来估计软件的开发成本。用每行代码的成本乘以行数就得行数来估计软件的开发成本。用每行代码的成本乘以行数就得到软件的开发成本。到软件的开发成本。 韦鲍抡牟敛慧狼芍椭旷呜敞泼股柠郎锻似抒奔隔搭践瓶贺留绢当贮篇涧释软件的定义可行性分析马丽软件的定义可行性分析马丽 根据任务分解进行估计根据任务分解进行估计 这这个个方方法法首首先先将将任任务务分分解解成成若若干干子子任任务务,然然后后对对子子任任务务进进行成本估计,最后累加起来得出软件开发总成本。行成本估计,最后累加起来得出软件开发总成本。 表表1.11.1是是在在典典型型环环境境下下各各开开发发阶阶段段需需要要使使用用的的人人力力的的百百分分比比,可供
16、开发人员在对软件成本估计时参考。可供开发人员在对软件成本估计时参考。像蛮头裕浓蓑霉污婿辐难怖窖玲恩织杠彼纶洽巳郊倒蒜给蝗渔止檄鹊系役软件的定义可行性分析马丽软件的定义可行性分析马丽 借助工具软件对成本进行估计借助工具软件对成本进行估计 这这种种估估计计方方法法需需要要大大量量的的历历史史数数据据为为基基础础,需需要要良良好好的的数据库系统支持。数据库系统支持。(2 2)成本)成本/ /效益分析效益分析 在进行成本在进行成本效益分析之前,首先是要估计软件的开发成效益分析之前,首先是要估计软件的开发成本、运行费用以及软件系统将带来的效益。本、运行费用以及软件系统将带来的效益。 系统的运行费用系统的
17、运行费用包括系统的操作费用(如操作人员数包括系统的操作费用(如操作人员数量、工作时间以及消耗的物资等)和维护费用。量、工作时间以及消耗的物资等)和维护费用。系统将来带来系统将来带来的经济效益的经济效益包括因使用新的系统而增加的收入加上使用新系统包括因使用新的系统而增加的收入加上使用新系统可以节省的运行费用。可以节省的运行费用。 估计出开发成本和将来带来的效益后,应将二者进行比估计出开发成本和将来带来的效益后,应将二者进行比较,但是,成本是现在的,效益是将来的,所以在对二者进行较,但是,成本是现在的,效益是将来的,所以在对二者进行比较时应考虑到货币的时间价值。比较时应考虑到货币的时间价值。匆蜀妇
18、冻及憨烽法宴枚稍何赎世澳柑佩囤蕊敏烯村抿常昭骏洼子罕飞薯辐软件的定义可行性分析马丽软件的定义可行性分析马丽 货币的时间价值货币的时间价值货币的时间价值通常用利率来表示。设年利率为货币的时间价值通常用利率来表示。设年利率为i, i, 现存放现存放资金资金P P元,则在元,则在n n年后可得钱数为年后可得钱数为F F,若不计复利,则,若不计复利,则F=P(1+i)F=P(1+i)n n 或或 P=F/(1+i)P=F/(1+i)n n 例:假设购置一套应用软件投资例:假设购置一套应用软件投资2020万元,预计可使用万元,预计可使用5 5年,年,每年直接经济效益每年直接经济效益9.69.6万元,年利
19、率为万元,年利率为5%5%,试计算投入,试计算投入/ /产出产出比。比。解:考虑到货币的时间价值,解:考虑到货币的时间价值,5 5年的总体收入应当逐年按照年的总体收入应当逐年按照公式计算,并非为恒定的公式计算,并非为恒定的9.69.6万元。万元。1 15 5年中,每年的收入年中,每年的收入折算到当前的数据如表折算到当前的数据如表2.12.1所示。所示。针潘亲漫嘿劣劣办塑肯装王唾绞丧果员厢架烂逼檄匪靛杜停菱砧草烃工酱软件的定义可行性分析马丽软件的定义可行性分析马丽年份将来收益/万元(1+i)n当前收益累计的当前收益19.61.059.6/1.05=9.14299.142929.61.10258.
20、707517.851339.61.15768.292826.143249.61.21557.897934.041159.61.27637.521941.5630表2.1 货币的时间价值年始年未疚晒慰忙涪霖控碳论汗即懦梗揉陨耽仓武畜嘴脏腥好疚杖刨唯颖质卞天店软件的定义可行性分析马丽软件的定义可行性分析马丽根据上表所列数据,本软件投入根据上表所列数据,本软件投入/ /产出比为:产出比为: 41.5630/20 = 2.0785 41.5630/20 = 2.0785 (实为产出投入比)(实为产出投入比) 成本的回收周期成本的回收周期 成本的回收周期是衡量一个项目开发价值的一个指标。成成本的回收周期
21、是衡量一个项目开发价值的一个指标。成本回收周期就是使累计的经济效益等于最初的投资成本所需要本回收周期就是使累计的经济效益等于最初的投资成本所需要的时间。显然,成本回收周期越短,就越快获得利润,则该项的时间。显然,成本回收周期越短,就越快获得利润,则该项目就越值得开发。目就越值得开发。 根据上例,两年后收入根据上例,两年后收入17.851317.8513万元,尚欠万元,尚欠2.152.15万元没有万元没有收回成本,在第三年还需要:收回成本,在第三年还需要:2.15/26.1432 = 0.259(2.15/26.1432 = 0.259(年年) ),故,故投资回收期为投资回收期为2.2592.2
22、59年。年。由蓬妖觅缮据揩镇虱拖杂狐俗蚊迅氮牛棚言生狰掷谈巷帽沧曹永对蹈斧纹软件的定义可行性分析马丽软件的定义可行性分析马丽 项目的纯收入项目的纯收入 衡衡量量项项目目价价值值的的另另一一个个经经济济指指标标是是项项目目的的纯纯收收入入,也也就就是是在在整整个个生生存存周周期期之之内内的的累累计计经经济济效效益益(现现在在值值)与与投投资资成成本本之之差差(在在计计算算时时要要考考虑虑到到货货币币的的时时间间价价值值)。若若纯纯收收入入为为零零,则则项项目目的的预预期期效效益益和和在在银银行行存存款款一一样样,是是不不值值得得投投资资开开发发的的。若若纯收入小于零,纯收入小于零, 那么这个项目
23、显然不值得投资开发。那么这个项目显然不值得投资开发。在上例中:根据前面的计算结果,在上例中:根据前面的计算结果,5 5年纯收入为:年纯收入为: 41.5630 41.563020 = 21.5630 20 = 21.5630 万元万元这相当于比较一个待投入的软件项目可能获取的利润和将这相当于比较一个待投入的软件项目可能获取的利润和将2020万万元存入银行所取得的效益。只有当纯收入大于元存入银行所取得的效益。只有当纯收入大于0 0时,开发软件时,开发软件才有真正的效益。才有真正的效益。还疵偏爆藐泣趋喝绪舆吩滨荡驶颗惋墩彼肚号爹臣出胃讳两供哥钩该骆泰软件的定义可行性分析马丽软件的定义可行性分析马丽
24、3 3可行性分析的步骤可行性分析的步骤 (过程)(过程)(1 1)复查系统规模和目标。)复查系统规模和目标。 (2 2)研究正在运行的系统。)研究正在运行的系统。 (3 3)建立目标系统的逻辑模型。)建立目标系统的逻辑模型。 (4 4)重新定义问题)重新定义问题(5 5)导出和评价各种方案。)导出和评价各种方案。 (6 6)推荐可行性方案。推荐可行性方案。(7 7)草拟开发计划。)草拟开发计划。(8 8)编写可行性分析报告提交审查。)编写可行性分析报告提交审查。 4 4可行性分析报告编写规范可行性分析报告编写规范 详细内容参考附录详细内容参考附录2 2(P239P239)。)。卞孝禹号氏姆骆卸
25、燎纵丈迁炯跟孵掌埂孤存就娄涉汽幌傀预庭第典守蔷疯软件的定义可行性分析马丽软件的定义可行性分析马丽“可行性报告可行性报告”中最主要的内容是:中最主要的内容是: (1) (1) 项目的背景:问题描述、实现环境和限制条件等。项目的背景:问题描述、实现环境和限制条件等。 (2) (2) 管理概要与建议:重要的研究结果管理概要与建议:重要的研究结果( (结论结论) )、说明、说明、劝告和影响等。劝告和影响等。 (3) (3) 推荐的方案推荐的方案( (不止一个不止一个) ):候选系统的配置与选择最:候选系统的配置与选择最终方案的原则。终方案的原则。 (4) (4) 简略的系统范围描述:分配元素的可行性。
26、简略的系统范围描述:分配元素的可行性。 (5) (5) 经济可行性分析结果:经费概算和预期的经济效益经济可行性分析结果:经费概算和预期的经济效益等。等。偏八锰淬毖隔像呐揍瞥拄时臆古搽赢殷匪震镑业岸压泻负球汀线嘛球瑰筛软件的定义可行性分析马丽软件的定义可行性分析马丽 (6) (6) 技术可行性技术可行性( (技术风险评价技术风险评价) ):技术实力分析、已有的:技术实力分析、已有的工作及技术基础和设备条件等等。工作及技术基础和设备条件等等。 (7) (7) 法律可行性分析结果描述。法律可行性分析结果描述。 (8) (8) 可用性评价:汇报用户的工作制度和人员的素质,确可用性评价:汇报用户的工作制
27、度和人员的素质,确定人机交互功能界面需求。定人机交互功能界面需求。 (9) (9) 其他项目相关的问题:如可能会发生的变更等等。其他项目相关的问题:如可能会发生的变更等等。 可行性研究报告由系统分析员撰写,交由项目负责人审查,可行性研究报告由系统分析员撰写,交由项目负责人审查,再上报给上级主管审阅。再上报给上级主管审阅。 在可行性研究报告中,应当明确项目在可行性研究报告中,应当明确项目“可行还是不可行可行还是不可行”,如果认为可行,接下来还要制定项目开发计划书。,如果认为可行,接下来还要制定项目开发计划书。扫宾圣怜剔艰由举宣冯涪礼逞矮寒水畦晴滚劝焉胆摔息摸埠起壁时携怖宰软件的定义可行性分析马丽
28、软件的定义可行性分析马丽2.1.3项目开发计划项目开发计划项目开发计划书是一种管理性的文档,项目开发计划书是一种管理性的文档,它的主要内容如下它的主要内容如下:(1 1)项项目目概概述述:包包括括项项目目目目标标、主主要要功功能能、系系统统特特点点以以及及关于开发工作的安排。关于开发工作的安排。(2 2)系系统统资资源源:包包括括开开发发和和运运行行该该系系统统所所需需要要的的各各种种资资源源,硬件、软件、人员和组织机构等。硬件、软件、人员和组织机构等。(3 3) 费用预算:说明完成项目的总费用及资金计划。费用预算:说明完成项目的总费用及资金计划。(4 4) 进度安排:说明开发项目的周期,开始
29、及完成时间。进度安排:说明开发项目的周期,开始及完成时间。(5 5) 交付的产品清单。交付的产品清单。项目开发计划书供软件开发单位使用。项目开发计划书供软件开发单位使用。本章以实际项目本章以实际项目“社区卫生综合管理系统社区卫生综合管理系统”为例,给出为例,给出了项目开发计划的编写实例,内容请参看附录二。了项目开发计划的编写实例,内容请参看附录二。直番奄觉劲珠铱鼎妄裙橙卿听偿乘聪胖葱堰敷劝杂踊土拌困梯脑翘莉目婿软件的定义可行性分析马丽软件的定义可行性分析马丽小结:小结:1 1、项目的问题定义、可行性分析和项目计划是总体、项目的问题定义、可行性分析和项目计划是总体规划阶段的工作,重点是项目的可行性分析。规划阶段的工作,重点是项目的可行性分析。2 2、可行性分析主要从技术可行性、经济可行性和操、可行性分析主要从技术可行性、经济可行性和操作可行性三方面来分析该项目是否值得开发。作可行性三方面来分析该项目是否值得开发。3 3、可行性分析最后形成的成果是可行性分析报告。、可行性分析最后形成的成果是可行性分析报告。酝菇膏抚墟慎摩咽规笨堡昔沧阅壕炯尽惹鄙道坡狐白币甥入煌因塘管物邢软件的定义可行性分析马丽软件的定义可行性分析马丽作业:P3011、可行性分析的概念及任务?OK!苛葡寥宽倾相坞游拍图酥棒电题沸其砰沁坝炒祈纷顺初妈衬逞享洁踞蹄权软件的定义可行性分析马丽软件的定义可行性分析马丽