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

下载本文档

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

文档简介

1、20142014年春年春 软件工程软件工程2.1 可行性研究的任务可行性研究的任务2.2 可行性研究过程可行性研究过程2.3 系统流程图系统流程图2.4 数据流图数据流图2.5 数据字典数据字典2.6 成本成本/效益分析效益分析2.7 小结小结第第2章章 可行性研究可行性研究20142014年春年春 软件工程软件工程问题定义问题定义1、客户提出要求2、明确问题-初步调查(1天-1周内) 问题性质 工程目标 工程规模3、编写材料-软件计划任务书 1).软件项目标题2).软件目的与目标3).软件用户对象4).软件规模20142014年春年春 软件工程软件工程例子:“工资管理系统”软件计划任务书 项

2、目:工资管理系统 问题:当前工资管理费用太高。 目标:研制新的低费用的工资 管理系统 范围:研制费用小于18000元 (+-50%) 想法:用本厂的小型机进行工资管理 可行性研究:时间15天,费用3000元.20142014年春年春 软件工程软件工程第2章 可行性研究可行性研究是压缩简化了的系统分析和设计的可行性研究是压缩简化了的系统分析和设计的过程,也就是说在较高层次上以较抽象的方式过程,也就是说在较高层次上以较抽象的方式进行设计的过程进行设计的过程 可行性研究的任务:可行性研究的任务:不是解决问题,而是确定问题是否可解和是否不是解决问题,而是确定问题是否可解和是否值得解值得解不要花过多精力

3、,占总成本的不要花过多精力,占总成本的 5 10 %20142014年春年春 软件工程软件工程目的:用最小的代价在尽可能短的时间内确定该软件项目是否目的:用最小的代价在尽可能短的时间内确定该软件项目是否能够能够 开发,是否值得开发。开发,是否值得开发。实质:要进行一次简化、压缩了的需求分析和设计过程,是要实质:要进行一次简化、压缩了的需求分析和设计过程,是要在较高层次上以较抽象的方式进行需求分析和设计过程。在较高层次上以较抽象的方式进行需求分析和设计过程。一、可行性研究的主要任务:一、可行性研究的主要任务: (1)首先需要进行概要的分析研究,初步确定项目的规)首先需要进行概要的分析研究,初步确

4、定项目的规模和目标,确定项目的约束和限制,把它们清楚地列举出来。模和目标,确定项目的约束和限制,把它们清楚地列举出来。 (2)分析员进行简要的需求分析,抽象出该项目的逻辑)分析员进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。结构,建立逻辑模型。 (3)从逻辑模型出发,经过压缩的设计,探索出若干种)从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决办法,对每种解决方法都要研究它的可行可供选择的主要解决办法,对每种解决方法都要研究它的可行性。性。 2.1 2.1 可行性研究任务可行性研究任务20142014年春年春 软件工程软件工程(1)技术可行性技术可行性: 使用现有的技

5、术能实现这个系统吗使用现有的技术能实现这个系统吗?(2)经济可行性经济可行性: 这个系统的经济效益能超过它的开发成本吗这个系统的经济效益能超过它的开发成本吗?(3)操作可行性操作可行性: 系统的操作方式在这个用户组织内行得通吗系统的操作方式在这个用户组织内行得通吗? 必要时还应该从法律、社会效益等更广泛的方必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。面研究每种解法的可行性。二、可行性的主要方面,包括:二、可行性的主要方面,包括:20142014年春年春 软件工程软件工程2.2 2.2 可行性研究过程可行性研究过程1. 复查系统规模和目标复查系统规模和目标2. 研究目前正在使

6、用的系统研究目前正在使用的系统3. 导出新系统的高层逻辑模型导出新系统的高层逻辑模型4. 进一步定义问题进一步定义问题5. 导出和评价供选择的解法导出和评价供选择的解法6. 推荐行动方针推荐行动方针7. 草拟开发计划草拟开发计划8. 书写文档提交审查书写文档提交审查20142014年春年春 软件工程软件工程1.复查系统规模和目标,对报告书的规模目标进一步复 查确认; 描述对目标系统的限制和约束.2.研究目前正在使用的系统,了解做什么,不要注重如何做. 3.建立当前系统高层物理模型(用系统流程图表示),画出描绘目前系统的系统流程图。( (一一) )、建立当前系统高层物理模型、建立当前系统高层物理

