数据库设计说明书

数据库设计说明书

变更履历

数据库设计说明书

2

目 录

第一章

1.1

1.2

1.3

1.4 引言 ................................................ 4 编写目的 ................................................................... 4 背景 ....................................................................... 4 术语定义 ................................................................... 5 参考资料 ................................................................... 5

第二章

2.1

2.2

2.3

2.4 外部设计 ............................................ 6 标识符和状态 ............................................................... 6 使用它的程序 ............................................................... 6 命名约定 ................................................................... 6 设计约定 ................................................................... 6

第三章 总体设计 ............................................ 7

3.1 数据库图 ................................................................... 7

3.2 数据概念结构设计 ........................................................... 8

第四章 结构设计 ........................................... 12

4.1 模块结构设计 .............................................................. 12

4.1.1 舱位等级信息表serviceInfo: .......................................... 12

4.1.2 客机信息表格planeInfo: .............................................. 12

4.1.3 航线信息表airlineInfo: .............................................. 13

4.1.4 客户类型信息表customerType ............................................ 13

4.1.5 客户信息表 customerInfo: ............................................ 14

4.1.6 订票信息表ticketInfo: ............................................... 14

3

? 第一章 引言

? 1.1 编写目的

本数据库设计说明书是对航空公司信息管理系统数据库设计的定义,包括本系统数据逻辑结构设计、数据字典以及运行环境、安全保密设计等。 本数据库设计说明书适合以下读者:

?

?

?

?

? 用户 系统设计人员 质量控制人员 系统确认测试人员 系统维护人员

本数据库设计说明书是以下开发活动的依据之一:

?

?

系统详细设计 用户验收

? 1.2 背景

本软件系统的中文全名为:“航空公司信息管理系统” (Airline Company Information Management System,简称“ACIMS”)。本软件系统的开发者为无锡思维软件,用户为鲲鹏航空公司等。

航空公司信息管理系统主要适用各航空公司。

4

? 1.3 术语定义

本文用到的术语符合国家标准《软件工程术语(GB/T11475-1995)》。 与本文直接相关的国家标准包括:

? GB8566-1995 软件生存期过程

? GB8567-88 计算机软件产品开发文件编制指南

? GB8567-88 计算机软件数据库设计说明编制指南

软件工程术语 ? GB/T11457-1995

? 1.4 参考资料

? 《航空公司信息管理系统需求规格说明书》

? 《航空公司信息管理系统概要设计说明书》

? 《航空公司信息管理系统详细设计说明书》

? 《实用软件工程》,郑人杰,殷人昆,陶永雷,清华大学出版社,1997.4

5

? 第二章 外部设计

? 2.1标识符和状态

数据库软件的名称:mySql

数据库的名称为: AIRSS

? 2.2使用它的程序

航空公司信息管理系统

? 2.3命名约定

所有的数据库命名都是以具体表的英文词汇组成,这样能够统一数据库表的命名,也能够更好的规范数据库表命名。

? 2.4设计约定

所有数据库的设计,采用面向对象的设计方法,首先进行对象实体的设计,最后将对象持久化到数据库中,所有的表和表之间的关联,这样能够将整个系统的设计和数据库设计有机的结合起来。

6

? 第三章 总体设计

通过对航空公司信息管理系统的后台数据库进行统一规划和设计,并采用了数据库的热备份技术,来实现数据的完整性、有效性和安全性。

? 3.1数据库图

数据库概念设计是整个数据库设计的关键,概念设计的好坏将直接到数据库的性能和应用系统开发的效率,下面将通过建立图表进行数据库概念设计进行研究和设计,下图是系统主要实体的联系图:

数据库设计说明书

图3-1 航空公司管理信息系统数据流程图

针对一般航空公司管理信息系统的需求,通过对航空公司管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:

? 舱位等级信息,包括的数据项有:舱位等级编号、舱位等级名称、是否有礼品、是

否有报纸、是否有饮料、是否有午餐、是否有电影、是否可以改签、是否可以退票、是否可以打折、备注信息等。

7

? 客机信息,包括的数据项有:客机编号、客机型号、购买时间、服役时间、经济舱

座位数量、公务舱座位数量、头等舱座位数量、备注信息等。

? 航线信息,包括的数据项有:航线编号、出发城市、到达城市、航班日期、出发时

