时间:2022-09-06 22:04:34
序论:速发表网结合其深厚的文秘经验,特别为您筛选了11篇计算机软件工程论文范文。如果您需要更多原创资料,欢迎随时与我们的客服老师联系,希望您能从中汲取灵感和知识!
随着科技的高速发展和应用,计算机开始在各领域中得到应用,这给人们的生活带来了很多便利。最近几年,很多企业和工厂都开始借助科学技术,采用智能化的生产,所谓智能化就是利用计算机来控制整个生产的流程,而非人工化,这一应用大大节约了人工成本,同时也提高了工作的效益。但是这一功能的实现还得借助软件的支持,所以计算机软件工程的开发是非常重要的,另外为了解决开发过程中遇到的相关问题就必须加强软件工程的管理,提高软件开发的成功率。但是由于人们受到传统思想的影响,我国计算机软件工程管理工作没有得到一定的重视,所以很多问题都还有待探索,那么我们应该如何加强计算机软件工程的管理工作,是当前必须要思考的问题。
1计算机软件工程概述
1.1软件工程的定义
软件工程是一种开发软件工程学科的方法,主要是根据计算机科学、数学及管理科学等原理来进行开发的,软件工程开发的主要目的是优化质量、节约成本和改良方法。软件开发所根据的原理不同,开发出的软件的运用就会不同,比如运用数学原理开发的软件主要用于模型的构建及算法;运用管理科学开发的软件主要用于资源、计划及成本管理等。软件工程目标在于:在对成本进行控制的基础上,开发出适应性强、容易修改及维护、最大限度地满足用户的需求的软件产品[1]。这些目标的实现对产品质量的改善有一定意义,同时也提高整体开发的效率。
1.2计算机软件的功能
计算机主要是由硬件和软件两部分构成的,所以在对计算机进行研发的时候应该把硬件因素考虑在内,同时又要注重软件工程方面的投入。计算机软件系统主要包括两个部分,由系统软件和应用软件构成,两种软件的功能也是不一样的,系统软件的功能主要是对计算机运行过程进行监控、维护和管理,比如常见的计算就操作系统和病毒查杀系统;应用软件的功能是比较实际的,比如常见的办公系统、人事管理系统、财务管理系统等等[1]。计算机软件功能的应用主要是指导计算机有效运作,让用户更加方便地操作。
2计算机软件工程管理的主要内容
2.1组织机构管理
组织机构的管理不是简单的开发人员的集合,而是强调的整体的组织。在一个完整的组织机构中,好的管理应该是人员分配明确,信息传递快速。但是在实际的组织机构管理中并没有统一的模式,因为不同工程的要求是不一样的。
2.2工作人员管理
工作人员计算机软件工程的主体部分,很多工作都是围绕工作人员来开展的,比如项目的实施、软件程序的编写、资料的查找等等,每个人根据自己的岗位来分担和完成这些工作[2]。对于工作人员的管理应该合理分配工作,结合工程项目的规模或者性质,对软件开发人员进行合理的分配。在对员工合理分配工作的同时,还要求他们注重团队合作,共同完成复杂的计算机软件项目。
2.3用户管理
计算机软件开发的目的就是方便用户,供用户使用,所以在软件的开发过程中应该掌握用户的最基本信息,了解他们的需求,确保开发出的软件更具实用性和可操作性,所以用户管理也是非常重要的。
2.4档案资料管理
计算机的软件开发是一个复杂的过程,所以开发阶段的各个流程是需要记录到档案中的,以便于下一个阶段工作的参考,为软件开发的后期工作提供一定的保障。所以加强档案资料的管理是非常有意义的,能最大限度地提高管理的效率和质量水平。
3计算机软件工程管理的措施
3.1构建完善的计算机软件工程体系构建
完善的计算机软件工程体系首先应该构建人才体系,人才体系的构建加强了人力资源管理,同时也调动工作人员的工作积极性,确保工作的顺利开展;其次加强对员工专业知识和理论的培训,让他们跟进社会的脚步,了解最新的软件工程信息,把理论与实践更好的结合到一起,促进计算机软件开发水平的提高;再次应该建立规范的制度,奖罚分明,充分调动员工的积极性和主动性。
3.2加强计算机软件工程的风险管理与进度管理
加强计算机软件工程的风险管理和进度管理是计算机软件工程管理比较重要的点,工程项目的管理人员首先应该具备专业的风险管理水平,有一定的风险意识,并且根据对风险的分析,制定一定的方法,在整个计算机软件的工作过程中融入风险管理,考虑所有造成可能造成风险的因素,把风险降到最低。风险管理的手段是多样性的,可以采取规避、转移和减缓的手段。另外加强计算机软件工程的进度管理也是具备重要意义的,一方面提高了工程的效益,另一方面也控制了开发的成本。根据计算机软件工程项目的实际情况,制定进度管理的工作表,根据工作表确保工作有序地开展[2]。
3.3强化计算机软件工程项目合作团队的管理
计算机软件工程的开发离不开团队,所以加强团队的管理对目标的实现有积极的促进作用。强化团队管理工作首先应该加强整个团队的联系,让团队工作开展起来更协调;其次根据各岗位合理进行分工,明确每个员工的工作责任;最后调动整个团队的工作积极性,让每个人都付出最大的努力,为计算机软件工程的建设做出贡献,大家一起做好计算机软件工程管理工作。
4计算机软件工程的实际应用
信息技术的不断完善和发展,让传统的手工任务逐渐朝着机械化转变,借助计算机软件工程软件去完成任务是非常简单便捷的,应用软件更起到了关键的作用。在实际的生活中,计算机软件功能丰富,并且效率很高,它的运用得到了广泛的认可,软件的开发和应用对人们的衣食住行都产生了深远的影响。例如,在各企业的办公软件使用中,可以让企业内部的资源得到共享,保证各种信息的顺利传达,提高企业管理工作的效率和质量水平;另外计算机软件在校园中的应用也发挥了重要的作用,计算机软件在教学过程的运用一方面促进了师生之间的交流,另一方面保证了校园内各种工作的有序开展比如学籍的管理、档案的管理和收费的管理等等;计算机软件在公共场合的运用也是随处可见的,比如大型的医院或者银行都会利用计算机软件来进行预约登记,方便了广大用户,也节省了医院和银行的人力成本[3]。目前,计算机软件的开发还有很大的发展空间,所以为了让计算机软件开发更加辉煌和灿烂,我们必须进一步加强计算机软件工程的发展。
5结语
现代社会是充满信息化和智能化的,计算机在各个领域都得到了广泛的应用,而计算机软件的应用为自动化和智能化提供了强大的技术支持。目前我国很多企业都运用了计算机软件,这些软件主要包括日常的操作系统、办公软件等等,实现了信息的快速传递和资源的共享。总的来说,计算机软件项目的开发对我国的经济发展有很重要的意义,我们应该寻求更多的创新意识,选择有效的措施来确保计算机软件工程的顺利发展。
作者:吴丽娜 单位:宿迁学院信息工程学院
参考文献
从我国当前的计算机软件工程投标工作来看,投标单位在投标过程中所需要承担的风险主要表现为经济风险、设备风险、人员风险以及技术风险四类。其中经济风险主要是投标单位在对计算机软件工程项目进行投标或者开展后续工作的过程中,因为资金不足或者融资方式欠缺合理性而承担经济风险。引发经济风险的宏观因素包括社会金融产生通货膨胀或者其他形式的动荡、劳动力成本与材料成本价格上涨等;二是设备风险。计算机软件工程项目在投标过程中需要对材料的制造、采购以及设备的制造与采购等做出充分的考虑,如果在计算机软件工程项目实施过程中出现设备没有达标的情况,则会让投标方承担一定的设备风险;三是人员风险。在计算机软件工程项目投标过程中,投标单位可能会面临单位人力资源管理水平较低以及关键人力资源离职的现象,这种现象打乱投标单位的投标计划乃至后续的项目实施。同时合同方面具有漏洞或者条款内容表达不清等也会导致纠纷问题的出现,这同样是有人员因素所引发的风险。另外,计算机软件工程项目投标过程中需要对单位人力资源的技能水平等做出科学评估,如果对单位人力资源所做出的技能水平判定存在不准确的情况,也会导致投标单位面临人员风险;四是技术风险。在投标单位对计算机软件工程项目开展投标工作的过程中,如果投标单位对计算机软件工程项目本身欠缺了解,则会在后续实施工作中出现技术风险并导致计算机软件工程项目施工出现工期延后或者质量不达标的情况,这种情况的出现将会让投标单位承担较大的经济损失。
(二)计算机软件工程投标风险的形成条件
从计算机软件工程投标风险的形成条件方面来看,导致计算机软件工程投标单位需要面临投标风险的因素主要体现为项目本身因素与外界因素两类。在投标工作中,投标方所看到的机遇与所面临的风险是共同存在的,并且如果因为对项目本身欠缺准确认知或者外部环境产生变化,投标方所面临的机遇也可能转化为风险。在项目本身因素方面,能够引发风险的因素包括计算机软件工程项目所具有的目标、规模、类型以及所需资金和所需材料,同时也包括招标方对投标方所突出的工期要求、质量要求、技术要求等。显然,这些因素都具有着客观存在的特点,也正是因为其客观性,所以这些因素直接决定着计算机软件工程项目所具有的难易程度,并且应当做出投标方开展投标定价的重要依据。如果项目本身具有较大难度或者招标方对投标方提出了较为严格的要求,则投标方会面临更大的风险;从外界因素来看,能够引发风险的因素包括计算机软件工程投标过程与实施过程中所产生的法律规定变化、运行条件变化、竞争对手变化等。这些因素与计算机软件工程项目自身因素相比具有着外生性的特点,因此这些因素并不会因为投标方的努力而产生改变,所以,这些因素容易成为诱发计算机软件工程投标风险的主要因素。如果投标方能够对计算机软件工程项目内容熟悉与了解,则能够比较客观地认识到投标过程以及项目实施过程中所面临的风险,并可以采取有效的防控措施来对这些风险做出防范。
二、计算机软件工程投标风险的防范策略
计算机软件工程项目与传统工程项目具有着明显的差异,特别是高新技术的应用决定了计算机软件工程项目投标工作的高风险性,因此在计算机软件工程项目投标过程中,投标方有必要采取有效策略来对计算机软件工程投标风险做出有效控制。在此过程中,作为计算机软件工程投标方,可以从以下几个方面做出努力。
(一)强化自身的软件项目开发能力
对于计算机软件工程项目投标方而言,强化自身的软件项目开发能力不仅是提升自身核心竞争力的有效途径,同时也是提升自身在计算机软件工程项目投标中风险应对能力的必要策略。首先计算机软件工程项目投标方需要重视计算机软件工程项目开发方案科技含量的提升。在计算机软件工程项目投标工作中,是否能够获得项目的施工权不仅由投标方的经济实力所决定,同时也由项目开发方案所具有的适用性与可行性所决定。在开发方案的制定中,投标方不能为了降低成本就使用不具备时代性的项目开发技术,而有必要从提高投标竞争力以及降低投标风险角度出发来对项目开发过程中的工作流程和技术做出完善与优化,尤其是要重视选取具有较大弹性和较强风险避免能力的项目开发技术,从而降低项目维护成本并实现对总成本的合理控制。其次计算机软件工程项目投标方有必要推动员工抗风险能力的提升。在计算机软件工程投标与施工工作中,承担风险的主体以及对风险做出管理的主体都是企业员工,因此,企业不仅需要摒弃依赖管理层做出风险管理决策的思想,同时要在以人为本理念指导下提升全体员工的抗风险能力,从而通过发挥集体力量来做好风险识别以及风险预控等工作。以此为目标,计算机软件工程项目投标单位有必要对员工开展教育与培训工作,尤其是要针对计算机软件工程投标与施工过程中可能出现的风险内容来开展交流与讲座,从而在提升单位员工风险控制意识的基础上提高员工的风险识别能力与管控能力。再次计算机软件工程项目投标方有必要对合同管理机制做出优化。在计算机软件工程项目投标工作中,投标方与招标方的合作关系由合同来规定,如果投标方能够在合同的拟定中对可能出现的风险做出充分考虑,则可以降低自身在计算机软件工程项目投标与实施过程中所需要承担的风险,因此,投标方有必要对合同管理机制做出不断的优化,在此方面,投标方不仅要通过合同来明确自身的权利与义务,同时需要在计算机软件工程投标与实施过程中对合同条款的落实情况作出监督,从而更好地做好风险识别与防范工作。如果合同所规定的内容或者项目实施环境产生改变,投标方可以向招标方进行索赔申请,从而实现自身与招标方的风险共担,并降低各类风险给投标方造成过大损失。
(二)对外部资源条件做出充分利用
在计算机软件工程项目投标风险的防范中,对外部资源做出充分的利用有利于提升投标方的风险识别能力与承担能力,从而降低风险所产生的损害。首先计算机软件工程项目投标方有必要寻求中介咨询机构的帮助。在计算机软件工程项目的投标过程中,由于投标方希望得到最大化的利润,所以投标方与招标方都有可能无法站在客观立场来对计算机软件工程项目投标工作所具有的风险做出评估,因此虽然自身所承担的风险能够在一定程度上降低,但是却无法实现投标方与招标方的双赢。所以,在投标工作中,投标方与招标方都有必要寻求中介咨询结构的帮助,在与中介咨询结构来评定风险之后,投标方与招标方分别与中介咨询机构签订合同,如果投标和施工过程中所出现的风险已经超越投标方与招标方的承受方位,则有中介咨询机构负责赔偿违约损失。由于中介咨询机构具有着客观性以及专业性的特点,所以一般能够更加准确的开展风险识别工作,这将对计算机软件工程项目投标工作中的风险管理效率得到很大程度的提升。其次计算机软件工程项目投标方可以协同招标方来构建专门基金来应对可能出现的风险。在此方面投标方与招标方都有必要向保险工司缴纳保险,当风险产生并对一方利益造成损害时,则由保险工作负责开展赔偿工作。这一策略能够有效的降低投标方所需要承担的风险负担,并能够降低风险所可能引发的损失,从而使投标方能够将更多的精力集中于计算机软件工程项目的开发与优化。再次计算机软件工程项目投标方有必要强化自身的法律观念。与投招标工作相关的许多法律法规不仅对投招标工作中的违规行为处理办法做出了规定,同时也对风险出现之后的处理策略做出了指导,因此计算机软件工程项目投标方可以利用法律手段来对非系统性的项目投标风险做出有效控制,从而实现得到最大化的利益。
1.1关于技术开发人员
其中负责技术开发人员主要有:负责人、系统分析员、高级程序员、初级程序员、资料员和其他辅助人员等。关于人员管理需要:人文的关怀,这是当前很多公司人员管理的重要原则,只有以人为本,员工才能为企业贡献出自己的力量。明确个人责任,做好自己岗位的本职工作,把责任具体到部门个人,一旦出现纰漏,部门或个人就要明确的承担责任,并且在这样的责任制度下保持协调配合。各个不同组的人员在完成自己的本职工作之外,对其他开发组员的请求应积极响应配合。
1.2关于组织机构
开发人员的简单集合不算是计算机软件工程管理的组织机构,它具备更多的构成模式和联系。普遍来说,计算机软件工程管理组织机构主要包括以下几种:
1.2.1主程序员构成的机构它是全组的协调以及统一的保证。普遍来说分工如下:计划、协调以及复审全组的技术活动由高级工程师负责主持。软件的分析以及开发则由普通的技术性人员负责。
1.2.2专家构成的机构其中隶属于专家组的每位成员都具有较高的专业素质,在这种情况下,可以很大程度上发挥相关工作人员最好的工作状态。对于一些软件系统复用频率比较多的模块,往往会生成一些专门的构件,这些构件能够被用户方便地下载和使用,从而成为更加灵活的软件复用技术。目前,构件技术的主要来源主要包括以下几个方面:
(1)第一,一些专门的构件开发组织,这些构件开发组织开发一些具有高度重复利用率的构件,使得软件开发人员能够方便地使用这些构件,进而提高软件开发效率。
(2)第二,软件系统的固定提供商,这些提供商为自己开发的软件系统提供重要的构件、专门的业务开发环境或者使用环境等等,能够在更大范围内实现软件的复用技术。
2软件复用在软件工程中的具体实施过程
软件的复用技术对于软件开发来讲是一项非常重要的技术,也是软件工程的主要实现方式之一。但是,实现软件的复用不仅仅包括代码复用和使用复用库,而且还需要在软件的需求分析和设计方面都考虑到软件复用的因素,这样才能够更好地实现软件的复用。软件复用在软件工程的应用主要包括以下过程:
2.1软件复用能力的评估
软件的复用能力受很多因素的影响,因此在进行软件设计之前,必须要对软件的复用能力进行准确的评估,为此我们需要做的以下几个方面:
(1)第一,重视对软件复用能力的挖掘,在对软件复用能力进行评估的过程中,需要不断地对软件的需求进行深入分析和理解,从而能够充分挖掘其中适合软件复用的模块,通过对这些模块更好地复用,提高整个软件系统的实现效率。
(2)第二,充分利用分析复用技术,软件复用能力的评估是软件概要设计的重要部分,而分析复用技术也是概要设计阶段的重要技术,因此将分析复用技术结合到软件复用能力的评估过程中,能够实现更好的评估效果。
2.2选择可复用的构件
针对软件的通用模型,一般在网络上都能够下载到开源的构件,这些构件能够帮助我们快速地产生软件的模型,选择可复用的构件主要包括以下几个方面:
(1)第一,从现有的软件复用库中选择合适的构件,因为现有的软件复用库都比较成熟和完善,在软件研发实践中也得到了很好的验证,因此需要尽可能地使用现有的软件复用库。
二、为信息使用者实时高效获取多方信息提供可能
在传统会计模式下,会计人员处理数据传输数据具有一定时滞,即时报告也受到技术与成本效益原则的约束。在软件工程技术下,计算机自动快速处理使得及时获得报告信息成为可能,其强大的综合数据库也使得根据管理层需要提取各种信息组合得以实现。无论是提供定期信息还是实时信息,综合信息还是明细信息,技术上的限制已不复存在。在会计信息系统下,利用网络传递电子数据,计算机处理数据,与实际经济业务没有或很少有时间上的延迟,而会计软件不受会计分期限制,能即时反复处理数据,生成财务报告。管理层可根据需要在任何时间内得到最新的财务数据。另外财务软件系统清晰地记录了各项数据之间的勾稽关系,能够更为便捷地提取相关项目并对其进行深入细致的分析。
三、提高了效率,解放了人力
受传统手工操作能力的限制,会计工作需要多名会计人员分工协作才能完成数据处理。而专业财务软件出现后,会计人员不再需要手工记账、算账和编制报表,在输入记账凭证后,凭证通过计算机进行传递并自动进行核算和编制报表工作,而经常性的账务处理如固定资产折旧、各部门某些书刊费用分摊等能在每月自动核算,减少重复工作。这使得会计人员能从传统的日常业务中解脱出来,更多致力于财务会计信息的深加工,注重财务监管、财务分析、战略财务规划等。
四、便于加强内部控制与外部监管
传统手工会计系统的内部控制以人工控制实现,主观性很强。而财务软件的引入,使得内部控制兼具人工控制与程序控制的特点。财务软件系统许多应用程序中包含了内部控制功能,比如对特殊交易事项需要具有相应权限人员授权,再未获得授权时系统会进行控制与反映,这限制了某些人员擅自进行越权交易;再如软件要求各项会计处理必须按照一定的程序来进行,能够很好地规范某些违反规定的行为。另外现在企业实行电算化会计,也为外部监管工作带来极大的便利。传统会计数据通常采用纸质为载体,数据储存不易,且占用大量空间,而会计电算化的实现,使得所有会计数据均以“比特”方式保存在磁性介质上,便于查找。基于网络平台的财务软件能够通过网络进行数据传输,因此审计机构可以通过相应软件进行远程办公,这样既提高了工作效率,也节约了大量的工作经费。
二、计算机常用工具软件课程以学生为主体的课堂教学
1.调研分析
首先,教师要认真研究教材———《计算机常用工具软件》,进行教材分析、学情分析和课程定位分析,并据此确定本课程的教学模式。
(1)教材分析。计算机常用工具软件讲述了计算机常用的七大类、十几个工具型软件,理论知识较少,难度较低,各软件之间关联性不大,主要培养学生对软件的基本操作能力,让学生能够更加熟练地使用计算机处理生活或工作中遇到的各种实际问题,并为学习计算机操作奠定基础。
(2)学情分析。技工二年级学生已经具有一定的计算机基础,所有学生已经能够熟练使用Office软件,具备一定的计算机操作能力。经过两年的学习,部分学生具有了一定的自学能力,能够通过主动实践、探索完成其感兴趣的计算机操作,一部分学生已经掌握了一些常用软件,如简单的压缩软件、图片处理软件等。学生喜欢学习感兴趣的软件,如图片编辑软件、简单动画制作软件等。
(3)课程定位。通过学习本课程,学生不仅掌握了软件的使用方法,而且在学习的过程中能够发现问题,自主学习解决问题,同时归纳同类软件相通的使用方法。本课程重点培养学生的自学能力和发散式思维能力。
(4)教学模式。根据以上分析,本学期要学习十几款软件、教师不可能详细讲解每一款软件的所有功能,因此要确定本课程采用“优秀学生模拟讲课、教师指导”的以学生为主体的课堂教学模式。
2.教学的实施
(1)划分学习小组。按教材中软件的分类把学生分为七个组,每组负责一类软件的讲解,并把七个组按照软件的名称给予命名,如图像工具组、动画制作工具组,每个组设置一个组长。分组时让能力强的学生和被动学习的、不感兴趣的学生在一个组中,这样有所带动、有所提高,不至于让不喜欢学习的学生更不喜欢。学生的组合不是仅仅局限于一节课,而是贯穿于整个学期里,他们都必须合作学习。如图像工具组,他们将一起合作学习图像浏览与捕捉工具软件,图像美化与变形工具中的幻影2008、奇幻变脸秀两个软件,图像处理工具软件和图像制作工具软件。
在计算机软件工程管理过程中,往往会涉及需求分析与业务处理等问题,由于这两项工作未考虑充分或衔接性低,使得软件工程管理工作达不到预期目标。究其原因,主要在于需求阶段的项目,虽然重视业务数据、测试以及开发活动等方面调查,但调查数据往往不够全面,只能对软件框架的开发发挥作用,而没有重视业务规划、经营等工作;这无疑使软件开发人员的工作不符合现实的业务规则。由于缺乏深入的需求分析,使得计算机软件开发的终端产品与实际相脱节。
2.2无法正确评估工作量
在发展过程中,人为因素对计算机发展起着不可忽略的作用。例如,员工工作态度、投入、发展程度以及管理等。在计算机软件工程管理中,如忽略了人的因素,即便业务规则已明确,软件开发工作量也容易估算错误。由上可见,当前计算机软件管理在该方面仍有待改进与研究。因此,我们应始终改进,不断探索新的、准确性高的数据处理与软件规划方法,以实现预期的管理目标。
二、计算机软件工程管理创新策略
2.1完善计算机软件工程管理体系
第一,应重视工程发展中人才的重要作用,逐步完善计算机软件工程管理的人才体系。强化人力资源管理,激发员工的主观能动性,以保证工程各目标能如期实现;第二,深入学习和掌握计算机软件工程知识,对项目管理及一线操作人员等开展专业培训,使之能掌握软件工程知识,在实际工程项目中坚持理论+实践原则,以提升计算机软件管理效率与利用价值;第三,为有效发挥员工的主动性,应完善制度建设,认真执行奖惩制度,促进计算机软件工程整体目标的顺利实现。
2.2创新管理理念及方法,搞好软件需求分析
应逐步转变传统的管理理念,应用先进的管理方法,来开展软件工程管理工作,以提升整体效率。与此同时,应重视需求分析对计算机软件工程管理的重要性。需求分析阶段,应明确软件工程的基本功能、性能需求以及设计约束,并编制软件需求宣传册、数据需求说明以及用户使用指南。需求获取要求我们组建需求调研小组,在调研过程中充分考虑用户群体及其差异性,并从中挑选典例作为决策依据。调研小组根据调研会、资料收集以及面谈等方法获取需求后,应及时同用户交流、审核,以获得社会认可。
2.3统筹规划软件开发平台
现阶段,国内还未形成统一、完善的软件系统操作平台,这对计算机软件的开发工作有很大影响。一款新的软件,应经历从新设计到新平台,再到后续开发等多环节,只有统筹规划软件开发平台,才能在既定时间内完成一款软件的开发。互联网在逐步发展,要求各国能搭建统一规划的软件开发平台。另外,全球软件开发人员也可尝试去形成统一平台,用以开发更多计算机软件。
2.4重视软件工程的风险管理
软件开发各阶段均隐藏着风险。软件项目的风险大体包含下列几方面;需求、成本、技术与进度。需求方面,主要是指客户未能明确表达其对软件的需求。例如,技术人员未采纳客户所提出的意见,开发出来的软件达不到预期需求目标,客户要求重新设计等,这些风险均会给软件工程管理工作带来困扰。为此,我们应认真做好下列风险管理工作:
1)健全风险管理制度体系。计算机工程管理人员应形成风险意识,学习并运用风险管理知识,对风险进行量化分析,并采取有效的防控措施,并提交具体的风险报告。
2)做好风险预控与识别工作。针对计算机软件工程而言,各阶段均可能存在风险,只有运用规避、转移或减缓等方法来开展风险管理工作,才能减少风险带来的损失。
3)严格把控计算机软件工程的管理进度,在控制开发成本的同时,切实提升工程效率。应立足于计算机软件工程实际,编制完善的进度管理细则,实时监督工程项目运行状况,以保证各项工作顺利进行。
一是开发人员。通过分析软件开发人员往往能够划分成为资料员、高级程序员、项目负责人、初级程序员、系统分析员以及别的辅助人员,按照项目规模存在着一定的可能就是一个人身兼数职,可是必须要明确相应的职责。人们拥有的职责不同,那么就会存在不同素质要求。比如项目负责人就必须具备判断能力、组织能力以及决策重大问题能力;程序员具备的能力为熟练编程能力;系统分析员则是必须存在社交活动能力、分析能力、概括能力等。从人员上确立的原则就是少而精,应该慎重的进行人员的选择。处于软件生命周期当中的所有阶段活动不仅是存在着相互联系,而且还会进行一定的分工。那么这就必须要选择出各种类型的人员可以从事这项工作,还能够相互之间有效的配合,要想将复杂软件项目完成,这就必须借助于一个和谐工作环境。
二是组织机构。这并不是简单的等同于简单集合开发人员,组织机构必须存在有效通讯、合理人员分工、良好组织机构,从采用的组织机构上进行分析,软件开发其模式并不固定,以下则是对于三种组织机构进行简要介绍。第一种就是IBM公司提出来的主程序组。这也是组织上面体现结构化软件系统,其目的就是确保全组统一协调,一位高级工程师则是必须主持协调、计划、复审组的所有技术活动。技术人员就是要负责开发与分析获得,一位后援工程师为高级工程师的工作提供支持,另外还能够在继续实施这一项目过程当中将高级工程师工作代替,以便能够将可能损失减少;第二种就是专家组。这种模式则是将所有人的才能充分强调,并且还将所有的人都当成是各个方面专家,并且要让这些专家组成开发机构,这样的组织结构即便能够将全部工作人员积极性充分调动起来,可是还是存在着可能造成困难在协调过程,因此必须要慎重选择这样的方式;第三种就是民主组织。民主组织就是组长则是让各个人员轮流担任,这样的方式能够将个人创造性与积极性充分调动起来,可是过多实施组长信息转移导致与软件工程化方向不符。
三是用户。为了有效的实施相应的用户开发软件,往往在实施软件开发过程当中必须时刻借助于用户密切支持与合作。从项目负责人的角度进行分析,应该时刻保持和用户之间的联系,以便能够对用户动态与心理进行掌握,预防出现用户的诸多阻力与干扰。第一就是用户不积极予以配合。往往这样就是体现出借助先进技术存在怀疑态度的用户,从行动层面上所显示出来的心理抵触情绪则是漠不关心与消极,这一层面人做好他们的工作在需求阶段显得极其重要,借助于相应的业务骨干才能够将用户要求真正了解。必须要让这一部门用户意识到现代化的必然趋势就是发展与应用计算机,借助于计算机就可以获得巨大经济效益,以便可以将新的方法与技术掌握还对已经淘汰或者过时的专长进行取代;第二就是用户要求全与快。这样的表现就是来自保持积极乐观态度对使用计算机的人,这一层面人当中有小部分急切的需要进行计算机的使用。必须要让这一部分人清醒的意识到,一个软件项目的开发是一个漫长的过程,绝对不是能够一蹴而就,并不是借助人海战术就可以加快软件工程开发。除此之外,即便计算机可以处理的事情,系统并不能够贪大求全而包罗万象,最为实际的做法就是按照现有条件量力而行。当开发出来的软件系统不仅大而且全,那么就会导致出现比较复杂的系统,拖的开发时间也显得比较长,针对这样的情况,势必会出现失败系统或者拥有比较差的性能。第三是变化的用户需求。由于用户在开发软件的过程当中,往往存在着可能性就是会持续不断提出相应的新要求与将之前的要求进行修改。基于软件工程这一层面上进行分析,绝对不希望出现这样的变化。可是从现实过程来看,绝对不可能不允许用户提出变动要求。这主要是由于所有的人认识新事物都会面临一个过程,要想一下就提出准确全面的要求可能性不大,另外就是还应该要将和用户关系进行考虑。必须要正确对待用户的这样的变化,将软件工程规律解释给用户,还应该立足于可能条件下有条件或者部分的将用户合理要求满足。
四是控制。控制人员这也就是控制开发组织其内部的人员,要想做到这点,就应该要对开发人员的稳定性与积极性提供必要的保证。频繁流动或者更换人员势必会让软件出错机会极大增强。应该要对软件项目全部工程或者全部生命周期阶段相对的人员稳定性提供必要的保证,还应该核算各个阶段经费。如果不能有效控制经费,这就会导致软件项目并不存在相应的经济保证。第五是文档资料。开发过程的各种活动后都要反映在文档资料上。每一个阶段的文档资料是以后各阶段工作的基础,又是对前面各阶段工作的复审。软件工程管理很大程度上是通过对文档资料管理来实现的。因此,要把开发过程中的初步设计、中间过程、最后结果等建立成一套完整的文档资料。文档标准化是文档管理的重要方面。
2软件工程专业的翻转课堂教学模式
软件工程专业课程的特点是基础理论较为抽象、对学生的创新能力要求较高。目前各高校的软件工程专业课程都有专门的实践教学环节,但仍离不开理论知识的讲解和思维方式的训练,这些都导致学生积极性不高、教学质量下降。哈尔滨师范大学软件工程专业在研究翻转课堂教学模式和本专业课程特点的基础上,提出了一个适用于软件工程专业课程特点的翻转课堂教学模型。在软件工程专业的翻转课堂教学模式中,学生课前观看教学视频学习理论知识,通过和教师的即时交流完成知识学习;教师则根据学生的反馈统计课程的开展情况,酌情安排课上时间分配。在课上的教学环节中,教师首先集中讲解学生反馈的疑难知识点,对重点内容进行简要归纳,然后根据课程内容和教学统计结果提出实践学习内容。学生自由分组创建实践团队,按照软件开发过程的要求进行分工和调研,最终在教师的指导下完成一个具有项目特征的实训工作,提交相关的设计文档和研究成果。教师的课上任务就是点评提交的成果,总结学生的表现,解答学生实践过程中的问题等。
3软件工程翻转课堂云计算教学平台
翻转课堂教学模式需要一定的技术和资源支持,云计算环境无疑是最佳选择。经过不断的探索和研究,哈师大软件学院构建了一个基于云计算环境的翻转课堂教学平台,包括课堂软件开发、课前理论学习、运行管理和教学评价等模块。
3.1软件开发模块
软件开发模块体现了翻转课堂中实践教学的具体内容,是整个教学平台的核心功能模块。按照软件工程对软件开发生命周期的定义,软件开发模块分为项目规划、需求分析、系统设计、代码实现和系统测试等教学过程。在一个项目目标的规划内,每个教学过程都对应前后关联的任务、文档和成果。实际的教学过程是学生登录云计算平台进行实际的软件项目实训练习,以团队的方式完成项目,编写文档和提交成果报告。教师也要登录云计算平台全程监控和指导。云计算教学平台的教学资源库是通过深化校企合作得来的,所有的案例都来源于真实的软件开发项目,学生甚至可以在企业项目经理的指导下通过教学平台进行真实项目的开发。软件开发模块结合了翻转课堂、任务驱动和校企联合等面向应用的教学模式,体现了“工学结合、顶岗实习”的软件工程专业课程实践教学理念。
3.2理论学习模块
理论学习模块是体现翻转课堂模式课前学习的功能模块,该模块的主要功能包括教学视频、课前训练和课程统计等。教学视频功能的资源都来自国内知名高校的公开课,并且具有快进、回放、重放、暂停等播放功能,便于学生自定义课前学习。课程教学视频的内容、视觉效果、互动性和长短都要根据学生的学习效果定期调整,不仅要保证教学内容和课前学习的目标吻合,还要突出教学重点和难点,方便教师和学生的课前交流。课前训练功能是在每个教学视频播放前设置一些教学问题,让学生在观看视频时寻找答案,在视频结束后学生要根据提示进行简单的问题解答和知识训练。课程统计模块可以统计学生观看视频和回答问题的情况,有效提高教学的目的性。除了上述3个主要功能外,教学平台还提供了方便教师和学生交流的论坛,所有与课程相关的讨论和问题都可以在论坛上交流和解答。
3.3运行管理模块
运行管理模块是部署在软件工程翻转课堂云计算教学平台云端应用服务层中,将各种即时通讯、视频播放和在线论坛等应用集中封装的服务层次。具体的功能包括项目管理、学生管理、资源管理和师生沟通等。
1)项目管理子模块。
项目管理模块用来保存学生的实训成果和相关报告。该模块具有文档在线编辑和软件展示功能,可以根据课程类别和章节提供在线的实训环境和展示服务。学生在课程进行中提出的问题也可以在项目管理模块,由任课教师或企业专家在线解答。在实践教学中,教师可以通过项目管理模块掌握所有学生团队的项目进展情况,并通过在线成果交流来提高实践教学的教学质量。学生在项目管理模块中能够即时了解本队同学和其他团队学生的开发进度,这不仅有助于提高团队内部的沟通和协作,还可以通过比较和竞争提高团队凝聚力。
2)学生管理子模块。
学生管理模块用来监控学生的课前视频观看和课中实训练习状态。学生课前的视频教学是独自进行的,有效的教学监控是保证出勤率和质量的重要因素。学生管理功能不仅能监控学生是否观看了视频,还能知道他们观看了哪些视频,哪段视频的播发次数最多、时间最久。这些监控数据对教师掌握学生课前学习状态有至关重要的作用,教师可以通过在线统计获取课前学习数据,也可以在线设置各项参数自动获取指定人员和章节的统计数据。对于课中的实践教学,学生管理模块也可以获取学生团队的练习资料,比如项目进展情况、资料是否齐全等,这些数据可以为课后评估和项目管理等模块提供有效数据支持。在课程结束后,学生成绩也通过学生管理模块统计和查询。
3)资源管理子模块。
资源管理模块用来存储和维护云计算教学环境中教学资源。教学资源包括理论学习视频、课堂项目资料、软件开发资源和企业开发知识库等。这些资源的质量决定了教学的质量和效果,比如理论学习视频是否寓教于乐直接影响学生的学习积极性,课堂项目资料是否具有针对性直接影响教学的应用价值,企业开发库的资源是否有效直接影响学生的实际工作能力等。资源管理模块不同于传统的软件资源库,它具有在线文档编辑、视频制作、网络资源搜集等高级功能,可以实现对已有资源的改进和创新,也可以实现网络资源的汇总和摘选。另外,通过和一些国内知名云供应商的合作,我们还构建了包括软件开发云环境、企业软件项目库和软件开发技术资料库、软件开发文档模板库等在内的高级应用型软件开发资源平台。
3.4学生评价模块
学生评价模块对学生学习过程和教师教学过程的评估打分。其中学习过程根据翻转课堂教学模式的要求分为课前理论学习和软件开发实训两部分:课前理论学习主要包括视频观看、作业完成、课堂交流表现等方面的评估;软件开发实训则是通过对项目成果和研发报告的评估来获得分数。这两部分分数按照一定比例折算成学生专业课程的课程分数,和期末考试笔试成绩一起考核。对教师教学的评估则通过课程中的表现定性评价,评价的指标包括在线时间、操作频率、交流次数和学生打分等。
4实施效果
基于云计算环境的软件工程专业翻转课堂教学经过4个月的试运行,取得了显著的教学成果。使用云计算平台的学生在知识认知和技能实践等方面的能力比往届学生有较大提升。学生可以通过线上交流和团队合作完成开发任务,教师可以通过在线审核完成教学任务,基本达到了云计算平台的设计目标。为了进一步掌握云计算平台的翻转课堂教学模式的实践效果,通过校内走访和问卷调查等方式深入了解学生的学习积极性、动手能力和计算思维意识。结果显示学生对这种寓教于乐的教学方式普遍认同,对自身知识掌握和动手能力的提升感到满意,教师则对系统带来的丰富教学资源和低成本办学模式感到满意。
计算机软件对于人们使用计算机技术而言有非常重要的意义,因为计算机软件工程是用户顺利使用的前提,也是促进计算机软件开发的动力同时提高个人计算机能力的有效途径,下面将进行详述。
1、是用户顺利使用的前提
目前计算机技术和人们的生活已经密不可分了,90%以上的的工作开展都与计算机技术有关,如果没有计算机技术这些工作将很难开展,那么如果计算机软件工程维护达不到相应的要求就无法满足用户的实际需求,并且给用户带来一定的经济损失。所以说计算机软件工程维护是用户顺利使用的前提 。
2、促进计算机软件更新及开发的动力
计算机软件工程师在软件工程维护的过程中会发现相应的问题,那么在发现问题之后就会追寻产生问题的因素,由于计算机软件未更新而造成计算机运行卡顿占据计算机卡顿情况的40%左右。并且寻求相应的解决方法 。然后在更新软件或者开发新软件的过程中避免发生类似的问题,让用户有更好的体验。
3、提高个人计算机能力的途径
计算机技术已经逐渐成为了基本技能,那么个人计算机能力不仅体现在在软件的使用上,更多的体现在计算机软件的维护上。目前我国的网民中只有80%左右的用户能够独立处理计算机部分问题。那么在计算机软件维护的过程中就可以有效的加深对软件的了解[3]。并且在解决类似软件问题的过程中经验更加丰富。
二、维护计算机软件工程的措施
计算机软件工程的维护主要包括两个方面,首先是软件开发者方面,其次是用户方面,下面将详述维护计算机软件工程的措施。
1、软件开发者方面
计算机软件开发者在开发软件的过程中应该更加注重软件安全性的问题,即在软件的设计过程中加大其防护功能,这样就会使得软件问题出现的可能性显著降低,另外软件的防护功能还要能够不断更新升级,有效的发挥其防护工作。另外在软件程序的设计中要使用高级语言,如果使用层次较低的语言就会使得操作较为困难,虽然层级较低的语言在操作的过程中较为简单。但是在进行软件维护的过程中则较为困难 。60%以上的计算机运行问题都是由于软件问题而造成的。所以在程序设计的过程中尽量使用高级语言,高级语言的使用将使得软件维护的工作更加简单化。计算机软件的质量好坏直接关乎软件的运行效果,质量较好的软件将能够使得软件工程的维护更加简单,并且所出现的问题也会更少,所以使用质量较好的计算机软件将能够从根本上进行计算机软件工程的维护。而且质量较好的软件在使用的过程中将更加流畅,用户的体验感将更好。
2、用户方面
普通计算机用户对于计算机软件工程维护没有一定的意识,因为他们认为只要计算机软件不影响自身的工作就没有必要进行维护,这种思想是非常错误的。必须要养成用户维护计算机软件的意识,经常进行软件工程的维护,这样才能够使得软件的运行更加流畅。此外用户安装防护相应的杀毒软件也是非常必要的。有效的杀毒软件能够有效的维护计算机软件[5]。用户还可以通过经常清理计算机内存来达到维护计算机软件的效果,因为内存占用过多就会降低软件的运行效果,通过定期清理计算机c盘里面的数据就可以避免这种情况的出现,用户c盘中的垃圾达到100M就会使得计算机运行卡顿。用户在上网的过程中尽量不要浏览不健康的网站,这样接触电脑病毒的可能性就会极大的降低,另外对于不清楚的链接不要轻易打开,避免被黑客植入病毒。用户还需要对计算机硬盘进行定期维护,对硬盘进行定期维护首先能够减少内存的占用,其次是清理电脑硬盘中废弃的数据,有效提高计算机的使用效率。
三、计算机软件工程维护的重要方法
1、健全软件病毒防护机制
计算机软件所发生的问题主要是由于病毒而造成的,那么健全软件病毒防护机制将能够有效的维护计算机软件工程。健全软件病毒防护机制主要是通过安装可靠性较高的病毒防护软件来实现的,只有确保软件在没有病毒的情况下使用才能使计算机软件的运行更加平稳,软件问题的发生是由于病毒而导致的,计算机病毒软件能够有效抵御90%以上的病毒,所以使用相应的杀毒软件将能够保障其他软件的正常运行,减少由于病毒而造成软件的危害。
计算机领域新技术应用使各行业生成、收集和存储了大量数据。大量信息数据给社会带来方便也带来大堆问题:信息过量,难以消化;信息真假难以辨识;信息安全难以保证;信息形式不一致而难以统一处理。一般数据库系统可高效实现数据录入、查询与统计等功能,却无法发现数据存在的关系和规则。如何辨析信息和如何不被信息淹没已经成为现实问题。一、数据挖掘直面数据丰富而知识匮乏的挑战
面对信息社会带来的“数据丰富而知识匮乏”的现实挑战,数据挖掘(Data Mining,DM)和知识发现(Knowledge Discovery,KD)技术应运而生,伴随计算机新技术和新理论的出现而发展,在电信与银行,生物及大型超市等领域运用效果显著。数据挖掘有时又称作数据库知识发现(KDD),此术语出现于1989年,从数据集识别有效与新颖的,潜在有用的,最终可理解的模式过程。KDD过程常指多阶段处理,包括数据准备与模式搜索,知识评价及反复修改求精;该过程要有智能性和自动性。有效性指发现新数据仍保持可信度,新颖性要求模式应是新的,潜在有用性指发现的知识将来有效用,最终可理解性要求发现模式能被用户所理解,几项综合在一起称为数据的科学性豍。
数据挖掘的界定。数据挖掘是从存放在数据库与数据仓库或其它存储信息库中的海量数据挖掘有趣知识过程。一般的定义是:数据挖掘是从大量、不完全、有噪声、模糊、随机的数据中抽取隐含其中,事先不为人所知、潜在、有效、新颖、有用和最终可理解知识的过程。研究人工智能学术人员和计算机技术专家通常所说数据挖掘名称各异但实质一样。自然世界数据以多种多样形式存放,除最常见数字与字符等类型,还有许多复杂数据。复杂类型数据挖掘包括:空间数据挖掘和多媒体数据挖掘,时序数据挖掘和文本数据挖掘,Web数据挖掘与流数据挖掘等。数据挖掘与传统数学统计分析有区别,数据挖掘在没有明确假设前提下自动建立方程,可采用不同类型如文本、声音、图片等的数据挖掘兴趣模式;统计数据分析工具侧重被动分析,需建立方程或模型来与假设吻合,最终面对数字化数据;数据挖掘是主动发现型与预测型数据分析工具,分析重点在于预测未来未知潜在情况并解释原因。二、软件工程的产生与数据实用性
软件工程概念源自软件危机,20世纪60年代末的“软件危机”这个词语频繁出现计算机软件领域,泛指计算机软件开发和维护所遇到的系列严重问题。在软件开发和维护过程中的软件危机表现为软件需求的增长得不到满足,软件开发成本和进度无法控制,软件质量难保证,软件维护程度非常低,软件成本不断提高,软件开发生产率赶不上计算机硬件发展和各种应用需求增长等。软件危机产生的宏观原因是软件日益深入社会生活,软件需求增长速度超过软件生产率提高,具体软件工程任务的许多困难来源于软件工程所面临任务和其他工程之间各种差异以及软件和其他工业产品的差异,即特殊性。软件开发和维护过程存在的问题,与计算机软件本身特点有关,软件开发过程进度很难衡量,软件质量难以评价,管理和控制软件开发过程困难等。计算机软件专家认真研究解决软件危机方法,逐步形成软件工程概念,开辟工程学新领域即软件工程学。软件工程用工程、科学和数学原理与方法研制与维护计算机软件有关技术及管理的方法。
软件工程针对数据的处理具有系统的规范的系列办法。1993年IEEE(电气和电子工程师学会)给软件工程综合定义为:将系统化、规范和可度量的方法应用于软件开发、测试、运行和维护全过程,即将工程化应用于软件数据等设计中。软件工程包括方法、工具和过程三个要素,方法是完成软件工程项目技术手段;工具支持软件开发、管理与文档生成;过程支持软件开发各个环节控制与管理。软件工程的发展伴随计算机与数据等相关技术的发展而进步。三、软件工程的知识库应用数据挖掘技术
[2] 卞华珍. 计算机网络专业工程化教学改革实践[J]. 职业技术教育,2006,(23):77-80.
[3] 段银田. 高等学校需要计算机应用工程实践教材[J]. 计算机教育,2006,(12):16-18.
作者简介: