软件工程导论第2章课件

上传人:我*** 文档编号:144723175 上传时间:2020-09-13 格式:PPT 页数:63 大小:561KB
返回 下载 相关 举报
软件工程导论第2章课件_第1页
第1页 / 共63页
软件工程导论第2章课件_第2页
第2页 / 共63页
软件工程导论第2章课件_第3页
第3页 / 共63页
软件工程导论第2章课件_第4页
第4页 / 共63页
软件工程导论第2章课件_第5页
第5页 / 共63页
点击查看更多>>
资源描述

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

1、第2章 可行性研究,2.1 可行性研究的任务 2.2 可行性研究过程 2.3 系统流程图 2.4 数据流图 2.5 数据字典 2.6 成本/效益分析 习题,可行性研究的目的不是解决问题,而是确定问题是否值得去解决。 可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。,2.1 可行性研究的任务,第2章 可行性研究 2.1 可行性研究的任务,一般说来,至少应该从下述三方面研究每种解法的可行性: (1) 技术可行性 使用现有的技术能实现这个系统吗? (2) 经济可行性 这个系统的经济效益能超过它的开发成本吗? (3) 操作可

2、行性 系统的操作方式在这个用户组织内行得通吗? 必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。,第2章 可行性研究 2.1 可行性研究的任务,可行性研究最根本的任务是对以后的行动方针提出建议。如果问题没有可行的解,分析员应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费;如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。 可行性研究可行性研究需要的时间长短取决于工程的规模。一般说来,可行性研究的成本只是预期的工程总成本的5%10%。,第2章 可行性研究 2.1 可行性研究的任务,典型的可行性研究过程有下述一些步骤。,2.2 可行性研究过

3、程,第2章 可行性研究 2.2 可行性研究过程,这4个步骤构成一个循环,2.2 可行性研究过程,第2章 可行性研究 2.2 可行性研究过程,8,导出和评价供选择的解法,推荐行动方针,草拟开发计划,书写文档提交审查,优秀的设计过程通常总是从现有的物理系统出发,导出现有系统的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。,第2章 可行性研究 2.2 可行性研究过程,导出新系统的高层逻辑模型,分析员应该从他建议的系统逻辑模型出发,导出若干个较高层次的(较抽象的)物理解法供比较和选择。 首先应该根据技术可行性的考虑初步排除一些不现实的系统。其次

4、可以考虑操作方面的可行性。分析员应该根据使用部门处理事务的原则和习惯检查技术上可行的那些方案,去掉其中从操作方式或操作过程的角度看用户不能接受的方案。 接下来应该考虑经济方面的可行性。一般说来,只有投资预计能带来利润的系统才值得进一步考虑。,第2章 可行性研究 2.2 可行性研究过程,导出和评价供选择的解法,系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物

5、理数据流图而不是程序流程图。,2.3 系统流程图,第2章 可行性研究 2.3 系统流程图,当以概括的方式抽象地描绘一个实际系统时,仅仅使用基本符号就足够了。 当需要更具体地描绘一个物理系统时还需要使用课本39页中列出的系统符号,利用这些符号可以把一个广义的输入输出操作具体化为读写存储在特殊设备上的文件(或数据库),把抽象处理具体化为特定的程序或手工操作等。,2.3.1 符号,第2章 可行性研究 2.3 系统流程图,第2章 可行性研究 2.3 系统流程图,某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。当仓库中零件数量有变化时,应该

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

7、系统流程图,面对复杂的系统时,一个比较好的方法是分层次地描绘这个系统。 首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。 然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。 这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。,2.3.3 分层,第2章 可行性研究 2.3 系统流程图,数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。,2.4 数据流图,第2章 可行性研究 2.4 数据流图,数据流图有四种基本符号

8、: 正方形(或立方体)表示数据的源点或终点; 圆角矩形(或圆形)代表变换数据的处理; 开口矩形(或两条平行横线)代表数据存储; 箭头表示数据流,即特定数据的流动方向。,2.4.1 符号,数据流与程序流程图中用箭头表示的控制流有本质不同。在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。,第2章 可行性研究 2.4 数据流图,2.4.1 符号,第2章 可行性研究 2.4 数据流图,基本符号,第2章 可行性研究 2.4 数据流图,附加符号,处理不一定是一个程序。 一个数据存储并不等同于一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等; 数据存储和数据

9、流都是数据,数据存储是处于静止状态的数据,数据流是处于运动中的数据。 通常在数据流图中忽略出错处理,也不包括诸如打开或关闭文件之类的内务处理。,第2章 可行性研究 2.4 数据流图,有时数据的源点和终点相同,如果只用一个符号代表数据的源点和终点,则至少将有两个箭头和这个符号相连(一个进一个出),可能其中一条箭头线相当长,这将降低数据流图的清晰度。另一种表示方法是再重复画一个同样的符号(正方形或立方体)表示数据的终点。 为了避免可能引起的误解,如果代表同一个事物的同样符号在图中出现在n个地方,则在这个符号的一个角上画(n-1)条短斜线做标记。,第2章 可行性研究 2.4 数据流图,假设一家工厂的

