在计算机产生的早期,受计算机性能和应用范围的限制,并没有计算机软件这一概念.但是在晶体管和大规模集成电路应用以后,计算机的性能有了极大的提升.同时其适用的领域也有了极大的拓展,在这种情况下为了更加科学、合理的应用计算机的能力,就需要计算机软件的介入.由此产生了计算机的操作系统,也就是计算机最早的系统软件.由于计算机软件的存在能够极大的提升计算机的应用性能,所以计算机在不同领域应用设计人员就会根据这一领域的特点设计了不同的计算机软件系统.如在机械制造领域就有CAD和CAM等软件,在设计领域有PhotoShop等软件,随着计算机应用范围的扩展和应用数量的增加,在一些特殊领域需要应用到之前没有的软件,就需要计算机软件的设计主体进行计算机软件的开发工作.在具体的计算机软件开发工作中软件开发共分为两种,一种软件开发形式是开发主体先进行开发,在开发完成以后在寻找市场.一种软件开发针对目前市场上的应用需求,进行针对性的应用软件开发.
1.2计算机软件开发的特点
计算机软件开发活动在持续了多年以后,已经逐渐形成了独立的学科体系,当前国内很多高校等开设了计算机软件设计这一课程.计算机软件在具体的开发实践中表现出了两个主要特点:持续性和针对性.计算机软件开发活动持续了很多年,市面上的计算机软件数量极多,但是因为经济发展和技术进步,还是不断有新的计算机软件需求产生,不断有新的计算机软件开发出来.同时因为计算机软件本身是在特定逻辑关系上形成的描述语句,所以根本不会有完美的软件产生,每一个计算机软件在诞生以后都需要不断的修补和完善,所以计算机软件开发最大的特点就是持续性.受现代社会经济发展形势的影响,当前社会经济发展体系逐渐完善,新生的经济形式更多的向微观经济领域发展,企业主体对计算机软件的需求愈发个性化.同时随着计算机软件设计企业数量的增多,计算机软件设计主体为了迎合用户的需求,更多的推出了针对性的计算机软件设计理念,针对性成为新时期计算机软件设计的新特征.
1.3计算机软件开发的发展
2计算机软件开发中基础架构原理分析
2.1基础架构的需求分析
在计算机软件的开发活动中,软件本身的需求分析是最为重要的一个环节,如前文所述现代社会经济主体对计算机软件系统的需求表现出高度的个性化,企业经营项目的不同、运营方式的不同、管理方式的不同都会导致用户对计算机软件设计的不同需求.所以计算机软件设计的需求分析是软件开发的第一步也是最重要的一步.如果不能透彻的理解用户的计算机软件需求,就可能会导致计算机软件设计的偏差,甚至是失败.当前我国的计算机软件开发主体在运营过程中对需求分析环节的重视程度还存在不足.具体表现为我国的计算机软件设计企业在运营模式上采取经营主体与设计主体分开的经营方式,与客户就软件设计需求进行沟通的往往是计算机设计企业的经营人员,而从事计算机软件具体开发的人员往往是设计人员.用户的需求经过经营人员的转述后往往会导致设计人员对用户需求的误解.
2.2基础架构的编写
在具体的需求分析工作完成以后,就需要设计主体根据用户的设计需求进行软件的编写工作,当前在软件编写工作中应用最多的编程语言是C语言,这种编程语言的主要特点是结构性突出、基础架构优秀,能够为后继的编写工作提供更多的便利.在软件的实际编写过程中为了提高软件的编写速度,设计主体往往会采用多个工作面同时工作的方式进行编写.具体而言就是根据计算机软件的结构特性将软件分为几个关键模块,每个模块形成一个工作面由一个编程人员进行编写,在编写工作完成之后再设置一个主函数连接各个模块,从软件应用的整体来看,使用者需要应用软件的某个功能主函数就能够调用某个模块满足用户的需求.在保证计算机软件开发质量的基础上,最大限度的提升了计算机软件编程的效率.
2.3基础架构的测试与维护
从计算机软件设计主体的角度来看,设计完成的计算机软件是不能直接应用的,因为工程设计软件与目标设计相比还存在着较大的差距,盲目的应用会危害到计算机软件的安全,也会对应用企业主体造成损失.设计完成的计算机软件只有在完成测试工作之后才能投入实用.在计算机软件测试领域传统的测试方法是数值输入测试法,以预先计算好结果的数据输入到软件系统中,如果输出的结果是正确的那么就可以断定计算机软件没有问题.但是这种测试方法本身存在着较大的局限性,因为输出结果的正确性是不能保证计算机软件系统内部数据处理过程的正确性的.也就是说计算机软件显示正确结果可能是一个偶然性事件,并不能够完全证明软件本身的合理性.所以在这一疑问的推动下设计人员开发了专门针对计算机软件特点设置的测试软件,应用测试软件能够保证对计算机软件系统结果和过程的全方位检测.
3计算机软件开发中的基础架构选择
3.1基础架构的重要性
计算机的软件设计是利用特定的逻辑关系对软件内容的定义,具体的软件设计工作就是对软件内容的定义,而特定的逻辑关系就是计算机软件开发的基础架构.计算机软件设计的基础架构不仅能够决定计算机软件的运行方式和流程,而且还会对软件的未来维护和扩展产生影响,例如计算机软件的基础架构如果是封闭式的就不具备基本的扩展能力.当前计算机软件设计领域应用最广泛的基础架构就是表示层、逻辑层和数据层三层结构组成的B/S基础架构,在这一基础架构中软件的表示层、逻辑层和数据层,分别对应软件系统的人机交互界面、逻辑关系和计算机语言区.在软件的设计活动中,设计主体可以以此为节点将整个软件拆分为几个部分,进行分别设计.同时在软件系统扩展和维护中,也可以对任意一个层次的内容进行修改而不用担心修改会对系统的其他部分造成影响,由此可见一个优秀的计算机软件设计基础架构能够极大的提升计算机软件的设计效率和应用效率.所以在具体的软件设计活动中,设计主体应该根据用户主体的实际需求和软件的功能实际,选择有针对性的、高效的计算机软件基础架构,以提升计算机软件的设计质量和效率.
3.2基础架构的选择
4结论
关键词:计算机软件;基础数据结构;算法分析;复杂度
1算法的概述
1.1算法两要素
算法主要包括两部分:信息的处理操作和信息处理方式的操作结构,对信息的处理操作一般包括逻辑符号、数学计算、信息传递和信息对比,操作结构可以指引指令有序进行,通常用流程图来描述。
1.2算法的主要特征
有限指令的主要部分就是算法,有限指令能够明确处理问题的步骤。面对问题,算法能够对各种定值指令进行预算处理,通过运算传达最后的计算结果。算法的特点主要为:指令的数量必须有限;指令不能超出计算机的能力范围;被处理的对象不受指令影响,对象数量不影响指令,必须要有至少一个传递末端。
1.3算法表示方法
目前编译算法一般都用符号和文字来进行,主要包括程序图、C语言、PAD图,一般性文字等。C语言和一般性文字能够具体详细的描述算法,其他方法描述算法是大致内容并进行作图,更加直观的表达,便于学习理解。
1.4常用的算法
常用的算法主要包括枚举法、迭代法、递推和递归法。枚举法内容是指通过信息特点对运行结果的可能区域进行估计,然后利用一些方法手段检查各个结果,直到所有结果都符合。在验证过程中,验证对象如果满足算法要求,这个验证对象就是最终计算机传递的结果,如果没有达到要求的对象,那么算法就无解。迭代法是一种较为粗略的方法,可以把麻烦复杂的问题转化为较为简单的迭代式子,通过循环这个步骤,达到由繁化简并最终得出答案的目的,该法适合非数值类问题的计算。递推法和递归法是主要的算法制定编写法,都通过运用特殊公式逐项推导而来的。
2算法设计要求
算法像语言一样,是计算机和人类沟通时的语言,通过算法,人们不仅可以跟计算机进行交流,还可以按照指令执行任务。因此所有的指令必须要符合一定的行为准则,算法的设计要求主要包括以下几点:
2.1具有正确性
设计者编译指令时必须要按照算法的规则来进行,从而保证人和计算机正确的交流,保证计算机执行好任务。正确性中最重要的就是避免语法错误的出现,从而能够为正确答案的得出做好准备。
2.2具有可读性
算法具有可持续性,是指算法总体思路容易让人理解,是想一下,一个非常混乱的算法,即使再聪明的人也很难明白算法原理的,更不用说得出计算机答案。
2.3具有稳定性
就像机械设备似的,如果工作状态不稳定,那么就会很容易出现难懂奇怪的问题,算法如果不够稳定,计算机在正常运行的时候,也会很容易出现错误。经常出现的错误就是乱码,就会让人感觉像是算法存在严重问题。
2.4具有高效低耗的性能
3算法复杂度的分析
3.1运行的时长
3.2内存的消耗
[参考文献]
[1]邓龙.计算机软件基础数据结构算法[J].信息与电脑(理论版),2012(6).
[2]李毅波.数据结构与算法学习系统的设计与实现[D].中南大学,2012.
关键词:软件技术基础;教学研究;教学改革
中图分类号:G642文献标识码:A
1引言
随着计算机技术的飞速发展与普及,非计算机专业的计算机基础教学得到了普遍的加强,对电类专业初步确定了以“计算机文化基础”、“高级语言程序设计”、“微机原理与应用”、“计算机软件技术基础”(简称“软件技术基础”)为主干课程的教学模式。
2课程教学面临的主要问题
“软件技术基础”是一门综合性的计算机基础课程,主要目标是让学生更好地利用计算机解决专业领域中的问题及日常事务问题。但是,现在的教学模式主要面临以下四点问题:
(1)学生感觉难学。课堂讲授的都是些抽象、枯燥的概念和看不见、摸不着的算法。学生常常提出诸如“感觉自己C语言学的不错,但是虽然学习软件技术基础一个多月了,还是没找到感觉”、“学习软件技术基础的有关知识后,不知如何用C语言程序来实现”等问题和疑惑。
对程序设计和调试技巧等较深的知识只是点到为止或避而不谈。
(3)学而无用。大量学生学完本课程,只会背诵几个基本概念,并没有真正掌握程序设计的很多精华思想和编程技巧,更没有了解软件是如何管理计算机全部资源的。
(4)资源有限。该课程的学时较少,大部分院校的该课程在30~50个学时之间,我校早期教学大纲只有40个学时。尤其是实验学时更少,我校只有8个学时。而且,学校实验室计算机资源紧张。
上述的四点问题并不是彼此孤立的,而是相互影响、相互制约密不可分的。
3课程教学改革的探索与实践
3.1采用案例式的任务驱动,引导教学
比如栈的概念,传统讲解只知道是一种存储单元,具有后进先出的特性(Last-In/First-Out),学生学完后并不知道其有何用途,作者在教学实践中,以迷宫问题为例引入栈的概念,如图1所示,带着要设计计算机程序来解决这个实际问题的任务来学习,如图2所示的详尽分析,让学生在轻松愉快的状态下,了解栈的用途:能够解决类似迷宫问题等的深度优先搜索问题。并能够应用栈的特性解决实际问题。
3.2充分利用现代教育技术辅助教学
根据本课程的特点,要很好的利用多媒体动态显示的优点来进行教学,充分发挥其形象、生动和直观的特点。制作和积累更多的课堂教学的动画资源。如图3所示,图的广度优先遍历多媒体动画。
充分利用校园网络资源,构建网络教学平台,努力营造一个在教师指导下的以学生为中心的自主式学习环境。其网络教学平台包括多媒体课件、教学素材、电子教案、网络程序实验平台(如图4所示)、网上答疑、作业提交与批改系统、习题和答案等模块,具有多种支持教学各个环节的综合性网络教学资源。
3.3建立开放实验,强化实践教学
在上机的指导过程中,不仅要指导学生软件设计的基本方法、程序调试的基本技巧,还要对学生思维方式进行引导。对常用的软件设计方法可以从“拿到题目”――“如何分析”――“如何解决”――“最后具体程序的实现”的整个过程进行全方位的启发。使学生掌握设计软件的基本思想,知道如何来思考问题和解决问题。
3.4完善考核机制,引领教学
考核对学生起着重要的引导作用,其不仅能评价学生的知识和能力,而且还会很好的推动学生的学习向最佳的方向发展。不再侧重考学生的概念记忆等内容,而是为培养复合型、应用型和创造型三者相统一的人才,侧重考察学生对知识的综合应用能力。
在平时成绩的30%中,让学生以小组的形式,在老师的指导下结合实验课程,开发一个小型的软件系统,让学生体会软件工程中的系统分析、系统设计和实施各个阶段的实际情况。两届学生设计了数十种程序,有简单电路仿真软件、公司产品展示系统、教师办公系统等,如图5、图6所示。
4总结
“计算机软件技术基础”课程对电气信息类专业是一门非常重要的计算机基础课程。而其又是一门理论和实践性非常强的课程,对教学过程中面临的四点紧密联系的问题进行了深入的分析,并对该课程改革进行了探索,提出了采用案例式的任务驱动,引导教学;充分利用现代教育技术辅助教学;建立开放实验,强化实践教学;完善考核机制,引领教学,共四项一体的具有一定开拓性教学改革措施,在实践的教学过程中取得了很好的效果。
参考文献:
[1]教育部高等学校非计算机专业计算机基础课程教学指导分委员会.关于进一步加强高等学校计算机基础教学的意见(征求意见稿)[J].中国大学教学,2005(5):11-18.
[2]徐士良.计算机软件技术基础[M].北京:清华大学出版社,2007.
[3]周云,辛华,姚新宇.案例教学在“计算机软件技术基础”课程中的尝试[J].高等教育研究学报,2007,30(3):57-59.
[4]程文彬.独立学院“软件技术基础”课程教学改革的探索与实践[J].计算机教育,2009(10):30-32.
AnalysisandDiscussonTeachingMethodsforComputerSoftwareTechniqueFoundation
CHENDi-yi,MAXiao-yi,XINQuan-cai
(NorthWestA&FUniversity,YangLing712100,China)
1.1提高竞争力
1.2改善工作效率
2计算机软件运用在财务会计处理中存在的问题
计算机软件在企业财务中的应用不但提高了财务人员的工作效率,还可以为企业领导决策提高帮助,促进了企业更好的发展。但是由于现有的通用计算及软件和企业自身的特点,指导了计算机软件的运用在企业中仍然存在这很多问题。主要表现在计算机软件的功能、成本和企业要求的程度以及企业计算机软件使用者和领导层的意识方面。深入分析企业计算机软件应用中存在的问题,可以有效的帮助企业在实践中更好的使用计算机软件,提高会计工作效率。计算机软件使用的首要步骤就是合理选择适合企业需要的计算机软件,计算机软件的选择是否合适直接影响了其效率。企业由于其自身的不同问题,在计算机软件的选择上仍然存在着很多问题,主要有过度强调高效,而忽视了会计制度、过度强调核算而忽视了分析功能以及模块功能不匹配,与其他软件不能进行很好的对接。
2.1过度强调核算,忽视了分析功能
计算机软件现在普遍都有分析的功能,但是大部分财务人员都没有很好的利用好这个功能,而是将重点放在核算上。并且由于企业间的情况是不同的,因此开发软件的时候很难顾虑到所有企业的特征。但是开发商为了卖出自己的软件,会夸大自己软件的分析功能,其实在实际工作中不一定能为领导层做决策提供帮助,因此,很多企业放弃了计算机软件的分析功能,并且用传统的人工分析方法进行分析。因此,计算机软件很难发挥事前控制的功能。很多种不同的计算机软件,但其功能都是相同的,主要有总账、应收账款和其他部分。
2.2模块功能不匹配,与其他软件难以对接
如今,我国的计算机软件有两种模式,一种是为开发以及应用,从团队开发的专业软件,但是开发商有很多不是很专业的会计师,因此不能真正了解企业的财务管理和决策的需要,从而开发出来的软件功能中存在很多问题。具体表现为,计算机软件的大部分开发人员在开发软件时都知识根据每个功能模块来开发,导致整个软件的最后整合只是简单的模块,没有实现有效地联系现实。另外,企业很难有计算机软件能增加自己的功能,因此每个子系统里面不灵活,给使用者带来了不便。
2.3计算机软件使用不灵活
计算机软件应用在财务会计处理中使用不灵活。例如,计算器的的使用差错率较高。例如用友软件中的计算器功能,只要重复按下“+”号就会导致得数一直持续变化。在进行计算的过程中用友软件必须要关掉中文输入法,另外在清零的过程中都无法使用键盘快捷键,导致使用效率降低。
2.4财务数据保密不彻底
3计算机软件在财务会计处理中的运用策略
3.1计算机软件要与企业情况匹配
企业在购买计算机软件的时候应当要注意两个问题,第一是要依据企业实际情况提出要求,在功能设置上要进行深入的研究,加强计算机软件的分析功能,使其能够为领导层的决策提供帮助,并且可以加强企业的控制。第二是要依从国家金融管理软件部门的带领,要加强战略财务管理,体现出更多的人性化管理。
3.2完善计算机软件的操作规范
计算机软件的初始化是一项十分重要的工作,设置得是否合理直接影响到将来系统能否满足企业的会计核算与管理的要求。日常操作也是十分重要的,应当设置人员权限,便于企业的内部控制。由于计算机软件初始化非常重要,因此应当注重初始化工作,能否设置成功是系统将来发挥其功能的基础,而且设置好了将来的工作也就变得更方便了。不能依赖开发商的售后服务,所有会计科目的设置都应当依据企业的业务,结合有关部门的规定。企业应当对每个岗位设置权限,具体的应当依据企业的实际情况结合企业规模和业务的复杂程度,特别是在客户主管的权限设置,不可以是只为方便而超越了领导层,这是不符合内部控制的需要。同时,财务人员应当保证清晰的账目。另外,还应当加强档案管理,为了保证记录的真实性,应当把纸质的凭证保存好。
3.3建立通用的财务数据传输协议
建立通用的财务数据传输协议能够使得在不同平台开发下软件顺利的对接,并且进行数据输送。TCP/IP协议是目前互联网最为常用的网络控制与传输协议。只要安装了该协议就能够正常的访问网站。通过借鉴该协议可以开发一种国际或国内通用的财务数据传输协议,使得不同格式的数据能够想换被接受,不同软件下的数据也能够被直接适用,不需要再另作处理,这样一来能够有效降低对财务操作人员的专业需求,还能够实现不同系统下的数据共享。
4结束语
原来的《欧洲专利公约》规定软件不是专利法保护的客体,修改后的公约指出,将计算机硬件系统与软件当成一个整体,如能够对现有技术做出贡献,可授予专利权。欧洲专利局新的审查基准确认,和软件有关的发明若具有技术性,能够获得专利权。
1987年,美国制定软件专利审查的“指导原则”。1995年,专利商标局(PTO)提出《计算机应用发明的审查基准草案》规定:被计算机程序或其它形式软件控制的计算机或其它可程序控制性装置视为一种可专利“机器”(machine);在计算机上或计算机协助下实施的一系列特殊的操作步骤视为一个可专利“过程”(process);当在计算机上运行时,能用来控制计算机以某种特殊方式运作的计算机可读内存(Computerreadmemory),视为一种专利“制品”(articleofmanufacture)。草案就不受专利保护的情况作了排除。
1985年,专利法开始在我国实施,《审查指南》第十二章的软件发明申请的判断标准规定,只有能使计算机结构或电子数据处理设备产生变化、能使机器硬件技术作出相应变革,引起机器设备在技术上有新的创造性的改进的计算机程序和能使计算机系统或机器设备,以全新的具有创造性方式运行的计算机程序才可予以专利保护。1993年4月1日起生效的新的《审查指南》,舍弃上述苛刻条件,提出了符合软件技术发展的、宽松的软件专利标准。
各国规定的软件可专利保护标准不完全相同,其中比较一致的观点是包含软件发明申请的主题必须同时具备“三性”、“二要素”,而且,该判断标准是唯一的。“三性”就是指专利“三性”。“二要素”一是指包含软件发明申请的主题要能够产生技术效果,这是“二要素”中的主要方面;二是指包含软件发明申请的主题要能形成完整的技术方案,技术方案的基本因素包括:软件处理的数据结构、处理数据结构使用的算法和管理软件运行的用户界面等。“二要素”就是要求包含软件发明申请的主题必须是能够形成完整的具有新的技术效果的发明创造。根据传统理论,只有当软件与硬件相互支持,形成完整技术方案,产生技术效果时,软件才能获得专利权。新的认识是,既使硬件不发生任何变化,只要将特定软件和公知计算机作为一个整体考查出现了新的、实质性的技术进步,符合“二要素”与“三性”要求,就能被授予专利权。
在工业化国家,呈现出倾向于用专利法保护软件知识产权的趋势。美国政府1992年公布了一份私人调查材料,和1970年相比,1991年被授予专利权的软件数量由27件上升到602件,增长率达2400%.截止1996年4月,美国获得专利的软件数量累计达11万件。受到专到保护的有Apple的下拉式选单、MerrillLynch的现金管理系统、IBM的基本输入输出系统(BIOS)等著名软件。1985年,日本软件专利申请量是5000件,1990年为12000余件。近几年,日本每年的软件专利申请量平均为2~3万件,占全部专利申请量的10%.