7、模型20142014年春年春 软件工程软件工程工资管理系统工资管理系统考勤表职工核对考勤表工资计算系统工资单核对工资单工资报表会计20142014年春年春 软件工程软件工程(二)、抽象出当前系统高层逻辑模型1.去掉当前系统物理模型中各业务处理过程中的有关实体的传递,将物理模型抽象为:数据源与宿、数据流、数据处理、数据存储。2.画出当前系统的数据流程图。3.编制数据字典。(使用数据流程图和数据字典表示系统的逻辑模型)20142014年春年春 软件工程软件工程工工资资管管理理系系统统职工会计考勤表工资单工资报表职工文件将物理模型抽象将物理模型抽象为为输出工资单计算工资输出工资报表录入考勤数据201

8、42014年春年春 软件工程软件工程 数据字典卡片 名字:考勤数据 别名: 描述:作为计算全勤奖的依据。 定义:考勤数据=职工号+考勤年月+出勤天数 +缺勤天数 位置:职工文件20142014年春年春 软件工程软件工程职工会计考勤数据工资单工资报表职工文件考勤数据(三)(三)、导出新系统实现的逻辑模型导出新系统实现的逻辑模型输出工资单计算工资计算所得税输出工资报表录入考勤数据20142014年春年春 软件工程软件工程 在新系统的DFD上,划分若干个功能结合的界面,得出若干个物理解法。(四)、导出新系统的物理模型(四)、导出新系统的物理模型20142014年春年春 软件工程软件工程1 系统流程图

9、的作用系统流程图的作用:描述物理系统的工具。可以通过画出系统流程图来了解要开发的项目的大概处理流程、范围和功能。2 在进行可行性研究中,要以概括的形式描述现有系统的高层逻辑模型,并通过概要的设计变成所建议系统的物理模型,可以用系统流程图来描述所建议系统的物理模型。2.3 2.3 系统流程图系统流程图20142014年春年春 软件工程软件工程系统流程图的符号系统流程图的符号20142014年春年春 软件工程软件工程 系统流程图的绘制方法系统流程图的绘制方法 按业务处理的先后顺序,自上而下,从左到右绘制。业务处理可能是人工的亦可能是电脑的。 系统流程图示例系统流程图示例考 勤 表职 工核 对考 勤

10、 表工 资 计 算 系 统工 资 单核 对工 资 单工 资 报 表会 计例子例子1:工资管理系统(人工)工资管理系统(人工)20142014年春年春 软件工程软件工程例子例子2 工资管理系统(电脑)工资管理系统(电脑)工资事务计算工资程序工资报表程序工资单工资报表20142014年春年春 软件工程软件工程例子例子3 3图图2.3 库存清单系统的系统流程图库存清单系统的系统流程图20142014年春年春 软件工程软件工程面对复杂的系统时,一个比较好的方法是分层次面对复杂的系统时,一个比较好的方法是分层次地描绘这个系统。地描绘这个系统。首先用一张高层次的系统流程图描绘系统总体概首先用一张高层次的系