间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格、备注信息等。 ? 客户类型信息,包括的数据项有:客户类型编号、客户类型名称、折扣比例、备注

信息等。

? 客户信息,包括的数据项有:客户编号、客户姓名、客户性别、身份证号码、联系

电话、客户类型、备注信息等。

? 订票信息,包括的数据项有:订票编号、顾客编号、顾客姓名、顾客类型、折扣比

例、航线编号、出发城市、到达城市、舱位类型、机票价格、结算金额、备注信息等。

3.2 数据库概念结构设计

得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。

本实例根据上面的设计规划出的实体有:舱位等级信息实体、客机信息实体、航线信息实体、客户类型信息实体、客户信息实体、订票信息实体。各个实体具体的描述E-R图如下。

舱位等级信息实体E-R图如图3-2所示。

数据库设计说明书

图3-2 舱位等级信息实体E-R图

8

客机信息实体E-R图如图3-3所示。

数据库设计说明书

图3-3 客机信息实体E-R图

航线信息实体E-R图如图3-4所示。

数据库设计说明书

图3-4 航线信息实体E-R图

客户类型信息实体E-R图如图3-5所示。

数据库设计说明书

9

图3-5 客户类型信息实体E-R图

客户信息实体E-R图如图3-6所示。

数据库设计说明书

图3-6 客户信息实体E-R图

订票信息实体E-R图如图3-7所示。

数据库设计说明书

图3-7 订票信息实体E-R图

10

实体之间关系的E-R图如图3-8所示。

数据库设计说明书

图3-8 实体之间关系的E-R图

11

? 第四章 结构设计

?

4.1模块结构设计

表4-1为供应商信息表

表4-1 serviceInfo 舱位等级信息表

数据库设计说明书

数据库设计说明书

表4-2为顾客信息表格。

表4-2 planeInfo客机信息表格

12

表4-3为航线信息表。

表4-3 airlineInfo航线信息表

数据库设计说明书

数据库设计说明书

表4-4为客户类型信息表格。

表4-4 customerType 客户类型信息表

13

表4-5为客户信息表格。

表4-5 customerInfo 客户信息表

数据库设计说明书

表4-6为订票信息表格。

表4-6 ticketInfo 订票信息表

数据库设计说明书

14

15

 

第二篇:数据库综合设计说明书

编号:

数据库综合设计说明书 题 目:

系 别:

专 业:

学生姓名:

学 号:

指导教师: 学生信息管理系统 计算机科学与工程学院 软 件 工 程 20xx年 5月 日

1

摘 要

目前,信息对人类社会的发展起着重要的作用,如何去获得并对信息进行有效管理的技术、方法和手段成为了研究的重点,如果学校档案的管理水平还停留在纸介质的基础上,这样的机智已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被以计算机为基础的信息管理所取代?信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域?信息管理系统因其在信息管理上的高效性和便捷性,在各个单位各个企业以及各个领域得到了广泛应用,并受到重视。学校学生信息管理是学校教务管理中的一个极为重要的环节,它是整个学校管理的核心和基础?为了适应现代社会人们高度强烈的时间观念,学籍管理系统软件将会为教学办公室带来极大的方便?随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长?面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率?通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量?毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义?

基于以上原因,充分利用现有计算机普及化的这个社会环境和学生管理的实际情况,我决定开发《学生信息管理系统》?

本设计是在校学生管理信息系统,主要是学生基本情况管理?成绩管理?课程管理,以及数据查询和各种报表统计?

关键词:系统;学生信息;管理

2

目 录

引言 ………………………………………………………………………4 1系统的目标及任务……………………………………4

1.1系统建设目标…………………………………………………4

1.2 系统的主要任务…………………………………………………………4

1.3 系统性能指标……………………………………………………………… 4 2 系统需求分析 ……………………………………………………………… 4

系统的详细需求…………………………………………………………4

2.1.1功能需求………………………………………………………………5

2.1.2使用范围……………………………………………………………5

2.1.3业务流程……………………………………………………………5

2.1.4用户界面……………………………………………………………6

2.1.5输出要求……………………………………………………………7

2.1.6故障处理……………………………………………………………7

2.2使用环境……………………………………………………………8

2.2.1网络环境……………………………………………………………8

2.2.2硬件环境……………………………………………………………8

2.2.3软件环境……………………………………………………………8

2.3可行性分析……………………………………………………………8

