手机信息管理系统设计报告Word文档格式.docx

上传人:b****3 文档编号:16727448 上传时间:2022-11-25 格式:DOCX 页数:19 大小:313.96KB
下载 相关 举报
手机信息管理系统设计报告Word文档格式.docx_第1页
第1页 / 共19页
手机信息管理系统设计报告Word文档格式.docx_第2页
第2页 / 共19页
手机信息管理系统设计报告Word文档格式.docx_第3页
第3页 / 共19页
手机信息管理系统设计报告Word文档格式.docx_第4页
第4页 / 共19页
手机信息管理系统设计报告Word文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

手机信息管理系统设计报告Word文档格式.docx

《手机信息管理系统设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《手机信息管理系统设计报告Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

手机信息管理系统设计报告Word文档格式.docx

一类是手机的普通用户,可以通过其手机号直接查询该手机的话费;

另一类则是管理手机充值的工作人员,除了了可以为用户提供充值以外,他们还具有查看用户信息的权利。

该系统将给客户提供方便,快捷,准确的服务.

数据库设计

1.需求分析

一、系统功能需求:

Ø

对于普通的手机用户来说,该系统仅允许他们作一个操作:

即可以使用该系统通过手机号与密码发出查询请求,查询该手机所剩余的话费。

以下所述的各种功能都是针对专门的工作人员。

他们拥有各自的账号与密码。

✧工作人员必须通过账号与相对应的密码登陆系统才能有权限完成以下的各种功能。

✧工作人员的登陆账号也存在两种,一种为普通的工作人员账号,可视为employee账号;

一种为特定的管理员账号,可视为employer账号。

✧employee账号所表示的意义一般是工作人员的姓名,而employer账号可以例外。

✧两种帐号均可进行的操作有:

1.更改与当前登陆账号所对应的密码。

2.可以统计并查看所有的手机用户信息,该信息主要包括两方面,一方面是仅关于本手机的各种信息;

另一方面是登记该手机的用户信息。

3.手机的各种信息包括手机号,手机密码,手机收费方式(手机卡使用种类或手机套餐使用种类),手机当前余额等。

4.用户信息包括用户身份证号,姓名,性别,家庭住址等。

5.当存在新的手机号时,无论此时有无用户对其进行登记,都可以将与该手机号相关的纪录添加入数据库中,即可以添加手机用户的纪录。

6.对于所能查看的信息,在需要时可以对相应的信息进行修改更新。

7.对于已销号的手机可以删除关于该手机的纪录。

8.如果存在过多的信息,而需要查找某一条特定纪录时,提供足够的查询信息,如手机号或用户身份证号,则可以直接查询关于该手机号的纪录或关于该用户的所有手机纪录。

9.可以统计并查看所有的手机充值纪录,充值纪录信息也包括两类:

手机信息与执行此次充值操作的管理员信息。

10.充值手机信息有:

被充值的手机号,本次充值的金额,充值后本手机的当前金额。

11.管理员信息有:

管理员编号与管理员账号。

12.可以对特定的手机进行充值,即可以添加手机充值的纪录。

13.可以查询特定的手机充值纪录,提供手机号或工作人员编号,可以查询到对该手机进行充值的纪录或由该工作人员执行过的手机充值纪录。

14.注意已存在手机充值纪录不能也无需由工作人员自身进行删除或更改。

15.如果系统中某手机被销号,则关于该手机所有的充值记录将全部自动消失。

16.每一次手机被充值后,手机的所剩金额将得到自动更新。

✧通过特定的管理员账号所可以执行的特殊操作有:

17.可以查询所有的工作人员的详细信息,该信息包括:

工作人员编号,账号名称,密码,性别,家庭住址以及该工作人员是否具有管理员权限。

18.当出现新的工作人员时,可以添加该工作人员的信息。

19.对现存的工作人员的信息可以进行修改。

20.当工作人员离开此岗位时,可以删除该工作人员的信息。

21.对当前系统中存在的所有信息可以进行备份。

22.如果已作过备份,存在备份文件,则可将对系统中所有的信息进行还原(鉴于时间关系,目前该功能的实现较为草率,在以后的版本中将对该功能作做进一步的改进)。

系统的功能需求图见系统功能中6.系统功能设计模块图。

二、系统非功能需求

✓方便性

✓实时性

✓快捷性

2.数据流图

系统数据流图如下:

3.数据字典

1、手机信息

Name

MobilePhoneInformation

Aliases

Phone

whereused/howused

描述特定手机的信息

Description

包括手机号、手机余额等

2、用户信息

CustomerInformation

Customer

描述手机持有者的信息

包括用户姓名,身份证号等

3、工作人员基本信息

StaffInformation

Staff

描述进行充值服务的工作人员的信息

包括工作人员的编号,账号秘密等

4、手机充值信息

PhoneRecordInformation

Record

表示记录每次手机充值的信息