11、统流程图描绘系统总体概貌,表明系统的关键功能。貌,表明系统的关键功能。然后分别把每个关键功能扩展到适当的详细程度,然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。画在单独的一页纸上。2.3.3 2.3.3 分层分层20142014年春年春 软件工程软件工程2.4 2.4 数据流图(数据流图(DFDDFD) 一、一、作用:描述系统的逻辑模型;是交流工具;也是分析与设计的:描述系统的逻辑模型;是交流工具;也是分析与设计的工具,描述信息在系统中的流动情况。工具,描述信息在系统中的流动情况。二、二、使用的符号 四种基本符号:1.数据流: 用箭头表示数据流,箭头方向表示数据流向,数据流名

12、标在数用箭头表示数据流,箭头方向表示数据流向,数据流名标在数据流线上。数据流由一组数据项组成,但在数据流图中只有其名据流线上。数据流由一组数据项组成,但在数据流图中只有其名称。数据流是数据在系统内传播的路径,由一组成分固定的数据称。数据流是数据在系统内传播的路径,由一组成分固定的数据项组成。如:定票单由旅客姓名、年龄、单位、身份证号、日期项组成。如:定票单由旅客姓名、年龄、单位、身份证号、日期及目的地等数据项组成。由于数据流是流动中的数据,所以必须及目的地等数据项组成。由于数据流是流动中的数据,所以必须有流向,即在加工之间、加工与源点终点之间、加工与数据存储有流向,即在加工之间、加工与源点终点

13、之间、加工与数据存储之间流动。之间流动。 或或或数据源/宿(即外部实体)处理数据存贮数据流或或或或20142014年春年春 软件工程软件工程2.2.加工加工也称为数据处理,或称为交换,是对数据进行处理的单元。数据处理名称写在方框内。它对数据流进行某些操作或变换。3. 3. 数据存储数据存储 数据存储是由若干数据元素组成的,它为数据处理提供数据处理所需要的输入流或为数据处理的输出数据流提供存储“仓库”。4.4.数据源点和终点数据源点和终点任何一个系统的边界定义后,就有系统内外之分,一个系统总会与系统外部的实体有联系。这种联系的重要形式就是数据。数据源点和终点是软件系统外部环境中的实体(包括人员、

14、组织或其他软件系统),统称为外部实体。20142014年春年春 软件工程软件工程1.画系统的输入画系统的输入/输出输出 把系统看作一个整体,看这个整体与外界的联系。分析有哪些内容是要通过外把系统看作一个整体,看这个整体与外界的联系。分析有哪些内容是要通过外界获取的,就是系统的输入;有哪些是要向外界提供服务的,就是系统的输出。界获取的,就是系统的输入;有哪些是要向外界提供服务的,就是系统的输出。画系统的输入画系统的输入/ /输出即先画顶层数据流图。输出即先画顶层数据流图。 顶层流图只包含一个加工,用以标识被开发的系统,然后考虑该系统有哪些输顶层流图只包含一个加工,用以标识被开发的系统,然后考虑该

15、系统有哪些输入数据,这些输入数据从哪里来;有那些输出数据,输出到哪里去。这样就定义入数据,这些输入数据从哪里来;有那些输出数据,输出到哪里去。这样就定义了系统的输入、输出数据流。顶层图的作用在于表明被开发的系统的范围以及它了系统的输入、输出数据流。顶层图的作用在于表明被开发的系统的范围以及它和周围环境的数据交换关系,顶层图只有一张。如下:飞机机票预定系统的顶层和周围环境的数据交换关系,顶层图只有一张。如下:飞机机票预定系统的顶层图:图:旅行社飞机机票预定系统旅客定票单取票单通知机票取票单机票预定系统的顶层图描述了机票预定系统与外界的简单关系。机票预定系统的顶层图描述了机票预定系统与外界的简单关

16、系。三、画数据流图三、画数据流图20142014年春年春 软件工程软件工程(1)数据流图主要是用于描述系统内部的处理过程。画数据流图一般方法:将)数据流图主要是用于描述系统内部的处理过程。画数据流图一般方法:将层号从层号从0开始编号,采用自顶向下,由外向内的原则。画开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,一般层数据流图时,一般根据现行系统工作分组情况,并按新系统应有的外部功能,分解顶层流图的系根据现行系统工作分组情况,并按新系统应有的外部功能,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。如:飞机预定系统为若干子系统,决定每个子系统间的数据接口和活动关

17、系。如:飞机预定系统按功能分为两个部分:一为旅社预定机票,另一部分为旅客取票,两部分通统按功能分为两个部分:一为旅社预定机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来。过机票文件的数据存储联系起来。0层数据流图如下:层数据流图如下:预定机票 1旅客取票 2取票单订票单取票单通知机票机票文件(2)画)画更更下一层数据流图时,则分解上层图中的加工,一般沿着输入流的方下一层数据流图时,则分解上层图中的加工,一般沿着输入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,这样一直进行到输向,凡数据流的组成或值发生变化的地方则设置一个加工,这样一直进行到输出数据流。如果加工的内部还

18、有数据流,则对此加工在下层图中继续分解,直出数据流。如果加工的内部还有数据流,则对此加工在下层图中继续分解,直到每一个加工足够简单,不能再分解为止。不再分解的加工称为基本加工。到每一个加工足够简单,不能再分解为止。不再分解的加工称为基本加工。飞机机票预定系统0层图2 .2 .画画系系统内统内部部20142014年春年春 软件工程软件工程1.从问题中分离出DFD的4种基本成分2.绘高层的DFD(基本系统模型)例2:仓库定货系统的数据流图20142014年春年春 软件工程软件工程3.分解基本系统的主要功能图2.6定货系统的功能级数据流图20142014年春年春 软件工程软件工程4.细化主要处理功能

19、图2.7把处理事务的功能进一步分解后的数据流图20142014年春年春 软件工程软件工程四、绘制四、绘制DFDDFD应注意的问题应注意的问题 1.DFD1.DFD不是唯一的;使用的符号也不作硬性规定;不是唯一的;使用的符号也不作硬性规定; 2.DFD2.DFD中处理细化应以功能单一为原则,不应考虑具体中处理细化应以功能单一为原则,不应考虑具体 实现细节;实现细节; 3.3.一张一张DFDDFD包含的处理框不应超过包含的处理框不应超过9 9个,超过时应采用绘个,超过时应采用绘 分图的办法解决;分图的办法解决; 4.4.命名应准确和容易理解。命名应准确和容易理解。五、五、DFDDFD的用途的用途

20、1.1.是与用户及分析员交流的工具;是与用户及分析员交流的工具; 2.2.是分析与设计的工具;是分析与设计的工具; 3.3.是设计新系统物理实现的依据是设计新系统物理实现的依据。20142014年春年春 软件工程软件工程六、从分割DFD得到不同的物理实现(方案一)1.进/出仓管理子系统2.库存与定货管理子系统20142014年春年春 软件工程软件工程六、从分割DFD得到不同的物理实现(方案二)1.库存与定货管理子系统2.定货报表管理子系统20142014年春年春 软件工程软件工程六、从分割DFD得到不同的物理实现(方案三)1.库存管理子系统2.定货管理子系统仓库接受进/出仓单采购部F1生成报表

21、F2F3F4F5更新库存清单处理定货F1定货信息库存清单进出仓单F1:进/出仓单F2:库存信息F3,F4:定货信息F5:定货报表20142014年春年春 软件工程软件工程七、不同物理实现方案的比较 1、方案一 进/出仓管理 库存与定货管理 2、方案二 库存与进货管理 定货报表管理 3、方案三(较优) 库存管理 定货管理仓库仓库、采购部仓库、采购部采购部采购部仓库20142014年春年春 软件工程软件工程一、数据字典的作用: 就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。它和数据流图共同构成了系统的

22、逻辑模型,是“需求说明书”的主要组成部分。 二、数据字典的组成 由对数据流图中的下述4种成分的定义组成:数据流、数据流分量、数据存贮、处理功能。数据流和和 数据存贮一般具有一一般具有一定的数据结构,数据结构由一组不同的数据元素组成。源点、定的数据结构,数据结构由一组不同的数据元素组成。源点、终点不在系统之内,故一般不在字典中说明。终点不在系统之内,故一般不在字典中说明。 1、数据流条目:给出了DFD中数据流的定义,通常列出该数据流的各组成数据项。在定义数据流或数据存储组成时,使用表中给出的符号。 2.5 数据字典20142014年春年春 软件工程软件工程符号符号含义含义例子及说明例子及说明=被

23、被定义为定义为+与与X=a+b表示表示x由由a和和b组成组成|或或X=a | b表示表示x由由a或或b组成组成重复重复X=a表示表示x由由0个或多个个或多个a组成组成mn或或n重复重复X=2a5或或X=a5 表示表示x中最少出现中最少出现2次次a,最多出最多出现现5次次a。5,2为为重复次数的上、下限重复次数的上、下限( )可选可选X=(a)表示表示a可在可在x中出现,也可不出现中出现,也可不出现“ ”基本数据元素基本数据元素X=“a”,表示表示x是是取值为字符取值为字符a的数据元素的数据元素. .连接符连接符X=1. .9,表示表示x 可取可取1到到9中任意一个值中任意一个值表2-1 在数据

24、字典的定义式中出现的符号m220142014年春年春 软件工程软件工程数据元素编号 DE001数据元素名称 零件编号数据元素别名 无数据元素描述唯一地标识库存清单中某个特定零件的关键域 类型/长度8字符8 取值/含义字母数字有关数据结构定货报表,库存清单,定货信息有关处理逻辑查询、检索数据元素字典例子20142014年春年春 软件工程软件工程定义数据流组成及数据项的例子:定义数据流组成及数据项的例子: 例例1:机票机票=姓名姓名+日期日期+航班号航班号+起点起点+终点终点+费用费用 姓名姓名=字母字母18 航班号航班号=“Y7100”. . “ Y8100” 终点终点=上海上海|北京、西安北京

