固定资产管理系统(软件工程)_第1页
固定资产管理系统(软件工程)_第2页
固定资产管理系统(软件工程)_第3页
固定资产管理系统(软件工程)_第4页
固定资产管理系统(软件工程)_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 软件工程实验报告设计题目: 固定资产管理系统 系 别: 信息工程学院 专 业: 信息工程 班 级: 0902班 学生姓名: 肖文名 学 号: 0120909300205 日期: 2012年6月11日 指导教师: 张 琪 1 需求分析1.1系统现状固定资产具有价值高,使用周期长、使用地点分散、管理难度大等特点。据此分析原系统主要问题有:1. 许多大规模企业组织拥有的固定资产数量大、种类多、使用周期长,因此使用人工管理将面临固定资产的增加、减少、转移、租赁、停用、封存、闲置、报废等不易管理的问题。2. 固定资产的历史操作和资产统计工作非常困难,容易导致资产流失和资产重复购置,花费不必要的资金。3

2、.目前多数固定资产管理系统采用人工手工方式录入数据,不仅速度慢、还易产生错误。4.不能及时更新固定资产的清单,导致资产外泄,资金无故减少。1.2用户需求分析根据用企业要求以及现代化管理的准则,要求新开发的固定资产管理系统能够根据企业需要查询有关固定资产管理各类信息,能够查询出任何时间的资产增加、减少、保管、使用、清理报废情况,保证账面和实物相符等。固定资产管理系统需要实现的功能如下:1.正确提出固定资产的折旧,计算固定资产的利用效果,以便于提高固定资产利用率,减少资产流失。2.能够对固定资产进行统计分析,以便于财务部门进行管理。 3.能够及时打印出各种各样的报表,用于会计查帐或审核。4.作为一

3、个正规的固定资产管理系统,需要有身份的校验,以及其他常用的辅助工具的设置。总之本系统能够快速、方便、准确的管理企业的固定资产,可以用来实现:登记新购买的资产、记录进行过维修的资产、记录进行了报废处理的资产以及对现有的资产进行统计和核查。1.3系统功能需求待开发的软件功能需求:本系统主要内容包括固定资产的购买入库,报废,查询等功能,可以将其分为档案管理、资产管理以及查询三个子模块。1.4总体功能需求固定资产管理主要包括档案管理、资产管理和资产查询管理三个模块(如图1),每个模块又可以细分为几个小模块,具体层次方框图如下: 图1 系统层次方框图对系统功能解释如下:1档案管理:当新购入固定资产时会在

4、系统中存档,维修资产的时候会登记维修记录,如果有资产报废和外界也要在系统中有记录;2. 资产管理:该子系统主要负责对固定资产的购买,维修。如果有需要外界也可以发出外借的指令。对已经不能够使用的资产施行报废处理,并向有关部门发送报废记录;3. 查询管理:主要负责对现有的总资产的查询。对外借出的资产信息的查询以及正在维护的信息查询,对报废损失的资产的查询。由此可以得到系统的顶层数据流图,如图2: 图2 系统顶层数据流图进一步细化后得到数据流图如下:图3 细化后的数据流图 2 概要设计2.1系统的层次图系统层次图如下: 图4 系统层次图2.2接口设计1.外部接口(1) 用户界面采用控制台用户界面,包

5、含按键选项。(2) 软件平台软件运行于windows 2000 ,windows2007。2. 内部接口 (1).登陆模块:系统刚启动时进入消息循环状态,实现用户登陆功能; (2).资产管理模块:由主系统调用,由相应选择激活,之后进入选择循环状态; (3).资产查询模块:由系统调用,由相应选择激活,之后进入选择循环状态; (4).退出系统模块:由系统调用,正常退出系统; (5).购入资产模块:由资产管理子系统调用,由相应选择激活,之后进入选择循环状态; (6).购入记录:由购入资产模块调用,由相应选择激活,之后返回购入资产模块; (7).资产维修模块:由资产管理子系统调用,由相应选择激活,之后

6、进入选择训环状态; (8).维修记录模块:由资产维修模块调用,由相应选择激活,之后返回资产维修模块; (9).资产外借模块:由资产管理子系统调用,由相应选择激活,之后进入选择循环状态; (10).外借记录模块:由资产外借模块调用,由相应选择激活,之后返回资产外借模块; (11).资产报废模块:由资产管理子系统调用,由相应选择激活,之后进入选择循环状态; (12).报废记录模块:由资产报废模块调用,由相应选择激活,之后返回资产报废模块; (13).总资产查询模块:由资产查询子系统调用,由相应选择激活,之后进入选择循环状态; (14).维修查询模块:由资产查询子系统调用,由相应选择激活,之后进入选

7、择循环状态; (15).报废查询模块:由资产查询子系统调用,由相应选择激活,之后进入选择循环状态; (16).外借查询模块:由资产查询子系统调用,由相应选择激活,之后进入选择循环状态; (17).返回主页模块:由资产查询子系统调用,由相应选择激活,之后返回主页。2.3数据结构设计由数据字典和功能的需求可以设计出这样的数据结构:链式数据结构。本系统对信息的处理都采用链表的结构来处理信息。2.4出错处理设计在资产查询,资产管理模块中,如果有违规操作就会显示提示信息,并且处理出错的操作。例如:在维修时需要输入资产的id,如果在总资产中没有这个id,那么就会提示“没有这个资产的信息”并且返回到主页面。

8、 2.5安全设计本系统采用密码验证的方式进入系统。以保证系统数据的安全,不让数据泄漏以及被违规修改。2.6维护设计系统严格按照设计规范进行设计,并保持各阶段文档的完整性,为以后对软件的维护打好基础。3 详细设计在以上工作的基础上,基本的设计已经完成。由此可以得出整个系统的工作流程:1系统启动,进入身份验证。2初始化系统,进入系统操作界面。3进入选择循环状态,通过选择驱动激活各模块,执行各任务。4一任务执行完毕后重新进入消息循环状态。5通过事件驱动退出系统。详细的数据流图见图3,层次图见图2。 4实现与调试分析4.1实现环境本系统在visual studio 2010开发环境下开发4.2语言选择

9、 本系统使用C+编写4.3调试分析在编写系统的过程之中难免会遇到出错。使用蛮干法,回溯法和原因排除法等调试方法进行调试分析,最终纠正错误。5测试分析5.1测试数据测试数据表如下:资产编号资产名称生产厂家生产日期购买日期使用年限购买价格购买数量1001电脑惠普2010/2/62011/1/35500041002风扇美的2009/3/52011/6/972001801003饮水机南山2011/3/52014/6/53300221004空调海尔2011/5/92020/5/49700091005冰箱海尔2009/1/52024/5/915520010 5.2测试结果1.根据系统提示输入下测试表中的测

10、试数据 登陆系统,提示输入密码界面如下(本系统初始密码为”hello”):图5 系统登陆界面 正确输入密码后进入主菜单: 图6 主菜单界面 选1进入第二菜单,任选一功能,如输入购买资产(1): 图7 购买菜单界面 再购入其它资产,0返回主菜单,2查询,1查询总资产如下: 图8 总资产查询界面将资产1001号进行维修: 图9 维修界面 将1002报废: 图10 报废界面将1003外借: 图11 借出资产界面 上述操作已进行后再查询: 图12 报废资产记录查询借出资产查询 图13 借出资产记录查询界面维修查询:图14 资产维修记录查询界面7用户手册本系统界面功能清楚简单,用户可以根据界面提示完成相

11、应操作。具体操作:1 运行程序,会出现主菜单,用户输入密码(初始密码为”hello”); 2密码正确输入,出现第二界面,三个主操作(资产管理,资产查询,退出系统);3输入对应编号,出现第三界面。选项资产管理对应功能有:资产购买,维修资产,报废资产,借出资产,返回主菜单(在每个非第一界面均有此功能);选项资产查询对应功能有:总资产查询,查询报废记录,查询维修记录,查询借出记录等。总之本系统的操作界面提示简单易懂,功能具体适合任何人员操作使用。8总结通过本次课程设计,本人掌握了软件工程的基本概念、基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准和规范等;通过固定资产

12、系统的设计,提高了对整个软件开发过程的能力,让能切实体会到软件工程在实践中的指导作用。通过课程设计,学会了按软件工程的要求完成规范的各项软件开发文档,对提高软件开发能力和项目管理能力有重要的现实意义。参考文献 1 张海藩. 软件工程导论. 北京:清华大学出版社,20042 陈 明. 实用软件工程基础. 北京:清华大学出版社,20033 殷人昆. 实用软件工程. 北京:清华大学出版社,2003 附录:#include<iostream>#include<string>#include<iomanip>#include<fstream>using n

13、amespace std;/-购入固定资产-typedef struct solid_substance string id; /资产编号 string name; /资产名称 string pro_factury; /生产厂家 string pro_date; /生产日期 string buy_date; /购买日期 string use_age; /使用年限 int value; /购买价值 int num; /购买的数量 solid_substance *next; /下一个资产的指针Buy_Substance;/-经过维修的固定资产-typedef struct repair_subs

14、tance string id; string name; string pro_factury; string pro_date; string buy_date; int repair_value; /维修费用 repair_substance *next;Repair_Substance;/-报废的固定资产-typedef struct reject_substance string id; string name; string pro_factury; string pro_date; string buy_date; string use_age; int value; /购买价值

15、 string reject_date; /报废日期 reject_substance *next;Reject_Substance;/-出借的资产-typedef struct loan_substance string id; string name; string pro_factury; string pro_date; string buy_date; string use_age; int value; string loan_date; /出借日期 loan_substance *next;Loan_Substance;/=fstream SolidFile;fstream Re

16、pairFile;fstream RejectFile;fstream LoanFile;void OpenFile()SolidFile.open("固定资产信息.txt", ios:in|ios:out|ios:app); if (!SolidFile) cout<<"cannot open file!n"exit(1); SolidFile <<setw(10) <<"资产编号" <<setw(10) <<"资产名称" <<setw(10

17、) <<"生产厂家" <<setw(10) <<"生产日期" <<setw(10) <<"购买日期" <<setw(10) <<"使用年限" <<setw(10) <<"购买价值" <<setw(10) <<"数量" <<endl; RepairFile.open("维修资产信息.txt", ios:in|ios:

18、out|ios:app); if (!RepairFile) cout<<"cannot open the file!n"exit(1); RepairFile <<setw(10) <<"资产编号" <<setw(10) <<"资产名称" <<setw(10) <<"生产厂家" <<setw(10) <<"生产日期" <<setw(10) <<"购买日期

19、" <<setw(10) <<"维修花费" <<endl; RejectFile.open("报废资产信息.txt", ios:in|ios:out); if (!RejectFile) cout <<"cannot open file!n"exit(1); RejectFile <<setw(10) <<"资产编号" <<setw(10) <<"资产名称" <<setw(10)

20、 <<"生产厂家" <<setw(10) <<"生产日期" <<setw(10) <<"购买日期" <<setw(10) <<"使用年限" <<setw(10) <<"购买价值" <<setw(10) <<"报废日期" <<endl; LoanFile.open("出借资产信息.txt", ios:in|ios:o

21、ut); if (!LoanFile) cout <<"cannot open file!n"exit(1); LoanFile <<setw(10) <<"资产编号" <<setw(10) <<"资产名称" <<setw(10) <<"生产厂家" <<setw(10) <<"生产日期" <<setw(10) <<"购买日期" <<s

22、etw(10) <<"使用年限" <<setw(10) <<"购买价值" <<setw(10) <<"出借日期" <<endl;void OperateSolidSubFile(Buy_Substance *p);void OperateRepairSubFile(Repair_Substance *p);void OperateRejectSubFile(Reject_Substance *p);void OperateLoanSubFile(Loan_Subs

23、tance *p);/-档案管理模块=/-1.记录购入信息-void BuyRecord(Buy_Substance *&BuySub, Buy_Substance *&p)Buy_Substance *pt = BuySub;while (pt->next)pt = pt->next;pt->next = p;p->next = NULL;cout <<"购买成功!n"system("pause");system("cls");/-2.记录维修资产信息-void RepairRec

24、ord(Repair_Substance *&RepSub, Buy_Substance *&BuySub, string id)Buy_Substance *p = BuySub->next; while (p!=NULL) && (p->id != id) p = p->next; if (p!=NULL) && (p->id = id) Repair_Substance *p2 = RepSub; while (p2->next) p2 = p2->next; Repair_Substance *p1 =

25、 new Repair_Substance; cout <<"输入需要的维修费用:" cin >>p1->repair_value; p1->buy_date = p->buy_date; p1->id = p->id; p1->name = p->name; p1->pro_date = p->pro_date; p1->pro_factury = p->pro_factury; p2->next = p1; p1->next = NULL; cout <<&

26、quot;该产品正在维修中.n" OperateRepairSubFile(p1); /将维修记录写入文件中 else cout <<"不存在该产品!n" system("pause"); system("cls"); return; system("pause"); system("cls");/-3.报废资产记录-void RejectRecord(Reject_Substance *&RejSub, Buy_Substance *&BuySub, st

27、ring id) Buy_Substance *p, *p3; p3 = BuySub; p = BuySub->next; while (p!=NULL) && (p->id != id) p3 = p; p = p->next; if (p!=NULL) && (p->id = id) Reject_Substance *p2 = RejSub; while (p2->next) p2 = p2->next; Reject_Substance *p1 = new Reject_Substance; cout <<

