软件工程第二章_第1页
软件工程第二章_第2页
软件工程第二章_第3页
软件工程第二章_第4页
软件工程第二章_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

1软件工程---第2章可行性研究2软件生命周期问题定义可行性研究需求分析概要设计详细设计编码和单元测试综合测试软件维护软件定义软件开发软件运行维护问题定义阶段目的:弄清用户需要计算机解决的问题根本所在,以及项目所需的资源和经费。任务:在向用户调查的基础上,编写《关于系统规模和目标的报告书

》。例:教材销售系统学生购买学校教材的手续可能是:先找系办公室开购书申请(用于确定学生可购买的书),凭申请找教材科开购书证明(确定是否卖完),向出纳员交付书款获得领书单,然后到书库找保管员领书。关于系统规模和目标的报告书

1.项目名称:教材销售系统2.问题:人工发售教材手续繁杂,且易出错。3.项目目标:建立一个高效率、无差错的微机教材销售系统。4.项目规模:利用现有微型计算机,软件开发费用不超过5000元。5.初步想法:建议在系统中增加对缺书的统计与采购功能。6.可行性研究:建议进行大约5天的可行性研究,研究费用不超过300元。5可行性研究第2章可行性研究

可行性研究是压缩简化了的系统分析和设计的过程,也就是说在较高层次上以较抽象的方式进行设计的过程

可行性研究的任务:

不是解决问题,而是确定问题是否可解和是否值得解

不要花过多精力,占总成本的510%6可行性研究§1.可行性研究的任务经济可行性:成本效益分析技术可行性:风险分析、资源分析、技术分析操作可行性:操作方式法律可行性开发方案可行性:提供多种方案进行选择

最根本的任务是对以后的行动路线提出建议:如果问题没有可行的解,应该停止这项工程的开发;如果问题值得解,应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。7§2.可行性研究过程1、复查定义,明确限制和约束。我们认为用户要的用户要的2、研究老系统

解决老系统问题老系统功能新增功能

新系统效益注:

只了解老系统做什么,而不管怎样做;

注意了解与其它系统的接口。

老系统效益83、导出高层逻辑模型(conceptualdesign)…………抽象实现改进老系统模型新模型新系统

报告应该告诉用户“What”而不是“How”

逻辑模型由数据流图来描述,不需细化

物理模型用系统流程图表示9

3、逻辑模型4、重新定义1、复查定义注:此时合同未签,应考虑成本,不宜反复太多次。5、导出多种解法进度表经济上合算技术上可行操作上可行技术上不可行用户不可能操作不合算106、推荐行动方针YesorNo?NoYesWhy?Whichoneisthebest?Why?(cost/benefit)7、开发计划(粗略)

任务分解,确定负责人

大致进度规划

财务预算

风险分析及对策8、编写可行性报告9、提交审查11§3.系统流程图系统流程图是概括地描述物理系统的传统工具。在进行可行性研究时需要了解和分析现有的系统,并以概括的形式表达对现有系统的认识;进入设计阶段以后应该把设想的新系统的逻辑模型转变成物理模型,因此需要描绘未来的物理系统的概述。12§3.系统流程图系统流程图程序流程图系统流程图用图形符号以黑盒子形式描绘系统里面的每个部件(程序、数据库、文件等)反映信息在各部分间流动的情况≠控制、处理信息(不同于程序流程图)13

图2.1基本符号系统流程图的符号(P39,图2.1,2.2)例子某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量,临界值等数据记录在库存清单主文件上。当仓库零件数量发生变化时,应该及时修改库存清单主文件。如果哪种零件的库存量少于它的库存临界值,则应该报告给采购部门以便订货,规定每天向采购部门送一次订货报告。该装配厂使用一台小型计算机,处理更新库存清单主文件和产生订货报告。零件库存量的每一次变化称为一个事务,由放在仓库中CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的订货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出订货报告。部件:包括程序、文档、数据库、人工过程等程序:更新库存清单程序产生订货报告程序文档:订货报告数据:磁盘上的库存清单主文件磁带上的订货信息

CRT终端输入事务人工过程:无例子首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能;然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。

第一层:描绘系统关键功能(仅用基本符号)第二层:扩展系统关键功能

第三层:合成后的系统流程图例2:教材销售系统人工教材销售系统:先找系办公室开购书申请,凭申请找教材科开购书证明,向出纳员交付书款获得领书单,然后到书库找保管员领书。人工教材销售的系统流程图计算机教材销售系统:由计算机实现有效性审查(不该购买或已卖完的教材),收书款和发书仍由人工完成。开购书申请和购书证明可一步完成,增加缺书统计和采购功能。计算机教材销售的系统流程图23系统流程图作用概括大量技术信息以及发现遗漏疏忽具体设想系统将如何实现有助于开发人员和用户交流信息指明每个开发小组的工作在系统中的地位24数据流图(DFD)是一种描绘数据在软件中从输入移动到输出的过程中所经受的变换(即加工处理)的图形工具

一个DFD主要由以下四个部分组成:§4.数据流图(DataFlowDiagram)25图2.9数据流图的符号星号(*)表示数据流之间是“与”关系(同时存在);加号(+)表示“或”关系;⊕号表示只能从中选一个(互斥的关系)。26画数据流图的原则先找系统数据的输入输出点,画出外部实体确定外部实体的输入输出数据流由源点外部实体的数据流出发,逐渐进行加工,完成整个数据流图一张图的处理超过5~9个时,应该进行分层,把最基本的系统功能做为第0层,从第1层开始对每个模块的功能进行细化27

假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。举例画数据流图的步骤:1.从问题描述中提取数据流图的4种成分数据的源点/终点“通过放在仓库中的CRT终端把事务报告给定货系统”——仓库管理员是数据源点;“采购部每天需要一张定货报表”——采购员是数据终点。处理“采购部需要报表”,——产生报表;事务的后果是改变零件库存量,因此对事务进行的加工是另一个处理——处理事务。数据流:“系统把定货报表送给采购部”——定货报表;“事务需要从仓库送到系统中”——事务。数据存储:处理事务和产生报表这两个处理在时间上明显不匹配,用来产生定货报表的定货信息必须存放一段时间——定货信息;零件库存量和库存量临界值需要存储——库存清单。源点:仓库管理员终点:采购员处理:产生报表、处理事务数据流:定货报表事务零件编号零件名称定货数量目前价格主要供应者次要供应者零件编号事务类型数量数据存储:定货信息——同定货报表库存清单零件编号库存量库存量临界值2.画基本系统模型由若干个数据源点/终点和一个处理组成。定货系统的基本系统模型3.细化,描绘系统的主要功能(功能级数据流图)定货系统的功能级数据流图4.对系统主要功能进一步细化把处理事务的功能进一步分解后的数据流图细化时注意:当进一步分解涉及如何具体的实现一个功能时就不应该再分解了。当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。注意对处理进行编号的方法。命名1.为数据流(或数据存储)命名完整性;具体性;起名字遇到了困难时,试试重新分解。2.为处理命名通常先为数据流命名,然后再为与之相关联的处理命名;完整性;及物动词+宾语,具体性;通常名字中仅包括一个动词,否则进行分解;命名时遇到困难,应考虑重新分解。3.为数据源点/终点命名采用它们在问题域中习惯的名字。

37数据流图的用途作为交流信息的工具作为分析和设计的工具可以根据系统的逻辑模型考虑系统的物理实现方案数据流图对更详细的设计步骤也有帮助以批量方式更新库存清单以联机方式更新库存清单练习:高考录取统分子系统功能如下:

(1)计算标准分——根据考生原始分计算标准分,存入考生分数文件;

(2)计算录取线分——根据标准分和招生计划文件中的招生人数,计算录取线分,存入录取线文件。

1.提取数据流图的四种成分数据源点和终点:考生处理:(1)计算标准分

(2)计算录取线分数据存储:(1)考生分数文件

