《第4章过程建模(1)》
n本节主要学习以下内容:
² 了解过程建模的任务;掌握数据流图的绘制;
² 掌握需求的逻辑说明方法——微规格说明;
² 掌握需求的数据说明方法——数据字典;
² 掌握模块结构图的绘制。
本节重点
数据流图的绘制过程和方法。
本节难点
数据流图和数据字典的绘制方法。
授课课时
2课时
教法建议
首先介绍某软件系统的需求然后根据需求按照分层的观点绘制数据流图和数据字典。
回顾上节课的主要内容。
本节主要掌握过程建模中常用图形的绘制方法,主要是数据流图和数据字典。
内容:
需求建模主要是根据待开发软件系统的需求利用某种建模方法建立该系统的逻辑模型(也称需求模型或分析模型),以帮助软件开发人员检测软件需求的一致性、完全性、二义性和错误等。
软件建模应具备的特点:(1)提供描述手段;(2)提供基本步骤。
模型的定义
1. 由某些人根据其目的而对事物进行的抽象描述。
2. 根据实物、设计图或设想,按比例生态或其他特征制成的同实物相似的物体。
3. 当一个数学结构作为某个形式语言(即包括常符号、函数符号、谓词符号的集合)的解释时,称为模型。
4. 为了理解事物而对事物作出的一种抽象,是对事物的一种无二义性的书面描述。
软件工程中模型的概念
对客观世界的问题领域进行抽象并用某描述方法给予表示的结果称为模型。
特点
由于软件工程中多数模型是用于表示问题领域中的元素以及元素间的关系或相互作用等,故在建模过程中应该注意问题域中有什么对象,应该选择什么样的关系或动作,然后用适当的模型给予表示。
SA方法的特点
1. 表达问题时尽可能使用图形符号的方式,这样即使非计算机专业人员也易于理解;
2. 设计数据流图时只考虑系统必须完成的基本功能,完全不需要考虑如何具体地实现这些功能。
基本思想
按照由抽象到具体、逐层分解的方法,确定软件系统内部的数据流、变换(或加工)的关系,并用数据流图给予表示。
复杂系统分解示例

n 组成
1. 一套分层的数据流图
2. 一本词典
3. 其它补充材料
n 数据流图(DFD:Data Flow Diagram)
描述系统内部处理流程、用于表达软件系统需求模型的一种图形工具,亦即是描述系统中数据流程的图形工具。
[详细讲解,并举例说明]
内容:
示例:
某医院拟开发一个分布式患者监护系统(PMS: Patients Monitoring System)。PMS将用于监视病房中每个患者的重要生理信号(如体温、血压、脉博信号等),并能定时更新和营理患者的病历。此外,当患者的生理信号超过医生规定的安全范围时,系统能立即通知护理人员,并且护理人员在需要时可随时通过系统产生某患者有关报告。
PMS的主要功能为:
① 通过一个病床监视器实现本地监测,以获得患者的生理信号。
② 在护士办公室实现中央监测
③ 更新和管理患者病历
④ 产生患者情况的报告以及报警信息
0层:

1层

2层:

[详细讲解,并举例说明]
内容:
数据字典
数据词典是由DFD中所有元素的“严格定义”组成。其作用就是DFD中出现的每个元素提供详细的说明,即DFD中出现的每个数据流名、文件名和加工名都在数据词典中应有一个条目以定义相应的含义。
数据词典中的条目类型
数据流条目:用于定义数据流
在数据流条目中主要说明由哪些数据项组成数据流,且数据流的定义也采用简单的形式符号方式。
如:订票单=顾客信息+订票日期+出发日期+航班号+目的地+……
对于复杂的数据流,可采用向顶向下逐步细化的方式定义数据项。
如:顾客信息= 姓名+性别+身份证号+联系电话
当数据项由多个更小的数据元素组成时,可利用集合符号“{ }”给予说明。
如:选修课程= 课程表+ 教师+ 教材
课程表= { 课程名+ 星期几+ 上课时间+ 教室 }
当某些数据项是几个不同的数据流的公用数据项时,可将它们列为专门的数据项条目。
如:教室=101| 102|……
航班号=Mu712| Mu814| ……
文件条目:用于定义文件
文件条目除说明组成文件的所有数据项(与数据流的说明相同)外,还可说明文件的组成方式。
如:航班表文件= { 航班号+ 出发地+ 目的地+ 时间 }
组成方式= 按航班号大小排列
加工条目:用于说明加工
加工条目主要描述加工的处理逻辑或“做什么” 。
加工条目并不描述具体的处理过程,但可以按处理的顺序描述加工应完成的一些功能,而且描述加工的手段通常使用自然语言,或者结构化的人工语言,或者使用判定表或判定树的形式。
[详细讲解,并举例说明]
内容:
为简单起见,我们将现实中已存在的人工系统称为当前系统,把待开发的计算机系统(主要是指软件系统)称为目标系统。
n步骤
1. 理解和分析当前的现实环境,以获得当前系统的具体模型;
2. 建立当前系统的逻辑模型;
3. 建立目标系统的逻辑模型;
4. 进一步完善目标系统的逻辑模型
[详细讲解]
本节学习了以下主要内容:
2. 掌握需求的逻辑说明方法——微规格说明;
3. 掌握需求的数据说明方法——数据字典;
4. 掌握模块结构图的绘制。
考核点1:数据流图的绘制方法
考核点2:数据字典的编写方法
作业:按照需求绘制数据流图。
![]()
(注:在此写上个人在授课过程中所遇到的教案中所没有涉及到的特殊问题及其解决方法或解决方案,也可以总结自己的授课体会,课程体系、教材的不足等。)
授课教师(签名): 授课时间: 授课班级:

