课程设计(论文)学生生活费用管理系统的分析与设计.doc

上传人:仙人指路1688 文档编号:3993593 上传时间:2023-03-30 格式:DOC 页数:15 大小:218KB
返回 下载 相关 举报
课程设计(论文)学生生活费用管理系统的分析与设计.doc_第1页
第1页 / 共15页
课程设计(论文)学生生活费用管理系统的分析与设计.doc_第2页
第2页 / 共15页
课程设计(论文)学生生活费用管理系统的分析与设计.doc_第3页
第3页 / 共15页
课程设计(论文)学生生活费用管理系统的分析与设计.doc_第4页
第4页 / 共15页
课程设计(论文)学生生活费用管理系统的分析与设计.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《课程设计(论文)学生生活费用管理系统的分析与设计.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)学生生活费用管理系统的分析与设计.doc(15页珍藏版)》请在三一办公上搜索。

1、目 录1 引言11.1 要求11.2 背景11.3 功能要求12 需求分析22.1 处理对象22.1.1收入管理模块功能22.1.2支出管理模块功能22.1.3查询统计管理模块22.1.4系统管理模块22.1.5系统管理模块32.2 安全性和完整性要求33 概念结构设计33.1 实体-属性图33.2 实体-联系图44 逻辑结构设计64.1 将E-R图转换为关系模型64.2 数据库相关属性的定义65 物理结构设计86 数据库的实施和维护96.1 建立数据库96.2 建立数据表96.2.1 用户表96.2.2 收入表106.2.3 支出表106.2.4 恢复与备份日志表116.3 表中数据的输入1

2、16.4 建立视图116.4.1收入视图116.4.2支出视图126.5 建立索引127 结束语13参考文献13学生生活费用管理系统的分析与设计1 引言1.1 要求本系统是针对用户要求,使用计算机对自己日常的资金的收入、支出以及相关的各种信息进行记录、修改、添加、删除等操作,并实现对信息进行统计的操作而设计的一种现代化个人财务管理软件。1.2 背景经过双11和双12的洗礼,好多同学都感到自己手里的资金捉襟见肘。学生本来就是一个消费群体,所以更应该管好自己手里的每一分钱。当今社会越来越着朝着信息化和数字化方向发展,计算机的应用使我们的生活越来越方便和快捷,可以说我们的每个人生活都离不开计算机的帮

3、助了。越来越多的个人应用软件成为了人们重要的助手,也在潜移默化的改变着我们的生活。理财,是每个家庭和个人所必须面对的问题。实际生活中我们经常要对个人的各项财务收支进行管理,本课题的目的就是利用计算机对各项财务进行电子化的管理,使我们的理财更加方便和理性化,提升我们生活的质量和品位。传统的在纸上记录收入支出的方式已经过时,人们需要一种可以在计算机记录自己收入支出信息的软件,可是市场上的财务管理软件大多数十面向企业,或是有专门用途,面向学生用户的个人财务管理系统很难找到,再者免费的软件更是少之又少,为了满足普通学生用户的需求,特开发此软件。本系统功能简单,只适合对学生生活费用管理要求不高的用户,可

4、以完成收入支出金钱的记录与查询等操作。本系统操作简单,使用方便。1.3 功能要求(1)能够实现学生个人财务管理方面各项功能,能成功的对用户各种信息进行管理。(2)能够实现查询、修改、删除、添加等功能,数据的稳定性和可靠性高。(3)能够实现按日期查询以及对库存数据进行按月统计。(4)拥有良好的人机交互界面。2 需求分析2.1 处理对象整个系统分为收入管理,支出管理,查询统计管理,系统设置,备份恢复五个模块,收入管理模块分为添加、修改、删除等功能模块。支出模块与收入模块类似。 查询统计模块分为收入查询、支出查询、收支统计三个模块,系统设置模块分为基本设置、安全设置两个模块,备份恢复模块分为数据备份

5、、数据恢复模块两个模块,每个模块的功能可以从名字上明显的看出。系统功能模块图,如图1所示。学生生活费用管理系统备份恢复系统设置查询统计支出管理收入管理删除记录修改信息添加支出收支统计支出查询收入查询数据恢复数据备份基本设置安全设置删除记录修改信息添加收入 图1 系统的功能模块图2.1.1收入管理模块功能收入管理模块是用户对现金进行添加、删除、修改操作的模块,提供用户对现金的收入进行操作的功能。2.1.2支出管理模块功能支出管理模块和收入管理模块功能相似,提供用户对现金的支出进行操作的功能。2.1.3查询统计管理模块查询统计模块分为收入查询、支出查询、收支统计三个模块,提供用户对收支信息进行统计

6、的功能。2.1.4系统管理模块系统管理模块提供用户对用户个人信息进行基本设置和安全设置的功能。2.1.5系统管理模块备份恢复模块分为数据备份、数据恢复模块两个模块,提供用户对数据库的备份和恢复的功能。2.2 安全性和完整性要求安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可以满足系统数据一定程度上的安全性,在通过用户授权机制,用户登录来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次的安全保密功能。系统完整性要求系统中数据的正确性以及相容性。可以通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。3 概念结构设计3.1 实体-属性图(1)用户实体的实体属

7、性图如图2所示。图2 用户实体的实体属性图(2)收入实体的实体属性图如图3所示。图3 收入物资实体属性图(3)支出实体的实体属性图如图4所示。图4 支出实体属性图3.2 实体-联系图(1)用户收入联系E-R图如图5所示。类型时间来源编号金额备注收 入N获得用户ID密码用 户1用户名电话身份证个性签名图5 用户收入联系E-R图(2)用户支出联系E-R图如图6所示。去向金额类型备注编号时间支 出N消费用户ID用户名1电话密码用 户身份证个性签名图6 用户支出联系E-R图(3)总E-R图如图7所示来源编号金额类型时间编号金额类型时间备注收 入N获得用户ID1用户名密码用户1消费电话身份证N支 出个性

8、签名备注去向图7 总E-R图4 逻辑结构设计4.1 将E-R图转换为关系模型根据系统需求,以及范式的基本要求,将E-R图进行转换并进行优化,最终形成三个关系模式,结果如下:用户(用户ID,用户名,密码,电话,身份证,个性签名);收入(收入编号,用户ID,金额,类型,时间,来源,备注);支出(支出编号,用户ID,金额,类型,时间,去向,备注);关系依赖:用户编号用户名(每个用户编号只有一个用户名,用户名依赖于用户编号)收入编号收入金额(每个收入编号只能记录当前的收入金额数)支出编号支出金额(每个支出编号只能记录当前的收入金额数)4.2 数据库相关属性的定义本小节主要是对相关属性的数据类型、长度和

9、是否为主键作相关介绍。具体如表1、表2、表3所示: 表1 用户信息表属性名数据类型长度可否为空是否为主键属性描述userIdint 否是identity(1000,1)usernamevarchar10否否用户名passwordvarchar10否否密码phonevarchar11是否电话idCardvarchar16是否身份证号码autographvarchar200是否个性签名表2 收入表属性名数据类型长度可否为空是否为主键是否为外键属性描述iIdint 否是否identity(20000,1)userI dint 否否是用户IDiMoneydecimal(10,2)否否否金额iTypev

10、archar100是否否收入类型iTimesmalldatetime否否否日期iResourcevarchar200是否否收入来源iRemarkvarchar200是否否备注表3 支出表属性名数据类型长度可否为空是否为主键是否为外键属性描述pIdint 否是否identity(20000,1)userIdint 否否是用户IDpMoneydecimal(10,2)否否否金额pTimesmalldatetime否否否日期pTypevarchar100是否否消费类型pGovarchar100是否否消费去向pRemarkvarchar200是否否备注5 物理结构设计数据库物理设计阶段的任务是根据具体

11、计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。我们为本系统专门设计了数据库的物理结构,确定数据的存取方法和确定数据的存储结构。物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,我们对数据库系统所支持的事务要进行了仔细分析,获得优化数据库物理设计的参数。对于数据库查询事务,需要得到如下信息:要查询的关系、查询条件(即选择条件)所涉及的属性、连接条件所涉及的属性、查询的投影

