基于.NET的同学录系统的设计与实现(毕业论文).doc

上传人:小小飞 文档编号:3919436 上传时间:2019-10-10 格式:DOC 页数:49 大小:1.57MB
返回 下载 相关 举报
基于.NET的同学录系统的设计与实现(毕业论文).doc_第1页
第1页 / 共49页
基于.NET的同学录系统的设计与实现(毕业论文).doc_第2页
第2页 / 共49页
基于.NET的同学录系统的设计与实现(毕业论文).doc_第3页
第3页 / 共49页
基于.NET的同学录系统的设计与实现(毕业论文).doc_第4页
第4页 / 共49页
基于.NET的同学录系统的设计与实现(毕业论文).doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《基于.NET的同学录系统的设计与实现(毕业论文).doc》由会员分享,可在线阅读,更多相关《基于.NET的同学录系统的设计与实现(毕业论文).doc(49页珍藏版)》请在三一文库上搜索。

1、南京师范大学泰州学院毕 业 论 文题 目基于.NET的同学录系统的设计与实现 学生姓名学 号专 业班 级指导教师2013 年 4 月基于.NET的同学录系统的设计与实现摘 要随着计算机技术的快速发展,过去种种陈旧的联系方式已经不能满足现代生活的需要,而基于网络的同学录系统一改传统的纸质同学录的消息陈旧、更新困难、不便于实时联系等种种弊端,可以让我们随时随地更加方便的跟同学、校友、朋友联系。本系统采用B/S模式,以.NET为主要开发工具,使用C#语言、ASP.NET技术开发前台的应用程序,以SQL Server 2005数据库作为后台数据库,使用SQL数据库查询语言完成应用程序与数据库的链接。

2、系统分为八大模块:用户注册模块、用户登陆模块、用户信息管理模块、创建班级模块、上传图片模块、班级留言模块、聊天室模块、班级管理模块。前七大模块是根据注册用户提供的,注册用户登录后可以修改个人资料,创建班级,上传图片,留言聊天等一系列操作,最后一项是管理员登录所进行的操作。而如果是未注册用户只能在校友录首页中进行校友搜索,没有权利进行其他操作。关键词:C#;同学录;SQL;B/S架构 Design and Implementation Classmates system-based .NETAbstractWith the rapid development of computer techno

3、logy, the past stale Contact has been unable to meet the needs of modern life, based on the old network networking system to a change in the traditional paper Classmates message, update the difficult, not easy in real time all the drawbacks, allows us to contact with students, alumni, friends anytim

4、e, anywhere more convenient.The system uses B / S mode, the main development tool. NET, C # language and ASP.NET technology development foreground of the application, the SQL Server 2005 database as a back-end database, using the the SOL database query language to complete the application and the da

5、tabase link.The system is divided into eight modules: user registration module, user login module, the user information management module, create a class module, upload pictures module, class bulletin module, chat module, class management module. Previous seven modules is based on registered users,

6、the class was created, upload pictures, message and chat a series of operations, the last one is the operation carried out by the administrator login. And if it is not registered users only Alumni Home Alumni Search no right to perform other operations.Keywords: C #; Classmates; SQL; B / S architect

7、ure 目 录摘 要IAbstractII目 录III第一章 绪论11.1 同学录系统研究意义和目的1第二章 程序技术相关知识22.1 C#简介22.2 ASP.NET简介2第三章 需求分析43.1 功能需求43.1.1 前台功能需求43.1.2 后台功能需求5第四章 网站概要设计64.1 模块的划分与功能设计64.2 功能模块的初步设计74.3 数据库设计84.3.1 users用户表84.3.2 class班级表94.3.3 image图片表104.3.4 classly 留言表104.3.5 Chatinfo 聊天表11第五章 网站详细设计125.1 校友录主页(Default.aspx

