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

下载本文档

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

文档简介

软件工程2

02章可行性研究2.1可行性研究的任务2.2可行性研究过程2.3系统流程图2.4数据流图2.5数据字典2.6成本/效益分析2.7小结习题

可行性分析的出发点是问题定义分析员应主要从下面三个方面对项目做出可行性分析:(1)技术可行性(2)经济可行性(3)操作可行性

必要时还应该进一步从法律、社会效益等更广泛的角度研究每种解法的可行性。(一般,可行性研究的成本是预期成本的5%-10%)三、可行性分析的主要任务加工1加工3加工2数据流1数据流2数据流3数据流6数据流5数据流4图2-8DFD基本形式数据流处理存储源点或终点图2-9DFD的基本组成一个详细的例子:从系统流程图开始描绘物理系统的工具符号名称说明处理如:程序,处理机,人工加工输入/输出连接换页连接数据流表示输入或输出同一页上图的连接不同页上图的连接指明数据流动方向图2.1基本符号系统流程图的具体实现2.4.2绘制数据流图的例子事务库存清单程序报告生成程序定货信息定货报告库存清单主文件图2.3库存清单系统的系统流程图从系统流程图到数据流图假设工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要订货购买的零件。对于每个需要再次订货的零件列出下列数据:零件的编号、名称、数量,当前价格,产地。零件入库或出库叫做事务,通过放在仓库中的终端把事务报告给订货系统。另外,当某种零件的库存量少于临界值时就应改订货。如何画出该订货系统的数据流图呢?数据流图有四种成分:源点或终点,处理,数据存储和数据流。第一,先找出四种成分,填入下表;源点/终点处理

数据流数据存储

数据流图四种元素清单假设工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要订货购买的零件。对于每个需要再次订货的零件列出下列数据:零件的编号、名称、数量,当前价格,产地。零件入库或出库叫做事务,通过放在仓库中的终端把事务报告给订货系统。另外,当某种零件的库存量少于临界值时就应改订货。仓库——管理员采购部——采购员产生报表处理事务订货报表事务订货信息库存清单仓库管理员采购员定货系统事务定货报表图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.不要使用空洞的、缺乏具体含义的名字(如“数据”、“输入”);

C.如果为某个数据流(或数据存储)起名字时遇到困难,则很可能是因为对数据流图的分解不恰当造成的,应该试试重新分解数据流图;

2.4.3命名2)为处理命名

A.通常先为数据流命名,然后再为与之相关联的处理命名;

B.名字应该反映整个处理的功能;

C.应该尽量避免空洞笼统的动词做名字,如“处理”、“加工”;D.通常用一个动词命名,如果必须用两个动词才能描述整个处理的功能,则可能要把这个处理分解成两个处理更恰当;

E.如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的情况,应考虑重新分解。通常,为“数据源点/终点”命名时,采用它们在问题域中习惯使用的名字(如“仓库管理员”、“采购员”)。利用它作为交流信息的工具,作为软件分析和设计的工具;系统分析员用此可以自顶向下分析系统信息流程;可以在图上画出需要计算机处理的部分;根据数据存储,进一步做数据分析,向数据库设计过渡;根据数据流向,定出存取方式对应一个处理过程,用相应的语言、判定表等工具表达处理方法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:商店业务处理系统的数据流图这是高层逻辑模型第一层数据流图对每个处理进行细化——销售细化对每个处理进行细化——采购细化检查和修改数据流图的原则数据流图上所有图形符号只限于前述四种基本图形元素;数据流图的主图必须包括前述四种基本元素,缺一不可;数据流图的主图上的数据流必须封闭在外部实体之间;每个加工至少有一个输入数据流和一个输出数据流;在数据流图中,按层给加工框编号。编号表明了该处理所处层次及上下层的亲子关系;规定任何一个数据流子图必须与它上一层的一个处理对应,两者的输入数据流和输出数据流必须一致。即父图与子图的平衡;检查和修改数据流图的原则必要时,可以在数据流图中加入物质流,以帮助读者更好的理解。图上每个元素必须有名字;数据流图中不可夹带控制流;初画时可以忽略琐碎的细节,以集中精力于主要数据流。2.5数据字典(DD)数据字典是关于数据的集合。它的作用是对软件中的每个数据规定一个定义条目,在软件分析和设计过程中提供相关数据的描述信息,以保持数据在系统中的一致性。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的定义放在一起,才能构成系统的规格说明。2.5.1数据字典的内容数据字典应该对下列元素进行定义:

1)数据流;

2)数据元素(数据流分量);

3)数据存储;

4)处理。数据流字典定义数据流条目包括:据流名称、编号(用于字典管理)、简述(简述该数据流的含义)、组成(描述该数据流由哪些数据项组成)、来源(描述该数据流来自哪个加工或源点)、去向(描述该数据流流向哪个加工或汇点)、数据量(描述该数据流在软件系统中的数量)、峰值(描述在某一时间范围内要处理数据流的最大数量,这是考虑处理速度的依据之一)、备注等。其中数据流名称和组成是必须的,数据量和峰值也是需要的。数据流字典定义实例1:数据流编号:DF001数据流名称:订票单简述:订票时填写的订票单数据流来源:外部实体“乘客”数据流去处:处理逻辑“预订机票”数据流组成:订单编号日期乘客号航班号状态订单失效日期流通量:每天300份高峰值流通量:每天早上9:00,约160份图2.11数据流字典定义数据流字典定义实例2(简单)以“发票”为例,编写一个字典条目。解:“发票”条目内容与格式如下:数据流名:发票组成:学号+姓名+学费+住宿费+{书号+单价+数量+总价}+总计费用备注:2)数据元素字典定义其定义的基本内容有:

