三人行,必有我师也。择其善者而从之,其不善者而改之。该页是小编给大家找到的软件设计(精选4篇),欢迎借鉴,希望可以帮助到有需要的朋友。
随着社会的发展,软件应用规模和应用领域的不断扩大,作为相应支撑的各种软件系统将与之相适应,使得软件开发成了一项的系统工程,而这对软件开发方式也提出了更大的挑战。基于架构的软件设计方法着重于在软件开发的设计阶段即按照业务特点及软件设计原则,在软件设计方法上采用一定的方法隔离业务关注点,设计及代码局部化,为需求变更及业务逻辑变化,采用递归分解的方法将大的业务分解,增加程序的可扩展性、可修改性,并将设计元素归类管理,在可预测范围内预留可变空间,应对需求变更及业务逻辑变化。基于架构的软件设计根据业务需求隔离关注点,它可以在可预见的范围内考虑可变性,为应对变化预留空间。信息技术的发展改变了人们的工作方式,由于软件工程管理的出现,促进了制造业等传统产业的发展,而软件开发也面临着现实的问题,即业务逻辑的易变性。如何将变化缩小到最小范围,业务功能的隔离无疑可以起到一定的作用。从另一方面讲,软件开发方式自身也存在一定的问题,开发过程中某些环节需要细化。软件架构是软件设计阶段的产物,具体地说,软件架构包含了结构、协作和技术等方面的重要决策,它对后期的软件维护,为系统的开发活动建立基础,对改动力度比较大的软件升级都起着重要的作用。现在,大多数企业都开始注重产品线的开发,完成从面向业务到面向技术的转换,因此要为整个产品线设计软件架构。一般内容是:上承业务目标、下接技术决策、.控制复杂性、组织开发、利于迭代开发和增量交付、提高质量。软件开发方法随着软件系统的规模增大而不断变化,20世纪70年代以前,软件开发基本上都是汇编程序设计;70年代中后期,软件开发中出现了概要设计与详细设计;90年代中期,是面向对象开发方法;90年代以后则是基于构件的软件开发。纵观软件体系结构技术发展过程,架构设计得到了充足的发展,并成为软件工程领域的研究热点。基于架构的软件设计方法能更好地隔离业务关注点及决策,可以更好地应对需求变更,以及更好地采用模块化设计方法。
二、基于架构的软件设计方法的理论
基于架构的设计提供了一个系统化的步骤,此方法在发展中不断在完善,用于设计概念性软件架构,包含了一些基础的理论概念,如设计元素、所采用的视图、用例及质量场景等。架构设计包括共性与可变性,软件模板与系统基础设施,架构驱动元组需求,质量属性、功能及架构模型。其中基于架构的设计关注对架构设计有影响的变化粒度,共性是指变化中的不变部分,可变性可以发生在功能、平台或环境中;软件模板与特定的设计元素相对应,包括设计元素与公共服务的交互模式、设计元素与基础设施的交互模式、自身职责功能。软件模板作用具体为有助于集成、对于系统中可重用的组件是一个库,并为构成系统架构提供基础。而对于一些质量属性建模技术,软件模板的定义决定了交互模式;架构驱动元组包括功能需求、质量属性及业务需求。架构驱动元素依赖抽象的功能需求,确定架构驱动元素要进行特定方面需求的详细调查,架构驱动元素满足了,设计就可以开始;架构模型包括组件类型集合及它们互操作模式,确定操作数量及功能的标准将会不同于驱动需求,架构风格就是实时计划策略。需求阶段结果包括功能需求、质量属性、业务需求及约束,运用基于架构的设计方法进行设计,为考虑决策跟踪,需要重新审视决策。基于架构的设计方法包括:抽象功能需求。基于架构的设计假定需求输出是抽象的功能需求,各种终端用户与特定系统相关联,理解需求间的相关性对设计来说是很重要,抽象功能的需求捕获可以对详细需求提供分类;用例。用例是终端用户与系统间互操作的具体描述;质量属性及业务目标。每个质量需求应当包括具体的输入及设想的应答,而业务目标与质量属性的区别不是很明晰。架构可选方案。方案的列举,逻辑上属于基于架构的设计阶段,它针对每,一个质量属性及业务目标,作为需求阶段的一个一输出,并将凡是满足需求的架构都应当列出来。质量场景。质量场景也可以具体化质量需求,应当对它们分优先级进行管理。约束。约束是预先指定的设计决策,约束来自于业务还是技术并没有关系,其设计过程就是做决策。很少有系统设计时无需考虑现存系统,遗留系统将影响当前系统的设计。
很多单片机的应用中都需要同时执行很多任务,对于这样的应用,我们可以利用实时操作系统来灵活地安排系统资源。RTX51是美国Keil公司开发的一种小型的应用于MCS51系列单片机的实时多任务操作系统,它可以工作所有8051单片机以及派生家族中,简化了复杂的软件设计,缩短了项目周期。我们实践中用RTX51来开发单片机软件。设计单片机控制的GPS接收板软件,取得了很好的效果。
2RTX51介绍
RTX51有2个模式:RTX51完全模式和最小模式。RTX51最小模式版是RTX51完全版的一个子集,可以很容易地运行在8051系统上,而不需要外部RAM(DXATA)。RTX51完全模式有4个任务优先级,可以和中断函数并行处理,各个任务之间通过使用“邮箱”系统来进行信号和消息的传递,可以从内存池中申请和释放内存;同时,可以强制一个任务停止执行,等待一个中断,或者是其它中断传来的信号量或者消息。RTX51对系统硬件的要求如表1所列。
2.1RTX51任务
RTX51区分2类任务:快速任务和标准任务。快速任务有很快的响应速度,每个快速任务使用8051一个单独的寄存器组,并且有自己的堆栈区域。RTX51支持最大同时有3个快速任务。标准任务需要多一点的时间来进行任务切换,因此使用的内部RAM相对快速任务要少,所有的标准任务共用1个寄存器组和堆栈。当任务切换的时候,当前任务的寄存器状态和堆栈内容转移到外部存储器中。RTX51支持最大16个标准任务。
RTX51任务状态:
①运行(RUNNIGN)——当前正在运行的任务处于RUNNING状态,同一时间只有1个任务可以运行。
②就绪(READY)——等待运行的任务处于READY状态,在当前运行的任务退出运行状态后,就绪队列中优先级最高的任务进入到运行状态。
③阻塞(BLOCKED)——等待一个事件的任务处于BLOCKED状态,如果事件发生且优先级比正在运行的任务高,此任务进入运行状态;如果优先级比正在运行的任务低,此任务进入READY状态。
④删除(DELETED)——没有开始的任务处于删除状态。
⑤任务切换——RTX51包含一个事件驱动的任务切换机制,它能够按照任务的优先级进行切换,也就是抢占式多任务系统;另外还有一个可选的时间片轮转切换任务模式,在时间片轮转模式下,同级别的任务是按照时间片分别占用CPU的。RTX51任务有4个优先级:0、1、2可以分配给标准任务,优先级3是为快速任务保留的。每个任务都可以等待事件的发生,而并不增加系统的负担;任务可以等待消息、信号、中断、超时事件或者它们的组合。任务切换是按照一定规则进行的,包括:进入到“就绪”状态的优先级高的任务先执行;如果“就绪”状态的几个任务是同一个优先级,那么最先进入“就绪”状态的先执行。
RTX51任务切换图如图1所示。
2.2RTX51事件
◇超时(timeout):挂起运行的任务指定数量的时间周期。
◇间隔(interval):类似于超时,但是软件定时器没有复位,典型应用是产生时钟。
◇信号(signal):用于任务内部同步协调。
◇消息(message):适用于RTX51Full,用于信息的交换。我们可以把一个消息交送到一个特定的邮箱。消息由2字节组成,可以是用户按照自己的需求定主的数据,也可以是指向数据的指针。如果邮箱的消息列表满,而且是中断发送消息,这个消息将会丢失;如果是任务发送消息,那么任务将会进入到等待状态,直到邮箱重新有了位置可以接收这一条消息。邮箱是按照FIFO的原则来管理消息的,如果几个任务都在等待接收消息,那么最先进入等待接收队列的将接收消息。一个邮箱最多可以存储8条消息。当邮箱满的时候,最多只能有16个等待任务。
◇中断(interrup):适用于RTX51Full,信号量用于管理共享的系统资源。通过使用“令牌”,允许在同一时刻只有一个任务使用某些资源。如果几个任务申请访问同一个资源,那么首先提出申请的将允许访问,其它的任务进入等待队列,直到第1个任务操作完毕,下一个任务才能继续。
Os_wait()函数挂起一个任务来等待一个事件的发生。这样可以同步2个或几个任务。它的工作过程如下:当任务等待的事件没有发生的时候,系统挂起这个任务;当事件发生时,系统根据任务切换规则切换任务。
2.3RTX51中断处理
RTX51完全模式提供2种方法来处理中断:一种是C51的中断函数,另一种是RTX51的断。它又可以分为快速任务中断和标准任务中断。对于中断函数这种方法,它同时也可以在不使用RTX51的情况下使用,当中断发生的时候,程序就跳到了相应的中断函数,它和正在运行的任务是互相独立的,中断的处理是在RTX51系统之外,和任务切换规则没有关联。对于任务中断的方法,不管使用快速是标准任务来处理中断,如果中断发生,等待中断的任务就从“等待”状态进入到就绪状态,并按照任务切换规则进行切换。这种中断处理是完全集成在RTX51的内部,硬件中断事件的处理和信号、信息的处理是完全相同的。在系统响应中断使能寄存器,这样才能遵守任务的切换规则并保证中断程序的无误进行。必须注意中断使能寄存器是由RTX51完全控制的,禁止用户手动的修改。
3应用实例
以下给出RTX51在单片机控制的GPS接收板上的应用。
(1)系统硬件组成
单片机W77E58,快速8051内核、32KBROM、1KB的XDATARAM,符合使用RTX51的硬件要求;键盘、GPS定位模块、液晶显示模块。
(2)系统软件构成
软件运
行环境KEILuVision26.20集成开发环境加上RTX51完成版。任务KEY-BOARD,监测键盘的情况,如果有按键按下,把按键的编码发更新到邮箱1,外部中断1等待接收GPS数据,并把数据存储起来,向DISPLAY任务发出信号。任务DISPLAY根据接收到的不同的信号和消息,进行处理。任务SEND-OUT,把接收到的数据进行处理,并发送出去。任务VOICE进行语音输出。
系统硬件、软件结构如图2所示。
下面给出简写的源程序:
#include<RTX51.h>//包含RTX51头文件
#defineDISPLAY0
#defineSEND_OUT1
#defineKEY_BOARD2
#defineVOICE3
voidmain(void)
{initsystem();//系统初始化
osstartsystem(DISPLAY);//启动RTX51
}
voidtask0(void)_task_DISPLAY
{os_set_slice(1000);//设置时间片大小
os_enable_isr(0);//允许外部中断0
os_creat_task(SEND_OUT);//启动SEND_OUT任务
os_creat_task(VOICE);//启动VOICE任务
for(;;){
switch(os_wait(K_SIG+K_MBX+1,255,&keyboard))//等待接收信号和键盘消息,分类处理
{display1();break;
caseEVENT_MBOX;//当从邮箱接收到数据的时候switch(keyboard)
{case''''1'''';
…
os_send_signal(SEND_OUT);//向任务SEND_OUT发送信号
…
os_send_signal(VOICE);}//向任务VOICE发送信号
…;}
…;}
}
voidtask1(void)_task_SEND_OUT//处理发送数据任务
{while(1)
{os_wait(K_SIG,255,0)//等待信号
operation_send();
}
voidtask3(void)_task_VOICE
{while(1){
os_wait_signal(K_SIG,255,0);//等待语音处理信号
voice();}
}
voidinterrupt(void)interrupt2using1
{read_gps_data(p_gps_data);//接收数据
isr_send_signal(DISPLAY);//向DISPLAY任务发信号
}
#pragmaREGISTERBANK(2)//使用寄存器组2
voidtask2(void)_task_KEYBOARSD_priority_3//设置为快速任务
{os_attach_interrupt(0);//绑定任务和外部中断0
while(1){
os_wait(K_INT,255,0);//等待中断的发生
KEY=iic_read_keyboard();
os_send_message(1,KEY,0);}//将键盘编码发送到邮箱1
}
4结论
关键词:高校;财务报销;软件设计
当前,随着社会生产力的不断发展,高校事业突飞猛进,财务收支水平发生了翻天覆地的变化。但这些变化一定程度上也给高校的财务管理工作带来了新的挑战。很多高校会出现这样的情况,教职工对财务报销业务不满意,认为报销单据填写困难,审批程序繁琐,财务人员报账效率低下等。所以适当改变传统的报销模式能够提高财务报销效率和公众满意度。而改变传统的报销模式首要的就是设计全新的适合时展需要,能够满足广大教职工意愿,提高工作效率的财务报销软件。
一、需求分析
(一)用户需求。这里的用户指的是高校财务报销管理系统即财务报销软件软件的直接使用者和服务对象,具体包括系统管理员、财务处工作人员、普通报账人员、各部门负责人、学校领导等。(1)系统管理员作为财务报销软件的最核心人员,负责整个系统的后台处理。他的需求是能够通过软件后台进行相关设置,包括设置账套、添加人员、分类设置权限、科目、经济分类科目设置、项目录入、额度控制等一系列具体初始化工作。可以说好的财务报销软件本身设计是一方面,优秀的系统管理员做的初始化工作是关系将来财务报销软件执行好坏的另一个重要因素。(2)财务处工作人员指除了系统管理员以外的财务处一般工作人员,日常由他们具体负责接待财务报销人员,认真审核报销票据、报销流程等是否规范,审核通过后根据网上填报信息及票据实际内容通过报销软件进行制单、办理结算,审核不通过时则负责填制报销问题汇总清单并及时反馈给报账人员。(3)普通报账人员指到财务处报账的学校的普通教师、管理人员、教辅后勤人员等。这些人跟财务处人员直接接触,活跃在报销的第一线,他们的需求是根据系统管理员设置的工号等识别信息登录网上报账系统,在已分配的权限范围内根据原始票据录入报销凭证,并提交财务审核,不再需要跑财务处报账,款项直接存入报账人员银行卡。(4)各部门负责人根据系统管理员设置的级别具有相应的审批权限,从最低级的负责本部门经费签批,到高级的负责全校某一类专项经费审批等,他们的需求是在自己职权范围内可以查看使用自己负责审批经费的报销单据,对符合规定的进行签批,可以汇总或明细查看自己负责审批经费的具体使用情况等。(5)学校主要领导。这其中包括财务处领导及学校领导,他们的需求是根据系统管理员设置的权限可以查询具体每一笔报销内容,但更必要的是通过软件可以获得他们想要的强大的分析汇总功能,可以综合查询学校某一项目支出情况,汇总分析各类收支,针对性提供各种统计报表,以便能为学校整体决策提供财务依据。(二)业务流程分析。结合时展及财务知识更新,财务报销系统的报账流程应由传统的手工审批向电子审核转变。具体思路如下:首先,普通报账人员根据购货或购买服务时取得的发票、文件资料等,进行整理并顺序粘贴工整;其次,报账人员到财务网站或学校网站报账系统中填制电子报账单,并留下相关影像资料;再次,财务处工作人员对报账人填的报账单和影像资料进行初步审核;第四,报账人员将已填写完毕并经初步审核的报账单通过网络报至相关部门负责人,相关部门负责人根据系统中影像资料及报账单进行审核,通过后进行电子签批(以前这一步的实现需要报账人员带纸质凭证实地、挨个找部门负责人亲笔签字),并加盖电子印章,报账人将纸质单据封袋投入报账单搜集箱;第五,财务处人员定期搜集报账单,通过财务报账系统上再次审核已填制的电子报账单据,无误并签批合格的直接导入账务系统生成记账凭证、办理结算付款,打印单据装订,并通过微信、短信方式告知报账人员具体付款信息,发现有误则填写问题清单,联系并反馈给报账人员。(三)报账软件功能分析。高校财务报账系统需要实现三个主要功能:(1)报账单录入。报账人员通过该节点进行报账单的录入。具体来讲,该节点应包括报账单录入、报账单管理(包括查看、修改、删除、排序、送审、状态查询等功能)。(2)单据审核。对于已送审的报销单据,在该节点进行审核,应包括审核通过、退回(附退回原因)、暂缓处理等功能。这里既包括财务人员对报销单的初审,也包括职能部门负责人对报销单据的签批过程。(3)单据处理:对于完全审核通过的报销单据在该节点进行制单、审批单打印等操作,该节点还应设置短信通知、单据状态查看、问题清单填写等功能。
二、流程设计
财务报销管理总体功能包括报销单录入、审批管理和单据处理等。财务报销管理模块大致包括四个部分。(1)报销人员报销单录入。普通报销人员登录系统后,在报销单录入界面,点击“增加”按键弹出报销单录入对话框,通过对话框,录入报销事项具体内容,包括摘要、金额、预算项目编码、报账日期和附件张数、收款单位银行账户信息等基础资料。点击“保存”按键,将上述录入结果保存。如有其他报销单需要录入,点击“增行”按键继续增加,录入完毕保存。通过“影像上传”将报销单据影像拍照上传至系统中,通过“查看”“修改”按键可以对已录入报销单进行查看和修改操作。点击“报送”按键将已录入完毕报销单送财务部门初审,点击“送审签批”将单据转至相应项目审批负责人审批。财务部门初审完成前,不能送审签批。“状态查询”可以查看报账人员送审报销单目前的审批状况。(2)审批人审批。审批人登录系统,在待审批事项界面查看待审批报销单汇总表格。双击具体单据名称,弹出报销单具体信息,包括报销人、报销事项摘要、报账金额、预算项目代码、报账日期、附件张数、收款单位银行账户信息等,审核人不可以直接修改报销人员已录入报销单,审批人审批权限包括:批准、退回、暂缓处理等。点击“批准”按键通过审批,加盖审批人电子印章,转至下一审批流程;点击“退回”按键,需要填写退回原因,填写完毕将退回给报销单录入人。(3)财务人员报账单处理。财务人员登录系统,在欢迎界面显示已审批通过的报销单汇总表格。双击具体单据可查看报销单具体信息包括报销人、报销事项摘要、报账金额、预算项目代码,报销日期、附件张数、收款单位银行账户信息等,另外还有所有审批人员电子签章,财务人员审核无误后,点击“制单”按键,直接由网上报账系统导入账务系统直接生产记账凭证,点击“审批单打印”按键,打印所有审批人电子印章,与事先取回的原始票据装订。出纳人员登录系统根据已审核制单报账单中银行账户信息办理结算。首付款成功后,点击“短信通知”按键,将结算信息发送至报账人手机。
三、结语
综上所述,高校财务管理工作在整个高校的管理工作中占据着重要地位,而适用的高校财务报销软件对于促进高校财务管理工作水平提高具有重要作用。本文根据《高等学校会计制度》,结合标准软件工程思路,通过需求分析和流程设计,对高校财务报销软件进行重新设计,将一定程度上有助于设计出优质的财务报销软件,使得财务报销过程得以简化,有效减少报账人员及财务人员的工作量,提高工作效率,达到事半功倍的效果。
参考文献:
[1]赵斌.财务报账系统的研究与实现[D].西安电子科技大学,2014.
[2]蒙焕.面向财务共享服务中心的财务报账系统设计与实现[D].上海交通大学,2014.
(一)会计报表的作用
1.会计报表提供的经济信息是企业加强和改善经营管理的重要依据企业管理部门及决策者通过会计报表,可以全面系统地了解企业生产经营情况、财务情况和经营成果,能及时发现企业经营中存在的问题,检查分析财务计划的执行情况,迅速作出决策,采取有效的措施,改善生产经营管理。同时,利用会计报表提供的信息,为制定企业经营计划、企业经营方针等提供准确的依据。
2.会计报表提供的经济信息是国家经济管理部门进行宏观调控和管理的依据政府部门利用企业报送的会计报表提供的财务信息,及时掌握各企业单位的经济情况和管理情况,便于对企业的生产经营情况进行检查分析。国家宏观经济管理部门可以通过企业的会计报表提供的资料进行汇总分析,以掌握国家经济总体运行状况,从中发现国民经济运行中存在的问题,为政府进行国民经济宏观调节和控制提供依据。
3.会计报表提供的经济信息是投资者和债权人进行决策的依据由于债权人和部分投资者一般不能亲自参与企业的生产经营活动,不能直接获得企业经营方面的信息,因此,债权人和投资者为了进行投资等方面的决策,需要通过对企业会计报表的分析,了解企业的财务状况及生产经营情况,分析企业的偿债能力和盈利能力,从而,作出投资、融资等决策。同时,投资者通过会计报表了解企业情况,监督企业的生产经营管理,以保护自身的合法权益。
(二)会计报表的分类会计报表可以根据需要,按照不同的标准分类按照会计报表反映的内容,可分为动态会计报表和静态会计报表。动态会计报表是指反映一定时期内资金耗费和资金回收的报表,如损益表是反映企业一定时期内经营成果的报表;静态报表是指综合反映资产、负债和所有者权益的会计报表,如资产负债表是反映一定时期企业资产总额和权益总额的报表,从企业资产总额方面反映企业的财务状况,从面反映企业资产的变现能力和偿债能力。
按照会计报表的编制时间,可分为月报、季报和年报。按照会计报表的报送对象,可分为内部报表和外部报表。二、会计报表的软件设计方法实现会计电算化后,会计报表一般都采用计算机软件来实现,即整个会计报表的形成过程:采集、计算、打印均由计算机来自动完成。
根据计算机对不同报表的数据采集和报表形成的不同处理方法,会计报表的软件设计方法可分为三类:专用报表的固定化设计、专用报表的通用化设计和通用报表的设计三类。
(一)专用报表的固定化设计早期的会计电算化报表设计一般均采用此种方法。此种方法针对某个企业进行定点开发时,用专用报表的固定化设计。这种方法的设计要点是:针对某个企业报表格式固定不变,报表的数据固定单一,程序中只需将某帐簿文件的期末余额(或期末发生额)读出并输入报表文件中某行即可。其特点是:简单直观,不能通用。
(二)专用报表的通用化设计此种方法的设计要点是:报表格式固定不变,但数据来源有所不同,不同用户可以根据自己的实际需要自行定义数据来源和计算公式。其特点是:灵活机动,便于通用。
下面以资产负债表为例,详细介绍一下这种固定报表通用化的设计思想与实现方法。
1.数据结构记录号xmlhc1bs1kmh1
1流动资产
2货币资金12101+102
3短期投资21111
4应收票据31112
5应收帐款41113
6减:坏帐准备51114
7应收帐款净额634-5...
32资产总计45320+35+40+41
记录号xm2hc2bs2kmh2
1流动负债:
2短期借款461201
3应付票据471202
4应付帐款481203
5预收帐款491204
6其他应付款501209...
32负债及所有者权益总计90365+85
2.程序设计
***资产负债表自动读帐-ZCFZDZ.PRG
*初始处理
(三)通用报表的设计此种方法的设计要点是:报表格式(表头和表体)自行定义,数据来源也由用户自行定义,即不同用户可以根据自己的实际需要自行定义表格的表头栏目,自行定义数据来源和计算公式。其特点是:自行定义,自行设计。
1.通用报表的数据文件组织
(1)报表名称数据库报表名称数据库用于存放定义的报表名称、报表编号、定义的日期,通过该数据库实现会计报表的管理,即增、删、改会计报表。
(2)报表框架结构该数据库由三个字段组成:表号、标识字段和表结构内容字段。标识字段取值为:xt、lh、xw,分别表示“直接显示表头内容”、“栏号”和“直接显示表尾内容”。若标识字段各记录取值都为“xt”则可全屏幕手工制表(数据由键盘直接录入,与wps等字处理软件制表相似)。