28、;"输入报废的日期:" cin >>p1->reject_date; p1->buy_date = p->buy_date; p1->id = p->id; p1->name = p->name; p1->pro_date = p->pro_date; p1->pro_factury = p->pro_factury; p1->use_age = p->use_age; p1->value = p->value; p2->next = p1; p1->next

29、= NULL; p3->next = p->next; /将改产品从总资产中删除 cout <<"该产品已经报废!n" OperateRejectSubFile(p1); /将报废记录写入文件中 else cout <<"不存在该产品!n" system("pause"); system("cls"); return; system("pause"); system("cls");/-4.出借记录-void LoanRecord(Loan_

30、Substance *&LoaSub, Buy_Substance *&BuySub, string id) Buy_Substance *p = BuySub->next; while (p!=NULL) && (p->id != id) p = p->next; if (p!=NULL) && (p->id = id) Loan_Substance *p2 = LoaSub; while (p2->next) p2 = p2->next; Loan_Substance *p1 = new Loan_Subs

31、tance; cout <<"输入外借的日期:" cin >>p1->loan_date; p1->buy_date = p->buy_date; p1->id = p->id; p1->name = p->name; p1->pro_date = p->pro_date; p1->pro_factury = p->pro_factury; p1->value = p->value; p1->use_age = p->use_age; p2->next =

32、 p1; p1->next = NULL; cout <<"该产品已经外借!n" OperateLoanSubFile(p1); /将出借记录写入文件中 else cout <<"不存在该产品!n" system("pause"); system("cls"); return; system("pause"); system("cls");/-查询管理模块=/-1.查询总资产-void QuerySub(Buy_Substance *&B

33、uySu) Buy_Substance *p = BuySu->next; if (!p) cout <<"还没有固定资产!n" system("pause"); system("cls"); return; cout <<setw(10) <<"资产编号" <<setw(10) <<"资产名称" <<setw(10) <<"生产厂家" <<setw(10) <<

34、"生产日期" <<setw(10) <<"购买日期" <<setw(10) <<"使用年限" <<setw(10) <<"购买价值" <<setw(10) <<"数量" <<endl; while (p) cout <<setw(10) <<p->id <<setw(10) <<p->name <<setw(10) &

35、lt;<p->pro_factury <<setw(10) <<p->pro_date <<setw(10) <<p->buy_date <<setw(10) <<p->use_age <<setw(10) <<p->value <<setw(10) <<p->num <<endl; p = p->next; system("pause"); system("cls");/-2

36、.查询报废记录-void QueryReject(Reject_Substance *&RejSub) Reject_Substance *p = RejSub->next; if (!p) cout <<"还没有报废的固定资产!n"system("pause");system("cls");return; cout <<setw(10) <<"资产id" <<setw(10) <<"资产名字" <<setw(

37、10) <<"生产商家" <<setw(10) <<"生产日期" <<setw(10) <<"购买日期" <<setw(10) <<"使用年限" <<setw(10) <<"购买价值" <<setw(10) <<"报废时间" <<endl; while (p) cout <<setw(10) <<p->i

38、d <<setw(10) <<p->name <<setw(10) <<p->pro_factury <<setw(10) <<p->pro_date <<setw(10) <<p->buy_date <<setw(10) <<p->use_age <<setw(10) <<p->value <<setw(10) <<p->reject_date <<endl; p = p-

39、>next; system("pause"); system("cls");/-3.查询维修记录-void QueryRepair(Repair_Substance *&RepSub) Repair_Substance *p = RepSub->next; if (!p) cout <<"还没有维修的固定资产!n" system("pause"); system("cls"); return; cout <<setw(10) <<"

40、;资产编号" <<setw(10) <<"资产名称" <<setw(10) <<"生产厂家" <<setw(10) <<"生产日期" <<setw(10) <<"购买日期" <<setw(10) <<"维修费用" <<endl; while (p) cout <<setw(10) <<p->id <<setw(10

41、) <<p->name <<setw(10) <<p->pro_factury <<setw(10) <<p->pro_date <<setw(10) <<p->buy_date <<setw(10) <<p->repair_value <<endl; p = p->next; system("pause"); system("cls");/-4.查询出借记录-void QueryLoan(Loan_

42、Substance *&LoaSub)Loan_Substance *p = LoaSub->next;if (!p) cout<<"没有外借的固定资产!n" system("pause"); system("cls"); return;cout <<setw(10) <<"资产编号" <<setw(10) <<"资产名称" <<setw(10) <<"生产厂家" <<

