动态门户网站设计与实现.docx
《动态门户网站设计与实现.docx》由会员分享,可在线阅读,更多相关《动态门户网站设计与实现.docx(47页珍藏版)》请在冰豆网上搜索。
动态门户网站设计与实现
广东学院
毕业设计(论文)
题目名称:
动态门户网站设计与实现
开题日期:
2014年09月03日
设计期限:
2014年09月04日至2014年10月31日
答辩日期:
2014年12月11日
院系:
指导老师:
**老师
学生姓名:
摘要
随着.net技术平台的逐渐成熟和完善,基于.net的Web应用开发日益增加。
本文采用了一种基于ASP.net框架,.netFramework4.5组件技术的Web应用开发环境,设计并实现了一个电影门户网站。
本网站采用三层架构(3-tierapplication)来实现,即表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
区分层次的目的是为了实现“高内聚,低耦合”的思想。
本网站具有以下优点:
采用三层架构的思路,功能模块和显示模块的分离,提高了系统的可维护性、可拓展性、可移植性和控件的可复用性。
本网站主要实现的功能有:
用户注册、登录、修改信息、提供最新电影资讯、为用户提供电影信息浏览、记录用户观看电影记录、帮助用户收藏电影、提供各用户观看后评论浏览、电影分类展示、进论坛讨论、在线看视频、联系管理员等。
关键词:
ASP.net,SQLServer,Div+Css,自定义用户控件,通用类,三层架构
第一章前言
自从电影出现后,电影一直是人们生活中的主要消遣娱乐方式之一,这无疑推进了电影行业的发展,特别是电视和电脑的出现,让人们再不需要去电影院排队买票,能够任意选择播放自己想看的电影,使得电影变得更加平民化、大众化。
然而随着时代的发展,社会的不断进步,人们对于精神享受方面的要求也在不断提高,而这对于电影这一娱乐行业来说既是一个机遇也是一个挑战。
随着Web2.0时代的到来,网络技术的逐渐发展,技术逐渐成熟,网上观看电影的环境逐步得到了大众的认可与喜爱。
实现了在线看电影的功能多样化,以及除最基本的对外沟通展示、电影信息发布功能、在线搜索收藏功能、电影展示功能、在线用户服务功能、在线后台管理功能等等外,网络环境的优化,也大大地提高了在线电影的高效运作。
本系统的开发主要是由前台和后台管理,实现用户能够方便地进行用户登录注册,搜索书籍,并可以将满意的电影加入收藏表或直接观看。
用户观看完电影后,可根据自己观看后的想法对电影进行评价。
而管理员可以对电影的信息进行维护与管理,包括对现有电影信息的修改、新电影信息的加入、部分电影信息的删除等;对电影类型的添加、删除、编辑;对新闻的添加、删除、编辑;对用户信息的添加、删除、编辑以及对管理员的添加、删除、编辑。
第二章系统的开发平台、开发工具
2.1.开发工具
本系统的开发平台是:
VisualStudio2012;
本系统采用的语言为:
HTML+CSS+C#+ASP.NET;
数据库:
SQLServer2012;
使用该技术的原因:
执行效率大幅提高、世界级的工具支持、强大性和适应性、简单性和易学性、高效可管理性
2.2.运行环境
为确保系统运行的效率和可靠性,服务器端应具有较高的软硬件配置,客户端的要求不需要很高。
此应用程序可广泛运行于Internet,也适用于内部的局域网。
客户端:
WindowsXP或以上版本IE6.0以上版本
服务器端:
WindowsServer2003或以上版本
数据库:
SQLServer2012,运行于服务器端
服务器:
CPU要求PIII800以上,内存1G以上
客户机:
CPU要求1GHz以上,内存1G以上
第三章系统分析
3.1.系统需求分析
3.1.1.电影网站功能内容
电影网站
电影管理
添加电影、修改电影、删除电影
用户管理
添加用户、修改信息、删除用户
电影查询
查找电影、观看电影、浏览评论
播放记录
添加记录、浏览记录、删除记录
收藏电影
添加收藏、浏览收藏、删除收藏
系统维护
基础信息管理、数据管理、
3.1.2.系统技术可行性和性能分析
本系统采用ASP.NET程序架构,这是一种建立在通用语言上的程序架构,能被用于一台Web服务器来建立强大的Web应用程序。
ASP.NET提供许多比现在的Web开发模式强大的优势。
ASP.net是把给予通用语言的程序在服务器上运行。
不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时编译,这样的执行效果,当然比一条一条的解释强很多。
ASP.net构架是可以用Microsoft(R)公司最新的产品VisualStudio.net开发环境进行开发,WYSIWYG(WhatYouSeeIsWhatYouGet所见即所得)的编辑。
这些仅是ASP.net强大化软件支持的一小部分。
因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。
通用语言的基本库,消息机制,数据接口的处理都能无缝地整合到ASP.net的Web应用中。
ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#,VB,J#。
将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整地移植向ASP.net。
ASP.net使运行一些很平常的任务如表单的提交,客户端的身份验证、分布系统和网站配置变得非常简单。
ASP.net使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。
因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。
这种被称为“ZeroLocalAdministration”的哲学观念使ASP.net的基于应用的开发更加具体,和快捷。
一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须的文件,不需要系统的重新启动,一切就是这么简单。
多处理器环境的可靠性ASP.net已经被可以设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。
即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP却做不到这一点。
总结以上的技术优点,所以本系统拥有:
执行效率大幅提高、世界级的工具支持、强大性和适应性、简单性和易学性、高效可管理性。
3.2.非功能性需求分析
界面设计美观有好,信息查询灵活、方便、快捷、准确,数据存储安全可靠;全面展示商城内所有商品,并可以展示最新商品;实现网上购物;商品销售排行,方便客户了解本商城内的热销商品及帮助领导者做出相应的决策;查看商城内的帮助信息;系统最大限度地实现以维护性和易操作性;系统运行稳定、安全可靠。
3.3.系统目标分析
3.3.1.系统设计近期目标
主要适用于大众的需求。
主要基于以下各功能来实现的:
1为客户提供24小时方便快捷的在线浏览并订购业务;
2电影信息的维护与管理,包括现有电影信息的修改、新电影信息的加入、电影信息的删除等。
3高效的产品数据方案,对电影进行科学、灵活地分类、存储,方便客户迅速从众多的电影中找出自己所需的电影。
4收藏表管理,用户可以选择自己心仪的电影放进收藏表里,还可以进行修改等操作。
5用户可以登录系统进行注册和修改基本信息。
6评论系统和视频系统,用户可以浏览别人对该电影的评价决定看不看电影,还可以对观看过的电影进行评价功能。
3.3.2.系统设计长远目标
1提高安全性,防止黑客攻击,增强后台维护功能,对相关数据进行加密,对管理人员进行权限分级,保证系统的安全、可靠。
2完善模块化设计,使系统具有良好的可扩充性,适应发展需要,便于后来者分析、维护。
3完善社区功能,实现多功能、多模块的客户集散地。
4使用新技术,美化界面,提高人性化水平。
5优化关键字,进行SEO优化。
3.4.总体设计思想
本网站的开发适合大学院校使用,是一个网上电影观看系统,构建一个集群的网上电影门户网站,一个电影分享平台,让用户可以在网上轻松、快捷、方便地浏览查找自己需要的电影信息。
进行用户登录注册、修改信息、收藏电影、观看电影、评论电影等活动。
网站使用ASP.net为架构,用户通过网络可以方便地在网上进行观看电影,而管理员可以完成对网站的设置及数据库的管理和维护。
管理员需要通过登录进入后台管理系统,后台管理系统包括修改管理员信息、注销用户、更新产品信息、找回密码等功能。
是一个不可或缺的系统。
3.5.系统结构设计
本网站是电影门户网站。
跟传统的B/S架构明显不一样,是典型的C/S架构,面向Internet上的Web应用,从总体上看本网站的系统架构如下所示:
图3-3本网站系统架构
3.6.系统功能分析
3.6.1.用户对系统功能的需求
对于用户来说,他们在本网站中需要能注册并登录才能在系统中建立属于自己的资料库,得到更多的功能支持。
登录上后要能对用户自己的信息进行适当的修改,要能搜索到自己需要的电影并可以进行收藏和播放,对于搜索到的电影网站要进行适当的说明,让用户进行初步的了解,对于观看过的电影,网站需要提供用户能对其进行评论的权利,此外网站还有个帮助用户快速找到自己的操作记录。
图3-1普通用户功能设计
1用户注册:
只有接受本网站条款并填写注册信息的用户才能在系统中记录观看记录、添加并查看收藏记录、对观看后电影进行评分。
2用户登录:
登录时系统会提示是否存在这个用户或密码正确与否,正确登录后系统会记录用户登录信息、从数据库调取相应用户信息并给予用户相应权限。
3注销用户:
注销后,本次登录的用户身份使用结束,取消继续修改数据库相应数据的权利。
4查看最新电影资讯:
浏览网站提供的最新电影信息。
5分类浏览电影:
按相应的电影类型浏览查找电影。
6搜索电影:
按特定字段从数据库查找信息。
7浏览评价:
在决定是否观看电影时可先浏览其他已经观看过这一电影的用户对该电影的评价,帮助决定值不值得看。
8看电影:
在找到想看的电影后,点击观看按钮,进行电影观看。
9浏览观看记录:
每次观看电影,系统都会在数据库留下相应记录,当用户想找到以前观看的电影时,不用苦苦思索,直接在这里就能找到。
10继续上次观看:
每次观看电影,不止会留下观看的电影信息,还能记录观看的时间,所以对于因各种意外而不能网址观看的用户,可以在上次的基础上继续观看。
11修改观看记录:
有些观看记录如果用户觉得没必要存在,可以直接删除,有些记录会在用户继续观看后,进行实时修改。
12浏览收藏表:
查看之前因为各种原因而不能进行观看但又想看的电影信息。
13添加、删除收藏:
对于想看而暂时不能看的电影进行预定保存,对于不想看的收藏电影进行删除操作。
14对影片进行评论:
登录用户在观看过电影后可对观看的电影进行合理合法的评论。
15联系网站后台管理人员:
顾客至上,有问题,当然得找管理人员。
3.6.2.管理者对系统功能的需求
管理员对于整个网站而言是一个管理者,这当然也包括用户信息,电影信息,网站信息等。
因此管理员对普通用户基本具有完整的掌控权,但是为了保证网站的正常运行和用户信息的准确性、完整性。
管理员只在特定情况下具有对用户信息的浏览权、添加权和删除权。
管理员日常管理的主要就是电影的各种信息,管理员需要添加电影公司新推出的电影,需要及时更改电影信息中有错误的地方,需要对一下不合法的电影进行删除操作。
为了帮助用户能快速查找到想要的电影,管理员还需要对电影进行各种分类操作,包括添加新分类、删除旧分类、修改分类。
同时对于用户对电影的评论管理员也应该进行适当的管理。
图3-2管理员功能设计
1浏览用户的信息:
管理员可以在一定条件下浏览用户信息,确保网站用户的合法合理。
2修改不合法的用户:
对于不合法用户,管理员有权对其进行一定程度的限制,包括冻结和修改用户非私人信息。
3添加电影信息:
对于网站没有的合法电影,管理员可以添加完善。
4修改电影信息:
永远没有不出错的事,在各种情况下发现网站电影信息有错时,管理员应该及时进行修改。
5删除电影信息:
对于因为各种原因而应该淘汰的电影实行删除操作。
6添加电影类别:
适当分类能更好管理。
时代在进步,人们视野在开拓。
7修改电影类别:
不断进步才能更好地为用户服务,精确分类可以帮用户提高查找电影的效率。
8删除电影类别:
对于不需要的电影类别,可以进行删除处理,但此操作会将归类于该类别下的电影同时删除。
9管理用户评论:
用户的评论不一定是合法合理的,管理员应该对此进行快速审批,拒绝垃圾评论影响用户的心情和积极性。
即使是当然管理员也不能修改用户。
10添加删除管理员:
管理员是网站的主要信息维护者。
3.6.数据库需求分析
不同用户具有不同资料:
用户信息表。
不同电影具有不同信息:
电影信息表。
多种多样类别:
电影类别表。
各种用户对于各种电影有不同的各种评论:
评论记录表。
不同的用户会在各种情况下播放不同的电影:
播放记录表。
不同的用户会收藏不同的电影:
电影收藏表。
不同管理员具有不同资料:
管理员信息表。
3.7.数据库E-R图设计
数据库的E-R图如下图所示:
图3-4本网站数据库设计
第四章系统的总体构建
4.1.系统运作流程
本网站流程分为三个方面:
会员管理、电影展示和后台管理。
[4]
1会员管理包括:
注册、登录、信息修改、查看收藏、查看播放记录。
2电影展示包括:
按类别展示、按关注度展示、按时间展示。
3后台管理包括:
电影信息管理、会员管理、评论管理、类型管理、后台管理员管理。
如图所示:
图4-1
4前台功能如下用例图所示:
5会员模块:
6
7图4-2
8非会员模块:
9
10图4-3
11后台功能如下用例图所示:
12商品模块:
13
14图4-4
15管理会员模块:
16
17图4-5
18管理新闻模块:
19
20图4-6
21管理类型模块:
22
23图4-7
24编辑管理员模块:
25
26图4-8
27
4.2.数据库设计
1.管理员表(admins)
字段名
描述
类型
约束
备注
A_ID
管理员编号
int
PK
自增
A_Name
管理员用户名
Nvarchar(30)
Notnull
A_Pwd
密码
varchar(20)
Notnull
A_TrueName
真实姓名
varchar(30)
Notnull
A_CardID
身份证号码
Varchar(18)
Notnull
A_Mobile
移动电话号码
Varchar(11)
Notnull
A_EMail
电子邮箱
Varchar(50)
Notnull
A_Portrait
用户照片
Varchar(50)
Default
Touxiang.jpg
addtime
添加时间
datetime
Default
Getdate()
2.用户表(Users)
字段名
描述
类型
约束
备注
U_ID
用户编号
Int
PK,notnull
自增
U_Name
用户名
varchar(30)
Notnull
U_TrueName
真实姓名
varchar(30)
Notnull
U_Sex
性别
Bit
Default
‘1’
U_Birth
出生日期
Date
null
U_CardID
身份证号码
varchar(18)
Notnull
U_Address
地址
varchar(50)
null
U_Postcode
邮政编码
char(6)
null
U_Mobile
移动电话号码
varchar(11)
null
U_Phone
电话号码
Nvarchar(15)
null
U_Email
电子邮件
varchar(50)
Notnull
U_Password
密码
varchar(20)
Notnull
U_Question
密保问题
varchar(50)
Notnull
U_Answer
密保答案
varchar(50)
Notnull
U_AddTime
注册时间
Datetime
null
U_Portrait
用户照片
Varchar(50)
Default
Touxiang.jpg
U_IsDel
是否删除
Bit
Default
0
3.类型表(MVTypes)
字段名
描述
类型
约束
备注
T_ID
序号
Int
PK,notnull
自增
T_Name
类型名
varchar(20)
Notnull
T_Href
导航标签
varchar(30)
null
4.电影信息表(MVInfos)
字段名
描述
类型
约束
备注
I_ID
序号
int
PK,notnull
自增
I_Name
电影名
Varchar(100)
Notnull
T_ID
类型编号
int
Notnull
I_Language
语言
Varchar(20)
Notnull
I_District
地区
Varchar(20)
null
I_Star
主演
Varchar(200)
null
I_Director
导演
Varchar(100)
null
I_PublishTime
上映时间
Datetime
null
I_UpLoadTime
上传时间
Datetime
Default
Getdate()
I_PlayCount
播放次数
Int
Default
‘0’
I_DownLoadCount
下载次数
Int
Default
‘0’
I_Image
封面海报
Varchar(100)
Default
‘null.jpg’
I_Detail
简介
Txt
Notnull
I_IsDel
是否删除
bit
Default
‘false’
5.评论记录表(CMRecords)
字段名
描述
类型
约束
备注
CR_ID
序号
Int
PK,notnull
自增
I_ID
电影编号
Int
Notnull
U_ID
用户编号
Int
Notnull
CR_Content
评论内容
text
Notnull
CR_Time
评论时间
datetime
Default
Getdate()
CR_IsDel
是否删除
Bit
Default
‘false’
6.播放记录表(PlayRecords)
字段名
描述
类型
约束
备注
PR_ID
序号
Int
PK,notnull
自增
I_ID
电影编号
Int
Notnull
U_ID
用户编号
Int
Notnull
PR_Time
播放时间
datetime
Default
Getdate()
PR_PlayTimes
已播放时间
Time
null
PR_IsDel
是否删除
Bit
Default
‘false’
7.收藏表(Collect)
字段名
描述
类型
约束
备注
C_ID
收藏序号
Int
PK,notnull
自增
I_ID
电影编号
Int
Notnull
U_ID
用户编号
Int
Notnull
C_AddTime
添加时间
Datetime
Default
GetDate()
C_IsDel
是否删除
Bit
Default
‘false’
第五章系统实现
5.1.各功能通用类
以下是本网站主要功能模块的实现代码,介绍了数据库连接、操作数据库的通用类、操作后台的类。
5.1.1.实现数据库连接
数据库连接字符串是在Web.config配置文件中设置的,代码如下
5.1.2.操作数据库的通用类
取得连接字符串核心代码:
[5]
protectedstaticstringconnstr=ConfigurationManager.ConnectionStrings["DYConnStr"].ConnectionString;
执行SQL语句并返回受影响行数
publicstaticintExecuteNonQuery(stringsql)
{
SqlConnectionconn=newSqlConnection(connstr);
SqlCommandcmd=newSqlCommand(sql,conn);
conn.Open();
intres=cmd.ExecuteNonQuery();
conn.Close();
returnres;
}
执行SQL语句,并返回SqldataReader数据流:
publicstaticSqlDataReaderExecuteReaderQuery(stringsql)
{
SqlConnectionconn=newSqlConnection(connstr);
SqlCommandcmd=newSqlCommand(sql,conn);
conn.Open();
SqlDataReaderrad=cmd.ExecuteReader();
returnrad;
conn.Close();
}
执行SQL语句,并返回数据集table
publicstaticDataTableExecuteQuery(stringsql)
{
SqlConnectionconn=newSqlConnection(connstr);
SqlDataAdapteradapter=newSqlDataAdapter(sql,conn);
DataTabletable=newDataTable();
adap