8、)125.2 用户注册页面(注册.aspx)125.2.1 功能描述125.2.2 代码设计145.3 登录页面(Default.aspx)145.3.1 功能描述145.3.2 代码设计155.4 个人信息管理页面(editinfo.aspx)195.4.1 功能描述195.4.2 代码设计195.5 班级注册页面(loginclass.aspx)215.5.1 功能描述215.5.2 代码设计225.6 班级主页(class.aspx)255.6.1 功能描述255.6.2 代码设计265.7 班级通讯录页面(address.aspx)275.7.1 功能描述275.7.2 代码设计285

9、.8 上传图片(upload.aspx)295.8.1 功能描述295.8.2 代码设计305.9 班级留言页面(leaveword.aspx)315.9.1 功能描述315.9.2 代码设计325.10 班级聊天室页面(ChatRoom.aspx)325.10.1 功能描述325.10.2 代码设计335.11 审核同学页面(同学审核.aspx)345.11.1 功能描述345.11.2 代码设计355.12 委任班长页面(委任班长.aspx)365.12.1 功能描述365.12.2 代码设计375.13 更改宣言页面(更改宣言.aspx)385.13.1 功能描述385.13.2 代码设

10、计38结束语40参考文献41致谢42V南京师范大学泰州学院本科生毕业设计(论文)第一章 绪论1.1 同学录系统研究意义和目的根据我国IT行业发布的报告表明,近年来,我国互联网发展呈快速增长趋势,网民的数量已达8700万,逼近世界第一,与此同时,交流社区应用被广泛接受,这些社区的存在都是为了加强。同学录系统的成功在很大程度上是因为它是一个真实的社交网络,用户是网络应用的中心。计算机和网络技术的不断进步和提升,使人类的信息传播方式和生活方式都得到了很大的改变,而各个产业都在自己的领域中不同程度的融入了计算机及网络技术,对行业的发展起了很大的推动作用。基于B/S模式的同学录系统克服了传统联系方式所带

11、来的消息陈旧、更新困难、不便于实时联系等种种弊端,通过提供完善的同学录服务和规范同学录的管理,为班级同学之间的交流和联系提供一个平台,达到增进同学与母校之间的感情,方便同学们联系的目的。本课题设计利用C#、.NET和SQL Server2005技术实现,要到达的预期效果主要有:(1) 友好的人机交互界面。(2) 实现用户注册、用户登录、资料修改、上传图片、留言等功能。(3) 实现班级注册、班级管理功能。41第二章 程序技术相关知识C sharp(又被简称为C#)是微软公司在2006年6月发布的一种完全面向对象和可视化的编程语言。而XML(即可扩展标记语言)与HTML一样,都是SGML(Stan

12、dard Generalized Markup Language,标准通用标记语言)。XML是跨平台的、依赖于内容的技术,是当前处理结构化文档信息的有力工具;又是一种简单的数据存储语言,使用一系列简单的标记描述数据。2.1 C#简介C#是微软公司推出的一种由事件驱动,完全面向对象和可视化的编程语言。开发人员可以通过C#编写在.NET Framework上运行的各种安全、可靠的应用程序。使用C#可以创建传统的Windows客户端应用程序、XML Web Services、分布式组件、客户端/服务器应用程序、数据库应用程序等。2.2 ASP.NET简介A是建立在通用语言运行时刻库(CLR)上的应用

13、程序框架。他用来在服务器端构建功能强大的web应用程序。A提供了几个超越以前web开发模式的优点: (1) 增强的性能A是运行在服务器端的编译后的CLR代码,而不是像ASP那样解释执行。 A利用提前绑定,即时编译,本地优化和缓存服务来提高性能。所有这一切,性能远远大于你以往写的每一行代码。(2) 世界级水平的开发工具支持在Visual Studio .net的集成开发环境(IDE)中,A框架由丰富的工具箱和设计器组成。所见即所得的(WYSIWYG)编辑方式、拖放服务器控件、以及自动部署,仅仅是这一强大工具所提供的一少部分功能。(3) 强大而富有弹性由于是基于(CLR)的,因此整个.net平台的

