本 科 毕 业 论 文
Asp.net同学录系统
ASP.NET Classmate System Online
姓 名:
学 号
学 院:软件学院
系:软件工程
专 业:软件工程
年 级:2006级
指导教师:
二〇一〇 年 六 月
摘 要
目前,经济发展迅猛,人们的压力也越来越大,以致把大多数的时间都投入在工作上,往往就会淡忘以前的生活。学生时代是梦想最多的时代,感情最纯真的时代,在那时,我们都会遇到很多不同的人,也交了很多知己。但是一走上工作岗位,大多数人都会与以前的朋友失去联系。有时,即使想联系却没有联系方式。通过校友录系统,可以找到想要联系的朋友,这是许多人都认可的,可以看出设计一个同学录是极具可行性的。
本论文主要介绍了一个同学录系统的实现过程:主要包括系统的需求分析、系统设计、以及主要模块的详细设计。主要模块的详细设计主要包括:用户模块、留言模块、分享模块,班级模块,班级BBS模块,相册模块,投票模块、系统模块等。在本同学录系统中,本人负责的主要模块有:班级模块、班级BBS模块、相册模块、系统模块等。在本同学录系统的开发中我们用到的开发工具主要有Visual studio 2008 和SQL Server2005 ,用到的语言是C#,主要框架采用当前比较流行的多层架构框架。
关键词:同学录;SNS同学录 ;ASP.NET同学录
Abstract
At present, with the rapid development of economic , people has an increasing pressure of many things. So we spend time on work and the past has been fading off . When we were student, we had a lot of dreams, and felt innocent of time. At that time, we encountered many different people, and also made many friends. Once we go to work, most people will lose contact with former friends. Sometimes, even if we want to get in touch with old friends, we would fail. Through the classmate system, you can find a classmate with whom you want to contact. As it had been recognized by many people, so you can see that designing a classmate system is very feasible.
This paper introduces a classmate system with the following process: the analysis of system, the detail of the system design ,as well as the main module detailed design. The main module's detailed design mainly includes: user module, message module, share module, class module, class BBS module, photo album module, share module, voting module and system module and so on. The development kit which in the system's development we use in this classmate mainly has visual studio 2008 and SQL Server 2005, the main frame uses the current quite popular multiple construction frame.
Key words: ASP.NET Classmates; Classmate; Classmates SNS module
目 录
第一章 绪论 1
1.1引言 1
1.2论文组织结构 2
1.2.1流程分析 2
第二章 系统相关技术概述 5
2.1 ASP.NET技术介绍 5
2.1.1 ASP.NET简介 5
2.1.2 AJAX技术简介 5
2.1.3运行环境及软硬件要求 7
2.1.4 IIS的配置及其安装 7
2.2 SQL server2005介绍 8
2.3 ASP.NET中多层架构介绍 9
第三章 需求分析和总体设计 11
3.1系统概述及功能 11
3.1.1开发背景与系统目标 11
3.2系统设计 12
3.2.1总体设计: 12
第四章 详细设计 16
4.1所负责模块设计 16
4.1.1班级模块设计: 16
4.1.2相册模块设计 21
4.1.3留言模块设计: 28
4.1.4班级BBS模块设计 29
4.1.5投票模块的设计 31
4.1.6个人记事本模块设计: 33
4.1.7站内邮箱模块设计: 34
4.1.8站内帮助模块的设计 36
4.1.9好友互动模块的设计 37
4.1.10系统留言板模块的设计 38
4.1.11系统后台管理模块设计 39
4.1.12系统展望扩展模块的设计 40
第五章 系统测试及运行结果 42
5.1系统测试 42
5.2 运行结果 43
5.2.1 班级模块的运行结果 43
5.2.2相册模块的运行结果 45
5.2.3班级BBS模块的运行结果 48
5.2.4投票模块的运行结果 49
5.2.5内置信箱模块的运行结果 51
5.2.6后台管理模块的运行结果 52
第六章 总结与展望 56
6.1论文总结 56
6.2 工作展望 56
参考文献 58
致 谢 59
CONTENTS
Chapter1 Introduction 4
1.1 Introduction 4
1.2 The Organization of article 5
Chapter2 The used technology of article 8
2.1 ASP.NET introduction 8
2.1.1 ASP.NET technology 8
2.1.2 AJAX introduction 8
2.1.3 Running environment and requerment of software and harware 10
2.1.4 the Install and Configure of IIS 10
2.2 SQL server2005introduction 11
2.3 The mult-layer structure introduction 11
Chapter3 Analyse of requerment and total design 14
3.1 System introduction and feature 14
3.1.1 Background and goal of system 14
3.2 System design 14
3.2.1 framework design 14
Chapter4 Detail design 19
4.1 module design of responsiable 19
4.1.1 class module: 19
4.1.2 album module 23
4.1.3 leave message module: 28
4.1.4 classBBS module 30
4.1.5 vote module 32
4.1.6 notebook module 33
4.1.6 mailbox module 34
4.1.7 help module 36
4.1.8 interactive module 36
4.1.9 system leave message module 40
4.1.10 manage module 40
4.1.11 outlook module 42
Chapter5 System test and result 43
5.1 System test 43
5.2 Running result 44
5.2.1 result of class module 44
5.2.2 result of album 46
5.2.3result of class bbs module 50
5.2.4result of vote module 51
5.2.5result of mailbox module 53
5.2.6manage of back module 54
Chapter 6 Summary and Outlook 58
6.1 Summary 58
6.2 Outlook 58
References 60
Acknowledgements 61
第一章 绪论
1.1引言
二十一世纪是信息大爆炸的时代,网络的发展更是给信息的传输带来了极大的方便网站作为网络中极其重要的一员,她为个人,单位,政府部门的信息流通起到了非常大的作用。随着社会的发展,上网已经越来越普遍了。上网不但可以提高工作效率,而且还节省了许多人力物力,增强了资料的安全性。为此,用计算机来管理班级的信息,是非常必要的。在以前,大家都是通过电话簿等等作为
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
来和各位同学联系,有时候人在外面没有携带电话簿的话就造成了很大不便,随着网络的普及,人人网的出现,极大地方便了大家,大家能够上传一定的相片,和学习资料,但遗憾的是他给的上传空间太小,班级互动性不够强,不能满足我们的要求,这就需要我们制作一个自己的网上同学录。[1] [7]
今天,我们见到的绝大部分应用,都是基于B/S(浏览器/服务器)架构的,其中的服务器就是Web服务器。Web技术已经广泛应用于Internet上,但早期的Web应用全部是静态的HTML页面,用于将一些文本信息呈现给浏览者,但这些信息是固定写在HTML页面里的,该页面不具备与用户交互的能力,没有动态显示的功能。很自然地,人们希望Web应用里应该包含一些能动态执行的页面,最早的CGI(通用网关接口)技术满足了该要求,CGI技术使得Web应用可以与客户端浏览器交互,到1997年时,随着Java语言的广泛使用,Servlet技术迅速成为动态Web应用的主要开发技术。到了1998年,发布了ASP,在ASP程序内部的所有组件都有了独立的内存空间,并可以进行事务处理。标志着ASP技术开始真正作为动态Web编程技术。紧跟着也发布了PHP语言,它们都采用一种优秀的分层思想。之后,微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。下面就是ASP.NET所开发同学录系统的可行性分析。[2] [3]
1.目的
可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。
2.经济上可行性
现在,计算机的价格已经十分低廉,性能却有了长足的进步,并且网络的普及也越来越广。本网站的开发体现了以下几个特点:
第一, 本网站的运行可以给广大同学及老师带来很大的便利;
第二, 本网站的运行可以节省许多资源;
第三, 本网站的运行可以大大的提高大家联系和学习的效率;
所以,本网站在经济上是可行的。
3.技术上可行性
本系统的开发我利用Microsoft Sql2005作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。使用visual studio 2008 作为本网站的开发环境,保证了模块化要求,而模块化的提高,非常有利于以后对新系统的扩展与修改。
综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。
4.运行上可行性
本系统为一个网上在线同学录录系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。
5.法律可行性
本系统纯为私人设计,在开发过程中没有涉及
合同
劳动合同范本免费下载装修合同范本免费下载租赁合同免费下载房屋买卖合同下载劳务合同范本下载
、责任等与法律相抵触的方面。因此,本系统在法律上是可行的。
1.2论文组织结构
1.2.1流程分析
工作总体规划由在管理员在网站中完成对运行所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。学生进行基本的信息录入,还有班级图片上传,个人创建班级的管理,同学的添加查找等等。
1.2.2具体需求分析
普通用户:查看个人信息、个人相册上传、个人班级管理、个人留言功能、论坛发帖讨论,相册评论、个人博客等。
管理员用户:对整个网站系统设置的管理等。
1.2.3系统设计思想
1.系统就满足大家的需求,例如个人信息的录入、查询、更新等。
2.系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。[2] [3]
1.2.4系统设计分析
登陆界面:用户登陆和管理员登陆。用户的权限只能浏览好友信息和非好友信息的部分开放信息。管理员登陆后,则享有一切权利。
班级论坛里是公布班级里发生的一些情况。比如说近期有什么活动,哪些同学有什么心得交流等。是让本班同学对本班近期的情况有个大概的了解。
班级成员可以给每个同学发小消息,可以看到成员好友的非私密信息,可以给好友留言,发私信等。 班级相册是班级里每个同学都可以上传图片的地方,如果有好的照片或者图片都可以上传上来,大家一起欣赏,进行评价等。以后很长时间大家都有可能见不到面了,时不时上传张最新的相片,也可以让大家看看有什么变化。
班级论坛是班里同学高谈阔论的地方,在这里有什么话,有什么想法都可以发表。大家一起来聊天,交流。
分享是为成员好友间进行最新信息分享的平台,让你刚兴趣的事传遍整个好友圈,也许可以找到有与你相同爱好的人。
留言簿是大家留言交流的地方,大家可以提出各种意见和信息让这个网站更加完善。
1.2.5系统功能分析
权限功能:为用户设置权限功能,可分为未注册用户,注册用户和管理员用户。未注册用户只是查看一些限制内容以外的资料并且不能修改,注册用户只能对授权范围内进行相应修改及删除,管理员用户能修改、删除所有信息。
录入功能:为注册提供相应的录入功能,为管理员用户提供对所有信息的录入功能。
维护功能:为注册用户提供查询及相应的修改,删除功能,为管理员用户提供对所有信息的修改删除功能。
1.2.6整体结构
本论文共分为六章,论文首先分析了ASP.NET开发相关技术,介绍了毕业设计项目的背景和研究价值,引出了论文所做的主要工作内容。紧接着论文简单概述了毕业设计项目中所用到的各项技术,并针对同学录交互系统的解决方案。然后论文就系统开发的整体框架和模块划分方面进行了分析。在系统实现方面,论文详细介绍了ASP.NET同学录系统所使用的技术要点:基于Asp.net的多层结构的框架设计;在用户体验方面,采用了Asp.net Ajax改善用户的体验。
论文具体安排如下:
第一章 简单介绍了同学录实现的相关背景及其实现同学录系统的必要性。
第二章 概述系统中所使用的各项技术及各项技术的国内外发展现状。
第三章 详细介绍了ASP.NET同学录系统实现的整体设计及其模块划分。相关功能需求和系统需求。
第四章 介绍了ASP.NET同学录系统的实现。详细阐述了系统的背景和总体目标,基于表示层(WEB)、业务逻辑层(BLL)数据库接口层(IDAL)-数据访问层(DAL)等的多层结构的框架设计和功能模块介绍及其实现。
第五章 介绍了ASP.NET同学录系统的系统测试和运行结果。
第六章 最后论文总结了毕业设计所做的工作,并且指明了下一步的改进
计划
项目进度计划表范例计划下载计划下载计划下载课程教学计划下载
。主要是在功能扩展方面的展往。
第二章 系统相关技术概述
2.1 ASP.NET技术介绍
2.1.1 ASP.NET简介4
在ASP.NET 不仅仅是Active Server Page (ASP) 的下一版本;它是统一的 Web 开发平台,用来提供开发人员生成企业级 Web 应用程序所需的服务。ASP.NET 的语法在很大程度上与 ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强该 ASP 应用程序的功能。
ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和JScript .NET)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET框架。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET技术的简洁的设计和实施,完全面向对象、具有平台无关性且安全可靠、主要面向互联网的所有特点。此外,强大的可伸缩性和多种开发工具的支持,语言灵活,也让其具有强大的生命力。
ASP.NET以其良好的结构及扩展性、简易性、可用性、可缩放性、可管理性、高性能的执行效率、强大的工具和平台支持和良好的安全性等特点成为目前最流行的Web开发技术之一。而采用ASP.NET语言的网络应用开发框架,目前也已得到广泛的应用,其优势主要是为搭建具有可伸缩性、灵活性、易维护性的业务系统提供了良好的机制。
2.1.2 AJAX技术简介
AJAX (异步刷新)一般是由客户端(浏览器)像服务器发送一个异步请求,然后由XMLHttpRequest对象连接到服务器。在异步回传的时候,只有需要被更新的内容才会回传到服务器,在服务器也只调用与请求内容相关联的函数处理请求并返回送显结果。所以,相比于全部页面回传(postback),页面的生命周期(page lifecycle)减少了很多,并且在异步传输的过程中,用户不再需要等待整个页面的回传完毕才能做其他的工作,提高用户体验。
AJAX (Asynchronous JavaScript and XML)将用到以下几种技术:
XHTML和CSS---页面的表现层
DOM(文档对象模型)---用于XHTML的动态显示
XML---客户端与服务器的数据交换
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
,也可以是字符串
XMLHttpRequest 对象---客户端与服务器异步传输的中介
Javascript---处理客户端事件
微软在Asp.net里提供了两种AJAX技术解决方案:Asp.net客户端回调(callback)和Asp.net Ajax框架。
Asp.net 客户端回调:
随着Asp.net 2.0的发布,微软的提供了一个简单、轻便、高效的AJAX解决方案,那就是Asp.net客户端回调。一个IcallbackEventHandler接口、一个客户端脚本管理类(a client script manager class)和一个简单的js文件(WebForms.js)实现了客户端与服务器之间的异步通信。
客户端回调通过在客户端页面调用后台服务器的代码。首先将一个自定义的字符串发送到服务器,服务器解析这个字符串,然后执行相应的代码。并把执行结果也以字符串形式返回。客户端javascript接收到返回的字符串利用DOM技术在HTML(DHTML)页面动态的更新返回的结果,从而达到页面的无刷新。
因为客户端回调是一个轻量级的AJAX框架,所以它也有一个很大的缺点(drawback),首先,客户端回调只能以字符串的形式在客户端与服务器间传输;其次,开发者必须同时提供服务器处理函数以及客户端结果送显(rerender controls)的脚本。
在2007年的时候微软发布了asp.net AJAX开发框架(架构),VS2008中默认安装,该框架提供了一个完整的客户端-服务器异步通信的方案。AJAX框架提供了一组AJAX控件(scriptManager、updatepanel等toolkits)和API来管理异步通信,同时通过客户端的Microsoft AJAX Library动态更新前台页面。这就使得开发者甚至不用编写客户端脚本就能实现局部刷新。
通常来说,Asp.net AJAX通过局部页面回传(partial page postback)来实现异步请求,虽然局部回传和同步整个页面回传的页面周期是一样,但是只有需要更新的特定的区域或控件才会被回传到服务器并且更新到页面。因为局部页面回传也是利用asp.net的页面回传机制(page postback architecture ),所以在实现过程中支持控件的事件驱动模型以及拥有保持控件视图状态(view sate)的能力。这个特点使也开发不需要因为局部刷新而去修改传统Asp.net的后台代码。
总的来讲,两个技术各有优缺点;Asp.Net AJAX框架的出现不是为了取代客户端回调(client callback),而是微软为了给开发者提供一个更为便捷的开发环境。
客户端回调(Client Callback):
优点在于回调时候发送请求和返回结果的字符串都由开发者自定义和解析,更为灵活和轻便;而且整个页面的生命周期比传统的Postback(同步或者异步)短,更为高效。另外,HTML元素和服务器控件都可以引起页面的回调。
缺点是要自己编写客户端脚本和服务器代码。
Ajax框架(partial page postback):
优点在于实现方便,拖动控件便可以实现无刷新;并且需因为实现局部刷新而去修改传统Asp.net的后台代码;支持控件的视图状态;
缺点是页面生命周期比CallBack长,只要在更新区域(UpdatePanel)里的控件不管是否有改变都会回传到服务器并且更新(Render);引发回传的控件(Tiggers)必须为实现了IPostBackEventHandler, IPostBackDataHandler 或者INamingContainer.接口服务器控件。
2.1.3运行环境及软硬件要求
(一)Windows操作系统
(二)安装.net framework3.5框架
(三)IIS配置安装正确
2.1.4 IIS的配置及其安装
第一步:IIS的安装
A.在控制面板中选择“添加/删除程序”,在出现的对话框中选择“添加/删除Windows组件”。
B.在出现的复选框中选择安装Internet信息服务(IIS),这一组件约需19MB的空间。
C.点击“下一步”,并将Win2000安装光盘放入光驱,安装程序即可将程序文件复制到硬盘中,点击“结束”即可完成。
第二步:IIS中Web服务器的基本配置
IIS中Web服务器的基本配置主要包括如下几部分:
A.打开IIS服务器的配置窗口,选择“开始”→“程序”→“管理工具”→“Internet服务管理器”,或者“选择”→“控制面板”→“管理工具”→“Internet服务管理器”也可,打开的窗口。
B.在打开的窗口中鼠标右击“默认Web站点”,选择“属性”菜单。
C.在出现的“默认Web站点属性”窗口中,选择“主目录”标签,用以设置Web内容在硬盘中的位置,默认目录为“C:\Inetpub\Wwwroot”,你可根据需要自己设置。
D.在属性窗口处选择“文档”标签,设置自己默认的首页网页名称,例如“Myfirstweb.htm”,将其添加并移动到列表的最顶端。
E.确认默认的Web站点是否已经启动,如果没有可以鼠标右键点击“默认Web站点”,选择“启动”,在打开的IE地址栏中键入本机的IP地址,即可看到自己指定的主页已经开始在Internet上发布了。
F.这里我们继续来我们的ASP,NET的配置,在 IIS 管理器中,展开本地计算机,然后单击"Web 服务扩展"。 在右侧窗格中,右键单击"ASP.NET"然后单击"允许"。ASP.NET 的状态变为"允许"。
2.2 SQL server2005介绍
作为Microsoft公司的下一代数据管理与分析软件,SQL Server 2005有助于简化企业数据与分析应用的创建、部署和管理,并在解决方案伸缩性、可用性和安全性方面实现重大改进。
基于SQL Server 2000技术优势构建的SQL Server 2005将提供集成化信息管理解决方案,可帮助任何规模的组织机构:
创建并部署更具伸缩性、可靠性和安全性的企业级应用。
降低数据库应用创建、部署与管理的复杂程度,进而实现IT效率最大化。
凭借可供创建更具安全保障之数据库应用的丰富、灵活、现代化开发环境增强开发人员工作效能。
跨越多种平台、应用和设备实现数据共享,进而简化内部系统与外部系统连接。
实现功能强劲的集成化商务智能解决方案,从而在整个企业范围内推进科学决策,提高工作效率。
在不必牺牲性能表现、可用性或伸缩性的前提下控制成本费用水平。
2.3 ASP.NET中多层架构介绍
当前比较流行的ASP.NET多层架构一般分七层或三层,分七层或三层的最大的优点在于: 如果接口和方法都定义好后,任何一个有基础的程序员都可以参与大型项目。 项目风险降低很多,节约很多时间。[7]
下面就是关于七层的介绍:比较底层的就是model实体层,和DBUtlity数据层基类还有DALFactory数据层工厂类。接着上面的层就是IDAL接口层和SQLDAL接口实现层,最上层就是我们要的BLL业务逻辑层和web表示层。如下图:
图2.1 ASP.NET七层编码结构图
图片说明:
UI:用户看到的界面,可以是asp.net的web项目 ,winform项目 等等 对编码影响不大 可以最后实现;
SF: 处理异常 等特殊操作;
BF:操作方法集,用来调用实现方法;
BE:实体 包含各类数据 DataSet;
BR:规则类, 主要用来验证(非空,格式,是否存在 等等约束);
DA: 数据操作类,专门用来操作数据库的增删改查;
业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。
数据访问层(DAL):主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。
(IDAL)它体现了“抽象”的精神,或者说是“面向接口编程”的最佳体现。抽象的接口模块IDAL ;
(Model)实体和数据库表映射类 ;
(Web)web网站项目。
优点:每一层都可以在仅仅更改很少量的代码后,就能放到物理上不同的服务器上使用,因此结构灵活而且性能更佳。此外,每层做些什么其它层是完全看不到的,因此更改、更新某层,都不再需要重新编译或者更改全部的层了。这是个很强大的功能.
例如,如果把数据访问代码与业务逻辑层分离,当数据库服务器更改后,你只需要更改数据访问的代码,因为业务逻辑层是不变的,因此不需要更改或者重新编译业务逻辑层。
第三章 需求分析和总体设计
3.1系统概述及功能
3.1.1开发背景与系统目标
国内高校云集,但学生间的交流不仅仅是面对面的交流了。Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。在此基础上提出的SNS概念,web2.0概念的网站也迅速成为了网络发展的趋势。[2] [3]
近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要。同学录作为一种方便同学之间联系的实用系统便应运而生。同学录是为同学之间进行交流和联系提供的一个平台。通过提供完善的同学录服务和规范同学录的管理,可以达到增进同学之间、同学与母校之间的感情,方便校友联系的目的。
一个优秀的学校离不开广大校友的支持和帮助,一所学校,特别是有几十年甚至近百年历史的学校,在国内外有无数的校友,很明显 ,在信息飞速发展的今天,校友与学校之间以及校友与校友之间仍然主要通过普通信件或电话进行联系的方式已经落后,作为母校,有义务也有责任加强校友录的建设工作,以进一步加强校友与学校以及校友自身之间的联系。校友,在很多情况下一提到这个问题便让人想起仅仅是在学校搞校庆时拉赞助的对象,其实,广大的校友带给母校的往往是一些更可贵的看不见的无形资产,他们经常会为母校的发展献计献策,他们的成功也会推动母校的发展,对在校学生起到一个良好的示范作用,所以校友是学校发展不可缺少的力量。SNS同学录作为一种方便同学之间联系的实用系统成为同学们的交流平台,推动学校教育事业发展的重要力量。[5] [6]
3.2系统设计
3.2.1总体设计:
同学录系统大体分为前台和后台两部分。
前台主要页面:会员个人页面,会员个人管理页面,用户注册、登陆,好友查找;
会员对外显示:个人信息,日志,迷你博客(心情),留言板,个人动态(修改,创建,更新等的日志信息),好友、班级、个人相册、个人分享、投票等信息。
会员个人管理:个人信息设置(隐私设置,个人信息更新,添加等)、日志管理(增加、删除、修改)、留言管理、个人动态管理(删除)、好友管理、个人班级管理(班级公告、班级讨论帖子、班级成员、班级相册的管理)个人相册的管理,个人迷你博客(心情)的管理,好友管理。班级管理(查找,添加,退出)、分享管理、投票管理;
六大模块:会员管理、班级管理、博文管理、相册管理、系统管理、帮助管理、会员管理:会员管理;
班级管理:班级的删除,修改,查看
博文管理:个人日志的删除、修改、查看
相册管理:相册的删改查
后台系统管理:会员注册设置、邮件服务设置、关键词设置、管理员管理
帮助管理:帮助文档的修改,查看;
网站整体框架:
采用多层架构进行框架的搭建活动;最底层数据库层、模型层,上面一层功能接口层、功能实现层,再上面一层业务逻辑层,最外面网页(web)展示层。
图3.1 多层架构分层图
采用的技术: AJAX局部刷新技术、充分利用类的继承。
使用Ajax技术,Web页面就不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,可以创建接近本地桌面应用的、直接的、高可用的、更丰富的、更动态的Web用户接口界面。最重要的是,用户甚至不知道浏览器正在与服务器通信:Web站点看起来是即时响应的[13]。
Ajax的交互基本流程如下:
图3.2AJAX局部刷新流程图
ASP.NET AJAX并不仅仅是一个封装了Ajax操作的框架,它还对JavaScript进行了非常精巧的面向对象方面的扩展,为我们提供了坚实的面向对象的开发基础。
功能模块框架图:
后台部分:
图3.3 功能模块后台框架图
后台模块分为六大模块:会员管理模块、班级管理模块、博文管理模块、相册管理模块、系统管理模块、帮助管理模块。
会员模块主要包括:会员信息的更新维护,会员是否进行推荐到首页等。
班级管理模块:班级基本信息的管理,班级成员的管理。
博文管理模块:博文、微博信息的修改审核等。
相册管理模块:对相册、照片的管理审核等。
系统管理模块:对邮件设置、关键词过滤等的设置。
帮助管理模块:对站内帮助信息的管理修改等。
前台部分:
图3.4 功能模块前台框架图
前台主要包括个人信息的管理、个人相册的管理、博文的管理、个人心情微博的管理、个人动态的管理、个人分享的管理、投票的管理、站内邮箱的管理。每个模块均有各自所负责的任务。
通过整体系统前台和后台的功能方面的总体设计让我们的设计思路更加清晰,我们有了明确的层次分明,让任务分工明确起来,为后期的模块整合做了很好的铺垫。
第四章 详细设计
4.1所负责模块设计
4.1.1班级模块设计:
班级模块数据库设计:
(1) 表名:NT_GroupInvite(邀请加入班级群组)
表4.1邀请加入班级数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
GroupID
int
NO
群ID号
JoinUserID
int
NO
邀请用户ID
UserID
int
YES
发出邀请的用户ID
Postscript
nvarchar
YES
邀请语
PostTime
datetime
NO
发布时间
PostIP
char
NO
发布IP
Response
int
NO
(0)
回复ID
RespTime
datetime
YES
回复时间
RespIP
char
NO
回复IP
InviteFlag
bit
NO
受邀状态
这张表用来记录班级创建者邀请好友加入班级所做的记录。
(2) 表名:NT_GroupMember(群成员中间表)
表4.2群组成员中间数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
GroupID
int
NO
群ID号
UserID
int
NO
用户ID
JoinTime
datetime
NO
加入时间
Grade
int
NO
等级
这张表用来记录一个班级群组中的成员数量,成员加入班级的时间和成员在班级中的等级。
(3) 表名:Nt_GroupType(班级类型中间表)
表4.3班级类型数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
GroupID
int
YES
群ID号
Type
int
YES
类型
这张表用来表示班级群组所有的类型。
(4) 表名:Nt_GroupVisit(班级最新访问者)
表4.4班级最新访客数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
GroupID
int
YES
群ID号
UserID
int
YES
用户ID
VisitTime
datetime
YES
访问时间
这张表用来表示班级最近的访问情况,记录班级页面访问的用户和访问时间。
(5) 表名:NT_UserGroup(用户班级表)
表4.5用户班级数据库表
字段名
数据类型
是否为空
默认值
备注
GroupID
int
否
主键
GroupName
nvarchar
否
班级名称
UserID
int
否
用户ID
Members
int
否
(1)
成员数
Bulletin
nvarchar
是
公告
NetWork
int
否
网络
Publicity
int
否
城市
Portrait
nvarchar
是
头像
State
int
否
状态
PostTime
datetime
否
发布时间
PostIP
char
否
发布IP
Ding
int
是
顶的次数
Hot
int
是
热门度
AcademyID
int
是
学院ID
用户班级表显示了用户所创建的班级的基本信息。
班级群组模块详细设计:班级模块主要是为班级成员创建一个聚集性较强的交流平台,让用户在这个平台上找到更多的好友,方便班级的管理。这个模块的主要功能有以下几方面:
(1) 班级成员的邀请和班级成员的管理
(2) 完成班级的创建,班级信息的编辑
(3) 班级最新访客的记录,班级热度的记录等
图4.1 班级模块设计流程图
班级群组模块符合整体框架的分层思想,完成了班级群组管理的基本操作,主要实现的方法:班级群组的增加、删除、查看,修改操作。[10] [11]
图4.2 班级管理模块设计流程图
每个用户均可以创建自己的班级,邀请好友加入班级,可以编辑自己创建的班级信息,也可以修改自己所管理的班级信息。每个会员都可以申请加入班级,管理员、班级创建者有权删除班级成员。[10] [11]
班级群组模块接口方法说明:
Add(UserGroupInfo Info)创建一个班级群组
Del(int GroupID)解散一个班级群组
EditInfo(UserGroupInfo Info)编辑班级群组信息(普通文字信息)
EditHead(UserGroupInfo Info)班级班级群组信息(图片信息)
Count(int UserID)班级成员数量
IsMyGroup(int GroupID, int UserID)验证成员是否为班级成员
CheckPublicity(int GroupID, int UserID, bool IsDis)
验证班级是否为开放班级
getPublicityName(StudentSNS.Model.EnumGroupPrivacy EnumPrivacy)
得到开放程度名称
GetUserGroup(int UserID)得到用户所加的班级
GetIdByName(string GroupName)班级查找
AddVisit(int GroupID, int UserID)班级访问者记录
群组成员管理部分接口说明:
Join(GroupMemberInfo Info)添加群组成员
Out(int UserID, int GroupID)退出班级
SetAdmin(int GroupUserID, int GroupID, int UserID)设置班级群组管理员
DelAdmin(int GroupUserID, int GroupID, int UserID)删除群组管理员
QuitGroup(int UserID, int GroupID)管理员辞退
GroupMemberGradeList(int Grade, int GroupID)
取得群组各等级类型的群员列表
Top6GroupMemberList(int GroupID) 取得最新六位成员
IsGroupMember(int UserID, int GroupID) 检查会员是不是此组的管理员
IsGroupAdmin(int UserID, int GroupID) 检查会员是不是此组的管理员
getGroupRequest(int UserID) 取得群组是否有邀请
Info(int ID) 取得群组成员信息
4.1.2相册模块设计
相册模块数据库设计:
(6) NT_Album(相册表)
表4.6 相册模块数据库表
字段名
数据类型
是否为空
默认值
备注
AlbumID
int
NO
主键
UserID
int
NO
相册用户ID
Title
nvarchar
NO
相册名称
Description
nvarchar
YES
相册描述
ImagesCount
int
NO
(0)
照片数量
CreateTime
datetime
NO
创建时间
Privacy
int
NO
是否私有
LastUploadTime
datetime
YES
最后上传照片时间
GroupID
int
YES
班级群组ID号
(7) 表名:NT_Photo(照片表)
表4.7 照片数据库表
字段名
数据类型
是否为空
默认值
备注
PhotoID
int
NO
主键
AlbumID
int
NO
相册ID
UploadUser
int
NO
上传人ID
Description
nvarchar
NO
照片描述
Views
int
NO
(0)
浏览次数
FileSize
nvarchar
YES
(0)
照片大小
State
int
NO
状态
IsCover
bit
NO
(0)
是否为封面
Comments
int
NO
(0)
评论次数
PostTime
datetime
NO
发布时间
PostIP
char
NO
发布IP
IsLock
bit
NO
(0)
是否锁定
PhotoType
int
NO
照片类型
Width
int
YES
宽度
Height
int
YES
高度
FilePath
nvarchar
NO
照片路径
(8) 表名:NT_PhotoComment(相册评论表)
表4.8 照片评论数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
PhotoID
int
NO
照片ID
UserID
int
NO
用户ID
Content
nvarchar
NO
评论内容
PostTime
datetime
NO
发布时间
PostIP
nvarchar
NO
发布IP
IsLock
bit
NO
(0)
是否被锁定
CommentID
int
YES
(0)
评论父ID
(9) 表名:NT_PhotoLasso(照片圈人表)
表4.9 照片圈人数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
照片圈人表ID
PhotoID
int
NO
照片ID
FriendID
int
NO
好友ID
UserID
int
NO
用户ID
PosX
int
NO
头像X坐标
PosY
int
NO
头像Y坐标
PostTime
datetime
NO
发布时间
PostIP
char
NO
发布IP
IsLock
bit
NO
(0)
是否被锁定
Description
nvarchar
NO
描述
PosW
int
YES
头像宽度
PosH
int
YES
头像高度
相册模块流程详细设计:
图4.3 相册模块设计流程图
Add(AlbumInfo Info)添加相册信息;
Edit(AlbumInfo Info)编辑相册信息;
Del(int AlbumID) 删除相册(后台);
Del(int AlbumID, int UserID) 删除相册(前台);
Count(int AlbumID) 取得相册照片记录数;
A_s_PPath(int AlubmID)
取得相册下属相册所有相片路径,以做BLL层删除之用;
Info(int AlbumID) 相册信息;
AlbumList(int UserID) 获取指定用户相册集;
FriendAlbumList(int UserID) 取得好友最新相册;
LastAlbumID(int UserID) 获取指定用户最新相册ID;
CoverPath(int AlbumID) 指定相册封面图片地址;
GroupAlbumList(int GroupID) 取得群组最新相册;
图4.4 照片模块设计流程图
接口功能说明:
Add(PhotoInfo Info)添加照片信息
Edit(PhotoInfo Info)编辑照片信息
AddViews(int PhotoID) 添加照片被查看次数
AddComm(int PhotoID) 添加照片评论次数
ViewsCount(int PhotoID) 取得照片被查看次数
CommCount(int PhotoID) 取得照片评论次数
Del(int PhotoID) 删除相片(后台)
Del(int PhotoID, int UploadUser) 删除照片(前台)
NonceHead(int UserID) 取得会员当前头像地址
Info(int PhotoID) 照片信息
InfoList(int AlbumID, int UserID) 照片信息列表
InfoList(int AlbumID) 照片信息列表
HeadInfoList(int AlbumID, int UserID) 头像照片信息列表
PhotoCount(int photoID) 照片实体类
NextPhotoID(int photoID) 同一相册下一张照片ID
NextPhotoID(int photoID, int UserID) 头像像册下一张照片
PrePhotoID(int photoID) 同一相册上一张照片ID
PrePhotoID(int photoID, int UserID) 同一相册上一张照片ID,头像相册中
TheNumber(int photoID) 照片位于相册中的第几张
TheNumber(int photoID, int UserID) 照片位于相册中的第几张
SetCover(int photoID, int UserID, bool tf)设置相册封面
照片圈人方法说明:
Add(PhotoLassoInfo Info)添加照片圈人信息
Del(int ID, int UserID, int FriendID)删除圈人信息
Info(int ID)得到圈人信息
InfoList(int PhotoID)图片信息
AlbumLasso(int AlbumID)相册信息
FriendInfoList(int UserID)好友信息
UserInfoList(int UserID,bool isSelf)好友信息列(前台)
图4.5 照片圈人模块设计流程图
照片圈人模块符合整体框架的分层思想,完成了照片圈人的基本操作,主要实现的方法:照片圈人的增加、删除、查看等操作。
每个用户都可以建立属于自己的相册,可以为自己的班级创建班级相册、上传图片等。成员可以管理自己的相册,包括自己的班级相册,主要操作有增、删、改、查操作。成员可以对别人的照片进行评论,可以对照片中的人进行特别圈注,增加好友之间的互动性。
4.1.3留言模块设计:
留言模块数据库设计:
(10) 表名:NT_LeaveWord(留言表)
表4.10留言模块数据库设计表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
Sender
int
NO
留言发送者
Receiver
int
NO
留言接受者
Content
nvarchar
NO
留言内容
PostTime
datetime
NO
留言发布时间
PostIP
char
NO
留言发布IP
IsLock
bit
NO
(0)
是否锁定
留言模块流程设计详情:
图4.6 留言模块流程设计图
在留言板模块中一样用到了整体框架的分层思想,完成了留言的基本操作
接口方法有:
Edit(int id, int senderId, int receiverId, string content)
对心情日志发布评论
Delete(int userId, int id)删除心情日志
CheckAuthority(int guestId, int masterId)
确认是否有权限对心情日志进行评论
留言模块设计详情:留言模块完成了会员之间的留言互动,增强了成员的互动性。成员自己可以对留言进行必要的增、删、改、查操作。
4.1.4班级BBS模块设计
班级BBS数据库设计
(11)表名:NT_GroupDiscuss(群讨论表)
表4.11 班级群组BBS数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
GroupID
int
NO
群ID号
UserID
int
NO
用户ID
Topic
nvarchar
NO
主题
Content
nvarchar
YES
内容
DiscussType
int
NO
讨论类型
BelongTopic
int
NO
所属主题ID
PostTime
datetime
NO
发布时间
PostIP
char
NO
发布IP
LastPostTime
datetime
YES
最后发表时间
LastPostIP
char
YES
最后发布IP
LastPoster
int
YES
最后发布人
Replys
int
NO
(0)
回复次数
State
int
NO
(0)
状态
LastModifyTime
datetime
YES
最后修改日期
LastModifyIP
char
YES
最后修改者IP
ReplyID
int
YES
回复ID
ReplyTack
nvarchar
YES
回复楼层
SeriesNum
int
YES
序列号(楼数)
TopNum
int
NO
(0)
置顶
班级BBS模块流程详细设计:
图4.7 班级群组设计流程图
班级BBS方法:
Add(GroupDiscussInfo Info)发布帖子
Edit(string Content, int UserID, int ID)编辑帖子
Del(int ID)删除帖子
Del(int ID, int UserID)删除帖子(前台)
Replay(GroupDiscussInfo Info)回复帖子
Lock(int ID)是否锁定
UnLock(int ID)解锁
Top(int ID)置顶
UnTop(int ID)取消置顶
Info(int ID)帖子内容
GroupNewTopic(int GroupID)群组新帖
班级BBS让一个班级的成员能够自由地发共享信息到班级中,班级成员均可以看到班级BBS中的帖子,可以对帖子进行回复等操作。增强班级成员的互动凝聚性。
4.1.5投票模块的设计
投票模块数据库设计
(12)表名:Nt_ToVote(投票表)
表4.12 投票模块数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
否
主键
UserID
int
是
用户ID
VoteID
int
是
投票ID
OptionID
nvarchar
是
选项ID
Content
nvarchar
是
选项内容
(13)表名:NT_Vote(投票表)
表4.13 投票信息数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
否
主键
Title
nvarchar
是
名称
Intro
nvarchar
是
说明
UserID
int
是
用户ID
AddTime
datetime
是
添加时间
Mode
int
是
投票方式
EndTime
datetime
是
截止时间
JCnt
int
是
参与人数
VCnt
int
是
投票人数
IsFriend
int
是
是否好友可见
(14)表名:Nt_VoteComm(投票评论表)
表4.14投票评论模块数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
否
主键
UserID
int
是
用户ID
VoteID
int
是
投票ID
Content
nvarchar
是
评论内容
PID
int
是
回复人识别号
AddTime
datetime
是
添加时间
(15)表名:Nt_VoteOption(投票选项表)
表4.15 投票选项数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
否
主键
VoteID
int
是
投票ID
OptionName
nvarchar
是
选项名称
Cnt
int
是
得票数
投票模块流程详细设计:
图4.8 投票模块设计流程图
投票模块让用户可以发起投票,对别人发起的投票进行投票,对投票进行评论,增强成员间的互动性,增加系统的黏性。
4.1.6个人记事本模块设计:
个人记事本数据库设计:
(16)表名:NT_Notepad(记事本表)
表4.16记事本数据库设计表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
UserID
int
NO
用户ID
Content
nvarchar
YES
记事本内容
LastPostTime
datetime
NO
上次发布时间
LastPostIP
char
NO
上次发布IP
IsLock
bit
YES
(0)
是否锁定
个人记事本详细设计:
网络个人记事本让会员能够随时记录个人备忘记录,方便快捷。这里开发流程跟前面所讲的班级等模块大同小异,就不再详述了。
4.1.7站内邮箱模块设计:
站内邮箱模块数据库设计:
(17)表名:NT_Outbox(发件箱表)
表4.17 发件箱数据库设计表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
UserID
int
NO
用户ID
LetterID
int
NO
邮件ID
(18)表名:NT_Inbox(邮箱表)
表4.18 邮箱表数据库设计表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
UserID
int
NO
用户ID
LetterID
int
NO
邮件ID
(19)表名:NT_Letter(邮件表)
表4.19 邮件列表数据库设计表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
Sender
int
NO
留言发送者
Receiver
int
NO
留言接受者
Title
nvarchar
NO
标题
Content
nvarchar
YES
留言内容
PostTime
datetime
NO
发布时间
PostIP
char
NO
发布IP
TopicID
int
NO
(0)
信件回复的标题邮件ID
IsReply
bit
NO
(0)
是否已回复
LtType
int
NO
(0)
发件类型(0为普通,1为分享)
RelativeID
int
YES
相关编号
IsRead
int
YES
是否阅读
站内信箱模块详细设计:
图4.9 站内信箱设计流程图
接口方法说明:
Add(LetterInfo Info)
Del(int dType, int LetterID, int UserID)
Reply(LetterInfo Info)
UpdateNoticeMode(int UserID)
Read(int LetterID, int UserID)
getNewReContent(int LetterID, bool isMy, int UserID)
getNewReCNT(int LetterID, int UserID)
InBoxCount(int UserID)
Info(int ID)
站内邮箱让站内成员间能够发送私有信息,便于隐私信息的发送交流等。主要有信件的发送删除等操作。
4.1.8站内帮助模块的设计
站内帮助模块数据库设计:
(20)表名:NT_Help(帮助表)
表4.20 站内帮助模块数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
SN
ntext
NO
帮助编号
Title
nvarchar
YES
帮助标题
Content
ntext
YES
帮助内容
站内帮助详细设计:
站内帮助模块主要针对一些普通的成员帮助进行增删改查操作
4.1.9好友互动模块的设计
好友互动模块数据库设计:
(21)表名:NT_Friend(好友表)
表4.21好友互动模块数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
UserID
int
NO
用户ID
FriendID
int
NO
好友ID
State
int
NO
状态
Relation
int
YES
关系
AddTime
datetime
YES
增加时间
(22)表名:NT_FriendDesc(好友描述信息表)
表4.22好友信息描述模块数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
Modifier
int
NO
修改者
Affirmant
int
NO
接受修改者
DescType
int
NO
描述类型
Reply
int
NO
(0)
回复
DescStartYear
int
YES
开始年份
DescEndYear
int
YES
结束年份
DescIsKnow
bit
YES
是否认识
DescText
nvarchar
YES
描述文字
(23)表名:NT_Greet(打招呼表)
表4.23好友打招呼模块数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
UserID
int
NO
用户ID
FriendID
int
NO
好友ID
PostTime
datetime
NO
发布时间
PostIP
char
NO
发布IP
IsRead
bit
NO
(0)
是否已读
gType
tinyint
YES
类型
好友互动模块流程详细设计:
好友互动模块让成员可以互相加为好友,对对方的信息进行描述,给对方打招呼等,增强内部成员间的互动性
4.1.10系统留言板模块的设计
系统留言板数据库的数据库设计
(24)表名:NT_SysNotepad(用户反映留言)
表4.24用户反映留言数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
否
主键
UserID
int
否
用户ID
Content
nvarchar
否
留言内容
PostTime
datetime
否
发布时间
PostIP
char
否
发布IP
ReplyContent
nvarchar
是
回复内容
Replier
int
是
回复人
ReplyTime
datetime
是
回复时间
ReplyIP
char
是
回复IP
系统留言板数据库的详细设计
系统留言板模块的设计目的是为会员体验中遇到系统问题进行系统错误的反应等,让系统更好地为同学们服务!主要功能发送系统问题给系统管理员,管理员对留言进行回复等操作。
4.1.11系统后台管理模块设计
系统后台管理模块所涉及到众多的表,在很多模块中重复的数据库表在这里就不再重复说明了。
后台管理模块数据库设计
(25)表名:NT_Admin(管理员信息表)
表4.25管理员信息数据库表
字段名
数据类型
是否为空
默认值
备注
AdminID
int
NO
主键
LoginName
nvarchar
NO
管理员用户名
TrueName
nvarchar
YES
管理员真实姓名
Password
char
YES
管理员密码
LastLoginTime
datetime
YES
上次登陆时间
LastLoginIP
char
YES
上次登陆IP
LoginTimes
int
NO
(0)
登陆时间
State
int
NO
(0)
状态
(26)表名:NT_Dict_Academy(学院ID)
表4.26学院信息数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
Name
nvarchar
NO
学院名称
SchoolID
int
YES
学校ID
IsLock
bit
NO
(0)
是否锁定
(27)表名:NT_Dict_Area(地区表)
表4.27地区信息数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
NO
主键
ParentID
int
NO
(0)
地区ID
Name
nvarchar
NO
地区名称
IsLock
bit
NO
(0)
是否被锁定
(28)表名:NT_Dict_School(学校表)
表4.28学校信息数据库表
字段名
数据类型
是否为空
默认值
备注
SchoolID
int
NO
主键
DegreeID
int
NO
学校类别
AreaID
int
NO
地区ID
SchoolName
nvarchar
NO
学校名称
IsLock
bit
NO
(0)
是否被锁定
后台管理模块详细设计
后台模块主要就是针对会员信息的管理,网站站务的管理,网站参数的设置,对学校信息的管理,对帮助信息的管理等。
4.1.12系统展望扩展模块的设计
系统展望模块数据库设计:
(29)表名:NT_UserPointHistory(用户积分历史表【为功能扩展】)
表4.29积分统计信息数据库表
字段名
数据类型
是否为空
默认值
备注
ID
int
否
主键
UserID
int
是
用户ID
Content
nvarchar
是
内容
Point
int
是
积分
GPoint
int
是
额外积分
UTF
tinyint
是
操作类型
CreatTime
datetime
是
时间
系统展望模块的详细设计
系统展望模块主要是针对后期同学录系统的功能扩展而开发的,对用户的每次操作我们进行了一定的积分
制度
关于办公室下班关闭电源制度矿山事故隐患举报和奖励制度制度下载人事管理制度doc盘点制度下载
,这里积分值预留到以后系统游戏功能等的扩展方面。更好地增强整个系统的粘性。
第五章 系统测试及运行结果
5.1系统测试
测试是软件生存期中一个独立的、关键的阶段,也是保证软件质量的重手段。测试阶段的目标是为了验证各阶段所完成的工作是否满足需求分析和详细设计要求,识别出期望的结果和真正结果之间的差别,以便修正系统设计和代码实现中的潜在的错误,保证系统运行的正确性和功能完备性,提高系统运行的性能。
软件测试方法一般分为两种:白盒测试与黑盒测试。其中,白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,着重于程序的内部结构及算法,通常不关心功能与性能指标。黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,实际上是站在最终用户的立场上,检验输入输出信息及系统性能指标是否符合规格有关功能需求及性能需求的规定。
由于本系统是基于Web的SNS同学录系统,因此系统中涉及到用户的手动操作,以及界面上的实际显示效果,要想使用自动测试不是很容易。因此我们对于系统测试仍然采用传统的人工测试为主。由于这部分是直接与用户打交道的,因此如果出了bug用户第一眼就能发现,而且拥有用户反映错误的功能,所以这部分的测试相当重要,但是有了用户共同来发现系统错误并通过系统留言,系统维护人员及时发现错误并修正,会让系统更加稳健,因此这里就不再进行系统测试的详述了。
5.2 运行结果
5.2.1 班级模块的运行结果
图5.1创建班级演示图
班级的创建页面,按照步骤进行班级的创建,这里我们可以选择班级的主题类型,可以选择班级所在学校专业、班级公共,班级是否对外开放等信息。[11] [12]
图5.2上传班级徽标演示图
第二步:班级头像的上传,这里我们选择一个班级的logo徽标来作为本班的标志符。
图5.3邀请班级成员演示图
第三步:邀请好友加入你所创建的班级,下面会列出你所有的好友列表,然后点击发送邀请就可以发送你的邀请附言到好友的邮箱中,邀请好友参与到你所创建的班级中。[11] [12]
进入班级页面:
图5.4班级首页演示图
进入你所创建的班级,在班级首页中就可以看到你所创建的班级信息,班级好友等信息。
5.2.2相册模块的运行结果
相册模块分为个人相册模块和班级相册模块两部分
个人相册部分:
图5.5上传照片演示图
创建个人相册部分,创建属于自己个人的相册,可以设置相册浏览的权限。
图5.6创建相册演示图
这里你可以看到好友的相册,也可以上传照片到你的个人相册中。
图5.7个人相册演示图
这里是个人相册部分,可以进行相册信息的编辑,照片的上传等等。
班级相册部分:
图5.8班级相册演示图
在这里不再累赘,班级相册创建与个人相册创建类似。
5.2.3班级BBS模块的运行结果
图5.9班级BBS模块演示图
进去班级BBS讨论区进行帖子的发布回复等操作,对于班级创建者和管理员,可以进行帖子的删除,编辑等操作。
5.2.4投票模块的运行结果
图5.10我的投票演示图
这里包括两部分:(1)我发起的投票部分(2)我参与的投票部分
图5.11热门投票演示图
图5.12发起投票演示图
投票模块完成对投票的发起,投票的评论等操作,增强ASP.NET同学录的互动性。
5.2.5内置信箱模块的运行结果
图5.13发邮件演示图
站内私信的发送:完成对私信的编辑发送。
图5.14邮箱通知模块演示图
得到系统信息:得到系统信息有好友添加,好友在个人空间活动等所产生的消息。
图5.15发件箱模块演示图
个人发信记录:得到个人所发送过的私信信息。
图5.16收件箱模块演示图
个人收信记录:得到从好友处发送过来的私信。个人可以对好友的私信进行管理,删除,回复等操作。
个人信箱模块完成对站内私信的发送收取,好友动态的获取等操作,增强ASP.NET同学录的互动性。
5.2.6后台管理模块的运行结果
图5.17后台管理首页演示图
后台相册的管理,对所有相册的查找,修改删除等操作。
图5.18后台相册管理模块演示图
后台照片管理,对照片的查找,删除,编辑等操作。
图5.19后台学院管理模块演示图
学校院系管理,完成对学校院系的查找,编辑,删除等操作。
图5.20后台大学管理模块演示图
对学校的添加,修改,编辑管理页面。
对班级的管理:
图5.21后台班级管理模块演示图
完成对班级群组的查询、编辑、删除等管理操作。
图5.22后台邮件系统模块演示图
完成对系统信息的设置:包括邮件服务器的设置,是否开启会员注册功能,对邮件验证的设置,会员注册字符串和发送信息关键字的过滤,站内邮件通知设置,留言管理,系统管理员的管理等的操作。这里由于篇幅有限就不再累赘。
图5.23帮助管理模块演示图
帮助信息管理,让系统具有更好的扩展性,如果要添加新的帮助信息在这里就可以动态地添加,然后将帮助编号url放到指定的地方就可以看到帮助信息。这里主要完成对帮助的编辑等信息的操作。[10] [11]
第六章 总结与展望
6.1论文总结
论文全面系统地介绍了ASP.NET同学录的完成过程。本系统中还有不足之处,希望在以后的后续二次开发中能够进行该井。
论文详细介绍了ASP.NET同学录的各个模块制作过程,这次做论文的经历也会使我终身受益,我感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,那也就不叫论文了。希望这次的经历能让我在以后学习中激励我继续进步。不积跬步何以至千里,本设计能够顺利的完成,也归功于各位任课老师的认真负责和同学的互相帮助学习,使我能够很好的掌握和运用专业知识,并在设计中得以体现。这个毕业设计的经历也让我懂得责任心的重要性。
本文还介绍了SNS同学录系统的实现,详细阐述了系统的需求和系统目标,基于多层结构(USL-BLL-DAL等)的架构和功能模块设计,同时介绍了系统的主要功能模块和相关流程图。最后介绍了Ajax在本系统的运用和改善用户体验所做的工作。论文的主要内容如下:
1. 简单介绍了同学录系统的设计目标与实现目标。
2. 详细阐述了同学录系统的功能模块开发,开发背景与系统目标。
3. 介绍了企业信息库管理系统的实现。详细阐述了系统的背景和总体目标,基于表示层(USL)-业务逻辑层(BLL)-数据访问层(DAL)等的多层结构的框架设计和功能模块介绍及其实现。
4. 最后总结了论文所做的所有工作,并且指明了下一步的改进工作。
6.2 工作展望
当然,ASP.NET同学录系统中还存在着许多的不足,我们将对它进行进一步的完善和改进:
1. 后台管理系统的界面比较简单,因此在新一轮的迭代开发测试中,对原有的界面设计进行进一步的改进。
2. 系统的扩功能需要改进。虽然采用了多层架构可以方便地扩展,但由于快速开发,在代码中直接使用了SQL语句进行操作,降低系统的性能,存储过程可以改进这个缺陷。
3. 网站拓展功能较少,在后续开发中可以依据积分表进行拓展开发娱乐模块等。
4. 系统的维护工作,以及文档的完善。
5.代码的优化。
参考文献
[1] 能向群. Web2.0 时代的网络传播[J]. 河北大学学报(哲学社会科学版)2006,31(128):130-131
[2] 朱金昌,时启亮.SNS网站赢利模式分析[J]. 经营战略:31
[3] 郑宇钧、林琳. 当校园SNS照进现实[J].广东技术师范学院学报,2008(3):29-35
[4] 郑诗田.交互网站盈利模式研究[J].生产力研究,2008(9):9-11
[5] 詹恂、古玉立.我国校园SNS受众媒介使用的调查[J].新闻界,2008(3):48-51
[6] 熊羽、武法提. 提高网络学习社区黏度之策略研究[J]. 现代教育技术,2008,10(18):73-76
[7] 汪孝宜,胡海璐,米海生. 信息系统开发实例精粹[M]. 北京:电子工业出版社,2005
[8] 薛华成. 管理信息系统(第四版)[M]. 北京:清华大学出版社,2007
[9] 张海帆. 软件工程[M]. 北京:人民邮电出版社,2004
[10] 王珊,陈红. 数据库系统原理教程[M]. 北京:清华大学出版社,2008
[11] 宋维科. Dreamweaver使用教程[M]. 北京:北京航空航天出版社
[12] Christian Nagel. C#高级编程(第四版)[M]. 北京:清华大学出版社,2005
[13] 赵政文. 基于Ajax引擎的web开发研究[J]. 科学技术与工程, 2007,(7): 6236~6240.
致 谢
本研究及学位论文是在我的导师刘昆宏老师的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。刘老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向刘老师致以诚挚的谢意和崇高的敬意。我还要感谢在一起愉快的度过毕业论文小组的同学们,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。
在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!最后我还要感谢厦门大学对我的精心培养
最后,再次对关心、帮助我的老师和同学表示衷心地感谢!。