SQL同学录管理系统—毕业设计_第1页
SQL同学录管理系统—毕业设计_第2页
SQL同学录管理系统—毕业设计_第3页
SQL同学录管理系统—毕业设计_第4页
SQL同学录管理系统—毕业设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要目前世界上各种形式的同学录网站大约有28 万个之多,它们在网民心中占有重要地位。以目前存在的同学录网站来看,大致有以下几类:(1)按收费方式分,有收费同学录和免费同学录。(2)按提供同学录服务所在网站分,有大专院校自己网站上的同学录系统。同学录管理系统的形式和班级实体的构成是一样的,由同学录系统管理员负责维护界面。在一些特殊时期,同学录的作用更可以极大的显现和发挥到极至。因为在这些时期,同学老师之间都难以见面,面对面的人际交流机会就缺失了,而同学录管理系统就正好充当了这一角色,在虚拟的世界中成为一个信息传递的平台,从面增加了同学与同学之间、师生之间的交流。本系统是在windows系列操作系

2、统下开发的,后台采用sql server2000数据库开发平台,采用c#编程语言开发的交互式同学录管理系统。该系统有添加、修改、删除功能。切实为其提供了较为有效和全面的功能服务。关键词:同学录管理系统、信息传递平台、sql server2000、c#1 前言1.1 项目开发的背景与目标近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的工具。同学录作为一种方便校友之间联系的实用系统便应运而生。本同学录系统是为班级同学之间进行交流和联系提供的一个平台,通过提供完善的同学录服务和规范同学录的管理,可以达到增进校友

3、之间、校友与校友之间的感情,方便校友联系的目的。1.2 microsoft visual c# 2005简介microsoft visual c# 2005是一种安全的、稳定的、简单的、优雅的,由c和c+衍生出来的面向对象的编程语言。它在继承c和c+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。c#综合了vb简单的可视化操作和c+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.net开发的首选语言。1.3 miscrosoft sql server 2000简介miscrosoft sql server 2000中文

4、版(以后简称为sql server2000 或sql server),是基于客户端/服务器模式(client/server模式,简称c/s模式)的新一代大型关系型数据库管理系统(dbms)。它在电子商务、数据仓库和数据库解决方案等应用中起着重要的核心作用,为企业的数据管理提供强大的支持,对数据库中的数据提供有效的管理,并采用有效的措施实现数据的完整性及数据安全性。sql server2000主要的服务器组件:1) sql server数据库引擎(mssql server服务)。2) sql server代理程序(sql server agent服务)。3) microsoft搜索服务。4) 分

5、布式事务处理协调器(ms dtc服务)。2 需求分析21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。我所开发的这个系统所采用的是当前较为流行的编程软件c#作为实现语言,以数据库microsoft sql server2000作为系统的后台作,其功能在系统内部有源代码直接完成。我们只需按系统要求输入即可操作。2.1 系统各用户需求分析经过分析,本系统的用户需求如下:1) 用户注册。2) 用户登录。3) 资料修改。4) 班级相册。5) 图片上传。6) 班级通讯录。7) 退出登录。2.2 系统各模块需求分析1) 用户注册用于注册同学录用户

6、。2) 用户登录供同学录用户登录。3) 资料修改修改当前登录使用者信息。4) 班级相册上传同学录中使用者的照片。 5) 图片上传同学录内使用者可以通过此页面上传图片。6) 班级通讯录显示同学录内所有同学的通讯信息。7) 退出登录通出当前用户使用的登录状态。2.3 系统流程图本同学录管理系统,分为两个部分:用户系统和管理员系统。用户系统主要对用户的资料、班级相册、图片的上传、班级通讯录的管理,管理系统主要对同学录的参数、信息、用户的管理。无论是用户还是管理员,对信息有更改后都会更新到数据库,并且对错误的信息由提示。本系统流程图如2-1所示:图2-1 系统流程图(略)3 概要设计3.1 用户系统功

7、能模块设计用户系统功能模块图在用户系统中主要有:1) 用户登录:用户必须注册后才能登录;2) 资料查询:用户可以查询到其他用户和自己班级的信息;3) 班级查询:用户可以查询到自己的班级并加入;4) 图片上传:用户可以上传图片并在班级相册里显示;5) 班级通讯录:用户可以在班级通讯录里看到其他用户的详细信息;如下图3-1所示:用户登录班级通讯录班级查询图片上传用户系统资料查询图3-1 用户系统功能模块图(略)3.2管理员系统功能模块设计管理员系统功能模块图在管理员系统中主要分为:1) 同学录参数设置: 基本参数设置,如:账号、密码的设置等; 班级简介的设置,如:班级的详细消息等; 首页菜单设置,

8、如:首页的美化等;2) 同学录信息管理: 注册管理,如:注册人员的信息及时保存等; 相片管理,如:当有人上传相片时要分辨是否是班级相片等; 添加管理,如:用户添加的数据与数据库对比是否有此数据;3) 同学录用户管理: 用户信息管理,如:用户必填的信息注视等; 站内信息管理,如:整个系统的信息管理等; 管理员管理,如:管理员的具体权利等; 如下图3-2所示:管理员系统同学录参数设置基本参数设置班级简介设置首页菜单设置同学录信息管理注册管理相片管理添加管理管理员管理站内信息管理用户信息管理同学录用户管理图3-2 管理员系统功能模块图(略)4 数据库设计与实现4.1 概念结构设计概念结构设计是数据库

9、设计的第一个阶段,在管理信息系统的分析阶段,我们已经得到了数据流程图和数据,现在就是要结合数据规范化的理论,用一种数据模型将用户的数据需求明确地表示出来。概念数据模型是按人们的认识观点从现实世界中抽象出来的、属于信息世界的模型。概念数据模型是面向问题的模型,反映了用户的现实工作环境,是与数据库的具体实现技术无关的。根据系统分析阶段的结果对系统中的各个数据项进行分类、组织,确定系统中的实体、实体的属性、标识实体的码以及实体之间联系的类型。用户实体图 对象:用户,用户的属性如下图4-1所示:图4-1用户e-r图(略)个人信息实体图 对象:个人信息,个人信息的属性如下图4-2所示:图 4-2 个人信

10、息表e-r图(略)通讯表邮箱手机qq姓名编号电话号码通讯录实体图 对象:通讯录,通讯录的属性如下图4-3所示:图 4-3 通讯录e-r图(略)各个局部视图即分e-r图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构,总体e-r图如下:图 4-4 总体e-r图(略)4.2逻辑结构设计逻辑结构设计是数据库设计的第二个阶段,这个阶段就是要根据已经建立的概念数据模型,以及所采用的某个数据库管理系统软件的数据模型特征,按照一定的转换规则,把概念模型转换为这个数据库管理系统所能够接受的逻辑数据模型。逻辑数据模型是用户通过数据库管理系统看到的现实世界,它描述了数据库数据的整体结构。从理论上讲,实

11、际逻辑结构应该选择最适合于描述与表达相应概念结构的数据模型,然后对支持这种数据模型的各种dbms进行比较,综合考虑性能、价格等各种因素,从中选出最合适的dbms。本系统选择的dbms是sql server2000,根据此产品设计逻辑结构分了以下三步进行:1) 将概念结构转化为一般的关系模型。2) 将转化来的关系模型向sql server2000支持的数据模型转换。3) 对数据模型进行优化。将上节概念结构中的e-r图向关系模式转换,其转换应遵循的原则如下:1) 一个实体型转换为一个关系模式。实体的属性就是关系的属性。实体的码就是关系的码。2) 一个m:n 联系转换为一个关系模式。与该联系相连的各

12、实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。3) 一个1:n 联系可以转换为一个独立的关系模式,也可以与 n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。4) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。5) 三个

13、或三个以上实体间的一个多元联系转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。6) 同一实体集的实体间的关系,即自联系,也可按上述1:1,1:n,m:n三种情况分别处理。7) 具有相同码的关系模式可合并。并对数据模型进行适当的修改、调整进行以下优化:1) 确定数据依赖。2) 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。3) 按照数据依赖的理论对关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。4) 按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这

14、样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。5) 对关系模式进行必要的分解或合并。通过进一步的分析得到如下关系模式:1) 用户数据表:(编号,用户账号,用户密码);2) 个人信息数据表:(编号,用户账号,姓名,性别,出生年月,家庭住址);3) 通讯表:(编号,姓名,qq,电话号码,手机,邮箱);由上面的关系模式分析出如下的表结构:创建用户数据表,在列名中有“编号”、“用户账号”、“用户密码”,这三种属性,并且分别定义数据类型和长度。如下表4-5所示:表 4-5 用户数据表列名数据类型长度编号int4用户账号varchar50用户密码varchar50创建个人信息数据表,在列名