2.3.1技术可行性……………………………………………………………8

2.3.2经济可行性……………………………………………………………8

2.3.3影响系统开发的因素……………………………………………………8 3 软件开发过程 ……………………………………………………………… 9

1系统设计…………………………………………………………9

3.1.1数据库设计……………………………………………………………9

3.1.2系统功能设计……………………………………………………………9

3.1.3系统安全设计……………………………………………………………9 4软件测试过程 ……………………………………………………………… 9

1测试环境…………………………………………………………9

2功能测试…………………………………………………………10

3性能测试…………………………………………………………10 5 结论…………………………………………………………………10 参考文献及附录 ………………………………………………………………12

3

引言

随着高等教育的逐步普及和高校扩招,高校在校生人数快速增加,学生基本信息的管理发生了很大的变化。对于一个有几千甚至上万的学校来说,对于学生的管理如果仍然采用手工管理,是难于满足学校管理的要求。因此,学生信息管理系统的开发是必不可少的,它能够使原本比较烦琐的工作变得相对而言比较简单。本设计根据当前高校的需求,让学生结合自己大学所学的知识,分析和解决高校面临的实际问题。同时通过本设计题目,学生可以把大学里所学的知识得以实际应用,使自己对一个软件系统的开发步骤和数据库连接有一定的了解,还可以通过开发这个软件系统对现代高校的管理制度有所了解。

本课程设计的设计目标就为学校学籍管理提供快捷方法,使用户能够便捷查询学生档案,使学校管理自动化。开发此学生信息管理系统软件,以供教学人员及操作者进行学籍管理,方便操作者随时添加、查询、修改等。为了我们提高软件开发的能力,学习编程语言的技巧和掌握对后台数据库的控制,提高工作设计思想,通过本次的设计,我们与辅助老师还有其他同学交流,能从中学习知识吸取经验,在技术和软件思想上同时得到锻炼和提高,从而使总体水平升到一个新的高度。

1 系统的目标及任务

本系统主要实现包括学生用户操作,教师用户操作两个部分。其功能主要有: 1、学生用户:自身信息的查询,基本信息录入。

2、教师用户:学生基本信息查询,学生成绩查询,学生选课查询,统计信息查询,录入学生成绩,本人信息查询。

学生信息管理系统的开发主要包括后台数据库的建立和维护以及前端应用程序的开发两方面。对于前者要求建立起数据一致性和完整性强和安全性好的库。对于后者则要求应用程序功能完备,易于使用。

2 系统需求分析

(1)系统的详细需求

功能需求:

1、学生信息管理功能

提供给教师用户进行对自己学生的信息更新、删除。

添加学生。当新生入学或者有转校生时,可以单个添加学生信息进入数据库中。

4

删除学生。当学生毕业后或者有学生转校时可以将学生信息移除。

2、学生成绩管理功能

成绩查询:在期末学生用户可以查询自己的所有课程的成绩。

分数录入:教师用户可以在学期末将学生成绩录入。

统计报表:教师用户可以在数据库中按课号查询其最高分、最低分的学生,以及可以查询该门课程平均分。

3 课程信息管理功能

1、课表查询:学生可以查询自己的课表。

2、选课情况查询:教师可以查询自己所开课程的选课情况,包括人数和选了本课程的学生信息。

使用范围:

限于本学校学生和教师使用。

业务流程:

数据流图如下

数据库综合设计说明书

数据库综合设计说明书

数据库综合设计说明书

5

数据库综合设计说明书

系统用户界面如下:

数据库综合设计说明书

数据库综合设计说明书

6

数据库综合设计说明书

数据库综合设计说明书

7

数据库综合设计说明书

(2)使用环境

网络环境:对网络无要求。 硬件环境:最低硬件要求如下

奔腾Ⅱ300MHz或更高;最低奔腾Ⅱ233MHz;

内存:128MB或更高,最低64MB(可能会影响性能和某些功能);

硬盘空间:1.5GB可用硬盘空间。

软件环境:装有SQL server或者Access

(3)可行性分析

在当前学校规模不断扩大的形势下,学生基本信息管理系统的开发是符合现实需要的;其次,计算机硬件设施的不断发展,所以可行性分析包括如下:

一、经济可行性