43、;setw(10) <<"生产日期" <<setw(10) <<"购买日期" <<setw(10) <<"使用年限" <<endl;while (p) cout <<setw(10) <<p->id <<setw(10) <<p->name <<setw(10) <<p->pro_factury <<setw(10) <<p->pro_date

44、<<setw(10) <<p->buy_date <<setw(10) <<p->loan_date <<endl; p = p->next;system("pause");system("cls");/-查询管理菜单-int QueryManageMenu()cout <<" *nnn"<<" 资产查询nnn"<<" *nnn"cout <<" 1.查询总资产

45、n"<<" 2.查询报废记录n"<<" 3.查询维修记录n"<<" 4.查询出借记录n"<<" 0.返回主界面nn" return 1;/-查询管理主调模块-void QueryManage(Buy_Substance *&BuySub, Repair_Substance *&RepSub, Reject_Substance *&RejSub, Loan_Substance *&LoaSub) int n; while (Qu

46、eryManageMenu() cout<<"输入选项:" cin >>n; switch(n) case 0: system("cls"); return; case 1: QuerySub(BuySub); break; case 2: QueryReject(RejSub); break; case 3: QueryRepair(RepSub); break; case 4: QueryLoan(LoaSub); break; default: cout <<"输入错误!n" system(&

47、quot;pause"); system("cls"); /-资产管理模块=/-1.购买资产-void BuySub(Buy_Substance *&BuySu) Buy_Substance *p = new Buy_Substance; cout <<"按提示输入需购固定资产的信息:n" cout <<"资产编号:" cin >>p->id; cout <<"资产名称:" cin >>p->name; cout <&l

48、t;"生产厂家:" cin >>p->pro_factury; cout <<"生产日期:" cin >>p->pro_date; cout <<"购买日期:" cin >>p->buy_date; cout <<"使用年限:" cin >>p->use_age; cout <<"购买价格:" cin >>p->value; cout <<&quo

49、t;需要的数量:" cin >>p->num; BuyRecord(BuySu, p); OperateSolidSubFile(p); /写入文件/-2.资产维修-void RepairSub(Repair_Substance *&RepSub, Buy_Substance *&BuySub)string id; cout <<"输入要维修的资产id:" cin >>id; RepairRecord(RepSub, BuySub, id);/-3.资产报废-void RejectSub(Reject_Su

50、bstance *&RejSub, Buy_Substance *&BuySub) string id; cout <<"输入要报废的资产id:" cin >>id; RejectRecord(RejSub, BuySub, id);/-4.资产出借-void LoanSub(Loan_Substance *&LoaSub, Buy_Substance *&BuySub) string id; cout <<"输入要维修的资产id:" cin >>id; LoanRecord

51、(LoaSub, BuySub, id);/-资产管理主界面-int ManageMenu()cout <<" *nnn"<<" 资产管理nnn"<<" *nnn"cout <<" 1.购买资产n"<<" 2.维修资产n"<<" 3.报废资产n"<<" 4.借出资产n"<<" 0.返回主菜单nn" return 1;/-资产管理主调程序-vo

52、id Manage(Buy_Substance *&BuySu, Repair_Substance *&RepSub, Reject_Substance *&RejSub, Loan_Substance *&LoaSub) int n; while (ManageMenu() cout <<"输入选项:" cin >> n; switch(n) case 0: system("cls"); return; case 1: BuySub(BuySu); break; case 2: RepairSub

53、(RepSub, BuySu); break; case 3: RejectSub(RejSub, BuySu); break; case 4: LoanSub(LoaSub, BuySu); break; default: cout <<"输入错误!n" system("pause"); system("cls"); /-管理系统主界面-int MainMenu()cout <<" *nnn"<<" 欢迎使用固定资产管理系统nnn"<<"

54、; *nnn" cout <<" 1.资产管理n" <<" 2.资产查询n" <<" 0.退出nn" return 1;/-登陆界面-int LogMenu() cout <<" *nn" <<" 固定资产管理系统nn" <<" *nn" return 1;void Log() string password = "hello" /初始密码 string _password

55、= "" while (LogMenu() cout<<"请输入密码:" cin >>_password; if (password = _password) break; cout <<"密码错误,请重新输入!n" system("pause"); system("cls"); /-主函数-int main() int n; Buy_Substance *BuySub = new Buy_Substance; Repair_Substance *RepSub = new Repair_Substance; Reject

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论