资源描述
资产管理系统总体设计和详细设计
1.1总体功能需求
根据用企业要求以及现代化管理的准则,要求新开发的固定资产管理系统能够根据企业需要查询有关固定资产管理各类信息,能够查询出任何时间的资产增加、减少、保管、使用、清理报废情况,保证账面和实物相符等。固定资产管理系统需要实现的功能如下:
1.正确提出固定资产的折旧,计算固定资产的利用效果,以便于提高固定资产利用率,减少资产流失。
2.能够对固定资产进行统计分析,以便于财务部门进行管理。
3.能够及时打印出各种各样的报表,用于会计查帐或审核。
4.作为一个正规的固定资产管理系统,需要有身份的校验,以及其他常用的辅助工具的设置。
总之本系统能够快速、方便、准确的管理企业的固定资产,可以用来实现:登记新购买的资产、记录进行过维修的资产、记录进行了报废处理的资产以及对现有的资产进行统计和核查。
1.2系统功能需求
待开发的软件功能需求:
本系统主要内容包括固定资产的购买入库,报废,查询等功能,可以将其分为档案管理、资产管理以及查询三个子模块。
固定资产管理主要包括档案管理、资产管理和资产查询管理三个模块(如图1),每个模块又可以细分为几个小模块,具体层次方框图如下:
图1 系统层次方框图
对系统功能解释如下:
1.档案管理:当新购入固定资产时会在系统中存档,维修资产的时候会登记维修记录,如果有资产报废和外界也要在系统中有记录;
2. 资产管理:该子系统主要负责对固定资产的购买,维修。如果有需要外界也可以发出外借的指令。对已经不能够使用的资产施行报废处理,并向有关部门发送报废记录;
3. 查询管理:主要负责对现有的总资产的查询。对外借出的资产信息的查询以及正在维护的信息查询,对报废损失的资产的查询。
1.3系统类图分析
系统类只要是由资产组成,由资产这个抽象类可以再具体到各个子类如购入资产,维修资产,报废资产和借出资产。用例图如图所示:
资 产
solid_substance
属性
QuerySub()查询资产
购入的资产
QuerySub()
维修的资产
QuerySub()
报废的资产
QuerySub()
借出的资产
QuerySub()
图2系统类图
1.4系统用例图
系统行为者分为管理员和普通用户,而行为操作则包括系统所提供的各项工能,分析之可以得出系统用例图如下图所示:
资产管理
购买资产
维修资产
报废资产
借出资产
图3-1资产管理用例图
资产查询
维修查询
报废查询
借出查询
总资产查询
图3-2资产查询用例图
1.5.数据库简要设计(此处只设计数据库的E-R图)
数据库只要包含四张表:购入资产表,维修记录表,报废记录表,借出表,其E-R图如下图所示
资产编号
购 入 资 产
购买日期
使用年限
购买单价
购买数量
生产日期
生产厂商
资产名称
图4-1购入资产E-R图
资产编号
生产厂商
资产名称
报废资产
维修费用
使用年限
购买单价
报废日期
生产日期
图4-2报废资产E-R图
以上为购入表和维修表E-R图,另两张图在此略去,只写出其基本属性。
维修的资产=资产编号+资产名称+生产厂商+生产日期+购买日期+维修费用
借出的资产=资产编号+资产名称+生产厂商+生产日期+购买日期+购买价格+使用年限+借出日期
1.6系统概要设计层次图
系统内部模块:
(1).登陆模块:系统刚启动时进入消息循环状态,实现用户登陆功能;
(2).资产管理模块:由主系统调用,由相应选择激活,之后进入选择循环状态;
(3).资产查询模块:由系统调用,由相应选择激活,之后进入选择循环状态;
(4).退出系统模块:由系统调用,正常退出系统;
(5).购入资产模块:由资产管理子系统调用,由相应选择激活,之后进入选择循环状态;
(6).购入记录:由购入资产模块调用,由相应选择激活,之后返回购入资产模块;
图5系统层次图
(7).资产维修模块:由资产管理子系统调用,由相应选择激活,之后进入选择训环状态;
(8).维修记录模块:由资产维修模块调用,由相应选择激活,之后返回资产维修模块;
(9).资产外借模块:由资产管理子系统调用,由相应选择激活,之后进入选择循环状态;
(10).外借记录模块:由资产外借模块调用,由相应选择激活,之后返回资产外借模块;
(11).资产报废模块:由资产管理子系统调用,由相应选择激活,之后进入选择循环状态;
(12).报废记录模块:由资产报废模块调用,由相应选择激活,之后返回资产报废模块;
(13).总资产查询模块:由资产查询子系统调用,由相应选择激活,之后进入选择循环状态;
(14).维修查询模块:由资产查询子系统调用,由相应选择激活,之后进入选择循环状态;
(15).报废查询模块:由资产查询子系统调用,由相应选择激活,之后进入选择循环状态;
(16).外借查询模块:由资产查询子系统调用,由相应选择激活,之后进入选择循环状态;
(17).返回主页模块:由资产查询子系统调用,由相应选择激活,之后返回主页。
1.7系统部分代码及运行结果
//-------购入固定资产------------------------------
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_substance
{
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; //购买价值
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;
//------查询管理模块
//------------1.查询总资产------------------------------
void QuerySub(Buy_Substance *&BuySu)
{
Buy_Substance *p = BuySu->next;
if (!p)
{
cout <<"还没有固定资产!\n";
system("pause");
system("cls");
return;
}
cout <<setw(10) <<"资产编号" <<setw(10) <<"资产名称"
<<setw(10) <<"生产厂家" <<setw(10) <<"生产日期"
<<setw(10) <<"购买日期" <<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
<<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.查询报废记录-----------------
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(10) <<"生产商家" <<setw(10) <<"生产日期"
<<setw(10) <<"购买日期" <<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
<<setw(10) <<p->buy_date <<setw(10) <<p->use_age
<<setw(10) <<p->value <<setw(10) <<p->reject_date
<<endl;
p = p->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) <<"资产编号" <<setw(10) <<"资产名称"
<<setw(10) <<"生产厂家" <<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
<<setw(10) <<p->buy_date <<setw(10) <<p->repair_value
<<endl;
p = p->next;
}
system("pause");
system("cls");
}
//-------------4.查询出借记录----------------
void QueryLoan(Loan_Substance *&LoaSub)
{
Loan_Substance *p = LoaSub->next;
if (!p)
{
cout<<"没有外借的固定资产!\n";
system("pause");
system("cls");
return;
}
cout <<setw(10) <<"资产编号" <<setw(10) <<"资产名称"
<<setw(10) <<"生产厂家" <<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
<<setw(10) <<p->buy_date <<setw(10) <<p->loan_date
<<endl;
p = p->next;
}
system("pause");
system("cls");
}
//-----------------查询管理菜单-------------------
int QueryManageMenu()
{
cout <<" ***********************************\n\n\n"
<<" 资产查询\n\n\n"
<<" ***********************************\n\n\n";
cout <<" 1.查询总资产\n"
<<" 2.查询报废记录\n"
<<" 3.查询维修记录\n"
<<" 4.查询出借记录\n"
<<" 0.返回主界面\n\n";
return 1;
}
//-------查询管理主调模块
void QueryManage(Buy_Substance *&BuySub, Repair_Substance *&RepSub,
Reject_Substance *&RejSub, Loan_Substance *&LoaSub)
{
int n;
while (QueryManageMenu())
{
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("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 <<"生产厂家:"; cin >>p->pro_factury;
cout <<"生产日期:"; cin >>p->pro_date;
cout <<"购买日期:"; cin >>p->buy_date;
cout <<"使用年限:"; cin >>p->use_age;
cout <<"购买价格:"; cin >>p->value;
cout <<"需要的数量:"; 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_Substance *&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(LoaSub, BuySub, id);
}
//--------资产管理主界面-----------------
int ManageMenu()
{
cout <<" ***********************************\n\n\n"
<<" 资产管理\n\n\n"
<<" ***********************************\n\n\n";
cout <<" 1.购买资产\n"
<<" 2.维修资产\n"
<<" 3.报废资产\n"
<<" 4.借出资产\n"
<<" 0.返回主菜单\n\n";
return 1;
}
//----管理系统主界面------------------------------
int MainMenu()
{
cout <<" ***************************************************\n\n\n"
<<" 欢迎使用固定资产管理系统\n\n\n"
<<" ***************************************************\n\n\n";
cout <<" 1.资产管理\n"
<<" 2.资产查询\n"
<<" 0.退出\n\n";
return 1;
}
图6-1主界面
图6-2资产管理界面
图6-3 资产查询界面 3、通过活动,使学生养成博览群书的好习惯。
B比率分析法和比较分析法不能测算出各因素的影响程度。√
C采用约当产量比例法,分配原材料费用与分配加工费用所用的完工率都是一致的。X
C采用直接分配法分配辅助生产费用时,应考虑各辅助生产车间之间相互提供产品或劳务的情况。错
C产品的实际生产成本包括废品损失和停工损失。√
C成本报表是对外报告的会计报表。×
C成本分析的首要程序是发现问题、分析原因。×
C成本会计的对象是指成本核算。×
C成本计算的辅助方法一般应与基本方法结合使用而不单独使用。√
C成本计算方法中的最基本的方法是分步法。X
D当车间生产多种产品时,“废品损失”、“停工损失”的借方余额,月末均直接记入该产品的产品成本
中。×
D定额法是为了简化成本计算而采用的一种成本计算方法。×
F“废品损失”账户月末没有余额。√
F废品损失是指在生产过程中发现和入库后发现的不可修复废品的生产成本和可修复废品的修复费用。X
F分步法的一个重要特点是各步骤之间要进行成本结转。(√)
G各月末在产品数量变化不大的产品,可不计算月末在产品成本。错
G工资费用就是成本项目。(×)
G归集在基本生产车间的制造费用最后均应分配计入产品成本中。对
J计算计时工资费用,应以考勤记录中的工作时间记录为依据。(√)
J简化的分批法就是不计算在产品成本的分批法。(×)
J简化分批法是不分批计算在产品成本的方法。对
J加班加点工资既可能是直接计人费用,又可能是间接计人费用。√
J接生产工艺过程的特点,工业企业的生产可分为大量生产、成批生产和单件生产三种,X
K可修复废品是指技术上可以修复使用的废品。错
K可修复废品是指经过修理可以使用,而不管修复费用在经济上是否合算的废品。X
P品种法只适用于大量大批的单步骤生产的企业。×
Q企业的制造费用一定要通过“制造费用”科目核算。X
Q企业职工的医药费、医务部门、职工浴室等部门职工的工资,均应通过“应付工资”科目核算。X
S生产车间耗用的材料,全部计入“直接材料”成本项目。X
S适应生产特点和管理要求,采用适当的成本计算方法,是成本核算的基础工作。(×)
W完工产品费用等于月初在产品费用加本月生产费用减月末在产品费用。对
Y“预提费用”可能出现借方余额,其性质属于资产,实际上是待摊费用。对
Y引起资产和负债同时减少的支出是费用性支出。X
Y以应付票据去偿付购买材料的费用,是成本性支出。X
Y原材料分工序一次投入与原材料在每道工序陆续投入,其完工率的计算方法是完全一致的。X
Y运用连环替代法进行分析,即使随意改变各构成因素的替换顺序,各因素的影响结果加总后仍等于指标的总差异,因此更换各因索替换顺序,不会影响分析的结果。(×)
Z在产品品种规格繁多的情况下,应该采用分类法计算产品成本。对
Z直接生产费用就是直接计人费用。X
Z逐步结转分步法也称为计列半成品分步法。√
A按年度计划分配率分配制造费用,“制造费用”账户月末(可能有月末余额/可能有借方余额/可能有贷方余额/可能无月末余额)。
A按年度计划分配率分配制造费用的方法适用于(季节性生产企业)
展开阅读全文