由于开发此学生信息系统系统所需的硬件(计算机及相关硬件)和软件环境价格低廉,在市场上都容易购买到,所需技术人员为数不多,如果此系统投入使用,可以减少高校管理人员各方面的工作量,同时方便管理,开发此系统成本低,经济效益高,因此系统经济可行应积极开发。

二、技术可行性

由于开发此学生信息管理系统需要的硬件环境有Windows 98以上即可,支持的软件有开发工具Delphi7,所需用的操作人员熟练使用delphi7、SQL server以及对SQL语句的熟练运用,具有一定的数据库开发功底及编程能力,现有开发工具Delphi7支持强大的数据库开发,加上开发人员的过硬技术从功能和性能上完全都满足系统的要求,因此从技术方面讲开发此管理系统是可行的。

三、操作可行性

数据库综合设计说明书

此学生信息管理系统具体良好的界面,使用方便,操作简单易于被用户接受,用户只需可以熟练操作计算机,和对此系统使用做简单的了解即可方便使用,而且使用此系统可以减少大量录入工作,大大降低以前学籍管理的烦琐程度,从使用方面此系统的开发是可行的。

3 软件开发过程

(1)系统设计

E-R图如下

8

系统安全设计:

系统中存贮的用户口令、备份口令、数据库连接信息等重要数据,都经过安全加密,数据库的访问权限都是有限定的,不同的数据库管理人员有不同的角色。

(2)软件设计

Delphi是一门真正面向对象的开发工具,并且完全的可视化,由于它使用了本地编译器直接生成技术,因此使程序的执行性能远远高出其他产品生成的程序。Pascal语言的严谨加上可视化的优势和强大的数据库功能使Delphi素有VB杀手之称。 Delphi对关系型数据库提供全面的支持。而关系型数据库将数据组织成相应的表,表中的行对应着相应的每一个记录,表中的列对应着数据库的字段,通过使用一些简单的操作就能实现对数据的控制和管理。可以用Delphi7完全界面操作化添加所需的组件。然后通过Delphi7进行属性设定与用object pascal语言代码控制相结合,就可达到我们想要的功能。

4 软件测试过程

(1)测试环境

Windows XP操作系统、Windows7操作系统 、数据库数据正常

(2)功能测试

模拟现场测试:分别模拟教师、学生身份。

(3)性能测试

测试了其可维护性、安全性。

5 结论

本次综合设计基本上完成了一个学生信息管理系统应有的基本功能,由于时间比较仓促,一些功能还需加于完善和扩展。然而通过本次设计,进一步加强了对数据库原理的基本理论的了解和数据库的实际应用技术使用能力。学会如何去一步一步开发数据库系统,怎么做系统需求分析,如何通过数据流图,流程图来规划系统。如何通过规范的方法进行规范化的系统设计。掌握了数据库开发工具的使用以及综合编程调试的能力,为以后能进行数据库系统设计、开发与维护打下良好的基础。

6 参考文献

《百例课堂.DELPHI.7编程入门篇》,《编程之道delphi7》,

《Delphi 中的Object Pascal 语言参考指南》

系统设计的部分关键代码 7 附录

//登陆界面的代码

procedure TForm1.Button1Click(Sender: TObject);

begin

if(edit.Text='zhoujunwei')and(edit1.Text='333') and(ComboBox1.ItemIndex=0)

9

then

Form2.Show

else if (edit.Text='lanlixiang')and(edit1.Text='222') and(ComboBox1.ItemIndex=1) then

Form6.Show

else

showmessage('身份认证错误或越权')

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

//学生信息模块的关键代码

procedure TForm2.Button3Click(Sender: TObject);

begin

if messagedlg('删除后就不能还原,确实要删除吗?',mtinformation,[mbyes,mbno],0)=mryes then

ADOTable1.Delete;

end;

procedure TForm2.Button1Click(Sender: TObject);

begin

if(DBGrid1.DataSource=DataSource1) then

begin

if(Edit1.Text='')or (Edit2.Text='')or (Edit3.Text='')or (Edit3.Text='') or (Edit4.Text='')or (Edit5.Text='')

then

showmessage('请将信息输入完整')

else

ADOTable1.InsertRecord([Edit1.Text,Edit2.Text,Edit3.Text,Edit4.Text,Edit5.Text]); end;

end;

procedure TForm2.Button5Click(Sender: TObject);

begin

ADOTable1.Active:=False;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

ADOTable1.Delete;

end;