15、中有“编号”、“用户账号”、“姓名”、“性别”、“出生年月”、“家庭住址”这六种属性,并分别定义了它们的数据类型和长度。如下表4-6所示:表4-6个人信息数据表列名数据类型长度编号int 4用户账号varchar50姓名char10性别char10出生年月datetime8家庭住址varchar50创建通讯表,在列名中有“编号”、“姓名”、“qq”、“电话号码”、“手机”、“邮箱”这六种属性,并分别定义了它们的数据类型和长度。如下表4-7所示:表 4-7 通讯表列名数据类型长度编号int4姓名char10qqchar15电话号码char10手机varchar15邮箱varchar504.3 物

16、理结构设计物理结构设计是数据库设计的最后一个阶段,这为一个确定的逻辑数据模型选择一个最适合应用要求的物理结构的过程,就叫做数据库的物理结构设计。数据库在物理设备上的存储结构和存取方法为数据库的物理数据模型。物理数据模型用来描述数据的物理存储结构和存储方法。它不但受数据库管理系统控制,而且与计算机存储器操作系统密切相关。作为一般的用户,在数据库设计时不需要过多地考虑物理结构,所选定的数据库管理系统总会自动地加以处理。用户只需要选择合适的数据库管理系统,以及用该数据库管理系统提供的语句命令实现数据库。经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。现在就可以在sql server 20

17、00数据库系统中实现该逻辑结构。这是利用sql server 2000数据库系统中的sql 查询分析器实现的。详细代码见附录。5 界面设计5.1 用户注册界面设计用户注册功能,是新用户获得登陆账号和密码的唯一通道,这样保证了系统的安全性,用利于对用户信息的保密。用户必须按照规定填写每一项在填写完成后点击“注册”按钮,如果注册成功,你就可以用此账号登录了。如下图5-1所示: 图 5-1 用户注册界面(略) 5.2 用户登录界面设计用班级管理系统窗口的是用户和管理员进入系统的唯一通道,合法的用户能够通过登录窗口进入系统。用户登录窗口是系统能否安全、稳定、正常运行的关键。登录系统就是要验证当前的用户

18、名是否与该用户密码一致,以保证所有用户的合法权益不受侵害。用户密码是在单行编辑框中输入,全部为掩码显示,避免因为明文而造成密码失窃,给用户造成不必要的麻烦。当用户登录3次以上时,系统就会自动退出,认为有非法用户企图在猜密码,则拒绝进入应用系统,给出相应提示并自动关闭应用系统。如下图5-2所示:图 5-2 用户登录界面(略)5.3 用户主界面设计根据用户的信息设定的程序,这样可以更加快捷的让他人了解自己,同时也快速的了解其他有关用户的信息。在用户主界面中有添加同学、修改同学、删除同学、首页、上一页、下一页、尾页功能,“添加同学”选项中你可以把新同学添加到你的同学录中,也可以通过“修改同学”选项将

19、同学的最新信息添加进来,“删除同学”选项中当你不在想与之中的人联系时,也可以通过此选项将他删除。“首页”、“上一页”、“下一页”、“尾页”这几个选项是因为界面显示有限,当你的同学录信息很多的时候便可以通过这几个选项快速的找到你想要找到的信息。在主界面中同学的信息以编号、姓名、qq、电话号码、手机、邮箱显示。如下图5-3所示:图 5-3 用户主界面(略)5.4 添加界面设计在添加界面中:将所要添加的同学的信息如:姓名、qq、手机、电话、邮箱全部填写后,点击“添加”按钮就可以将这个同学添加进去,如果你添加的同学信息格式不正确那么就添加不进去。如下图5-4所示:图 5-4 添加界面(略)在添加了同学

20、的信息后,界面就会自动转到用户主界面。在这里你就可以看到你刚才添加的同学的信息。如下图5-5所示:图 5-5 添加后界面图(略)5.5 修改界面设计在进入修改界面之前,首先你要在主界面中选中你要修改的同学,然后点击“修改同学”选项,接下来就可以看到一个修改界面。在修改界面中会显示出在主界面中显示的所有信息,“序号”是不可以修改的,其他的信息都可以修改,如:姓名、qq、手机、电话、电话、邮箱。当你修改好了同学的信息后,只有点击下面的“修改”按钮就可以将修改后的信息返回到主界面,在主界面就可以看到修改后的信息了。资料修改功能能让用户随时修改系统信息,让同学信息及时得到更新。如下图5-6所示:图 5

