软件工程导论第2章资料

上传人:f****u 文档编号:115018371 上传时间:2019-11-12 格式:PPT 页数:41 大小:296.50KB
返回 下载 相关 举报
软件工程导论第2章资料_第1页
第1页 / 共41页
软件工程导论第2章资料_第2页
第2页 / 共41页
软件工程导论第2章资料_第3页
第3页 / 共41页
软件工程导论第2章资料_第4页
第4页 / 共41页
软件工程导论第2章资料_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《软件工程导论第2章资料》由会员分享,可在线阅读,更多相关《软件工程导论第2章资料(41页珍藏版)》请在金锄头文库上搜索。

1、第2章 可行性研究,本章内容: 问题定义 可行性研究 可行性研究的内容和步骤 系统流程图 数据流图 数据字典 成本/效益分析,本章重点: 可行性研究,计划时期是软件生存周期的第一个时期,包括问题定义和可行性研究两个阶段。 计划时期的主要任务是: 明确要开发的软件项目,研究该项目是否值得开发,需要的开发时间和投资,开发软件存在哪些风险,如何预防等。,一. 软件计划时期,目的: 弄清用户需要计算机解决的问题的目标和范围,以及项目所需的资源和经费。 主要任务: 在向用户调查的基础上,编写“系统目标与范围的说明”的文档。 可行的方法: 听用户介绍、阅读资料、现场观察、亲自参加操作等。 说明书应由用户和

2、分析员共同审查,双方一致同意后,可作为可行性研究的依据。 例:教材购销系统的问题定义。,二. 问题定义,例:教材购销系统的问题定义。 教材购销系统是某高校用于教材管理的一个系统,主要用于对计划供应教材的控制销售与补充采购。该系统主要具有以下功能: 根据学校的教学计划,向选课的学生及时供应所需教材 审查学生(个人或班级)购书单的有效性,对有效书单发售教材; 对属于计划供应但暂时缺货的教材进行缺书登记。 根据缺书登记表补充采购所缺的教材,通知学生补购 将缺书登记表汇总为待购教材计划; 待购教材到货后,及时通知学生补购。,可行性研究的目的是为了确定用户提出的问题是否有解,是否值得去解。 可行性研究实

3、质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。 1.可行性研究的内容: (1)技术可行性 (2)经济可行性 (3)操作可行性 (4)社会因素方面的可行性,三. 可行性研究,2可行性研究的步骤 (1)细化和修改“系统目标与范围的说明”,得出新系统的逻辑模型。 进一步了解“系统目标与范围的说明”的含义, 复查系统规模和目标 ,弄清用户想要解决的问题; 访问用户,弄清当前系统的工作过程,并用“系统流程图”加以描述; 导出当前系统和新系统的逻辑模型,用数据流图加以描述; 再访用户,修改数据流图,并对“系统目标与范围的说明”做必要的补充

4、与修改。,2可行性研究的步骤 (1)细化和修改“系统目标与范围的说明”,得出新系统的逻辑模型。 (2)导出新系统的解决方案。 目的是根据新系统逻辑模型,设想若干个可能的解决方案,以便比较和选择。便每种方案都要考虑在技术上是否可行,并分析经济与社会的可行性。 (3)提出推荐的方案。 分析员必须清楚地表明这个方案的开发价值和和推荐这个方案的理由。 推荐的方案应附有“系统流程图”和简单的“数据流图”,以及比较详细的成本效益分析。,2可行性研究的步骤 (1)细化和修改“系统目标与范围的说明”,得出新系统的逻辑模型。 (2)导出新系统的解决方案。 (3)提出推荐的方案。 (4)编写可行性论证报告。 可行

5、性论证报告的内容: 系统概述 对当前系统及其存在问题的简单描述,新的目标系统及其各子系统的功能与性能,新系统与当前系统的比较等。 可行性分析 新系统在经济上、技术上和法律上的可行性,以及对建立新系统的主客观条件的分析。 结论意见 综合上述的分析,说明新系统是否可行。(可立即进行、推迟进行、不能或不值得进行),报告的主体,系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况。 常用符号见书29页 例:教材购销系统的系统流程图,四. 系统流程图,某装配厂有一座存放零件

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

7、方法是分层次地描绘这个系统。首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。,分层系统流程图,数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。 数据流图的基本要点是描绘“做什么”而不考虑“怎样做”。 数据流图是系统逻辑功能的图形表示,是分析员与用户之间极好的通信工具。,五. 数据流图,见书31页所示。 数据流图

8、有四种基本符号: 正方形(或立方体)表示数据的源点或终点; 圆形(或圆角矩形)代表变换数据的处理; 两条平行横线 (或开口矩形)代表数据存储; 箭头表示数据流,即特定数据的流动方向。 数据存储和数据流都是数据,仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。 在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。,1. 符号,假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。 每个需要再次定货的零件应该包含下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。 零件入库或出库称为事务

