登陆模块程序流程图
系统设计说明书

2、系统设计说明书1引言 (2)1.1编写目的 (2)1.2背景 (2)1.3定义 (2)1.4参考资料 (2)2总体设计 (3)2.1需求规定 (3)2.2运行环境 (3)2.3基本设计概念和处理流程 (4)2.4结构 (4)2.5功能器求与程序的关系 (7)2.6人工处理过程 (8)2.7尚未问决的问题 (8)3接口设计 (9)3.1用户接口 (9)3.2外部接口 (9)3.3内部接口 (9)4运行设计 (10)4.1运行模块组合 (10)4.2运行控制 (10)4.3运行时间 (10)5系统数据结构设计 (10)5.1逻辑结构设计要点 (10)5.2物理结构设计要点 (13)5.3数据结构与程序的关系 (14)6系统出错处理设计 (15)6.1出错信息 (15)6.2补救措施 (15)6.3系统维护设计 (15)1引言1.1编写目的编写系统设计说明书的目的是明确软件系统“如何做”。
具体来说,就是设计软件系统的模块层次结构,设计数据库的结构以及设计模块的控制流程。
这样既能确保项目在规划、设计、制造和运行各个阶段,总体性能最优,还能避免因规划、研制和运用的缺陷造成人力、物力和财力的浪费。
本说明书作为用户与该系统软件开发维护人员共同遵守的软件概要设计说明。
1.2背景本系统的名称为教学资料归档管理系统。
根据国家教育委员会对高等院校教学过程中产生的教学资料保存要求,学院资料室要保存本科生、硕士研究生、博士研究生的全部考试试卷、实习报告和毕业论文。
为充分利用资料室的有限资源,加强资料管理力度,方便资料的检查和利用现决定开发教学资料归档管理系统。
本项目由石正原、肖鹏、李伟泽、颜士博共同开发完成,供各高等院校资料室使用,也可供师生查询使用。
1.3定义范式:关系数据库中,规范化的关系模式成为范式流程图:用图形符号以黑盒子形式描述数据在系统各部件之间的流动情况的图形。
主键:数据表中的一个或多个字段,它的值用于惟一地标识表中的某一条记录外键约束:限制关系模式中数据的条件实体:数据库中描述的现实世界中的对象或概念。
详细功能分析报告

详细功能分析报告一、软件简介本软件主要完成简单的多客户端实时通信,基于TCP协议的局域网聊天软件。
首先启动服务器,服务器启动后等待客户端的请求,同时显示出离线用户列表。
客户端通过输入账号和密码进行登录,如果登录成功,则进入聊天界面,同时显示当前在线好友列表和离线好友列表,如果登录失败,则提示用户账号或者密码错误。
当多个客户端进入聊天室后,客户之间可以进行群聊,用户同时可以选择与当前在线的某一好友进行私聊。
二、需求分析2.1、任务概述随着信息化时代的快速发展,互联网的应用越来越广泛,同时实时聊天通信技术变得日益重要,不论在学校、家庭或者是公司,局域网聊天已经离不开我们的日常生活。
本软件所设计的局域网聊天系统能够实现局域网的聊天、群聊、私聊等功能。
2.2、需求规定该软件可以完成多客户端的通信,服务器端包括:服务器启动,离线用户列表和在线用户列表,同时还要完成客户端登录信息的验证,当有用户登录成功时,服务器端实时刷新在先用户列表。
客户端包括:用户登录,当用户登录成功后,进入聊天界面,用户之间可以进行群聊和私聊。
2.3、对性能的规定2.3.1、时间特性要求所有发送操作的响应的时间一般不超过1秒,大量的信息发送后,应该在5秒内显示,如果未发送失败,会提示出相关的错误信息。
当存在离线用户上线时,用户在线列表更新时间在3秒内响应。
2.3.2、运行环境规定该软件只能在windows环境平台下运行,内存在256M以上,硬盘1G空余空间。
三、总体设计3.1、软件总体功能结构图图(3.1) 软件总体功能结构图如图(3.1)所示为该软件总体功能结构图,其中主要包括两大部分:服务器端和客户端。
其中服务器端主要包括:连接数据库、用户列表更新、客户端信息处理。
客户端包括:客户端登录、在线用户列表、离线用户列表、用户群聊、用户私聊。
3.2、软件工作流程图图(3.2) 软件工作流程图如图(3.2)所示,为整个软件工作的流程图,首先开启服务器,服务器等待客户端的请求连接,然后客户端发送连接请求(发送账号和密码),然后等待服务器的回应,服务器收到连接请求后,验证客户信息,如果信息验证成功,则连接建立成功,好友之间通过服务器端向客户端发送好友信息。
网吧刷卡系统详细设计说明

