1、第二章需求分析2.1 需求分析的任务需求分析阶段的任务是对系统的整个应用情况做全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者都能够接受的文档。首先,我做的是调查食堂管理系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是调查、收集信息、分析各个功能所需要的数据及处理流程。处理要求、数据的安全性与完整性要求。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。2.2 需求分析的过程 1、分析
2、用户活动,产生用户活动图。 2、确定系统X围,产生系统X围图。 3、分析用户活动所涉及的数据,产生数据流图。 4、分析系统数据,产生数据字典。 通过我对学校食堂的调查分析,我得出了食堂以下几点特点: 每个食堂都会有若干个窗口,每个窗口有若干工作人员。工作人员分为食堂管理员,窗口管理员和一般员工,一般员工负责送餐。 每位同学都有唯一的学号并被分配到指定的宿舍楼和指定的宿舍,有XX,年龄,性别和联系方式。 学生在学校食堂就餐,有菜名和就餐时间。 每个员工都有唯一的员工号,还有XX,性别,年龄,联系方式和职位每个食堂都有编号,负责人的员工号,营业状况,如果正在营业则会有客流量,同时还会有学生对其的评
3、价。 每个窗口都有编号和所属食堂编号,并对在此窗口出售的菜进行编号,另外还有此窗口的营业状况,以及学生对其的评价。 每道菜有编号,菜名和价钱,所属食堂的编号和窗口编号,同时有此时的销售状况,以及学生对其的评价。 每个学生可以对食堂,窗口和菜评价打分,同时每个学生对其评价时都会自动生成一个编号。 每个外卖都有订单号以及订此外卖的学生的学号。 外卖是由食堂的一般工作人员负责送的,有员工编号,订餐编号和状态。若已送,则会有送餐时间。 每道菜又有对应的销售总量以及总价 总结了以上食堂的基本特点以后,我再说明一下食堂的业务流程: 1.学生根据食堂的营业状况,好评度和客流量,选择理想的食堂就餐。 2学生到
4、某个食堂的某个窗口去点餐,员工会点击学生点的某些菜,系统会统计此菜的编号,从数据库调出其价格,同时统计出点餐的合计金额,同时记录并更改菜的销售数量。 3.食堂管理员可以根据数据库中订餐表查看同学们订的餐以及相关信息。 4学生可以查看食堂现状的基本信息。学生可以查看所有食堂的人流量,某些食堂某些窗口某些菜是否在出售。 5工作人员可根据订外卖的单的住址等信息去送外卖;同时更改每个外卖的状态和时间。 以上就是我对食堂管理系统的需求分析,要求系统能有效、快速、安全、可靠和无误的完成上述操作。2.3数据字典与流程图1业务流程分析经过可行性分析和初步需求调查,抽象出该系统业务流程图,结合该实例具体情况,给
5、出学生和食堂工作人员对食堂相关信息的具体需求。图2.1 学校食堂管理流程图 调查用户需求 学生对食堂的需求功能:学生首先查看食堂的基本信息,比如是否营业,客流量,好评度,哪些窗口和出售的菜名等,然后选择合适的食堂进行就餐。在选择窗口和菜时,可以根据自己的喜好来选择,也可以根据好评度来选择。同学可以通过外卖系统来订外卖,订完时,系统会生成订餐信息。同学们也可以对食堂,窗口和菜的质量来进行打分。统计功能:按菜编号统计食堂所拥有的菜,以及销售情况。可以按照好评度降序排列来选择食堂,窗口和菜。食堂工作人员需求:查询功能:食堂的工作人员能查询自己工作的食堂和窗口的相关信息,包括食堂拥有的窗口,该窗口所有
6、菜的信息,正在出售的菜的信息,该窗口的外卖单的信息,销售状况,好评度等,有利于对食堂和窗口更好地进行管理,对好评度低的食堂,窗口和菜等进行整改。更改功能:当窗口的菜单的信息发生变化时,工作人员能对其进行修改。比如,某些菜销售完毕,在销售状况总就应该改成F(空);或者某些菜的价格改变,记录中价格的信息也要作相应的修改等。当有学生在该窗口点餐,工作人员可以去统计销售额,合计总额;当有同学订外卖,可以及时生成订单的详细信息,确保准确无误地送到指定地点。 就餐信息需求基本功能:记录学生在食堂的就餐情况统计食用某道菜的人数统计食用某道菜的时间统计某人食用的菜名上食堂就餐的同学信息查询:就餐同学XX就餐同
7、学住址就餐同学学号就餐同学性别就餐同学年龄就餐同学联系方式 外卖信息需求外卖号订外卖的同学相关信息送餐的员工的相关信息是否送餐以及送餐时间2系统模块分析在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向下的结构化分析方法(SA方法)。首先,定义全局概念结构的框架,如图2.2所示。图2.2食堂管理系统总框架图3数据字典将所有子系统全部细化。将所有用户需求分析完毕之后,就要开始构造数据字典了。数据字典提供了对数据库数据描述的集中管理,它的功能是存储和检索各种数据描述,如描述性的数据定义等,并且为DBA提供有关的报告。经分析之后,本系统要用到11个基本表:食堂信息表,窗口信息表,菜单
8、信息表,学生信息表,员工信息表,就餐信息表,送餐信息表,收入信息表,外卖信息表,送餐信息表,评价信息表。数据结构定义如表2.1所示。表2.1 数据结构定义数据结构名含义说明组成食堂信息定义了食堂的有关信息食堂编号,营业状况,好评度,客流量,员工号窗口信息定义了窗口的有关信息窗口编号,食堂号,好评度,营业状况,工作人员菜单信息表定义了菜单的有关信息菜编号,窗口编号,食堂编号,菜名,好评度,状况,价钱评价信息定义了某同学对食堂,窗口,菜的评价的有关信息评价编号,学号,食堂编号,窗口编号,菜编号,食堂分数,窗口分数,菜分数学生信息定义了学生的有关信息学号,XX,性别,年龄,住址,联系方式就餐信息定义
9、了学生的就餐信息学号,菜编号,就餐时间菜收入信息定义了某一种菜收入的有关信息销售编号,菜编号,数量,收入员工信息定义了员工的有关信息员工号,XX,性别,年龄,职位,联系方式外卖信息定义了外卖的有关信息学号,订餐号订餐信息定义了订餐的有关信息订餐号,食堂号,窗口号,菜编号,数量,总价送餐信息定义了每一份外卖的送餐人员订餐号,员工号,状态,送餐时间第三章 概念结构设计3.1概念结构设计的方法与步骤数据库概念结构设计阶段的任务是将需求分析得到的用户需求抽象为信息结构。概念结构设计是整个数据库设计的关键阶段,其主要任务是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模式。 概念设
10、计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。3.2 数据抽象与局部视图设计按照图2.2食堂管理系统总框架图,设计局部E-R图。图3.1食堂和窗口信息局部E-R图 图3.2窗口和菜信息局部E-R图 图3.3销售收入和菜信息局部E-R图 图3.4员工和食堂信息局部E-R图 图3.5员工和窗口信息局部E-R图 图3.6学生就餐信息局部E-R图图3.7学生订餐信息局部E-R图图3.8员工送餐信息局部E-R图图3.9学生评价信息局部E-R图3.3视图的集成 经过逐步细化再进行每两个一集成初步形
11、成一个E-R图,最后得到图3.10总体概念结构E-R图。图3.10系统总体结构E-R图第四章 逻辑结构设计4.1 E-R图向关系模型的转换将图3.10总体概念结构E-R图转化成关系模型。将转化的关系模式进行优化,最终达到第三X式。 食堂信息表(食堂编号,营业状况,好评度,客流量,员工编号)窗口信息表(窗口编号,营业状况,好评度,食堂编号,员工编号) 菜单信息表(菜编号,窗口编号,食堂编号,菜名,状况,价钱,好评度) 同学评价信息单(打分编号,食堂编号,食堂分数,窗口编号,窗口分数,菜编号,菜分数,学号,时间)菜收入信息表(销售编号,菜编号,收入)员工信息表(员工编号,XX,性别,年龄,职位,联
12、系方式)学生信息表(学号,XX,性别,年龄,住址,联系方式)就餐信息表(学号,菜编号,时间)外卖信息表(学号,订餐号)订餐信息表(订餐号,食堂号,窗口号,菜编号,数量,总价)送餐信息表(订餐号,员工号,状况,送餐时间)4.2 基本表结构 根据各个实体以及实体之间的联系,再根据总体结构图设计各表的结构,其相应表的定义如下:字段名数据类型长度是否为空主/外键备注ovarchar10否主键食堂编号Cconditionchar1是否营业Cevaluationsmallint好评度Ccustomer客流量Eno外键员工号表4-1食堂信息表的结构 表4-2 窗口信息表的结构Wno窗口编号Wconditio
13、n员工编号Wevaluation 表4-3 菜单信息表的结构Dno菜编号Dname30菜名Dcondition是否供应pricefloat价钱Devaluation 表4-4学生评价表的结构Pno 评价编号Cpoint食堂分数Wpoint窗口分数菜单编号Dpoint菜单分数Sno20学号 表4.5 菜收入信息表的结构Ino销售编号Ine收入 表4.6 员工数据信息表的结构 EnameXXsex2性别age年龄Epos职位Ephone联系方式 表4.7 学生信息表的结构SnameSadd住址Sphone 表4.8 学生就餐信息表的结构Sdatedatetime就餐时间 表4.9 外卖信息表的结构
14、Tno订餐号否 食堂号窗口号Tcount数量sum总价 表4.10 订餐信息表的结构表4.11 送餐信息表的结构Tcondition状况第五章 数据库的实现5.1数据库的建立Createdatabase 食堂管理系统onprimary(name=食堂管理系统,Filename=E:program filesLSL食堂管理系统_data.mdf,Size=4MB,Maxsize=10MB,Filegrowth=1MB)Logon(name=食堂管理系统_log,program filesLSL食堂管理系统_log.ldfSize=1MB,Maxsize=6MB,Filegrowth=1%5.2
15、数据库基本结构的建立1、基本表的建立学生信息表的创建Createtable student(Sno varchar(20)primarykey,Sname varchar(20) not null,Sadd varchar(20),Sphonevarchar(20),Sex char(2),Age smallint);员工信息表的创建Createtable Employee(Eno varchar(10)primarykey,Ename varchar(20) not null,Epos varchar(20),Ephone varchar(20),食堂表创建Createtable cafet
16、eria(o varchar(10)primarykey,Ccondition char(1),Cevaluation smallint,Ccustomer smallint,Eno varchar(10) not null,Foreignkey(Eno)references Employee(Eno);窗口表的创建Createtable chuangkou(Wno varchar(10)primarykey,Wcondition char(1),o varchar(10) not null,Wevaluation smallintForeignkey(o)references cafeter
17、ia(o)Foreignkey(Eno)references Employee(Eno);菜单信息表的创建Createtable cai(Dno varchar(10)primarykey,Wno varchar(10) not null,Dname char(30) not null,Dcondition char(1),Price float,Devaluation smallintForeignkey(Wno)references cafeteria(Wno);同学评价表的创建Createtable pingjia(Pno varchar(10)primarykey,o varchar(
18、10),Cpoint varchar(10),Wno varchar(10),Wpoint varchar(10),Dno varchar(10),Dpoint varchar(10),Sno varchar(20)Foreignkey(Wno)references window(Wno)Foreignkey(Sno)references student(Sno)Foreignkey(Dno)references dish(Dno);收入表的创建Createtable Ine(Ino varchar(10)primarykey,Dno varchar(10)not null,Ine float订餐信息表的创建Createtable dingcan(Tno varchar(10)primarykey,Tcount int,Sumfloat,Foreignkey(Dno)references dish(Dno),Foreignkey(o)references cafeteria(o),外卖信息表的创建Createtable waimai(Tno varcha
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1