9、,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。,2. 例:,数据的源点和终点: 从“采购部每天需要一张定货报表”可以知道,采购员是数据终点; 而“通过放在仓库中的CRT终端把事务报告给定货系统”可以知道,仓库管理员是数据源点。 数据流: 系统把定货报表送给采购部,因此定货报表是一个数据流; 事务需要从仓库送到系统中,显然事务是另一个数据流。,处理: 由于“采购部需要报表”,因此必须有一个用于产生报表的处理。 事务的后果是改变零件库存量,然而任何改变数据的操作都是处理,因此对事务进行的加工是另一个处理。 数据存储: 产生报表和处理事务这两

10、个处理在时间上明显不匹配每当有一个事务发生时立即处理它,然而每天只产生一次定货报表。因此,用来产生定货报表的数据必须存放一段时间,也就是应该有一个数据存储来存放它定货信息。 “当某种零件的库存数量少于库存量临界值时就应该再次定货”则表示应该有一个数据存储用于保存库存数量和库存量临界值库存清单 。,把处理事务的功能进一步分解后的数据流图,数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。因此,给这些成分起名字时应该仔细推敲。 (1) 为数据流(或数据存储)命名 名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。 不要使用空洞的、缺乏具体含义的名字(如“数据”、“信

11、息”、“输入”之类)。 如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。,3. 命名,(2) 为处理命名 通常先为数据流命名,然后再为与之相关联的处理命名。 名字应该反映整个处理的功能,而不是它的一部分功能。 名字最好由一个具体的及物动词加上一个具体的宾语组成。 通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。 如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。 (3)数据源点/终点命名 数据源点/终点并不需要在开发目

12、标系统的过程中设计和实现,它只不过是目标系统的外围环境部分(可能是人员、计算机外部设备或传感器装置)。通常,为数据源点/终点命名时采用它们在问题域中习惯使用的名字(如“采购员”、“仓库管理员”等)。,顶层DFD,第二层DFD,例:教材购销系统的数据流图,画数据流图的用途有二: (1)作为交流信息的工具 分析员把他对现有系统的认识或对目标系统的设想用数据流图描绘出来,供有关人员审查确认。 数据流图应该分层,并且在把功能级数据流图细化后得到的处理超过9个时,应该采用画分图的办法,也就是把每个主要功能都细化为一张数据流分图,而原有的功能级数据流图用来描绘系统的整体逻辑概貌。 (2)作为分析和设计的工

13、具 数据流图着重描绘系统所完成的功能而不是系统的物理实现方案。 当用数据流图辅助物理系统的设计时,以图中不同处理的定时要求为指南,能够在数据流图上画出许多组自动化边界,每组自动化边界可能意味着一个不同的物理系统,因此可以根据系统的逻辑模型考虑系统的物理实现。,4. 用途,例如,由于事务随时可能发生,因此处理1.1必须是联机的;采购员每天需要一次定货报表,因此处理2应该以批量方式进行。 问题描述并没有对其他处理施加限制,例如,可以联机地接收事务并放入队列中,然而更新库存清单、处理定货和产生报表以批量方式进行。当然,这种方案需要增加一个数据存储以存放事务数据。,改变自动化边界,把处理1.1,1.2

14、和1.3放在同一个边界内,这个系统将联机地接收事务、更新库存清单和处理定货及输出定货信息;然而处理2将以批量方式产生定货报表。,数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。 数据字典的作用: 就是对软件中的每个数据规定一个定义条目,以保持数据在系统中的一致性; 在软件分析和设计的过程中给人提供关于数据的描述信息。 数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。,六. 数据字典,数据字典应该对4类元素进行定义和描述:

15、 (1) 数据流 (2) 数据项(即数据元素,数据流或数据存储的成分) (3) 数据存储 (4) 处理 但是,对数据处理的定义用其他工具(如IPO图或PDL)描述更方便,因此数据字典将主要由对数据的定义组成,这样做可以使数据字典的内容更单纯,形式更统一。,1. 数据字典的内容,(1)可以使用自然语言描述由数据元素组成数据的关系; (2)可以使用公式定义: = 等价于(或定义为); + 和(即连接两个分量); 或(从方括弧内列出的若干个分量中选择一个); | 隔开供选择的分量; 重复(即重复花括弧内的分量); ( ) 可选(即圆括弧里的分量可有可无)。 例:定义标识符 标识符=字母字符+字母数字

16、串 字母数字串=0字母或数字7 字母或数字=字母字符数字字符,2. 定义数据的方法,通过估计新系统所需的成本和可能产生的效益,从经济上衡量这个项目的开发价值,从而帮助客户组织的负责人正确地作出是否投资于这个项目的决定。,七. 成本/效益分析,系统成本包括开发成本和运行维护成本。 (1)开发成本: 主要为人力消耗。通常先估计项目开发所需要的人力,再乘以平均工资则得到开发费用。 (2)运行维护成本: 包括使用中的物质消耗,占用的操作和维护人员数量,以及围绕这一项目的人员训练等费用。 在计划时期,对成本的计算只能是估计值。,1. 成本估计,. 代码行技术 代码行技术是比较简单的定量估算方法,它把开发每个软件功能的成本和实现这个功能需要用的源代码行数联系起来。通常根据经验和历史数据估计实现一个功能需要的源程序行数,再用每行代码的平均成本乘以行数就可以确定软件的成本。每行代码的平均成本主要取决于软件的复杂程度和工资水平。 . 任务分解技术 首先把软件开发工程分解为若干个相对

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号