(2)招生计划文件

(3)录取线文件数据流:原始分;标准分;招生人数;录取线分

2.画基本数据流图3.画功能级数据流图练习:教材销售系统人工:先找系办公室开购书申请,凭申请找教材科开购书证明,向出纳员交付书款获得领书单,然后到书库找保管员领书。计算机:包括销售和采购两大功能。销售时,根据学生用书表和教材库存清单对购书单进行有效性审查,通过审查后得到有效购书单,并将缺书信息写入缺书表。交完款后开领书单,根据领书单更新教材库存清单。采购时,将缺书表中的信息汇总生成采购单,新书进库时更新教材库存清单。人工教材销售系统的数据流图基本数据流图功能级数据流图销售功能细化的数据流图采购功能细化的数据流图50§5.数据字典

数据字典是与所开发的系统相关的所有数据的有组织的列表,并且包含了对这些数据的精确、严格的定义,从而能够使得用户和系统分析员双方对目标系统输入、输出、存储的数据以及中间计算结果有共同的理解。简而言之,数据字典是描述数据的信息的集合,是对目标系统中使用的所有数据的定义的集合。

数据流图和数据字典共同构成系统的逻辑模型。51数据字典(DataDictionary)面向数据流分析需要引进数据字典(DD)DD以一种准确、简洁的方式对DFD中数据流、数据流分量、数据存储、处理作说明DD对DFD中的五类信息进行定义说明:一般信息(名字,别名,描述等)定义(数据类型,长度,结构等)使用特点(值的范围,使用频率,使用方式等)控制信息(来源,用户,使用它的程序等)分组信息(父结构,从属结构,物理位置等)52

数据字典中的定义就是对数据自顶向下的分解,当分解到不需要进一步定义,每个和工程有关的人也都清楚其含义的元素时,这种分解过程就完成了。由数据元素组成数据的方式只有下述三种基本类型:●顺序即以确定次序连接两个或多个分量。●选择即从两个或多个可能的元素中选取一个。●重复即把指定的分量重复零次或多次。●可选即一个分量是可有可无的(重复零次或一次)。定义数据的方法53

定义数据的方法54

1、定义数据流数据流名:说明:简要介绍作用即它产生的原因和结果。数据流来源:来自何方。数据流去向:去向何处。数据流组成:数据结构。数据量流通量:数据量,流通量55

举例:56

数据流定义:57

2、定义数据元素数据元素(数据项)指数据处理中最小的,不可再分的单位。描述包括:数据元素名:类型:数字(离散值,连续值),文字(编码类型)长度:取值范围:相关的数据元素及数据结构:58

数据元素定义举例(1)59

数据元素定义举例(2)60

数据元素定义举例(3)61

数据元素定义举例(4)62

3、定义数据存储数据文件名:简述:存放的是什么数据输入数据:输出数据:数据文件组成:数据结构存储方式:顺序,直接,关键码存取频率:63

数据存储定义举例(1)64

65

66

4、定义数据处理数据处理定义举例(1)67

数据处理定义举例68●是分析阶段的工具;●有助于改进分析员和用户之间的通信;●能避免许多麻烦的接口问题;●数据字典中每个数据元素的控制信息是很有价值的;●是开发数据库的第一步。数据字典的用途69目前实现数据字典有三种常见的途径:◆全人工过程;◆全自动化过程(利用数据字典处理程序);◆混合过程(用正文编辑程序,报告生成程序等已有的实用程序帮助人工过程)。

实现数据字典的途径70§6.成本/效益分析目的——从经济角度分析开发一个特定的新系统是否划算,从而帮助使用部门负责人正确地作出是否投资于这项开发工程的决定。成本估计

软件开发成本主要表现为人力消耗(乘以平均工资则得到开发费用)

代码行技术

任务分解技术自动估计成本技术711.代码行技术

估计出源代码行数以后,用每行代码的平均成本乘以行数就可以确定软件的成本。每行代码的平均成本主

温馨提示

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

评论

0/150

提交评论