软件工程实用教程 第2版 普通高等教育“十一五”国家级规划教材 教学课件 郭宁 第3 章 结构化需求分析
- 格式:ppt
- 大小:435.50 KB
- 文档页数:55
664.3.3 结构化设计建模结构化设计涉及模块功能、模块接口与模块调用关系等问题,为了使这些问题能够集中清晰地表达出来,软件结构设计需要借助于一定的图形工具来建立设计模型,如模块结构图或HIPO 图等。
1.模块结构图模块结构图是结构化设计的主要工具,它被广泛地使用在概要设计之中。
模块结构图用来描述软件系统的组成结构及相互关系。
它既反映了整个系统的结构,即模块划分,也反映了模块间的联系。
(1)模块结构图的基本图形符号●模块:使用矩形来表示软件系统中的一个模块,框中写模块名。
名字要恰当地反映模块的功能,而功能在某种程度上反映了块内各成分间的联系。
●调用:使用带箭头的线段表示模块间的调用关系。
它联结调用和被调用模块,箭头指向被调模块,箭头发出模块为调用模块,如图4.5所示。
根据调用关系,模块可相对地分为上层模块和下层模块。
具有直接调用关系的模块之间相互称为直接上层模块和直接下层模块。
调用是模块间惟一的联系方式。
通过调用,各个模块有机地组织在一起,协调完成系统功能。
一般只允许上层模块调用下层模块,而不允许下层模块调用上层模块。
在图4.5中模块A调用模块B和模块C。
●模块间的通信:用小箭头表示模块间在调用过程中相互传递的信息。
小箭头的方向和名字分别表示调用模块和被调用模块之间信息的传递方向和内容。
如图4.5所示,B模块中的数据传递到A模块,同时有一个控制信息传递到A模块;A模块中的数据传递到C模块。
模块间传递的信息可分为两类:作数据用的信息和作控制用的信息。
若需要进一步区分,可在小箭头的尾部使用不同的标记表示,具体可分为以下两种箭头:尾部有小空心圆圈标记,表示作数据用的信息;尾部有小实心圆圈标记,表示作控制用的信息。
●辅助符号:为了表示模块间复杂的调用关系,模块结构图使用了两种辅助符号表示不同的调用,它们是:选择调用(或称条件调用):在调用箭头的发出端用一个小菱形框表示。
选择调用为上层模块根据条件调用它的多个下层模块中的某一个。
结构化需求分析需求分析位于软件开发的前期,它的基本任务是准确定义未来系统的目标,确定为了满足用户的需要系统必须“做什么”。
在需求分析过程中,软件分析人员通过研究用户在软件问题上的需求意愿,分析出软件系统的功能、性能、数据等诸方面应该达到的目标,从而获得有关软件的需求规格定义。
本章主要介绍需求分析的任务、需求获取的过程和方法,并重点介绍结构化分析方法,以使读者掌握结构化需求分析的方法与技术。
本章学习目标:1.掌握需求分析的基本概念2.明确需求分析应遵循的原则3.掌握如何使用需求获取技术来进行数据采集4.掌握结构化分析的思想与过程5.掌握数据流建模技术3.1 需求工程概述软件工程所要解决的问题往往十分复杂,尤其是当建立一个全新的软件系统时,了解问题的本质是一个非常困难的过程。
一般情况是开发软件的技术人员精通计算机技术,但并不熟悉用户的业务领域;而用户清楚自己的业务,却又不太懂计算机技术。
对同一个问题,技术人员和用户之间可能存在认识上的差异。
因此,在着手设计软件之前,需要由既精通计算机技术,又熟悉用户应用领域的系统分析人员,对软件问题进行细致的需求分析。
在规定软件需求时,软件人员与用户同样起着至关重要的作用。
用户必须对软件功能和性能提出初步要求,并澄清一些模糊概念。
而软件人员则要认真了解用户的要求,细致地进行调查分析,把用户“需要”什么软件认识清楚,最终转换成一个完全的、准确的、清楚的软件逻辑模型,并写出软件的需求规格说明,准确地表达用户的需求。
3.1.1 软件需求IEEE软件工程标准词汇表(1997年)中将需求定义为:①用户解决问题或达到目标所需的条件或能力;②系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力。
其中①是从用户的角度定义的,②是从软件系统的角度定义的。
虽然目前对什么是软件需求的定义有不同的看法,但我们认为软件需求是指软件系统必须满足的所有功能、性质和限25。
普通高等教育“十一五”国家级规划教材21世纪高等学校计算机规划教材软件工程实用教程(第2版)郭宁主编马玉春邢跃吴文红副主编人民邮电出版社北京内容提要本书根据软件工程的最新发展,结合目前软件工程教学的需要,以传统的软件工程和面向对象的软件工程为主线,遵循软件开发“工程化”思想,结合大量的应用案例,系统地介绍软件工程学的理论、方法以及应用技术。
内容包括:软件开发模型、需求分析、软件设计、软件测试、软件维护、质量管理、文档技术、软件项目管理、软件工程工具和环境等。
本书强调软件工程的理论与实践相结合、技术与管理相结合、方法与CASE工具相结合,语言简练,通俗易懂,采用案例教学方法,注重培养实际开发能力和文档的写作能力,具有很强的实用性和可操作性。
书中含有丰富的例题与习题,便于教学和自学。
本书可作为高等院校计算机专业或信息类相关专业高年级本科生或研究生教材,也可作为软件开发人员的参考书。
普通高等教育“十一五”国家级规划教材21世纪高等学校计算机规划教材软件工程实用教程(第2版)♦主编郭宁副主编马玉春邢跃吴文红责任编辑邹文波♦人民邮电出版社出版发行北京市崇文区夕照寺街14号邮编 100061 电子邮件 315@网址 北京鑫正大印刷有限公司印刷♦开本:787×1092 1/16印张:18.75 2011年8月第2版字数:494千字2011年8月北京第1次印刷ISBN 978-7-115-25538-9定价:35.00元读者服务热线:(010)67170985 印装质量热线:(010)67129223反盗版热线:(010)67171154。
●从动态的观点看,对象的操作就是对象的行为。
●从存储角度看,对象是私有存储,其中有数据也有操作。
其他对象的方法不能直接操纵该对象的私有数据,只有对象私有的方法才可操纵它。
●从实现机制看,对象是一个自动机,其中私有数据表示了对象的状态,该状态只能由私有的方法改变它。
●在面向对象的程序设计中,对象是系统中的基本运行实体。
系统中的一个对象,在软件生命周期的各个阶段可能有不同的表现形式。
在分析阶段对象主要是从问题域中抽象出来的,反映概念的实体对象;在设计阶段则要结合实现环境增加用户界面对象和数据存储对象;到实现阶段则要用一种程序设计语言写出详细而确切的源程序代码。
2.类把众多的事物归结成一些类是人们在认识客观世界时经常采用的思维方法。
分类所依据的原则是抽象,即忽略事物的非本质的特征,只注意那些与当前目标有关的本质特征,从而找出事物的共性。
把具有共同性质的事物划分为一类,得出一个抽象的概念。
例如,人、汽车、树等都是抽象概念,它们是具有共同特征的事物的集合,被称做类。
类的定义:是指具有相同属性和操作的对象的集合,它代表一种抽象,作为具有类似特性与共同行为的对象的模板,可用来产生对象。
类的概念使人们能对属于该类的全部个体事物进行统一的描述。
例如,汽车具有运输功能,它是由车轮、发动机、车身等部分组成,这个描述适合所有的汽车。
3.实例类是具有相同属性和行为的一组相似对象的抽象,在现实世界中并不能真正存在。
例如,现实世界由人组成,但“人”是由一个个具体的人组成的,如张三、李四等,不存在抽象的人。
实际上,类是建立对象时使用的“样板”,按照这个样板所建立起来的一个个具体的对象,就是类的实例。
对象是类的属性数据具体化的结果,因而可称为是类的实例。
类描述实例的结构(行为和属性),而实例的当前状态由在实例上执行的操作来定义,每个实例有唯一的标识。
例如,把每个人看成是对象,在“人”这个类中代表一个人的每个对象变成了该类的一个实例。