实验二 设计数据流图、状态图、ER图以及软件结构图(HIPO图)
一、实验目的
●掌握Visio软件,并学会使用 Visio对各种项目、程序、代码等等进行分析,并且根据信息画出各类图(如数据流图,ER图,用例图等等)。
●掌握基本工具和操作,通过本实验。学生将学习和掌握 MicrosoVisio 软件的基本使用方法,包括界面布局、基本工具的使用、以及图形和文本的编辑功能。
●提高图形表达能力,培养学生利用图形工具进行有效沟通的能力。学生将通过绘制流程图、组织结构图、网络图等不同类型的图表,学习如何清晰、准确地表达复杂的信息和数据。
●增强逻辑思维和问题解决能力,实验旨在通过图表设计的过程中,让学生理解并分析现实世界问题的流程和结构,从而增强他们的逻辑思维和问题解决能力。
二、实验内容
1.实验类型:建模类
2.实验步骤
在实验结果中穿插,详见实验结果。
3.实验结果
- 电子商务网站 -- 数据流图
步骤:
1.画出基本数据流图;
2.根据基本数据流图逐步扩充;
3.得出功能级数据流图。
分析:对于电子商务网站,输入为商家的事务和新用户/新商家的事务,输出为打印给用户的商品和信息单据。
分析:新用户/新商家在网站完成注册,接着输入密码进入网站。商家录入商品信息,客户根据商品信息选购商品,产生订单,进行网上银行支付。根据快递公司信息,将商品和信息单据配送到用户手中。用户收到后,进行评价。
(1.2) 电子商务网站 -- 状态图
分析:状态图的状态存在显示注册页面,显示登录页面,进入商品页面,待支付,已支付,配送中,已完成,已评价。
(1.3) 电子商务网站 -- ER图
分析:每个用户可以发表多个评价,每个评价只可以由一个用户进行发表。每个用户可以创建多个订单,一个订单只可以由一个用户进行创建。每个用户可以购买多个商品,每个商品也可以被多个用户购买。每个商家可以录入多个商品,每种商品也可以由多个商家进行录入。每个快递公司可以配送多种商品,每种商品也可以由多个快递公司进行配送。
(1.4) 电子商务网站 -- 软件结构图(HIPO图)
分析:电子商务网站可以调用用户管理模块,商机管理模块,购物车模块,支付模块,配送管理模块,评价模块。在用户管理模块中,可以调用注册系统模块和登录模块。在购物车模块中,可以调用购物车系统和订单系统。
(2.1) 食堂管理系统 -- 数据流图
步骤:
1.画出基本数据流图;
2.根据基本数据流图逐步扩充;
3.得出功能级数据流图。
分析:对于食堂管理系统,输入为食客和采购员的事务,输出为给给采购员的采购清单。
分析:食客填表登记饭卡信息,根据菜品信息进行刷客消费,产生的就餐数据通过汇总统计形成消费数据,与采购员录入登记的每日花销计算,进行收支平衡数据分析,分析结果汇总,与已有的采购计划一同组成采购清单。
(2.2) 食堂管理系统 -- 状态图
分析:状态图的状态存在饭卡已登记、饭卡已激活、饭卡付费中、饭卡需充值、饭卡充值完成。
(2.3) 食堂管理系统 -- ER图
分析:每个食客可以办理一张饭卡,每张饭卡只属于一个食客。每个食客产生多个消费记录,消费记录可以属于多个食客。每个食客可以选择多个菜品,每个菜品可以被多个食客进行选择。消费记录可以生成采购记录。
(2.4) 食堂管理系统 -- 软件结构图(HIPO图)
分析:食堂管理系统可以调用用户管理模块,采购管理模块,消费管理模块,成本核算模块。在用户管理模块中,可以调用登记系统和饭卡系统。在采购管理模块中,可以调用采购系统和库存管理系统。在消费管理模块中,可以调用消费系统和数据统计系统。在成本核算模块中,可以调用成本核算系统和清单生成系统。
(3.1) 教务管理系统 -- 数据流图
(3.2) 教务管理系统 -- 状态图
分析:状态图的状态存在已注册登记、成绩录入、教学评价、考试安排。
(3.3) 教务管理系统 -- ER图
分析:每个学生可以学习多个课程,每个课程可以被多个学生学习。每个教师可以教授斗门课程,每门课程由一个教师进行授课。每个学院的教秘可以管理多位教师,一个教师只可以由一个学院教秘进行管理。教务处下有多个学院教秘,每个学院教秘只隶属于一个教务处。
(3.4) 教务管理系统 -- 软件结构图(HIPO图)
分析:教务管理系统下有新生注册模块、成绩管理模块、排课模块、教学评价模块、考试安排模块。在成绩管理模块中,可以调用录入成绩、计算平均成绩、统计不及格名单、通知学生补考四个模块。在排课模块中,可以调用排课、表格分送。在教学评价模块中,可以调用教师教学评估、学生学习评估、评估结果反馈。在考试安排模块中,可以调用安排考试、安排结果反馈、表格通知。
(4.1) 医院管理系统 -- 数据流图
步骤:
1.画出基本数据流图;
2.根据基本数据流图逐步扩充;
3.得出功能级数据流图。
分析:对于医院管理系统,输入为病人的生理信号和护士的报告要求,输出反映给护士的警告信息和病情报告。
分析:医院管理系统将病人的生理信号进行分析,超出安全范围即可向护士发出警告信息,同时定时记录病人的生理信号在患者日志中,一旦护士有查看病人病情报告的需求,系统即可根据患者日志,打印出病情报告给护士。
(4.2) 医院管理系统 -- 状态图
(4.3) 医院管理系统 -- ER图
分析:每个病人可以被多个护士照护,每个护士也可照护多个病人;每个病人产生一份生理信号,每份生理信号定时记录,形成一份患者日志。
(4.4) 医院管理系统 -- 软件结构图(HIPO图)
分析:医院管理系统输入为生理信号和护士请求,输出为病情报告和警告信息。系统可顺序调用分析生理信号、定时记录生理信号、更新患者日志、病情报告生成四个模块。
4.结果分析
分析穿插于实验结果,详见实验结果。
三、实验总结
通过本次实验,我总结了以下需要注意的点:
1. 数据流图(DFD)
(1)目的:DFD用于表示信息在系统中的流动,以及数据如何被处理和存储。它
帮助分析系统,并与用户交流系统需求。
(2)特点:主要元素包括外部实体(圆形或方形)、数据流(箭头)、处理过(矩形或圆角矩形)和数据存储(开放矩形)。采用分级图形结构,逐步细化每个过程。
(3)关键点:清晰地定义每个外部实体以及它与系统的交互。数据流和处理过程之间的关系应逻辑自洽,避免遗漏重要的信息流。尽量保持图形简洁,避免信息过载。
(4)经验教训:在分解复杂过程时,逐层展开是非常有帮助的。
2. 状态图
(1)目的:状态图用于表示对象在其生命周期中可能处于的状态,以及导致状
态变化的事件。
(2)特点:状态用圆角矩形表示,状态转移用箭头表示,事件和条件可附加在箭头上。通常用于描述有限状态机,适用于嵌入式系统、游戏设计等领域。
(3)关键点:清晰标识各个状态和转移条件,避免遗漏关键的状态转移。逻辑应连贯,确保状态的变化符合实际情况。
(4)经验教训:通过使用实例来帮助理解状态转换,避免复杂的术语和嵌套结构。
3. 实体-关系图(ER图)
(1)目的:ER图用于描述数据模型以及数据之间的关系,广泛应用于数据库设计。
(2)特点:实体用矩形表示,属性用椭圆表示,关系用菱形表示。可标识一对多、多对多的关系及基数约束。
(3)关键点:准确识别关键实体及其属性是至关重要的。确保关系的定义准确,逻辑性强,避免混淆不同实体之间的关系。
(4)经验教训:及时更新ER图以适应需求的变化,从而保持数据库设计的有效性。
4. 软件结构图(HIPO图)
(1)目的:HIPO图用于展示软件系统的结构,强调模块间的层次关系与功能。
(2)特点:采用方框表示模块或功能,连接线表示模块之间的关系。可视化软件体系结构,帮助识别功能、模块划分等。
(3)关键点:确保图中的模块按逻辑顺序排列,层级关系清晰。关注模块之间的相互依赖关系,确保设计的可维护性和可扩展性。
(4)经验教训:定期审查HIPO图,反映最新的功能和结构。在设计时,考虑将模块划分得尽可能细化,以便于后续开发和测试。
在这次实验中,设计数据流图、状态图、ER图和软件结构图的过程中,使我深刻认识到图形化表达在系统分析和设计中的重要性。每种图形有其特定的用途和表现形式,而成功的设计依赖于准确地表达系统逻辑、数据流、状态转换和模块关系。通过不断学习、讨论与实践,我对这些表示方法有了更加深入的理解。