资源描述
课 程 设 计
课程名称
Web程序设计
题目名称
个人在线记帐网站
专业班级
级计算机网络
(1)班
学生姓名
xxxxxxxx
学 号
xxxxxxxxxx
指引教师
xxxxx
二○一四年十二月三十一日
蚌埠学院计算机科学与技术系课程设计任务书
课 程
Web程序设计
班级
xxxxxxx
指引教师
xx
题 目
个人在线记帐网站
完毕时间
12月1日至
01月1日
重要内容
功能规定:
1.个人信息管理:顾客注册、顾客登录认证和顾客信息修改;
2.网上记帐:顾客登录后,可在线记录收入和支出帐目,帐目信息涉及(发生时间、发生金额、支出/收入、帐目事由等);
3.帐目记录:可按周、月或自定义时间段记录收支状况。
设计报告规定
1.封面:(格式附后)
2.课程设计任务书
3.课程设计报告:
⑴ 系统总体方案
⑵ 设计思路和重要环节
⑶ 各功能模块和流程图
⑷ 设计代码
⑸ 心得体会和参照资料
阐明:学生完毕课程设计后,提交课程设计报告及软件,规定文字畅通、笔迹工整(也可打印),文字不少于5000 字,并装订成册。
版面规定
1. 题目用黑体三号,段后距18磅(或1行),居中对齐;
2. 标题用黑体四号,段前、段后距6磅(或0.3行);
3. 正文用小四号宋体,行距为1.25倍行距;
4. 标题按“一”、“㈠”、“1”、“⑴”顺序编号。
上机时间安排
星期
周次
一
二
三
四
五
六
日
指引时间地点
课题名称
学生姓名
学号
所做工作
个人在线记账网站
个人在线记账网站
一、 系统总体方案
(一)题目背景
个人理财在国内得到大众承认和金融机构注重是近几年事情。人们对个人理财注重限度,与国内市场经济制度不断完善、资我市场长足发展、金融产品日趋丰富以及居民总体收入水平逐年上升等等是分不开。但是比起美、日等发达国家,国内人民对于个人理财理解还处在初级阶段。但是其实理财并不困难,并非非要依托个人理财专业人士建议才干身体力行。只要理解收支状况、设定财务目的、拟定方略、编列预算、执行预算到分析成果这六大环节,便可以轻松达到个人财务管理。至于要如何预估收入掌握支出进而检讨改进则有赖于平日财务记录,简朴说记账是理财第一步。 近来越来越多人具备了记账习惯,在上班族、学生族既定收入稳定状况下,采用“节流”科学理财方式是非常实际,也符合个人理财统筹原则。家庭、个人收入支出构造在日益发生变化,单纯地靠在本子上记录收入支出无法满足对于收入支出构造记录分析,因而以个人顾客为目的记账软件应运而生。相应各种面向家庭及个人理财软件也越来越多。但是众各种人理财软件操作专业,对于个人顾客来说功能过于强大,分析数据用语专业也不易理解。因而开发一种操作简便、记录成果直观并对个人顾客理财有参照价值记账软件无疑能为广大个人顾客提供以便。 在盛行个人理财美国,70%以上家庭都拥有一套自己理财软件,其中最具影响力理财软件要数Intuit公司开发Quiken和微软公司开发Money这两款软件。当前,Intuit公司已成为世界最大理财软件与理财征询公司,Quiken也成为全世界顾客最多家庭理财软件。欧美家庭平日财务报表,预算,税务解决,银行账目查询等等都借助软件各项功能,使用理财软件协助家庭打理寻常财务安排已经成为一件很寻常事。但由于金融体制上巨大差别,在欧美国家使用个人家庭理财软件却并没有登陆中华人民共和国市场。 但是国内个人理财服务却刚刚起步,各式各样个人理财软件也如雨后春笋,数不胜数。至少有上百款所谓个人理财软件,但事实上99%是个人写业务小程序,功能比Excel以便一点而已,有加一点报表功能,充其量叫记账软件。如果个人理财软件仅有告诉你“柴米油盐酱醋茶”这种流水账功能,Excel足够了。但真正做到功能强大,技术专业,市场有影响力,并且形成规模,国内只有区区两款,成都财智和深圳家财通。 综上所述,在不久将来家庭使用理财软件也将成为国内家庭必须品。能提供简朴明了功能及操作记账软件更是被广泛需要。这种软件也会为提高人随着网络普及,诸多高校都开设了动态网页设计、Asp程序设计等Web程序设计课程,如何高效精确地对学生Web程序设计能力进行测试评估,则是一种重要课程环节。老式教学模式下测评体系,教师只能通过定期出卷对学生考核,不但效率低下,并且还受到学时等多方面限制,不能随时和全面地理解学生学习状况。因而充分发挥Web程序设计课程自身特色和优势,运用先进网络技术及其提供全新沟通机制,实现一种基于Web自主智能测评体系势在必行。本文提出了针对Web程序设计课程设计一套个人在线记账网站及其实现方案。
(二)开发意义
个人在线记账网站是一种单位及个人均有很大用途某些,学生其有着轻松查阅自己记账问题,对于公司单位中是不可没有某些。开发一种个人在线记账管理网站,采用计算机对记账管理,进一步提高了老式手记可靠性和安全。如果有一种网站可以记录下个人繁琐帐务,那就可以随时查看就不会忘了。此外还可以对记录随意进行输入、添加、查询、删除及修改等操作,以便了寻常账目记录。
(三)解决问题
个人帐务管理系统重要功能是一方面建立客户基本信息,涉及顾客名、收入来源或支出去向、交易日期、交易金额等。建立基本信息后运用系统提供添加、显示、修改、查找等功能就可以实现设计目了。 个人帐务管理系统开发成功可以极大地以便顾客管理个人帐务,不必为个人账务而劳心伤神了,也可以更好管理自己财务了。个人帐务管理系统除以上功能之外,还可以进行后开发,进一步扩展系统功能,实现更大范畴财务管理,以及财务状况分析等功能。
二、 设计思路
通过Microsoft Visual Studio 用C#设计编写个人在线记账网站,设计顾客注册、顾客登陆、顾客密码修改,顾客在线输入日期、收入、收入来源、支出、支出去向、交易、交易用途等功能并用一系列控件和C#语言实现。
三、 重要环节
(一)设计网站流程图
(二)用Microsoft Visual Studio 新建网站页面
(三)建立SQL数据库,用来存储顾客数据
(四)添加控件,实现顾客登陆与注册模块
(五)添加控件,实现登陆顾客输入数据框
(六)连接数据库,存储数据,使顾客可以查看数据
四、功能模块和流程图
(一)网站流程图
主页
注册
登陆
账单
记账
(二)网站主页
(三)登陆页面
(三) 注册页面
(四) 记账页面
(五) 查看账单页面
五、 设计代码
(一) 母版页代码
Site.Master
<head runat="server">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title></title>
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
<asp:ContentPlaceHolder ID="HeadContent" runat="server">
</asp:ContentPlaceHolder>
</head>
<body alink="#4b6c9e"
background="App_Themes/gamersky_17origin_33_A.jpg">
<form runat="server">
<div class="page">
<div class="header">
<div class="title">
<h1>
个人在线记账网站
</h1>
</div>
<div class="loginDisplay">
<asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
<AnonymousTemplate>
[ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">登录</a> ]
</AnonymousTemplate>
<LoggedInTemplate>
欢迎使用, <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>!
[ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="注销" LogoutPageUrl="~/"/> ]
</LoggedInTemplate>
</asp:LoginView>
</div>
<div class="clear hideSkiplink">
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="主页"/>
<asp:MenuItem Text="记账" Value="记账" NavigateUrl="~/Account/JiZhang.aspx"></asp:MenuItem>
<asp:MenuItem Text="账单" Value="账目" NavigateUrl="~/Account/ZhangDan.aspx"></asp:MenuItem>
<asp:MenuItem NavigateUrl="~/About.aspx" Text="关于"/>
</Items>
</asp:Menu>
</div>
</div>
<div class="main">
<asp:ContentPlaceHolder ID="MainContent" runat="server"/>
</div>
<div class="clear">
</div>
</div>
<div class="footer">
</div>
</form>
</body>
</html>
(二) 顾客注册模块代码
Register.aspx
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:CreateUserWizard ID="RegisterUser" runat="server" EnableViewState="false" OnCreatedUser="RegisterUser_CreatedUser">
<LayoutTemplate>
<asp:PlaceHolder ID="wizardStepPlaceholder" runat="server"></asp:PlaceHolder>
<asp:PlaceHolder ID="navigationPlaceholder" runat="server"></asp:PlaceHolder>
</LayoutTemplate>
<WizardSteps>
<asp:CreateUserWizardStep ID="RegisterUserWizardStep" runat="server">
<ContentTemplate>
<h2>
创立新帐户
</h2>
<p>
使用如下表单创立新帐户。
</p>
<p>
密码长度至少必要为 <%= Membership.MinRequiredPasswordLength %> 个字符。
</p>
<span class="failureNotification">
<asp:Literal ID="ErrorMessage" runat="server"></asp:Literal>
</span>
<asp:ValidationSummary ID="RegisterUserValidationSummary" runat="server" CssClass="failureNotification"
ValidationGroup="RegisterUserValidationGroup"/>
<div class="accountInfo">
<fieldset class="register">
<legend>帐户信息</legend>
<p>
<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">顾客名:</asp:Label>
<asp:TextBox ID="UserName" runat="server" CssClass="textEntry"></asp:TextBox>
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
CssClass="failureNotification" ErrorMessage="必要填写“顾客名”。" ToolTip="必要填写“顾客名”。"
ValidationGroup="RegisterUserValidationGroup">*</asp:RequiredFieldValidator>
</p>
<p>
<asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">电子邮件:</asp:Label>
<asp:TextBox ID="Email" runat="server" CssClass="textEntry"></asp:TextBox>
<asp:RequiredFieldValidator ID="EmailRequired" runat="server" ControlToValidate="Email"
CssClass="failureNotification" ErrorMessage="必要填写“电子邮件”。" ToolTip="必要填写“电子邮件”。"
ValidationGroup="RegisterUserValidationGroup">*</asp:RequiredFieldValidator>
</p>
<p>
<asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">密码:</asp:Label>
<asp:TextBox ID="Password" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
CssClass="failureNotification" ErrorMessage="必要填写“密码”。" ToolTip="必要填写“密码”。"
ValidationGroup="RegisterUserValidationGroup">*</asp:RequiredFieldValidator>
</p>
<p>
<asp:Label ID="ConfirmPasswordLabel" runat="server" AssociatedControlID="ConfirmPassword">确认密码:</asp:Label>
<asp:TextBox ID="ConfirmPassword" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ControlToValidate="ConfirmPassword" CssClass="failureNotification" Display="Dynamic"
ErrorMessage="必要填写“确认密码”。" ID="ConfirmPasswordRequired" runat="server"
ToolTip="必要填写“确认密码”。" ValidationGroup="RegisterUserValidationGroup">*</asp:RequiredFieldValidator>
<asp:CompareValidator ID="PasswordCompare" runat="server" ControlToCompare="Password" ControlToValidate="ConfirmPassword"
CssClass="failureNotification" Display="Dynamic" ErrorMessage="“密码”和“确认密码”必要匹配。"
ValidationGroup="RegisterUserValidationGroup">*</asp:CompareValidator>
</p>
</fieldset>
<p class="submitButton">
<asp:Button ID="CreateUserButton" runat="server" CommandName="MoveNext" Text="创立顾客"
ValidationGroup="RegisterUserValidationGroup"/>
</p>
</div>
</ContentTemplate>
<CustomNavigationTemplate>
</CustomNavigationTemplate>
</asp:CreateUserWizardStep>
</WizardSteps>
</asp:CreateUserWizard>
</asp:Content>
Register.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace GRZXJZ.Account
{
public partial class Register :System.Web.UI.Page
{
protected void Page_Load(object sender,EventArgs e)
{
RegisterUser.ContinueDestinationPageUrl = Request.QueryString["ReturnUrl"];
}
protected void RegisterUser_CreatedUser(object sender,EventArgs e)
{
FormsAuthentication.SetAuthCookie(RegisterUser.UserName,false /* createPersistentCookie */);
string continueUrl = RegisterUser.ContinueDestinationPageUrl;
if (String.IsNullOrEmpty(continueUrl))
{
continueUrl = "~/";
}
Response.Redirect(continueUrl);
}
}
}
(三) 登陆模块代码
Login.aspx
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>
登录
</h2>
<p>
请输入顾客名和密码。
<asp:HyperLink ID="RegisterHyperLink" runat="server" EnableViewState="false">注册</asp:HyperLink> 如果您没有帐户。
</p>
<asp:Login ID="LoginUser" runat="server" EnableViewState="false" RenderOuterTable="false">
<LayoutTemplate>
<span class="failureNotification">
<asp:Literal ID="FailureText" runat="server"></asp:Literal>
</span>
<asp:ValidationSummary ID="LoginUserValidationSummary" runat="server" CssClass="failureNotification"
ValidationGroup="LoginUserValidationGroup"/>
<div class="accountInfo">
<fieldset class="login">
<legend>帐户信息</legend>
<p>
<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">顾客名:</asp:Label>
<asp:TextBox ID="UserName" runat="server" CssClass="textEntry"></asp:TextBox>
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
CssClass="failureNotification" ErrorMessage="必要填写“顾客名”。" ToolTip="必要填写“顾客名”。"
ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
</p>
<p>
<asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">密码:</asp:Label>
<asp:TextBox ID="Password" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
CssClass="failureNotification" ErrorMessage="必要填写“密码”。" ToolTip="必要填写“密码”。"
ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
</p>
<p>
<asp:CheckBox ID="RememberMe" runat="server"/>
<asp:Label ID="RememberMeLabel" runat="server" AssociatedControlID="RememberMe" CssClass="inline">保持登录状态</asp:Label>
</p>
</fieldset>
<p class="submitButton">
<asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="登录" ValidationGroup="LoginUserValidationGroup"/>
</p>
</div>
</LayoutTemplate>
</asp:Login>
</asp:Content>
Login.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace GRZXJZ.Account
{
public partial class Login :System.Web.UI.Page
{
protected void Page_Load(object sender,EventArgs e)
{
RegisterHyperLink.NavigateUrl = "Register.aspx?ReturnUrl=" + HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"]);
}
}
}
(四) 修改密码模块代码
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>
更改密码
</h2>
<p>
请使用如下表单更改密码。
</p>
<p>
新密码长度至少必要为 <%= Membership.MinRequiredPasswordLength %> 个字符。
</p>
<asp:ChangePassword ID="ChangeUserP
展开阅读全文