网吧刷卡系统详细设计说明1引言1.1编写目的确定系统如何完成预定的任务,也就是确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。
1.2背景网吧日益增多,网吧计费管理也完善起来了。
随之而来的是查询分析信息日趋复杂繁重,而现有分析的管理水平不高,一直以来人们使用传统人工的方式管理信息,这种管理方式存在着许多缺点,如:效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
2系统结构3程序1设计说明系统设计的目的是确定系统如何完成预定的任务,也就是确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。
首先需要从数据流图出发,设想完成系统功能的若干种合理的物理方案,分析员应该仔细比较这些方案,并且和用户共同选定一个最佳方案,然后,进行软件结构设计,确定软件由哪些模块组成以及这些模块之间的动态调用关系。
进行软件结构设计时应该遵循的最主要的原理是模块独立原理,也就是说:软件应该由一组完成相对独立的子功能模块组成,这些模块之间的接口关系应尽量简单。
3.1程序描述该系统是基于SDI窗体,以VB连接SQLSERVER 2000数据库进行开发的管理系统,力求与实际相结合具有网吧信息管理和检索等功能,旨在达到使网吧信息的管理数字化,使之更加方便快捷,以提高工作效率。
3.2功能在功能上设计如下:1、系统管理主要包括:用户管理模块包括:为系统新用户设置用户名及口令和修改本管理员密码。
用户密码管理模块包括:用于管理员及普通用户更改自己的系统口令。
数据初始化模块包括:对系统信息的删除和初始化。
功能设置主要设置系统数学参数。
包括费用,提示等。
2、基本设置管理主要包括:机器信息模块包括:显示添加修改删除保存。
会员信息模块包括:显示添加修改删除保存。
商品信息模块包括:显示添加修改删除保存。
3、操作功能管理主要包括:上机:主要对会员和非会员上机的计时。
下机:主要是结帐管理。
考勤管理系统(西交毕业论文).

摘要考勤管理系统能够帮助公司单位在人事管理上对员工信息进行管理,系统全面实现了公司的基本管理要求,能大大提高公司的工作效率和管理能力。
本课题就是为了适应信息化时代潮流而提出的。
它的使用结合机读磁卡进行公司的日常考勤,可以实现日常考勤、考勤统计、考勤的查询、员工管理等一系列工作的智能化、数字化,从而代替昔日费时、费力易错、枯燥乏味的人工考勤方式。
使公司能够对员工的各种信息进行全面统计,方便公司做出恰当的奖惩制度。
本系统我主要设计了登录模块, 主模块,考勤管理模块。
系统使用delphi 7。
0软件开发工具,SQL Server 数据库。
关键词:考勤考勤统计考勤查询模块AbstractThismanage system check on work attendancehelps thecompany to manage staff in several aspects。
Thesystem can provided a comprehensive function,can greatly improve the capacity of the management and the work efficiency.Thisprogram wasmade to adapt the eratideway ,this system work with the timecard canimproveefficiency of the company,itcan actualize the daily checkon work attendance,the attendance-Stat,the attendance -query,the employee managementand so on。
This program can replacetheold check on workattendance which is time-wasteand hard sledding,with it thecompany can make right decisions.In the wholesystem, I contrive the login module,main module,and the attendance module.Our system made out of Delphi7.0and SQLServer database Keyword :Check on workattendanceAttendance-StatAttendance-QueryModule目录第1章绪论 . 。
图书馆实习报告