10、采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。,2.4.2 例子,第2章 可行性研究 2.4 数据流图,数据流图有4种成分:源点或终点,处理,数据存储和数据流。 第一步可以从问题描述中提取数据流图的4种成分。 第二步根据任何系统的基本模型都由若干个数据源点/终点以及一个处理组成,画出基本系统模型。,第2章 可行性研究 2.4 数据

11、流图,图2.5 定货系统的基本系统模型,第2章 可行性研究 2.4 数据流图,下一步应该把基本系统模型细化,描绘系统的主要功能。 “产生报表”和“处理事务”是系统必须完成的两个主要功能,它们将代替图2.5中的“定货系统”。 此外,细化后的数据流图中还增加了两个数据存储:处理事务需要“库存清单”数据;产生报表和处理事务在不同时间,因此需要存储“定货信息”。,第2章 可行性研究 2.4 数据流图,图2.6 定货系统的功能级数据流图,第2章 可行性研究 2.4 数据流图,接下来应该对功能级数据流图中描绘的系统主要功能进一步细化。把“处理事务”这个功能分解为 “接收事务”、“更新库存清单”和“处理定货

12、” 。 当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。 对处理进行编号,使分层次的数据流图内容更加清晰。,第2章 可行性研究 2.4 数据流图,图2.7 把处理事务的功能进一步分解后的数据流图,第2章 可行性研究 2.4 数据流图,为数据流(或数据存储)命名 (1) 名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。 (2) 不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。 (3) 如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成

13、的,应该试试重新分解,看是否能克服这个困难。,2.4.3 命名,第2章 可行性研究 2.4 数据流图,为处理命名 (1) 通常先为数据流命名,然后再为与之相关联的处理命名。这样命名比较容易,而且体现了人类习惯的“由表及里”的思考过程。 (2) 名字应该反映整个处理的功能,而不是它的一部分功能。 (3) 名字最好由一个具体的及物动词加上一个具体的宾语组成。应该尽量避免使用“加工”、“处理”等空洞笼统的动词作名字。,第2章 可行性研究 2.4 数据流图,(4) 通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。 (5) 如果在为某个处理命

14、名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。 通常,为数据源点/终点命名时采用它们在问题域中习惯使用的名字(如“采购员”、“仓库管理员”等)。,第2章 可行性研究 2.4 数据流图,画数据流图的基本目的是利用它作为交流信息的工具。 数据流图应该分层,并且在把功能级数据流图细化后得到的处理超过9个时,应该采用画分图的办法,也就是把每个主要功能都细化为一张数据流分图,而原有的功能级数据流图用来描绘系统的整体逻辑概貌。,2.4.4 用途,第2章 可行性研究 2.4 数据流图,数据流图的另一个主要用途是作为分析和设计的工具。 当用数据流图辅助物理系统的设计时,以图中不同处理的定时要求

15、为指南,能够在数据流图上画出许多组自动化边界,每组自动化边界可能意味着一个不同的物理系统,因此可以根据系统的逻辑模型考虑系统的物理实现。,第2章 可行性研究 2.4 数据流图,图2.8 这种划分自动化边界的方法暗示 以批量方式更新库存清单,第2章 可行性研究 2.4 数据流图,改变自动化边界,把处理1.1,1.2和1.3放在同一个边界内(图2.9),这个系统将联机地接收事务、更新库存清单和处理定货及输出定货信息;然而处理2将以批量方式产生定货报表。,第2章 可行性研究 2.4 数据流图,图2.9 另一种划分自动化边界的方法建议 以联机方式更新库存清单,第2章 可行性研究 2.4 数据流图,数据

16、字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。 数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。 数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。,2.5 数据字典,第2章 可行性研究 2.5 数据字典,一般说来,数据字典应该由对下列4类元素的定义组成: (1) 数据流 (2) 数据流分量(即数据元素) (3) 数据存储 (4) 处理 但是,对数据处理的定义用其他工具(如IPO图或PDL)描述更方便,因此本书中数据字典将主要由对数据的定义组成,这样做可以使数据字典的内容更单纯,形式更统一。,2.5.1 数据字典的内容,第2章 可行性研究 2.5 数据字典,数据元素的别名就是该元素的其他等价的名字,出现别名主要有下述3个原因: (1) 对于同样的数据,不同的用户使用了不同的名字; (2) 一个分析员在不同时期对同一个数据使用了不同的名字; (3) 两个分析员分别分析同一个数据流时,使用了不同的名字。 虽然应该尽量减少出现别名,但是不可能完全消除别名。,第2章 可行性研

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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