1、1重点、难点v重点:可行性研究的任务;数据流图基本符号、绘制过程及应用;数据字典的用途和建立。v难点:数据流图的应用。22.1 可行性研究的任务与步骤v可行性研究,是工程领域中一种针对可行性研究,是工程领域中一种针对项目效益项目效益的带有的带有预测性预测性质的论证方法,其主要目的是质的论证方法,其主要目的是判判断项目是否值得投资和执行断项目是否值得投资和执行。v可行性研究以预测为前提,以投资效果为目的,可行性研究以预测为前提,以投资效果为目的,从从技术上、经济上、管理上技术上、经济上、管理上进行全面综合分析进行全面综合分析研究。研究。3v用用最小的代价最小的代价在在尽可能短的时间内尽可能短的时
2、间内确定问题确定问题是否是否能解能解,是否值得去解是否值得去解。(占总成本的。(占总成本的5%10%)2.1.1 可行性研究任务1)定义问题;2)提出若干供选择的主要系统方案;3)从技术、经济、社会和操作四个方面分析各个方案的可行性。目的:以便最合理地利用资源,达到预定的社会效益和经济效益。4(1)技术可行性)技术可行性v“使用现有的技术能否实现该系统使用现有的技术能否实现该系统?”v项目管理人员需要考虑的问题:项目管理人员需要考虑的问题:开发风险分析:开发风险分析:在给定的约束条件下,能否设计并实现系统所需功能和性能。资源分析:资源分析:是否具备系统开发所需的各类人员(管理人员和各类专业技术
3、人员)、软件、硬件资源和工作环境等。相关技术的发展相关技术的发展:现有技术能否实现新系统,技术难点、建议采用技术的先进性。5技术可行性:困难技术可行性:困难v技术发展快技术发展快v领域知识不熟悉领域知识不熟悉 v系统目标、功能和性能不确定系统目标、功能和性能不确定v建立分析模型、仿真建立分析模型、仿真6(2)经济可行性)经济可行性v“软件系统软件系统的经济效益的经济效益能否超过能否超过它的开发成本它的开发成本”。v系统经济效益系统经济效益=新系统新系统增加的收人增加的收人+新系统新系统节省节省的费用的费用v分析员要考虑的主要成本:分析员要考虑的主要成本:购置并安装软件、硬件及有关设备的费用。购
4、置并安装软件、硬件及有关设备的费用。系统开发费用系统开发费用。系统安装、运行和维护费用系统安装、运行和维护费用。人员培训费用人员培训费用。7(3)操作可行性)操作可行性 用户使用用户使用可能性可能性 时间进度时间进度可行性可行性 组织组织和和文化文化上的可行性上的可行性8(4)社会可行性)社会可行性v软件开发是否会在社会上或政治上软件开发是否会在社会上或政治上侵犯侵犯他人、他人、集体或国家的利益集体或国家的利益v是否是否违反违反国家的法律并可能由此而承担法律国家的法律并可能由此而承担法律责任。责任。10项目项目:学生注册选课系统v问题:问题:在学分制试行过程中,学生选课进行人工注册效在学分制试
5、行过程中,学生选课进行人工注册效率低,容易冲突,教师难以及时获得选课学生名单。率低,容易冲突,教师难以及时获得选课学生名单。v项目目标:项目目标:建立一个基于校园网和教学管理的学生学期建立一个基于校园网和教学管理的学生学期选课注册系统。选课注册系统。v项目范围:项目范围:硬件主要利用现有教学管理网络,增配少量硬件主要利用现有教学管理网络,增配少量专用设备(交换机之类),软件开发费用预期专用设备(交换机之类),软件开发费用预期28002800元。元。v初步设想:初步设想:学生通过教学管理网络在终端计算机上填写学生通过教学管理网络在终端计算机上填写选课信息,教务处能及时查询每门课的选课人数、学生选
6、课信息,教务处能及时查询每门课的选课人数、学生课程冲突情况并作相应调整。系统输出选课人数统计、课程冲突情况并作相应调整。系统输出选课人数统计、课程表、成绩单等。课程表、成绩单等。v可行性研究:可行性研究:由分析员和教务处进行,主要对系统实施由分析员和教务处进行,主要对系统实施方案和学生选课管理规程进行研究。建议进行大约方案和学生选课管理规程进行研究。建议进行大约1010天,天,费用不超过费用不超过200200元。元。112.1.2 可行性研究步骤可行性研究步骤1)系统定义系统定义2)对旧系统进行)对旧系统进行物理建模物理建模(如果存在旧系统如果存在旧系统)3)导出新系统的)导出新系统的逻辑模型
7、逻辑模型4)重新定义重新定义问题,重复问题,重复1)4),直到逻辑模型符),直到逻辑模型符合系统目标合系统目标5)设计设计系统的系统的解决方案解决方案6)推荐推荐可行的解决方案可行的解决方案7)撰写可行性研究报告撰写可行性研究报告242.2 系统分析2.2.1 2.2.1 系统分析的任务系统分析的任务v系统分析员要了解:现有系统的运行状态;用户对系统功能的需求;数据和业务流程;功能和数据指标体系;新系统要修改和增加的功能。v系统分析所确定的内容是以后系统设计以后系统设计和实现实现的基础基础。25 确定用户需求 了解现有系统运行情况 数据和业务流程 功能和数据指标体系系统分析的目的 系统分析在系
8、统分析在可行性研究可行性研究、需求分析需求分析和和总体设计总体设计等等多个软件开发阶段多个软件开发阶段都有涉及都有涉及,在不同的阶段,系统分,在不同的阶段,系统分析任务的侧重点各有不同。析任务的侧重点各有不同。262.2.2 分析原理所有系统分析方法都必须遵循以下原理:v问题的信息域必须能被表示和理解问题的信息域必须能被表示和理解。v建立描述系统信息、功能和行为的模型,建立描述系统信息、功能和行为的模型,即建立系统的即建立系统的逻辑模型逻辑模型。v按照分层的方式分解问题。按照分层的方式分解问题。v分层应从基本信息开始,分层应从基本信息开始,由上至下,逐层由上至下,逐层进行进行,直至展示细节。,
9、直至展示细节。342.2.3 系统分析方法结构化分析方法v指导思想:自顶向下,逐步求精v两个基本原则:抽象与分解v结构化分析的特点:是最早的系统分析方法,使用时间也最长;是最早的系统分析方法,使用时间也最长;是最早的系统分析方法,使用时间也最长;是最早的系统分析方法,使用时间也最长;应用最广,特别适合于数据处理;应用最广,特别适合于数据处理;应用最广,特别适合于数据处理;应用最广,特别适合于数据处理;支持的工具最多,发展较为成熟;支持的工具最多,发展较为成熟;支持的工具最多,发展较为成熟;支持的工具最多,发展较为成熟;简单实用;简单实用;简单实用;简单实用;适合于各种软件开发模型,尤其是最为直
10、观的瀑适合于各种软件开发模型,尤其是最为直观的瀑适合于各种软件开发模型,尤其是最为直观的瀑适合于各种软件开发模型,尤其是最为直观的瀑布模型,易于掌握;布模型,易于掌握;布模型,易于掌握;布模型,易于掌握;成功率较高。成功率较高。成功率较高。成功率较高。392.2.4 系统分析员v系统分析员又称系统分析师系统分析师,是指具有从事计算机应用系统的分析和设计工作能力及业务水平,能指导指导系统设计师和高级程序员的工作的一族。在软件开发流程中主要从事需求分析主要从事需求分析工作,同时也涉及可行性分析可行性分析和概要设计概要设计的部分工作。v必须具备以下能力:40系统分析员必须具备以下能力:v能掌握抽象抽
11、象概念,并能将其整理为逻辑划分,以及根据每一个逻辑划分综合为解决方案的能力;v弄清楚用户环境的能力。弄清楚用户环境的能力。v从冲突或混淆中吸取恰当吸取恰当事实的能力能力;v用较好的书面书面和口头口头形式进行通信通信和表达能力表达能力;v把硬件和软件系统应用于应用于用户环境的能力;v“从树木树木见森林森林”的能力。412.3 系统分析工具2.3.1 系统流程图(事务流程图)v可行性分析的描述手段:可行性分析的描述手段:系统流程图、数据流图系统流程图、数据流图.v基本思想:基本思想:用用图形符号图形符号,以,以黑盒黑盒形式描述每个组成部件形式描述每个组成部件(程序,文档,数据库,人工过程等程序,文
12、档,数据库,人工过程等);反映反映数据数据在系统各部分之间的在系统各部分之间的流动流动情况;情况;不是对数据加工处理的控制过程;不是对数据加工处理的控制过程;不是程序流程图。不是程序流程图。42表2-1 系统流程图的基本符号P29符号符号名称名称说明说明处理处理能改变数据值或数据位置的加工或部件,能改变数据值或数据位置的加工或部件,例如:程序,处理机,人工加工等例如:程序,处理机,人工加工等输入输入/输出输出表示输入或输出(或既输入又输出),表示输入或输出(或既输入又输出),是一个广义的不指明具体设备的符号是一个广义的不指明具体设备的符号连接连接指出转到图的另一部分或从图的另一部指出转到图的另
13、一部分或从图的另一部分转来,通常在同一页上分转来,通常在同一页上换页连接换页连接指出转到另一页图上或由另一页图转来指出转到另一页图上或由另一页图转来数据流数据流用来连接其他符号,指明数据流动方向用来连接其他符号,指明数据流动方向vP29 表表 2-1:系统流程图基本符号:系统流程图基本符号43表2-2 系统流程图其他符号P29符号名称说明文档输出通常表示打印输出人工输入单据的人工输入。如:填写表格人工操作人工完成的处理。例如,审核人员签名外部存储磁盘、光盘、内存等任何形式的存储磁盘存储在磁盘上的数据或者数据库显示显示终端,用于输入(通过显示终端回显的输入)和输出442系统流程图的基本处理工序变
14、换合并划分分类更新3使用系统流程图需要注意的问题1)尽量缩短处理时间;2)尽量减少空闲时间;3)要考虑便于完成程序的调试。45例子例子系统流程图的用法系统流程图的用法输入单据输入单据磁带文件磁带文件处理处理输出单据输出单据/打印输出打印输出46例子例子系统流程图的用法系统流程图的用法v某装配厂有一座存放零件的仓库,仓库中现有的各种零件数量零件数量以及每种零件的库存量临界值零件的库存量临界值等数据记录在库存清单主文件库存清单主文件中。v当仓库中零件数量零件数量有变化变化时,应该及时修改修改库存清单主文件。v如果哪种零件的库存量库存量少于少于它的库存量临界值临界值,则应该报告给采购部门以便定货定货
15、,规定每天向采购部门送一次一次定货报告。47例子例子系统流程图的用法系统流程图的用法v用计算机更新库存清单主文件、产生定货报告。v零件库存量的每一次变化零件库存量的每一次变化称为一个事务事务,由放在仓库中的CRT终端输入到计算机;v系统中的库存清单程序库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的定货信息写在磁带上。v最后,每天由报告生成程序报告生成程序读一次磁带,并且打印出定货报告。48系统问题描述系统问题描述v已知:零件库存量变化零件库存量变化(事务);库存清单主库存清单主文件文件(零件库存量,库存量临界值)v处理程序:库存清单程序;报告生成程序v求解:订货信息
16、;订货报告49系统问题描述(续)系统问题描述(续)库存量变化库存量变化库存清单程序库存清单程序库存清单主文件库存清单主文件(库存量,临界值)(库存量,临界值)更新更新库存量库存量库存量库存量临界值临界值订货信息订货信息报告生成程序报告生成程序订货报告订货报告50例子例子系统流程图的用法系统流程图的用法由由CRT终端输入终端输入数据库数据库磁带文件磁带文件打印输出数据打印输出数据处理处理处理处理512.3.2 数据流图数据流图DFDv数据流图:描述数据流图:描述数据处理过程数据处理过程的工具,图中的工具,图中没有没有任任何何物理部件物理部件,只描绘,只描绘数据数据在软件中在软件中流动流动和和被处
17、理被处理的的逻辑过程逻辑过程。v只考虑系统必须完成的只考虑系统必须完成的逻辑功能逻辑功能,不考虑功能实现不考虑功能实现v主要思想:主要思想:通过通过图形方法图形方法,从,从数据传递数据传递和和数据处理数据处理的角度,的角度,刻画刻画数据流数据流从输入到输出从输入到输出的的移动变换移动变换过程。过程。v数据流三个重要属性:数据流三个重要属性:数据流名字,数据组成,流向数据流名字,数据组成,流向52一、一、数据流图的数据流图的基本符号基本符号P31vv数据流图中的数据流图中的数据流图中的数据流图中的4 4种基本符号种基本符号种基本符号种基本符号数据的源点数据的源点数据的源点数据的源点/终点终点终点
18、终点 (外部实体外部实体外部实体外部实体)变换数据的处理(加工)变换数据的处理(加工)变换数据的处理(加工)变换数据的处理(加工)数据存储数据存储数据存储数据存储数据流数据流数据流数据流53二、分层数据流图顶层数据流图、中层数据流图、底层数据流图。顶层数据流图只含有一个加工一个加工表示整个系统整个系统;输出数据流和输入数据流为系统的输入数据和输出数据,表明系统的范围,以及与外部环境的数据交换关系。中层数据流图是对上层数据流图中某个加工某个加工进行细化细化,而它的某个加工也可以再次细化,形成子图;中间层次的多少,一般视系统的复杂程度而定。底层数据流图是指其加工不能再分解的数据流图,其加工成为“原
19、子加工原子加工”。54顶层流图顶层流图底层流图底层流图中间层流图中间层流图顶层流图中必须包含四种符号,缺一不可。顶层流图中必须包含四种符号,缺一不可。55三、数据流图的画法1 1)确定系统的输入输出)确定系统的输入输出2 2)由外向里画系统的)由外向里画系统的0 0层数据流图层数据流图3 3)自顶向下逐层分解,绘出分层数据流图)自顶向下逐层分解,绘出分层数据流图56四、绘制数据流图的原则1)图形符号只限于前述)图形符号只限于前述四种基本图形元素四种基本图形元素;2)主图主图必须包括前述四种基本元素,必须包括前述四种基本元素,缺一不可缺一不可;3)主图上的)主图上的数据流数据流必须必须封闭封闭在
20、外部实体之间;在外部实体之间;4)每个加工每个加工至少有至少有一个输入数据流一个输入数据流和和一个输出数据流一个输出数据流;5)在数据流图中,需)在数据流图中,需按层按层给加工框给加工框编号编号。编号表明该加工。编号表明该加工所处层次及上下层的亲子关系;所处层次及上下层的亲子关系;576)规定任何一个数据流子图必须与它上一层的一个加工对)规定任何一个数据流子图必须与它上一层的一个加工对应,两者的应,两者的输入数据流输入数据流和和输出数据流输出数据流必须必须一致一致。此即。此即父图父图与与子图子图的的平衡平衡;7)图上)图上每个元素每个元素都必须都必须有名字有名字,不能重复不能重复;8)数据流图
21、中)数据流图中不可夹带控制流不可夹带控制流;9)初画时可以忽略琐碎的细节,以集中精力于主要数据流;)初画时可以忽略琐碎的细节,以集中精力于主要数据流;5811)保持数据守恒保持数据守恒。也就是说,一个加工所有输出数据流。也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者中的数据必须能从该加工的输入数据流中直接获得,或者说是通过该加工能产生的数据;说是通过该加工能产生的数据;12)外部实体之间外部实体之间不应该存在数据流。不应该存在数据流。10)一个加工的)一个加工的输出输出数据流数据流不不应与应与输入输入数据流数据流同名同名,即,即使它们的组成成分相同;使它们的
22、组成成分相同;59数据流图示例数据流图示例1v“定货系统”的顶层数据流图下图:60细化的数据流图细化的数据流图161进一步细化的数据流图进一步细化的数据流图162描述银行取款过程的数据流图描述银行取款过程的数据流图数据流图示例数据流图示例2 2632.3.3 2.3.3 数据字典数据字典DDDDv数据字典:即 DataDictionary,简称DD。它是对它是对所有所有与系统相关的与系统相关的数据元素数据元素的一个有组织的一个有组织的列表,以及的列表,以及精确的、严格的定义精确的、严格的定义,使得用户和,使得用户和系统分析员对于输入、输出、存储成分和中间计系统分析员对于输入、输出、存储成分和中
23、间计算有共同的理解。算有共同的理解。在在软件分析软件分析和和设计设计的过程中的过程中给人提供关于数据的关于数据的描述信息描述信息。v数据字典数据字典和和数据流图数据流图相辅相成,缺一不可相辅相成,缺一不可。64数据字典的内容数据字典的内容v数据字典内容包括数据字典内容包括5 5个部分:个部分:(1)(1)数据项数据项(数据流分量)(数据流分量)(2)(2)数据结构数据结构(3)(3)数据流数据流(4)(4)数据存储数据存储(文件)(文件)(5)(5)处理过程处理过程(加工,主要在详细设计中讨论)(加工,主要在详细设计中讨论)v但是,对但是,对数据处理数据处理的定义的定义用其他工具用其他工具(如
24、如IPOIPO图或图或PDL)PDL)描述更方便,因此描述更方便,因此本书中数据字典本书中数据字典将主要将主要由由对对数据的定义数据的定义组成组成,这样做可以使数据字典的内容更,这样做可以使数据字典的内容更单纯,形式更统一。单纯,形式更统一。65数据结构的数据结构的描述符号描述符号P3466(1 1)定义数据流)定义数据流v数据流名:数据流名:数据流图中使用的主要名字数据流图中使用的主要名字数据流图中使用的主要名字数据流图中使用的主要名字v别名:别名:v说明:说明:简要介绍作用,即它简要介绍作用,即它简要介绍作用,即它简要介绍作用,即它产生的原因和结果产生的原因和结果产生的原因和结果产生的原因
25、和结果v数据流来源数据流来源:来自何方(可选):来自何方(可选):来自何方(可选):来自何方(可选)v数据流去向:数据流去向:去向何处(可选)去向何处(可选)去向何处(可选)去向何处(可选)v数据流组成:数据流组成:数据结构(核心)数据结构(核心)数据结构(核心)数据结构(核心)v数据量流通量:数据量流通量:数据量,流通量数据量,流通量数据量,流通量数据量,流通量67(1 1)定义)定义数据流数据流举例举例68数据流定义购书单v数据流名:数据流名:购书单购书单v别名:别名:无无v简述:简述:学生购书时填写的项目学生购书时填写的项目v来源:来源:学生学生v去向:去向:数据处理数据处理1“审查并开
26、发票审查并开发票”v组成:组成:(学号)(学号)+姓名姓名+书号书号+数量数量v数据流量:数据流量:1000次次/周周v高峰值:高峰值:开学期间开学期间1000次次/天天69数据流定义发票v数据流名:数据流名:发票发票v别名:别名:无无v说明:说明:用作学生已付书款的依据用作学生已付书款的依据v来源:来源:来自加工来自加工“审查并开发票审查并开发票”v去向:去向:流向加工流向加工“开领书单开领书单”v组成:组成:学号学号+姓名姓名+书号书号+单价总价单价总价+书费合计书费合计70(2)定义数据项v数据元素名:数据元素名:v类型:类型:数字数字(离散值,连续值离散值,连续值),文字,文字(编码类
27、型编码类型)v长度:长度:v取值范围:取值范围:v相关的数据元素及数据结构:相关的数据元素及数据结构:v数据元素(数据项)指数据处理中最小的、不可再分的单位。描述包括:71数据元素定义举例1v数据项名:数据项名:货物编号货物编号v别名:别名:G-No,G-numv简述:简述:本公司的所有货物的编号本公司的所有货物的编号v类型:类型:字符串字符串v长度:长度:10v取值范围及含义:取值范围及含义:F第第1位:位:J|G (进口进口/国产国产)F第第2-4位:位:L01.L29 (类别类别)F第第5-7位:位:“A00”.“A99”(规格)(规格)F第第8-10位:位:001.“999(品名编号品
28、名编号)72数据元素定义举例2v名字:名字:商品编号商品编号v别名:别名:v描述:描述:唯一地标识库存清单中一个特定商品的关唯一地标识库存清单中一个特定商品的关 键域键域v定义:定义:商品编号商品编号=8字符字符8v位置:位置:订货报表订货报表 订货信息订货信息 库存清单库存清单73数据元素定义举例3v名字:名字:订货数量订货数量v别名:别名:v描述:描述:某个商品一次订货的数量某个商品一次订货的数量v定义:定义:订货数量订货数量=1数字数字5v位置:位置:订货报表订货报表 订货信息订货信息74数据元素定义举例4v名字:名字:订货报表订货报表v别名:别名:订货信息订货信息v描述:描述:每天一次
29、送给采购员的需要订货的商品表每天一次送给采购员的需要订货的商品表v定义:定义:订货报表订货报表=商品编号商品编号+商品名称商品名称+商品数量商品数量+目前价格目前价格+主要供应商主要供应商+次要供应商次要供应商v位置:位置:输出到打印机输出到打印机75(3)定义数据存储v数据文件名:数据文件名:v简述:简述:存放的是什么数据存放的是什么数据v输入数据:输入数据:v输出数据:输出数据:v数据文件组成:数据结构数据文件组成:数据结构v存储方式:顺序,直接,关键码存储方式:顺序,直接,关键码v存取频率:存取频率:76数据存储定义举例1v数据文件名:数据文件名:库存记录库存记录v别名:别名:无无v简述
30、:简述:存放库存所有可供货的信息存放库存所有可供货的信息v数据文件组成:数据文件组成:货物名称货物名称+编号编号+生产厂商生产厂商+单价单价+库存量库存量v存储方式:存储方式:索引文件,以货物编号为关键字索引文件,以货物编号为关键字v查询要求:查询要求:要求能够立即查询要求能够立即查询例2:某航班信息文件的数据结构描述vF1:航班信息文件=航空公司名称航空公司名称+航班号航班号+起点起点+终点终点+日期日期+起飞时间起飞时间+降落时间降落时间航空公司名称=2字母4F字母=“A”“Z”航班号=3十进制数字3F十进制数字=0.9起点=终点=1汉字10起飞时间=降落时间=时+分F时=“0 0“2 3
31、F分=“0 0“59日期=年+月+日F年=2009|2010|2011|2012F月=“01”“12”F日=“01”“31”78例2:某航班信息文件的数据结构描述(续)v重复项:重复项:起点=终点=1汉字10 航空公司名称=2字母4 航班号=3十进制数字3v综合项:综合项:日期=年+月+日 起飞时间=降落时间=时+分v选择项:选择项:年=2009|2010|2011|2012v原始数据项:原始数据项:字母=“A”“Z”十进制数字=“0”“9”时=“00”“23”分=“00”“59”月=“01”“12”日=“01”“31”79例例3 3 存折数据格式存折数据格式80存折存折存折存折户名户名户名户
32、名所号所号所号所号帐号帐号帐号帐号开户日开户日开户日开户日性质性质性质性质(印密印密印密印密)11存取行存取行存取行存取行5050户名户名户名户名22字母字母字母字母2424所号所号所号所号“001”.“999”001”.“999”帐号帐号帐号帐号“00000001”.“99999999”00000001”.“99999999”开户日开户日开户日开户日年月日年月日年月日年月日性质性质性质性质“1”.“6”1”.“6”注:注:注:注:“1”1”表示普通户,表示普通户,表示普通户,表示普通户,“5”5”表示工资户等表示工资户等表示工资户等表示工资户等印密印密印密印密“0”0”注:印密在存折上不显示
33、注:印密在存折上不显示注:印密在存折上不显示注:印密在存折上不显示存取行存取行存取行存取行日期(摘要)支出存入余日期(摘要)支出存入余日期(摘要)支出存入余日期(摘要)支出存入余额操作复核额操作复核额操作复核额操作复核自自顶顶向向下下81(4)定义数据处理v处理处理/加工名:加工名:v编号:编号:反映该加工的层次反映该加工的层次v简要描述:简要描述:加工逻辑及功能描述加工逻辑及功能描述v输入数据流:输入数据流:v取值范围:取值范围:v相关数据元素及数据结构:相关数据元素及数据结构:v82数据处理定义举例1v数据处理名:数据处理名:登记报名单登记报名单v编号:编号:1.0v激活条件:激活条件:收
34、到报名单收到报名单v数据处理组成:数据处理组成:1.1 检查报名单检查报名单+1.2 编准考证编准考证号号+1.3 登记考生登记考生v执行频率:执行频率:2000次次/月月83数据处理定义举例2v数据处理名:数据处理名:分类采购分类采购v编号:编号:1.1.1v激活条件:激活条件:收到图书采购员的分类采购操作命令收到图书采购员的分类采购操作命令v组成:组成:1)1.1.1.1 预定图书预定图书 2)1.1.1.2 外采图书外采图书 3)1.1.1.3 赠送图书赠送图书v执行频率:执行频率:随时随时84数据处理定义举例3v处理名:处理名:月票额统计月票额统计v编号:编号:7.1.3v激活条件:激
35、活条件:收到每日收票额信息收到每日收票额信息v处理逻辑:处理逻辑:1)统计月保险金总和)统计月保险金总和 月保险金月保险金=每日保险金之和每日保险金之和 2)统计月合计)统计月合计 月合计信息月合计信息=每日日合计信息之和每日日合计信息之和v执行频率:执行频率:1次次/月月85(5)源点及汇(终)点词条描述v名称:名称:外部实体名外部实体名v简要描述:简要描述:什么外部实体什么外部实体v有关数据流:有关数据流:v数目:数目:86数据字典的用途数据字典的用途v主要作用:主要作用:分析阶段分析阶段的有力工具;的有力工具;改进分析员和用户之间的通信,消除误解;改进分析员和用户之间的通信,消除误解;改
36、进不同开发人员改进不同开发人员/开发小组之间的通信,避免开发小组之间的通信,避免麻烦的接口问题;麻烦的接口问题;开发数据库的开发数据库的第一步第一步;给设计人员提供关于给设计人员提供关于数据的描述信息数据的描述信息。87数据字典的实现数据字典的实现v它是作为它是作为CASE的一部分的一部分实现的,对于实现的,对于大型软件大型软件需要借助于自动化工具;需要借助于自动化工具;v小型软件开发小型软件开发可采用可采用卡片形式卡片形式书写数据字典;书写数据字典;v卡片应该包含的信息:卡片应该包含的信息:名字名字、别名别名、描述描述、定义定义和和位置位置。vCASE:computer-aided soft
37、ware engineering vCASE=软件工程软件工程+自动化工具。自动化工具。88892.4 项目开发计划2.4.1 项目计划目标2.4.2 项目范围2.4.3 软件估算902.4.1 项目计划目标v软件项目计划是建立项目行动指南的基准,它指导项目的进程发展,规划建立软件项目的范围、成本预算、进度等,提供一个项目管理的尺度,也为将来的评估提供参考,是项目实施的依据。v软件项目计划包括范围计划、时间计划、成本计范围计划、时间计划、成本计划、质量计划、人力资源计划、沟通计划、风险划、质量计划、人力资源计划、沟通计划、风险计划计划等。912.4.2 项目范围v项目范围(Project Sc
38、ope)是指为交付具有规定特征与功能产品、服务或成果所必须完成的工作。也可以说是产生项目产品产生项目产品所包括的所有工作所有工作及产生这些产品所用的过程所用的过程。项目范围是由范围计划定义和控制的管理对象,是对用户需求的最直观的理解和定义。v项目范围从用户需求规格用户需求规格出发,通过任务分解任务分解形成,以WBS(任务分解结构,Work Breakdown Structure)形式表示形式表示的工作的集合工作的集合工作的集合工作的集合。921.WBS(任务分解结构)v任务分解任务分解是对需求的进一步细化,是最后确定项目所有任务范围的过程。任务分解的结果是任务分解结构WBS。vWBS是面向可交
39、付成果的对项目元素的分组,它组织并定义了整个项目的范围整个项目的范围整个项目的范围整个项目的范围。v工作包工作包(Work Package)是WBS的最低层次的最低层次的可交付成果可交付成果。932.任务分解过程v1)确认并分解项目的主要组成要素项目的主要组成要素项目的主要组成要素项目的主要组成要素。v2)确定分解标准分解标准分解标准分解标准。v3)确定分解是否详细是否详细是否详细是否详细。v4)确定项目交付成果项目交付成果项目交付成果项目交付成果。v5)验证分解正确性正确性正确性正确性。943.任务分解的方法任务分解可以采用以下方法:任务分解可以采用以下方法:模板参照法:模板参照法:参照标准
40、或半标准的WBS模板。类比法类比法:参考类似项目的WBS。自顶向下法自顶向下法:确定主要交付成果或阶段细分每个部分最后分解为易管理的工作包WP。自底向上法自底向上法:定义项目的特殊任务组织形成更高级的WBS。952.4.3 软件估算v软件估算,就是结合目前各种实际情况,提供项目中的软件规模软件规模软件规模软件规模、工作量工作量工作量工作量和人力成本人力成本人力成本人力成本的最可能合最可能合最可能合最可能合理理理理的模型。软件估算是软件开发中很重要的一个环节,如果低估项目周期会造成人力低估、成本预算低估、日程过短,最终人力资源耗尽,成本超出预算,为完成项目不得不赶工,影响项目质影响项目质影响项目
41、质影响项目质量量量量,甚至导致导致导致导致项目失败失败失败失败。961.估算前的规划v软件项目规划的重点:对人员角色人员角色、任务进度任务进度、经费经费、设备资源设备资源、工作成果工作成果等进行合理安排合理安排。v软件项目规划步骤:1)确定软件的项目范围。2)确定工作所需资源:F人力资源人力资源:人员类型、数量。F可复用软件资源可复用软件资源:可直接使用的构件;具有完全经验的构件;具有部分经验的构件;新构件。低成本,低风险低成本,低风险。F环境资源环境资源:开发工具和设备,工作环境,管理制度。972.估算的对象规模估算:用具体数字具体数字表示项目规模。工作量估算:工作时间工作时间人时,人天,人
42、月,人年等单位进度估算:以阶段阶段为单位成本估算:人力人力、物力、有形无形的成本983.估算的策略 v1、自顶向下估算:由项目经理为主的一个核心小组根据客户要求,确定一个时间期限,根据该期限分解任务。从客户角度客户角度出发,易被客户和项目经理接受接受,但不科学不科学。v2、自底向上的策略:从技术、人性角度出发,依据项目成员的特点成员的特点、兴趣兴趣分配任务。比较客观比较客观。项目工期和用户要求不一致不一致。很少使用很少使用。994.估算的方法(1)基于分解技术:vFP功能点估算法、LOC代码行估算法、MARK II等(2)基于经验模型:vIBM模型、普特南模型、COCOMO模型等100 包括各
43、种输入、输包括各种输入、输出、查询、内部逻出、查询、内部逻辑文件数、外部接辑文件数、外部接口文件数等口文件数等包括性能复杂度、配置项包括性能复杂度、配置项目复杂度、数据通信复杂目复杂度、数据通信复杂度、分布式处理复杂度、度、分布式处理复杂度、在线更新复杂度等。在线更新复杂度等。1)FP功能点估算法v是一种在需求分析阶段基于系统功能的一种规模估计方法。通过研究初始应用需求初始应用需求来确定确定各种输输入入、输出输出、计算计算和数据库数据库需求的数量数量和特特性。计算公式:功能点功能点=信息处理规模信息处理规模技术复杂度。技术复杂度。1012)LOC代码行估算法v从技术角度,以代码行代码行为工作量
44、估算单位。v优点:方便计算、容易监控、能反映程序员的思维能力。v缺点:代码行数的含糊不清,不能正确反映一项工作的难易程度以及代码的效率。102例:按功能分解v计算机辅助设计计算机辅助设计(CAD)的软件项目估算,将的软件项目估算,将CAD项目分为如下项目分为如下7个子项目:个子项目:用户界面和控制用户界面和控制 二维几何分析二维几何分析 三维几何分析三维几何分析 数据库管理数据库管理 计算机图形显示计算机图形显示 外设控制外设控制 设计分析设计分析103LOC成本、工作量估算104类比估算法类比估算法Delphi估算法估算法系统分解系统分解此外还有:新的演化LOC方法PERT功能点估算法:对各
45、个项目活动的完成时间对各个项目活动的完成时间按三种不同情况估计:一个产品的期望规模按三种不同情况估计:一个产品的期望规模M,一个最低可能估计一个最低可能估计O,一个最高可能估计,一个最高可能估计P。用。用这三个估计用来得到一个产品期望规模这三个估计用来得到一个产品期望规模(O+4M+P)/6和标准偏差的和标准偏差的Pert统计估计,统计估计,Pert估估计可得到代码行的期望值和标准偏差。计可得到代码行的期望值和标准偏差。1053)IBM模型估算法v该模型是Watson和Felix在1977年发布的,是基于IBMIBM联合系统分布负责的60个项目的总结而得到的模型。该模型是一个静态模型静态模型,
46、而参考数据只有60多个项目,因此有很大的局限性。1064)COCOMO估算法COCOMO 模型是适用于三种类型的软件项目:v(1)组织模式较小的、简单的软件项目,有良好应用经验的小型项目组,针对一组不是很严格的需求开展工作(如,为一个热传输系统开发的热分析程序);v(2)半分离模式一个中等的软件项目(在规模和复杂性上),具有不同经验水平的项目组必须满足严格的及不严格的需求(如,一个事务处理系统,对于终端硬件和数据库软件有确定需求);v(3)嵌入模式必须在一组严格的硬件、软件及操作约束下开发的软件项目。1075)软件方程式估算法6)WBS估算法软件方程式是一个多变量模型,它假设在软件开发项目的整
47、个生命周期中的一个特定的工作量分布。这是一种基于WBS的方法,即先把项目任务进行合理的细分,分到可以确认的程度,如某种材料,某种设备,某一活动单元等。然后估算每个WBS要素的费用。对项目需求做出一个完整的限定。制定完成任务所必需的逻辑步骤。编制WBS表。步骤:108 除了以上介绍的几种方法外,还有一些其他的方法:类比估算、推测估算、Standard-component估算法、普特南估算法等。当然不同的方法适用于不同的具体环境,有些方法虽然很好但并不一定适合当前的任务。只有量体裁衣,具体问题具体分析,才能得到尽量合理的估算。1095.估算的经验 对于任何一个项目经理,都知道要慎重估算,但是我们仍
48、然会看到人力资源的浪费和财力资源的匮乏,在许多项目中存在。对于宝贵的资源,我们不是用得太多,就是根本不够用。估算经验:教材P4243。1102.5 成本成本/效益分析效益分析n n目的:从目的:从目的:从目的:从经济角度经济角度经济角度经济角度分析开发一个特定的新系分析开发一个特定的新系分析开发一个特定的新系分析开发一个特定的新系统统统统是否划算是否划算是否划算是否划算,帮助客户负责人作出是否投资帮助客户负责人作出是否投资的决定。的决定。n n开发一个新系统是需要开发一个新系统是需要开发一个新系统是需要开发一个新系统是需要冒一定风险冒一定风险冒一定风险冒一定风险的。的。的。的。n主要包括主要包
49、括成本估计成本估计(2.5.1)和)和成本效益分成本效益分析析(2.5.2)。)。1112.5.1 成本估计成本包括:成本包括:成本包括:成本包括:vv软件开发成本软件开发成本软件开发成本软件开发成本人力的消耗人力的消耗人力的消耗人力的消耗vv软件运行成本软件运行成本软件运行成本软件运行成本操作人员数、工作时间、操作人员数、工作时间、操作人员数、工作时间、操作人员数、工作时间、消耗的物资消耗的物资消耗的物资消耗的物资vv成本估计不是精确的科学,须成本估计不是精确的科学,须成本估计不是精确的科学,须成本估计不是精确的科学,须 使用几种不使用几种不同的技术相互校验同的技术相互校验。1121.成本估
50、计输入v一般包括如下几项:1 1)需求或者)需求或者WBSWBS2)资源要求)资源要求3 3)资源消耗率资源消耗率4 4)进度规划进度规划5 5)历史项目数据历史项目数据6 6)学习曲线学习曲线1132.成本估计处理3成本估计输出 成本估计是对项目的直接成本直接成本和间接成本间接成本采用一定的估算估算方法进行。成本估计结果通常以成本估计结果通常以货币货币单位表达,也可用单位表达,也可用人人月月、人天人天或或人小时人小时这样的单位。这样的单位。成本估计结果包括项目成本估计结果包括项目需要的资源需要的资源、资源的数资源的数量量、质量标准质量标准、估算成本估算成本等信息。等信息。估计结果可以用估计结