14、强大和富有弹性,同样可以应用于web应用程序开发者。.net框架的类库、消息以及数据访问解决方案,都可以无缝集成到web。A也是语言中立的,因此你可以选择你最熟悉的语言,或者通过几种语言来共同完成一个应用。而且,CLR的互用性可以保证你升级到asp.ent的时候,现存的基于COM的开发投资依然保留。 (4) 简单A使执行常用的工作变得很容易,比如从简单的表单提交、客户端验证,到部署和站点配置。例如,允许你建立用户接口,实现页面和逻辑代码的分离,同时,就像vb的表单执行模式那样来处理事件(也就是说,由页面驱动模式变成了事件驱动模式)。此外,CLR简化了部署,用来管理代码服务,例如自动参照和垃圾回

15、收。 (5) 易于管理A使用一个基于文本的、分层次的配置系统,它简化了服务器端环境和web应用程序的设置。由于配置信息用纯文本格式保存,新的设置不需要本地管理工具的支持。这种“零本地支持”的理念也同样应用到了部署应用程序。A应用程序部署到服务器,简化为复制必要的文件到服务器。在部署,甚至替换正在运行的变异代码的时候,也不需要重新启动服务器。 (6) 可伸缩性和有效利用性A被设计成可伸缩的,能为集群和多处理器环境设计提高性能。而且,运行时刻密切监视和管理进程,这样,如果发生了错误的行为,例如漏洞和死锁,新的进程会在当前位置建立,来帮助你的应用程序继续处理事件请求。 (7) 可订制和扩展A提供一种

16、良好的扩充结构,允许开发者在适当的级别“插入”他们的代码。事实上,使用自己的编写的组件可以扩展或者替换运行时刻的任何子组件。执行自定义验证或状态服务变得前所未有的容易。 (8) 安全性内建的windows验证和每一个应用程序的独立配置,你可以认为你的应用程序是安全的。 第三章 需求分析同学录系统是指以互联网形式接入,通过搭建系统服务,向互联网接入用户提供同学之间联系交流的平台。通过同学录系统,用户可以将自己最近的所得所失,生活感悟与同学朋友分享交流。通过该平台,用户可以实现注册登陆、个人信息修改、注册班级、图片上传、发表留言、聊天等功能。3.1 功能需求本系统主要是给同学朋友之间提供一个联系交

17、流的平台。如果是非注册会员,只能浏览校友录首页和校友搜索。如果已经注册但没有班级,可以在非注册会员的基础上查看并修改个人信息,创建班级或者申请加入班级。如果已经有班级,可以登录班级主页、查看班级通讯录、修改资料、上传图片、发表留言和聊天室聊天。如果是管理员,不仅可以实现普通班级成员的功能,还可以进行班级管理。同学录系统是以B/S构架为基础的用来联系交流的网站。网站前台使用C#语言开发,后台连接数据库。总体分布如图3.1所示:图3.1 系统流程图3.1.1 前台功能需求网站前台是使用者最直接接触的东西,包括是否能够让客户很轻松,方便地登录和注册,请求响应时间、主机连接时间、页面布局等。用户注册:

18、使用同学录之前必须先注册成为网站用户,每个用户都有一个独立的ID号,注册时需要提供一些基本信息,便于管理人员管理,也便于同学朋友之间的联系。用户登录:输入用户名和密码登录。班级注册:如果班级不存在,需要创建班级;如果已经有班级,申请加入班级等待管理员审核。班级通讯录:查看班级成员的基本资料和联系方式。上传图片:上传图片,与同学朋友分享。发表留言:用户可以在班级留言薄发表自己的所得所失,生活感悟。聊天室:用户与用户之间可以通过聊天室聊天交流。3.1.2 后台功能需求后台的作用是为前台运行必要的数据支持和供网站管理员对网站进行管理。 个人信息管理:注册用户可以对自己的基本资料和联系方式进行修改。班