包括相应的手机信息,充值金额,执行该操作的管理员信息

4.数据库概念结构设计,局部E-R图、全局优化E-R图

由以上的需求分析及数据流图,可以得出以下结论:

1.本系统中存在各种关系的实体有:

工作人员,手机及手机用户。

在本系统中,工作人员主要对手机信息产生操作,所以将用户信息加入手机中,形成手机用户信息。

工作人员用staff表示,手机用户信息有phone表示。

2.本系统主要存在两种关系:

staff对其自身存在管理的关系以及staff充值的phone的记录关系。

管理关系使用manage表示,记录关系使用record表示。

由此可得全局及局部优化E-R图为:

5.数据库逻辑结构设计,优化后的数据模型

5.1数据库逻辑结构设计,建立关系模型

根据E-R图的描述,建立该系统中所使用的数据库的关系模型。

根据转化规则1将图中的每一个实体映射到关系数据库中的一个表,并用实体名来命名该表,有:

staff

staff_id

staff_name

staff_password

sex

staff_addr

is_manager

phone

phone_id

phone_no

password

fee_type

balance

cus_id

cus_name

ID_no

cus_sex

cus_addr

又根据转换规则4,可考虑将staff对其自身的一对多的manage关系作为外键添加入staff表中,该外键参照的是自身表中的主键即staff_id。

但考虑到staff表中已存在is_manager属性,在具体实现中仅使用该属性即可达到区分工作人员的目的,所以manage关系在该关系数据库中将不再被表示。

staff表中不添加表示manager的一列外键。

下面根据转换规则3转化staff与phone之间的一对多对多关系:

record关系。

使用单独的一个表来表示该关系。

表中包括从staff与phone转化而来的两个表的主键,还包括连结到该联系的所有属性的列。

表示该关系自身存在的属性有:

纪录标号recordid,手机余额balance,充值金额money。

总结成下表为:

record

record_id

money

5.2模型中的函数依赖

该关系模型中存在的函数依赖如下:

表staff中:

staff_id→staff_name,staff_password,sex,staff_addr,is_manager;

表phone中:

phone_id→phone_no,password,fee_type,balance,cus_id;

cus_id→cus_name,ID_no,cus_sex,cus_addr;

表record中:

record_id→phone_id,staff_id,balance,money。

5.3分析范式,优化数据模型

由以上的函数依赖易知:

该关系模型仅满足第二范式,而不满足第三范式,所以需要对以上数据模型作进一步改进。

如果希望上述模型满足第三范式,则仅需对表phone作无损分解,将关于customer的所有信息写到另一个表中。

即将依赖于cus_id的所有属性放到一个名为customer的表中,而在表phone仅留下cus_id属性作为一个外键。

优化后的数据模型为:

5.4分析完整性要求,提出主键、外键、候选键

由以上的表及E-R图中已经可以看出各表的主键及外键,先列举如下:

表名

主键

外键

候选键

staff_name,staff_id

phone_id,phone_no

customer

cus_id,ID_no

phone_id,staff_id

5.5提出用户视图

本系统的三种用户有三种不同的用户视图范围:

手机客户可以访问的列仅有表phone中的phone_no及balance列,并且只能对该两列作查询操作,不能做其他操作。

普通工作人员对表order,customer及phone中有查询、添加、删除及更改的权限,但对表staff一般没有操作权限。

高层管理员对该数据库中所有的表均具有查询、添加、删除及更改的权限,但不能更改数据库或表本身的配置。

6.数据库物理设计(用SQL语言实现)

6.1数据库结构定义

表staff

列名

数据类型

长度

允许空

描述

int

4

varchar

15

10

20

bit

1

1表示男性,0表示女性

1表示manager,0表示normalstaff

表customer

50

char

18

表phone

6

11

8

引用表customer的主键cus_id列

表order

order_id

引用表phone的主键phone_id列

引用表staff的主键staff_id列

money 

6.2建立索引、视图

1.索引:

本数据库中的表除了主键本身生成的主索引外,没有定义其他的索引。

在查询时即引用主索引即可。

表staff的主索引列为:

staff_id;

表customer的主索引列为:

cus_id;

表order的主索引列为:

order_id;

表phone的主索引列为:

phone_id。

2.视图:

虽然关系数据模型分析的结果表示该数据库需要定义不同的用户视图,但考虑到数据库与前台开发程序的连接比较复杂,所以该数据库中没有单独定义用户视图,不同的用户视图被有选择性的的select语句的结果集取代。

6.3存储过程(如果使用)的结构和定义

6.4主要的查询语句等

1.对表staff进行操作的语句有:

查询表中所有行,并按staff_id排序:

select*fromstafforderbystaff_id;

对于一定的staff_id值,查询表中相应列:

selectis_managerfromstaffwherestaff_id='

…'

对于一定的staff_id值,查询表中所有列:

select*fromstaffwherestaff_id='

插入新行:

insertstaff(staff_id,staff_name,staff_addr,staff_password,sex,is_manager)

values(…,…,…,…,…,…);

删除某列:

deletefromstaffwherestaff_id='

更新表中的特定列:

Updatestaffsetstaff_name='

staff_password='

sex='

staff_addr='

is_manager='

wherestaff_id='

2.对表phone,customer所执作的操作与对表staff的操作类似:

查询:

select*fromphone,customerwherephone.cus_id=customer.cus_idorderbyphone_id;

select*fromphonewherecus_idisNULLorderbyphone_id;

selectcus_idfromphonewherephone_no='

插入:

insertcustomer(cus_id,cus_name,ID_no,sex,cus_addr)values('

'

'

);

删除:

deletefromphonewherephone_id='

更新:

Updatephonesetphone_no='

password='

…’,fee_type='

balance=CAST('

ASmoney)wherephone_id='

3.对表order所执行的操作:

select*from[order]orderbyorder_id;

select*fromphonewherephone_no='

selectphone_idfromphonewherephone_no='

insert[order](order_id,phone_id,staff_id,money,balance)values('

CAST('

ASmoney),CAST('

ASmoney));

4.备份恢复数据库所需的语句:

建立备份文件:

EXECsp_addumpdevice'

disk'

DiskBak_MPQ'

文件备份:

BACKUPDATABASEMPhoneDatatoDiskBak_MPQ;

文件恢复:

RESTOREDATABASEMPhoneDatafromDiskBak_MPQ;

删除备份文件:

sp_dropdevice'

系统功能

1.程序的运行环境

类别

标准配置

最低配置

计算机硬件

Pentium(R)4CPU,256MB内存

Pentium(R)4CPU1.8GHZ,128MB内存

软件

操作系统

WindowsXPServicePack1,WindowsXPServicePack2,andWindows2000

Windows98

ODBC数据源

命名为MPQ的数据源,连接本系统所用数据库的MPQueryData

命名为MASTER的数据源,连接系统数据库master

网络通信

其他

2.开发环境

数据库后台程序

MicrosoftSQLServer2000

前台开发程序

MicrosoftVisualC++6.0

3.系统总体设计功能模块图

4.主要功能描述

由以上的功能模块图可以看出系统所具有的主要功能:

1.手机用户可以选择用户查询功能直接查询某手机的余额。

2.全部工作人员均可以查询用户信息,并提供用户充值。

a)工作人员选择手机用户信息查看可以统计所有手机及该手机持有者的信息。

如果该手机没有用户信息,则用户信息为空白。

b)对于所能查看到的每条手机及用户信息,工作人员都可以对其进行修改。

c)对于所能查看到的需要删除的手机及用户信息,工作人员均可以将其删除,并自动删除相应的手机充值纪录。

d)工作人员可以添加新的手机及其用户信息。

e)如果存在手机或用户纪录,工作人员可以通过提供手机号或用户身份证号查询到相应的纪录。

f)工作人员可以查看所有手机的所有充值纪录。

g)工作人员填写相应的手机号及充值金额即可为手机提供充值,并自动更新手机余额。

h)选择相应的手机号或工作人员编号,可以查询到该手机所有的充值纪录或由该工作人员完成的充值纪录。

3.全部工作人员均可以修改与自己的用户名相应的密码,并立即生效。

4.高层管理人员还可以管理全部工作人员的信息。

a)高层管理人员选择工作人员信息查看可以统计工作人员的信息。

b)对于所能查看到的每条工作人员信息,高层管理人员都可以对其进行修改。

c)对于已离职的工作人员,高层管理人员均可以将其信息删除。

d)高层管理人员工作人员可以添加新的工作人员信息。

e)高层管理人员可以使用工作人员的编号查询到相应的信息纪录。

5.主要运行界面的图片

登陆界面:

充值界面:

查询界面:

程序调试情况

该系统在调试过程中主要出现了以下四个问题:

1.VC++连接数据库时,需要在系统中建立连接了该数据库的数据源,并且保证程序中引用该数据源时使用的名称正确。

2.在对表示充值纪录的表order执行各种操作时,总是会出现SQL语句执行错误的提示,原因是“order”是SQL语言中的保留字,所以如果有表的名字和order相同,则在使用表order时必须写作“[order]”。

3.在程序执行过程中,需要进行SQL数据类型char与money之间的转换,此时,SQL语言不支持这两种语言之间的隐性转换,必须使用CAST或convert函数进行显性转换:

如使用CAST('

变量名'

ASmoney)。

4.在执行对手机用户信息的操作时,需要将customer,phone两个表在cus_id列上做连接。

由于phone表引用了customer表的cus_id列作为外键,所以对于某一手机如果出现新的用户信息,必须先在customer表上添加用户,再将phone进行更新;

反顺序执行将出现错误。

对于引用外键的表均需采用该种方法添加或修改表中的信息,另如staff表。

总结

综上所述,本系统是

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1