首页 本科毕业论文 软件工程

本科毕业论文 软件工程

举报
开通vip

本科毕业论文 软件工程 本  科  毕  业  论  文 Asp.net同学录系统 ASP.NET Classmate System Online 姓      名:  学      号 学      院:软件学院 系:软件工程 专      业:软件工程 年        级:2006级 指导教师: 二〇一〇 年 六 月 摘 要 目前,经济发展迅猛,人们的压力也越来越大,以致把大多数的时间都投入在工作上,往往就会淡忘以前的生活。学生时代是梦想最多的时代,感情最纯真的时代,在那时,我们都会遇到很多不同的人,也交了很多知己。但是一走上...

本科毕业论文 软件工程
本  科  毕  业  论  文 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. 致 谢 本研究及学位论文是在我的导师刘昆宏老师的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。刘老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向刘老师致以诚挚的谢意和崇高的敬意。我还要感谢在一起愉快的度过毕业论文小组的同学们,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。     在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!最后我还要感谢厦门大学对我的精心培养 最后,再次对关心、帮助我的老师和同学表示衷心地感谢!。
本文档为【本科毕业论文 软件工程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_882336
暂无简介~
格式:doc
大小:1MB
软件:Word
页数:46
分类:生活休闲
上传时间:2017-09-20
浏览量:173