实习报告姓名:张浩学号:20082617学院(系): 管理学院专业:信息管理与信息系统班级:一班指导教师:关庄实习名称:专业实习实习时间:11年9月实习单位:天津图书馆前言2011年9月我开始了在图书馆实习生涯,历时三个星期。
这是第一次正式与社会接轨踏上工作岗位,开始与以往完全不一样的生活。
每天在规定的时间上下班,上班期间要认真准时地完成自己的工作任务,不能草率敷衍了事.我的专业是信息管理与信息系统,在图书馆工作也多少算是专业对口。
“在大学里学的不是知识,而是一种叫做自学的能力”。
参加工作后才能深刻体会这句话的含义。
一、实习目的在这个暑假,我来到天津图书馆实习。
实践工作是整个大学学习生活中不可缺少的一部分,这次的实践活动不仅是学校教学上的要求,而且是我们深度接近图书馆,了解图书馆内部环境的难得机会。
我们这次的实习目的如下:1.要把我们在课堂上学习到的知识运用到具体的实习工作中,要理论联系实践,一方面,可以检验我们学习到的知识,另一方面可以加强我们已学习的知识,学习新的知识。
通过实践工作,加强对图书馆学的认识,增强我们对这个专业的感情。
2.增强动手能力,补充在学校学习过程中用脑多,动手少的不足。
3。
增强社会生活工作经验,感受作为一名社会工作人员而非学生的生活。
为未来毕业作准备。
4.了解天津图书馆的概况,具体了解天图的部门设置,功能安排,工作流程。
了解天图整体服务环境5.体验作为一名图书馆员的生活工作体验,感知图书馆员的生活工作状态,对图书馆的感情,服务意识,工作满意度等。
6。
虚心向图书馆实习老师,图书馆老师有丰富的工作经验,对图书馆的整个工作的了解及对图书馆学专业的认识,对图书馆的服务精神体会等都是需要我们学习。
二、实习时间2011年9月三、实习单位、部门及其简介天津图书馆:天津图书馆是中国创建较早、历史悠久的省级公共图书馆之一,从1910年(清光绪三十四年)创建直隶图书馆至今,已近一个世纪。
这是中国发生翻天覆地变化的一个世纪,也是中国近现代公共图书馆蓬勃发展的一个世纪。
宾馆客房信息管理系统

前言 (1)1 系统概述 (2)1.1 现状描述 (2)1.2 系统目标 (2)1.3 系统开发方法 (2)1.4 开发计划 (3)1.4.1 开发流程计划 (3)1.4.2 开发环境 (3)2 系统分析 (4)2.1 系统可行性分析 (4)2.2 系统需求分析 (4)2.3 业务流程分析 (5)2.4 数据流程分析 (6)3 系统设计 (7)3.1 系统功能模块设计 (7)3.2 系统功能 (7)3.3 界面和数据库设计 (8)4 系统实现 (9)4.1 开发工具 (9)4.1.1 Visual Studio 2008 (9)4.1.2 MicroSoft SQL Server 2005 Express (9)4.2 软件界面 (9)4.3 模块测试结果 (12)4.3.1 登录模块 (12)4.3.2 入住模块 (12)4.3.3 修改住期模块 (14)4.3.4 退房模块 (16)4.4 系统测试结果 (17)5 收获和体会 (20)参考文献与相关网址 (21)近年来,宾馆业迅猛发展,市场的竞争日趋激烈,全面提高宾馆的软件管理水准,已成为宾馆业发展的当务之急。
尤其是对于星级宾馆,既需要完成前台的一些服务工作,还需要完成后台的管理工作。
然而,传统的人工管理模式已经远远不能满足有效、快捷地处理经营中产生的大量信息数据的需要,从而使得企业决策层无法及时、准确地掌握一线资料,继而影响对市场进行正确地分析和预测。
像沿海城市三星级以上宾馆引进外方管理,使小部分宾馆管理水准几乎接近或达到国际水平。
但对占80%以上的广大中小型宾馆来说,是难以做到的。
因此,欲在竞争中甩开对手,取得优势,必须在经营、管理、产品、服务等方面具备独到之处。
而对宾馆的经营状况起决定作用的是客房的管理。
简单的服务标准已不是制胜的锦囊,只有管理做到最细微之处,才能让顾客体会到宾馆服务的高标准、高质量,而准确、快速、周全往往就是最基本的成功要素。
登录及注册模块设置与流程图

登录及注册模块设置与流程图原⽂地址:/design/20170320/18918.html⼀、登录/注册模块流程图1、电商&O2O类产品下单注册逻辑2、类似于简书&知乎等内容型社区产品⼆、关于注册流程1、同⼀页⾯中完成注册较适合填写信息较少(往往不包含关于⽤户个⼈信息的设置),注册流程简洁的产品,这类产品的注册所需的信息往往只包含:⼿机号、验证码、密码等最简单的信息。
在同⼀页⾯中完成注册,能够能够让⽤户对整个注册流程有个⼼理预期,对填写的信息能够进⾏预判,整个注册过程给⽤户的操控感⽐较强。
2、同⼀个页⾯如何注册信息过多会导致⽤户放弃注册3、如果信息不得不要求多,因为要获取到⽤户更多信息来为⽤户提供更好的服务,可以选择分步骤注册四、登录注册模块的相关细节1、邮箱/⼿机号的占⽤判断注册时判断⽤户输⼊的邮箱地址或⼿机号是否已经注册,后续该如何引导⽤户登录2、邮箱/⼿机号的合法性判断如何判断⽤户注册时输⼊的邮箱格式或⼿机号码格式是否有误,及时给⽤户有效反馈3、登录密码的机制登录密码的机制是怎样的?密码的长度如何设定?是否区分⼤⼩写?是否包含特殊字符?密码输⼊为明⽂还是不可见。
4、需不需要确认密码⽤户注册设置密码过程中是否需要重复确认密码?5、需不需要验证码邮箱/⼿机注册过程中需不需要进⾏验证。
如何验证,是利⽤短信验证码还是免费热线?验证码的字符是纯数字还是数字字母结合?验证码的有效时长如何设定?是五分钟还是⼗分钟?6、验证码的重发机制如果⽤户未收到有效验证信息,多长时间后可以重新获取验证信息?是30s还是60s...7、登录注册过程中的异常状态⽤户登录过程中⽤户名密码错误,给⽤户反馈有效的信息。
⽤户忘记密码,如何找回密码?利⽤⼿机号验证、回答安全问题或其他⽅式?8、注册完/登录完⼀定要直接切回需要登录的流程节点中⽤户登录注册完成后,⼀定要直接切回到之前请求登录的节点中去。
五、开始页⾯是否是登录注册模块的考虑1、产品类型(1)开始不是登录页⾯或不需要登录注册模块 1)、根据产品类型,如果是资讯类型的app,因为需要吸引到⽤户,才能引领⽤户去注册登录,如⽹易新闻,今⽇头条,百思不得姐。
超市会员管理系统

