《毕业设计(论文)-个人日常帐本的设计与实现(61页).doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-个人日常帐本的设计与实现(61页).doc(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-毕业设计(论文)-个人日常帐本的设计与实现-第 73 页个人日常帐本的设计与实现摘 要如今现实生活中,很多人忙碌辛苦一个月,收入不少,也没有大的支出,为什么到月底的钱所剩无几,自己都不知道钱花在了什么地方。个人日常帐务管理系统不仅仅是记账,还包括了你理财的新观念,它帮助你更好的管理财务,财务计划,预算等等,个人日常帐务管理系统是一款使用的个人理财软件,它集成了用户管理,收支记账,分类统计查询等功能。个人帐务管理系统是我们常说的管理系统中的一种,它是计算机软硬件资源以及数据库的人机系统。随着计算机,信息技术的快速发展,在社会的各个领域都已经离不开信息系统的支持。个人日常帐本针对个人用户设计,使
2、一个简单的用户系统,它提供各全方位的财务数据统计,数据查询,方便个人理财,做出正确的财务决策。为了适应现在越来越快的生活节奏,为了管理好现在的个人收支情况,以科学的管理、使用的简便为出发点,建立一个具有高效性,实用性,功能划分齐全的个人日常帐本。系统以SQL2008作为后台数据库,Visual Studio 2010 winform作为前台开发工具,运用面向对象的设计方法,完成了该管理系统的模块和功能设计。结果表明:系统具有较高的可靠性和灵活性,且便于扩充和维护。关键词: SQL,Winform,数据库,设计Design and Implementation of the Personal d
3、aily account bookAbstract Now the real life, a lot of people busy hard a month, income many, and no big spending, why to the end of the month money little, and doesnt know what the money in place. Personal daily account management system is not only charge, including the financial management of new
4、ideas of you, help you better financial management, financial plan, budget, and so on, personal daily account management system is a use of the personal financial management software, it integrates user management, balance of payments record-keeping, classified statistics inquires the etc. Function.
5、 Individual account management system is we often say management system of a kind, it is computer hardware and software resources and database man-machine system. Along with the computer, the rapid development of information technology, in all areas of society has been without the support of the inf
6、ormation system. Personal daily account management system for the individual user design, make a simple user system, it provides the range of financial data, data query, convenient personal finance, make the correct financial decisions.Now more and more quickly in order to adapt to the pace of life,
7、 in order to manage the individual now balance to the scientific management, the use of simple as a starting point, establish a is effective, practical, functional division complete personal daily account management system. System to SQL2008 as backend database, winform as a receptionist development
8、 tools, used the object-oriented design method, completed the management system of the modules and the function design. The results show that the system has the high reliability and flexibility, and is easy to extend and maintain.Keywords SQL,winform,database,design目 录第1章 前 言11.1介绍11.2研究的背景、目的及意义11.
9、3个人日常帐务管理系统的简介2第2章 使用工具及相关知识32.1 SQL Server 2008概述32.2 winform概述5第3章 需求分析83.1 系统功能需求分析83.1.1 基本功能83.1.2 扩展功能83.2 系统可行性分析93.3 数据流分析103.4 运行环境与其它要求123.4.1 运行环境简介12第4章 系统总体设计134.1 系统介绍与功能模块134.2 数据库设计144.2.1数据库概念设计144.2.2数据库逻辑设计15第5章 详细设计175.1登陆设计175.2个人帐本模块设计195.2.1 主界面195.2.2 新建一笔页255.2.3 用户管理界面285.2
10、.4类别维护375.2.5账户维护表425.2.6类别分布图475.2.7计算器50第6章 系统测试与调试516.1 运行环境要求516.2 问题与解决方法51总 结52致 谢53参 考 文 献54附录A 译文57计算机操作系统57附录B 外文原文65COMPUTER OPERATING SYSTEM65第1章 前 言1.1介绍随着生活节奏的加快,收入的增加,越来越多的人对自己财务管理开始了重视,手写的记账方式显然太过繁琐,对帐务的统计和查询都不是那么的方便。如今随着计算机的普及,越来越多的人了解到了计算机带来的方便,个人帐本也就成为了现在人对自己帐务进行管理的重要工具,它能更加方便的查询统计
11、自己的流向。本系统由福州远行者信息技术有限公司开发,更多内容请参阅公司官网。个人日常帐本是为一款专门为个体用户设计的帐务管理系统,可以为个人更好的管理自己的财务,使用此软件可以更好的分配自己的财务,可以减少狂乱花钱的状况,有利于个人的勤俭节约,有利于个人的储蓄额的增加。1.2研究的背景、目的及意义随着信息时代的到来以及计算机网络技术的不断发展,基于互联网Internet的各种应用,正越来越深刻地改变着我们的生活方式、工作方式以及学习方式。我国已近加入了世界贸易组织,我国与世界经济的联系也越来越紧密,然而这个也必将会加速我国经济的快速发展,随着我国经济的快速发展,中国的人均收入也越来越多。而中国
12、人的收入增加的同时也会更加注重自己资金的合理分配,如何进行合理的管理,如今生活电脑的普及,如何合理的利用电脑来进行资金的分配的重要性显现了出来,核心问题就是利用个人日常帐务管理系统。谈到理财,很多人会认为这是有钱人的专利,自己本来就没有赚很多钱,每个月去掉日常生活花费之后,没有多少钱可以省下来,根本不需要理财。但是这些人忽略了很重要的一点,就是他们的日常生活开销也要合理的安排!理财并不是针对多余的财富,并不是针对那些有钱人,合理的安排自己的开销也是理财的一部分内容。实际上,对于有钱人来说,即使不怎么合理的安排自己的财富,他们也能很好的满足自己生活所需,而恰恰钱少的人,才需要对自己的财富进行合理
13、的安排和支出来满足自己生活的需要。无论是为了满足自己的生活需要还是为了实现人生理想,理财的重要性都不言而喻。正是对财富的需求,对财富持久的需要,才催生了对财务的管理。本系统由福州远行者信息技术有限公司开发,更多内容请参阅公司官网。以前由于计算机的普及程度不够,手写记账又过于繁琐,因此大部分的财务管理系统都是针对企业,个人的财务管理并没有实施,个人也不愿手写的记账,所以个人对自己的财务没有进行很好的管理。而现在随着电脑的普及程度的增加,越来越多的人青睐于个人日常帐务管理系统一类的软件,因此开发一个个人日常帐务管理系统还是有市场需求的。使用该软件提高个人财务的分配的合理性,可以减少每月初乱花钱月底
14、没钱花得情况,有利于资金的管理,也有利于个人储蓄的增加。1.3个人日常帐务管理系统的简介个人日常帐务管理系统主要针对个人对财务的管理,可以对自己日常生活中的财务进行管理,管理自己的收入以及支出,可以对自己收入的来源分类,也可以对自己的支出进行分类,比如在哪个方面支出多少。该系统还有记账的功能,可以实现详细记录每天的每一笔的收入与支出的帐务。还可以查阅以前的帐务,系统简单清晰。该系统功能可总结为以下几点:1、 账务类别管理模块:管理日常收入和支出中的类别维护;2、 记账模块:实现详细记录每一笔收入或者支出的帐;3、 账本统计模块:浏览和统计按天、月、年的收入和支出账务4、系统结构清晰,功能明确,
15、页面风格鲜明,易操作。第2章 使用工具及相关知识2.1 SQL Server 2008概述SQL Server 2008是基于是基于Client/Server体系结构的关系型数据是基于 体系结构的关系型数据 库管理系统、它具有可伸缩性、可用性和可管理性。库管理系统,它具有可伸缩性、可用2.2流媒体的网络传输协议性和可管理性。 SQL Server 2008使用 使用Transact-SQL语句在 语句在Server和Client 使用 语句在 和 之间传送请求。 之间传送请求。它主要存放大量数据。SQL Server 2008把所有的工作负荷分解 把所有的工作负荷分解 成在Server机器上的
16、任务和在Client机器上的任务。Server机器上的任务 Client应用程序负责商业逻辑和向用户提供数据,一般运 应用程序负责商业逻辑和向用户提供数据,应用程序负责商业逻辑和向用户提供数据 行在一台或多台机器上。负责管理数据库的结构, 行在一台或多台机器上。Server负责管理数据库的结构,负责管理数据库的结构 其内容主要包括维护数据库中数据之间的关系,其内容主要包括维护数据库中数据之间的关系,确保数 据存储的正确性以及在系统失败时恢复全部数据。据存储的正确性以及在系统失败时恢复全部数据。Server 还分配可用的服务器资源,例如,内存、网络和磁盘。Client应用程序通过网络与Serve
17、r应用程序进行通信。SQL Server 2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。SQL2008是一个全面的数据平台,使用集成的商业智能工具提供了企业级别的数据管理。SQL Server 2008数据引擎为关系型数据和结构化数据提供了更加安全可靠的的存储功能。这个数据引擎是数据管理解决方案的核心。此外SQL Server 2008结合了分析,报表,集成和通知功能。1、综合统一非关系模型的数据语言一般都分为模式数据定义语言(模式DDL)、外模式数据定义语言(外模式DDL)、与数据存储有关的描述语
18、言(DSDL)及数据操纵语言(DML),分别用于定义模式、外模式、内模式和进行数据的存取与处置。当用户数据库投入运行后,如果需要修改模式,必须停止现有的数据库的运行,转储数据,修改模式并编译后再重装数据库,十分麻烦。SQL语言则集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、建立数据库、插入数据、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,这就为数据库应用系统的开发提供了良好的环境。用户在数据库系统投入运行后,还可根据需要随时地逐步地修改模式,且并不影响数据库的运行,从而使系统
19、具有良好的可扩展性。另外,在关系模式中实体和实体的联系均用关系表示,这种数据结构的单一性带来了数据操作符的统一,从而克服了非关系系统由于信息表示方式的多样性带来的操作复杂性。2、高度非过程化非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求必须指定存取路径。而用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无须了解存取路径,存取路径的选择以及SQL语言句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。3、面向集合的操作方式非关系数据模型采用的是面向记录的操作方式,操作对象是一条记录。而SQL语言采用集合操作方式,不仅操作对象、查
20、找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。4、以同一种语法结构提供两种使用方式SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,他能够独立地用于联机交互的使用方式,用户何以在终端键盘上直接键入SQL命令对数据库进行操作;作为嵌入式语言,SQL语句能够嵌入到高级语言中,供程序员设计程序时使用。而在两种不同的使用方式下,SQL语言的语法结构基本上是一致的。5、语言简捷,易学易用SQL语言功能极强,但由于设计巧妙,语言十分简捷,完成核心功能只用了9个动词,SQL语言接近英语口语,因此容易学习,容易使用。2.2 WinForm概述WinForm 是.Net
21、开发平台中对 Windows Form 的一种称谓。.Net 为开发 WinForm 的应用程序 提供了丰富的 Class Library(类库) 。这些 WinFrom 类库支持 RAD(快速应用程序开发),这些类库被封装 在一个名称空间之中,这个名称空间就是 System.Windows.Forms。在此名称空间中定义了许多类,在开 发基于.Net 的 GUI 应用程序的时候,就是通过继承和扩展这些类才使得我们的程序有着多样的用户界面。 本文就试图通过一个最基本的类-Form,来具体说明一下用 Visual C#开发 WinForm 程序的具体过程。 一程序开发和运行环境及概括介绍 本问的
22、所有调试程序都基于微软视窗 2000 专业版本和.Net FrameWork Beta 2 版。 二第一个 WinForm 如果你的机器已经达到了我们程序要求的运行环境,那就打开一个文本编辑器把下面的 程序代码拷贝到编辑器里面,然后另存为 first.cs 文件。三做一个透明的 WinForm 当我第一次在视窗 2000 中看到透明的窗体,就想做出这样一个窗体应该是非常难的。肯定要调用很多的 API 函数。当接触了.Net 以后,才发现用 VisualC#做出一个透明的窗体是多么简单,只要设定一个值就可 以了。 Windows窗体也称为WinForms,可以创建应用程序的用户界面,并使用任何一
23、种.NET支持的语言编写应用程序的功能。 WinForms应用程序一般都有一个或者多个窗体提供用户与应用程序交互。窗体可包含文本框、标签、按钮等控件。大型WinForms应用程序有许多窗体,一些用于获取用户输入的数据,一些用于向用户显示数据,一些窗体会有变形、透明等其他效果甚至让你看不出他的真实面目。 ASP.NET可以无缝地与WYSIWYG HTML编辑器和其他编程工具(包括Microsoft Visual Studio .NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具的所有优点,包括开发人员可以用来将服务器控件拖曳到Web页的GUI和完全集成的调试支持。WinForm
24、含有一个窗体,作为控件和其它图形的平台,可以开发智能客户端,易于部署和更新图像,无论是否连接到Internet都可以工作,并且可以用比传统的基于Windows的应用程序(如MFC开发的Windows应用程序)更安全的方式访问本地计算机上的资源。WinForm和Web窗体。两者在开发环境中都具有完全的设计时支持,提供同样丰富的用户界面,由于这种功能相似性,要决定哪种技术适合给定的应用程序可能有点困难。如果创建的是一个公众可以通过Internet访问的电子商务网站,则应该使用Web窗体页开发此应用程序。如果正在生成需要利用客户端计算机的全部功能,并且处理的工作量很大,要求响应迅速的应用程序(比如办
25、公程序,游戏软件,销售系统),应该使用WinForm,它是在.NET框架中生成的,因此它可以访问客户端计算机上的系统资源,以消除由不希望的访问引起的任何安全性风险或潜在问题。Web窗体创建一个浏览器用户界面组成的应用程序,包括公众可通过万维网使用的应用程序,比如电子商务应用程序。但是Web窗体并不仅仅用于创建网站,许多其他应用程序同样适用于“瘦前端”,比如基于Internet的雇员手册或津贴应用程序。任何Web窗体应用程序都有一个重要的优点,就是无需发行成本。用户已经安装了所需的唯一一个应用程序浏览器。Web窗体应用程序与平台无关,即它们是“延伸”的应用程序。不论用户的浏览器类型是什么,也不论
26、使用的计算机类型是什么,他们都可以与应用程序进行交互。Web窗体应用程序提供了一些即使在非Web上下文中依然有用的功能。因为这些功能依赖于HTML,Web窗体应用程序适合任何种类的文本密集型应用程序,尤其适合那些文本格式设置对其很重要的应用程序,这些限制防止用户访问某部分应用程序。 Windows窗体的一些重要特点如下: 1.简单强大:Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序。 2.新的数据提供程序管理:数据提供程序管理提供易于连接OLEDB和ODBC数据源的数据控件,包括Microsoft SQL Server、Microsoft Access、J
27、et、DB2以及Oracle等。 3.安全:Windows窗体充分利用公共语言运行库的安全特性。这就意味着,一切都可以通过Windows窗体来实现,包括在浏览器中运行的不可信控件和用户硬盘上安装的完全可信的应用程序。 4.灵活的控件:Windows窗体提供了一套丰富的控件,并且开发人员可以定义自己有特色的新的控件。 方便的数据显示和操作:应用程序开发中最常见的情形之一是在窗体上显示数据。Windows窗体对数据库处理提供全面支持。可以访问数据库中的数据,并在窗体上显示和操作数据。 5.向导:向用户提供创建窗体、数据处理、打包和部署等的分布指导。第3章 需求分析软件需求分析工作是软件生存周期中重
28、要的一步,也是决定性的一步。只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。因此,在软件开发前应该做好对软件的需求分析。3.1 系统功能需求分析3.1.1 基本功能 用户的登陆:普通用户和管理员;个人日常帐本功能:新建一笔帐务(收入或是支出);当以管理员身份进入的时候还可以对用户进行管理;对支出收入帐务类别的一个管理,可以添加大类、子类,对各个类别的增加修改和删除;对帐户的维护,对帐户进行修改、增加、删除等功能,类别的分布可以清晰地展现,计算器对帐务的计算等等。本系统由福州远行者信息技术有限公司开发,更多内容请参阅公司官网。3.1.2
29、扩展功能除以上基本功能外,其他的管理功能都是扩展功能,包括如下功能。1 类别的分布图:这个是类别分布图,可以清晰明了的知道各个类别的开销于收入,可以根据日期查询收入和指出的具体情况,这是应用的report报表,在数据库中用 view 视图,在report.rdlc中绑定了View_Records视图。2 计算器,方便账务的计算,主要调用了笔记本自带的计算机功能 Process.Start(calc.exe);3.2 系统可行性分析可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统
30、完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。系统的可行性分析主要包括技术上的可行性、经济上的可行性、操作上的可行性、法律上的可行性和开发环境上的可行性。本系统的可行性分析如下:在技术方面:随着现在国内软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的人的需求。从整个系统的技术构成上来看,它属于一个数据库应用类的系统。其基本操作就是对存在数据库中的数据进行添加、删除、查找、编辑等。所以就单纯的数据库应用来看,
31、暂不存在太大的技术问题。因此从技术方面考虑开发此系统是可行的。在经济方面:现在越来越多的人都通过网络做许多事情,这个账务系统易于操作,虽然只是适合个人账务的管理但是其安全性和管理性比较好,实用性比较好,相信经济效益也比较高。因此从经济方面考虑开发此系统是可行的。在操作方面:随着时代的发展,全民素质逐步提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题,因此从操作方面考虑开发此系统是可行的。在法律方面:此系统没有侵犯他人合法权益,系统所涉及的条款与国家的现行法律没有抵触,不损害国家、集体、个人的任何利益,所以在法
32、律上是完全可行的。开发环境可行性:开发此个人账务管理系统需要的环境要求比较底,有ASP.NET环境,主要就是Visual Studio 2010 或是2008,数据库2005或是2008。目前来看操作系统和各种软件都不是问题,系统硬件也可以满足,所以从开发环境上来说是可行的。3.3 数据流分析数据是信息的载体,是今后系统要处理的主要对象。因此必须对系统调查中所收集的数据统计和处理以及数据的过程进行分析和整理。如果有没弄清楚的问题,应立刻返回去弄清楚它。如果发现有数据不全,采集过程不合理,处理过程不畅,数据分析不深入等问题,应该在此分析过程中研究清楚并解决它。数据与数据流程分析是今后建立数据库系
33、统和设计功能模块处理过程的基础。其具体的做法是:按照业务流程图清理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程绘制成一套完整的数据流图。根据结构流图画出初步数据流图。如图3-1所示。图3-1 个人账务管理流程图从流程图上可以看到论坛完成的走向,其实每一个流程的节点处都有许多功能,如表3-1所示。表3-1 个人账务管理功能表功能编号功能描述功能说明优先级备注$F1.0用户登录普通用户填写用户名和密码登录后才能进行系统的使用。F1.1管理员登录管理员填写用户名和密码登录系统进行系统的维护和管理。$F2.0帐目管理进入帐目管理子系统,用户对自己的帐目进行管理和维护。F2.1帐目添加登记新加
34、帐目的信息。F2.2帐目修改修改已经有的帐目信息。F2.3帐目明细显示所选存在帐目详细信息。F2.4帐务类别维护对支出和收入的帐务的类别进行维护F2.5帐务类别添加在支出或是收入的类别下面添加大类,也可以添加子类F2.6帐务类别修改对帐务类别的修改F2.7帐务类别删除对帐务类别的删除$F3.0账户的维护对帐务名余额帐户类型的维护F3.1账户的添加对帐务名余额帐户类型的添加F3.2账户的修改对帐务名余额帐户类型的修改F3.3账户的删除对帐务名余额帐户类型的删除F3.4类别分布的查看 类别分布图的查看 F3.5计算器对帐务进行计算3.4 运行环境与其它要求此系统是基于WEB浏览器的系统网站开发,后
35、台数据库采用 SQL SERVER 2008,前端使用ASP.NET环境进行开发,开发工具为Visual Studio 2010,编程语言为C#。3.4.1 运行环境简介运行环境配置从硬件和软件两方面来描述,所列出的都是系统所能正常运行的最低限度。面更高的硬件配置和软件环境将会带来更快的运行速度以及更稳定的运行效果。硬件要求:CPU:酷睿双核 (最好酷睿双核以上)。内存:1G(最好2G)磁盘空间:6GB(完全安装,包括.NET Frameworks 6全部开发工具和MSDN);5GB(选择安装,包括.NET Frameworks 部分开发工具)。第4章 系统总体设计4.1 系统介绍与功能模块用
36、户登录后可以对自己的收入和支出情况按照不同的类型进行方便的的录入,同时也可以对个人的信息进行修改,例如修改密码等。同时,用户也可以对收入和支出的类别进行维护;对帐户的维护,类别分布清晰展现,计算器很方便的计算帐务,这个系统可以实现详细记录每一笔收入和支出的帐,方便用户在日后浏览自己的财务,可以按照具体的时间查阅自己的帐务,还可以按照天、月、年的收入和支出的帐务进行统计。本系统由福州远行者信息技术有限公司开发,更多内容请参阅公司官网。登陆:普通用户和管理员的登陆;当以管理员的身份登陆时,可以进行用户管理,然而普通用户登陆时,是不允许打开用户管理界面的;新建一笔:可以新建一笔账务来记录自己的收入或
37、是指出的情况;记录的时须选中类型(支出或收入下的具体子类)再进行记录信息的详细记载,有金额、账户、日期、用户、备注的详细记载;用户管理:只有以管理员的身份进入才能对其进行操作;可以添加用户,删除用户,对用户进行修改其密码,当选中admin时是不允许进行删除操作的;类别维护:支出和收入下面的类别进行维护;对类的添加,修改和删除;左边树状菜单栏自动生成,类别的添加只能在支出和收入下添加,添加大类是支出和收入分支下的,添加的子类则是具体大类下的子结点;支出和收入结点是不能进行修改和删除的,当点击指出或是收入时,类别名称textbox中是不会出现对应的类名,此时只能操作添加大类;当点击支出或是收入的子
38、类时,可以对其进行修改和删除,同时也可以添加子类;当点击子类下面的子类时,只能对其进行修改和删除操作;账户维护:账户维护类似用户管理;当选中gridview表中的一条数据时,具体信息就会显示在右边账户信息中对应的textbox中,可以对其进行修改和删除操作;同时也可以添加一个账户以及它的详细账户信息。类别的分布图:这个是类别分布图,可以清晰明了的知道各个类别的开销于收入,可以根据日期查询收入和指出的具体情况,这是应用的report报表,在数据库中用view 视图,在report.rdlc中绑定了View_Records视图。4.2 数据库设计 设计数据库系统时应该首先充分了解用户各个方面的需求
39、,包括现有的以及将来可能增加的需求。图4-1 数据联系图 Table_Users:是对用户的一张表;主键ID,用户名UserName,密码Password,和用户的类型UserType (0:管理员1:普通用户);Table_Account:帐户表;账户主键ID,账户名AccountName,账户类型AccountType,和帐户余额AccountBalance;Table_Category:类别表;主键ID(类别ID),类别名称CategoryName,账户类别的父类别ID(PID);类型(0:支出1:收入)CategoryType;Table_Records:明细表;主键ID,账户类别的父
40、类别ID(CatagoryPID),类别ID(CategoryID),记账金额Total,备注Note,记账账户ID(AccountID),日期RecordDate,记账人的ID(RecordUser),类型,收入或者支出RecordType;4.2.1数据库概念设计概念结构设计是整个数据库设计的关键,它是通过对用户需求进行综合、归纳与抽象。得到数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及它们之间的关系,为后面的结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。4.2.2数据库逻辑设计根据物理结构设计的三原则即尽可能减少数据冗余和重复;结构设计与
41、操作设计相结合;数据结构要具有相对的稳定性,进行本系统中关系数据库表结构设计。本系统的数据库采用了大量的数据表:1、Table_Users:是对用户的一张表;主键ID,用户名UserName,密码Password,和用户的类型UserType (0:管理员1:普通用户);图4-2 用户信息结构图2、Table_Account:帐户表;账户主键ID,账户名AccountName,账户类型AccountType,和帐户余额AccountBalance;图4-3 账户表信息结构图3、Table_Category:类别表;主键ID(类别ID),类别名称CategoryName,账户类别的父类别ID(P
42、ID);类型(0:支出1:收入)CategoryType;如图4-9所示图4-4 类别信息信息结构图4、Table_Records:明细表;主键ID,账户类别的父类别ID(CatagoryPID),类别ID(CategoryID),记账金额Total,备注Note,记账账户ID(AccountID),日期RecordDate,记账人的ID(RecordUser),类型,收入或者支出RecordType;图4-5 明细信息结构图第5章 详细设计5.1登陆设计图5-1 登陆界面输入正确的用户名和密码可以登陆,这里有普通用户和管理员的登陆;信息类别信息项产生方式说明出错时的校验、提示信息自动带出手工
43、选择手工录入必须录入登录信息登录账户字符型 50位,默认为空用户或密码错误登录密码字符型 50位,输入框类型为密码框,默认为空用户或密码错误 点击【登录】按钮,如果用户名、密码均正确,则系统跳转至首页; 点击【登录】按钮,如果用户名或密码不正确,需提示“用户名或密码错误”; 登陆时,将用户所有的所有角色的权限全部带出。string strConn = System.Configuration.ConfigurationManager.ConnectionStringsconn.ConnectionString; /连接数据库SqlConnection conn = new SqlConnect
44、ion(strConn);conn.Open();SqlCommand comm = new SqlCommand();string strSql = select * from Table_Users where Username=Username and Password=Password;/查询表,按照text里边的数据查询comm.CommandText = strSql;comm.Connection = conn;comm.Parameters.Add(new SqlParameter(Username, TxtUserName.Text);comm.Parameters.Add(
45、new SqlParameter(Password, TxtPassword.Text);SqlDataReader dr = comm.ExecuteReader();if (dr != null)/如果dr不为空则输入正确,跳转到frmMain窗体 dr.Read(); frmMain frmmain = new frmMain(drUserName.ToString(), drID.ToString(), drUserType.ToString(); frmmain.Show(); IsLogin = true; this.Close(); else MessageBox.Show(登录
46、失败,用户名或者密码错误!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information);5.2个人帐本模块设计5.2.1 主界面图5-2 主界面 点击【新建一笔】按钮,跳出新建账务的窗体,用于新增账务。 点击【用户管理】按钮,弹出用户管理窗体,用于用户信息的管理。只有在管理员登陆的情况下可以点击此按钮。 点击【类别维护】按钮,弹出类别维护窗体。用于类别信息的管理。 点击【账户维护】按钮,弹出账户维护窗体。用于账户信息的管理。 点击【类别分布】按钮,弹出类别分布图,可以清楚明了看见账务分布情况。 双击或是右击gridview表中数据进行查看和修改。 点击【查询】按钮,可以根据日期,账户,和用户进行分类查询。 当用户名和密码输入正确后跳转到这个界面,可以清晰看到该系统所具有的功能最上面的为菜单栏menuStrip,里面包括系统,配置(用户管理、类别管理、帐户管理),工具(类别分布、计算器),帮助(说明、关于);工具栏toolStrip是菜单栏功能的展开日期可以按照具体时间对帐务的明细进行查询,也可以按账户,用户查询,账户和用户都是动态生成左边为一个树桩菜单,是动态生成的,按照节点生成,右边为Gridview对数据的显示,双击Gridview中的数据可以查看到详细信息并对其进行修改与右击修改功能一样左边树状菜单的自动生成#region