19、级管理:管理员可以对申请加入本班的用户进行审核,保证班级中的用户身份都是真实的,还可以委任班长。班长可以更改班级宣言。同学录功能使用图如图3.2所示:图3.2 同学录功能使用流程图第四章 网站概要设计本系统功能可分为前台与后台两个功能模块。前台存在四种用户角色(非注册用户、注册用户、班级待定成员与班级成员),非注册用户只能浏览首页及校友搜素;注册用户,可以创建班级或申请加入班级;班级待定成员等待管理员审核;班级成员,可以实现各种班级功能。后台主要实现网站注册用户个人信息管理和班级管理。4.1 模块的划分与功能设计通过对用户需求调研并分析,确定系统应具备的功能,包括:注册登录,班级注册,班级通讯

20、录,上传图片,班级留言,班级聊天室,班级管理,修改信息,校友搜索。各模块的具体功能设计如下:(1)注册登录功能该系统需要用户注册成为会员,才能使用同学录。(2)班级注册注册登录成功后,需要创建班级或申请加入班级才能实现各种班级功能,比如查看班级通讯录、上传图片、留言等功能。(3)班级通讯录班级成员可互相查看联系方式。(4)上传图片上传图片,与同学朋友分享。(5)班级留言与同学朋友交流所得所示,生活感悟。(6)班级聊天室可以对大家或是某个同学聊天。(7)班级管理管理员对申请加入的同学审核身份还可以委任班长;班长可以更改班级宣言。(8)修改资料用户可以根据自身需要对原有资料进行修改。(9)校友搜索

21、不同身份的用户都能够进行校友搜索,查找校友。用户管理功能结构图如图4.1所示:图4.1 用户管理功能结构图4.2 功能模块的初步设计为了配合模块的划分和实现预期的功能,将功能模块按照网站的页面划分为17个:校友录首页、用户注册页面、确认信息页面、注册成功页面、用户登陆页面,个人信息页面、校友资料页面、班级注册页面、班级主页、班级通讯录页面、上传图片页面、班级留言页面、班级聊天室页面、管理员管理页面、审核同学页面、委任班长页面、班长管理页面。各个页面后写实现功能的代码,在App_Code里面写定义一些数据访问对象,以及连接数据库和操作或者访问数据库的方法。模块组织结构图如图4.2所示:图4.2

22、模块组织结构4.3 数据库设计同学录系统使用SQL Server2005作为系统后台数据库。系统共有5个表,分别是用户表、班级表、图片表、留言表和聊天表。用户管理:系统管理员能够对系统中的用户进行维护,包括用户注册、修改、删除和查看等操作。班级管理:审核同学,委任班长,班级宣言修改。4.3.1 users用户表用户表包含所有在同学录系统中注册的用户的信息,包括用户名、密码、真实姓名、性别等信息,字段说明如表4.1:表4.1 users字段描述 名称类型大小是否允许为空描述用户编号Int4否用户编号,自增1,表主键用户名Varchar50否用户名真实姓名Char6是用户真实姓名密码Varchar

23、50是用户密码生日Varchar50是用户生日电子邮件Text16是用户电子邮件性别Char6是用户性别头像Text16是用户头像主页地址Text16是用户主页地址QQText16是用户QQ电话Text16是用户电话移动电话Text16是用户移动电话邮政编码Text16是用户邮政编码通信地址Text16是用户通信地址格言Text16是用户格言身份Varchar50是用户身份注册日期Datetime8是用户注册日期积分Int4是用户积分班级号Int4是用户班级号已有班级Varchar50是用户已有班级审核状态Char10是用户审核状态idInt4是用户idisadminBit1是是否为管理员is

