家庭记账管理系统数据库课程设计报告
家庭财务管理系统
课程设计说明书课程设计名称:_______ 数据库课程设计______________ 课程设计题目:家庭财务管理系统_____________ 学院名称:____________ 信息工程学院_______________ 专业:计算机应用与技术班级:____________、数据库需求分析:对于"家庭财务管理系统"而言,整个系统就是一个加工"家庭财务管理”。
从用户的需求描述可知,”管理员"是数据的源点,”普通用户"是数据的终点。
另外,管理员需要录入用户信息、理财信息和日常管理信息,说明”用户信息"、”理财信息"和"日常管理信息"是数据流;同样,”统计请求”和"统计结果"也是数据流。
根据上述分析,得到如图所示的第1层DFD一层数据流图根据第1层DFD图绘制下一层数据流图时,细化第1层的加工"家庭财务管理”,从而描述系统的主要功能。
从第1层DFD得知,”用户信息"是管理员需要录入的一个信息,因此加入一个加工”录入用户信息",同样得到”录入理财项目信息”、”录入日常管理信息"两个加工。
另外,数据流”统计报告请求”和"统计报告结果”应该由加工”统计报告” 来完成。
这样,我们用”录入用户信息"、”录入理财项目信息”、”录入日常管理信息”和"统计报告”四个加工代替第1层的"家庭财务管理”,同时增加这些数据流对应的数据存储,即”用户”、”理财”和"日常管理”,最后得到如图所示的第2层DFD二丿公数据流图继续进行分解,分析第2层DFD中的加工”统计报告”。
用户统计报告时需要提供合法性检查,因此,”统计报告”可以分解为”合法性检查”和"统计"两个处理步骤,从而形成如图所示的第3层DFD活期银行信息借入信息查询统计• 查询借岀借岀信息合法查询条件告结果 ------------------支岀统计出借入w—三层数据流图[斤入丰泪 »|人丿卜仮、收入来源信息收入信息成员信息一——:家庭成员成员信息 _____________•家庭成员"活期银行账户走期银行 账户存款信息存储定期银行信<丿t借入款借贷信息 借岀款收入统计报告请求合法性检查/匚件支岀信息*支岀类型活期__________定期家庭成 员支岀人员 •■收入人员经手人经手人户主数据字典(一)、数据项1 数据项名:编号;数据类型:int ;数据长度:4;2 数据项名:姓名;数据类型:nvarchar ;数据长度:50 ;3 数据项名:备注;数据类型:nvarchar ;数据长度:50 ;4 数据项名:收入来源;数据类型:nvarchar ;数据长度:50;5 数据项名:支出类型;数据类型:nvarchar ;数据长度:50;6 数据项名:收入日期;数据类型:datetime ;数据长度:8 ;7 数据项名:收入人员;数据类型:int ;数据长度:4 ;8 数据项名:收入金额;数据类型:float ;数据长度:16;9 数据项名:支出日期;数据类型:datetime ;数据长度:8;10. 数据项名:支出人员;数据类型:int ;数据长度:4;11 数据项名:支出金额;数据类型:float ;数据长度:16;12 数据项名:账户编号;数据类型:int ;数据长度:4;13 数据项名:日期;数据类型:datetime ;数据长度:8;14 数据项名:经手人;数据类型:nvarchar ;数据长度:50;15 数据项名:存入金额;数据类型:float ;数据长度:16;16 数据项名:支出金额;数据类型:float ;数据长度:16;17 数据项名:初始金额;数据类型:float ;数据长度:16;18 数据项名:余额;数据类型:float ;数据长度:16;19 数据项名:预还日期;数据类型:datetime ;数据长度:8;20 数据项名:借出日期;数据类型:datetime ;数据长度:8;30 数据结构名:借入款;组成:编号 备注;+借入日期 +预还日期 +借入人 +出借人 +借入金额 +31 数据结构名:借出款;组成:编号 备注;+借出日期 +预还日期 +出借人 +借贷人 +借出金额 +32 数据结构名:活期银行账户;组成:编号+账号 +账户类型 +卡号+账户户主姓名 +初始33 数据结构名:定期银行账户;组成:编号 金额 +余额 +开户银行 +开户日期;+账号 +账户类型 +卡号+账户户主姓名 +初始34 数据流名:家庭成员信息;数据流来源:户主;数据流去向:家庭成员信息表21 数据项名:开户银行;数据类型: nvarchar ;数据长度: 50; 22 数据项名:开户日期;数据类型: datetime ;数据长度: 8;二)、数据结构23 数据结构名:用户;组成:编号+姓名+备注; 24 数据结构名:收入来源;组成:编号+收入来源; 25 数据结构名:支出类型;组成:编号+支出类型;26 数据结构名:日常收入;组成:编号+收入日期+收入人员+收入来源+收入金额+ 备注; 27 数据结构名: 日常支出组成: 编号+支出日期+支出人员+支出类型+支出金额+备 注; 28 数据结构名:活期账户;组成:编号+账户编号+日期+经手人 +存入金额 +支出金额 +备注;29 数据结构名:定期账户;组成:编号+账户编号+日期 +经手人 +存入金额 +支出金额 +备注;金额 +余额 +开户银行 +开户日期;三)、数据流35 数据流名:收入信息;数据流来源:户主;数据流去向:家庭成员信息表36 数据流名:支出信息;数据流来源:户主;数据流去向:家庭成员信息表37 数据流名:统计报告请求;数据流来源:户主;数据流去向:统计报告38 数据流名:统计报告结果;数据流来源:统计报告;数据流去向:户主家庭成员信息包括的数据项由:编号,姓名,备注。
C语言家庭财务管理系统设计报告
东华理工大学C语言课程设计实验报告题目:家庭账务管理姓名:曾祥华班级:1321815学号:201320181518指导老师:程志梅一案例描述1.总体描述家庭财务管理系统主要是对家庭成员的收入,支出,进行添加,删除,查询等操作,并能统计总收入和总支出。
该软件给家庭成员提供了一个管理家庭财务的平台。
2.模块描述1)菜单设计:本系统提供简单易操作的界面。
有提示,帮助用户根据需要对家庭财务管理系统进行操作。
2)添加模块:根据实际的收入或支出,添加相应的记录,条数不限。
3)查询模块:可以选择不同关键字输入,查找该条记录。
4)删除模块:若某条记录错误或者不需要则可以删除。
5)显示模块:按照添加的先后顺序依次把记录显示在屏幕上,并显示总收入和总支出以及余额。
6)退出模块:退出财务管理系统并保存文件。
二界面设计界面有相应的选择,根据自己的需要对该管理系统进行添加,查找,删除,显示功能操作。
本软件界面友好,不难操作,用户可根据自己的需要按提示进行。
三模块化设计方案1.系统主要函数及功能1)DataInit函数:功能为数据初始化将数据从硬盘传到内存。
2)add函数:功能为添加收入或支出的记录3)search函数:功能为查找联系人输入关键字,从文件中搜索相应的记录并显示出来。
4)delete_rec函数:功能为删除记录若某条记录错误或者不需要则可以删除。
5)show函数:功能为显示记录将添加的记录显示在屏幕上。
6)quit函数:功能为保存信息退出系统2.主函数调用各功能函数流程四.数据结构描述struct F_Data{int year; //年int month; //月int data; //日期float amout; //金额char name[20]; //姓名int type; //收入或支出类型开始打开文件,载入信息用户菜单界面1 添加记录2查询记录3删除记录4显示记录退出保存结束char comment[100]; //备注struct F_Data*next; //定义一个指针};该数据结构为链表,是一种动态进行存储分配的结构。
个人记账系统课程设计报告
个人记账系统课程设计报告1000字该报告涵盖了个人记账系统课程设计的全面介绍,包括该系统的目标、原则、功能、技术架构和实现方式。
这个系统的设计旨在帮助用户轻松地独立管理他们的财务记录,同时提高他们对于自己财务状况的认知和理解。
1. 系统目标个人记账系统的目标是为个人提供一种自动记录和跟踪他们的财务状况的方式。
它将允许用户轻松地记录收入和支出,并根据它们的类别和日期进行归类。
此外,该系统还将允许用户设置预算和目标,以便能够更好地理解他们的财务状况并做出适当的调整。
2. 系统原则在设计该系统时,考虑到以下几个原则:- 用户友好 - 用户能够轻松地使用该系统,并快速地完成设置、添加记录和查看报告等任务- 安全性 - 系统需要保护用户的财务记录,确保他们的数据不会被未经授权的第三方访问- 可扩展性 - 系统需要允许用户根据自己的需要添加新的支出和收入类别,并允许他们在需要时修改预算和目标- 高效性 - 系统需要具有高效处理和存储财务记录的能力,并在需要时快速生成报告3. 系统功能该系统将具有以下主要功能:- 财务记录的添加:用户将可以添加支出和收入记录,并选择适当的类别和日期进行归类- 财务记录的编辑和删除:用户将可以编辑和删除他们的财务记录- 预算和目标的设置:用户将可以设置每月的预算和目标,并根据需要进行修改- 报告生成:用户将获得能够帮助他们理解他们的财务状况的报告,如月度支出和收入、类别分析等等- 平衡表的生成:用户将获得一份按月生成的平衡表,以便更好地跟踪他们的财务状况4. 技术架构该系统将使用PHP和MySQL作为后端技术,使用HTML、CSS和JavaScript作为前端技术。
最终系统将部署在云端服务器上,并通过Web浏览器进行访问。
服务器将使用Linux操作系统,并使用Apache Web服务器和PHP脚本语言。
5. 实现方式该系统的实现将包括以下阶段:- 需求分析和设计:这个阶段需要确定系统的功能、原则和技术架构,以及确保它们与用户需求相符合- 开发:这个阶段将涉及到编写PHP和JavaScript脚本,并使用MySQL数据库存储财务记录数据- 测试:这个阶段将包括对系统进行单元测试和集成测试,以确保它符合设计规范并能够正确处理数据- 部署和维护:在这个阶段,系统将部署到云服务器上,并开展常规维护工作,以确保其可靠性和安全性。
家庭财务管理系统报告
《程序设计基础》课程设计报告题目家庭财务管理系统设计专业班级学号姓名指导老师完成时间目录1 设计要求 .................................................................................................. 错误!未定义书签。
2 系统设计 ............................................................................................... 错误!未定义书签。
2.1 设计思路................................. 错误!未定义书签。
2.2 系统功能模块............................. 错误!未定义书签。
2.3 系统流程图............................... 错误!未定义书签。
2.4 算法设计与描述........................... 错误!未定义书签。
3 关键程序代码 .......................................................................................... 错误!未定义书签。
4 程序运行结果 .......................................................................................... 错误!未定义书签。
5 总结 .......................................................................................................... 错误!未定义书签。
参考文献 ........................................................................................................ 错误!未定义书签。
家庭理财系统数据库课程设计报告
数据库原理及应用课程设计报告题目:家庭理财专家班级: 1020562学号: 20:武普泉指导老师:宇君提交时间: 2012-12-30一、需求分析1.系统需求与功能分析a).课题背景:近几年来,随着我国城乡居民收入的增加和生活水平的提高,家庭理财已成为人们居家过日子的重要容。
社会学家细心的观察到,时下家庭的财务管理比之计划经济年代,开始发生微妙的变化。
现在的城乡家庭生活发生了明显的变化,人们的收入逐渐拉开档次,消费水平也高了。
大多数家庭关注的是提高生活质量,一方面精打细算,量入为出,把钱用在刀刃上;另一方面保证适当的娱乐活动、社会交际、智力开发等方面的开支。
为此,不少家庭就有中长期财务预算,有基本建设规划。
总的来说,家庭收入必须以量入为出为原则,以财产保值增值为目标,处理好积累与消费的关系。
因此,开发一个家庭财务管理系统具有很强的实用性,能够达到对家庭财务合理有效的管理。
b).用户功能:●用户登录,进入本系统,弹出密码对话框,提示用户输入密码,登录本系统。
●类别维护,用户可以增加日常收入、日常支出的类别,并且可以删除相应的类别。
●日常收入,用户可以按照日常收入日期、金额、类别、备注进行数据的增加。
●日常支出,用户可以按照日常支出日期、金额、类别、备注进行数据的增加。
●收入支出统计,按照一定的数据查询条件,用户可以对数据进行统计。
●计算器,可以对活期存款、定期存款进行相应的计算,求其增长值。
●收入查询,用户可以输入相应的查询条件进行数据查询,并且可以删除相应的数据。
●支出查询,支出查询类似于收入查询,同样可以进行查询、删除操作。
●个人信息,用户可以增加自己的个人信息,同时可以修改登录密码。
2.数据库需求和分析a).数据结构(数据库中表的设计)收入类别信息(收入类别,收入类别说明)收入信息(收入编号,收入类别,日期,金额,备注)支出类别信息(支出类别,支出类别信息)支出信息(支出编号,支出类别,日期,金额,备注)家庭成员信息(称呼,,密码,用户名,生日)b).数据项具体设置(建议放到数据库实施中)二、概念结构设计1.流程图(系统功能模块图)2.数据库概念结构设计(E-R模型:注意标出是哪种联系)a).收入类别信息:b).收入信息:c).支出类别信息:d).支出信息:e).家庭成员信息:f). 综合以上E-R图模型,得出整个系统的E-R关系图:1. 由E-R图转化的关系模式为:收入类别信息(收入类别,收入类别说明)收入信息(收入编号,收入类别,日期,金额,备注)支出类别信息(支出类别,支出类别信息)支出信息(支出编号,支出类别,日期,金额,备注)家庭成员信息(称呼,,密码,用户名,生日)2. 对关系模式进行规化在收入类别信息表中,收入类别为码,收入类别说明完全依赖于码,不存在部分依赖和传递依赖,达到第三式;收入信息表中,收入编号为码,其他信息完全依赖于码,不存在部分依赖和传递依赖,达到第三式;在支出类别信息表中,支出类别为码,支出类别说明完全依赖于码,不存在部分依赖和传递依赖,达到第三式;支出信息表中,支出编号为码,其他信息完全依赖于码,不存在部分依赖和传递依赖,达到第三式;家庭成员信息表中,用户名为码,其他信息完全依赖于码,不存在部分依赖和传递依赖,达到第三式;3. 数据库的完整性和安全性作何考虑?安全性:有两种角色:老妈和普通家庭成员。
(完整版)家庭财务管理系统数据库设计说明书
数据库设计说明书1、系统功能模块图为:2、系统 E-R 图为:注:系统一共设计四张表,用户表、账簿表、子项目表及父项目表。
说明如下:用户表:用于记录用户的各项相关信息,其中用户编号及密码为非空(登录时用)。
账簿表:用于连接用户表与子项目表,并拥有自身的属性字段。
子项目表:由于本系统只设计了两层项目,即子项目与父项目且父项目包含子项目中的若干信息。
3.1 系统的数据表结构为:FinanceItemInfo :属性名数据类型长度允许空约束备注条件FinanceItemID int 10 主键账簿编号,基数1001,变量自增 1UserID Int 4 √用户编号,外键SonCategoryID Int 4 √子项目编号,外键FinanceItemDate Datetime 50 √账簿日期FinanceItemRemark varchar 50 √账簿备注Amount float 50 √账簿金额FatherCategoryInfo :属性名数据类型长允许约束条备注度空件FatherCategoryID int 10 主键父项目编号,基数1001,变量自增 1FatherCategoryName varchar 50 √父项目名称BalanceType varchar 50 √收支类型SoncategoryInformation :属性名数据类长允许约束条备注型度空件SonCategoryID int 主键子项目编号,基数1001,变量自增 1SonCategoryName varchar 50 √子项目名称FatherCategoryID Int 4 √父项目编号,外键UserInformation :属性名数据类长允许约束条备注型度空件UserID int 主键用户编号,基数1001 ,变量自增 1 UserNickName varchar 50 √用户名UserName varchar 50 √用户真实姓名UserRole varchar 50 √用户角色UserRight varchar 50 √用户权利UserPassword varchar 50 用户密码3.2 系统中的数据元素:名字: UserInfo别名:用户信息描述:家庭成员的个人信息,用于对家庭成员的管理和确认定义: UserInfo= UserID + UserNickName + UserName +UserRole + UserRight + UserPassword位置:输入到 UserInfo 数据表名字: FatherCategoryInfo别名:父项目信息描述:父项目的信息,用于管理员对父项目的管理定义:FatherCategoryInfo = FatherCategoryID +FatherCategoryName + BalanceType位置:输入到 FatherCategoryInfo数据表名字: SoncategoryInfo别名:子项目信息描述:子项目的信息,用于管理员对子项目的管理,每个子项目都有相应的父项目定义:SoncategoryInfo = SonCategoryID + SonCategoryName +F atherCategoryID位置:输入到 SoncategoryInfo 数据表名字: FinanceItemInfo别名:账簿信息描述:一个家庭只有一个账簿,用于记录家庭各个成员的收支情况定义: FinanceItemInfo = FinanceItemID + UserID +SonCategoryID + FinanceItemDate +FinanceItemRemark + Amount位置:输入到 FinanceItemInfo 数据表名字:成员查看家庭收支账目信息别名:描述:家庭的成员可以根据需要查看,查询家庭的报表情况,可以按成员,日期,年度,月份进行查询名字:成员查看家庭成员信息别名:描述:家庭的成员可以根据需要查看家庭成员的信息定义:成员查看家庭成员信息 =成员编号 +真实姓名 +用户名位置:成员点击查看时显示到页面名字:成员查找账簿信息别名:描述:家庭的成员可以根据需要查找家庭的账簿信息定义:成员查找账簿信息 =收支项目 +收支日期 +收支家庭成员 +收支金额 +备注位置:成员进入账簿管理页面,点击查看时显示输出到页面由于数据字典较多,在此只以上边几个作简要说明4、数据流图为:4.1顶层数据流程图为:4.2 1层数据流程图为:。
数据库课程设计个人记账管理系统_2
《管理软件开发》课程设计报告——个人记账管理系统一、设计时间2011年12月 26日-----12月30日二、设计地点湖南城市学院一实验楼 511机房三、设计目的1.运用所学的数据库基础知识, 设计并编写一个《个人记账管理系统》的开发。
2.掌握数据库原理的相关理论和数据库的设计实现过程。
3.在实际项目中培养相关知识和综合应用的能力;4、培养学生查阅资料的习惯, 提高学生独立思考和解决问题的能力。
四、设计小组成员0806402-04 江国丰 0806402-22欧阳明双 0806402-35姚凯五、指导老师吴宏斌老师黄雪华老师六、设计课题通过对一些实际问题的软件设计, 使学生能将课本的理论知识应用于实践, 编制出较为实用的小系统《个人记账管理系统》:1.记账管理增加;2.记账管理修改;3.记账管理删除;4.记账管理查询;七、基本思路及关键问题的解决方法该系统总共分为四块, 采用MVC模式编写的个人记账管理系统信息维护。
我负责的个人记账管理系统信息维护的修改与删除:UpdateDialog.java 修改信息AccountDao.java 调用dao层的deleteAccount(String condition)删除函数个人记账管理系统的思路及关键问题的解决方法:对个人记账的财务收支进行管理, 实现对个人财务的明细账单的增、删、改、查的功能。
八、算法及流程图1.算法流程图个人记账管理系统算法及流程图2.功能模块图个人记账管理系统功能模块图3.ER图记账信息表:记账ID,记账开销, 收支费用, 收支时间, 收支方式, 备注个人记账管理系统ER图九、调试过程中出现的问题及相应解决办法1.修改后台数据不成功显示?解决办法:连接后台数据出错, 修改连接方式, 数据库表的字段名称, 调试后, 成功已显示。
2.根据ID删除记录有问题, 不能删除?解决办法:进从后台获取id时出错, 没读到后台数据库的id, 修改调试代码, 删除成功。
家庭财务管理系统的设计与实现(1)
滨江学院数据库系统课程设计报告课程名称:jsp系统课程设计题目:家庭财务分析系统院系:计算机系班级: 计科1学号:20122308018姓名: 乔洲指导教师:陈遥第一章引言改革开放以来,中国经济得到了迅速的发展,家庭收入也与日俱增,随着房产热、私家车、出国游等走入寻常百姓家,如何规划财富,如何让财富增值,如何享受财富也日渐成为每个家庭关注的话题。
家庭财务管理系统以家庭理财的概念、理论、本质为基础,剖析了家庭的经济结构,并对理财市场和理财产品进行了分析,在此基础上提出了家庭理财的模式及如何进行家庭理财规划。
家庭理财系统是每一个家庭管理家庭财务收入和支出的不可缺少的一个管理信息系统,它的内容对于家庭的管理者来说是至关重要的,所以家庭理财系统应该能够为一个家庭的管理者提供充足的信息和快捷的查询手段,方便家庭的管理者的合理理财。
作为计算机应用的一部分,使用计算机对家庭财务进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高家庭财务管理的效率,也是家庭理财的科学化、正规化管理,与先进科学技术接轨的重要条件.第二章需求分析2.1系统设计目标现代社会家庭的理财观念进一步提高,理财手段变得更加丰富。
随着生活水平和文化水平的提高,家庭购买电脑的能力和应用电脑的能力开始提高.电脑及其应用的普及化,人们应用电脑进行家庭财务管理的观念增强,因此,开发一个通用性家庭财务管理软件已经成为社会需求。
本系统是一个家庭通用型理财软件,系统目标是把适合家庭化管理的各种理财手段及家庭日常收支管理实现计算机化管理,使对家庭及家庭成员的收支活动更好地进行记录并加以统计分析成为可能,也使家庭理财变得方便、快捷、全面.2.2系统数据分析家庭理财的中心内容账务管理。
人们几乎每一天都会经过许多次货币活动。
其中包括了买入卖出实物,娱乐消费,起居饮食消费,还有发放工资等。
《家庭财务系统》课程设计报告
《家庭财务系统》课程设计报告————————————————————————————————作者:————————————————————————————————日期:菜单:1。
添加收入2.显示收入3。
查询收入4.修改收入5.删除收入6.添加支出7。
显示支出8。
查询支出9.修改支出10。
删除支出11。
显示所有记录12.统计总收入和总支出0.退出系统本软件界面友好,不难操作,每一步执行后都有提示语,只要按照提示一步一步执行就可以了。
而且每执行完一个功能,都会进行清屏,跳出菜单页,这样一方面防止函数执行页面过长,另一方面也方便你选择执行下个功能。
模块化设计方案1、系统主要函数及功能1) #include〈stdio。
h> /*I/O函数*/#include<string.h> /*字符串函数*/#include<stdlib.h〉 /*标准库函数*/#include〈malloc。
h〉/*开辟结点 */#define NULL 0 /*宏定义命令*/2)face()函数:菜单函数,函数返回值为整数,代表所选的菜单项int face()3)init()函数:初始化函数,读取文件夹中信息到内存中,返回指向链表头的指针void init()4)add()函数:添加函数,参数为1,添加收入;参数为0,添加支出void add(int a)5)judge()函数:判断函数,判断文件里有没有记录信息,有信息,返回值为1;无信息,返回值为0int judge()6)print()函数:显示函数,参数为1,只显示收入;参数为0,只显示输出;参数为2,即显示收入又显示输出void print(int a)7)search()函数:查询函数,参数为1,查询收入;参数为0,查询支出void search(int a)8)modify()函数:修改函数,参数为1,修改收入;参数为0,修改支出void modify(int a)9)del()函数:删除函数,参数为1,删除收入;参数为0,删除支出void del(int a)10)count()函数:计算函数,参数为1,只计算总收入;参数为0,只总计算输出;参数为2,即计算总收入又计算总输出void count(int a)11)save()函数:保存函数,把内存中的信息读到文件夹中void save()2、主函数调用各功能函数流程图三、数据结构描述#include<stdio.h〉#include〈string。
家庭财务管理课程设计报告
信息工程学院课程设计报告项目名称:家庭财务管理系统的分析和设计项目组长:叶项目成员:杨刘班级名称:11信管3(本)专业名称:信管管理和信息系统完成时间:2012年5月21日信息工程学院制一、案例描述(小四号字体,段前断后0.5行)1.、总体描述家庭财务管理系统是一个典型的管理信息系统,主要运用添加、删除、修改、查询、显示等操作,给用户提供了一个在计算机上实现家庭的各项财务收支管理的平台,能够为每一个家庭的管理者提供充足的信息和快捷的查询手段,极大地提高家庭财务管理的效率,方便家庭管理者的合理理财。
2、模块描述1)菜单设计主界面由封面图案、收入管理、支出管理、统计四大部分组成。
其中,收入管理和支出管理两部分中各包含添加、查询、删除、修改、显示五大功能,而统计部分则包含统计总收入(总支出)的功能。
封面主要利用ptintf函数,摆出各式各样的图形,又用上了system()更改了页面的背景颜色、字体颜色、家庭财务管理系统的标题,以求达到美化封面的作用,而其余六大功能则是完善该家庭财务管理系统。
2)load模块通过创建链表完成初始化。
链表创建完成后,把读取的资料先放在linshi中。
该模块的创建为实现接下来的一系列功能打下坚实基础。
3)cover模块作为程序的封面,对主界面的颜色、尺寸、图案进行设置,起到美化作用。
同时,把程序里的每一项主要功能的名称显示到主界面上,使界面更加亲近、友好,方便用户进入并进行使用,在不知不觉中提升了程序的档次。
4)add模块:用于添加用户的信息。
创建用户信息,依次输入家庭成员的姓名、收入(支出)的具体日期(可根据系统已有时间添加)、收入(支出)金额、收入(支出)备注等详细信息,完善用户的资料,并将其保存在文件记录中。
添加完一人信息后,界面提示用户“是否继续添加?(Y or N)”。
若选择继续添加,则重复上述步骤,添加用户信息,并将其详细信息一并保存到文件记录中,文件记录加1。
家庭理财系统数据库课程设计报告
数据库原理及应用课程设计报告题目: __________ 家庭理财专家班级:1020562______学号:20 _________: ____________ 武普泉 _______指导老师: _________ 宇君 ___________提交时间:2012-12-30一、需求分析1. 系统需求与功能分析a) .课题背景:近几年来,随着我国城乡居民收入的增加和生活水平的提高,家庭理财已成为人们居家过日子的重要容。
社会学家细心的观察到,时下家庭的财务管理比之计划经济年代,开始发生微妙的变化。
现在的城乡家庭生活发生了明显的变化,人们的收入逐渐拉开档次,消费水平也高了。
大多数家庭关注的是提高生活质量,一方面精打细算,量入为出,把钱用在刀刃上;另一方面保证适当的娱乐活动、社会交际、智力开发等方面的开支。
为此,不少家庭就有中长期财务预算,有基本建设规划。
总的来说,家庭收入必须以量入为出为原则,以财产保值增值为目标,处理好积累与消费的关系。
因此,开发一个家庭财务管理系统具有很强的实用性,能够达到对家庭财务合理有效的管理。
b) .用户功能:用户登录,进入本系统,弹出密码对话框,提示用户输入密码,登录本系统。
类别维护,用户可以增加日常收入、日常支出的类别,并且可以删除相应的类别。
日常收入,用户可以按照日常收入日期、金额、类别、备注进行数据的增加。
日常支出,用户可以按照日常支出日期、金额、类别、备注进行数据的增加。
收入支出统计,按照一定的数据查询条件,用户可以对数据进行统计。
计算器,可以对活期存款、定期存款进行相应的计算,求其增长值。
收入查询,用户可以输入相应的查询条件进行数据查询,并且可以删除相应的数据。
支出查询,支出查询类似于收入查询,同样可以进行查询、删除操作。
个人信息,用户可以增加自己的个人信息,同时可以修改登录密码。
2. 数据库需求和分析a). 数据结构(数据库中表的设计)收入类别信息(收入类别,收入类别说明)收入信息(收入编号,收入类别,日期,金额,备注)支出类别信息(支出类别,支出类别信息)支出信息(支出编号,支出类别,日期,金额,备注)家庭成员信息(称呼,,密码,用户名,生日)b). 数据项具体设置(建议放到数据库实施中)概念结构设计a ).收入类别信息收入类别维护支出类别维护个人信息维护2.数据库概念结构设计(E-R 模型:注意标出是哪种联系 )1.流程图(系统功能模块图)b).收入信息:c) .支出类别信息d) .支出信息:支出信息e) .家庭成员信息f).综合以上E-R图模型,得出整个系统的E-R关系图:三、逻辑结构设计1. 由E-R 图转化的关系模式为:收入类别信息(收入类别,收入类别说明)收入信息(收入编号,收入类别,日期,金额,备注)支出类别信息(支出类别,支出类别信息)支出信息(支出编号,支出类别,日期,金额,备注)家庭成员信息(称呼,,密码,用户名,生日)2. 对关系模式进行规化在收入类别信息表中,收入类别为码,收入类别说明完全依赖于码,不存在部分依赖和传递依赖,达到第三式;收入信息表中,收入编号为码,其他信息完全依赖于码,不存在部分依赖和传递依赖,达到第三式;在支出类别信息表中,支出类别为码,支出类别说明完全依赖于码,不存在部分依赖和传递依赖,达到第三式;支出信息表中,支出编号为码,其他信息完全依赖于码,不存在部分依赖和传递依赖,达到第三式;家庭成员信息表中,用户名为码,其他信息完全依赖于码,不存在部分依赖和传递依赖,达到第三式;3. 数据库的完整性和安全性作何考虑?安全性:有两种角色:老妈和普通家庭成员。
家庭管理系统实验报告(3篇)
第1篇一、实验目的1. 熟悉家庭管理系统的基本功能与操作。
2. 掌握家庭管理系统的设计与实现方法。
3. 提高软件开发与项目管理能力。
二、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C4. 数据库:MySQL三、实验内容1. 家庭管理系统功能需求分析2. 家庭管理系统数据库设计3. 家庭管理系统界面设计4. 家庭管理系统功能实现5. 家庭管理系统测试与优化四、实验步骤1. 家庭管理系统功能需求分析家庭管理系统主要功能如下:(1)家庭成员信息管理:包括家庭成员的基本信息、联系方式、家庭关系等。
(2)家庭收支管理:记录家庭收入和支出,实现收支统计与分析。
(3)家庭资产管理:管理家庭资产,包括房产、车辆、股票等。
(4)家庭日程管理:记录家庭成员的日程安排,提醒重要事件。
(5)家庭成员健康管理:记录家庭成员的健康状况,提醒体检等。
2. 家庭管理系统数据库设计(1)家庭成员信息表(FamilyMember):包括ID、姓名、性别、出生日期、联系方式、家庭关系等字段。
(2)家庭收支表(FamilyIncome):包括ID、收支类型、金额、日期、备注等字段。
(3)家庭资产表(FamilyAsset):包括ID、资产名称、购买日期、购买价格、当前价值等字段。
(4)家庭日程表(FamilySchedule):包括ID、成员ID、日期、事件内容、提醒时间等字段。
(5)家庭成员健康表(FamilyHealth):包括ID、成员ID、体检日期、体检项目、体检结果等字段。
3. 家庭管理系统界面设计家庭管理系统采用MVC(Model-View-Controller)架构,界面设计如下:(1)主界面:包括菜单栏、工具栏、状态栏等,用于显示系统功能模块。
(2)家庭成员信息管理模块:用于添加、修改、删除家庭成员信息。
(3)家庭收支管理模块:用于添加、修改、删除家庭收支记录,查看收支统计与分析。
家庭财务管理系统课程设计说明书大学论文
一引言1.设计要求程序结构合理、算法准确、语法正确,并生成可执行文件。
2.系统概述本课程设计“家庭财务管理系统”就是通过学习《C程序设计》采用Visual C++作为编译环境,是程序编译和运行的。
本系统的总体思想基于结构化的程序设计。
应用高级语言程序设计中的基本控制结构,如循环和选择,着重实现管理系统的增、删、改、查等典型的管理功能由于主要实现的是管理系统的增、删、改、查等典型功能。
3. 开发与设计的总体思想家庭财务管理对于每一个家庭来说有着重要的意义,随着科技的发达,财务的管理由原先的手写账本发展到现今的电脑系统输入并统计,不仅大大减少了时间与精力,也是财务管理更系统化,便捷化,清晰化,减少金钱上的缺失。
C语言是国内外广泛使用的一种计算机语言,学会使用C语言进行程序设计是计算机工作者的一项基本功。
对于我们大学生来说,学习这样一门“C程序设计教程”更是必要的。
程序设计是一门实践性很强的课程,既要掌握概念,又要动手编译,还要上机调试运行,通过这一次的课程设计我们从实践中更进一步的学习和了解C语言,二总体设计1.需求分析现在的家庭,不少的的账目都是随手拿来张纸记录,就算是用记事本来记录也会因为各种原因出现字迹混淆的现象,长时间后再查阅,会发现不知道当时记了什么,随手用纸张来记录,不易于管理,东一张西一张容易造成遗漏、丢失数据等现象导致统计数据错误,去银行存取后的打印单不能及时的记录管理,会泄漏帐号和现有金额,形成安全隐患,不经过记录,卡折同时使用也会使得账目不清楚对家里资产的预估形成误差,有时候支出收入过多,大量数据的计算,错误常会伴随而来,使得账目错误,导致投资理财的失误。
2.功能分析家庭财务系统主要对家庭的各项财务收支管理进行在计算机上的信息存储和处理,从而简化用户的工作量。
本报告设计的家庭财务管理系统主要是负责给家庭成员提供了一个在Windows操作系统上运行的管理平台,家庭财务管理者可以对其成员编号、姓名以及收入、支出构成进行增加、删除、修改,查找等管理操作,还可以对全家庭财务合计排序浏览。
家庭财务管理系统数据库设计文档
一、ER模型
字段描述
字段列名
数据类型
默认值
用户ID
User_Id
Int
New()
主键随机获取
姓名
Userபைடு நூலகம்Realname
VarChar(8)
用户名
User_Name
VarChar(20)
用户密码
User_Password
VarChar(200)
用户权限
User_Popedom
VarChar(20)
创建日期
ExpenditreChild_CreateDate
DateTime
getdate()
创建日期
Books_CreateDate
DateTime
getdate()
备注
Books_Remark
text
√
字段描述
字段列名
数据类型
可空
默认值
约束类型
收支父类Id
ExpenditreFather_Id
Int
new()
主键随机获取
收支父类编号
ExpenditureFather_Number
VarChar(10)
Bit
备注
User_Remark
Text
二、数据字典
用户表:ConsumerInfo
账簿表:BooksInfo
字段描述
字段列名
数据类型
可空
默认值
约束类型
账簿Id
Books_Id
Int
new()
主键随机获取
账簿名称
Books_Name
Varchar(50)
小型记账系统数据库课程设计报告
目录相关技术介绍 (2)1.1 Visual Studio 2008的简介 (2)1.2 Microsoft Access 2007的简介 (2)1.3 C/S结构的简介 (2)需求分析 (3)2.1需求简介 (3)2.2数据字典 (3)2.2.1数据项 (3)2.2.2数据结构 (4)2.3用例图 (4)总体设计 (5)3.1系统总体功能模块图 (5)数据库设计 (5)4.1 ER图设计 (6)4.2关系模式 (6)4.3逻辑模型 (7)4.4物理设计 (7)4.4.1 数据库建立 (7)4.4.2 数据库备份和恢复 (8)用户界面的设计和实现和应用程序编码 (8)5.1用户界面设计 (8)系统测试方案和测试报告 (16)6.1系统测试 (17)6.1.1错误数据 (17)6.1.2正确数据 (20)安装和使用说明 (23)7.1 安装 (23)7.2 使用说明 (23)参考文献 (24)相关技术介绍1.1 Visual Studio 2008的简介对于应用程序开发工具的选择,很多人都听过这句经典的说法:聪明的程序员使用Delphi,真正的程序员使用Visual C++ 。
Visual Studio是微软公司推出的开发Win32应用程序(Windows 95/98/2000/XP/NT)的、面向对象的可视化集成开发工具。
它的最大优点就是提供了功能强大的MFC类库,MFC是一个很大的C++类层次结构,其中封装了大量的类及其函数,很多Windows程序所共有的标准内容可以由MFC的类来提供,MFC类为这些内容提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓,这将简化编程工作,大大的减少程序员编写的代码数量,使编程工作变得更加轻松容易。
1.2 Microsoft Access 2007的简介Microsoft Access 数据库管理系统是Microsoft Office 套件的重要组成部分,先后出现了Access 97、Access 2000 和Access 2007。
C语言课程设计报告——家庭财务管理系统
课程设计报告课程设计题目:家庭财务管理系统学生XX:专业:信息工程班级:指导教师:2021年1月8日1.需求分析根据家庭账务管理的需要,建立一个“家庭账务管理系统〞,以方便对家庭日常收入及支出进展记录和管理。
该系统要求:①家庭月收入管理②家庭月支出管理③统计家庭总收入/总支出④系统提供收入/支出的添加、删除和修改功能。
2. 总体设计根据以上分析,本家庭账务管理系统主要包括:①从键盘键入家庭月收入、月支出数据;②查询月收入、月支出明细;③删除收入、支出数据;④修改收入、支出数据;⑤统计总收入/总支出;⑥退出系统。
除main()函数之外,系统还定义了以下函数来实现各局部内容:①add_ine〔〕:添加收入数据函数。
②add_payout〔〕:添加支出数据函数。
③search_data〔〕:查找数据函数。
④initialize():初始化函数,读取文本数据。
⑤show_info〔〕:显示数据函数。
⑥count_total〔〕:统计函数,统计总收入、总支出。
⑦update_data〔〕:修改信息函数。
⑧delete_data〔〕:删除数据函数。
⑨quit():退出函数。
程序构造功能图如下:3.详细设计3.1收入管理3.2支出管理4.测试结果4.1 程序运行主菜单4.2 添加收入测试4.3 查询收入明细测试4.4 删除收入测试4.5 修改收入测试4.6 添加支出测试4.7 查询支出明细测试4.8 删除支出测试4.9 修改支出测试4.10 统计总收入/支出测试4.11 退出系统测试5.软件操作使用说明书本系统采用命令行对话方式进展操作,运行后出现主界面〔如下列图所示〕,然后按照主界面菜单指引操作即可。
6.总结编写程序之前要有一个整体的思路,不能写到哪里算哪里。
这样很容易遗漏,连续性也不好。
通过本次的课程设计让我对于数组、文件的存放、循环构造等知识有了更加透彻的理解。
希望在以后的课程设计中对于知识的运用能够更加的熟练。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理及应用》课程设计报告题目家庭记账管理系统学生姓名学号 4专业班级网络工程指导老师设计日期 2014年6月25日指导老师评阅意见:评阅成绩:签名:一、课题任务课题目的:家庭记账也是一门科学,必须按照科学的方式来进行,才能有效果。
家庭记账的原理与企业记账类似,有两个基本要素,一是分账户,要有账户的概念,分账户可以是按成员、按银行、按现金等,不能把所有收支统计在一起,要分账户来记。
二是分类目,收支必须分类,分类必须科学合理,精确简洁,类目相当于会计中的科目。
由此可见,家庭记账也需要系统性的管理。
家庭记账数据库管理系统是为了让用户更简便的进行日常及记账。
课题意义:1、在进行前台设计时,我们运用的是本学期所学的Java语言,Java语言是一门很灵活也很方便的语言,尽管老师平时在课堂上传授了很多Java语言的基础知识,但,要掌握一门语言,课堂上的输入远远不够,因此,通过此次课程设计,可以加深对java 的运用能力。
2、数据库是一门很有学问的计算机基础学科,他对于我们以后在计算机方面的发展有着承前启后的作用,我们都知道,大学的学习更多的是实际操作。
虽然数据库是门理论性很强的学科。
但,只有将所学的东西运用于实践,用自己所学的知识制作出用户有用的产品才是最能激励自己的。
也只有在事件中才能补充自己知识的缺陷,此次课程设计就是让我们更熟悉设计数据库的过程并更灵活的运用起来。
3、家庭记账是每个用户都要做的是,一个方便的高效可靠的记账系统可以让用户们的记账更简便。
课题要求:本系统要求对家庭的收入情况,教育支出情况,非教育支出情况进行系统的分析设计,并形成系统的说明书同时用Eclipse来实现该系统。
目的是通过系统分析,使各个家庭对自己的家庭财务有一个全面的了解和分析,以便能做到节约开支,细水长流,同时进行必要的投资。
4、可行性分析:可行性研究的目的是用最小的代价在尽可能短的时间内解决问题。
经济可行性:计算机的价格已经非常低廉,性能却有了长足的进步。
二本系统的开发,为家庭的工作效率带来了一个本质的飞跃为此主要表现在以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大提高家庭的工作效率,等等。
所以本系统在经济上是可行的。
技术可行性和运行可行性:为了有助于更好的系统的开发,我自己对社会普通家庭的收入情况有了初步的了解。
现在普通家庭的固定收入在几千元左右,每月在各个方面至少要1000元左右的开销,加上固定的各项费用,方方面面很复杂,很难清楚明了的记录下来,一般是手工记账,这样很麻烦也算不清楚,每个月都要花大量的时间在算钱上,而由于一些比较缺乏电脑方面的知识,所以,电脑对他们来说只是一个摆设但只要安装家庭理财系统,他们将只要点击鼠标就可以对家庭的收支情况进行系统和计算。
本系统开发利用SQL Server2005作为本系统的数据库,他是一个支持多用户的新型数据库,适用于各种大中小规模的数据需求。
使用Eclipse作为被系统开发环境,Eclipse拥有一个可视化的集成开发环境,采用面向对象的编程语言Java的开发结构框架。
Eclipse 提供了500多个可使用构件,利用这些部件,开发人员可以快速的构造出应用系统。
开发人员也可以根据自己需要修改部件或用本身编写的部件。
他作为一种现代化的编程语言,提供完善的指令控制语句、类与对象的支持及丰富数据类型给开发高兴能提供了保障。
综上所述,本系统的设计与开发在技术和硬件设备上的条件都是满足的,因此,它在技术上是可行的。
本系统为一个小型的家庭理财系统,所耗费的资源非常小,学校的电脑无论是在硬件和软件都能满足条件,因此,本系统在运行上是可行的。
子课题任务名称:Java语言支持的界面设计,数据库的建立,数据库与Java的连接。
二、需求分析(含业务流程图,数据流程图,E-R图等)业务流程图E-R图数据流图三、概要设计(模块划分等)系统功能模块本系统分为五大功能模块:收入登记,非教育支出登记,教育支出登记,支出总查询,退出系统收入登记功能:点击收入登记可进入收入登记界面,再根据需要点击添加记录或删除记录功能键进行添加或删除。
最后点击刷新,即可看到操作之后的界面。
最后点击退出,即完成了收入登记操作。
非教育支出登记功能:点击非教育支出登记可进入非教育支出登记界面,再根据需要点击添加记录或删除记录点击添加或删除。
最后点击刷新,即可看到操作后的界面。
最后点击退出,即完成了非教育登记操作。
教育登记操作:点击教育支出登记可进入教育支出登记界面,再根据需要点击添加记录或删除记录点击添加或删除。
最后点击刷新,即可看到操作后的界面。
最后点击退出,即完成了教育登记操作。
支出总查询:点击支出总查询,则可看到支出总查询界面,从上面可看到近期的支出情况,在右下角会有一个余额的显示。
如果需要删除则可点击删除界面。
操作完毕点击退出。
退出系统:上述操作都完成则可点击退出系统键退出系统。
四、详细设计1、数据库的设计底层数据表的结构如图一:图一.数据表的结构数据表的截图如图二:图二.数据表数据库与java连接的代码如下:package com.wenlixueyuan;import java.sql.*;public class Database {Connection conn = null;ResultSet rs = null;Statement stmt = null;PreparedStatement pstmt = null;public RecordItem[] AccessData() throws Exception {Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );String url = "jdbc:odbc:FA";conn = DriverManager.getConnection( url, "root", "admin" );stmt= conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABL E );String SQL = "select * from pf";rs = stmt.executeQuery( SQL );RecordItem[] item = new RecordItem[ 100 ];for ( int j = 0; j < 100; j++ )item[ j ] = new RecordItem();int i = 0;while ( rs.next() && ( i < 100 ) ) {item[ i ].SetEmployeeID( rs.getString( "经手人" ) );item[ i ].SetEmployeeName( rs.getString( "日期" ) );item[ i ].SetOnWorkTime( rs.getString( "收入" ) );item[ i ].SetOffWorkTime( rs.getString( "非教育支出" ) );item[ i ].SetLeaveWorkTime( rs.getString( "教育支出" ) );item[ i ].SetDescribe( rs.getString( "备注" ) );i++;}RecordItem[] result = new RecordItem[ i ];for ( int j = 0; j < i; j++ ) {result[ j ] = new RecordItem();result[ j ] = item[ j ];}rs.close();stmt.close();conn.close();return result;}public void StoreData( RecordItem item ) throws Exception {Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );String url = "jdbc:odbc:FA";conn = DriverManager.getConnection( url, "root", "admin" );stmt = conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE );String SQL1 = "select * from pf where 经手人 = '" +item.GetEmployeeID() + "'";rs = stmt.executeQuery( SQL1 ); //查找是否存在该员工的记录System.out.println(rs.next());pstmt = conn.prepareStatement("insert into pf values(?,?,?,?,?,?)");pstmt.setString(1, item.GetEmployeeID());pstmt.setString(2, item.GetEmployeeName());pstmt.setString(3, item.GetOnWorkTime());pstmt.setString(4, item.GetOffWorkTime());pstmt.setString(5, item.GetLeaveWorkTime());pstmt.setString(6, item.GetDescribe());pstmt.execute();}rs.close();stmt.close();pstmt.close();conn.close();} //删除相应工号的员工记录public void DeleteData( String strEmployeeID ) throws Exception {Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );String url = "jdbc:odbc:FA";conn = DriverManager.getConnection( url, "root", "admin" );stmt = conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE );String SQL = "delete from pf where 经手人='" + strEmployeeID + "'";stmt.execute( SQL ); //查找是否存在该员工的记录}}3.前台的设计关于前台的设计我们采用的是java语言当中的application小窗口图形界面的一个输入和输出,具体的设计见调试分析。