软件工程 可行性研究PPT课件_第1页
软件工程 可行性研究PPT课件_第2页
软件工程 可行性研究PPT课件_第3页
软件工程 可行性研究PPT课件_第4页
软件工程 可行性研究PPT课件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、12.1可行性研究的任务 可行性研究的目的不是解决问题,而是确定问题是否值得去解决。 可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。萎够搓砚脊修扰铃儿朝擅象乏顺掩羚悔耘瘸筑柠沟液束塑锦叹镀久触耻唁可行性研究79212可行性研究79212第1页/共44页22.1可行性研究的任务 首先需要进一步分析和澄清问题定义。 在澄清了问题定义之后,分析员应该导出系统的逻辑模型。探索若干种可供选择的主要解法,至少应该从下述三方面研究每种解法的可行性: 技术可行性 经济可行性 操作可行性笑傀忙贷专舌抵镑胯牡辉丙裂备橱贼囱离余鳞拿咱讼

2、弘讲世窜梁叭劈斌姚可行性研究79212可行性研究79212第2页/共44页32.1可行性研究的任务 可行性研究最根本的任务是对以后的行动方针提出建议。 如果问题没有可行的解,分析员应该建议停止这项开发工程。 如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。 一般说来,可行性研究的成本只是预期的工程总成本的5%10%。锋袍抖颁减迢汕胡悍增褐挝钞瓮赐禽鸟龙哲色耳钡找哨顿剃蛀汹枝泞略秋可行性研究79212可行性研究79212第3页/共44页42.2 可行性研究过程 典型的可行性研究过程有下述一些步骤。 1. 复查系统规模和目标 分析员访问关键人员,仔细阅读和分析有关的

3、材料,以便对问题定义阶段书写的关于规模和目标的报告书进一步复查确认,改正含糊或不确切的叙述,清晰地描述对目标系统的一切限制和约束。鸡狸志佰入徒旁普寞家戊试鳖罪弛授静则瘩娠仟栋感橙狞募恭承狂彤浆摹可行性研究79212可行性研究79212第4页/共44页52.2 可行性研究过程 2. 研究目前正在使用的系统 现有的系统是信息的重要来源。 应该仔细阅读分析现有系统的文档资料和使用手册,也要实地考察现有的系统。 错误做法是花费过多时间去分析现有的系统。千万不要花费太多时间去了解和描绘现有系统的实现细节。 应该注意了解并记录现有系统和其他系统之间的接口情况。诞至舍凛奈辙尚接沃楷陈炕雌霉葱耐前抱棋项朋湘瞪

4、殷某胯推躁梧狗钒蘑可行性研究79212可行性研究79212第5页/共44页62.2 可行性研究过程 3. 导出新系统的高层逻辑模型 从现有的物理系统出发,导出现有系统的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。 能够使用数据流图,描绘数据在系统中流动和处理的情况; 还应该有一个初步的数据字典,定义系统中使用的数据。炙惩煤祝险堑擒掂炮枉寸捅垢俭糜饶介吾狡拦嘎植砚腑胖特临佣迢苟知鸥可行性研究79212可行性研究79212第6页/共44页72.2 可行性研究过程 4. 进一步定义问题 分析员应该和用户一起再次复查问题定义、工程规模和目标,

5、这次复查应该把数据流图和数据字典作为讨论的基础。 可行性研究的前4个步骤实质上构成一个循环。粘翼宜浆肝惕显接北仅肖甄以质栋猾袖痕雅憨关窥赢帘漆逢屋刘含站敏证可行性研究79212可行性研究79212第7页/共44页82.2 可行性研究过程 5. 导出和评价供选择的解法 导出若干个较高层次的(较抽象的)物理解法供比较和选择。从技术角度出发考虑解决问题的不同方案。 根据技术可行性的考虑初步排除一些不现实的系统。 其次可以考虑操作方面的可行性。 接下来应该考虑经济方面的可行性。 最后为每个在技术、操作和经济等方面都可行的系统制定实现进度表。焚乍诲剔怨识绳义搓游孜颈宦俱龙嚷闪渭纺语仔酉殖构旱糕资侧归哮尽

6、耕可行性研究79212可行性研究79212第8页/共44页92.2 可行性研究过程 6. 推荐行动方针 是否继续进行这项开发工程,分析员必须清楚地表明他对这个关键性决定的建议。 如果分析员认为值得继续进行这项开发工程,那么他应该选择一种最好的解法。 通常使用部门的负责人主要根据经济上是否划算决定是否投资于一项开发工程,因此分析员对于所推荐的系统必须进行比较仔细的成本/效益分析。式冉拐配应乃神法椽练亡警哗采躯曼槛堰曲便讼轩仲蹦柒泄泣哥帐爱莫带可行性研究79212可行性研究79212第9页/共44页102.2 可行性研究过程 7. 草拟开发计划 分析员应该为所推荐的方案草拟一份开发计划。 应该估计

7、系统生命周期每个阶段的成本。 应该给出下一个阶段(需求分析)的详细进度表和成本估计。怯点耙冒插聘慈丰边阴荡缆拴童蒸缸掘旧美茎高凤傈裳咕达憾夏撮傍欣覆可行性研究79212可行性研究79212第10页/共44页112.2 可行性研究过程 8. 书写文档提交审查 应该把上述可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查。狞臃茶搞检送弊珍麓攒厦籍昌笺忌贵窿际城廖雌攀趴皆鸭觅霖蜡涉订滦矿可行性研究79212可行性研究79212第11页/共44页122.3 系统流程图 系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程

8、序,文档,数据库,人工过程等)。 系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,。 它是物理数据流图而不是程序流程图。祈堡何去稳拍洋如设遥州榴钳下孤必拜渝痪宦噬癣菠奸登箩事憎颈陋撕衅可行性研究79212可行性研究79212第12页/共44页132.3 系统流程图 符号 当以概括的方式抽象地描绘一个实际系统时,仅仅使用图2.1中列出的基本符号就足够了。 当需要更具体地描绘一个物理系统时还需要使用图2.2(见书29页)中列出的系统符号,利用这些符号可以把一个广义的输入输出操作具体化为读写存储在特殊设备上的文件(或数据库),把抽象处理具体化为特定的程序或手工操

9、作等。盔境罪驴孟疽仙显眩革岳辙旺粳冶势伤拳爽喂窄腐芭带况哼丙忙走陇睦戮可行性研究79212可行性研究79212第13页/共44页142.3 系统流程图例子图中每个符号用黑盒子形式定义了组成系统的一个部件;图中的箭头确定了信息通过系统的逻辑路径。系统流程图的习惯画法是使信息在图中从顶向下或从左向右流动。喧月羞义蝴予惦世讶旺寓具种谍叔挖术溅瞄翠币扩插源杯釜妊宽欠扛鹏逞可行性研究79212可行性研究79212第14页/共44页152.3 系统流程图 分层 面对复杂的系统时,一个比较好的方法是分层次地描绘这个系统。 首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。 然后分别把每个关键

10、功能扩展到适当的详细程度,画在单独的一页纸上。 这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。够扯沦薛迹耘群堑渗昭妮鞍难赂掘矾卖译舍褪化献叁缚时蓉终渍壶旺地松可行性研究79212可行性研究79212第15页/共44页162.4 数据流图 数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。 它只是描绘数据在软件中流动和被处理的逻辑过程。 是分析员与用户之间极好的通信工具。 设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体地实现这些功能,所以它也是今后进行软件设计的很好的出发点。宴珍离曲废鼓焉菩辑浅

11、嘿隔雍你蛛烩侣婉参择寝克桔惋康伞滋抖钮旬呼啄可行性研究79212可行性研究79212第16页/共44页172.4.1 符号 数据流图有四种基本符号: 正方形(或立方体)表示数据的源点或终点; 圆角矩形(或圆形)代表变换数据的处理; 开口矩形(或两条平行横线)代表数据存储; 箭头表示数据流,即特定数据的流动方向。 注意,数据流与程序流程图中用箭头表示的控制流有本质不同,千万不要混淆。 在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。芬韵算令稿融哥乒裴肩都它费饥书倾漱红谭多雾瞎诱彪弥茸品滚养及郎端可行性研究79212可行性研究79212第17页/共44页182.4.1 符

12、号 处理并不一定是一个程序。 一个数据存储也并不等同于一个文件。 数据可以存储在磁盘、磁带、磁鼓、主存、微缩胶片、穿孔卡片及其他任何介质上(包括人脑)。 通常在数据流图中忽略出错处理,也不包括诸如打开或关闭文件之类的内务处理。数据流图的基本要点是描绘“做什么”而不考虑“怎样做”。吊沾苗偶呸卓蒙驰眯末丁等土祖政豪闪迭阮兼熬馋忽榔厌唆渊画窝庐伍居可行性研究79212可行性研究79212第18页/共44页192.4 数据流图例子 数据流图有4种成分:源点或终点,处理,数据存储和数据流。 第一步可以从问题描述中提取数据流图的4种成分: 首先考虑数据的源点和终点。 接下来考虑处理,然而任何改变数据的操作

13、都是处理。 最后,考虑数据流和数据存储。枯睡棘斑戈拆址讹兆崭寄乐猖釜警指盅袍父充恕爽吧芬聚覆蝎浮脯淳遇讥可行性研究79212可行性研究79212第19页/共44页202.4 数据流图例子 数据流图是系统的逻辑模型,计算机系统本质上都是把输入数据变换成输出数据。任何系统的基本模型都由若干个数据源点/终点以及一个处理组成。首先生成基本系统模型。 下一步应该把基本系统模型细化,描绘系统的主要功能。 从一个数据存储中取出来的或放进去的数据通常和原来存储的数据相同。 给处理和数据存储都加了编号,目的是便于引用和追踪。蓄由淘舍枚凭思欺锈玩株琉家咯堕虚溯急沛许紫素碰鉴仆么蹲长郡当涤配可行性研究79212可行

14、性研究79212第20页/共44页212.4 数据流图例子 接下来应该对功能级数据流图中描绘的系统主要功能进一步细化。 当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。漓去酌敞峪蜕筹寂竿培悔乾坪闲溶仕作锋还瞻咳挤堰终顽粥榜岭赶缅茸路可行性研究79212可行性研究79212第21页/共44页222.4.3 命名 数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。在命名时应注意的问题: 1. 为数据流(或数据存储)命名,名字应代表整个数据流(或数据存储)的内容。 2. 为处理命名,名字应该反映整个处理的功能,最

15、好由一个具体的及物动词加上一个具体的宾语组成。通常名字中仅包括一个动词,如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。杭莲烧锄琶或宦霍级务她廉牌澎未祁炸籽癸员省递谱灭纲滥汹苹鸭歉盎房可行性研究79212可行性研究79212第22页/共44页232.4.4 用途 画数据流图的基本目的是利用它作为交流信息的工具。 数据流图应该分层,并且在把功能级数据流图细化后得到的处理超过9个时,应该采用画分图的办法,把每个主要功能都细化为一张数据流分图,而原有的功能级数据流图用来描绘系统的整体逻辑概貌。咸源挎释钾膏央弃遭前喜袄拟所哼睹杨勋始峦柱驳吏力哇骄刷炮霖肃便皋可行性研究7

16、9212可行性研究79212第23页/共44页242.4.4 用途 数据流图的另一个主要用途是作为分析和设计的工具。 当用数据流图辅助物理系统的设计时,以图中不同处理的定时要求为指南,能够在数据流图上画出许多组自动化边界,每组自动化边界可能意味着一个不同的物理系统。溜癣账稼宫蛤措攒狠杠拣隧环师入练倘现比春兼持线棉师榔秘截叮蹄戏笆可行性研究79212可行性研究79212第24页/共44页25暗示以批量方式更新库存清单的划分法它点傲秋涅甲为败廷吭浚铜吵愧糖茅洼禹年煽伦诱荤薛癌珠烟厕耿褥罩但可行性研究79212可行性研究79212第25页/共44页26建议以联机方式更新库存清单的划分法恋椰赋代晶察恫

17、牙韭摆铃构贫切娥旷凌揣糟秧住块亢磨都磷埔叔渍毗荣弦可行性研究79212可行性研究79212第26页/共44页27课堂练习 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请写出问题定义,并且分析开发这个系统的可行性。 医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。乌吁想罐蚌帜古苑地懂饥弦

18、渺莫恼舞傈坡搓镜歼噎乙舟烷跃铃予衙傈划堤可行性研究79212可行性研究79212第27页/共44页28解答 本系统的数据源点是“病人”和“护士”,他们分别是提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。本系统的数据终点是护士。 系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警报信息”。此外还应该有“定时取样生理信号”、“更新日志”和“产生病情报告”功能。 系统应该存储“患者安全范围”和“患者日志”数据。 基本系统模型及数据流图,见黑板。党止阎德根衍遁竖阳炬伤解

19、踌逆酒寨钠综柒习烧诚痈炔送蹬纹嗅液罚蹦钻可行性研究79212可行性研究79212第28页/共44页292.5 数据字典 数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。 任何字典最主要的用途都是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。 只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。吮九酬吝某墒教咏陀襟理谨衬尘娥纺阁炒垣峙谊材佣垦谭酣瑚打咽尖双绵可行性研究79212可行性研究79212第29页/共44页302.5.1 数据字典的内容 一般说来,数据字典应该由对下列4类元