12、属性。上述这些信息是确定关系存取方法的依据。除此之外,还需要知道每个事务在各关系上运行的频率,某些事务可能具有严格的性能要求。例如,某个事务必须在20秒内结束。这种时间约束对于存取方法的选择有重大的影响。需要了解每个事务的时间约束。确定数据库的存取方法,就是确定建立哪些存储路径以实现快速存取数据库中的数据。现行的DBMS一般都提供了多种存取方法,如索引法、HASH法等。我们使用了最常用的索引法。 数据库的索引类似书的目录。在书中,目录允许用户不必浏览全书就能迅速地找到所需要的位置。在数据库中,索引也允许应用程序迅速找到表中的数据,而不必扫描整个数据库。在书中,目录就是内容和相应页号的清单。在数

13、据库中,索引就是表中数据和相应存储位置的列表。使用索引可以大大减少数据的查询时间。但需要注意的是索引虽然能加速查询的速度,但是为数据库中的每张表都设置大量的索引并不是一个明智的做法。这是因为增加索引也有其不利的一面:首先,每个索引都将占用一定的存储空间,如果建立聚簇索引(会改变数据物理存储位置的一种索引),占用需要的空间就会更大;其次,当对表中的数据进行增加、删除和修改的时候,索引也要动态地维护,这样就降低了数据的更新速度。所以我们只为用户表、收入表、支出表建立了索引,以加快查询速度。6 数据库的实施和维护6.1 建立数据库分别创建3个数据库文件,数据库主文件、辅助文件、日志文件。create

14、 database PersonFinanceon primary( -主文件name = mFinance,filename = D:financePersonFinance.mdf,size = 5MB,maxsize = 100MB,filegrowth = 1MB),( -辅助文件name = nFinance,filename = D:financePersonFinance.ndf,size = 5MB,maxsize = 50MB,filegrowth = 1MB),( -日志文件name = lFinance,filename = D:financePersonFinance.

15、ldf,size = 5MB,maxsize = 50MB,filegrowth = 1MB)6.2 建立数据表6.2.1 用户表用户表主要存储了用户的基本信息(用户名等)和安全信息(密码、身份证等),用户可以根据自己的需要来创建多个用户名,其中admin为管理员,只有该用户可以对其他用户进行管理,以及数据的备份和恢复,建议用户在刚开始使用时创建一个用户名为”admin”的用户。数据库SQL语句如下:create table UserInfo(userId int identity(1000,1) primary key,username varchar(10) ,password varch

16、ar(10) not null,phone varchar(11),idCard varchar(16),autograph varchar(200);6.2.2 收入表收入表是用来存储所有用户关于收入信息的表,用户可以根据自己的用户名来查询自己的收入信息,数据库SQL语句如下:create table Income(iId int identity(20000,1) primary key,username varchar(10) foreign key(username) references UserInfo,iMoney decimal(10,2) default 1 not null

17、,iType varchar(100),iTime smalldatetime not null,iResource varchar(200),iRemark varchar(200);6.2.3 支出表支出表是用来存储所有用户关于支出信息的表,用户可以根据自己的用户名来查询自己的支出信息,数据库SQL语句如下:create table Pay(pId int identity(300000,1) primary key,username varchar(10) foreign key(username) references UserInfo,pMoney decimal(10,2) def

18、ault 1 not null,pType varchar(100),pTime smalldatetime not null,pGo varchar(200),pRemark varchar(200);6.2.4 恢复与备份日志表该表主要是用来记录用户备份和恢复的操作,以便需要时进行查看,数据库SQL语句如下:create table BrLog(brId int identity(9000,1) primary key,brType varchar(20),brTime smalldatetime default getDate(),brPosition varchar(300)6.3 表

19、中数据的输入向以上3张表中输入数据,输入完毕后各表数据如截图图8-图10所示。图8用户基本信息表截图图9 收入基本信息表截图图10 支出信息表截图6.4 建立视图6.4.1收入视图该视图主要用来查询所有用户的收入统计情况,以便用户随时掌握自己的收入情况,分别按照不同的时间段来统计,代码如下:create view view_Incomeasselect (select sum(iMoney) from Income) as 总收入,(select sum(iMoney) from Income where getDate()-iTime=365) as 本年度收入(select sum(iMo

20、ney) from Income where getDate()-iTime=90) as 本季度收入,(select sum(iMoney) from Income where getDate()-iTime=30) as 本月收入,(select sum(iMoney) from Income where getDate()-iTime=1) as 今日视图建立完毕后,打开视图可以看到如图11所示的数据。图11收入视图6.4.2支出视图与收入视图功能类似。代码如下:create view view_Payasselect (select sum(pMoney) from Pay) as 总

21、支出, (select sum(pMoney) from Pay where getDate()-pTime=365) as 本年度支出, (select sum(pMoney) from Pay where getDate()-pTime=90) as 本季度支出, (select sum(pMoney) from Pay where getDate()-pTime=30) as 本月支出, (select sum(pMoney) from Pay where getDate()-pTime=1) as 今日视图建立完毕后,打开视图可以看到如图12所示的数据。图12支出视图6.5 建立索引C

22、REATE UNIQUE INDEX uindex ON useinfo(usename);CREATE UNIQUE INDEX iindex ON income(iId);CREATE UNIQUE INDEX pindex ON pay(pId);7 结束语学生生活费用管理系统,本质上是对数据库的更新和检索。我们小组最初对系统的理解很模糊,经过讨论初步确定了这个系统的功能需求和较详细的工作流程,遗憾的是由于课程设计设时间太短和自身能力所限,不能完全实现预想的学生生活费用管理系统的全部功能。通过这一周的课程设计,我们对学过的数据库技术及应用理解的更深了,基本了解了整个数据库管理系统设计的过

23、程,对数据流图的设计过程更加清楚,进一步懂得了需求分析阶段的重要性,因为如果我们不了解现实世界中业务流程的话,那就不能用软件模拟这个业务流程,整个系统设计就无从下手。另一方面如果在需求分析阶段对系统功能理解错误,那设计的系统就会完全失败。在设计过程中使我们也加深了对数据库相关知识的理解,在设计数据库时提取实体联系的过程就是对整个系统的分析过程。由数据库向关系模型映射完成后,将关系模型以二维表的形式存储在计算机内部,就可以用Select语句实现检索和视图显示过程了。整个程序虽然没有通过代码完全实现,但是整个程序的结构已经呈现出来,让我们明白只要熟练的掌握一门编程语言就可以完全实现以上所有的功能。

24、我们的整个设计过程也是对系统的理解一点点加深的过程。我们每个人都通过课程设计对书本上知识的理解更加深刻。另一方面对收集资料、查阅文献、方案制定等实践能力也得到了很好的锻炼;同时在做的过程中也发现很多问题还处理不了,自身能力还有待提高。总之,万事开头难,一开始不知道如何入手,所以到最后做完了有种如释重负的感觉。此外,我们还明白了一个道理:知识必须通过应用才能实现其价值!有些东西自以为学会了,但真正到用的时候才发现有所欠缺,所以我们认为只有到真正会用的时候才是真的学会了。 在此要感谢我们的指导老师张老师对我们悉心的指导,感谢老师给我们的帮助和支持。参考文献1宋瑞红,龚文军.构建网络化职工个人财务管

25、理体系J.新疆师范大学学报(哲学社会科学版),2003,(04):166-168.2艳艳.学习理财并不难J.致富之友,2003,(05):24-25.3袁斌,黄婧婷.个人财务管理类应用发展模式的探讨J.中国市场,2014,(27):122-123.4宋卫华,邵建.基于.NET个人财务管理系统的设计与实现J.电脑编程技巧与维护,2012,(04):33-34.5窦尔翔,杨鹭.个人财务报表:功用与设计J.改革与战略,2012,(10):51-58.6程博,熊婷.个人财务报告及评价体系框架构建研究J.商场现代化,2008,(31):376-377.7程博.个人财务报告体系框架构建研究J.财会通讯,

26、2012,(12):21-29.8段世芳.新会计制度下财务管理模式探讨J.企业经济,2013,(03):181-184.9黄海燕.基于多期随机优化的个人财务计划模型研究J.中小企业管理与科技(上旬刊),2013,(05):100-101.10胡纲.个人财务软件MicrosoftMoneyPremium2004J.个人电脑, 2008,(12):21-26.11郭京宾.美国个人财务规划业的发展背景与现状J.现代商业银行,2004,(12):35-36.12李亚军.对个人财务策划的认识J.理论界, 1995,(09):115-120.13周伏平,秦国楼.我国个人财务策划需求的实证分析J.农村金融研究,2002,(12):21-25.14史学梅.四种个人财务软件评介J.电子与电脑,1995,(09):115-125.15王化成.国际财务管理初探J.会计研究,1992,(04):55-58.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号