个人博客报告完成.docx
- 文档编号:25889941
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:19
- 大小:186.64KB
个人博客报告完成.docx
《个人博客报告完成.docx》由会员分享,可在线阅读,更多相关《个人博客报告完成.docx(19页珍藏版)》请在冰豆网上搜索。
个人博客报告完成
辽宁科技大学
课程设计说明书
设计题目:
Asp.Net特定领域高级应用课程设计
个人博客系统(留言板模块)
学院、系:
软件学院
专业班级:
软物信10班
*******
*******
成绩:
2013年07月12日
1.绪论
1.1开发背景
随着计算机技术的发展和普及,blog得到了极大的发展。
Blog,是Weblog的简称。
blog是一种新的生活方式、新的工作方式、新的学习方式和交流方式。
它是继E-mail、BBS、ICQ、之后出现的第4种网络交流方式。
Blog主要应用于3个方面:
一是新的人际交流方式;二是以个人为中心的信息摘选和知识管理;三是以个人为中心的传播出版。
blog作为个人的一种学习工具,简单易用,吸引人的兴趣。
Blog在教育方面得到了很大的发展,它将互联网从过去的通讯功能,资料功能、交流功能等进一步强化,使其更加个性化、开放化、实时化、全球化,把信息共享发展到资源共享、思想共享、生命历程共享。
Blog已经成为一种继课件、积件、资源库、教育主题网站等信息化教学模式之后,新的网络应用模式。
它是应时代的需求而兴起的,也是应时代需求不断进步的。
1.2课题研究的意义
随着Blog人数的增加,Blog作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构。
它使交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得更加有效;个人出版变成人人都可以实现的梦想。
Blog正在影响和改变着我们的生活。
Blog是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。
展示丰富的个性化,对Blog功能的要求自然更高,新一代具有更多、更新、更全功能的Blog急需走进舞台。
系统加入聊天功能可以更加方便大家的交流。
1.3相关技术知识
C#(读做"Csharp",中文译音暂时没有.专业人士一般读"Csharp",现在很多非专业一般读"C井"。
C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。
并定于在微软职业开发者论坛(PDC)上登台亮相。
C#是微软公司研究员AndersHejlsberg的最新成果。
C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。
但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
C#是一种安全的、稳定的、简单的,由C和C++衍生出来的面向对象的编程语言。
它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。
C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
ASPX程序是由文本、HTML标记和脚本组合而成的。
在ASPX程序中,脚本通过分隔符与文本和HTML标记区分开来。
ASPX用分隔符〈%和%〉包括脚本命令。
由分隔符括起的命令称为主脚本命令,这些命令由主脚本语言进行处理。
在ASPX分隔符〈%和%〉内,可以包括主脚本语言允许的任何语句、表达式和操作符等。
ASPX实际上是将标准的HTML文件扩展了一些附加特征,也像标准的HTML文件一样,包含HTML对象并且有一个浏览器解释并显示,任何可以放在HTML中的东西—Javaapplets,闪烁字符串,客户端脚本,客户端ActiveX控制等。
都可以放在ASPX中。
(2)SQLServer是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力,提供了以Web标准为基础的扩展数据库编程功能。
丰富的XML和Internet标准支持允许使用内置的存储过程以XML格式轻松存储和检索数据。
SQLServer提供强大的开发工具和各类开发特性,大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。
例如XML数据库与WebService的支持将使您的应用实现Internet数据互联.Net集成极大的扩展了开发空间,异构数据集成、ServiceBroker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性。
C#、VB.Net、XQuery、XMLA、ADO.Net、AMO等都将成为SQLServer数据平台上开发数据相关应用的有力工具。
2.需求分析
2.1开发背景
过去很多人都喜欢写文章写日记以及交流自己的文章和作品,以求实现相互间的沟通、展现自己的才华和让别人了解自己的想法观点。
现在的网络已经成为人们生活中不可或缺的一个元素,所以自然而然诞生了博客这样一个新兴事物,它不仅仅能取代前面所说的功能,还能加入图片,而且使得作者更能无所拘束地生动地写出自己想写的,旁人也能非常便捷地阅读并且加以评论,并且它还能作为展示个人个性的窗户。
个人博客现在已经成为很多人生活中必不可少的一个部分,方便了人与人之间的沟通和交流。
2.2系统实现目标概述
基于个人博客以上的特点,本系统要实现个人博客的主要基本功能有主界面,博客用户登录发表文章(心情、日志),用户登录/退出,游客发表评论,分页浏览文章和评论等。
这里其中比较主要的是区分了个人博客用户和游客。
博客用户可以在任何时候写下自己的主张,记录下自己的点点滴滴。
而游客主要的权限是阅读博客所有注册用户写的文章,阅读后可以发表评论和留言,还可以分页浏览所有注册用户上传的图片。
以上是个人博客的系统功能目标,当然由于个人博客的网络流行特点以及个人个性的展示,还适当要求界面比较漂亮轻快,直观便捷,操作方式简单以及人性化。
2.3系统功能需求
根据对系统的特点和应用的分析,可以得到本系统主要有如下功能:
(1)文章管理
文章管理主要有文章的发表、查询、浏览、评论和删除功能。
博客的系统管理员除了可以查询、浏览和评论文章外,还可以对系统中的所有文章以及评论进行修改、删除操作。
这些维护和管理拥有最高权限,并且系统自动更新在服务器端数据库中的数据。
文章的发表:
博客用户可以发表自己的文章,文章包括主题、正文、表情、图片等信息,作者通过各种元素来展示自己的想法和思想。
系统接受这些信息并且存储在服务器端的数据库中。
文章的删除:
博客用户可以删除自己已经发表的文章内容和各项信息,系统自动在服务器端数据库中删除这些记录。
文章的浏览:
游客和博客用户根据所获得的用户权限获取服务器端数据存储的各篇文章并且浏览阅读文章的所有信息,包括标题、正文、表情、图片以及其它读者的留言评论。
文章的评论:
文章的读者可以评论和回复所阅读的文章,发表自己的看法。
系统自动将这些评论存储在服务器端的数据库中,并且可供博客作者以及其它读者浏览。
文章的查询:
博客用户可以按文章题目或作者来查询想要查的文章。
文章中还可能包含一些图片视频等多媒体,所以文章管理中还包含了网站中媒体的管理。
媒体管理有添加,浏览、删除和查询功能。
博客用户可以添加自己喜欢的图片或视频等,还可以查询和浏览系统中的所有媒体信息。
游客只能浏览博客系统中的媒体信息。
系统管理员拥有以上的所有权限,除此之外还可以删除媒体信息。
(2)博客管理员管理
博客管理员可以添加、删除新用户,用户的角色又分为订阅者、作者、编辑、投稿者、管理员。
还可以对博客主页的外观、博客使用的插件、工具进行添加、删除、设置。
2.4用例图
3.总体设计
3.1数据库设计
Liuyan表
序号
字段名
中文描述
数据类型
空值
主键
备注
1
gb_id
自动编号
int
NOTNULL
√
2
user_id
用户id
int
NOTNULL
3
G_content
留言内容
Text
NOTNULL
4
G_Time
创建日期
datetime
NOTNULL
G_Title
留言标题
Text
NUTNULL
G_HF_Content
留言回复
Text
NUTNULL
Users表
序号
字段名
中文描述
数据类型
空值
主键
备注
1
id
自动编号
int
NOTNULL
√
2
username
用户id
int
NOTNULL
3
password
用户密码
Text
NOTNULL
4
User_qx
创建日期
datetime
NOTNULL
Sex
留言标题
string
NUTNULL
邮箱
Varchar(20)
NUTNULL
User_img
头像图片位置
Int
NUTNULL
3.2性能需求
博客网站的特征需要博客网站系统需要以下几个主要特征:
3.2.1多样性
博客网站在设计是必须遵循的一个重要原则,就是以用户为系统设计的中心。
网络的发展大大降低了信息咨询的成本,用户面临更多的选择,所以,博客网站除了降低成本以外,还必须在皮肤,功能的多样性上下功夫,才能够得到用户的认可。
具体来说,应用系统应该能实现用户特定的需求,操作界面友好、方便,功能设置符合用户的习惯要求。
3.2.2易维护
管理员能够简单方便地管理系统,定义新的应用,并对系统进行日常维护;随着博客网站信息的变更或增加、数据规模的增大,系统升级、维护赢易于操作;各子系统、功能模块的设计具有良好的灵活性,保证在博客网站系统建设过程中后期系统功能的实现不影响前期已投入使用的系统功能。
3.2.3安全性
系统应充分考虑信息、设备、运行和管理的安全性,建立完善的多层次的安全保障体系,保证用户的个人信息等资料的数据安全。
3.2.4可扩展性
博客网站的用户从事隔行业,他们需求各不相同,系统在设计时应充分考虑到用户需求不断变化的需求,降低系统在扩展新的业务功能时的复杂度。
3.3功能需求
博客通常提供三类服务:
3.3.1信息服务
它可分为:
文章显示,热点文章推荐,博主风采。
3.3.2查询服务
可以根据文章内容,文章标题,留言内容,留言标题等模糊查询
3.3.3留言服务
游客可以对系统进行留言或发表看法意见
3.3.4前台和后台
3.3.4.1在前台的功能实现上,可以分为以下几个部分:
1.用户登录
网站用户用个人注册的账号,密码登录到网站。
网站监测用户的账号,密码并给予其相应的权限对网站进行操作
2.用户注册
游客将个人的信息存储到博客网站的数据库中,以成为本博客的正式用户
3.用户修改个人信息
把已存储的用户信息用一个网页显示出来,方便用户对个人信息进行更新
4.文章查询和留言
用户可以检索或浏览博客中的文章同时给感兴趣的文章
5.公告信息查询
用户可以浏览网站中发布的公告信息,了解博客的一些情况
6.相片查询
用户可以对博客中的相片,图片等进行查询,浏览
3.3.4.2后台
1.文章管理
管理员对网站中已有的文章进行删除,更新等操作
2.公告管理
发布,删除,更新公告
3.投票管理
发起投票,统计投票等
4.个人相册管理
对博客相册中的图片进行删除,更新登操作
5.用户设置
更新普通用户对博客的操作的权限
6.博客设置
对博主的信息等进行操作
3.4结构
3.4.1前台功能结构图
3.4.2前台文件总统架构图
3.4.3后台功能结构图
3.4.4后台文件总体架构图
4详细设计
4.1任务概述
目标:
制作个人博客系统的留言板,要求游客在登录的前提下可以进行留言,自己可以查看,用户在登录以后可以对留言进行查看、回复和删除操作。
4.2性能要求
2.1数据精确度:
要按照严格的数据格式输入,否则系统不给予响应进行处理,输入数据除了非法字符均可
2.2时间特性要求:
运行环境各个页面的链接响应时间不得超过10s,对没进行操作的用户(180s)对其访问认证失效,需要重新登录。
2.3灵活性:
该系统的设计模块属于普通模式,当系统遇到偶然或非人为的故障时,本系统将自动保存未完成的任务。
4.3功能实现
主页
留言页
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.Mvc;
usingmymvc.Models;
namespacemymvc.Controllers
{
/*
publicclassgu{
publicusersuser{get;set;}
publicguestbookGBook{get;set;}
}
*/
[HandleError]
publicclassHomeController:
Controller
{
privatemymvc.Models.UserEntitiesdb=newModels.UserEntities();
publicActionResultIndex(){
IOrderedQueryable
returnView(bookss);
}
publicActionResultAbout()
{
returnView();
}
publicActionResultCreate()
{
if(Session["username"]==null)
{returnRedirectToAction("Login");}
returnView();
}
[AcceptVerbs(HttpVerbs.Post)]
publicActionResultCreate(Models.guestbookgb)
{
if(!
ModelState.IsValid)
returnView();
if(string.IsNullOrEmpty(gb.G_Title))
{
ModelState.AddModelError("G_Title","标题不能为空");
returnView();
}
if(gb.G_content.Length>375)
{
ModelState.AddModelError("G_content1","留言不能超过375个字");
returnView();
}
if(Request.Form["YanZheng"].ToUpper()!
=Session["GoogleCode"].ToString())
{
ModelState.AddModelError("YanZhengError","验证码错误");
returnView();
}
gb.user_id=(int)Session["UID"];
gb.G_Time=DateTime.Now;
db.AddToguestbook(gb);
db.SaveChanges();
returnRedirectToAction("Index");
}
publicActionResultLogin()
{
returnView();
}
[AcceptVerbs(HttpVerbs.Post)]
publicActionResultLogin(Models.usersuse,stringusername,stringpasswrod)
{
if(ModelState.IsValid)
{
usersu=yanzheng.yanzhengyonghu(use);
if(u!
=null)
{
Session["User_qx"]=u.User_qx;
Session["UID"]=u.id;
Session["username"]=u.username;
returnRedirectToAction("Index");
}
else
{
ModelState.AddModelError("","用户名或者密码错误");
}
}
returnView();
}
publicActionResultLogOff()
{
Session["User_qx"]=null;
Session["UID"]=null;
Session["username"]=null;
returnRedirectToAction("Index");
}
publicActionResultRegister()
{
returnView();
}
[AcceptVerbs(HttpVerbs.Post)]
publicActionResultRegister(Models.usersuse,stringConfirmPassword)
{
if(ModelState.IsValid)
{
if(!
string.Equals(use.password,ConfirmPassword))
{
ModelState.AddModelError("ConfirmPassword","两次输入密码不同!
");
returnView();
}
usersu=yanzheng.yanzhengyonghu(use);
if(u!
=null)
{
ModelState.AddModelError("username1","该用户名已存在!
");
}
else
{
if(Request.Form["YanZheng"].ToUpper()!
=Session["GoogleCode"].ToString())
{
ModelState.AddModelError("YanZhengError","验证码错误");
returnView();
}
use.User_img=Request.Form["User_img"];
use.Sex=Request.Form["Sex"];
use.User_qx=2;
db.AddTousers(use);
db.SaveChanges();
returnView("WanCheng");
}
}
returnView();
}
publicActionResultDelete(intid)
{
if(Session["username"]==null||Session["UID"]==null)
{
ViewData["Message"]="很抱歉无法进行登录操作";
ViewData["Url"]=Url.Action("Login");
returnView("Error");
}
if(Session["User_qx"]!
=null)
{
if((int)Session["User_qx"]!
=1)
{
ViewData["Message"]="很抱歉不是管理员无法进行此操作";
ViewData["Url"]=Url.Action("Index");
returnView("Error");
}
}
Models.guestbookgb=(frommindb.guestbookwherem.gb_id==idselectm).First();
db.DeleteObject(gb);
db.SaveChanges();
returnRedirectToAction("Index");
}
publicActionResultHuiFu(intid)
{
if(Session["username"]==null||Session["UID"]==null)
{
ViewData["Message"]="很抱歉没有登录无法进行操作!
";
ViewData["Url"]=Url.Action("Login");
returnView("Error");
}
if(Session["User_qx"]!
=null)
{
if((int)Session["User_qx"]!
=1)
{
ViewData["Message"]="很抱歉不是管理员无法进行此操作";
ViewData["Url"]=Url.Action("Index");
returnView("Error");
}
}
Models.guestbookgb=(frommindb.guestbookwherem.gb_id==idselectm).First();
returnView(gb);
}
[AcceptVerbs(HttpVerbs.Post)]
publicActionResultHuiFu(intgb_id,stringG_HF_Content)
{
Models.guestbookgbook=(frommindb.guestbookwherem.gb_id==gb_idselectm).First();
if(!
ModelState.IsValid)
returnView(gbook);
gbook.G_HF_Content=G_HF_Content;
db.SaveChanges();
returnRedirectToAction("Index");
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个人 博客 报告 完成