超市会员管理系统超市会员管理系统要求建立起数据一致性和完整性强、数据安全性好的库;本系统主要是对超市会员和职员的基本信息进行有序管理,主要包括的功能模块有:会员信息管理、积分信息管理、基本信息管理、统计、系统信息等;该系统是在Microsoft Visual C++ 的开发工具前提下进行的,运用Visual C++语言,连接了Microsoft Access 2003数据库,进行数据库的管理;简单目录:一.可行性研究1.技术可行性2.经济可行性3.操作可行性二.功能需求1.会员信息2.积分信息3.基本信息管理4.统计5.系统信息6.退出系统7.系统工具栏三.环境需求四.总体设计1.系统登录权限2.系统结构图3.各具体功能模块图4.基本信息管理模块5.统计6.系统信息五.数据库设计1.系统数据库分析2.数据库概念结构设计3.系统数据库的设计4.表之间的关系六.详细设计与实现1.系统首页2.登录页面3.会员信息模块4.积分信息模块5.基本信息管理模块6.统计7.系统信息8.退出系统9.数据库连接设计与实现可行性研究可行性研究并不是解决问题,而是确定问题是否值得去解决,就是用最小的代价在尽可能短的时间内确定问题是否能够解决;可行性研究最根本的任务是对以后的行动方针提出建议;以下进行对超市会员管理系统的可行性分析:1. 技术可行性:系统使用VC++作为开发工具,数据库使用Microsoft Access;支持的操作系统有Windows XPSP2/Windows 2000SP4/Windows Server 2003SP1等;2. 经济可行性:开发本系统为会员,职员和管理员带来了极大的方便,节省了人力、物力、技术、资金等方面的花费,所以今后获得的经济效益一定会大于开发成本;3. 操作可行性:超市会员管理系统简单易用,对用户的计算机水平要求不高,对于一般用户很容易学会;同时用计算机的高速度和自动化来替代手工的巨大工量,用计算机的高准确性来避免手工的错误和误差;功能需求功能模块的划分需要遵循低耦合、高内聚的原则,根据这一原则对该超市会员管理系统进行功能模块划分,下面详细叙述;本系统针对三种层次的权限的用户:管理员、普通职员、会员;对于想使用超市会员管理系统的用户,可以利用自己的登录账号,密码,用户权限登录该系统;进入系统后跟据自己权限执行相应权限的操作;1. 会员信息单击子菜单中的查看基本信息,可以查看会员的基本信息;单击子菜单中的修改会员密码,可以修改会员的登录密码;2. 积分信息单击子菜单中的积分查询,可以查看该用户的会员积分;单击子菜单中的积分兑换,可以进行积分兑换;单击子菜单中的消费加分,可以根据会员的消费金额增加其积分;此操作只能由超市职员或管理员进行;对于会员,其权限不允许对该模块操作;单击子菜单中的优惠讯息,可以查看超市的积分优惠政策;3. 基本信息管理本模块的功能:职员信息管理和会员信息管理;该模块功能只允许超市职员和管理员进行操作;1职员信息管理:超市职员只能使用职员信息子菜单中的查询和修改密码功能;管理员可对职员信息管理的全部功能进行操作:查询职员信息、修改职员信息、添加、删除职员信息;2会员信息管理:该模块可对会员信息进行查询、添加、修改、删除;有超市职员或管理员执行,不允许会员操作;4. 统计超市职员或管理员成功登录后,可以通过此模块对会员的积分情况进行统计分析,得到分析结果;5. 系统信息用户成功登录后,可以点击系统信息下的帮助和关于子菜单;该模块功能可以帮助用户了解该系统的使用;单击子菜单中的用户帮助,系统弹出帮助文件,用户可以通过阅读帮助文件使用该系统;单击子菜单中的关于,用户可以了解该系统版本及版权;6. 退出系统用户登录成功后,操作进行完毕即可点击退出菜单将退出系统,同时关闭数据库;7. 系统工具栏用户登录成功后,点击工具栏按钮可以快捷进入积分查询、会员查询、会员密码修改、关于系统及退出系统模块;此外,在开发过程中,为工具栏按钮添加了鼠标提示功能;这样能使用户更方便的获取工具栏信息;环境需求系统开发平台:Microsoft Visual C++系统开发语言:VC++数据库系统:Microsoft Access 2003运行平台:Windows XPSP2/Windows 2000SP4/Windows Server 2003SP1 运行环境:Microsoft Visual C++开发工具简介:C++是一种使用非常广泛的计算机编程语言;C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言;它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格;C++ 是C语言的一个高级版本,支持中文,界面高级,不需要启动母文件即可运行程序;Visual C++所使用的编程语言是C/C++;Visual C++继承了C/C++语言的简单、高效、易用的优点,代码结构清晰,可读性好,并且融入了面向对象、过程可视化、事件驱动等软件开发的最新技术,是C/C++语言编程技术发展到一个新的高度;Visual C++是Microsoft 公司推出的目前使用极为广泛的基于Windows平台的可视化编程环境;Visual C++ 是在以往版本不断更新的基础上形成的,由于其功能强大、灵活性好、完全可扩展,以及具有强有力的Internet支持,在各种C++语言开发工具中脱颖而出,成为目前最为流行的C++语言集成环境;Visual C++ 分为标准版、专业版和企业板三种,但其基本功能是相同的;数据库是一种数据管理技术,是计算机科学的重要分支;它具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,许多较大的系统都是建立在数据库设计的基础上的;数据库的管理系统主要有Access数据库管理系统、SQL Server数据库管理系统、Oracle数据库管理系统等;SQL是Structured Query Language结构化查询语言的缩写;SQL已经成为了最流行的关系查询语言;用户如果要想开发和使用数据库,就必须先掌握结构化查询语言SQL;SQL的功能十分强大,其主要特点如下;1 SQL是非结构化语言,使用SQL查询数据库时,只需告诉它做什么而不用告诉它如何去做.2 SQL本身不提供任何程序流程控制结构,而是通过PL/SQL提供SQL 语言的过程化功能;3 SQL提供相对固定的数据类型,用户一般不需要进行扩展,4 SQL本身是非常灵活的,实现同一目的,可以有很多不同的方法;SQL语句可以分为四大类① 数据定义语言DDL,用于定义数据结构;② 数据操作语言DML,用户检索和修改数据;③ 数据控制语言DCL,用于规定数据库用户的各种权限;④ 数据库事务处理,用来保证数据库的完整性;总体设计超市会员管理系统业务流程:首先由系统管理员将使用该系统的用户分为三种类型,管理员、普通职员和超市会员;普通职员拥有对超市会员的信息管理,即查、添、删、改的功能;还可对会员积分进行管理,如:将会远的消费金额转换为消费积分;同时,超市职员还可对自己的信息进行查询,并可修改自己的登录密码;超市会员只可对自己的信息进行查询,或对自己的积分进行兑换、查询;超级管理员具有所有权限;1.系统登录权限如图所示:图3-1 系统登录权限图在系统的总体设计中我采用结构化设计Structure Design,简称SD,首先将整个系统化分为几个小问题,小模块;然后,进一步细分模块,添加细节;根据前面的系统功能需求分析和超市会员管理系统实现的功能可分解成七个主要功能模块,它们分别是用户登录模块、会员信息模块、积分信息模块、基本信息管理模块、统计模块、系统信息模块、退出系统模块;这七个主要功能模块分别可以分为多个具体模块,下面介绍各个具体模块;2.系统结构图如下图所示:图3-2 超市会员管理系统总体结构图3. 各具体功能模块图1 .用户登录模块登录界面实现的程序流程图为:图3-3 用户登录程序流程图2. 会员信息模块1.会员基本信息查询用户登录成功后,可以根据用户账号或身份证号查询会员的基本信息,还可以进行全表查询;流程图如下:图3-4 会员信息查询流程图2.会员密码修改此模块用于修改会员的登录密码;流程图如下:图3-5 会员密码修改流程图3 积分信息模块1.积分查询实现原理如会员信息模块中的会员查询;2.积分兑换该模块实现会员的积分兑换;程序流程图如下:图3-6 积分兑换流程图3.消费加分该模块功能将会员的消费金额换为消费积分;流程图如下:图3-7 消费加分模块流程图4.优惠讯息该模块为静态功能;超市职员可将点击优惠讯息菜单即出现超市积分的优惠政策及兑换政策的对话框;4 基本信息管理模块1. 职员信息管理查询基本信息该模块功能实现基本与会员基本信息查询相同,在此不再赘述; 修改职员信息该模块功能修改超市职员的基本信息,其实现流程图如下:图3-8职员信息修改流程图修改密码职员修改密码模块与会员密码修改类似,此处不再赘述;添加职员信息管理员进入系统后可以按照需求添加职员信息,下面是添加职员程序流程图:图3-9 添加职员信息流程图删除职员信息该模块由管理员进行操作,填入职工号后,系统检查是否存在于数据库中,若存在则按照职员号删除该职员记录信息,流程图如下:图3-10 删除职员信息流程图会员信息管理会员信息管理包括会员信息查询、会员信息修改、会员注册、会员注销四个模块,功能实现同职员信息管理模块中响应功能;5 统计统计模块用于统计会员积分等级;1 打开记录集,获得各等级人数;2绘制柱形图图3-11 统计分析柱形图实现流程图6 系统信息1.用户帮助系统调用帮助文件,对于不熟悉本系统的用户可以通过阅读帮助文件了解系统如何使用;2.关于本系统本功能调用系统关于对话框,为用户提供系统版本及版权情况;数据库设计1 系统数据库分析数据库设计是建立数据库及其应用系统的技术,是系统开发和建设中的核心技术;具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求信息要求和处理要求;数据库结构设计的好坏直接对应用系统的效率以及实现的效果产生影响;根据超市会员管理系统功能设计的需要,数据库结构设计如下所示:1. 用户登录信息数据表Login:用户账号,密码,登录身份;2. 会员基本信息数据表Member:用户账号,用户姓名,身份证号,联系方式,联系地址;3. 职员基本信息数据表Employee:职员号,职员姓名,职员职位;4. 会员积分信息数据表Score:会员账号,会员积分,会员等级,会员折扣;2 数据库概念结构设计根据上节的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动;各种实体具体的描述E-R图如下;1. 用户登录信息实体图主要描述了登录用户的基本情况,包括了用户的用户账号,密码,登录身份;如图3-11所示,用户登录信息实体E-R图;图3-12 用户登录实体的E-R图2. 会员基本信息实体图主要描述会员的基本情况,包括了会员基本信息的用户账号,用户姓名,身份证号,联系方式,联系地址,得出如图3-12所示会员基本信息实体E-R图;图3-13 会员基本信息实体的E-R图3. 职员基本信息实体图主要描述新生的基本情况,包括了职员基本信息的职员号,职员姓名,职员职位,得出如图3-13所示职员基本信息实体E-R图;图3-14 职员基本信息实体的E-R图4. 会员积分信息实体图主要描述会员积分的基本情况,包括了会员积分基本信息的会员账号,会员积分,会员等级,会员折扣,得出如图3-14所示会员积分信息实体E-R图;图3-15 会员积分信息实体的E-R图实体之间的关系E-R图主要描述实体间的关系;图3-16 各实体之间的关系3.系统数据库的设计根据需求分析与概念结构设计,建立数据库系统支持的数据模型,即数据库的逻辑结构;本系统利用Microsoft Access 2003创建了名为SuperMarket的数据库;本系统主要建立了以下四张表:表用户登录数据表表会员基本信息数据表表职员基本信息数据表表会员积分信息数据表4. 表之间的关系表之间存在的关系如下:1.在会员基本信息表Member中添加信息的同时,把信息添加到用户登录信息表Login中,同时将信息添加到积分信息表Score中;2.在会员基本信息表Member中删除会员信息的同时,把用户登录信息表Login和用户积分信息Score中该会员信息删除;3.在职员基本信息表Member中添加信息的同时,将志愿的基本信息添加到用户登录信息表Login中;4.在职员基本信息表Member中删除职员信息的同时,把用户登录信息表Login中该职员信息删除;详细设计与实现1. 系统首页图4-1 超市会员管理系统首页自定义工具栏按钮及鼠标提示信息的设计与实现:图4-2 主页面工具栏在对话框的OnInitDialog方法中常见工具栏窗口和图像列表窗口,关联图像列表,设置工具栏按钮文本,启动工具栏的EnableToolTip方法激活提示功能;鼠标提示信息的实现,处理TTN_NEEDTEXT消息的响应函数OnToolTipText,通过函数的参数获得工具栏按钮的ID,从而根据ID获取提示信息文本;1.添加消息映射最好写在AFX_MSG_MAP宏外,否则可能出现编译错误ON_NOTIFY_EX_RANGETTN_NEEDTEXTW,0,0xFFFF,OnToolTipTextON_NOTIFY_EX_RANGETTN_NEEDTEXTA,0,0xFFFF,OnToolTipText2.添加事件声明最好写在AFX_MSG宏外,否则可能出现编译错误afx_msg BOOL OnToolTipTextUINT nID, NMHDR pNMHDR, LRESULT pResult;2 登录页面系统运行后,首先展现给用户的是用户登录界面,用户登录成功后进入到主页面,用户登录界面如下图所示:图4-3 用户登录界面用户登录有三种身份,管理员、普通职员、会员;管理员登录成功后,可以对系统各模块进行操作;普通职员登录成功后,除对职员的添加、删除外,均可实现操作;会员,则只能对自己的一些基本信息进行操作;登录界面由函数void CLoginDlg::OnOK实现处理,具体代码如下:....","提示",64;CDialog::OnOK;4.3.2积分信息模块1 积分查询该功能实现界面如下:图4-7 积分查询界面输入会员账号后,点击确定按钮,系统首先检查账号是否存在,若存在则输出该会员积分信息;若不存在,输出提示信息;实现原理如会员信息模块中的会员查询;实现函数为:void CJQueryDlg::OnOK;在编辑框中的显示实现为:var = m_pRs->GetCollect"MScore";if = VT_NULLstr1 = LPCSTR_bstr_tvar;GetDlgItemIDC_EDIT_Jifen->SetWindowTextstr1;var = m_pRs->GetCollect"MGrade";if =VT_NULLstr2=LPCSTR_bstr_tvar;GetDlgItemIDC_EDIT_Grade->SetWindowTextstr2;var = m_pRs->GetCollect"MDiscount";if =VT_NULLstr3=LPCSTR_bstr_tvar;GetDlgItemIDC_EDIT_Discout->SetWindowTextstr3;2 积分兑换积分兑换功能的实现界面如下:图4-8 积分兑换功能实现界面用户输入账号和密码后,点击兑换按钮,该按钮的实现中,首先检查用户合法性;若用户已兑换过积分,则提示及兑换;若积分不够兑换等级,则提示积分不够;若兑换成功后,则显示用户等级和优惠折扣;该模块实现单击事件函数处理为:void CEXchangeDlg::OnOK,具体实现如下:员信息管理1. 查询基本信息该模块功能实现基本与会员基本信息查询相同,在此不再赘述;实现该功能的函数为:void CEmployeeDlg::OnOK;实现该功能的SQL语句为:sql="select from Employee where EID='"+EmpID+"'";2. 修改职员信息该模块功能修改超市职员的基本信息;函数实现:void CMIMDlg::OnOK;其实现如下:GetDlgItemIDC_EDIT1_EmpName->GetWindowTextEXm;GetDlgItemIDC_COMBO_EmpSta->GetWindowTextEZw;ifEZw=="管理员" EZw="0";else ifEZw=="普通职员" EZw="1";sql="Update Employee set EName='"+EXm+"',EStatus='"+EZw+"' where EID='"+EMId+"'";try{>Execute_bstr_tsql,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"修改成功";3. 修改密码职员修改密码模块与会员密码修改类似,实现函数为:void CMModifyDlg::OnOK,此处不再赘述;具体SQL语句实现为:sql="Update Login set DCode='"+NewCode+"' where DNO='"+Name+"'";try{>Execute_bstr_tsql,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}4. 添加职员信息管理员进入系统后可以按照需求添加职员信息,该模块首先检验输入是否为空,若不为空,则可以进行添加,此功能同时将信息添加到Login表和Employee表中,界面实现如图:图4-10 添加职工信息实现该事件的函数为:void CEAddEmplyeeDlg::OnOK,下面是添加职员信息的具体实现:sql="Insert into EmployeeEID,EName,EStatus values'"+Eno+"','"+Ename+"','"+Esta+"'";SQL="Insert into LoginDNO,DCode,DUserSta values'"+Eno+"','"+Ecode+"','"+Esta+"'";try{>Execute_bstr_tsql,NULL,adCmdText;>Execute_bstr_tSQL,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"添加成功";5. 删除职员信息该模块只能由管理员进行操作,管理员成功登录后,可以按照职员号删除职员信息,如图所示:图4-11 删除职工信息图在删除前,系统会给出提示,提醒用户是否确定要删除;点击是,则将该记录从数据库中删除;点击否,则撤销删除行为;实现函数为void CDelEmpDlg::OnOK,代码如下:ifMessageBox"确定要删除该记录吗","提示",MB_YESNO==IDYES{sql="delete from Employee where EID='"+EmpNO+"'";SQL="delete from Login where DNO='"+EmpNO+"'";try{>Execute_bstr_tsql,NULL,adCmdText;>Execute_bstr_tSQL,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"删除成功";}2 会员信息管理会员信息管理包括会员信息查询、会员信息修改、会员注册、会员删除四个模块,功能实现同职员信息管理模块中响应功能;实现函数分别为:void CMemberDlg::OnOK、void CModifyMemDlg::OnBUTTONModify、void CMemAddDlg::OnOK、void CModifyMemDlg::OnBUTTONDel;此处以会员信息修改和删除为例,其他功能实现略写;图4-12 会员信息修改图中,灰色编辑框表示不可改;如果要修改信息则填入要修改的值,点击“确定修改”,即可修改成功;如果要删除该条记录,则点击“确定删除”,系统会提示,是否真的删除,若是,则从数据库表中将该记录删除,若否,则退出删除;此处实现的相关的SQL语句为://修改sql="Update Member set MName='"+UserName+"',MTel='"+UserTel+"',MAdd='"+UserAdd+"' where MNO='"+UserNO+"'";try{>Execute_bstr_tsql,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"修改成功";//删除ifMessageBox"确定要删除该记录吗","提示",MB_YESNO==IDYES {sql="delete from Member where MNO='"+UserNO+"'";SQL="delete from Login where DNO='"+UserNO+"'";try{>Execute_bstr_tsql,NULL,adCmdText;>Execute_bstr_tSQL,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"删除成功";6 统计统计模块是对超市会员积分进行统计,可以统计出各登记人数及所占百分比,并以柱形图的形式显示出来;图4-13 统计分析功能实现图实现该功能的函数为:void CStatDlg::OnOK具体实现:1 打开记录集,获得各等级人数;2 绘制柱形图//获取静态图片空间大小CWnd pWnd=this->GetDlgItemIDC_DRAW;pWnd->GetClientRect&rectPic;// 获取设备环境指针CDC pDC=pWnd->GetDC;// 重新填充静态图片区域CBrush NewBrush;RGB238,238,237;CBrush pOldBrush=pDC->SelectObject&NewBrush;pDC->Rectangle&rectPic;pDC->SelectObjectpOldBrush;// 确定每个柱形条的宽度int nLength= 定义五种颜色,用来填充柱形图COLORREF RGBArray6={RGB0,255,0,RGB128,0,255,RGB0,0,255, RGB255,255,0, RGB255,0,0,RGB0,128,255};// 定义一个矩形,表示柱形条CRect rect;for int i=0; i<6; i++{// 确定柱形条的位置=+inLength;= si/num;= + i+1nLength;=;// 创建画刷,填充图形CBrush NewBrush;RGBArrayi;CBrush pOldBrush=pDC->SelectObject&NewBrush;pDC->Rectangle▭pDC->SelectObjectpOldBrush;}// 释放设备环境this->ReleaseDCpDC;7 系统信息1 用户帮助系统调用帮助文件,对于不熟悉本系统的用户可以通过阅读帮助文件了解系统如何使用;点击用户帮助菜单或帮助工具栏按钮后,即打开帮助文件,如图所示:图4-14 用户帮助功能实现图具体实现为:void CCMarketDlg::OnMENUHelp{char bufMAX_PATH;::GetCurrentDirectoryMAX_PATH,buf; //获取程序根目录路径::ShellExecuteNULL, "open", "", "", "", SW_SHOW;}2 关于本系统具体实现:void CCMarketDlg::OnMENUAbout{CDialog aboutIDD_ABOUTBOX;;}8 退出系统具体实现:void CCMarketDlg::OnMENUQuit{>Close;//关闭数据库EndDialog0;}9 数据库连接设计与实现1 初始化COM库,引入ADO库定义文件首先在中用import指令引入ADO类型库import "c:\program files\common files\system\ado\"no_namespace\rename"EOF","adoEOF"然后使用AfxOleInit来初始化COM库;2 用Connection对象连接数据库conn->Open_bstr_tstrConn,"","",adModeUnknown; //打开数据库3 利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理;_RecordsetPtr m_pRs;__uuidofRecordset;>Execute_bstr_tsql,NULL,adCmdText;//执行sql 4使用完毕后关闭连接释放对象;m_pRs->Close;//关闭记录集conn->Close;//关闭连接。