版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文(设计)题目基于.net的同学录管理系统及APP设计目录1系统概述 11.1课题研究目的及意义 11.2国内外的研究现状 11.3可行性分析 21.4应用技术 21.5系统简介 42需求分析 42.1技术要求 42.2功能需求 42.3性能需求 53.系统设计 63.1系统设计原则 63.2管理系统流程 73.3数据表设计 83.4功能模块设计 133.5APP设计 174系统实现 194.1系统框架介绍 194.2页面展示 214.3提高系统并发度解决方案 284.4提高系统运行效率 285结束语 285致谢 296参考文献 29基于.net的同学录管理系统及APP设计摘要:计算机技术的发展改变了人们的生活和交际方式,在手机通信高度发展的今天,传统的同学录日益退出历史的舞台。为了给身在各地的同学提供一个相互联系的平台,顺应时代的发展,设计了基于ASP.NET技术的同学录系统以及客户端App。管理系统的设计开发采用了使用广泛的.net技术,APP应用基于wp8平台,使用的是silverlight技术。系统开发工具为:VisualStudio、blend,数据库使用SQLSEVER2008,web系统使用ADO技术实现对数据库的链接与操作,App应用使用webservise实现对数据库的操作,本文分析了系统的开发流程、系统需求、系统设计、系统实现等。关键字:VisualStudio2010;Blend;SQLServer2008;ASP.NET;同学录1系统概述1.1课题研究目的及意义随着我国互联网发展呈现快速增长趋势,交流社区应用也被广泛接受,拉近了在日益封闭的互联网时代人们的距离。同学录系统以及应用以用户体验为核心,将用户真实的信息反映在社交网络上。计算机和信息技术的发展很大程度上改变了人类的生活和交际方式,各个行业都不同程度的应用了计算机技术,对行业的发展起了很大的推动作用。相比传统的同学录,基于网络的同学录系统克服了更新困难、消息滞后等种种弊端,为班级同学了交流提供了一个新的平台,可以增进同学之间的感情以及与母校的感情。智能手机的普及为APP发展提供了市场同时用户越来越注重用户体验,App与传统系统数据互联可以方便用户查询数据,同学录App可以一定程度上满足用户的需要。1.2国内外的研究现状当前世界上林林总总的同学录系统大概有28万多个,虽然普及度不高,但是也占有一定地位。目前存在的同学录大致有以下几类:(1)从是否收费来看,有免费的也有收费的,其中以免费的占多数,比如网易同学录、友联同学录都是免费的同学录,而超级校友录就是收费的同学录。(2)按提供服务的网站划分,国内的同学录,主要还是被有一些知名度的网站占据,目前主要以人人网、ChinaRen和QQ校友等知名网站占据,这三个同学录各有优势,都拥有一定量的用户,经营状况良好,在众多的同学录系统中人气最高,在高校中人人网的使用很普遍,活跃度很高。还有一些高校的校网上也会提供同学录服务,如西北大学校友录,当然,也有一些专门的同学录网站,如世纪同学录。其他一些大型的综合门户网站的同学录也占有一定份额如新浪、网易等。而对于windowsphone平台的同学录APP,目前来说还没有相应的应用,如果能够在同学之间推广开来,或许能获得成功。1.3可行性分析(1)技术可行性:本web系统由A和数据库构建而成。A技术已经非常成熟,数据库技术经过多年的发展也日益的完善,因此此结构能满足系统的稳定性及各功能的需要。App应用主要使用silverlight技术,silverlight经过多年的发展,目前已经逐步得到推广,技术日益完善,应用越来越广泛。(2)经济可行性:同学录web系统是将传统的同学录计算机化,系统界面做的尽量友好、美观大方,数据处理尽可能高效,为用户提高优秀的服务体验,在这里,你可以方便的找到你的同学,你的班级,关注班级动态,发布班级公告,不管毕业多久,都能感觉到班级始终是一个整体,而对于手机版App更是进一步拉近了同学之间的距离,可以随时随地的在智能手机上查看同学信息、公告等,简单方便。正因为同学录有如此方便快捷的功能,相信同学录系统取代传统的同学录指日可待1.4应用技术AASP.NET的前身为ASP,ASP.NET是一个已编译的、基于.NET的Web应用程序开发环境,可以用任何与.NET兼容的语言,如VisualBasic.NET、C#和JavaScript等开发Web应用程序。【1】打开vs2010点击新建项目,选择空应用程序就可以新建项目。ADOADO.net是.net中来向数据库提交执行SQL语句的一堆类。运用该技术可以实现对数据据的增删改查等操作。本课题应用的ADO技术主要是实现对sqlsever2008数据库的访问,利用ADO封装好的类直接实现对数据库操作,示例代码:publicstaticDataSetGetDataSet(stringSQLString){using(SqlConnectionconnection=newSqlConnection(connectionString)){DataSetds=newDataSet();try{connection.Open();SqlDataAdaptercommand=newSqlDataAdapter(SQLString,connection);command.Fill(ds,"ds");}catch(System.Data.SqlClient.SqlExceptionex){thrownewException(ex.Message);}returnds;}}三层架构三层架构(3-tierarchitecture)通常意义上的三层架构就是将整个业务应用划分为:界面层(UI)、业务逻辑层(BLL)、数据访问层(DAL),如果把sql语句都写在界面中(UI),对于大项目比较难以维护,三层架构是企业开发中常用的模式,把界面、业务逻辑、数据库访问分离。三层架构解决的是不把SQL语句直接放在界面层,把sql语句卸载数据访问成即DAL中方便系统维护和增加复用性。界面层(UI):就是能够给用户看到的界面。业务逻辑层(BLL):根据界面的需求,把业务逻辑放在该类中处理,对数据库的操作调用DAL中的方法。。数据访问层(DAL):把数据库的访问操作,如增加、删除、修改,都封装在DAL中。IIS为了能够让系统在本地运行起来,方便调试,需要将程序在本地IIS上部署,首先要在IIS上新建与应用程序一致的应用程序池,本web系统是基于.netframework4.0的,因此在新建应用程序池的时候选择.netframework4.0集成环境,然后把系统的根目录路径添加到网站下,引用之前建好的程序池,这样系统就可以在本地运行了。1.5系统简介开发本系统的宗旨是为同学们提供一个良好的同学录系统,满足联系需要,保护用户隐私安全,提供友好的交互界面,快速查找用户,提供更改密码,找回密码等基础功能,在这里,可以发布班级的最新活动,也可以给班级留言,用户之间也有多种交流的方式,如留言或者发帖,使大家彼此相互了解,增强感情、学生与学校之间的联系,在Internet网上,使同学录成为同学之间联系最方便的桥梁。在这里大家可以交流自己的最近的所得所失,生活感悟,放飞心灵,也是一个展示自我的平台。为了满足同学联系的日常需要,系统为普通用户提供了用户登陆功能,密码找回功能,查询班级同学,发布班级公告,班级留言,好友留言,上传照片,权限功能:普通用户具有使用的基本功能,管理员具备审核功能,审核班级成员,审核班级留言,以及审核班级公告等功能2需求分析2.1技术要求本项目建设要采用先进的.NET架构;采用多层B/S应用结构体系,表示层、业务层、数据库访问层分开;支持主流的数据库系统;具有良好的安全性;提供良好的可扩展性和容错性。2.2功能需求用户注册:用户注册是系统的基础功能,在用户注册页面注册的用户默认都是普通用户,注册页面比较简洁,只需要用户填写用户名,和密码,在注册时候要验证是否已存在该用户名,如果存在,提示错误,同时对用户输入的密码进行校对,如果两次输入的密码不一致,在浏览器端进行验证,提示错误,为防止恶意注册,系统后台动态生成验证码登陆:由于同学录系统存在留言、评论、论坛和上载照片等功能,使用这些功能必须拥有该用户的信息,用户登陆功能是必不可少的,用户登陆主要是验证的信息是否正确,验证该用户是否为合法用户。只有合法用户才能进入此系统。管理个人资料:对于新注册用户,登陆系统第一步要做的工作就是完善个人资料,因为系统的很多功能都是建立在用户资料的基础上,在完善个人资料的时候可能会遇到尚未建立的班级,因此,用户需要建立该班级,点击新建班级按钮可以弹出对话框建立班级,建立成功后关闭对话框并刷新页面。发布公告:对于班级活动情况,以及班级事项需要发布,可以在发布公告页面发布,班级同学可以查看本班级的公告,活动板块主页展示公告名称,发布人,发布时间,点击公告名称可以查看公告内容,公告内容在新窗口展示,主要显示详细内容,包括标题,内容,所属班级,发布人,发布时间等信息,本系统本着开放的原则,所有用户都可以发布公告。班级留言:一些不是很紧急的事,不必在公告栏中显示,于是用户可以在班级空间发表留言,方便同学之间的交流,提升班级活跃度,所有用户都可以发表和查看留言,用户可以在自己的个人空间板块管理和查看自己发表过的留言,留言板主要展示用户头像,留言者姓名和留言时间,用户还可以匿名留言,留言的展示安时间顺序展示,最新的留言展示在最前面。个人空间:为使系统更具友好性,系统可以为每位用户提供私人空间,空间主要展示,登陆信息,个人留言信息,以及该空间最近访客,可以查看发表过的留言,发表过的通知信息,别人查看空间时可以查看该用户留言,以及该用户的留言信息,可以匿名留言和署名留言。论坛:论坛功能可以对一些共同话题的讨论,实现聊天的功能。用户可以直接讨论,充分体现交流方式的实时性。论坛内容比较丰富,自由的空间可以让用户尽情遨游。角色:系统主要面向学生,为此本系统角色主要分为普通用户,以及管理员,普通用户在系统前台注册产生,管理员身份不提供注册功能,由系统开发这提供,管理员可以登录系统后台,管理本班级的同学信息,本班级的留言信息和通知信息,对一些不相符的内容删除掉。权限控制:在未登陆的时候只能展示首页的信息,其他板块内容只有在登陆的时候才能查看,用户可以删除自己空间留言,不可以删除班级留言,对于自己的发表的班级留言,班级通知可以删除。搜索功能:可以按学生姓名对班级和学校搜索。后台管理:管理员可以登陆后台管理系统,对用户的信息进行维护,对一些恶意注册的用户进行删除,对一些恶意发言和谐掉,使系统信息具有正确性和积极性,为同学们创造一个和谐的网络环境2.3性能需求界面设计友好和谐,美观大方,用户操作直观,方便。采用三层架构和体系结构,充分考虑到系统今后纵向和横向的平滑扩张能力。系统功能运行稳定,无报错,数据安全。能较快速度运行,查询效率较高。模块化实现各个分支功能,便于维护与修改。网页主要采用Div+CSS布局,尽量减少一些绝对参数布局,整个页面的颜色色调要统一和谐。出错处理:对于非法数据的验证尽量在客户端通过javascript验证,这样可以减轻服务器端的压力,并且提供错误提示。要有预见性的处理一些可能报错的细节,并相应地给出解决方案。3.系统设计3.1系统设计原则(1)开放性原则首先,系统设计要满足开放标准,技术产品的选择更要满足开放标准。其次,在这个系统之上所搭建的各子系统又要保持相互独立,业务子系统可根据用户方未来业务的需求而灵活的改变,满足业务系统今后进一步扩展的需要。(2)安全性原则在系统的设计过程中要充分从业务需求、运行环境、系统用户等诸多方面考虑安全性要求,安全体系应该是一个多层次、多方面的结构。为保障本系统的安全运行,本系统建成后应具有良好的安全性,能够对使用者进行验证、授权、审核。(3)稳定性原则要想保证系统运行的稳定性,使系统运行风险降至最低,就要在方案设计和技术实现等环节充分保证整个系统平台能够可靠稳定地运行。包括完善的安全保障措施和故障恢复能力,在系统架构设计时,要充分考虑系统的稳定性。(4)兼容性原则本系统与涉及用户面广,系统要必须紧密衔接,构成一个整体,所以应对已有系统和用户的进行全面考虑,做到与现有业务与数据的兼容。(5)先进性原则项目的设计基于成熟的先进技术,在信息技术、软硬件产品及应用功能的构造上考虑到本系统近期及未来几年内的发展趋势,使建设后的系统具有较长的生命周期。(6)规范性原则在网络设计、操作系统和数据库开发设计等各个过程都应当遵循国际或行业的通用标准,以及我国的各项技术规范。(7)经济性原则在满足当前需要和未来发展的前提下,强调本系统搭建的经济性,在能够满足当前和未来发展需求的前提下,尽可能地降低系统成本,最大可能地提高系统的性能价格比。3.2管理系统流程根据用户需求分析,按照用户需要功能的不同将web网站分为两个子系统,一个为前台访问系统,二是后台的管理系统。层级结构如下:前台系统:前台主要功能包括:注册,登录、显示最新注册班级及用户信息、班级留言,访问统计,班级管理,班级生日提醒,显示用户信息,自动友情链接等功能图1:前台系统流程图后台系统:后台系统主要实现的是一些管理功能,如用户管理、用户信息管理、班级管理、论坛管理以及一些留言公告的管理。对每个班级的管理员来说,只能管理本班级的特定数据,管理员不能查看涉及用户的隐身数据,例如登陆密码,个人空间留言,但是可以对用户发表的班级留言,班级通知,用户信息进行审核,对不正确的信息进行修改,维护班级信息。图2:后台系统流程图3.3数据表设计数据库的设计是系统设计的重要环节,一个好的设计可以大大提高编程效率,为防止因数据表结构的变化大量修改代码,因此应该在认真分析用户需求的基础上全面设计数据表,尽量减少数据表的改动[5]。以下是同学录的数据表结构:图3系统基本E_R图3.3.1用户表T_User用户表主要是在注册帐号的时候用户需要完善的一些基本信息和系统信息表一:用户表字段中文名字段名字段类型备注用户唯一标识UserGuidnvarchar(50)主键自增行号Row_IDint标识注册用户名UserNamenvarchar(50)密码Passwordnvarchar(50)角色IDRoleIDint关联角色表用户真实名TrueNamenvarchar(50)用户创建时间CreateTimenvarchar(50)上次登陆时间ProLogTimenvarchar(50)头像GuidHeadPicGuidnvarchar(50)关联图片表访问本站次数VisitNumint3.3.2用户信息表T_UserConts用户信息表主要存放一些用户的联系信息,用UserGuid字段与用户表进行关联表二:用户信息表字段中文名字段名字段类型备注用户信息唯一标识UserInfoGuidnvarchar(50)主键自增行号Row_IDint标识用户唯一标识UserGuidnvarchar(50)关联用户表字段地址Addressnvarchar(50)固定电话TelePhonenvarchar(50)移动电话MobilePhonenvarchar(50)QQQQnvarchar(50)电子邮件Emailnvarchar(50)班级唯一标识ClassGuidnvarchar(50)关联班级表字段所在公司CompanyNamenvarchar(50)家乡HomePlacenvarchar(50)现所在地NowPlacenvarchar(50)生日Birthdaydatetime3.3.3班级表T_Class班级表主要是划分用户所在班级,已经一些班级信息,包括班主任的信息学生与班级之间是一对多的关系表三:班级表字段中文名字段名字段类型备注班级唯一标识ClassGuidnvarchar(50)主键自增行号Row_IDint标识班级名ClassNamenvarchar(50)班主任HeadTeacherNamenvarchar(50)班主任电话TeacherPhonenvarchar(50)班主任邮箱TeacherEmailnvarchar(50)班主任QQTeacherQQnvarchar(50)创建时间CreateTimedatetimeDateTime.now3.3.4班级留言表班级的留言信息存放在班级表当中,班级与留言是一对多的关系,在添加留言的时候,无需用户手动添加留言者姓名,以及留言时间,在后台取当前登陆用户的用户名,时间取当前时间。表四:班级留言表字段中文名字段名字段类型备注留言唯一标识MsgGuidnvarchar(50)主键自增字段Row_IDint留言内容MsgTextntext班级GuidClassGuidnvarchar(50)关联T_Class表留言姓名WriterNamenvarchar(50)发表日期WriteDatedatetimeDateTime.now查看人数SeeCountint是否匿名IsNiMingnvarchar(50)3.3.5班级通知表根据对需求的分析,班级与通知之间也是一对多的关系,所以以NoticeGuid为主键,ClassGuid为外键关联班级表,发布者姓名,发布日期,查看人数,都是在CS文件中处理,是否匿名字段可以区分用户是否勾选了匿名复选框,重要级别用下拉框实现,不用用户手动填写。表五:班级通知表字段中文名字段名字段类型备注通知唯一标识NoticeGuidnvarchar(50)主键自增字段Row_IDint通知标题NoticeTitlenvarchar(50)通知内容NoticeTexttext班级GuidClassGuidnvarchar(50)关联字段发表者姓名WriteNamenvarchar(50)发表日期WriteDatedatetimeDateTime.now查看人数SeeCountint是否匿名IsNiMingnvarchar(50)重要级别[Level]nvarchar(50)3.3.6图片表主要存放用户的头像信息,把照片的服务器的路径存放在数据表当中表六:图片表字段中文名字段名字段类型备注图片唯一标识PicGuidnvarchar(50)主键自增字段Row_IDint图片名称PicNamenvarchar(50)图片地址PicUrlnvarchar(50)3.3.7角色表把角色的分类存放在数据表当中,主要是普通用户,管理员两种角色表七:用户角色表字段中文名字段名字段类型备注角色IDRow_IDint主键角色名称RoleNamenvarchar(50)3.3.8访客表记录每一位用户的访客信息,UserGuid标识用户,FangKeGuid标识访客表八:用户访客表字段中文名字段名字段类型备注标识IDRowIDint主键,自增用户GuidUserGuidnvarchar(50)访客GuidFangKeGuidnvarchar(50)访问时间FangWenTimedatetime3.3.9论坛主题表T_themes主要保存论坛的一些主题信息,包括发起人,发起时间等信息表九:论坛帖子主题表字段中文名字段名字段类型备注主题GuidThemeGuidnvarchar(50)主键主题Themenvarchar(50)内容ThemeTexttext发起人FaQiUserGuidnvarchar(50)关联用户Guid发起时间CreateTimedatetimeDateTime.now赞数量ZanCountInt查看人数SeeCountInt3.3.10论坛回复表主要保存论坛的回复信息,用ThemeGuid字段关联论坛表的ThemeGuid字段,论坛主题与论坛回复信息是一对多的关系。表十:论坛回复表字段中文名字段名字段类型备注回复唯一标识HuiFuGuidnvarchar(50)主键回复主题ThemeGuidnvarchar(50)关联主题表回复HuiFuTextnvarchar(200)回复人GuidUserGuidnvarchar(50)关联用户表回复时间HuiFuTimeDatetime取DateTime.now3.4功能模块设计把页面的内容模块化,制成用户控件,可以减少代码重复率,以及方便页面布局和调整页面。3.4.1登陆模版登陆模块主要放置用户名,密码输入框,以及一个登陆按钮,和一个找回密码超链接。登陆模块直接放在首页上,这样不用单独设计一个页面,而且用户在未登陆的情况下可以看到一些信息,登陆完成后,登陆模块隐藏,在这里,没有注册的用户可以点击注册按钮进行注册。已经注册过的用户则可以直接输入用户名和密码进行登录,在用户注册时,用户的密码是通过MD5算法加密存入数据库中的用户表中的,所以登录时,将用户输入的密码通过MD5算法运算后与数据库中的密码比对,如果相同,密码正确,则会进入系统查看跟多信息,同时将用户的一些主要信息存放在Session当中图4:登陆窗口3.4.2新闻通知模版新闻通知模版,主要用于展示校园新闻,以及班级通知等信息,用户可以发通知,以及查看通知等,可以匿名发表通知,为减少代码重复,把该模块制作成用户空间,该控件主要使用了的Repeater控件绑定数据源,为该控件添加一个DataSource属性,在调用该控件的时候只要把数据源以DataSet的形式赋值给该空间的DataSource属性即可展示通知信息,用户点击标题的超链接即可查看通知的详细信息,点击新增按钮可以新增班级通知,在新增页面,如果勾选匿名按钮可以匿名发表,可以有效满足一些个性化需求,在保存的同时关闭对话框,刷新控件内容,把最新的通知展示在最前面。对所有用户而言,每点击一次,更新一次数据库,把查看人数字段增加1。图5:通知模块图6:通知新增模块图7:通知查看模块3.4.3同学列表把用户在列表中显示出来,显示同学的主要信息,方便用户查找,该模块显示用户头像,用户姓名,已经经常用的一些联系方式,以及上次登陆时间和用户角色,主要使用DataList服务器端控件实现图8:班级好友展示模块3.4.4用户信息展示根据当前用户的登陆信息,把用户的相关信息从数据库当中取出来绑定到控件当中图9:用户信息展示模块3.4.5留言模块主要用于班级留言版,以及个人空间留言板,用户可以发表班级留言,以及在查看别人空间的时候对其发表留言 图10:留言模块3.4.6注册模块用户注册时要对用的信息进行验证,如果以存在该用户名,需要提示用户更改用户名,为防止用户密码的输入错误,需要输入密码两次,不一致也要提示,为在一定程度上防止密码泄漏,用MD5算法将密码密码存放于数据库当中用户密码用MD5算法处理publicstaticstringGetMD5(stringsDataIn){MD5CryptoServiceProvidermd5=newMD5CryptoServiceProvider();byte[]bytValue,bytHash;bytValue=System.Text.Encoding.UTF8.GetBytes(sDataIn);bytHash=md5.ComputeHash(bytValue);md5.Clear();stringsTemp="";for(inti=0;i<bytHash.Length;i++){sTemp+=bytHash[i].ToString("X").PadLeft(2,'0');}returnsTemp.ToLower();}3.4.7最近生日提醒模块根据当前的登陆用户信息判断所在班级,然后根据用户的出生日期情况计算生日情况,然后在页面上展示出来,提醒用户哪些人即将过生日,这样可以进一步提高同学之间的友谊。3.4.8完善个人信息模块对于用户信息需要修改的可以在该模块实现,为防止用户的恶意输入,需对用户的输入内容(包括国定电话,手机号码,已经电子邮箱)进行验证,在JS中通过正则表达式实现。对电子邮箱的验证代码如下:functionemailCheck(obj){varmyreg=/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;if(!myreg.test(obj.value)){alert('提示\n\n请输入有效的E_mail!');obj.focus();returnfalse;}}3.4.9论坛模块该模块主要实现贴子的发表,查看,回复等功能,为了是用户的帖子内容具有个性化,该模块主要使用了第三方控件CkEditor来实现3.5APP设计APP能够满足用户的一些简单需求,用户在智能手机客户端可以根据用户名登陆,查看个人资料,班级同学等功能在开发App过程中一定会涉及到如何与数据库打交道,在数据单一或者数据不多的情况下,可以将数据库存放到独立储存空间,但是,对于一些比较敏感、安全性比较高的数据,或者是海量的数据时,使用普通的文件存放机制就显得不足了,况且windowsphone8定位于网络操作系统,这就意味着众多的数据可以来自网络。使用网络数据可以为windowsphone7提供丰富,安全,完整的数据支持。当windowsphone8需要访问网络时,通常是通过一种类似网络代理的方式,而不是直接连接到远程网络上,无数是传送数据还是接收数据,windowsphone8应用程序都是通过异步的方式进行的,当应用程序需要访问和操作远程的数据库如sqlsever数据库时,就必须通过HTTP通知WebSevice或WCF服务,然后由服务器操作系统进行SQLServer数据库的访问和操作,结果以XML数据的形式返回[4]。图11windowsphone传送或者接收外部数据过程图登陆:在用户点击App应用时,应该弹出登陆窗口,该页面主要是两个输入框和登陆按钮,为页面美观,重写了一个类继承TextBox类,实现了水印效果,在点击登陆的时候,为提升用户体验,防止长时间不跳转用户以为死机的现象的发生,在点击登陆时弹出popup窗口显示正在登陆中,用户如果点取消可以停止登陆。导航页:为方便引导用户操作,在登陆完成后跳转到导航页面,如果用户在此页面点击物理按钮后退键则直接退出应用程序,而不是后退到登陆页面,因此要重写后退方法,在后退方法中调用exit()方法,代码如下:privatevoidExit(){while(NavigationService.BackStack.Any()){NavigationService.RemoveBackEntry();}//NavigationService.GoBack();}子页面:主页内容包括登陆信息,个人资料,以及个人留言板,同学一栏主要包括班级同学和校友用户可以根据姓名来查找,班级包括班级公告、和班级留言板,主要使用微软为提供的Pivot控件对上述模块进行分类,Pivot控件是一个视觉上可以转动,并可重复来回的一个特殊控件,它与Panorama控件组成WindowsPhone用户操作体验核心。图12:客户端子页面4系统实现4.1系统框架介绍4.1.1管理系统系统平台的搭建如下图所示:图13:web系统平台对数据库的访问主要通过数据库访问辅助类DbHelperSQL实现。App_Code中主要存放类文件,Asxx文件夹主要存放用户自定义控件,bin文件夹可以添加外部dll文件引用,css文件夹下主要css样式文件,Images存放用户上传到服务器端的照片,pages文件夹下分为Back:存放后台页面,front:前台页面。4.1.2APP应用图14:APP系统平台同学录APP对于数据库的访问是通过WebService实现的,右击引用选择添加服务引用,把已经在宿主网站的Web服务添加进来。调用web服务方法如下:ServiceReference1.WebServiceSoapClientser=newServiceReference1.WebServiceSoapClient();stringsql="select*fromT_UserwhereUserName='"+txtUserName.Text.ToString()+"'andPassword='"+txtPwd.Text.ToString()+"'";ser.GetDataSetCompleted+=newEventHandler<ServiceReference1.GetDataSetCompletedEventArgs>(ser_GetDataSetCompleted);ser.GetDataSetAsync(sql);4.2页面展示4.2.1web前台所有生成的页面都是都使用了模版页,模版页作为框架页使用一定程度上方便了界面的设计问题,但是也会带来一些问题,就是在判断是否登陆的时候是在每个页面后台实现的,所以是在页面已经跳转的时候判断的,不是在跳转前判断的,对同学录系统而言,功能不算太复杂,使用模版页已经可以满足需求。登陆页面用户在为登陆的时候可以看到的页面,该页面的校园资讯主要是用于展示一下校园新闻,人气之星主要是根据用户的登陆次数来判断的,登陆次数越多,显示的排名越靠前,页面还提供一些常用链接。图15:登陆首页个人主页 显示当前登陆信息,已经当前用户的个人资料,该用户的同学,已经最近好友生日等信息,用户点击注销按钮可以注销当前登陆信息,返回到登陆页面。图16:个人主页个人空间图17:个人空间班级主页图18:班级主页4.2.2后台后台只有管理员与超级用户可以登陆,默认超级用户只有一个就是开发者,管理员可以有多个,由超级用户分配,用户不可以自己注册,管理员维护数据的准确性,以及网站的和谐,超级用户提供技术支持,分工明确,在删除用户的同时,要删除用户联系表当中的信息,删除班级的时候,同步更新用户信息,把属于该班级的学生班级字段信息删除,删除该班级通知表当中的所有数据和留言表当中的所有数据,为方便操作,提高友好度,提供批量删除功能,排序功能,已经分页展示功能页面展示List页面图19:后台管理List页面ADD页面图20:后台管理ADD页面4.2.3APP应用图21:APP登陆页面图22:APP导航页面图23:APP个人主页图24:APP班级页面4.3提高系统并发度解决方案1、释放资源 当用户退出登陆的时候,释放服务器端的资源,销毁Session会话状态,减轻服务器端的压力。2、在IIS中控制连接数可以调整IIS应用程序池队列长度,修改注册表,调整IIS支持的同时TCP/IP连接数。实现软硬件负载均衡。4.4提高系统运行效率1、关闭视图状态HTTP协议在默认情况下是无状态的,也就是说默认情况下,每个请求对前一个请求一无所知。而引入视图状态来保存页面的状态,为最大限度的减少客户端与服务器端传送的有效载荷,在页面中将EnableViewState设置为True,通过设置ViewStateMode禁用页面的视图状态,然后有选择的为那些需要使用视图状态的控件启用(设置为Enabled)ViewStateMode。2、将JavaScript和CSS外部化将所有的JavaScript和Css放置在独立的外部文件中比放在aspx页面中更好,因为这样可以非常容易地对这些内容进行缓存。3大数据查询加索引如果查询的数据量过大,可以事先对查询条件加索引的方式来提高查询效率,SQLServer会自动为PRIMARYKEY约束和UNIQUE约束的字段创建唯一索引。但索引的建立不是越多越好,因为索引会占用磁盘空间,不必要的索引显然会只会形成浪费,而且索引多会对数据的增删改的数多会减慢。5结束语本文详细研究了基于B/S架构的同学录web系统以及手机客户端的实现,使用visualstdio2010、blend和sqlseveral2008开发工具,为使系统架构清晰明了,web系统运用了简单三层架构为基础的分层模式,并以此web管理系统为宿主网站为手机客户端提供webservice服务,在客户端项目中调用服务提供的接口。本管理系统主要实现了系统登陆、查看校园动态、查看我的主页、我的个人空间、校园主页、班级主页、班级留言、给他人留言、查看班级同学信息、搜索、论坛功能,以及管理员后台管理功能等。本系统设计的主旨是向用户传递真实有效的班级信息,同学信息,提高用户的互动性。但是此系统还有不足之处,代码模块化程度不高,执行效率有待提高,页面布局还可以进一步完善,系统功能细节的进一步完善。系统的成功开发与运行需要储备完善的知识体系,对自己来说,即是挑战也是一种学习,通过这个同学录系统以及APP的设计,使我对.net编程有了更深的了解。对VisualStudio2010的开发环境以及界面设计工具blend有了更加深入的了解,对ASP.NET相关开发技术了解更为全面,并且也学习了如何在智能手机上开发客户端程序,现在可以很熟悉的使用C#语言来开发程序,对网站的架构设计,IIS部署都有了一定的了解,对SQLServer数据库的操作也更为熟练。这次的系统设计培养了我思考并发现问题、查询资料、动手解决问题的能力。让我对自己的专业有了更深入的了解,提高了专业技能,整合自己所学的知识,使系统能够正常运行。5致谢在论文即将完成之际,我深深的地舒了一口气,无论本文的研究是否能够真正投入实用,我心中都充满了感激,特别需要感激我的论文指导导师王红林老师,他在我的毕业设计完成过程当中给了我巨大的帮助,细心指导和帮助我完成论文选题、设计创新、框架设计等各个方面,不仅在学术方面,王老师严谨的治学态度和谦虚、宽容的人品也深深的影响着我,激励我在探索真理的人生道路上不断前行。同时,感谢那些在课堂上认真授课的老师和那些在学习、生活上给与我鼓励和支持的小伙伴们,生活中正是因为你们的存在,才会变的如此丰富多彩,在这里我由衷地祝愿你们未来更加美好。6参考文献[1]
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乡村振兴建筑策略-第1篇-洞察分析
- 隧道衬砌新材料应用-洞察分析
- 水资源利用潜力分析-洞察分析
- 顺铂药代动力学分析-洞察分析
- 用户行为与安卓应用可用性关联研究-洞察分析
- 二零二五年度房地产公司股权分割合同3篇
- 2025年中统休闲旅游男袜项目投资可行性研究分析报告
- 四年级数学(除数是两位数)计算题专项练习及答案
- 2025年开胃酒项目可行性研究报告
- 四年级数学(四则混合运算)计算题专项练习与答案汇编
- 2024年萍乡卫生职业学院单招职业技能测试题库标准卷
- DB32-T 4444-2023 单位消防安全管理规范
- 临床三基考试题库(附答案)
- 人员密集场所消防安全管理培训
- JCT587-2012 玻璃纤维缠绕增强热固性树脂耐腐蚀立式贮罐
- 典范英语2b课文电子书
- 员工信息登记表(标准版)
- 春节工地停工复工计划安排( 共10篇)
- 新教材人教版高中物理选择性必修第二册全册各章节课时练习题及章末测验含答案解析(安培力洛伦兹力电磁感应交变电流等)
- 初级养老护理员培训全套
- 危重病人抢救登记表
评论
0/150
提交评论