24、onlineBit1是用户是否在线lastinfoInt4是最新信息4.3.2 class班级表班级表表包含班级号、班级名、入学年份、注册日期、班级主页、班级创始人、管理员、注册人数、宣言和班长,它的字段说明如表4.2:表4.2 class字段描述名称类型大小是否允许为空描述班级号Int4否班级编号,自增1,表主键班级名Varchar50否班级名称入学年份Varchar50是入学年份注册日期Varchar50是班级注册日期班级主页Varchar50是班级主页班级创始人Text16是班级创始人管理员Text16是班级管理员宣言Varchar100是班级宣言班长Varchar50是班长注册人数Ch

25、ar10是班级注册人数4.3.3 image图片表图片表包含图片id、图片、上传者、班级号和上传时间,它的字段如表4.3:表4.3 image字段描述名称类型大小是否允许为空描述IdInt4否照片Id,自增1,表主键图片Text16是图片地址上传者Varchar50是上传者班级号Varchar50是班级号上传时间Datetime8是上传时间4.3.4 classly 留言表留言表包含主题、内容、发表时间、留言人、班级号、用户编号和ly_top,它的描述字段如表4.4:表4.4 classly字段描述名称类型大小是否允许为空描述主题Varchar50是留言主题内容Varchar500是留言内容发

26、表时间Varchar50是发表时间留言人Varchar50是留言人班级号Char10是班级号用户编号Int4是用户编号ly_topChar10是排序4.3.5 Chatinfo 聊天表聊天表包含id、user_from、user_to、content、expression、color、ispublic和sendtime,它的字段说明如表4.5:表4.5 Chatinfo字段描述名称类型大小是否允许为空描述idInt4否聊天记录Id,自增1,表主键user_fromVarchar4是聊天发送人user_toVarchar4是聊天接收人contentVarchar50是聊天内容expression

27、Varchar255是聊天表情colorVarchar50是聊天文字颜色ispublicBit1是聊天是否公开sendtimeDatetime8是聊天发送时间第五章 网站详细设计这一章节主要讲述了网站的各个模块的详细设计,如用户注册、用户登录、资料修改、图片上传等模块的设计。5.1 校友录主页(Default.aspx)系统主页采用静、动相结合的方式,即静态的主画面和动态的内容相结合,体现班级的勃勃生气。静态主页方式介绍校友录公告、最近加入同学、校友搜索、在线信息、登陆系统,管理功能,相册功能,聊天室功能,就利用ASP.NET语言与SqlServer数据库相结合的技术建立数据库查询管理系统,采

28、用交互式的动态的web画面来实现。校友录主页界面如图5.1所示:图5.1 校友录主页界面5.2 用户注册页面(注册.aspx)5.2.1 功能描述登录到用户注册页面,输入用户名,点击“测试用户名”按钮,弹出一个对话框,如果用户名可用,输入密码。用户注册界面如图5.2所示。点击“下一步”按钮,显示用户信息页面,填写具体信息。界面如图5.3所示。输入完成后点击“确认”,显示确认信息页面,页面显示用户填写的具体信息,界面如图5.4所示。用户点击“确认”按钮,显示用户注册成功页面,用户注册成功。界面如图5.4所示:图5.2 用户注册界面图5.3 填写具体信息界面图5.4 确认信息界面图5.5 注册成功

29、界面5.2.2 代码设计首先判断用户名是否可用,如果用户名没有被人使用过,弹出“恭喜你,该用户名可以使用!”对话框,如果用户名被人使用,弹出“用户名已被占用!”。主要代码如下所示:代码1 判断用户名有效性protected bool IfHaveName() Class2 c1 = new Class2(); DataTable dt = c1.rt(); DataRow dr = dt.Select(用户名= + + Text1.Text + ); if (dr.Length 0) Response.Write(alert(用户名已被占用!);); return true; else ret