25、、西安2数据流编号 F3,F4,F5数据流名称 定货报表数据流描述 定货信息数据流源 数据流宿 采购部数据流组成零 件 编 号 +零 件 名 称 +定货数量+。 。 。 。 。 。流通量每天 1 张峰值每天 10 张例例2:20142014年春年春 软件工程软件工程2 .数据存储条目数据存储条目数据存储条目是对数据存储的定义,主要内容及举例如下:数据存储名称:库存记录数据存储名称:库存记录别名:无别名:无简述:存放库存所有可供货物的信息简述:存放库存所有可供货物的信息组成:货物名称组成:货物名称+编号编号+生产厂家生产厂家+单位单位+库存量库存量组织方式:索引文件,以货物编号为关键字组织方式:

26、索引文件,以货物编号为关键字查询要求:要求能立即查询查询要求:要求能立即查询20142014年春年春 软件工程软件工程 数据存贮编号 D1数据存贮名称 库存清单数据存贮别名 库存信息数据存贮描述 反映目前仓库各类零配件的库存情况。数据存贮组成 零 件 编 号 + 零 件 名 称 +库存数量+存放位置。 。 。数据量每月 500 笔有关处理逻辑 查询、检索数据存贮字典例数据存贮字典例220142014年春年春 软件工程软件工程3. 数据项条目数据项条目数据项条目是不可再分解的数据单位,其定义格式及举例如下:数据项名称:货物编号数据项名称:货物编号别名:别名:GNO,Gnum,GoodsNO简述:

27、本公司的所有货物的编号简述:本公司的所有货物的编号类型:字符串类型:字符串长度:长度:10取值范围及含义:第取值范围及含义:第1位:进口位:进口/国产国产 第第24位:类别位:类别 第第57位:规格位:规格 第第810位:品名编号位:品名编号20142014年春年春 软件工程软件工程4.4.加工条目(也称为数据处理)加工条目(也称为数据处理)用来说明DFD中基本加工的处理逻辑,由于上层的加工是由下层的基本加工分解而来,只要有了基本加工的说明,就可理解其他加工。加工条目的主要及举例如下:加工名:确定能否供货加工名:确定能否供货编号:编号:1.2激发条件:接受到合格订单时激发条件:接受到合格订单时

28、优先级:普通优先级:普通输入:合格订单输入:合格订单输出:可供货订单、缺货订单输出:可供货订单、缺货订单加工逻辑:根据库存记录加工逻辑:根据库存记录IF 订单项目的数量订单项目的数量该项目库存量的临界值该项目库存量的临界值 THEN 可供货处理可供货处理 ELSE 此此订单缺货,登录,待进货后处理订单缺货,登录,待进货后处理 ENDIF20142014年春年春 软件工程软件工程数据处理字典例2数据处理编号 P1.1数据处理名称 编辑进/出仓单数据处理别名 录入进/出仓单 简述 接 受 录 入 的 进 / 出 仓单,检验正确性。 输入 进仓单,来源:采购部 出仓单,来源:生产部 输出 处理 P1

29、. 2:更新库存清单功能逻辑描述 。 。 。 。 。 。有关数据存贮 进/出仓单流水帐说明:数据字典中的功能逻辑描述主要描述该加工“做什么”,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变换为输出数据流的加工规则。为了使加工逻辑直观易读,易被用户理解,有几种常用的描述方法,它们是结构化语言、判定表及判定树(教材6.3节)20142014年春年春 软件工程软件工程2.5.4 2.5.4 数据字典的实现数据字典的实现实现途径: (1)人工方法-卡片法 (2)利用计算机辅助建立并维护-数据字典处理软件 SQL,VisualFoxpro,. (3)混合方法-正文编辑软件+报告生成软件

30、20142014年春年春 软件工程软件工程2.6 2.6 成本成本/ /效益分析效益分析 一、影响成本估算的因素一、影响成本估算的因素 1、人的因素、人的因素-分析与设计人员的素质与水平分析与设计人员的素质与水平 2、问题因素、问题因素-复杂性、约束条件、性能指标等复杂性、约束条件、性能指标等 3、过程因素、过程因素-分析与设计技术、评审过程等分析与设计技术、评审过程等 4、生产因素、生产因素-计算机的性能及可靠性计算机的性能及可靠性 5、资源因素、资源因素-工具、硬件及软件资源工具、硬件及软件资源二、成本估算方法二、成本估算方法 三、成本三、成本/效益分析效益分析 1、专家估算法、专家估算法 1、货币的时间价值、货币的时间价值 2、类推估算法、类推估算法 2、投资回收期、投资回收期 3、代码行估算法、代码行估算法 3、纯收入、纯收入 4、任务分解估算法、任务分解估算法 4、投资回收率、投资回收率

温馨提示

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

评论

0/150

提交评论