21、-6 修改界面图(略)5.6 删除界面设计删除功能在主界面中实现,当你认为此同学信息对你没有用处之后,选中这个同学的编号,然后点击“删除同学”按钮,这个同学的信息就被删除了。但是个人认为最好不要删除,同学之间的友情是无价的,也许有一天你就会有找他帮忙的。如下图5-7所示:图5-7删除后结果图(略)6 系统测试软件工程的根本目标是开发出高质量的完全符合用户需要的软件,因此通过测试发现错误之后诊断并改正错误,这才是测试的目的。6.1 白盒测试白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都

22、能按预定要求正确工作。6.2 黑盒测试黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试地,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。6.3 本系统的测试1) 用户登录窗口的测试。该测试的目的是保证登陆窗口的正确性与在错误发生时的容错与纠错性。具体通过在登陆框中输入空用户名,和错误的用户密码来检测系统的出错运行情况。要求系统在遇到这些

23、情况时能给出正确的错误提示。2) 用户管理窗口的测试。该测试的目的是保证添加用户和修改用户密码窗口的正确性与在数据输入不正确时的容错与纠错性。具体通过在添加记录框中输入重复的用户名,空用户名和密码来检测系统的出错运行情况。通过在修改用户密码框中输入错的原用户密码,以及空的新用户密码,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。3) 用户信息管理窗口的测试。该测试的目的是保证学生信息窗口的正确性与在数据输入不正确时的容错与纠错性。具体通过在添加、修改、查询学生信息框中输入空的学号,已存在的学号,或者错误的日期格式,来检测系统的出错运行情况。要求系统在遇到这些情况时能给

24、出正确的错误提示。4) 班级信息管理窗口的测试。该测试的目的是保证添加、修改班级信息窗口的正确性与在数据输入不正确时的容错与纠错性。具体通过在添加班级窗口中输入空的班号,已存在的班级号,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。5) 添加用户信息窗口的测试。该测试的目的是保证添加学生信息窗口的正确性与在数据输入不正确时的容错与纠错性。具体通过在添加学生信息窗口中输入空的学号,空的姓名,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。经过软件的测试,系统基本上达到需求定义阶段用户所提出的要求。软件基本达到设计要求,软件功能完整,用户界面良好,

25、错误处理正确,且能正确提示错误种类。但是在测试中也发现软件的一些不足与缺陷,需要在软件进一步修改和维护时予以纠正。总的来说,软件通过测试。7 结论经过以上详细的设计与构架,终于完成了同学录系统的开发。在设计之初,我首先对所使用的工具microsoft visual c# 2005和sql server 2000进行了全面的复习。接着,我根据自己的设计任务书的要求,对自己需要完成的部分进行了系统的规划,根据需求分析的要求,对数据库即数据库中的表进行设计规化,并使用microsoft visual c# 2005作为系统前台界面的设计工具,对系统进行了详细设计、编码和测试工作整个过程是本设计的核心

26、部分,在设计期间,遇到了很多的困难,给我印象最深的是在设计整个系统布局的时候遇到了布局错乱的现象,经过翻阅参考文献和同学的帮助下,最后才发现是写错了一个连接导致,这也使我懂得在以后的设计中要非常仔细,包括数据库设计方面,技术实现方面以及系统测试方面也遇到了不少问题。时间是最关键的因素,因为平时又要上课又要做论文、系统设计,时间很紧,所以还有一些功能实现没能实现:涂鸦功能、同学聚会、日记本功能。希望通过今后的学习,能够对本系统进一步完善,完成这次还没实现的功能,以及在安全性方面进行进一步的完善。通过这次毕业设计,自己在软件应用方面有了很大的提高。同时,我也受到了很大的启发。致谢通过这一阶段的努力

