版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程课件之第2章-可行性研究(第五版)(张海潘编著)开始问题定义可性行研究可行否?项目实施计划终止项目的建议结束YN问题的定义与可性行研究Who
为谁设计,用户是谁?What
要解决哪些问题?Why
为什么要解决这些问题
有用的软件
3W问题定义阶段目的:弄清用户需要计算机解决的问题根本所在,以及项目所需的资源和经费。任务:在向用户调查的基础上,编写《关于系统规模和目标的报告书
》。例:教材销售系统学生购买学校教材的手续可能是:先找系办公室开购书申请(用于确定学生可购买的书),凭申请找教材科开购书证明(确定是否卖完),向出纳员交付书款获得领书单,然后到书库找保管员领书。关于系统规模和目标的报告书
1.项目名称:教材销售系统2.问题:人工发售教材手续繁杂,且易出错。3.项目目标:建立一个高效率、无差错的微机教材销售系统。4.项目规模:利用现有微型计算机,软件开发费用不超过5000元。5.初步想法:建议在系统中增加对缺书的统计与采购功能。6.可行性研究:建议进行大约10天的可行性研究,研究费用不超过500元。第2章可行性研究目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。不是解决问题,而是确定问题是否值得去解决。说明该软件开发项目的实现在技术上、经济上和社会条件上的可行性;评述为合理地达到开发目标可能选择的各种方案。
GB8567-88《计算机软件产品开发文件编制指南》2.1可行性研究的任务可行性研究的目的:不是解决问题,而是确定问题是否值得去解决。可行性研究的实质:是“了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。”
可行性研究的最根本任务
对软件开发以后的行动方针提出建议。可行性研究的内容:首先进一步分析和澄清问题定义,导出系统的逻辑模型;然后从系统逻辑模型出发,探索若干种可供选择的主要解法(即系统实现方案);对每种解法都研究它的可行性,至少应该从三方面研究每种解法的可行性
。主要方面:技术可行性,使用现有的技术能实现这个系统吗?经济可行性,这个系统的经济效益能超过它的开发成本吗?操作可行性,系统的操作方式在这个用户组织内行得通吗?其他方面:运行可行性,系统的运行方式是否可行?法律可行性,系统是否侵犯他人、集体或国家的利益,是否违反法律?分析员应该为每个可行的解法制定一个粗略的实现进度。如果问题没有可行的解,分析员应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费;如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。可行性研究需要的时间长短取决于工程的规模。一般说来,可行性研究的成本只是预期的工程总成本的5%~10%。2.2可行性研究过程1.复查系统规模和目标对问题定义阶段书写的关于规模和目标的报告书进一步复查确认。2.研究目前正在使用的系统
新的目标系统必须也能完成旧系统的基本功能;另一方面,新系统必须能解决旧系统中存在的问题。
3.导出新系统的高层逻辑模型现有的物理系统→现有系统的逻辑模型→目标系统的逻辑模型→新的物理系统
4.进一步定义问题分析员应该和用户一起再次复查问题定义、工程规模和目标。可行性研究的前4个步骤实质上构成一个循环。
5.导出和评价供选择的解法首先从技术角度出发排除不可行方案;其次考虑操作可行性,去掉用户不能接受的方案;接下来考虑经济可行性,估计余下的每个可能的系统的开发成本和运行费用,进行成本/效益分析;最后为每个在各方面都可行的系统制定实现进度表。工程进度表阶段所需时间(月)可行性研究0.5需求分析1概要设计0.5详细设计1实现2总计56.推荐行动方针根据可行性研究结果应该做出的一个关键性决定是,是否继续进行这项开发工程。若继续开发,选择一种最好的解法,说明选择这个解决方案的理由。7.草拟开发计划分析员应该为所推荐的方案草拟一份开发计划,制定工程进度表、估计对各类开发人员和各种资源的需要情况、估计系统生命周期每个阶段的成本、给出下一个阶段(需求分析)的详细进度表和成本估计。项目实施计划1.系统概述包括项目目标,主要功能,系统特点,以及关于开发工作的安排2.系统资源包括开发和运行该系统所需要的各种资源如硬件、软件、人员和组织机构等3.费用预算:分阶段的人员费用、机时费用及其他费用4.进度安排:各阶段起始时间、完成文档及验证方式5.要交付的产品清单8.书写文档提交审查把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。可行性研究报告的编写1引言
1.1编写目的
1.2背景
1.3定义
1.4参考资料2可行性研究的前提
2.1要求
2.2目标
2.3条件、假定和限制
2.4进行可行性研究的方法
2.5评价尺度可行性研究报告的编写3对现有系统的分析
3.1数据流程和处理流程
3.2工作负荷
3.3费用开支
3.4人员
3.5设备
3.6局限性4所建议的系统
4.1对所建议系统的说明
4.2数据流程和处理流程
4.3改进之处
4.4影响
4.5局限性
4.6技术条件方面的可行性可行性研究报告的编写5可选择的其它系统方案
5.1可选择的其它系统15.2可选择的其它系统2
......6投资及收益分析
6.1支出
6.2收益
6.3收益/投资比
6.4投资回收周期
6.5敏感性分析7社会条件方面的可行性
7.1法律方面的可行性
7.2使用方面的可行性2.3系统流程图系统流程图:是概括地描绘物理系统的传统工具。用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程。2.3.1符号基本符号:5个,以概括的方式抽象地描绘一个实际系统。系统符号:11个,更具体的描绘物理系统。2.3.2例子
例1:
某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件上。当仓库零件数量发生变化时,应该及时修改库存清单主文件。如果哪种零件的库存量少于它的库存临界值,则应该报告给采购部门以便定货,规定每天向采购部门送一次定货报告。该装配厂使用一台小型计算机,处理更新库存清单主文件和产生定货报告。零件库存量的每一次变化称为一个事务,由放在仓库中CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的订货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出订货报告。部件:包括程序、文档、数据库、人工过程等程序:更新库存清单程序产生定货报告程序文档:定货报告数据:磁盘上的库存清单主文件磁带上的定货信息
CRT终端输入事务人工过程:无库存清单系统的系统流程图2.3.3分层
首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能;然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。
第一层:描绘系统关键功能(仅用基本符号)第二层:扩展系统关键功能
第三层:合成后的系统流程图例2:教材销售系统人工教材销售系统:先找系办公室开购书申请,凭申请找教材科开购书证明,向出纳员交付书款获得领书单,然后到书库找保管员领书。人工教材销售的系统流程图计算机教材销售系统:由计算机实现有效性审查(不该购买或已卖完的教材),收书款和发书仍由人工完成。开购书申请和购书证明可一步完成,增加缺书统计和采购功能。计算机教材销售的系统流程图2.4数据流图数据流图(DFD):是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。2.4.1符号基本符号:数据源点/终点:通常是人或部门,可重复表示;处理:一个处理框可以代表一系列程序、单个程序或程序的一个模块;数据存储:可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等,数据存储是处于静止状态的数据;数据流:描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件,数据流是处于运动中的数据。附加符号:星号(*):表示“与”关系加号(+):表示“或”关系异或(⊕):表示互斥关系2.4.2例子例1:
假设采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件,应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存量少于库存量的临界值时,就应该再次定货。画数据流图的步骤:1.从问题描述中提取数据流图的4种成分数据的源点/终点“通过放在仓库中的CRT终端把事务报告给定货系统”——仓库管理员是数据源点;“采购部每天需要一张定货报表”——采购员是数据终点。处理“采购部需要报表”,——产生报表;事务的后果是改变零件库存量,因此对事务进行的加工是另一个处理——处理事务。数据流:“系统把定货报表送给采购部”——定货报表;“事务需要从仓库送到系统中”——事务。数据存储:处理事务和产生报表这两个处理在时间上明显不匹配,用来产生定货报表的定货信息必须存放一段时间——定货信息;零件库存量和库存量临界值需要存储——库存清单。源点:仓库管理员终点:采购员处理:产生报表、处理事务数据流:定货报表事务零件编号零件名称定货数量目前价格主要供应者次要供应者零件编号事务类型数量数据存储:定货信息——同定货报表库存清单零件编号库存量库存量临界值2.画基本系统模型由若干个数据源点/终点和一个处理组成。定货系统的基本系统模型3.细化,描绘系统的主要功能(功能级数据流图)定货系统的功能级数据流图4.对系统主要功能进一步细化把处理事务的功能进一步分解后的数据流图细化时注意:当进一步分解涉及如何具体的实现一个功能时就不应该再分解了。当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。注意对处理进行编号的方法。2.4.3命名1.为数据流(或数据存储)命名完整性;具体性;起名字遇到了困难时,试试重新分解。2.为处理命名通常先为数据流命名,然后再为与之相关联的处理命名;完整性;及物动词+宾语,具体性;通常名字中仅包括一个动词,否则进行分解;命名时遇到困难,应考虑重新分解。3.为数据源点/终点命名采用它们在问题域中习惯的名字。
2.4.4用途
作为交流信息的工具供有关人员审查确认供用户理解和评价数据流图应该分层,超过9个时应该画分图作为分析和设计的工具描绘系统所完成的功能辅助物理系统的设计时,以定时要求为指南,画出许多组自动化边界,对应不同的物理系统。导出更详细的设计步骤——面向数据流的设计方法以批量方式更新库存清单以联机方式更新库存清单例2:高考录取统分子系统功能如下:
(1)计算标准分——根据考生原始分计算标准分,存入考生分数文件;
(2)计算录取线分——根据标准分和招生计划文件中的招生人数,计算录取线分,存入录取线文件。
1.提取数据流图的四种成分数据源点和终点:考生处理:(1)计算标准分
(2)计算录取线分数据存储:(1)考生分数文件
(2)招生计划文件
(3)录取线文件数据流:原始分;标准分;招生人数;录取线分
2.画基本数据流图3.画功能级数据流图例3:教材销售系统人工:先找系办公室开购书申请,凭申请找教材科开购书证明,向出纳员交付书款获得领书单,然后到书库找保管员领书。计算机:包括销售和采购两大功能。销售时,根据学生用书表和教材库存清单对购书单进行有效性审查,通过审查后得到有效购书单,并将缺书信息写入缺书表。交完款后开领书单,根据领书单更新教材库存清单。采购时,将缺书表中的信息汇总生成采购单,新书进库时更新教材库存清单。人工教材销售系统的数据流图基本数据流图功能级数据流图销售功能细化的数据流图采购功能细化的数据流图2.5数据字典数据字典:是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型。2.5.1数据字典的内容数据字典的组成:数据流数据流分量(即数据元素)数据存储处理(用其它工具描述更方便,如IPO图)在数据字典中记录数据元素的下列信息:一般信息定义使用特点控制信息分组信息
2.5.2定义数据的方法
方法:对数据自顶向下分解。数据组成方式(三种基本类型):顺序以确定次序连接两个或多个分量;选择从两个或多个可能的元素中选取一个;重复即把指定的分量重复零次或多次。附加类型:可选即一个分量是可有可无的(重复零次或一次)。符号:=意思是等价于(或定义为);+意思是和(即,连接两个分量);[]意思是或(即,从方括弧内列出的若干个分量中选择一个),通常用“|”号隔开供选择的分量;{}意思是重复(即,重复花括弧内的分量);常常使用上限和下限进一步注释表示重复的花括弧。()意思是可选(即,圆括弧里的分量可有可无)。例1:标识符=字母字符+字母数字串字母数字串=0{字母或数字}7字母或数字=[字母字符|数字字符]例2:购书单=学号+姓名+{书号+数量+单价+总价}+书费合计学生用书表={学院编号+专业编号+年级+{书号}}年级=[1|2|3|4]学号=10{数字}102.5.3数据字典的用途数据字典最重要的用途是作为分析阶段的工具;数据字典中包含的每个数据元素的控制信息是很有价值的。很容易估计改变一个数据将产生的影响;数据字典是开发数据库的第一步,而且是很有价值的一步。2.5.4数据字典的实现计算机实现:目前,数据字典几乎总是作为CASE(计算机辅助软件工程)“结构化分析与设计工具”的一部分实现的。在开发大型软件系统的过程中,数据字典的规模和复杂程度迅速增加,人工维护数据字典几乎是不可能的。人工实现:采用卡片形式书写数据字典,每张卡片上保存描述一个数据的信息。每张卡片上主要应该包含下述这样一些信息:名字、别名、描述、定义、位置。名字:定货报表别名:定货信息描述:每天一次送给采购员的需要定货的零件表定义:定货报表=零件编号+零件名称
+定货数量+目前价格+主要供应者+次要供应者位置:输出到打印机名字:零件编号别名:描述:惟一地标识库存清单中一个特定零件的关键域定义:零件编号=8{字符}8位置:定货报表定货信息库存清单名字:定货数量别名:描述:某个零件一次定货的数量定义:定货数量=1{数字}5位置:定货报表定货信息2.6成本/效益分析成本/效益分析的目的正是要从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定。
2.6.1成本估计1.代码行技术方法:通常根据经验和历史数据估计实现一个功能需要的源程序行数。一旦估计出源代码行数以后,用每行代码的平均成本乘以行数就可以确定软件的成本。每行代码的平均成本主要取决于软件的复杂程度和工资水平。特点:简单;当有以往开发类似工程的历史数据可供参考时,这个方法是非常有效的。功能生产率(行/人月)估计行数每行成本(元/行)成本(元)人力(人月)获取实时数据92840108907209.1更新数据库1021210546534011.8脱机分析13460072432004.4产生报告14545033148503.1实时控制80110013514850013.7总计36261042.1代码行技术分析一个过程控制系统:2.任务分解技术方法:首先把软件开发工程分解为若干个相对独立的任务。再分别估计每个单独的开发任务的成本,最后累加起来得出软件开发工程的总成本。估计每个任务的成本时,通常先估计完成该项任务需要用的人力(以人月为单位),再乘以每人每月的平均工资而得出每个任务的成本。
任务分解技术估计软件开发成本:任务估计人力(人月)元/人月成本(元)需求分析5.01020051000设计15.09600144000编码和单元测试8.0795063600综合测试16.58700143550总计44.54021503.自动估计成本技术方法:采用自动估计成本的软件工具特点:可以减轻人的劳动,并且使得估计的结果更客观。但是,采用这种技术必须有长期搜集的大量历史数据为基础,并且需要有良好的数据库系统支持。2.6.2成本/效益分析的方法成本/效益分析要估计开发成本、运行费用和新系统将带来的经济效益。运行费用:取决于系统的操作费用(操作员人数,工作时间,消耗的物资等等)和维护费用。系统的经济效益:等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。成本/效益分析涉及的4个概念:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购扣分制度
- 采购招标管理制度
- 采购文件编制及发放制度
- 采购材料质量管理制度
- 采购法招标回避制度
- 采购申请流程及管理制度
- 采购签字审批流程制度
- 采购管理惩罚制度
- 采购考核制度方案模板
- 采购订单管理制度
- 胃穿孔患者的护理
- 2025统编版道德与法治小学六年级下册每课教学反思(附教材目录)
- 护理疑难病例胰腺癌讨论
- 《经络与腧穴》课件-手厥阴心包经
- 零红蝶全地图超详细攻略
- 2024届高考语文复习:诗歌专题训练虚实结合(含答案)
- 智能交通监控系统运维服务方案(纯方案-)
- 2024年广东中山市港口镇下南村招聘合同制综合工作人员2人历年(高频重点复习提升训练)共500题附带答案详解
- 高一化学学习探究诊断(必修1)(西城学探诊)
- 材料成形工艺基础智慧树知到期末考试答案章节答案2024年华东交通大学
- 高中数学学业水平考试(合格考)知识点总结
评论
0/150
提交评论