本科毕业设计项目报告网站类型.docx
《本科毕业设计项目报告网站类型.docx》由会员分享,可在线阅读,更多相关《本科毕业设计项目报告网站类型.docx(23页珍藏版)》请在冰豆网上搜索。
![本科毕业设计项目报告网站类型.docx](https://file1.bdocx.com/fileroot1/2023-6/22/e03f1324-cebe-4059-833d-9cff08a78b00/e03f1324-cebe-4059-833d-9cff08a78b001.gif)
本科毕业设计项目报告网站类型
Xxx毕业设计(项目报告)
题目:
xxx网站的设计和实现
指导教师:
xx职称:
xx
学生姓名:
xx学号:
xx
专业:
xx
院(系):
完成时间:
2012年4月27日
2012年4月27日
目 录
1、项目开发目标
1.1项目来源
北京小动物保护协会(简称“ASAP”),是经民政局批准成立的一家专门从事宠物行业推广和小动物保护的公益性民间组织。
协会在一批有识之士的大力帮助下,充分发挥其专业优势和社会影响,积极开展健康有益,集专业化、职业化及趣味性于一体的服务和活动,致力于使北京市保护小动物协会真正成为关爱动物的新家园,为这些可爱的小动物们营造一个更加美好的生活空间。
本项目就是为ASAP制作的公益网站,是与他人合作共同实现,本人负责前台静态页面设计布局及动物领养及绝育申请两个主要表单的设计和功能实现,同时对站内文字图片信息进行审核。
1.2开发目标
地球上,每一种物种都有其生存的权利,都是大自然的子孙,不分大小强弱,数量多寡,它们在生物学上的意义和价值都是同等的,人类没有权利和理由以不平等之心去对待其他物种,虐待甚至杀害它们以满足自己贪婪的私欲。
很多人觉得动物就是低人一等,这种“人类优先”的物种歧视观念根深蒂固,它不但影响着动物的生存,还影响着人类的发展。
保护动物,善待动物,尊重它们的生命,人与动物和谐发展,是我们的职责。
人和动物同住在地球村上,动物是我们人类的朋友,我们应该要尊重动物的生命,爱护它们。
不要为了自己的私欲和贪婪而去残害和虐待一群无辜的动物,在这个艰难的世界里动物是最弱势的一群,当它们被残害的时候,连申诉的能力和机会都没有,我们没有权利去杀害它们的生命,没有理由去虐待它们,人类应该要放低“人类优先”的物种歧视观念,爱及生灵,尊重生命,让我们一起去保护动物,善待动物,共同促进人与动物和谐发展。
开发本网站主要是为了为中国的小动物保护公益事业做出自己的一份贡献。
本系统可作为动物保护中心的管理与对外宣传网站,包含动物的免费绝育,免费领养,信息公告发布等功能,分为前台页面和后台管理系统。
前台页面需要实现:
新闻资讯展示
网站公告展示
绝育公告展示
合作医院展示
待领养动物展示
领养动物申请
动物绝育申请等功能;
动物绝育表单提交功能可实现动物领养申请
动物领养申请功能可他实现动物绝育申请
申请进度查询绝育申请的审批功能;
使用管理员用户名密码登陆后可进入后台,后台需要实现:
网站信息的查看与更新,
留言的查看与管理,
申请表单的查看与管理(审批,绝育,给予审批意见等)。
2、项目总体设计
2.1技术框架设计
本网站采用的是LAMP体系。
选择LAMP的原因是:
选择开源免费的MySQL:
与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
又因为目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP/Perl/Python)和LNMP(Linux+Nginx+MySQL+php/perl/Python),即使用Linux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚脚本解释器。
由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站喜用。
在这里我们选择的是最为流行的免费架构LAMP。
在搭建数据库时,我们选择数据引擎的依据是首先了解每种引擎的特性:
MyISAMMysql的默认数据库,最为常用。
拥有较高的插入,查询速度,但不支持事务
InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定
BDB源自BerkeleyDB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性
Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。
但是会占用和数据量成正比的内存空间。
并且其内容会在Mysql重新启动时丢失
Merge将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用
Archive非常适合存储大量的独立的,作为历史记录的数据。
因为它们不经常被读取。
Archive拥有高效的插入速度,但其对查询的支持相对较差
Federated将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。
非常适合分布式应用
Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。
适合数据量大,安全和性能要求高的应用
CSV逻辑上由逗号分割数据的存储引擎
BlackHole黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继
EXAMPLE存储引擎是一个不做任何事情的存根引擎。
它的目的是作为MySQL源代码中的一个例子,用来演示如何开始编写一个新存储引擎。
同样,它的主要兴趣是对开发者。
EXAMPLE存储引擎不支持编索引。
了解每种引擎的特性后,我们选择MyISAM为常用引擎,个别数据表使用InnoDB引擎。
使用到其技术有:
(1)本项目采用PHP编码,可以创建支持跨平台及Web服务器的动态网页,增强了Web页面程序的独立性、兼容性和可重用性。
(2)所运用软件,静态页面采用了Myeclipse和DreamerWeaver软件实现各种功能。
(3)在一些功能的设计上采用了Javascript技术,实现了一些特效,增加不同的效果。
(4)在项目中的界面的设计上大部分采用DIV+Css的方式设计页面呢,以提高页面的美观性。
2.2功能模块设计
系统用例图
系统结构图
这些功能的作用:
前台:
信息查看:
查看网站信息,网站新闻
信息回复分享:
可以对网站的新闻进行评论,并分享到微博等社交网站
绝育表单:
可以为自己的宠物申请一份绝育表单,通过后可到医院进行免费绝育
领养表单:
可以查看网站的待领养小动物信息,挑选喜欢的进行领养申请,通过后可进行领养
申请进度查询:
申请者可以在绝育页面输入手机号,点击查询自己的绝育申请的审批进度
后台:
栏目内容的浏览,添加,更改,删除。
新闻栏目内容的浏览,添加,更改,删除。
网站公告内容的浏览,添加,更改,删除。
待领养动物的浏览,添加,更改,删除。
合作医院的浏览,添加,更改,删除。
绝育公告内容的浏览,添加,更改,删除。
动物领养申请表单的浏览,审批,拒绝,删除。
动物绝育申请表单的浏览,审批,拒绝,删除。
表中的各部分的名称,数据类型和说明如下面的表所示
表1主表(archives)
字段名
数据类型
说明
id
char(20)
编号(主键)
typeid
char(20)
栏目编号
flag
char(20)
标签
ismake
Int
是否审核
click
int
点击量
title
char(100)
标题
Shorttitle
char(100)
短标题
Writer
Char(100)
作者
Litpic
Char(200)
缩略图
Pubdate
Time
发布时间
Senddate
Time
审核通过实践
Description
Char(100)
文章描述
Weight
Int
权重
表2文章附加表(addon_article)
此表是archives的附加表aid是archives表id的外键
字段名
数据类型
说明
Aid
Int
文章id(外键)
Typeid
Int
所属栏目ID
Body
Text
文章内容
Userip
Varchar(20)
发布者IP
表3动物附加表(addon_animal)
此表是archives的附加表aid是archives表id的外键
字段名
数据类型
说明
aid
int
文章id(外键)
Name
char(20)
动物昵称
Sex
char(20)
动物性别
Age
int
动物年龄
Color
Varchar(100)
动物毛色
Typeid
Int
栏目ID
Descript
Text
描述
Character
Varchar(100)
性格
Pubdate
Time
发布日期
Update
Time
更新时间
表4医院附加表(addon_hospital)
此表是archives的附加表aid是archives表id的外键
字段名
数据类型
说明
Aid
Int
医院id(外键)
Typeid
Int
所属栏目
Url
Varchar(100)
医院链接
Phone
Int
医院电话
Address
Avrchar(100)
医院地址
Pubdate
Time
发布时间
Update
Time
更新时间
表5绝育申请表(form_jueyu)
字段名
数据类型
说明
Name
Varchar
宠物姓名
Weight
Varchar
宠物体重
Color
Varchar
宠物毛色
Health
Varchar
宠物健康状况
User_name
Varchar
申请人姓名
Phone
Int
申请人电话
address
Varchar
申请人地址
Description
Text
简要说明
Photo
Varchar
宠物照片路径
Sex
Varchar
申请人性别
Pubdate
Time
申请时间
Update
Time
修改时间
表6领养申请表(form_lingyang)
字段名
数据类型
说明
Name
varchar(20)
姓名
Age
Int
年龄
Sex
Varchar
性别
Occupational
Varchar
职业
Company
Varchar
工作单位
Address
Varchar
地址
Phone
Int
电话
Name_1
Vahchar
家庭成员1姓名
Sex_1
Varchar
家庭成员1性别
Age_1
age
家庭成员1年龄
Relationship_1
Varchar
与其关系
有5位家庭成员信息
此处省略4人的
。
。
。
Like
Varchar
家庭成员喜欢动物吗
Opinion
Varchar
家庭各成员对领养动物的意见
Help
Varchar
家庭各成员能否给予照顾动物帮助
Aid
Int
动物编号
Ani_url
Varchar
动物主页链接
表7管理员信息表(testc)
字段名
数据类型
说明
Id
Int
管理员编号(主键)
Usertyp
int
管理员类型
Pwd
Varchar
经加密后的密码
Userid
Varchar
管理账号
Uname
Varchar
管理员称呼
Tname
Varchar
该类型名称
Email
Varchar
管理员邮箱
Typeid
Int
类型编号
Logintime
Time
最后登录时间
Loginip
Varcahr
最后登录时IP
表8友情链接(flink)
字段名
数据类型
说明
Id
Int
友情链接ID(主键)
Url
Varchar
链接URL
Webname
Varchar
网站名称
Msg
Varchar
附加信息
Logo
Varchar
友情链接logo地址
Dtime
Time
发布时间
Typeid
Int
链接类型id
Ischeck
Int
审核是否通过
表9栏目列表(type)
字段名
数据类型
说明
Id
Int
栏目id(主键)
Topid
Int
排序
Typename
Varchar
栏目名称
Typedir
Varchar
栏目链接
Defaultname
Varchar
栏目默认页
Tempindex
Varcar
栏目首页模板
Templist
Varchar
栏目列表页模板
Tamparticle
Varchar
栏目文章模板
Keywords
Varchar
栏目关键词
Description
Varchar
栏目描述
Content
Text
栏目内容
表10admintype(company)
字段名
数据类型
说明
Rank
Int
ID(主键)
Tyename
Varchar
管理员类型名称
System
Int
系统内置管理员类型还是用户自己添加
Purviews
varchar(200)
专业名称
Purviews
varchar(100)
管理员权限
3、项目功能描述
所有前台页面使用div+css模式布局,并加入js特效,增强页面美观性
前台页面首页如下图1所示:
图1首页展示
首页用来展示网站主题,包括导航栏,图片轮换模块,微博调用及友情链接,新闻展示模块。
如下图2所示微博模块:
图2功能模块
如下图3所示导航栏:
图3导航栏
主要二级页面如图4所示新闻信息模块:
图4新闻页面
如图5所示爱心公益模块:
图5爱心公益
主要表单通过div与table的多层嵌套实现,主要表单如下:
动物列表页面为多重选项列表,如下图6所示:
图6动物筛选
动物领养页面如下图7所示:
图7动物领养的页面
领养表单填写页面如下图8所示:
图8领养表单
绝育表单填写之前通过js判断条件,同意各项协议内容后方可跳转到申请页面
如图9所示:
图9条件判断
绝育表单页面如下图10所示:
图10绝育申请
用户通过注册时的电话号码查询申请进度,如图11所示:
图11进度查询
管理员通过后台中绝育表单管理申请如图12所示:
图12申请管理
文章页面评论顶踩分享功能如下图13所示:
图13文章评论
通过已建立的后台CMS内容管理系统,修改完善网站模块及具体信息内容。
发布的全部文档列表管理页面如下图14所示:
图14发布的全部文档列表管理页面
友情链接管理模块如下图15所示:
图15友情链接管理功能页面
4、项目技术总结
4.1技术创新及特点
1.使用到的PHP技术:
(1)PHP是免费的:
和其它技术相比,PHP本身免费。
(2)PHP的快捷性:
程序开发快,运行快,技术本身学习快。
嵌入于HTML:
因为PHP可以被嵌入于HTML语言,它相对于其他语言,编辑简单,实用性强,更适合初学者。
(3)跨平台性强:
由于PHP是运行在服务器端的脚本可以运行在UNIX,、LINUX、WINDOWS下。
(4)效率高:
PHP消耗相当少的系统资源。
(5)图像处理:
用PHP动态创建图像
(6)面向对象:
在php4,php5中,面向对象方面都有了很大的改进,现在php完全可以用来开发大型商业程序。
2.使用到的MySQL数据库技术:
(1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
(2)支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统
(3)为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
(4)支持多线程,充分利用CPU资源
(5)优化的SQL查询算法,有效地提高查询速度
(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径
(8)提供用于管理、检查、优化数据库操作的管理工具
(9)可以处理拥有上千万条记录的大型数据库
(10)支持多种存储引擎
4.2个人收获与体会
通过这个项目的实现,让我感觉到学好一门编程技术,并把自己想要的效果最终编写出来,是非常有成就感的事情。
在编程的过程中,把许多以前不扎实的知识给运用并弄懂了,不如说PHP的知识,我就是在编写项目的时候,逐渐弄懂的。
编程只是整个项目的一小部分,最耗时的就是排错,一个小小的错误能影响到整个效果,所以在编写的时候,我也学会到了要有严谨的编写态度。
管理员这个模块虽然和专业的系统在功能上和外观上有很大差距,但基本的功能都可以的实现。
以后在工作当中,遇到编程的任务时,我一定要提高自己的技术水平,培养分析问题和解决问题的能力,要自己更加专业。
最后,虽然这个开发过程并不是实际工作,但是它教会了我认真细心分析问题,解决问题的方法和准则。
也要谢谢我的辅导老师韩颖老师,因为她我才能顺利完成我的毕业设计。