软件工程课程设计个人财务管理系统
- 格式:docx
- 大小:30.30 KB
- 文档页数:19
财务管理系统设计方案目录一、背景篇 (5)1.1企业状况 (5)1.1.1内部分析 (5)1.1.2外部竞争分析 (6)1.2企业管理问题 (6)1.3企业信息化建设现状 (7)二、企业需求与规划 (8)2.1企业需求分析 (8)2.2总体规划与建议 (8)三、财务管理 U3价值体现 (9)四、财务管理 U3企业解决方案 (10)4.1系统应用目标 (10)4.2方案整体架构 (11)4.3企业解决方案详述 (16)4.3.1账务报表管理 (16)4.3.2账务分析 (18)4.3.3工资 (20)4.3.4固定资产 (21)4.3.5采购业务 (23)4.3.6销售业务 (26)4.3.7库存管理 (31)4.3.8核算 (34)4.3.9税务接口 (35)五.附录 (35)典型客户 (40)前言在市场环境下生存的企业,竞争是驱动一切变革的原动力。
成本领先、差异化、专业化是企业竞争战略的三种基本形式。
企业无论采用哪一种或组合竞争战略,创新能力永远是企业最核心的竞争要素,产品设计创新、营销创新、服务创新、管理创新,企业唯有不断创新,才能强化和保持竞争优势。
创新能力的培养离不开信息系统的支持,信息的能见度、准确度、及时度、集成度决定着创新的效率和质量。
成功地应用信息系统,对于提高企业的竞争能力,已是不争的事实。
据国外资料统计,完整地应用管理信息系统管理方法,其年平均回报率为实施信息系统所需投资的200%。
管理信息系统的使用者,即使仅将其用来改善现有的物料采购方法,其年平均投资回报率亦超过50%。
依靠电脑的速度及能力,可以在短期内让管理信息系统以手工作业无可比拟的方式,掌握企业浩繁巨细的运作过程,进而创造巨大的管理效益。
依APICS(美国生产与库存管理协会)统计数据,企业完整应用管理信息系统,可平均降低库存量17%,企业总成本降低7%,制造生产率提高10%,客户服务改善16%。
本方案将对贵公司管理系统的需求、规划、实施、效益等方面作初步的分析和建议,恳请指正。
c语言课程设计个人财务一、教学目标本节课的教学目标是使学生掌握C语言编程的基本方法,能够运用C语言编写简单的个人财务管理系统。
具体目标如下:1.知识目标:使学生了解C语言的基本语法、数据类型、运算符、控制结构等,为编写个人财务管理系统打下基础。
2.技能目标:培养学生运用C语言进行编程的能力,使其能够独立完成个人财务管理系统的开发。
3.情感态度价值观目标:培养学生对计算机编程的兴趣,提高其主动学习和解决问题的能力,使其认识到计算机编程在实际生活中的应用价值。
二、教学内容本节课的教学内容主要包括以下几个部分:1.C语言基本语法和数据类型:介绍C语言的基本语法规则、数据类型及其运算。
2.控制结构:讲解条件语句和循环语句的用法,为编写个人财务管理系统提供逻辑支持。
3.函数:介绍函数的定义、声明和调用,使学生能够理解模块化编程的思想。
4.个人财务管理系统的设计与实现:引导学生运用所学知识,分析并设计个人财务管理系统,最后通过编程实现。
三、教学方法为了提高教学效果,本节课将采用以下几种教学方法:1.讲授法:讲解C语言的基本语法、数据类型、运算符和控制结构等知识。
2.案例分析法:通过分析实际案例,使学生了解个人财务管理系统的设计过程,提高其编程能力。
3.实验法:安排课堂实验,让学生动手编写代码,巩固所学知识。
4.讨论法:学生进行小组讨论,培养其合作精神和解决问题的能力。
四、教学资源为了支持教学内容的传授和教学方法的实施,我们将准备以下教学资源:1.教材:《C语言程序设计》等相关教材,为学生提供理论知识的学习材料。
2.参考书:提供一些经典的C语言编程实例,帮助学生更好地理解编程技巧。
3.多媒体资料:制作课件、演示文稿等,以便于生动、形象地展示教学内容。
4.实验设备:提供计算机、编程环境等,让学生能够进行实际操作。
五、教学评估为了全面、客观地评估学生的学习成果,本节课将采用以下几种评估方式:1.平时表现:观察学生在课堂上的参与程度、提问回答等情况,了解其对C语言编程的掌握程度。
软件工程课程设计个人财务管理系统摘要本次课程设计在Windows XP 平台上,以Delphi 7.0作为界面开发工具,SQL Server 2000作为数据库工具,分析设计了“个人财务管理信息系统”。
系统软件和对数据库的操作和管理都可在计算机上完成。
如今计算机已走进千家万户,传统的在纸上记录收入支出的方式已经过时,人们需要一种可以在计算机记录自己收入支出信息的软件,可是市场上的财务管理软件大多数十面向企业,或是有专门用途,面向普通用户的个人财务管理系统很难找到,在者免费的软件更是少之又少,为了满足普通用户的需求,特开发此软件。
本系统功能简单,只适合对个人财务管理要求不高的用户,可以完成收入支出金钱及物品的记录与查询操纵,但这些对普通用户还说应该够了,本系统操作简单,用户无需记录复杂的命令,打开主机面就可以很容易看出系统的功能,在者,本软件为免费产品,对于不愿花很多钱购买软件的用户来说是个很好的选择,本软件无需很高的硬件配置,一般的配置均可运行,占用系统资源少。
本报告中首先说明了该系统的特点与业务需求,之后详细说明了系统的业务流程和系统开发流程,重点介绍了系统各模块的功能及相关功能的具体实现。
该系统功能完善、用户界面友好、运行稳定,可完成日常个人财务信息的管理和维护。
本报告中首先说明了该系统的业务需求,之后介绍了系统的总体设计思路以及着重介绍了数据库表的设计过程及说明可供研究此系统的人员提供参考。
关键词管理信息系统;个人财务信息管理系统;Delphi;SQL Server 2000第一章:绪论1.1课题背景当今社会越来越着朝着信息化和数字化法发展,计算机的应用领域使我们的生活越来越方便和快捷,可以说我们的每个人生活都离不开计算机的帮助了。
越来越多的个人应用软件成为了人们重要的助手,也在潜移默化的改变着我们的生活。
随着市场经济的发展,我国居民对理财有着越来越高的要求。
理财,是每个家庭和个人所必须面对的问题。
个人财务系统java课程设计一、教学目标本课程的学习目标包括以下三个方面:1.知识目标:学生需要掌握Java编程语言的基本语法、面向对象编程思想、常用数据结构等个人财务系统所需的基础知识。
2.技能目标:学生能够运用Java语言独立开发一个个人财务管理系统,包括数据的增删改查功能、分类统计等功能。
3.情感态度价值观目标:培养学生对编程的兴趣,提高解决问题的能力,增强团队协作意识,培养良好的编程习惯。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Java基础语法:数据类型、运算符、控制结构、数组、字符串等。
2.面向对象编程:类与对象、构造方法、封装、继承、多态等。
3.常用数据结构:列表、集合、映射、栈、队列等。
4.个人财务管理系统实战:需求分析、系统设计、数据库设计、编码实现、测试与优化等。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解基础知识和关键概念,为学生提供理论支持。
2.案例分析法:分析实际案例,让学生学会将理论知识应用于实际问题。
3.实验法:动手实践,让学生在实际操作中掌握Java编程技巧。
4.讨论法:分组讨论,培养学生的团队协作能力和解决问题的能力。
四、教学资源本课程所需教学资源包括:1.教材:《Java编程思想》、《Head First Java》等。
2.参考书:《Java核心技术》、《Effective Java》等。
3.多媒体资料:教学PPT、视频教程、在线编程练习等。
4.实验设备:计算机、网络环境、编程软件(如Eclipse、IntelliJ IDEA等)。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过课堂参与、提问、讨论等环节,评估学生的学习态度和积极性。
2.作业:布置课后编程练习,评估学生的编程能力和对知识的掌握程度。
3.考试:期末进行笔试考试,测试学生对课程知识的全面了解和运用能力。
评估方式应客观、公正,能够全面反映学生的学习成果。
目录摘要 (2)绪论 (2)1. 系统分析 (2)1.1数据需求 (2)1.2功能需求 (3)1.3性能需求 (3)2. 总体设计 (3)2.1功能模块设计 (3)2.2系统设计方案 (4)3. 详细设计和实现 (5)3.1创建信息模块 (5)3.2修改信息模块 (6)3.3插入信息模块 (7)3.4删除信息模块 (8)3.5显示当前余额模块 (10)3.6按月查询收支总额模块 (11)3.7按一定范围查询收支情况模块 (12)3.8显示当前情况模块 (13)3.9保存文件模块 (14)3.1调试过程 (15)3.2测试过程 (15)4. 结论 (15)结束语 (16)参考文献 (16)附录1-用户手册 (17)附录2-源程序 (25)摘要个人财务管理程序:能够帮助个人方便的管理自己的财务。
系统使用C语言进行编写个人财务管理程序,能够对程序进行添加,插入,删除,修改,按月查询,按范围查询,余额查询,结束程序,保存到文本文件里等等。
本文分别从分析、总体设计、详细设计、测试等各个方面详细介绍了系统的设计与实现调试过程,最后对系统的编译情况进行了总结,程序在构造若干模块,因此易修改,完善的具体,这个程序可以对个人财务信息进行多种常用的处理,添加,查询,修改,插入,查询等等都是非常方便快捷的。
关键词:添加;删除;修改;个人财物管理;C语言绪论本程序将个人的财务信息以序号、月份、日期、年份、收支信息,说明等方式储存的,视觉明了,并且便于系统操作,系统对信息可以逐条的进行创建、添加、删除、修改、还可以进行按月,一定范围的查找,以及保存文件到文本文档。
整个程序操作方便,流程清晰。
本程序用C语言来开发个人财务管理系统的。
根据课程设计任务书要求,本程序开发主要完成以下功能和性能。
①创建财务信息。
②删除财务信息,同时显示账户余额。
③添加财务信息,同时显示账户余额。
④修改财务信息,同时显示账户余额。
⑤按月份查询收支信息。
程序设计工程训练报告C语言程序设计个人财务管理系统课程名称C语言程序设计工程训练姓名院(系)信息科学与技术学院专业班级学号指导教师教务处制目录1.需求分析 (1)2系统总框图和功能模块说明 (1)2.1系统总框图 (1)2.2功能模块说明 (1)3系统设计 (2)3.1主要结构体 (2)3.2主要功能函数 (2)4系统调试 (3)4.1、程序开始执行时系统的所显示的页面: (3)4.2、选择退出系统: (3)4.3、选择登陆,并且输入的和密码都正确: (3)4.4、用户输入的不正确: (4)4.5、用户输入的正确,密码不正确: (4)4.6、用户进行具体操作: (5)5总结 (6)6源程序清单 (6)1.需求分析编写一个个人财政支出管理系统,主要解决的问题是作为一个系统而言,它所要面对不只是某一个人而言,而是要面对很多的用户。
那么想要解决这一问题,就必须要求这个系统能够存储许多用户的基本信息和记录。
同时也要求系统能够对不同的用户的身份进行查找和验证。
在验证通过之后,在对其进行用户所要求的操作。
作为一个财政支出系统,那么就要求对于用户关于金钱的每一项操作都要有相应的记录,同时并允许用户对于每一条整体的记录进行操作,例如可以根据时间来查找某一确定日期是否进行了收入或者支出的操作,也可以根据特定的需要来删除某一条整体的记录。
但不允许对每条记录的单项数据进行更改,因为不管是收入还是支出,所涉及的金额都是固定的,时间也是固定的,所以系统不允许用户对其进行操作。
除此之外,还必须有足够大的空间来存储新的记录。
所以此程序就是基于这个思想而编写出来的,基本满足了用户对于一个财政支出管理系统所要求的相关功能。
2系统总框图和功能模块说明2.1系统总框图2.2功能模块说明(1)old_record( ):此函数由系统自行调用,作用是将所有用户信息存入系统。
(2)void save( ): 此函数的作用是将结构体数组中的信息写入文件存储,由系统调用。
cs个人账目管理系统课程设计一、课程目标知识目标:1. 让学生理解个人账目管理系统的基本概念和功能,掌握系统设计的基本原理。
2. 使学生掌握运用编程语言(如Python)实现个人账目管理系统的基本操作,包括数据录入、查询、修改和删除等。
3. 帮助学生了解数据库的基本原理,学会使用数据库存储和管理个人账目数据。
技能目标:1. 培养学生运用编程语言解决实际问题的能力,学会分析个人账目管理需求,设计合理的系统功能。
2. 提高学生的团队协作和沟通能力,通过项目实践,掌握分工合作、共同解决问题的方法。
3. 培养学生独立思考和创新能力,能够针对个人账目管理系统提出改进和优化方案。
情感态度价值观目标:1. 激发学生对计算机科学的兴趣,培养其探究精神和积极学习的态度。
2. 使学生认识到个人账目管理系统在生活中的实际应用,增强学以致用的意识。
3. 培养学生的责任感和诚信意识,在使用个人账目管理系统时遵循法律法规,保护个人隐私。
本课程针对高中年级学生,结合学科特点,注重理论与实践相结合,培养学生的编程能力和实际应用能力。
在教学过程中,教师需关注学生的学习需求,充分调动学生的积极性和主动性,确保课程目标的达成。
通过本课程的学习,学生将能够独立设计并实现一个功能完善的个人账目管理系统,为今后的学习和生活打下坚实基础。
二、教学内容1. 个人账目管理系统概述:介绍个人账目管理系统的基本概念、功能和实际应用场景,使学生对该系统有整体的认识。
相关教材章节:第1章 计算机应用系统概述2. 编程语言基础:讲解Python编程语言的基本语法、数据类型和常用操作,为后续系统开发奠定基础。
相关教材章节:第2章 Python编程基础3. 数据库原理与应用:介绍数据库的基本概念、关系型数据库的设计方法,以及SQLite数据库的使用。
相关教材章节:第3章 数据库原理与应用4. 个人账目管理系统设计:分析系统需求,设计系统功能模块,明确各模块之间的关系和作用。
c++个人财务管理系统(五篇模版)第一篇:c++个人财务管理系统个人财务管理系统//mynumber.h #include #include #include #include #include using namespace std;struct record {string time;string operate;int money;};struct code {string password;stringacnumber;string person1;string person2;};const record mark={“notimen”,“non”,0};class account {public: struct record A;struct code B;intcheckacnumber();intcheckpassword();voidoldrecord(const char *filetxt);void inquire(const char *filetxt);void del(const char *filetxt);void increase(const char *filetxt);voidCreateTxt(const char *filetxt);voidprintall(const char *filetxt);voidprintincome(const char *filetxt);voidprintpay(const char *filetxt);voidModifynumber();voidCreateDat();void Initial(const char *filetxt);intendmark(record A);intfindback();voidrecyclebin(const char *filetxt);};//main.cpp #include“mynumber.h” const char *file=“E:RecordFile.txt”;int main(){cout<<“欢迎使用个人财务管理系统n”;cout<<“-----------n”;cout<<“||n”;cout<<“|1.登陆|n”;cout<<“|2.注册|n”;cout<<“|cout<<”-----------n“;intn,k,t;cin>>n;accountX;if(n==2){X.CreateDat();n=1;} if(n==1){k=X.checkacnumber();if(k==0)exit(0);else{t=X.checkpassword();if(t==0)exit(0);else while(1){cout<<”-----------请选择您要进行的操作-----------n“;cout<<”|cout<<“|0.退出系统cout<<”|1.查找记录cout<<“|2.增加记录cout<<”|3.删除记录cout<<“|4.输出所有记录cout<<”|5.输出所有收入记录cout<<“|6.输出所有支出记录cout<<”|7.修改密码cout<<“|8.初始化记录cout<<”|9.回收站char choice;cin>>choice;switch(choice){case'0':cout<<“感谢您使用本系统!n”;exit(0);case'1':X.inquire(file);break;case'2':X.increase(file);b reak;case'3':X.del(file);break;case'4':X.printall(file);break;case'5':X. printincome(file);break;|n“;|n”;|n“;|n”;|n“;|n”;|n“;|n”;|n“;|n”;|n“;|n”;case'6':X.printp ay(file);break;case'7':X.Modifynumber();break;case'8':X.Initial(file);break;case'9':X.recyclebin(file);break;} cout<//check-acnumber.cpp #include“mynumber.h” int account::checkacnumber(){stringa;intj=3;ifstreamfdat(“E:accountFile.dat”,ios::in);cout<<“请输入您的账号: ”;while(j--){cin>>a;fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof(code)) ;if(a==B.acnumber){fdat.close();return 1;} else cout<<“此账号不存在,请重新输入!n”;} cout<<“n您的账号已输错三次!请退出系统!n”;fdat.close();return 0;}//check-passwo rd.cpp #include“mynumber.h” int account::checkpassword(){ifstreamfdat(“E:accountFile.dat”,ios:: in);strings;int j=3,x;cout<<“请输入密码:”;while(j--){cin>>s;fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof(code)) ;if(s==B.password){fdat.close();return 1;} else co ut<<“密码错误,请重新输入!n”;} cout<<“n您输入的密码已错误三次,请问想找回密码吗?(Y/N)n”;char answer;cin>>answer;if(answer=='Y'||answer=='y'){x=account::fi ndback();if(x==1)return 1;else return 0;} else {cout<<“感谢您使用本系统,再见!n”;return 0;} }//CreateDat.cpp #include“mynumber.h” void account::CreateDat(){codeB;stringa,b;account::oldrecord(“E:Rec ordFile.txt”);fstreamtemp(“E:lalala.txt”,ios::out|ios::binary);fstreamrub(“E:RecycleBin.txt”,ios::out|ios::binary);temp.seekp(0,ios::be g);temp.write((char*)&mark,sizeof(record));rub.seekp(0,ios::beg); rub.write((char*)&mark,sizeof(record));while(1){cout<<“请输入您要注册的账号:”;cin>>B.acnumber;cout<>B.password;cout<>b;cout<>a;co ut<{cout<<“为了便于验证身份,请您填写以下信息作为验证方式n”;cout<<“自己身高多少:”;cin>>B.person1;cout<<“自己颜值多高:”;cin>>B.person2;cout<<“(自己身高多少:”<”<<“(自己颜值多高:”<{s tringE;int n=0;char answer;cout<<“请输入您要删除的日期:”;cin>>E;fdat.seekg(0,ios::beg);do {fdat.read((char*)&A,sizeof(record));if(E==A.time){n++;cout<<“(”<{ cout<<“没有该日期的记录!n”<<“您还要继续删除记录吗?(Y/N)n”;cin>>answer;if(answer=='Y'||answer=='y'){cout<>a nswer;if(answer=='Y'||answer=='y'){ fdat.seekg(0,ios::beg);ftxt.se ekp(0,ios::beg);rub.seekg(0,ios::beg);do{rub.read((char*)&A,sizeof(record));}while(!endmark(A));rub.seekp(-long(sizeof(record)),ios::cur);do{fdat.read((char*)&A,sizeof(record));if(A.time!=E&&!endmark(A)){ftxt.write((char*)&A,sizeof(reco rd));}if(A.time==E&&!endmark(A)){rub.write((char*)&A,sizeof(rec ord));}}while(!endmark(A));ftxt.write((char*)&mark,sizeof(record));r ub.write((char*)&mark,sizeof(record));fdat.seekp(0,ios::beg);ftxt.s eekg(0,ios::beg);do{ftxt.read((char*)&A,sizeof(record));if(!endmark(A))fdat.write((char*)&A,sizeof(record));}while(!endmark(A));fdat.write((char*)&mark,sizeof(record));cout<<“成功删除记录!n”;cout<<“您是否还要继续删除日期记录?(Y/N)n”;cin>>answer;if(answer=='Y'||answer=='y'){cout<//findback.cpp #include“mynumber.h” int account::findback(){fstreamfdat(“E:accountFile.dat”,ios::in|ios:: out|ios::binary);fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof( code));stringa,b,c,d;cout<<“自己身高多少:”;cin>>a;if(a!=B.person1){cout<<“n验证错误!请退出系统!n”;return 0;} else {cout<<“自己颜值多高:”;cin>>b;if(b!=B.person2){cout<<“n验证错误!请退出系统!n”;return 0;} else {cout<<“n验证成功!请修改您的密码!n”;account::Modifynumber();fdat.close();return 1;} } } //increase.cpp #include“mynumber.h” void account::increase(const char* filetxt){fstreamfdat(filetxt,ios::in|ios::out|ios::binary);while(1){record D;cout<<“请输入您要添加的日期:”;cin>>D.time;cout<<“请输入所添加日期的操作:”;cin>>D.operate;cout<<“请输入所添加日期的支出或收入:”;cin>>D.money;cout.setf(ios::showpos);cout<<“(”<cout<<“n是否确定将该日期记录进行保存?(Y/N)n”;char answer;cin>>answer;if(answer=='Y'||answer=='y'){fdat.seekg(0,i os::beg);do{fdat.read((char*)&A,sizeof(record));}while(!endmark(A));fdat.seekp(-long(sizeof(record)),ios::cur);fdat.write((char*)&D,sizeof(record));fdat.write((char*)&mark,sizeof(record));cout<<“n您是否还要继续添加日期记录?(Y/N)n”;cin>>answer;if(answer=='Y'||answer=='y'){cout<else {cout<<“记录保存成功!n”;fdat.close();break;} }else {cout<<“取消操作!n”;cout<<“您还要进行日期记录添加的操作吗?(Y/N)n”;cin>>answer;if(answer=='Y'||answer=='y')continue; else {fdat.close();break;} } } }//Initial.cpp #include“mynumber.h” externconst record mark;void account::Initial(const char *filetxt){fstreamfdat(filetxt,ios::out|ios::binary);cout<<“若账目文件存在,将删除所有数据,要进行文件初始化吗?(Y/N)n”;char answer;cin>>answer;if(answer=='Y'||answer=='y'){fdat.seekp(0,i o s::beg);fdat.write((char*)&mark,sizeof(record));cout<<“文件已经初始化。
财务管理系统课程设计java一、教学目标本节课的教学目标是使学生掌握财务管理系统的基本概念、架构和核心功能,能够运用Java语言进行简单的财务管理系统开发。
具体目标如下:1.知识目标:(1)理解财务管理系统的基本概念和作用;(2)了解财务管理系统的主要模块和功能;(3)掌握Java语言的基本语法和编程方法。
2.技能目标:(1)能够运用Java语言编写简单的财务管理系统程序;(2)具备财务管理系统程序调试和优化能力;(3)能够阅读和理解财务管理系统相关的技术文档。
3.情感态度价值观目标:(1)培养学生对财务管理工作的兴趣和认识;(2)培养学生团队合作精神和自主学习能力;(3)培养学生热爱科学、追求真理的态度。
二、教学内容本节课的教学内容主要包括以下几个部分:1.财务管理系统的基本概念和作用;2.财务管理系统的主要模块和功能;3.Java语言的基本语法和编程方法;4.财务管理系统程序的开发流程和技巧。
教学过程中,将结合具体的案例和实例进行讲解,使学生能够更好地理解和掌握相关知识。
三、教学方法为了提高教学效果,本节课将采用以下几种教学方法:1.讲授法:讲解财务管理系统的基本概念、主要模块和功能,以及Java语言的基本语法和编程方法;2.案例分析法:分析具体的财务管理系统案例,使学生能够将理论知识应用于实际问题;3.实验法:引导学生动手编写财务管理系统程序,培养学生的实际操作能力;4.讨论法:学生进行小组讨论,分享学习心得和经验,提高学生的团队合作精神。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选用权威、实用的财务管理系统教材,为学生提供系统的理论知识;2.参考书:提供相关的财务管理系统参考书,拓展学生的知识视野;3.多媒体资料:制作精美的PPT课件,为学生提供直观、生动的学习材料;4.实验设备:准备充足的计算机设备,确保学生能够顺利进行实验操作。
软件工程课程设计报告---个人帐本管理一、需求分析1、系统开发背景当今社会是一个信息与科技并行的时代,在社会中消费时每个人都有的社会行为,消费与人的日常生活是息息相关的,一个人如果有一个很好的消费观的话能给自己带来很到好处。
鉴于此目的,编写了一个小型的个人账本管理系统。
此系统是一个简单的系统,可以管理个人的日常消费,可以为一般人所使用。
对于业务较多的用户来说此系统就不是一个很好的选择。
2、软件主要组成及功能●收入模块功能:录入收入任何时间录入你所得到的收入(共有以下几种选择:1、工资;2、奖金;3、其他收入;);输入你所的到的金额;录入金额的原因(可选);●支出模块功能:支出的记录什么时候什么类型的支出(1、生活费;2、日常用品;3、休闲娱乐;4、社交应酬;5、交通费;6、通讯费;7、医疗保健;8、其他支出)输入支出的金额什么原因的支出●查询模块功能:查询以选择查询的类型(1、支出;2、收入;3、全部)时间(1、今天;2、昨天;3、本周;4、上周;5、本月;6、上月;7、本年;8、去年;9、全部;)以及什么类别消费的金额在什么范围之类的记录将时间,类别,金额,备注显示出来●统计模块功能:统计选择统计的类型(1、支出;2、收入;)时间(1、今天;2、昨天;3、本周;4、上周;5、本月;6、上月;7、本年;8、去年;9、全部;)什么类别统计的方式(1、总和;2、平均值;3、最大值;4、最小值;)将时间,类别,方式,数值显示出来●管理模块功能:完成系统相应的管理可以对数据库进行备份数据库的还原查看日志操作。
●修改模块功能:对已有数据进行修改更新操作对记录进行修改对记录删除。
●退出模块退出此系统3、用户特点及一般约束4、功能需求(DFD图)收入顶层图:收入录入填写相应的信息录入成功事务确认成功一层图:收入录入填写相应的信息录入成功事务确认成功返回确认信息D:添加收入信息支出顶层图:支出录入填写相应的信息录入成功事务确认成功一层图:支出录入填写相应的信息录入成功事务确认成功返回确认信息D:添加支出信息查询顶层图:查询命令输入填写相应的信息查询成功事务确认成功一层图:查询命令输入填写相应的信息显示查询结果事务确认成功返回确认信息D:查询信息统计顶层图:统计命令输入填写相应的信息显示统计结果事务确认成功一层图:统计命令输入填写相应的信息显示统计结果事务确认成功返回确认信息D:查询信息管理顶层图:管理命令输入填写相应的信息管理成功事务确认成功一层图:管理命令输入填写相应的信息处理成功事务确认成功返回确认信息D:记录查询修改顶层图:修改命令输入填写相应的信息修改成功事务确认成功一层图:修改命令输入填写相应的信息修改成功事务确认成功返回确认信息D:查询数据库5、外部接口需求在用户界面方面要求对每一个操作都以主界面为前提弹出相应的对话框,硬软件接口方面没有特别的需求,一般用户都可以直接使用。
软件工程课程设计个人财务管理系统摘要本次课程设计在 Windows XP 平台上,以Delphi 7.0作为界面开发工具,SQL Server 2000作为数据库工具,分析设计了“个人财务管理信息系统”。
系统软件和对数据库的操作和管理都可在计算机上完成。
如今计算机已走进千家万户,传统的在纸上记录收入支出的方式已经过时,人们需要一种可以在计算机记录自己收入支出信息的软件,可是市场上的财务管理软件大多数十面向企业,或是有专门用途,面向普通用户的个人财务管理系统很难找到,在者免费的软件更是少之又少,为了满足普通用户的需求,特开发此软件。
本系统功能简单,只适合对个人财务管理要求不高的用户,可以完成收入支出金钱及物品的记录与查询操纵,但这些对普通用户还说应该够了,本系统操作简单,用户无需记录复杂的命令,打开主机面就可以很容易看出系统的功能,在者,本软件为免费产品,对于不愿花很多钱购买软件的用户来说是个很好的选择,本软件无需很高的硬件配置,一般的配置均可运行,占用系统资源少。
本报告中首先说明了该系统的特点与业务需求,之后详细说明了系统的业务流程和系统开发流程,重点介绍了系统各模块的功能及相关功能的具体实现。
该系统功能完善、用户界面友好、运行稳定,可完成日常个人财务信息的管理和维护。
本报告中首先说明了该系统的业务需求,之后介绍了系统的总体设计思路以及着重介绍了数据库表的设计过程及说明可供研究此系统的人员提供参考。
关键词管理信息系统;个人财务信息管理系统;Delphi;SQL Server 2000第一章:绪论1.1课题背景当今社会越来越着朝着信息化和数字化法发展,计算机的应用领域使我们的生活越来越方便和快捷,可以说我们的每个人生活都离不开计算机的帮助了。
越来越多的个人应用软件成为了人们重要的助手,也在潜移默化的改变着我们的生活。
随着市场经济的发展,我国居民对理财有着越来越高的要求。
理财,是每个家庭和个人所必须面对的问题。
现在,关于企业的会计制度逐渐完善,而且针对企业的财务软件以及EPR(enterprise resource planning)系统也在飞速发展,但针对个人或家庭的财务系统目前还是一段空白。
实际生活中经常要对个人的各项财务收支进行管理,本课题的目的就是利用计算机对各项财务进行电子化的管理,使我们的理财更加方便和理性化,提升我们生活的质量和品位。
课题意义我们经常看到企业的一些财务报表,这些报表主要是关注企业的资产负债表和损益表。
简单的说,前者是反映这个企业有多少钱,是存量;后者,反映了企业在一定时间能赚到多少钱,是流量。
其实,对一个人或者家庭的财务情况,也是关注这两个方面。
关注家里存多少钱,关注今年赚了多少钱,花了多少,借出什么等等。
要做到这些需要对大量的数据做存储和计算,工作是相当的复杂繁琐和枯燥的,因而这些问题容易被人忽略。
我们纵然可以为生活中的每一笔花销记账,但是对这样大量的数据做分类处理确实是一个会令大多数人头疼的问题,如果有一个个人理财的软件理财的软件对我们的日常财务进行那样的繁琐的数据处理和计算工作,相信可以让我们理财的效率大大提高。
这样一个软件不但可以方便我们的生活,更可以使我们对自己的财务状况有一个清楚的了解。
与此同时,这样的一个软件开发和制作也是对我们大学学到各种知识进行的一次综合运用的一个好机会,是对我大学学习的一个检验和实践。
1.1.11.2 关于MIS管理信息系统(简称MIS)是在管理科学、系统科学、计算机科学等的基础上发展起来的综合性边缘科学。
在21世纪信息高速发展的时代中,管理信息系统具有很重要的作用,它的预测和辅助决策的功能,即利用现代管理的决策和支持。
管理信息系统是一个由人、机(计算机)组成的能进行管理信息的收集、传递、存储、加工、维护和使用的系统。
它能观测企业或组织的各种运动情况,利用过去的数据预测未来;从全局出发辅助决策;利用信息控制企业或组织行为,帮助其实现长远的规划目标。
简言之,管理信息系统是一个以计算机为工具,具有数据处理、预测、控制和辅助决策功能的信息系统。
管理信息系统是一个人机系统,同时它又是一个一体化集成系统。
管理信息系统是信息系统的一个子系统,它以计算机技术、通讯技术和软件技术为技术基础,同时将现代管理理论、现代管理方法及各级管理人员融为一体,最终为某个组织整体的管理与决策服务,是由人和计算机组成的能进行管理信息的收集、传递、存储、加工、维护和使用的系统。
管理信息系统的基本结构可以概括为四大部件,即信息源、信息处理器、信息用户和信息管理者。
因此,一个成功的管理信息系统应该具有可靠的硬件、实用的软件、强有力的现代化管理水平。
具体讲,管理信息系统的三大支柱是:计算机网络、数据库和现代化的管理,这三打支柱称为管理信息系统的扩展部件。
第2章可行性分析2.2.1 可行性分析当接受一个软件开发任务,就进入软件生命的第一个阶段,即进行可行性的研究。
并不是所有问题都具有简单的解决办法,许多问题不能在预定的规模之内解决。
可行性分析就是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
2.1.2 技术可行性根据客户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标,来衡量所需的技术是否具备。
本系统主要采用数据库管理方法,服务器选用微软的SQL Server2005数据库,他是它是目前能处理所有中小型系统最方便的流行数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。
它的灵活性、安全性和易用性为数据库编程提供了良好的条件。
硬件方面,该系统短小精悍对赢家没有太大要求,只要能够运行windows xp就可以很好的运行该软件。
另外在划单操作中可用磁条来触发事件的响应,这项技术也已经很成熟。
2.1.3 操作可行性本系统采用用户界面交互方式,并有必要的帮助信息,操作简单,用户只要具备简单的应用计算机的能力,无论学历,无论背景,均可以使用本系统,用户界面上的按钮的功能明确,用户一看就可以了解怎么使用本系统,以及本系统能够完成的功能,因此本系统在操作上是可行的。
2.1.2 经济可行性估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。
并且,分析系统开发是否会对其它产品或利润带来一定影响。
本系统作为一个课程设计,没有必要考虑维护费用,以及本系统可获得的效益等问题。
2.1.4 法律及社会效益方面的可行性由于本系统只是一个课程设计,在图书馆查询相关资料因此不存在侵权等法律与社会影响方面的问题,不存在侵权级相应的法律问题。
关于效益方面,本系统仅仅是一个课程设计,只是为了提高自己的分析,设计能力,而非为了社会效益而编写设计,因此社会效益方面也是可行的。
第3章需求分析1.23.1 用户需求本系统是针对用户要求,使用计算机对自己日常的资金和物品的收入、支出以及相关的各种信息进行记录、修改、添加、删除等操作,并实现对信息进行统计和以文档形式输出的操作而设计的一种现代化个人财务管理软件。
经过分析,本系统需要具有以下功能:1、能够实现个人财务管理方面各项功能,能成功的对用户各种信息进行管理。
2、实现查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。
3、能够实现按日期查询以及对库存数据进行按月统计和以文本形式输出。
4、拥有良好的人机交互界面。
1.33.2 功能需求1.3.1系统业务需求本系统具有以下几个功能模块:用户登录模块、系统管理模块、现金管理模块、物品管理模块、统计模块。
用户登录模块为每个用户分配账号密码使得个人的财务信息具有隐私性,现金管理模块能有效的管理用户的现金,可以进行添加,查询,删除操作,物品管理模块可以添加物品借入,借出,买进,买出,和删除查询操作,统计模块使得用户能够查询用户某月的金钱和物品统计信息,能够让用户对自己每月或一段时间的收支情况,系统管理模块可以让用户修改密码,进行重要数据的备份和恢复。
登陆功能对于个人财务管理系统,我们要求软件满足用户对个人财务的隐私性管理,确保在用户以外的其他人使用软件对其信息进行操作,所以要采用用户注册和登录制度,确保用户对自己财务信息的隐私管理。
1.3.2物品管理模块功能物品管理模块是用户对物品进行添加、删除、修改操作的模块,提供用户对物品的收入支出进行操作的功能。
1.3.3现金管理模块功能现金管理模块是用户对现金进行添加、删除、修改操作的模块,提供用户对现金的收入支出进行操作的功能,使得当用户的记录需要修改时,可以方便的添加和修改。
1.3.4统计管理模块提供用户对现金收支信息和物品收支信息进行统计输出功能。
1.3.5系统管理模块系统管理模块提供用户对用户个人信息的管理和修改以及对系统信息进行备份和恢复的功能。
1.3.6系统技术需求稳定性:本系统为财务管理系统,多为查询、修改、删除、添加数据等操作,要求数据的稳定性好。
可靠性:用户财务数据多比较重要,要求系统具有数据备份,数据恢复等性能。
安全性:系统设计个人银行账号以及密码的保存,要求系统提供加密保存等安全措施,即要求系统有较高的安全性能。
数据流图3.3数据字典名称:收支信息报表别名:描述:描述某日收支信息定义:收入报表=【收入|支出】+金额+原因+日期位置:显示给用户名称:物品信息报表别名:描述:描述某日物品收入/支出/借入/借出信息定义:物品信息报表=【借入|借出|买入|卖出】+名称+数量+日期+原因位置:显示给用户名称:收支统计报表别名:描述:描述某月收支收支信息定义:月收支信息=收入总额+支出总额+日期位置:显示给用途名称:物品统计报表别名:描述:描述某月物品借入/借出/买入/卖出信息定义:物品统计报表:借入物品名称+数量+借出物品名称+数量+买入物品名称+数量+卖出物品名称+数量+日期位置:显示给用户3.3状态转换图状态转换图模拟系统的行为模型,把系统概括的分为几个状态,并表示触发状态转换的事件,由于该系统是医院内部使用的小型系统故不用设置登录功能,打开系统自动初始化为等待状态,接受事件,并根据事件类型进入相应状4.2.1 ER 图数据库的ER图如下所示:图4.2 ER 图其中用户编号是用户的主键,每个用户都有唯一的编号,收入物资记录物品的收入信息,其中收入的类型物资类型包括物品和资金,支出物品资金包括物品和资金,用户与收入物资之间有收入联系,其中收入编号是收入的主键,收入类型包括买入、借入,收入,如果是金钱,金额就是金钱的数量,备注就是对事件的详细说明,支出联系同收入联系,支出类型包括:借出、卖出、支出,备注可以填写用途或原因的说明。