procedure TForm2.N6Click(Sender: TObject);

begin

10

Form4.show;

end;

procedure TForm2.N10Click(Sender: TObject);

begin

Form5.Show;

end;

procedure TForm2.N2Click(Sender: TObject);

begin

ADOTable1.Active:=False;

ADOTable1.TableName:='student';

ADOTable1.Active:=True;

end;

procedure TForm2.Button7Click(Sender: TObject);

begin

ADOTable1.Active:=False;

ADOTable1.TableName:='student';

ADOTable1.Active:=True;

end;

procedure TForm2.Button8Click(Sender: TObject);

begin

ADOTable1.Active:=False;

ADOTable1.TableName:='成绩';

ADOTable1.Active:=True;

end;

procedure TForm2.Button9Click(Sender: TObject);

begin

ADOTable1.Active:=False;

ADOTable1.TableName:='course';

ADOTable1.Active:=True;

end;

procedure TForm2.Button6Click(Sender: TObject);

begin

if(DBGrid1.DataSource=DataSource1) then

begin

if(Edit6.Text='')or (Edit7.Text='')or (Edit8.Text='')or (Edit9.Text='') or (Edit10.Text='')or (Edit11.Text='')or(Edit12.Text='')

then

showmessage('请将信息输入完整')

else

11

ADOTable1.InsertRecord([Edit6.Text,Edit7.Text,Edit8.Text,Edit9.Text,Edit10.Text,Edit11.Text,Edit12.Text]);

end;

end;

procedure TForm2.Button10Click(Sender: TObject);

begin

ADOTable1.Delete;

end;

procedure TForm2.Button4Click(Sender: TObject);

begin

ADOTable1.Insert;

end;

procedure TForm2.Button11Click(Sender: TObject);

begin

ADOTable1.CancelUpdates;

end;

procedure TForm2.N13Click(Sender: TObject);

begin

close;

end;

end.

//成绩查询模块

procedure TForm4.Button1Click(Sender: TObject);

begin

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

if (ComboBox1.ItemIndex=0) then

ADOQuery1.SQL.Add('select * from 成绩 where 学号='''+edit1.Text+'''')

else if(ComboBox1.ItemIndex=1) then

ADOQuery1.SQL.Add('select * from 成绩 where 课号='''+edit1.Text+'''')

else if(ComboBox1.ItemIndex=2) then

ADOQuery1.SQL.Add('select * from 成绩 where 学分='''+edit1.Text+'''')

else showmessage('你的操作不符合查询条件!');

ADOQuery1.open;

end;

//统计模块

procedure TForm5.Button1Click(Sender: TObject);

begin

with ADODataSet1 do begin

12

Close;

if (RadioGroup1.ItemIndex=0) then

CommandText := 'SELECT COUNT(*) AS 选课总人数 FROM 成绩 where 课号='''+edit1.Text+''''

else if(RadioGroup1.ItemIndex=1) then

CommandText := 'SELECT AVG(成绩) AS 平均成绩 FROM 成绩 where 课号='''+edit1.Text+''''

else if(RadioGroup1.ItemIndex=2) then

CommandText := 'SELECT MAX(成绩) AS 最高分 FROM 成绩 where 课号='''+edit1.Text+''''

else if(RadioGroup1.ItemIndex=3) then

CommandText := 'SELECT MIN(成绩) AS 最低分 FROM 成绩 where 课号='''+edit1.Text+''''

else showmessage('你的操作不符合查询条件!');

Open;

end;

end;

procedure TForm5.N4Click(Sender: TObject);

begin

close;

end;

procedure TForm5.N2Click(Sender: TObject);

begin

Form4.show;

end;

end.

//学生查询模块

procedure TForm6.Button1Click(Sender: TObject);

begin

with ADODataSet1 do begin

Close;

if (RadioGroup1.ItemIndex=0) then

CommandText := 'SELECT 学号,课号,成绩 FROM 成绩 where 学号='''+edit1.Text+'''' else if(RadioGroup1.ItemIndex=1) then

CommandText := 'SELECT 学号,课号 FROM 成绩 where 学号='''+edit1.Text+'''' else if(RadioGroup1.ItemIndex=2) then

else showmessage('你的操作不符合查询条件!');

Open;

end;

end;

procedure TForm6.N17Click(Sender: TObject);

begin

close;

end;

end.

13

相关推荐