软件工程实验报告--设计数据流图、状态图、ER图以及软件结构图(HIPO图)

实验二 设计数据流图、状态图、ER图以及软件结构图(HIPO图)

一、实验目的

●掌握Visio软件,并学会使用 Visio对各种项目、程序、代码等等进行分析,并且根据信息画出各类图(如数据流图,ER图,用例图等等)。

●掌握基本工具和操作,通过本实验。学生将学习和掌握 MicrosoVisio 软件的基本使用方法,包括界面布局、基本工具的使用、以及图形和文本的编辑功能。

●提高图形表达能力,培养学生利用图形工具进行有效沟通的能力。学生将通过绘制流程图、组织结构图、网络图等不同类型的图表,学习如何清晰、准确地表达复杂的信息和数据。

●增强逻辑思维和问题解决能力,实验旨在通过图表设计的过程中,让学生理解并分析现实世界问题的流程和结构,从而增强他们的逻辑思维和问题解决能力。

二、实验内容

          1.实验类型:建模类

          2.实验步骤

             在实验结果中穿插,详见实验结果。

          3.实验结果

  1.  电子商务网站 -- 数据流图

        步骤:

                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图和软件结构图的过程中,使我深刻认识到图形化表达在系统分析和设计中的重要性。每种图形有其特定的用途和表现形式,而成功的设计依赖于准确地表达系统逻辑、数据流、状态转换和模块关系。通过不断学习、讨论与实践,我对这些表示方法有了更加深入的理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值