从功能模型到数据模型的过程研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021年第1期
信懇与电胭
China Computer & Communication针真机工程雇用技术从功能模型到数据模型的过程研究
杨晴雯王晓莉李莉
(新疆大学信息科学与工程学院(网络空间安全学院),新疆乌鲁木齐830046)
摘要:在软件实训教学过程中,对于在功能建模后如何抽象出系统数据模型,缺乏必要的过程指导,学生存在无从下手 的问题。
基于此,本文分析了从功能模型抽象出数据模型的完整过程,修复了从功能建模到数据建模间的漏洞,并举例对比 了两者间容易混淆的概念,为正确定义软件系统的数据模型提供了必要的推演依据,符合软件工程逐步精细的思维过程。
关键词:软件系统分析;功能建模;数据建模
中图分类号:TP183 文献标识码:A文章编号:1003-9767 (2021) 01-001-03
How to Abstract Data Model From Function Model in System Analysis
YANG Qingwen,WANG Xiaoli,LI Li
(School of Information Science and Engineering(College of Cyberspace Security),Xinjiang University,Urumqi Xinjiang830046, China) Abstract:In the process of software training and teaching,how students can abstract the system data model after functional
modeling,lack of necessary process guidance,and there is a problem that they cannot start.Based on this,this article analyzes the complete process of abstracting the data model from the functional model,fixes the loopholes from the functional modeling to the data modeling,and compares the concepts that are easily confused between the two to correctly define the data of the software system.The model provides the necessary basis for deduction and conforms to the gradually refined thinking process of software engineering.
Keywords:software system analysis;function modeling;data modeling
〇引言
建立软件系统的数据模型是系统分析阶段的一个重要环 节,主要完成对问题域中相关数据的抽象和描述,确定数据范 围和数据间的关系[1'从教学环节和学生软件项目实训中可以 看到,学生在数据建模阶段常常不知如何抽象实体和实体的关 系,特别是在面向对象分析方法中,不知如何从功能分析结果 中抽象出数据模型,抽象过程完全凭感觉,缺乏逐步从抽象走 向细化的分析过程。
正因为缺乏从上而下逐步推导的依据,常 常将数据模型的数据关系和功能模型对象关系相混淆,如在功 能模型中存在管理员管理商品的功能级关系,映射为管理员管 理商品这类实体关系,造成数据模型结果的错误定义。
因此,如何从软件功能模型中抽象出系统的数据模型,并帮助学生正确定义这些实体及其实体关系是当前研究的重 点。
本文使用结构化分析和面相对象分析两种软件分析方法,阐述了系统分析中从功能模型到数据模型的定义过程。
1结构化分析方法中的功能建模和数据建模
功能模型主要描述系统能做什么,即对系统的功能、性 能、接口和界面进行定义。
数据建模是一个用于定义和分析在组织的信息系统范围内支持商业流程所需的数据要求的过程。
数据建模的根本目标是为实现系统功能提供数据或存储数据,因此数据模型可以从功能模型中逐步推导演化而得,它来自于
功能模型,且服务于功能模型,但又区别于功能模型。
在结构化分析方法中,功能建模的常用工具是数据流图 DFD,而数据模型的ER图可由DFD推导得出。
例如,一个学生选课系统功能的简单定义如下:①管理
员具有登录、添加教师、添加课程、手动排课和导人学生信
息等功能;②教师具有登录、录入课程成绩等功能;③学生
具有登录、查看选课信息、选课、退选和查看成绩等功能。
学生选课系统的顶层和0层DFD如图1、图2所示。
由0层DFD分析每个加工模块需要的持久化数据或关 系包括以下几种。
①管理员添加的教师模块涉及教师工号、姓名、院系等相关信息。
②管理员添加的课程模块涉及课程 编号、课程名、学分等信息。
③管理员手工排课模块将课程 和教师关联起来,一门课程可由多名教师授课,一名教师可 教授多门课程,排课信息可看作课程和教师间的授课关系,且排课信息包含每门课的上课时间及地点信息。
④管理员批 量导入的学生信息包括学号、姓名、院系等信息。
⑤教师录
作者简介:杨晴雯(1978—),女,湖南郴州人,硕士研宄生。
研宄方向:自然语言处理。
针算机X 程雇用裁术
苣■与电薦
China Computer & Communication
2021年第1期
—管理员登录信息^
管理员
羽内呆信息-----►--------学生信息一►—©息一►
教师倍息一H
学生选课系统^-成绩信息一►教师
U 教师登录信息_
息选贼绩汹“惠躲m
I T T
I
学生
图
1
学生选谋系统的顶层DFD
F 6管理员信息F 1教师信息
1*
信 J 0
,
10管理员登)
录
管理员
2添加课程
教师
-K R fe fjg iif 11教师登录
----信息一►
4导入学生
^________J
1
F 2学生信息
1添加教师
F 1教师信息
3手工排课
成«(倚总
F 3 _
信息
5成绩录入
F 5选课及成
绩倍息
学生信息
m w s .
-S H W S H ,-排^息
学生
7选课
.纖踟
12学生登录
舰跡
F 5选课信息
8退选课程
9査離课
成绩
图
2
学生选课系统的0
层DFD
入课程成绩涉及为每个学生打分。
⑥学生査看课程涉及排课 信息,即排课后的授课关系。
⑦学生选课包含每个学生的选 课信息,标识学生用学号,标识所选课程用课程号,“学号 +课程号”可唯一标识某个学生所选的一门课程信息,所以 选课信息可看作学生信息和课程信息间的选课关系。
⑧学生 退选课程包含某个学生退选某门课程的相关信息,可用“学 号+课程号”唯一标识某个学生的取消选课信息。
⑨学生査 看所选课程的成绩时涉及选课关系中的课程成绩信息。
由以上的数据及关系分析,可得本系统涉及教师信息、学生信息、课程信息、课程和教师间的授课关系(包含授课 时间和地点)、学生和课程间的选课关系(包含课程成绩)、管理员登录信息、教师登录信息、学生登录信息,可将教师 登录信息和学生登录信息融合到教师信息和学生信息中。
最 终可得,本系统涉及的实体包括教师实体、学生实体和课程 实体,实体关系包括授课关系和选课关系。
系统数据可用数 据字典DD 表示,此处省略。
最终可得系统分析阶段的数据 建模结果ER 图,如图3所示。
从功能建模和数据建模过程可见,数据建模主要用于抽 象功能建模过程中需要持久化的数据及对数据结构的定义,数据模型可由功能模型结果推演而来。
数据模型服务于功能 模型,但又区别于功能模型。
如功能模型中有管理员添加教 师模块这一功能级关系,但数据模型中并不存在管理员添加 教师实体间这一实体关系,因为数据模型只抽象功能模型中 需要持久化的数据和关系,而管理员添加教师间关系并不需 要持久化。
这是在教学或指导学生实践中经常遇到的问题。
以上数据模型推演方法符合软件工程自上而下、逐步细 化的推演原则,并为数据模型的建模过程提供切实可行的指 导原则和实践方法。
2面向对象分析中的功能建模和数据建模
在面向对象分析过程中,当需求较完备时,功能建模过
程相对容易,分析结果常以用例图形式表达。
学生选课系统 的用例图如图4所示。
在完成功能建模后,用例图仅包含系统功能性抽象描述, 缺乏数据建模所需的数据要求及分析部分,因此从功能模型 到数据模型缺乏必要的数据级中间推导环节,导致抽象过程 完全凭感觉或经验,入门者很容易将功能模型和数据模型相 混淆,出现设计性错误。
为了填补用例图到ER
图中间的鸿沟,
2021年第1期
信懇与电胭
China Computer & Communication
针真机工程雇用技术
为功能模型推导出数据模型提供必要的过程化指导,需要借 助UML 工具。
UML 工具中的分析类图符合此要求,包括边 界类(Boundary )、控制类(Control )、实体类(Entity ) 3 种分析类类型,表示图标如图5所示。
其中,边界类由用户界面窗口、系统接口和硬件接口组 成;实体类用来表示模块需要持久化的数据及关系;控制类 用来接收边界类信息,执行用例业务行为,并通过实体类持 久化业务数据。
所以,面向对象中的分析类图相当于面向过 程中的DFD ,均包含每个功能模块的加工处理过程和需要的 持久化数据部分。
学生选课系统的分析类图如图6、图7所示, 其中,分析类图右侧矩形框内的实体类是数据建模分析的重 点,用于表示系统需要持久化的实体或实体关系。
图4
学生选课系统用例图
边界类
0控制类
图5
分析类图中的类图标
图7教师登录界面和学生登录界面的分析类图
3结语
本文主要介绍了功能模型到数据模型的分析过程,通过
自上而下、逐步细化的过程完成功能模型到数据模型的自然 推演,加深了学生对功能模型和数据模型建模过程的认识, 为正确建立系统功能模型和数据模型打下理论基础。
在教学
中运用此分析方法,取得了较好的教学效果。
此分析方法从 根本上提供了两种模型间的分析推演方法,过程清晰、易于 理解,能够为结果验证提供必要的依据。
参考文献
[1] 张海藩,牟永敏.软件工程导论[M ].第6版.北京:清华
大学出版社,2013.
[2] 谭云杰.Thinking in UML [M ].北京:中国水利水电出版社,
2009.
[3] 任传成,孟芸,武兵.基于UML 的系统需求分析方法及其
应用[J ].德州学院学报,2004(6):63-66.
[4] 孔军,孙怡宁,蒋敏,等.基于UML 的系统需求分析[J ].
计算机工程与应用,2003,39(15):217-219.
图6
管理员登录界面和管理界面的分析类图。