




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程SoftwareEngineering,第2章:可行性研究,2.1可行性研究的任务2.2可行性研究过程2.3系统流程图2.4数据流图2.5数据字典2.6成本/效益分析2.7小结,Y,开始,问题定义,可性行研究,可行否?,项目实施计划,终止项目的建议,结束,N,问题的定义与可性行研究,Who,What,Why,有用的软件,3W,第2章:可行性研究,可行性研究的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。(不是解决问题,而是确定问题是否值得去解决。),可行性研究就是要回答“所定义的问题有可行的解决办法吗?”。可行性研究的主要任务是“了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。”GB8566-88计算机软件开发规范,2.1可行性研究的任务,可行性研究的实质:进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。可行性研究的内容:1)技术可行性使用现有的技术能否实现这个系统?是否有胜任开发该项目的熟练技术人员?能否按期得到开发该项目所需的软件、硬件资源?,2)经济可行性所要考虑的问题:这个系统的经济效益能否超过它的开发成本?这就需要对项目进行价格/利益分析,即“投入/产出”分析。3)操作可行性操作可行性评价系统运行后会引起的各方面变化,如:对组织机构管理模式、用户工作环境等产生的影响。4)社会可行性主要讨论法律方面和使用方面的可行性。例如,被开发软件的权利归属问题、软件所使用的技术是否会造成侵权等问题。,可行性研究的最根本任务对软件开发以后的行动方针提出建议。可行性研究所需的时间取决于工程的规模,所需要的成本要占工程总成本的5%10%。,2.2可行性研究过程,可行性研究的步骤1.复查系统规模和目标确保分析员正在解决的问题确实是要求他解决的问题。2.研究目前正在使用的系统1)新的目标系统必须也能完成旧系统的基本功能;2)新系统必须能解决旧系统中存在的问题;3)新系统不能增加收入或减少使用费用,那么从经济角度看新系统不如旧系统。3.导出新系统的高层逻辑模型现有的物理系统现有系统的逻辑模型目标系统的逻辑模型新的物理系统(数据流图、数据字典),4.重新定义问题;分析员和用户一起再次复查问题定义、工程规模和目标。前4个步骤实质上构成一个循环。5.导出和评价供选择的解法(物理解决方案)1)从技术角度提出些可能的物理系统,排除不现实系统;2)考虑操作可行性,去掉用户不能接受的方案;3)考虑经济可行性,估计余下的每个可能的系统的开发成本和运行费用,进行成本/效益分析;4)为每个在各方面都可行的系统制定实现进度表。6.推荐行动方案根据可行性研究结果做出关键性决定:是否继续进行这项开发工程。7.草拟开发计划;8.书写文档提交审查。,2.3系统流程图,系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。,2.3.1符号,基本符号-以概括的方式抽象地描绘一个实际系统所用符号,系统符号-用符号具体地描绘一个物理系统所,2.3.2例子,2.4数据流图,数据流图(DFDDataFlowDiagram)一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程,是系统逻辑功能的图形表示。设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体地实现这些功能,所以它也是今后进行软件设计的很好的出发点。数据流图的基本目的是利用它作为交流信息的工具。分析员把他对现有系统的认识或对目标系统的认识用数据流图绘制出来,供有关人员审查确认。,2.4.1绘制数据流图的符号,数据加工/处理/变换,数据流(dataflow),数据存储文件,或,或,或,图2.4(a)基本符号的含义,数据源点或终点(外部实体),图2.4(b)附加符号的含义,注意:“处理”可表示:单个程序、一系列程序、程序的一个模块、人工处理过程等等;“数据存储”可表示:一个文件、文件的一部分、数据库记录等等;数据存储和数据流均为数据。数据存储是静止数据,而数据流是动态数据。数据流图张忽略出错处理、打开文件、关闭文件。只描绘“做什么”,而不考虑“怎么做”,图2.5定货系统的基本系统模型,例子:一家工厂的采购部每天需要一张订货报表。报表按零件编号排序,表中列出了所有需要再次订货的零件。通过放在仓库中的CRT把事务报告给订货系统,当某种零件库存量少于库存量临界值时就应该再次订货。,2.4.2绘制数据流图的例子,图2.6定货系统的功能级数据流图,在这个任务中主要完成两个功能:“事务处理”和“产生报表”。事务处理需要用到“库存清单”数据(静态),同时产生“订货信息”。而事务处理和产生报表不在不同时间进行,因此,要存储“订货信息”,成为两个功能的数据流连接数据。,组成该例子的数据流图的元素,当一个事务发生时必须首先接受它,按照事务内容修改库存清单;若库存量少于库存临界值时,就应再次订货,也就需要再次修改订货信息,这样“事务处理”可分解为以下3个步骤:,1)为数据流(或数据存储)命名A名字应该代表整个数据流(或数据存储)的内容;B不要使用空洞的、缺乏具体含义的名字(如“数据”、“输入”);C如果为某个数据流(或数据存储)起名字时遇到困难,则很可能是因为对数据流图的分解不恰当造成的,应该试试重新分解数据流图;,2.4.3命名,2)为处理命名A通常先为数据流命名,然后再为与之相关联的处理命名;B名字应该反映整个处理的功能;C应该尽量避免空洞笼统的动词做名字,如“处理”、“加工”;D通常用一个动词命名,如果必须用两个动词才能描述整个处理的功能,则可能要把这个处理分解成两个处理更恰当;E如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的情况,应考虑重新分解。,1)利用它作为交流信息的工具;2)作为软件分析和设计的工具。,2.4.4数据流图的用途,图2.8对应的物理实现硬件方案,图2.9对应的物理实现硬件方案,2.5数据字典,数据流图和数据字典共同构成系统的逻辑模型。没有数据字典数据流图就不严格,没有数据流图数据字典也难于发挥作用。,数据字典是关于数据信息的集合,是对数据流图中包含的所有元素定义的集合。,数据字典应该由对下列4元素的定义组成:1)数据流;2)数据元素(数据流分量);3)数据存储;4)处理。,2.5.1数据字典的内容,在数据字典中记录数据元素的下列信息:一般信息(名字,别名,描述等);定义(数据类型,长度,结构等);使用特点(值的范围,使用频率,使用方式输入、输出、本地,条件值等);控制信息(来源,用户,使用它的程序,改变权,使用权等);分组信息(付结构,丛书结构,物理位置记录、文件和数据库等)。,2.5.2定义数据的方法,方法:对数据自顶向下分解。数据组成方式(三种基本类型):顺序以确定次序连接两个或多个分量;选择从两个或多个可能的元素中选取一个;重复把指定的分量重复零次或多次。附加类型:可选一个分量是可有可无的(重复零次或一次)。,符号:=意思是等价于(或定义为);+意思是和(连接两个分量);意思是或(从方括弧内列出的若干个分量中选择一个),通常用“|”号隔开供选择的分量;意思是重复(重复花括弧内的分量);常常使用上限和下限进一步注释表示重复的花括弧。()意思是可选(圆括弧里的分量可有可无)。,例1:标识符=字母字符+字母数字串字母数字串=0字母或数字7字母或数字=字母字符数字字符例2:购书单=学号+姓名+书号+数量+单价+总价+书费合计学生用书表=学院编号+专业编号+年级+书号年级=1|2|3|4学号=0数字10,作为分析阶段的重要工具;分析员和用户之间的通信开发人员或不同开发小组之间的通信每个数据元素的控制信息给出了使用该元素的所有程序(或模块);3.有助于开发数据库,是开发数据库的第一步。,2.5.3数据字典的用途,实现数据字典两种方式:1)计算机程序处理:在开发大型软件系统的过程中,数据字典的规模和复杂程度迅速增加,人工维护数据字典几乎是不可能的,必须建立数据字典,通过程序来管理。2)卡片式人工书写:开发小型软件系统,采用卡片形式书写数据字典,每张卡片上保存描述一个数据的信息。每张卡片上主要应该包含这些信息:名字、别名、描述、定义、位置。,2.5.4数据字典的实现,名字:定货报表别名:定货信息描述:每天一次送给采购员的需要定货的零件表定义:定货报表=零件编号+零件名称+定货数量+目前价格+主要供应者+次要供应者位置:输出到打印机,名字:零件编号别名:P01-05描述:唯一地标识库存清单中一个特定零件的关键域定义:零件编号=8字符8位置:定货报表定货信息库存清单,名字:定货数量别名:DH08-11描述:某个零件一次定货的数量定义:定货数量=1数字5位置:定货报表定货信息,2.6成本/效益分析,成本/效益分析的目的:从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定。,开发成本,经济效益,2.6.1成本估计,软件开发成本主要表现为人力资源的消耗。成本估计不能用精确科学来估计。1)代码行技术当有类似开发工程和历史数据参考时,可用下面公式计算:软件成本=每行代码的平均成本估计的源代码总行数2)任务分解技术将开发项目分解为若干个相对独立的任务,分别估计每个单独任务的成本:单独任务成本=任务所需人力估计值每人每月平均工资;软件开发项目总成本估计=各个单独任务成本估计值之和。,常用的办法是按开发阶段划分任务,典型环境下各个开发阶段需要使用的人力百分比大致如下:,3)自动成本估计采用自动估计成本的软件工具。这种技术需要长期搜集大量历史数据为基础和良好的数据库支持。4)算法模型估计建立适合资源模型。资源模型一般是由历史数据推导出来的,比较客观。,2.6.2成本/效益分析方法,成本/效益分析要估计开发成本、运行费用和新系统将带来的经济效益。运行费用:取决于系统的操作费用(操作员人数,工作时间,消耗的物资等等)和维护费用。系统的经济效益:等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。软件生命周期:总的效益与软件生命周期有关,时间越长,系统被废弃的可能性越大。通常开发期不能超过5年。,成本/效益分析涉及的4个概念:例:修改一个已有的库存管理系统,估计需要5000元,系统修改后由于及时订货每年可节省2500元。使用5年后,能节约多少钱?1)货币的时间价值由于投资是现在的,效益是未来的,必须考虑货币的时间价值。假设年利率为i,如果现在存入P元钱,则n年以后可以得到的钱数为:反之,如果n年后能收入F元钱,那么这些钱现在的价值是:,表1:将来的收入折算成现在值,2)投资回收期第一、第二年回收:4225元第三年用于回收投资要:(5000-4225)/1779=0.44年总的投资回收期=2.44年3)纯收入9011.94-5000=4011.94(元)4)投资回收率其中:P是现在的投资额;Fi是第i年年底的效益(i=1,2,3,n);n是系统的使用寿命(一般假设n=5);j是投资回收率。上述修改系统的工程的投资回收率是41%42%,思考题:在工程设计中常用CAD系统代替大部分人工设计工作,每年可节省9.6万元。若软件生存期为5年,则5年可节省48万元。开发这个CAD系统共投资了20万元。问:第3年可节省多少万元?投资回收期是多少年?5年内工程的纯收入预计为多少万元?,可行性研究进一步探讨问题定义阶段所确定的问题是否有可行的解。经过定义问题、分析问题、提出解法的反复过程,最终提出一个符合系统目标的高层次的逻辑模型。然后根据系统的这个逻辑模型设想各种可能的物理系统,并且从技术、经济和操作等各方面分析这些
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 塔城事业单位笔试真题2025
- 2025年山西公务员考试试题真题
- Unit 9 Let's smell the flowers.教学设计-2023-2024学年小学英语一级下剑桥少儿英语
- 2025租赁合同担保条款
- 云南省考真题2025
- 青海事业单位笔试真题2025
- 金华事业单位笔试真题2025
- 2025境外雇佣合同范本
- 化肥厂安全例会记录细则
- 2025智能穿戴设备ID设计招标合同
- 产科护理教学比赛课件
- 占道施工安全培训内容课件
- 2025年芜湖市鸠江区村级后备干部集中招录工作101名考试参考题库及答案解析
- 2025年美容整形师专业知识考核试题及答案
- 2025年茶粉行业研究报告及未来行业发展趋势预测
- 培训民警拍照宣传课件
- 中药煎服方法
- 研发支出辅助账汇总表
- 聚合物混凝土定义、分类和性质Polymerconcrete
- 安全用电、用电安全培训ppt课件
- Q∕GDW 11612.2-2018 低压电力线高速载波通信互联互通技术规范 第2部分:技术要求
评论
0/150
提交评论