A.数据元素编号、名称及其含义;

B.数据类型和长度;

C.合理取值;

D.其他内容,如它与其它数据的逻辑关系等。2.5.2定义数据的方法数据元素字典定义实例:数据元素编号:DC001数据元素名称:考试成绩别名:成绩、分数简述:学生考试成绩,分五个等级类型/长度:两个字节,字符类型取值/含义:优[90-100]

良[80-89]

中[70-79]

及格[60-69]

不及格[0-59]有关数据项或结构:学生成绩档案有关处理逻辑:计算成绩

图2.10数据元素字典定义3)数据存储字典定义其定义的基本内容有:

A.数据存储编号及名称;

B.数据存储的组成;

C.其它要求。4)数据处理字典定义其定义的基本内容有:

A.数据处理编号及名称;

B.简单描述;

C.输入/输出;

D.功能描述;

E.有关数据存储。数据处理字典定义实例:数据处理编号:DP001数据处理名称:编辑订票简述:接收从终端录入的订票单,检验是否正确输入:乘客订单,来源:外部实体“乘客”输出:1.合格订单,去处:处理逻辑“确定订票”

2.不及格订单,去处:外部实体“乘客”功能描述:……(略)图2.12数据处理字典定义5)组成数据项的表示方法

=

表示“等价于”或“定义为”

+

表示“与”

[]与|

表示“或”

{}

表示重复

()

表示可选项通讯录={通讯地址}

通讯地址=姓名+邮编+[省|直辖市|自治区]+[市|县]+街道+门牌号+(电话)银行存折的数据字典表示方法银行存折的数据字典表示方法存折=户名+所号+账号+开户日+性质+(印密)+1{存取行}50户名=2{字母}24所号=“001”..“999”账号=“00000001”..“99999999”开户日=年+月+日性质=“1”..“6”注:“1”表示普通户,“5”表示工资户;印密=“0”,注:印密在存折上不显示存取行=日期+(摘要)+支出+存入+余额+操作+复核1.作为分析阶段的重要工具;2.数据元素的控制信息非常有用;3.有助于开发数据库。2.5.3数据字典的用途实现数据字典:

1)程序处理;

2)卡片式人工书写;2.5.4数据字典的实现44

§2.6成本/效益分析

从经济角度分析开发一个特定的新系统是否划算,帮助客户负责人作出是否投资的决定。主要包括成本估计和成本效益分祈。45

§2.6.1成本估计

包括开发成本和运行成本

一、开发成本估计技术(1)1、代码行技术

根据经验和历史数据,估算实现一个功能需要多少源程序行数,用每行代码的平均成本乘以行数。46

一、开发成本估计技术(2)2、任务分解技术

将软件开发工程分解成若干个相对独立的任务,分别估算,然后累加得出总成本。按阶段分解按功能分解5(%)47

例:按功能分解计算机辅助设计(CAD)的软件项目估算将CAD项目分为如下7个子项目:用户界面和控制;二维几何分析;三维几何分析;数据库管理;计算机图形显示;外设控制;设计分析48

代码行和成本、工作量估算49

系统开发和每年运行费用估算举例A.系统开发费用(一次)。2名系统分析员(450小时/名,45美元/小时)$40,5005名系统开发人员(275小时/名,36美元/小时)$49,5001名数据库管理员(30小时/名,42美元/小时)$1,2602名技术写作者(120小时/名,25美元/小时)$6,0001名秘书(160小时/名,15美元/小时)$2,4001名数据通讯专家(60小时/名,42美元/小时)$2,4002名数据输入人员(40小时/名,12美元/小时)$49,50050

系统其他费用培训:三天的开发人员内部培训课程$7,00030个用户,三天的内部培训课$10,000物资:复印$500磁盘、纸张等消耗品$650购买软、硬件:

20台工作站windows软件$1,00020台工作站内存升级$8,000

网络软件$17,50020台工作站办公软件产品$20,000系统开发总费用$161,67051

B.年运行费用(每年)人员:维护程序员/分析员(250小时/年,42美元/小时)$10,500网络管理员(3000小时/年,50美元/小时)$15,000购买硬件、软件升级:硬件―$5,000软件―$6,000物资和杂项:$3,500每年总运行费用$40,00052

一、开发成本估计技术(3)3、自动估计成本技术采用自动估计成本的软件工具,需要有长期搜集的大量历史数据为基础,并需要良好的数据库系统支持。二、运行费用估计取决于系统的操作费用(操作人员数、工作时间、消耗的物资等)和维护费用。53

2.6.2成本/效益分折方法成本/效益分折的第一步是估计开发成本、运行费用和新系统将带来的经济效益。系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。比较新系统的开发成本和经济效益,以便从经济角度判断这个系统是否值得投资。54

6.2成本/效益分折方法

几种度量效益的方法

1.货币的时间价值:

温馨提示

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

评论

0/150

提交评论