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

下载本文档

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

文档简介

1,授课教师:,软件工程,2,第二章可行性研究与项目开发计划,内容要点:本章概括地讲述软件开发的第一个阶段软件可行性研究与项目开发计划阶段中可行性研究的任务、步骤和内容以及项目开发计划的内容,介绍了可行性研究的主要方法,如系统流程图和成本效益分析等。教学重点:可行性研究的任务和必要性可行性研究的具体步骤教学难点:可行性研究的具体步骤系统流程图的作用与符号,3,本章的知识结构图,4,要点:,可行性研究的任务、步骤系统流程图数据流图数据字典成本/效益分析,5,可行性研究的任务:,可行性研究目的:就是用最小代价在尽可能短的时间内确定问题是否能够解决。即弄清要计算机解决的问题根本所在,确定新系统的作用域,以及项目所需的资源和经费。(不是解决问题,而是确定问题是否值得去解)可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,即在较高层次上以较抽象的方式进行系统分析和设计的过程。,6,可行性研究的任务:,首先需要进一步分析和澄清问题定义。在澄清问题定义之后,分析员应该导出系统的逻辑模型。然后从系统的逻辑模型出发,探索若干种可供选择的主要解法(即系统实现方案)。一般从三个方面分析每种解法的可行性:技术可行性经济可行性社会可行性,7,各方案可行性,技术可行性:综合考虑待开发项目的功能、性能、限制条件以及现有的软硬件资源,来评估项目的可行性和技术风险。由于以上条件的模糊性,使得技术可行性成为最难解决的问题。经济可行性:进行成本估算和效益评估,以确定项目是否值得开发。研究内容包括成本效益分析、经营策略、成本和资源、市场前景等。社会可行性:是否存在侵权等责任问题、项目的运行方式与当前用户的管理制度、人员素质、操作方式是否符合及可行。,8,复查系统规模和目标。,可行性研究的步骤:,了解系统应解决的问题,这些问题是如何提出的设想这些问题如何解决才能满足要求了解问题的结构,我们认为用户要的用户要的,9,市场调查,可行性研究的步骤:,了解市场对待开发软件的需求情况调查市场上已有的类似软件系统的功能、性能、价格情况,10,解决老系统问题,老系统功能,新系统效益,注:只了解老系统做什么,而不管怎样做;注意了解与其它系统的接口。,老系统效益,新增功能,11,导出新系统的高层逻辑模型。,可行性研究的步骤:,老系统物理模型,模型逻辑模型,新模型逻辑模型,新系统物理模型,12,重新定义问题。,可行性研究的步骤:,(1)分析员应和用户一起再次复查问题定义、工程规模和目标(2)前四个步骤构成一个循环。注:此时合同未签,应考虑成本,不宜反复太多次。,13,导出和评价供选择的解法。,可行性研究的步骤:,14,推荐行动方案。,可行性研究的步骤:,草拟开发计划。,书写文档提交审查。,15,可行性研究报告的编写提示GB8567-88计算机软件产品开发文件编制指南,1引言1.1编写目的1.2背景1.3定义1.4参考资料,16,2可行性研究的前提2.1要求2.2目标2.3条件、假定和限制2.4进行可行性研究的方法2.5评价尺度,17,3对现有系统的分析3.1数据流程和处理流程3.2工作负荷3.3费用开支3.4人员3.5设备3.6局限性,18,4所建议的系统4.1对所建议系统的说明4.2数据流程和处理流程4.3改进之处4.4影响4.5局限性4.6技术条件方面的可行性,19,5可选择的其它系统方案5.1可选择的其它系统15.2可选择的其它系统2.,20,6投资及收益分析6.1支出6.2收益6.3收益/投资比6.4投资回收周期6.5敏感性分析,21,7社会条件方面的可行性7.1法律方面的可行性7.2使用方面的可行性,22,系统流程图:,在可行性研究阶段使用系统流程图来对现有的系统(旧系统或手工系统)进行描述表示。系统流程图用来表达信息在系统各部件(包括程序、文件、数据库、表格、人工过程等)之间的流动情况,而不是对信息进行加工处理的控制过程的描述。(系统流程图与程序流程图是不同的)系统流程图的基本思想是选择恰当的图形符号,以黑匣子的形式描绘系统的程序、文件、数据库、表格、人工处理过程等每个部件。它以概括的形式描述现有系统的高层逻辑模型,也可以用它来描述所建议系统的物理模型。,注意:反映信息在各部分间流动的情况控制、处理信息(不同于程序流程图),23,系统流程图:,符号:,处理:能改变数据值或数据位置的加工或部件,例如,程序、处理机、人工加工等都是处理。,输入/输出:表示输入或输出(或既输入又输出),是一个广义的不指明具体设备的符号。,连接指出转到图的另一部分或从图的另一部分转来,通常在同一页上,换页连接:指出转到另一页图上或由另一页转来,数据流:用来连接其它符号,指明数据流动方向,对于复杂的系统,一般采用分层的形式。,24,系统流程图,表示一个具体的物理系统穿孔卡片:表示用穿孔卡片输入或输出,也可表示一个穿孔卡片文件文档:通常表示打印输出,也可表示用打印终端输出数据,25,系统流程图,磁带:磁带输入/输出,或表示一个磁带文件联机存储:表示任何种类的联机存储,包括磁盘、磁鼓、软盘和海量存储器等磁盘:磁盘输入/输出,也可表示存储在磁盘上的文件和数据库,26,系统流程图,磁鼓:磁鼓输入/输出,也可表示存储在磁鼓上的文件和数据库显示:CRT终端或类似的显示部件,可用于输入或输出,也可既输入又输出人工输入:人工输入数据的脱机处理,例如填写表格,27,系统流程图,人工操作:人工完成的处理,例如,会计在工资支票上签名辅助操作:使用设备进行的脱机操作通信链路:通过远程通信线路或链路传送数据,28,系统流程图,例子,29,例子:,该装配厂使用一台小型计算机处理更新库存清单主文件和产生订货报告的任务。零件库存量的每一次变化称为一个事务,由放在仓库中的CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的订货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出订货报告。,注:符号=系统部件箭头=信息流动路径,即库存量变化,30,画法习惯上信息在图中从顶向下或从左向右流动可以在图上加注释,注释较多时,可以另外加一个文档来进行解释复杂系统可以用分层方法来表示首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能每个关键功能扩展到适当的详细程度,画在单独的一页纸上,31,用系统流程图设计管理系统应该注意的问题,1、尽量缩短处理时间。2、尽量减少空闲时间。3、要考虑便于完成程序的调试。,32,系统流程图实例1借书处理,某图书馆闭架借书流程如下:读者必须被验明证件后才能进入查询室。读者在查询室内通过检书卡或利用终端检索图书数据库来查找自己所需的图书。找到所需的图书并填好索书单后到服务台借书。如果所借图书还有剩余,管理员将填好借书单,从库房中取出图书交于读者。,33,34,系统流程图例2,人工销售教材流程图,35,计算机售书系统流程图,结束,学生,购书发票,到书库领书,购书单,终端,审查并开发票,1,1-学生各学期用书数据库,购书单,2,2-教材存量数据库,36,数据流图:,使用数据流图来描述所分析系统的逻辑模型。在数据流图中无具体的物理元素,主要描绘系统中的数据的流动与处理情况。数据流图使用直观的图示方法,并且简单,是分析人员与用户之间沟通的极好的通讯工具。它只反映系统必须完成的逻辑功能,所以是一种功能模型。,37,数据流图:,数据流图中的主要图形元素,38,数据流图:,描述银行取款过程的数据流图,39,数据流图:,数据流与数据加工之间的关系,40,注意点数据流与程序流程图中用箭头表示的控制流有本质不同在数据流图中应描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件处理并不一定是一个程序,可以代表一系列程序、单个程序或者程序的一个模块,甚至人工处理过程一个数据存储也并不一定是一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等等通常在数据流图中忽略出错处理,也不包括如打开文件、关闭文件之类的内务处理数据流图的要点是描绘“做什么”,而不是“怎么做”,41,命名为数据流(或数据存储)命名名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)如果在为某个数据流(或数据存储)起名字时遇到了困难,则可能是因为数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难,42,为处理命名通常先为数据流命名,然后再为与之相关联的处理命名名字应该反映整个处理的功能,而不是一部分名字最好由一个具体的及物动词,再加上一个具体的宾语构成通常名字中仅包括一个动词,如果必须用两个动词才能描述清楚,可能分成两个处理更恰当如果再为某个处理命名时遇到困难,则可能是发现了分解不当的迹象,应该重新分解数据源点/终点是目标系统的外围环境,采用它们在问题域中习惯使用的名字(如“采购员”,“仓库管理员”等),43,数据流图:,数据流图的层次结构,为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统,44,数据流图:,分层数据流图,45,数据流图:,在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。,46,商店业务处理系统,47,这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能数据流图绘制步骤首先确定系统的输入和输出根据商店业务,画出顶层数据流图,以反映最主要业务处理流程经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图,48,第一层数据流图,49,对销售进行细化:客户提出要求,根据商品名册编辑订单判断数据库中是否有该客户,如果没有要进行登记。根据商品库存进行订单检查如果有货,则下订单如果无货,产生暂存订单,通知采购部门订货,当货品到达后,采购部门发到货通知,此时,与暂存订单相对比,如果有货了,则下订单给会计部门发收款单,会计部门将据此开收据,同时,修改库存将发货票和收据返回给客户编写销售历史经理可以查询库存,50,加细每一个加工框销售细化,51,采购细化,52,检查和修改数据流图的原则数据流图上所有图形符号只限于前述四种基本图形元素数据流图的主图必须包括前述四种基本元素,缺一不可数据流图的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡可以在数据流图中加入物质流,帮助用户理解数据流图图上每个元素都必须有名字数据流图中不可夹带控制流初画时可以忽略琐碎的细节,以集中精力于主要数据流,53,数据流图的用途,基本目的:交流信息的工具,因而需要分层,需要画得清楚分析和设计的工具分析员可以着重描绘系统的功能,而不是系统的物理实现方案在数据流图上可以划出自动化边界,每组自动化边界可能意味着一个不同的物理系统数据流图还可以帮助详细设计面向数据流的设计方法,54,数据字典DD:,数据词典与数据流图配合,能清楚地表达数据处理的要求。词条描述对于在数据流图中每一个被命名的图形元素,均加以定义,其内容有:名字,别名或编号,分类,描述,定义,位置,其它,等。,55,数据字典应该由下列四类元素的定义组成:数据流数据流分量(即,数据元素)数据存储处理对数据处理的定义用其它工具描述更方便,因此数据字典将主要由对数据的定义组成,56,数据字典:,数据流名:说明:简要介绍作用即它产生的原因和结果数据流来源:来自何方数据流去向:去向何处数据流组成:数据结构数据量流通量:数据量,流通量,1)数据流词条描述,57,数据流条目,数据流名称:订货报表别名:无简述:顾客订货时填写的项目来源:顾客去向:输出到打印机数据流量:100份/天(单位时间内的传输次数)组成:编号+订货日期+顾客编号+地址+电话+银行账号+货物名称+规格+数量,58,数据字典:,数据元素名:类型:数字(离散值,连续值),文字(编码类型)长度:取值范围:相关的数据元素及数据结构:,2)数据元素词条描述,59,数据项条目,数据项名称:零件编号别名:简述:标识库存清单中的惟一编号类型:字符串长度:9取值范围及含义:第13位:订货报表第46位:订货信息第79位:库存清单,60,数据字典:,数据存储名:简述:存放的是什么数据输入数据:输出数据:数据存储组成:数据结构存储方式:顺序,直接,关键码存取频率:,3)数据存储词条描述,61,数据存储条目,数据存储名称:库存记录别名:无简述:存放库存所有可供货物的信息组成:货物名称+编号+生产厂家+单价+库存量组织方式:索引文件,以货物编号为关键字查询要求:要求管理员权限查询,62,数据字典:,加工名:加工编号:反映该加工的层次简要描述:加工逻辑及功能简述输入数据流:输出数据流:加工逻辑:简述加工程序,加工顺序,4)加工逻辑词条描述,63,加工条目,加工名:查阅库存编号:12激发条件:接收到合格订单时优先级:普通输入:合格订单输出:可供货订单,缺货订单加工逻辑:根据库存记录IF订单项目数量该项目库存量临界值THEN可供货处理ELASE此订单缺货,登录,待进货后再处理ENDIF,64,数据字典:,名称:外部实体名简要描述:什么外部实体有关数据流:数目:,5)源点及汇(终)点词条描述,65,数据字典:,符号含义举例被定义为与x=ab.,.或.|.或x=a,b,x=a|b.或m.n重复x=a,x=3a8(.)可选x=(a)“.”基本数据元素x=“a”.连结符x=1.9,数据结构的描述,66,数据字典:,存折格式,67,数据字典:,存折户名所号帐号开户日性质(印密)1存取行50户名2字母24所号“001”.“999”帐号“00000001”.“99999999”开户日年月日性质“1”.“6”注:“1”表示普通户,“5”表示工资户等印密“0”注:印密在存折上不显示存取行日期(摘要)支出存入余额操作复核,68,69,数据字典:,对数据流图的每一个基本加工,必须有一个基本加工逻辑说明。基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则。,基本加工逻辑说明,70,数据字典:,加工逻辑说明必须描述实现加工的策略而不是实现加工的细节。加工逻辑说明中包含的信息应是充足的,完备的,有用的,没有重复的多余信息。,基本加工逻辑说明,71,数据字典:,结构化语言判定表判定树,用于写加工逻辑说明的工具,72,数据字典的用途作为分析阶段的工具改进分析员和用户之间的工具改进在不同的开发人员或不同的开发小组之间的通信数据字典中包含的每个数据元素的控制信息使你很容易估计改变一个数据将产生的影响,并且能对所有受影响的程序或模块作出相应的改变数据字典使开发数据库的第一步,而且使很有价值的一步,73,实现方法人工全自动化生成(利用数据字典处理程序)混合过程(用正文编辑程序,报告生成程序等已有的实用程序帮助人工过程),74,要求:通过名字能方便地查阅数据的定义没有冗余尽量不重复在规格说明的其他组成部分中已经出现的信息容易更新和修改能单独处理描述每个数据元素的信息定义的书写方法简单方便而且严格,75,1.某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至729

温馨提示

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

评论

0/150

提交评论