27、,我的毕业论文省中同学录管理系统终于完成了,这意味着大学生活即将结束。在大学阶段,我在学习上和思想上都受益非浅,这除了自身的努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。在本论文的写作过程中,我的导师倾注了大量的心血,从选题到开题报告,从写作提纲,到一遍又一遍地指出每稿中的具体问题,严格把关,循循善诱,在此我表示衷心感谢。同时我还要感谢在我学习期间给我极大支持的各位老师以及关心我的同学和朋友。参考文献1刘韬,楼兴华.sql server2000数据库系统开发实例导航. 北京:人民邮电出版社.2004.1 丁宝康,董健全. 数据库实验教程. 北京:清华大学出版社. 2003:125

28、-170.2 周佩德数据库原理及应用m北京:电子工业出版社.2004.3 李红管理信息系统开发与应用m北京:电子工业出版社.2003.4 郑阿奇sql server实用教程(第2版)m北京:电子工业出版社.20055 王珊,萨师煊数据库系统概论(第四版)m北京:高等教育出版社.20066 王昊亮,李刚等.visual c#程序设计教程m.北京:清华大学出版社.2003.7 明月创作室.visual c#编程精彩百例m.北京:人民邮电出版社.2001.8 美国微软公司.visual c#2005软件的帮助信息m.2005.10林立军,程斌,翁迪恩缟著microsoft visual studio

29、 2005 6.0数据库开发指南m.西安:西安电子科技大学出版社.2000.附录1.数据库建立的部分代码:create databse 省中管理系统,on(name=省中管理系统_data,filename=c:documents and settingsadministrator桌面个人设计数据文件_data.mdf,size=5 mb,filegrowth=20%,maxsize=50 mb)log on(name=省中管理系统_log,filename=c:documents and settingsadministrator桌面个人设计数据文件_log.ldf,size=5 mb,fi

30、legrowth=20%,maxsize=50 mb)2.创建用户表的代码:create table 用户表(编号 int,用户账号 varchar ,用户密码 varchar )3.创建个人信息表的代码:create table 个人信息表(编号 int,用户账号 varchar ,姓名 char (10),性别 char (10),出生年月 datetime ,家庭住址 varchar )4.创建通讯表的代码:create table 通讯表(编号 int,姓名 char (10),qq char(15),电话号码 char (10),手机 varchar ,邮箱 varchar)5.用户

31、注册界面的部分代码:pagecount = mymate.getmatecount() % pagesize = 0 ? mymate.getmatecount() / pagesize : mymate.getmatecount() / pagesize + 1;if (currentpage pagecount)currentpage+;elsecurrentpage = pagecount;bind(currentpage, pagesize);6.用户登录程序的部分代码:string sqlstr;sqldatareader datareader ;sqlconnection db =

32、 new sqlconnection();db.connectionstring = data source=sc-j1-4-30;initial catalog=班级理系统;integrated security=true;db.open();sqlstr = string.format(select * from 用户表 where 用户帐号=200725 and 用户密码=1111,textbox1.text,textbox2.text);sqlcommand dbcommand = new sqlcommand(sqlstr ,db );datareader = dbcommand.e

33、xecutereader();if (datareader.hasrows)datareader.read();textbox1.text = datareader0.tostring();textbox2.text = datareader1.tostring();add bm = new add( );db.close();bm.show();this.hide();7.主界面的部分代码:this.dgvmate.datasource = mymate.getmetalist(currentpage, pagesize);this.dgvmate.columns0.headertext =

34、 编号;this.dgvmate.columns0.width = 40;this.dgvmate.columns1.headertext = 姓名;this.dgvmate.columns1.width = 40;this.dgvmate.columns2.headertext = qq;this.dgvmate.columns2.width = 100;this.dgvmate.columns3.headertext = 电话号码;this.dgvmate.columns3.width = 100;this.dgvmate.columns4.headertext = 手机;this.dgv

35、mate.columns4.width = 100;this.dgvmate.columns5.headertext = 邮箱;this.dgvmate.columns5.width = 150;8.添加功能的部分代码:if (this.textbox1.text = )messagebox.show(姓名不能为空!, 温馨提示);return;if (this.textbox3.text = )this.textbox3.text = 无;if (this.textbox4.text = )this.textbox4.text = 无;if (this.textbox5.text = )this.textbox5.text = 暂无邮箱;if (mymate.addsinglemate(this.textbox1.text, textbox2.text, textbox3.text, textbox4.text, textbox5.text)messagebox.show(添加成功!, 温馨提示!

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论