30、urn false; 5.3 登录页面(Default.aspx)5.3.1 功能描述输入用户名和密码,点击登录按钮,若为网站注册用户则可成功登录校友录主页,并且能够显示用户名、用户身份、所在班级等信息,若密码错误或是用户名错误,则登录失败。登录界面如图5.6示:图5.6 用户登录界面5.3.2 代码设计登录时首先判断该用户是否为网站的注册用户,若已在网站中注册的用户且密码与用户名都填写正确,点击“登录”按钮可成功跳转到校友录首页,并且在页面中显示用户名、用户身份、所在班级等信息,否则会跳出“用户名或密码错误!”的对话框。代码如下所示:代码2 登录代码cmd.Connection.Close(

31、);string t = ;t3.Visible = false;string m = ;if (Sessionusernum != null) table1.Visible = false; table2.Visible = true; string c = Data Source=.;Initial Catalog=TONGXUE;Integrated Security=True; m = select * from class where 班级号=class; string b = select * from users where 用户名=users; SqlConnection co

32、nn = new SqlConnection(c); SqlCommand cmd = new SqlCommand(b, conn); SqlCommand cmd1 = new SqlCommand(m, conn); cmd.Parameters.Add(users, SqlDbType.VarChar, 50).Value = Convert.ToString(Sessionusernum); conn.Open(); SqlDataReader df = cmd.ExecuteReader(); if (df.Read() Session已有班级 = df已有班级.ToString(

33、); Session真实姓名 = df真实姓名.ToString(); Session身份 = df身份.ToString(); string i = Session身份.ToString(); Label2.Text = i; if (i = 班长 | i = 管理员 | i = 副班长) Button3.Visible = true; conn.Close();Labeluser.Text = Convert.ToString(Session用户名);t = Convert.ToString(Session班级号);if (t = ) LinkButton3.Visible = false

34、; Label1.Visible = true; t3.Visible = false; else string o = Convert.ToString(Session已有班级); cmd1.Parameters.Add(class, SqlDbType.VarChar, 50).Value = t; conn.Open(); SqlDataReader dr2 = cmd1.ExecuteReader(); if (dr2.Read() Session班级名 = dr2班级名.ToString(); LinkButton3.Text = dr2班级名.ToString(); conn.Cl

35、ose(); if (o = 0) ImageButton3.Visible = true; LinkButton3.Visible = false; Image5.Visible = false; Label1.Visible = true; else if (o = 1) t3.Visible = true; LinkButton3.Visible = false; Image5.Visible = false; ImageButton3.Visible = false; Label1.Visible = true; else ImageButton3.Visible = false; t

36、3.Visible = false; conn.Open(); SqlDataReader dr1 = cmd1.ExecuteReader(); if (dr1.Read() LinkButton3.Text = dr1班级名.ToString(); Label15.Text = dr1班级名.ToString(); Session班级名 = dr1班级名.ToString(); Session入学年份 = dr1入学年份.ToString(); Session注册日期 = dr1注册日期.ToString(); Session班级主页 = dr1班级主页.ToString(); Sessi

37、on班级创始人 = dr1班级创始.ToString(); Session正管理员 = dr1管理员.ToString(); Session宣言 = dr1宣言.ToString(); conn.Close(); conn.Close(); else table2.Visible = false; protected void ImageButton1_Click(object sender, ImageClickEventArgs e) string Connstr = Data Source=.;Initial Catalog=TONGXUE;Integrated Security=Tru

38、e; string querystr = select * from Users where 用户名=UserName and 密码=Password; string c = select * from class where 班级号=class; SqlConnection newconn; newconn = new SqlConnection(Connstr); SqlCommand cmd = new SqlCommand(querystr, newconn); SqlCommand cmd1 = new SqlCommand(c, newconn); cmd.Parameters.A

39、dd(UserName, SqlDbType.VarChar, 50); cmd.ParametersUserName.Value = TextBox1.Value; cmd.Parameters.Add(Password, SqlDbType.VarChar, 50); cmd.ParametersPassword.Value = TextBox2.Value; newconn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() Labeluser.Text = dr用户名.ToString(); Session用户名 = dr用户名.ToString(); Session身份 = dr身份.ToString(); Session用户编号 = dr用户编号.ToString(); Session班级号 = dr班级号.ToString();

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1