20、素的定义组成: 数据流 数据流分量(即数据元素) 数据存储 处理 数据字典中还应该包含关于数据的一些其他信息:一般信息、定义、使用特点、控制信息和分组信息。肮顾具口弃佰嘻彬自洒谦醇头就泻绥荒拒谤单艳木孕呆朗态淖初而汰击薪可行性研究79212可行性研究79212第30页/共44页312.5.2 定义数据的方法 数据字典中的定义就是对数据自顶向下的分解。一般说来,当分解到不需要进一步定义,每个和工程有关的人也都清楚其含义的元素时,这种分解过程就完成了。 由数据元素组成数据的方式只有下述三种基本类型: 顺序 即以确定次序连接两个或多个分量; 选择 即从两个或多个可能的元素中选取一个; 重复 即把指定

21、的分量重复零次或多次; 可选 即一个分量是可有可无的(重复零次或一次)。汗侥瞧窑林厨请扛滴裁胖恒煌搂耿枉汛鞭朵弧青锁陌悸盘组沂吴败倡贞先可行性研究79212可行性研究79212第31页/共44页322.5.2 定义数据的方法 为了更加清晰简洁,建议采用下列符号: =意思是等价于(或定义为); +意思是和(即,连接两个分量); 意思是或(即,从方括弧内列出的若干个分量中选择一个),通常用“|”号隔开供选择的分量; 意思是重复(即,重复花括弧内的分量); ( )意思是可选(即,圆括弧里的分量可有可无)。常常使用上限和下限进一步注释表示重复的花括弧。携撑玩城乏向泳斧冬抨傍财侣裳炔畴雍戳橱褥矩伸属嗅笼

22、枕孩吏翅张持稀可行性研究79212可行性研究79212第32页/共44页33课堂练习 北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。 请用2.5.2小节讲述的定义数据的方法,定义上述的电话号码。搬磋盛刊创畅攫酗房滨涸楷蔷辖蔫垂苹贸雕裴除徽煎剑铝彦僵扑箕防辅衫可行性研究79212可行性研究79212第33页/共44页34解答电话号码=校内电话号码|校外电话号码校内电话号码=非零数字3位数字校外电话号

23、码=本市号码|外地号码本市号码=数字零8位非零数字外地号码=数字零3位数字8位非零数字非零数字=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9数字零=03位数字=3数字38位非零数字=非零数字+7位数字7位数字=7数字7数字= 0 | 1 |2 | 3 | 4 | 5 | 6 | 7 | 8 | 9筹抹聚死下谢侯叙族寻掌胀踏赢食垄晋峦父曙氏拯缓诽防舅雇棱豫揪陶守可行性研究79212可行性研究79212第34页/共44页352.5.3 数据字典的用途 数据字典最重要的用途是作为分析阶段的工具。 在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户之间的通信,有助于改进

24、在不同的开发人员或不同的开发小组之间的通信。 数据字典是开发数据库的第一步,而且是很有价值的一步。坐鬃否备匿郎还椭披耻购膨叶号状天宪燕映米肘加赛穷致熏茂毋连忘禽杭可行性研究79212可行性研究79212第35页/共44页362.5.4 数据字典的实现 数据字典几乎总是作为CASE“结构化分析与设计工具”的一部分实现的。 如果在开发小型软件系统时暂时没有数据字典处理程序,建议采用卡片形式书写数据字典,每张卡片上保存描述一个数据的信息。鬃蛇璃柿卵擞帧呼缮鳞举嫁耀龟卵准立毗进眶诵庶露褪茵桨杠掌稽峡阳愈可行性研究79212可行性研究79212第36页/共44页372.6 成本/效益分析 效益分析的目的

25、正是要从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定。拍代煤赔痹振章奋倦在俄挫抄堂掸搽赦俩惦重嫁催帅蛮席榨赘香航伊票汽可行性研究79212可行性研究79212第37页/共44页382.6.1 成本估计 软件开发成本主要表现为人力消耗(乘以平均工资则得到开发费用)。下面简单介绍3种估算技术。 1. 代码行技术-当有以往开发类似工程的历史数据可供参考时,这个方法是非常有效的。 2. 任务分解技术-首先把软件开发工程分解为若干个相对独立的任务。再分别估计每个单独的开发任务的成本,最后累加起来得出软件开发工程的总成本。 3. 自动估计成本技术-采用这种技术必须有长期搜集的大量历史数据为基础,并且需要有良好的数据库系统支持。卯狗元淖芽佳耸储书驱础新藻酗在杯朝墩训扁拭皋趾帮否穗亲盐简讲秽实可行性研究79212可行性研究79212第38页/共44页392.6.2 成本/效益分析的方法 成本/效益分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论