桃园文印室
g.适当地为数据流、加工、文件、源/宿命名,名字应反映该成分的实际意义,避免空洞的名字。
h.忽略枝节。应集中精力于主要的数据流,
而暂不考虑一些例外情况、出错处理等枝节性问题。 i.表现的是数据流而不是控制流。 j.每个加工必须既有输入数据流,又有输
出数据流.在整套数据流图中,每个文件必须既有读文件的数据流又有写文件的数据流,但在某一张子图中可能只有读没有写或者只有写没有读。
小结:一个软件系统,其数据流图往往有多层。如果父图有N个加工(Process),则父图允许有0~N张子图,但是每张子图只能对应一张父图。在一张DFD图中,任意两个加工之间可以有0条或多条名字互不相同的数据流;在画数据流图时,应该注意父图和子图的平衡,即父图中某加工的输入输出数据流必须与其输入输出流在数量和名字上相同。DFD信息流大致可分为两类:交换流和事务流。 9、数据字典
1). 数据字典是在数据流程图的基础上,对数据流程图中的各个元素进行详细的定义与描述,起到对数据流程图进行补充说明的作用。
2). 数据字典的内容包括:数据流、数据流分量(即数据元素)、数据存贮、处理逻辑和外部实体。
3).数据字典的作用是什么?
对用户来讲,数据字典为他们提供了数据的明确定义;对系统分析员来讲,数据字典帮助他们比较容易修改已建立的系统逻辑模型。 数据字典的实现:P49
10、成本效益分析:成本/效益分析的目的是要从经济角度分析开发一个特定的新系统是否可行,从而帮助使用部门负责人正确地做出是否投资与这项开发工程的决定。几种度量效益的方法:货币的时间价值、投资回收期、纯收入
第三章 需求分析
一、重点掌握的内容那:
需求分析的方法和面向数据流的分析方法 二、一般掌握的内容:
6
计算机科学学院 软件工程(二)班 软件工程导论复习资料2 星光二班
桃园文印室
需求分析的任务和原则 三知识点:
1、为什么要做需求分析
可行性分析研究阶段已经粗略的描述了用户的需求,甚至还提出了一些可行的方案,但是,许多细节被忽略了,在最终目标系统中是不能忽略、遗漏任何一个微小细节的,所以,可行性研究不能代替需求分析。
2、需求分析的方法:需求分析方法由对软件的数据域和功能域的系统分析过程及其表示方法组成,它定义了表示系统逻辑视图和物理视图的方式,大多数的需求分析方法是由数据驱动的,也就是说,这些方法提供了一种表示数据域的机制,分析员根据这种表示,确定软件功能及其特性,最终建立一个待开发软件的抽象模型,即目标系统的逻辑模型。 3、需求分析的任务:它的基本任务是准确地回答“系统必须做什么?”这个问题。需求分析所要做的工作是深入描述软件的共能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求。需求分析的任务不是确定系统如何完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。其实现步骤如下图所示:
一般说来需求分析阶段的任务包括下述几方面: 1) 确定对系统的综合需求
对系统的综合需求主要有:系统功能需求、系统性能需求、可靠性和可用性需求、
错处理需求、接口需求、约束、逆向需求、将来可能提出的需求: 2) 分析系统的数据需求
就是在理解当前系统“怎样做”的基础上,抽取其“做什么”的本质,明确目标系统要“做什么”,可以导出系统的详细的逻辑模型。具体做法:首先确定目标系统与当前系统的逻辑差别;然后将变化部分看作是新的处理步骤,对功能图(一般为数据流图)及对象图进行调整;最后有外及里对变化的部分进行分析,推断其结构,获得目标系统的逻辑模型。通常用数据流图、数字字典和主要的处理算法描述这个逻辑模型。
7
计算机科学学院 软件工程(二)班 软件工程导论复习资料2 星光二班
桃园文印室
3) 导出系统的逻辑模型 4) 修正系统开发计划
在经过需求分析阶段的工作,分析员对目标系统有了更深入更具体的认识,因此可以对系统的成本和进度做出更准确地估计,在此基础上应该对开发计划进行修正。 5)开发原型系统:使用原型系统的主要目的是,使用户通过实践获得关于未来的系统将怎样为他们工作的更直接更具体的概念,从而可以更准确地提出他们的要求。 4、需求分析的步骤:1)调查研究 2)分析与综合 3)书写文档 4)需求分析评审 5、需求分析的原则:
1)、必须能够表达和理解问题的数据域和功能域 2)、按自顶向下、逐层分解问题 3)、要给出系统的逻辑视图和物理视图 6、软件需求的验证:
需求分析阶段的工作结果是开发软件系统的重要基础,大量统计数字表明,软件系统中15%的错误起源于错误的需求。为了提高软件质量,确保软件开发成功,降低软件开发成本,一旦对目标系统提出一组要求之后,必须严格验证这些需求的正确性。一般说来,应该从下述4个方面进行验证:
(1) 一致性所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。
(2) 完整性需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。 (3) 现实性指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。
(4) 有效性必须证明需求是正确有效的,确实能解决用户面对的问题。
7、 状态转换图(!!!!!!!!!!!!!!!!!!!!):指明了作为外部事件结果的系统行为。为此,
状态转换图描绘了系统的各种行为模式(称为“状态”)和在不同状态间转换的方式。状态转换图是行为建模的基础。 思考:
利用DFD图进行需求分析:
在结构化分析方法中,用以表达系统内数据的运动情况的工具有( A )。 供选择的答案:
A. 数据流图 B. 数据词典 C. 结构化英语 D. 判定表与判定树
8
计算机科学学院 软件工程(二)班 软件工程导论复习资料2 星光二班
桃园文印室
在结构化分析方法中用状态―迁移图表达系统或对象的行为。在状态―迁移图中,由一个状态和一个事件所决定的下一状态可能会有( A )个。 供选择的答案:
A. 1 B. 2 C. 多个 D. 不确定
五、总体设计(概要设计)
重点掌握的内容:概要设计的过程和方法 一般掌握的内容:概要设计的文档和评审 考核知识点: 一、总体设计:
1、总体设计的目的:总体设计的基本目的就是回答“概括地说,系统应该如何实现?”这个问题,因此,总体设计又称为概要设计或初步设计。1、面向结构设计(SD)2、面向对象设计(OOD)
2、总体设计的任务:
1)系统分析员审查软件计划、软件需求分析提供的文档、提出最佳推荐方案,用系统流程图,组成物理元素清单,成本效益分析,系统的进度计划,供专家沈顶峰,审定后进入设计
2)去顶模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定模块之间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。
3)编写概要设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,结构图是经常使用的软件描述工具。选择分解功能与划分模块的设计原则,例如模块划分独立性原则,信息隐蔽原则等
3、总体设计过程通常由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。
4、典型的总体设计过程包括下述9个步骤:
9
计算机科学学院 软件工程(二)班 软件工程导论复习资料2 星光二班
桃园文印室
1)、设想功选择的方案 2)、选取合理的方案 3)、推荐最佳方案 4)、功能分解 5)、设计软件 6)、设计数据库 7)制定测试计划
8)、书写文档:系统说明、用户手册、测试计划、详细的实现计划、数据库设计结果; 9)、审查和复审
二、设计原理分析(模块化,在模块化程序设计中,按功能划分模块的原则是,模块化和软件成本关系):
模块具有输入和输出(参数传递)、功能、内部数据结构(局部变量)和程序代码四个特性 1、模块化:就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求.
2、模块化的根据:把复杂的问题分解成许多容易解决的小问题,原来的问题也就容易解决了. 模块化和软件成本关系:根据总成本曲线,每个程序都相应地有一个最适当的模块数目M,,使得系统的开发成本最小. 3、模块设计的准则:
(1) 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。
(2) 模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。
(3) 软件结构图的深度、宽度、扇入和扇出要适当。一般模块的调用个数不要超过5个。 (4) 尽量降低模块接口的复杂程度; (5) 设计单入口、单出口的模块。 (6) 模块的作用域应在控制域之内。
4、抽象的概念:抽出事务的本质特性而暂时不考虑它们的细节.
5、 信息隐蔽:模块中所包括的信息不允许其它不需这些信息的模块调用
10
计算机科学学院 软件工程(二)班 软件工程导论复习资料2 星光二班
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库软件工程导论重点内容(2)在线全文阅读。
相关推荐: