• 308.50 KB
  • 26页

网站开发项目报告书

  • 26页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'项目报告书《注册与登录》科目:web项目开发学号:姓名:班级:软件10301班 一.项目概要1.引言现在网站功能越来越多,但很多的网站都需要用户是网站的会员,通过会员登录才能够使用网站中的一些功能。会员的登录与注册已成为众多网站的基本功能之一。2.项目名称《网站会员的注册与登录》3.项目目的Ø掌握会员注册功能的实现Ø了解验证控件的使用Ø了解MD5加密技术Ø掌握会员登录功能的实现Ø了解验证码技术Ø培养网站开发技术,积累相关开发经验4.项目背景现在网站的很多功能都是需要会员才能使用,例如在网站上下载一些资料,查看文章,留言等。这就需要开发人员给网站设计登录与注册的功能。这样使用户成为会员后能使用更多的功能。本学期初,在老师带领之下学生独立开发一个web项目,实现网站会员登录与注册功能。通过本项目熟悉网站开发的基本流程,掌握相关技术,积累开发经验。 5.项目开发人员软件10301班师生成员6.项目开发时间2012年2月~2012年3月二.可行性研究报告1.概论网站会员注册与登录项目运用.NET、数据库、MD5加密和C#相关技术,有其相应的运行环境,本案通过对其相应的研究确定开发可行性及注意事项。2.可行性研究的前提2.1项目的基本功能要求本项目实例主要包括三种操作,即用户登录、用户注册及用户密码的修改。用户运行登录界面,如果用户没有注册会员可以单击“新会员注册”按钮跳转到会员注册页面,在此页面可以先判断用户输入的会员名是否存在,如果存在需要输入会员名,如果不存在用户可以继续输入个人资料来完成注册,完成注册后添加注册日志。如果用户名已经注册,则可以直接输入会员名、密码和验证码,单击“登录”按钮进行登录。在单击“登录” 按钮时,系统首先判断用户输入的信息和验证码是否正确,如果正确,再判断用户输入的会员名和密码是否正确,都正确后登录成功,同时添加登录日志。在登录页面中,单击“修改密码”按钮,进入修改密码页面,在此页面用户可以修改原有密码。2.2项目的实现目标注册用户名并用该用户名登录进入首页,修改用户密码后重新登录。使用验证码技术提高网站安全性。2.3决定可行性的主要因素技术、团队团结力、开发人员的意志和恒心3.现有可行性分析3.1现有知识内容系统开发语言:ASP.NET、C#语言、HTML语言基础、CSS样式布局数据库:SQLServer20053.2现有开发工具系统开发环境:MicrosoftVisualStudio2008运行平台:WindowsXPWeb服务器:IIS3.3系统大体流程设计 程序业务流程图 4.技术可行性分析4.1系统的简要概述该系统主要分为三部分:登录部分、注册部分和修改密码部分。为了方便用户者可以根据需求进行操作,本系统还可对用户的账号和密码进行进入管理。需要用户注册用户名和密码。4.2需用技术.NET网站开发技术,C#程序设计语言,数据库技术,MD5加密技术4.3技术可行性评价满足相关相关技术要求和设备需求,可以开发本项目5.结论意见通过研究具备相关的开发条件,可以开发本项目。开发过程中仍需进一步钻研、进取,结合所学知识综合运用,在实践中加深对知识的理解。三.需求规格说明书1.概论网站会员的注册与登录功能的实现需要相应的开发和运行环境,本案介绍该项目在开发和运行过程中所需的准备工作和相关规格需求,以规范该项目,保证功能的完整性和网站的安全性。2.任务概述2.1项目目标1 、现在网站的很多功能都需要是会员才能登录,例如在网站上下载一些资料,查看某些文件,留言等。这就需要开发人员给网站设计登陆和注册的功能。这样使用户成为会员后能事更多的功能。本项目的具体功能实现如下:Ø判断用户输入的会员名和密码是否正确;Ø利用验证码来防止用户的非法操作Ø用户登录成功添加登陆日志Ø注册新会员Ø判断注册新的会员是否被用过Ø判断用户输入的资料是否合法Ø用户注册成功添加注册日志2.2开发运行环境系统开发环境:MicrosoftVisualStudio2008系统开发语言:ASP.net+C#运行平台:WindowsXP数据库:SQLServer2005Web服务器:IIS2.3系统规范要求登录与注册系统的规范有以下几个方面:(1)界面设计友好、美观。(2)数据存储安全、可靠。(3)信息分类清晰、准确。(4)提供灵活、方便的权限设置功能,使整个系统的管理分工明确。(5)具有易维护性和易操作性。 四.概要设计说明书该项目主要有三个功能模块:登录模块、注册模块和修改密码模块。三个模块对应三个页面,有相应的数据在三个页面间传递。本案主要介绍该项目的总体设计和对应的模块功能划分。修改模块修改用户密码(修改用户信息)登录模块用户登录主页面(检验用户信息并登录新页)注册模块注册用户名和密码(生成用户信息)1.模块说明1.1登录模块:(1)用户输入用户名、密码和验证码,如果正确点击登录跳转到主页面,同时向数据库添加登陆日志。若错误则不能跳转到主页面并给出相应提示。(2)单击“新会员注册”按钮,跳转到注册页面;(3)单击“修改密码”按钮,跳转到修改密码页面。1.2注册模块:(1)输入用户名,单击“检测而用户名”按钮,检测用户名是否存在。(2)如存在则重新输入用户名用该用户登录。(3)若不存在则输入其他信息,验证过通过后点击“注册用户”按钮,完成注册同时向数据库中添加注册日志。1.3修改模块:(1)填写用户名、旧密码和新密码,单击“确认修改”按钮。(2)若输入用户名及密码一致,则修改成功并更改后台数据库。(3)若输入用户名及密码不一致,则弹出“修改失败”对话框。 2.数据库设计本系统采用SQLSERVER2005数据库,主要有3个表:logininfo,loginlog,rntrylog.数据表logininfo用来存储后台会员名称,密码和基本资料数据库设计结构实效:2.1用户信息表:字段类型长度说明IDInt4主键(自动编号)NameVarchar50会员名PassVarchar50密码SexBit2性别 PhoneVarchar50电话E_mailVarchar50电子邮箱表Logininfo的结构及实效2.2注册日志表:字段类型长度说明IDInt4主键(自动编号)NameVarchar50会员名LogindateDatetime8会员注册日期表Loginlog的结构及实效2.3登录日志表:字段类型长度说明IDInt4主键(自动编号)NameVarchar50会员名LandingdateDatetime8会员登录日期 表entrylog的结构及实效3.安全性设计输入密码时,使用MD5加密技术向后台数据库添加用户密码信息。将信息保存到数据库前应考虑一下密码的安全性,MD5是单项加密,根据指定的密码和散列算法生成一个合适于存储在配置文件中的散列密码。引用的命名空间为System.Web.Security;语法:publicstaticstringHashPasswordForStoringInConfigFile(stringpassword,stringpasswordformat);参数说明:Password要进行散列运算的密码;Passwordformat要使用的散列算法 五.详细设计说明书本案主要介绍各个页面的主要控件及功能实现,通过实例展现出项目开发的详细过程。网页设计结构图1.登录页设计1.1验证码技术验证码的作用是有效防止注册用户用特定程序集暴力破解方式进行不断的登录尝试来破解密码,不少网站为了防止用户利用机器人自动注册,登录,灌水,都采用了验证码技术。下面详细介绍验证码技术的实现。需要引用usingSystem.Drawing;usingSystem.IO;命名空间。 新建一个页面命名为yanzhengma.aspx页面主要代码如下:publicpartialclassyanzhengma:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){stringcheckCode=CreateRandomCode(4);Session["CheckCode"]=checkCode;CreateImage(checkCode);}privatestringCreateRandomCode(intcodeCount){stringallChar="0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,s,y,z,";string[]allCharArray=allChar.Split(",");stringrandomcode="";inttemp;Randomrand=newRandom();for(inti=0;i0&Session["checkCode"].ToString()==code){this.Textcode.Text="";Session["login"]="true";cmd=newSqlCommand("insertentrylogvalues(""+Textname.Text+"",""+DateTime.Now.ToString()+"")",con);cmd.ExecuteNonQuery();//Response.Redirect("Sucess.aspx");Response.Write("");}else{this.Textcode.Text="";Response.Write("");}}catch(Exceptionerror){Response.Write(error.ToString()); }}2.注册页面设计会员注册主要将用户输入的信息存储到数据库中,这里使用到了数据库的技术,通过使用SQLConnection对象链接数据库,将数据库做成一个自定义方法reeateloginconn在需要用到数据库链接时调用此方法。2.1页面设置:控件类型控件名称用途TextBoxTextname输入会员名Textpass输入密码Textpasses确认密码Textphone输入电话Textmail输入电子邮件Buttonbtnlogin将信息添加到数据库btnreturn返回都登录页面btndete检测是否有该用户运行实例如图 2.2关键代码:protectedSqlConnectioncreateloginconn(){SqlConnectioncon=newSqlConnection("server=.;database=xsdl;Integratedsecurity=SSPI;");returncon;}注意:此方法中应用了System.Data.SqlClicent命名空间中的Sqlconnection对象,需要引用System.Data.SqlClicent命名空间。主要程序代码:protectedvoidButtonisName_Click(objectsender,EventArgse){inti=isName();if(i>0){RegisterStartupScript("yes",""); }else{RegisterStartupScript("no","");}}protectedintisName(){inti;stringname=Textname.Text;if(name.Trim()!=""){SqlConnectioncon=createloginconn();con.Open();SqlCommandcom=newSqlCommand("selectcount(*)fromlogininfowhereName=""+name+""",con);returni=Convert.ToInt32(com.ExecuteScalar());con.Close();}elsereturni=1;}protectedvoidButtonLogin_Click(objectsender,EventArgse){inti=isName();if(i<=0){if(add()){SqlConnectioncon=this.createloginconn();con.Open();SqlCommandcom=newSqlCommand("insertloginlog(name,logindate)values(""+Textname.Text+"",""+DateTime.Now.ToString()+"")",con);com.ExecuteNonQuery();Response.Write("");con.Close();}elseResponse.Write(""); }elseResponse.Write("");}publicbooladd(){stringname=Textname.Text;stringpass=FormsAuthentication.HashPasswordForStoringInConfigFile(Textpass.Text,"MD5");stringemail=TextEmail.Text;stringaddress=Textaddress.Text;stringsql="insertintologininfo(name,pass,email,address)values(""+name+"",""+pass+"",""+email+"",""+address+"")";SqlConnectioncon=this.createloginconn();con.Open();SqlCommandcom=newSqlCommand(sql,con);inti=Convert.ToInt32(com.ExecuteNonQuery());if(i>0){returntrue;}else{returnfalse;}con.Close();}3.修改密码页面设计3.1界面设置:单击“修改密码”超链接转到注册页面。所有用户登录后都可以修改自己的密码,当输入的新密码两次一致是即可修改成功。在窗体中添加控件,添加的主要控件及用途见下表1-5 控件类型空间名称用途TextBox控件Textbox1会员名Textbox2密码Textbox3新密码Textbox4确认密码Button控件Button1确认Button2取消3.2关键代码:需要引用usingSystem.Data.SqlClient;命名空间publicpartialclassxiugaimima:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(Session["login"]=="false")Response.Redirect("landing.aspx");}protectedvoidButton1_Click(objectsender,EventArgse){stringname=this.TextBox1.Text.Trim(); stringoldpwd=this.TextBox2.Text.Trim();stringnewpwd=this.TextBox3.Text.Trim();try{SqlConnectioncon=newSqlConnection("server=.;database=xsdl;Integratedsecurity=SSPI");con.Open();stringstr="selectcount(*)fromlogininfowherename=@nameandpass=@oldpwd";SqlCommandcmd=newSqlCommand(str,con);cmd.Parameters.Add("@name",SqlDbType.VarChar,50);cmd.Parameters["@name"].Value=name;cmd.Parameters.Add("@oldpwd",SqlDbType.VarChar,50);cmd.Parameters["@oldpwd"].Value=FormsAuthentication.HashPasswordForStoringInConfigFile(oldpwd,"MD5");intcount=Convert.ToInt16(cmd.ExecuteScalar());if(count>0){stringstr2="updatelogininfosetpass=""+FormsAuthentication.HashPasswordForStoringInConfigFile(newpwd,"MD5")+""wherename=""+name+""";cmd.CommandText=str2;cmd.ExecuteNonQuery();Response.Write("");}else{Response.Write("");this.TextBox1.Text="";TextBox1.Focus();}}catch{Response.Write("");}}protectedvoidButton2_Click(objectsender,EventArgse){Response.Redirect("landing.aspx");}} 六.项目测试报告1.目的为了指导软件测试人员有效地设计测试用例,对所测试软件进行全面地测试,以尽可能发现最隐藏问题。2.适用范围适用于所有软件的测试。3.测试要求在屏幕上的显示位置是否正确、美观3.1窗口l窗口标题是否正确l窗口中各对象位置是否正确、美观l窗口的系统菜单及按钮操作是否正常l窗口在各种不同分辨率下是否能全部显示3.2对话框(DialogBox)l对话框弹出时机及位置是否正确 l对话框内各对象位置是否正确l对话框内各对象的文字标题意义是否明确l模式对话框和非模式对话框的属性是否正确3.3消息框(MessageBox)l弹出时机及位置是否正确l信息意义是否正确、意义是否明确l弹出时必须锁住Mouse消息和键盘输入l必须有正确的对象用于退出MessageBox3.4文字Labell显示位置要美观l文字意义要明确l同一界面上字体及字体大小应统一、美观3.5文字Buttonl显示正确且意义明确3.6图象Buttonl应相应的文字说明或意义明确l应有按下和抬起两种状态l在界面中所处位置要美观3.7输入域l字符输入域l为空l任意字符串(中英文) l功能键及符号键l超界字符串的处理3.8显示域l显示域中各对象显示位置正确、美观l显示域中文字Label信息正确l显示域中文字Label字体及字体大小应统一且美观l显示域中显示信息应与输入的信息一致l在屏幕显示不下时,应增加滚动条以确保信息显示的完整4.测试结果经检验,项目满足功能需求,界面布局、控件属性合格,通过测试。七.项目总结在此次项目中独自完成了项目的功能设计,结合所学知识综合运用,效果良好。在设计过程中学到了很多东西,同时也深感不足。现在此做一总结。1.完成情况Ø数据库设计成功,数据传递良好;Ø界面简约,控件属性正确搭建得体;Ø功能实现正常,符合功能要求。 2.项目收获本项目是独自创作的第一个项目,在制作过程中收获了很多,主要有如下几个方面Ø将所学知识用于实践,深入理解了所学知识,运用更加熟练。Ø自己查阅资料,扩展了知识面,对项目开发过程有了深入详细了解Ø与他人合作,团队协作能力提升Ø代码编写水平提高3.存在不足Ø项目开发不是一帆风顺的,开发过程中也有些不足的地方Ø准备不充分,入手困难,导致开发周期长Ø开发环境运用不太熟练,编代码上有一定影响Ø代码书写格式不太规范,易出现语法错误,影响开发进度4.改进意见Ø做任何事情都要认真对待、详细了解、充分准备Ø进一步熟悉开发环境,提高代码编写水平,代码书写规范化Ø在编写过程中尝试自己编写方法,改变方法,发散思维Ø有恒心毅力,刻苦进取'