软件工程管理目前还没有引起人们的足够重视。究其原因:首先是人的传统观念,工程管理不为人们所重视;另一方面软件工程是一个新兴的学科领域,软件工程管理的问题也是刚被提出的。同时,由于软件产品的特殊性,使软下面是小编为大家整理的2023年工程管理软件论文【五篇】,供大家参考。
工程管理软件论文范文第1篇
关键词:软件工程管理开发人员组织结构用户
一、引言
软件工程管理目前还没有引起人们的足够重视。究其原因:首先是人的传统观念,工程管理不为人们所重视;另一方面软件工程是一个新兴的学科领域,软件工程管理的问题也是刚被提出的。同时,由于软件产品的特殊性,使软件工程管理涉及到很多学科。因此。对软件工程管理,人们还缺乏经验和技术。但事实证明,由管理失误造成的后果要比程序错误造成的后果更为严重。很少有软件项目的实施进程能准确地符合预定目标、进度和预算的,这也就足以说明软件工程管理的重要。
二、软件工租,理的内容
目前软件生产自动化程度很低,在开发过程中人是起决定性的因素,因此,软件工程管理很大程度上是对人的管理。我们可根据软件产品的特点。分析软件下程管理的具体内容,它包括对开发人员、组织机构、用户、文档资料等方而的管理。
(一)开发人员
软件开发人员一般分为:项目负责人、系统分析员、高级程序员、初级程序员、资料员和其他辅助人员。根据项目的规模人小,有可能一人身兼数职,但职责必须明确。不同职责的人,要求的素质不同。如项目负责人需要有组织能力、判断能力和对重大问题能做出决策的能力;系统分析员则要有概括能力、分析能力和社交活动能力;程序员需要有熟练的编程能力等。人员要少而精,选人要慎重。软件生命期各个价段的活动有分工又互相联系。因此,要求选择各类人员既能胜任工作,又要能相互很好地配合。没有一个和谐的工作气氛很难完成个复杂的软件项目。
(二)组织机构
组织机构不等于开发人员的简单集合。这里的组织机构要求:好的组织结构、合理的人员分工和有效的通讯。软件开发的组织机构没有统一的模式。下面简单介绍三种组织机构。
1、主程序员组织机。IBM公司提出的主程序员组是软件系统结构化思想在组织上的体现。它的目的是为了保证全组的协调和统一。一位高级工程师(主程序员)主持计划、协调和复审组的全部技术活动。技术人员(一般25人)负责分析和开发活动,一位后援工程师支持高级工程师的工作,并且在该项目继续进行时,可以代替高级工程师工作,以减少可能的损失。
2、专家组。专家组强调每个人的才能,把每个人都看作是某一方面的专家,由这些专家组成一个开发机构。这种组织结构虽然能发挥所有工作人员的积极性,但往往有可能出现协调上的困难,选择这种方式要慎重。
3、民主组织。民主组织由从事各方面工作的人员轮流担任组长。很显然,这种组织结构对调动积极性和个人的创造性是很值得称道的。但是由于过多地进行组长信息“转移”不符合软件工程化的方向。
(三)用户
我们是为用户开发软件的,在开发过程中自始至终必须得到用户的密切合作和支持。作为项目负责人,要特别注意与用户保持联系,掌握用户的心理和动态。防止来自用户的各种干找和阻力。
1、用户不积极,不配合。这种表现通常来自对采用先进技术持怀疑态度的用户,他们心理上的抵触情绪会在行动上表现为消极、漠不关心。在需求阶段,做好这部分人的工作很重要,通过他们中的业务骨千,才能真正了解到用户的要求。要使他们认识到:计算机的发展和应用是现代化的必然趋势,使用计算机将会带来巨大的经济效益:让他们掌握新的技术和方法去取代某些可能过时的或淘汰的专长。
2、用户求快求全。这种表现来自对使用计算机持积极态度的人。他们中一部分人希望一个早上就能用上计算机,并且全能用上计算机。要他们认识到;开发一个软件项目不是一朝一夕就能完成的,软件工程不是靠人海战术就能加快的工期。另外,即使计算机能够处理的事情,系统也不能下于包罗万象,贪大求全。要根据现有的条件量力而行。如果系统大而全,必然会很复杂,开发时间就拖得很长,因此可能会导致一个系统的失败或性能太差。
3、用户需求变化。在软件开发过程中,用户可能会不断提出新的要求和修改以前提出的要求。从软件工程的角度不希望有这种变化。但实际上,不允许用户提出变动的要求是不可能的。因为一方面每个人对新事物有一个认识过程,不可能一下子提出全面的、准确的要求:另一方而还要考虑到与用户的关系。对来自用户的这种变化要正确对待:要向用户解释软件工程的规律,并在可能的条件下部分或有条件地满足用户的合理要求。例如:软件需求分析阶段结束后软件的设计口标已经确定,这时用户要求的重大变化要导致设计目标的变化,特别是到软件开发的后期,一般不可能满足这种变化的要求。要向用户解释清楚工程的内在规律,但对用户提出的如性能等局部方而的要求,只要是合理的,就要加以考虑。
4、控制。人员控制是对开发组织内部人员控制。就是要保证开发人员的积极性和稳定性。人员的频繁更换或流动将会大大增加软件出错误的机会。至少要保证软件项目每一期工程或软件生命期每一阶段中人员的相对稳定性。同时注意发挥每个开发人员的积极性和创造性。经费控制要编制详细的经费预算。并在各阶段进行经费的核算。在经费上失去控制,软件项目就没有经济保证。质量控制与各阶段的复审在意义和作用上是一致的,在此不再叙述。
5、文档资料。开发过程的各种活动后都要反映在文档资料上。每一个阶段的文档资料是以后各阶段工作的基础,又是对前面各阶段工作的复审。软件工程管理很大程度上是通过对文档资料管理来实现的。因此,要把开发过程中的初步设计、中间过程、最后结果等建立成一套完整的文档资料。文档标准化是文档管理的重要方面。:
工程管理软件论文范文第2篇
1.1软件工程项目自动化的应用
软件工程自动化技术主要使用可编程控制器来进行,编程人员在可编程控制器内部的闪存上进行反复擦写代码调试,通过软件代码烧写硬件芯片的方式将控制器电路的逻辑进行分门别类地控制,使得各个电路逻辑可以发挥其对应的作用,将内部一系列复杂的运算操作变得直观而简单。可编程控制器的指令由内部存储器来完成运算过程,例如计时与计数等操作,进行数模或者模数转换来让机器进行人机交互等。这一系列自动化过程以计算机软件工程技术为基础,实现了对工商业的便捷与高效操作,对于人类生活领域的进步起到了巨大的推动作用。当前计算机软件工程项目的自动化主要用于自动化控制系统的工作方面,例如机床的自动化加工生产,通过已完成的软件工程项目控制机器芯片,由芯片发出操作指令,可以完全实现机床零件的生产和加工的自动化过程。除此之外,在计算机界越来越受关注的人工智能领域也受到软件工程项目自动化的影响,人工智能技术通过软件工程项目自动化开发的芯片指令模拟人类的行为模式来使得机器进行仿真工作,极大地解放了人力物力,使得计算机数据库的利用效率达到一个新的层次。
1.2软件工程项目自动化的开发
软件工程师应当对所需开发的软件本身以及计算机系统有一定的了解深度。首先,软件工程师要明确相应用户的需求问题,并针对这些问题给出相应的解决方法来满足这些需求,这个过程主要考虑以下问题:①准备做什么?即软件工程项目的功能是什么?②I/O分别需要哪些数据?如何处理?③用什么样的平台来进行开发?这些问题将和用户进行共同协商,最后由开发者的团队以及厂商共同拟定所开发软件的规格参数。软件工程项目的系统设计应从硬件和软件两方面着手。硬件方面,需明确整个开发与维护环境的硬件框架,包括机房的大小、机箱的配置、服务器的架设、电缆与通信设施的完整性、控制台的规格等;
软件方面,需要把待烧写芯片的程序规模、程序处理规格、操作系统规格、I/O数据信号的定义、I/O来源与接口等条件明确清楚。除此之外,还需要定制计算机处理程序的算法,规定程序与硬件之间的相互关系、维护处理的时钟周期,软硬件的可扩充性等。所有有关程序方面、接口方面、硬件方面、数据库方面的各种条件参数都要在系统设计的初级阶段规划好,软件工程项目的设计就像一个金字塔,而地基就是这些条件参数,只有打好了地基,才能保证接下来的工作顺利进行。
2软件工程项目自动化管理
2.1数据管理
软件工程项目的自动化管理人员需要定期对自动化操作设备各项指数进行严格的校验,按照相应的标准规范对设备数据进行抽样采集与处理,通过人工的校验计算或者其他可用的软件工具来对数据进行比对与调试,调试后根据结果来判断设备是否运行有误。经过一系列校验之后若确定了设备可以正常运行,则将本次校验过程与数据记录在数据库中,然后开始启动设备使其开始运转。软件工程项目自动化运行中产生的数据非常重要,这些数据对于整个系统的扩展与改进都是至关重要的,所以需要做到实时的、多重的备份,避免一台存储设备故障后造成不可避免的数据丢失,可以使用类似企业内部的具有云存储功能的软件进行备份。云存储具有如下优点:①可扩展性。云存储往往具有无限扩展能力。按照目前的云存储技术来说,存储空间已经彻底不是瓶颈了,企业及个人不再需要担心空间不足而增加投资;
②效率高。云存储的存储技术是非常先进的,比如多重备份、压缩备份、加密备份、重复数据筛选、虚拟化服务器、虚拟化存储、数据优化等,为企业和个人提供了各种高效的存储方案;
③可恢复性高。本地磁盘中的数据被误删之后,恢复工作往往非常耗时。从云存储中的数据恢复则非常快捷,只需找到删除时间点然后通过广域网进行传输即可,既省去了本地设备控件,又节约了时间;
④可复用性。建立本地磁盘存储需要大量的资金支持,而一旦出现灾难性事故,则所有数据不可避免遭受损坏。对于无力负担灾难恢复或者想降低成本的企业来说,通过云存储离线备份将是最佳选择。
2.2环境与设备管理
软件工程项目自动化运行过程中,环境因素对硬件设备的影响是至关重要的,环境要保持干燥,避免尘土、烟雾以及磁场干扰,尽量消除噪音以及避免温度过高或者过低等等。在软件工程项目的扩展过程中,需要对第三方硬件设备进行仔细的考察,确定其是否能够和当前的系统以及项目兼容,并且应用了第三方硬件之后应当在一定时间内记录数据变化,以及时发现是否存在问题,若存在问题,要及时向有关职能部门汇报。若有必要将硬件设备进行调整更换,也必须在经过了严密的数据与逻辑分析之后,确定所需要更换的设备可行,向有关职能部门汇报后进行更换。除此之外,企业员工还应当遵循如下规定:①每个人对所分配的设备必须爱护与定期维护;
②每个人只能使用本部门的设备,未经同意禁止跨部门使用;
③所有设备未经授权时,不得自行拆、改、换任何配件;
④未经同意不得擅自加入外来设备。
2.3软件测试管理
软件测试管理是软件工程项目的结晶,是软件工程中的一个重要组成部分,对于整个系统都具有重要的意义,软件测试管理不仅仅能够拣选系统中出现的漏洞与错误,更是体现了在经过各种技术方法测试之后,对于软件工程项目质量提高的信心所在。但是个人的智慧总是有限的,开发者无法预先知道所开发的软件中有多少漏洞和错误存在,所以即便经过了测试阶段,依然不能保证软件中不再存在问题。不过,在通过了数次的软件测试之后,可以对软件系统中存在的一些问题以及可能出现的后果进行定性地评估,将出现错误的几率控制在可以接受的范围之内,这些都可以大大提高软件系统的可靠性,尤其对于医疗监控、航空航天系统来说,软件测试更是必不可少的环节。软件工程项目自动化测试相对于传统测试来说具有很多优势。自动化测试由一套逻辑缜密的测试标准组成,具有一套完整的自我测试过程,它可以在很大程度上避免个人习惯性思维所造成的疏忽,也可以减少传统测试中重复工作所带来的误差。同时,自动化测试是具有缜密逻辑的一套测试步骤,能够追踪到错误信息出现的时间与位置,并且进行场景再现。由此可见,自动化测试将给测试人员带来很大的方便,所以自动化测试也成为了提高测试效率与确保测试成功率的重点研究对象。常见的软件测试模型有CMM模型、TMM模型等。
2.4安全管理
通常情况下,企业或公司内部所进行的软件工程项目自动化开发的数据都是属于该公司的内部保密数据,所以从开发人员到管理维护人员来说人人都必须遵守公司的内部保密规章制度,在未取得权限之前不得向外界任何关于保密数据的信息。在保密措施方面,可以在计算机设备中使用暗码,阻止不相干人员接触到核心数据,并且这种暗码的特性决定了它是很难被破解的;
含有保密数据信息的工作间须安装监控摄像头,随时记录各个员工对于计算机的使用情况;
计算机内部安装记录软件,使其保留每个员工的操作记录;
含有敏感数据的计算机不得连接公共网络,需做到只连接内网或彻底断网运行。各种保密措施应用到位之后,基本上就可以杜绝因个人原因而导致的敏感信息外泄的可能性。例如国内著名的奇瑞汽车集团,其内网安全体现在“4个管理”上,即为外设安全管理、核心数据管理、互联网应用管理与应用程序管理。这4个管理关系着奇瑞内部员工工作的方方面面,能够有效阻止内部敏感数据信息泄露。数据信息在存储和传输过程中也面临着一些安全风险。通常来说,存储介质必须符合以下规定:包含敏感信息的移动设备必须由专人保管与看守;
删除存储介质上的敏感信息后,必须对存储介质进行彻底格式化并且在存储区域填入无用信息对存储区域进行覆盖;
存储媒介出入库的情况必须通过安全系统授权并保留记录;
对数据信息的传输过程应采取对应安全级别的加密技术(对称加密与不对称加密等);
敏感数据信息在传输过程中必须使用数字签名,这样可以使信息具备不可否认性。除此之外,还应当保证系统中计算机密码的安全性,密码安全应当遵循如下原则:采用大脑记忆密码,不得在书面媒介上出现密码,更不能出现在电子邮件中;
不采用缺省密码;
密码由专人设置记忆,不与其他人分享;
若密码泄露,必须第一时间修改;
密码强度要足够高;
强制指定密码的有效期;
禁止交互式登录;
每周检查一次口令强度。
3总结
工程管理软件论文范文第3篇
计算机软件工程的管理其中包括:科学管理组织机构和开发技术人员,控制工作的管理以及对用户的管理,以下我们就这几点做详细的说明:
1.1关于技术开发人员
其中负责技术开发人员主要有:负责人、系统分析员、高级程序员、初级程序员、资料员和其他辅助人员等。关于人员管理需要:人文的关怀,这是当前很多公司人员管理的重要原则,只有以人为本,员工才能为企业贡献出自己的力量。明确个人责任,做好自己岗位的本职工作,把责任具体到部门个人,一旦出现纰漏,部门或个人就要明确的承担责任,并且在这样的责任制度下保持协调配合。各个不同组的人员在完成自己的本职工作之外,对其他开发组员的请求应积极响应配合。
1.2关于组织机构
开发人员的简单集合不算是计算机软件工程管理的组织机构,它具备更多的构成模式和联系。普遍来说,计算机软件工程管理组织机构主要包括以下几种:
1.2.1主程序员构成的机构它是全组的协调以及统一的保证。普遍来说分工如下:计划、协调以及复审全组的技术活动由高级工程师负责主持。软件的分析以及开发则由普通的技术性人员负责。
1.2.2专家构成的机构其中隶属于专家组的每位成员都具有较高的专业素质,在这种情况下,可以很大程度上发挥相关工作人员最好的工作状态。对于一些软件系统复用频率比较多的模块,往往会生成一些专门的构件,这些构件能够被用户方便地下载和使用,从而成为更加灵活的软件复用技术。目前,构件技术的主要来源主要包括以下几个方面:
(1)第一,一些专门的构件开发组织,这些构件开发组织开发一些具有高度重复利用率的构件,使得软件开发人员能够方便地使用这些构件,进而提高软件开发效率。
(2)第二,软件系统的固定提供商,这些提供商为自己开发的软件系统提供重要的构件、专门的业务开发环境或者使用环境等等,能够在更大范围内实现软件的复用技术。
2软件复用在软件工程中的具体实施过程
软件的复用技术对于软件开发来讲是一项非常重要的技术,也是软件工程的主要实现方式之一。但是,实现软件的复用不仅仅包括代码复用和使用复用库,而且还需要在软件的需求分析和设计方面都考虑到软件复用的因素,这样才能够更好地实现软件的复用。软件复用在软件工程的应用主要包括以下过程:
2.1软件复用能力的评估
软件的复用能力受很多因素的影响,因此在进行软件设计之前,必须要对软件的复用能力进行准确的评估,为此我们需要做的以下几个方面:
(1)第一,重视对软件复用能力的挖掘,在对软件复用能力进行评估的过程中,需要不断地对软件的需求进行深入分析和理解,从而能够充分挖掘其中适合软件复用的模块,通过对这些模块更好地复用,提高整个软件系统的实现效率。
(2)第二,充分利用分析复用技术,软件复用能力的评估是软件概要设计的重要部分,而分析复用技术也是概要设计阶段的重要技术,因此将分析复用技术结合到软件复用能力的评估过程中,能够实现更好的评估效果。
2.2选择可复用的构件
针对软件的通用模型,一般在网络上都能够下载到开源的构件,这些构件能够帮助我们快速地产生软件的模型,选择可复用的构件主要包括以下几个方面:
(1)第一,从现有的软件复用库中选择合适的构件,因为现有的软件复用库都比较成熟和完善,在软件研发实践中也得到了很好的验证,因此需要尽可能地使用现有的软件复用库。
(2)第二,从供应商或者网络上下载可复用的构件,对于这种类型的构件,需要软件设计人员在使用过程中,对其进行反复地验证,从而使得构件的各项参数能够更好地满足现有软件的开发需求。
工程管理软件论文范文第4篇
软件工程课程的实践环节已经成为该课程教学改革的重点,针对软件工程课程的培养目标,提出该课程的理论教学设计思路和理论知识与实践相结合的举措。在理论教学环节中,突出以案例教学为导向和不断更新课程内容;
在实践教学环节中,突出按照软件项目开发模式,结合理论知识与实践知识,采用CASE工具集完成小组项目开发,并对小组成员的考核方式进行了改革,以便更好地培养学生的团队开发软件的能力。
关键词:
软件工程;
教学设计;
实践举措
0引言
软件工程作为一门计算机相关专业学生的必修课程,对学生软件工程能力的培养起到重要的作用。该课程包括系统需求分析、项目管理、总体设计、详细设计、系统测试与配置管理等内容,涵盖了软件在开发过程中的各个方面。作为计算机软件的一门基础课程,该课程旨在培养学生作为软件工程师所需的专业能力和基本素养。
1软件工程课程存在的问题和特点
软件工程学强调对理论和原理的学习和掌握,而忽视理论学习过程中对理论和原理的实践和应用,学生很难认知软件工程理论的作用和使用方法。软件工程理论课程的验收标准往往按照“应试”教学方法实施,即以闭卷理论考试的成绩来定级学生学习成果之优劣,忽略了软件工程课程的工程特性和实践本质。学生往往仅从课本上了解该门课程的一些概念性内容,而没有重视这门课程的实践性。虽然当前很多关于软件工程课程改革的研究都提出了实践的重要性,并采用案例[1-2]或者实例教学[3]的方式讲授该门课程,甚至有的教师将CDIO模式的工程教育模式引入软件工程课程[4-5],但在实际的课程实践中,大多数学生对布置的项目开发训练往往应付差事,从网上下载或复制他人的设计,或者是一个项目小组中往往只有一位学生负责所有的分析、设计与编码工作,其他学生基本上不承担任何工作。因此,如何落实这种工程训练的模式,让项目小组中的每位成员都承担相应的工作并切实实施这些工作,是本文讨论的重点。软件工程课程的目标是培养学生的团队沟通能力、协作能力和实践能力。虽然各学校对该课程的重视程度越来越高,但教学效果却不是很理想。究其原因在于软件工程课程具有如下特点:①课程内容的抽象性。该课程开设的时间主要为大二下学期或者大三上学期,在这之前,学生对相关课程的学习基本都是较为具体的内容,如编程语言、数据结构、操作系统、计算机网络等课程。在这一阶段,学生往往能够独立设计一个算法或者开发一个小程序,其重心在于编码,而对于软件开发标准和流程没有直观的印象,这直接导致学生在学习课程内容时感觉非常抽象且理论化。②课程内容涉及面广。软件工程课程内容包括项目管理、软件开发模式、需求分析、总体设计、详细设计、测试、维护等内容,涉及经济学、工程学、管理学、计算机等众多学科的内容,这些知识必须与实践教学相结合才能让学生更好地理解软件工程课程的工程性质。③课程实验教学涉及众多的CASE工具。由于该课程涵盖了整个软件工程项目的开发周期,因此在实验教学环节就要求学生掌握软件生命周期中每个环节的CASE工具,如项目管理工具、需求建模工具、总体设计和详细设计工具、测试工具等。④软件开发模式和方法的变化性。软件开发模式和方法变化较快,而书本知识的更新速度远远达不到软件知识的更新速度。因此,教材上关于软件的知识点往往具有一定的滞后性,如软件架构模式、软件开发过程管理、面向服务的软件架构等当前热点知识在软件工程教材中基本上没有提及。这就需要任课教师结合教学内容和项目实训将这些新的软件工程知识融入课程教学中。
2软件工程课程教学设计思路
软件工程教学方案的设计旨在加强学生的实践能力、动手能力和团队协作能力,满足当前社会对软件工程人才的需求。为了增强实用性,也是出于理论知识与实践知识结合的需要,该课程在教学过程中需要结合软件工程实例、软件开发模式及软件项目管理等方面的实践知识,使学生具备参与软件团队开发工作的各项素质。因此,必须科学合理地制定软件工程的教学思路,保证理论与实践的有效结合,从而取得满意的教学效果。其设计思路如下。
2.1以案例教学为驱动
该课程旨在培养学生实践应用的基本能力,针对软件工程课程各章节的理论知识点,以实际的软件工程开发案例进行讲解,引入“智能会议管理系统”案例,深入浅出。引导学生从最简单的软件工程案例入手,循序渐进地掌握软件工程理论知识,并以企业化软件开发过程为模式,讲解软件从需求定义、设计到实现与测试的工作流程,使学生了解软件开发的过程,提高学生对该门课程的兴趣。
2.2跟踪IT行业技术主流,不断更新课程内容
随着互联网技术和软件需求的迅速发展,软件工程的发展速度明显加快。当前,面向服务的软件开发和基于构件的软件开发模式的出现,使软件工程教材往往滞后于IT新技术。而中间件、网构技术、面向服务计算等一批新技术和理念,对网络资源共享与管理、人机交互及软件服务等各方面提出了软件开发技术方面的新要求。为适应信息社会对人才培养的新要求,在授课过程中,需要密切跟踪IT技术发展主流,引入软件工程的最新发展技术,使得学生能够及时地了解软件工程中的最新发展趋势,并保持教学内容与技术发展的同步性。
2.3组织开发团队
软件工程课程还需要培养学生的团队协作和沟通能力。将一个教学班划分为若干小组,称为软件项目开发团队。每个小组有4~6人,按照软件工程项目的要求,每个团队设组长(项目经理)一名,以便于管理控制和任务分派。组长全权负责本组实践教学过程中的日常事务管理,包括组织会议、交流协调、任务分派、进度控制、成果验收和成绩评定等。小组中每个成员都必须有具体的工作职责,因此小组中需要划分项目经理、系统分析员、数据库设计师、界面设计师、测试员、文档员等角色,而且每位成员必须要完成该项目中某模块的编码工作。小组的划分还要注意组内和组间学生的能力搭配和开发实力的均衡,不能由学生自由组合,最好由班长和学习委员来实施分组和任命组长。这样能更好地培养软件开发团队的沟通能力和协作能力,其目的就是保证学生在软件工程课程的实践过程中有实际的场景环境(主要包括用户、领域专家和工作环境),这对于高质量的软件工程实践过程而言是质的保障。
2.4合理选题
选择项目的内容时必须选择规模、性质和难度适中的软件开发项目。题目来源为教师指定课题和学生自选课题。选题的原则为新颖、实用和规模适中。新颖要求体现计算机发展的主流技术和应用范畴;
实用要求所选题目一定是用户的实际需求,而不是由学生随意杜撰和随意想象的;
规模适中要求所选的题目不能过于简单也不能过于复杂,所选项目的功能点个数应该为100~200。
2.5教学质量控制
教学活动必须注重实践教学效果,不可流于形式。尤其是在当前不少学生存在厌学情绪和学习热情不高的情况下,除了加强本课程在讲授过程中的兴趣培养外,更重要的是制定实践教学过程中各个阶段任务的完成标准和相关成绩评定方法,保障项目实践的质量和完整性。
2.6软件设计与开发环境配置
软件工程课程包含软件生命周期的各项内容,如软件分析和设计相关工具,以IBMRationalSoftwareArchitect和EclipseFramework为主;
软件开发环境,以Java和C#.Net为主线的开发环境配置;
项目管理工具(Project)、测试工具的实际应用指导等。因此,对软件开发环境的熟悉是非常重要的,这有利于学生在实践过程中产生一种项目开发、科学研究和创新思维的综合效应。
2.7改革考核方式
本校的软件工程课程成绩由期末考试成绩、期中考试成绩、实验成绩和平时成绩4部分组成。其中期末考试成绩占60%,期中考试成绩占10%,实验成绩占20%,平时成绩占10%。在实际考核中,笔者将实验成绩和平时成绩合并为实践项目成绩。每位成员的实践项目成绩的评分由任课教师和小组组长共同确定。每个小组实践项目的团队总成绩由相关文档编写、阶段性答辩效果和最终软件演示3部分组成,并由任课教师评定。其中相关文档编写占40%,阶段性答辩效果占30%,最终软件演示占30%。每个小组成员的打分由小组组长确定,小组组长根据各个成员在项目开发过程中的表现和贡献给予一定的系数,所有小组成员的系数之和为1,因此,每个小组成员的实践项目成绩等于团队成绩乘以表现系数。由于每位学生的实践成绩与团队成绩和个人对团队项目的贡献有关,因此这种考核方式能够有效地增强小组成员的凝聚力和团队协作能力。
3理论与实践结合的教学举措
根据本校学生的实际情况,并结合学生毕业设计和论文的要求,笔者提出了“案例导向、项目驱动”的设计理念,以软件工程的理论指导软件开发的实践,以项目开发带动软件工程的理论学习,并在软件工程的课堂授课和实践指导中贯彻这一思想。案例导向针对大多数学生初次进行完整的软件项目开发时往往不知从何下手的情况,优选案例,并在理论授课的过程中以案例讲解设计理论,为学生提供学习样板。案例分析过程采用“在动手中学习”的教学理念,引导学生通过分析来提出案例的解决方案,为实施软件工程项目设计做好准备。项目驱动的主要内容是按照软件企业先进的项目管理和开发模式,开发小组独立完成一个应用软件项目的开发,使学生得到较为全面、系统和规范的软件工程实践的训练,培养创造性的软件设计能力和综合分析、解决问题的能力。结合理论教学与实践项目。软件工程课程的理论教学按照多数软件工程教材的章节设计,以软件生命周期为主线,结合面向对象方法讲授本门课程;
而实验CASE工具的学习则是本课程实验教学的主要内容;
里程碑指的是当相应的理论知识学习结束后的两个星期,项目团队要完成的工作和纸质文档;
而阶段性答辩是指学生完成一个里程碑后进行的阶段性验收。例如,当需求分析理论课程和实验课程结束后的两个星期,学生就应该提交需求分析说明书文档并准备进行阶段性答辩工作。小组的阶段性答辩由任课教师和该课程的全体学生参加,采用面对面的答辩方式,每个小组限时15分钟,答辩人由任课教师随机指定,但小组中的其他成员有一次补充的机会。在答辩结束后,任课教师和其他小组成员可以提出问题,该问题的解答可由小组中的任一成员完成。由此可见,软件工程课程的理论与实践结合的教学举措的核心在于分段实施。实践过程按照软件企业的项目管理和开发模式进行,重点放在软件需求和软件设计两个阶段,强调组内的交流与协作,考察学生对需求变更的适应能力;
要求开发过程反复、迭代进行,培养学生“在错误中学习”。同时,任课教师需要强化指导,通过答疑、上机辅导、讨论、资料、E-mail等多种方式,对课程设计进行全程指导,从而保证项目设计的质量。如果任课教师弱化了指导和沟通这一环节,往往会使这种项目驱动的实践模式最终流于形式。因此,教师的指导过程也是一次实施项目管理的过程。
4教学效果分析
这种理论与实践相结合的教学方法,有效地增强了学生的项目开发能力、团队协作能力和沟通能力。最为显著的变化是学生在完成毕业设计的过程中,不会像以前那样确定题目后就马上设计界面、编写代码。通过软件项目训练的学生大都按照软件工程的标准完成毕业设计,他们会在需求上花费较多的时间,会按照版本管理的规范来管理自己的毕业设计,还会用文档来记录关键的设计。而对于实验CASE工具集的学习和熟悉也帮助他们更早和更好地适应了在企业中的工作。
5结语
未来的软件工程课程教学,应侧重于培养学生实践应用的基本能力,学生不但要对软件工程理论知识有所深入,还要在软件开发方面具有“会设计、能开发”的能力。因此,该课程应强调“学生实践、项目实训”的方式,将理论知识与动手能力结合,注重培养学生的实际动手能力;
以实例教学和企业化程序开发模式对学生进行必要的训练,培养学生养成良好的编程习惯,在编程、企业开发团队沟通、软件文档书写等方面与企业开发任务无缝链接。
作者:李宗花 朱兆辉 单位:淮阴师范学院计算机科学与技术学院
参考文献:
[1]窦万峰,吉根林.软件工程课程研究性教学方法探索[J].计算机教育,2014(13):59-62.
[2]张佩云.项目驱动的软件工程课程案例式分段情景教学研究[J].计算机教育,2013(3):77-79.
[3]吴志辉,唐承亮.项目驱动的软件工程课程教学模式改革[J].计算机教育,2012(2):25-27.
工程管理软件论文范文第5篇
近两年,《软件工程》这门课程在中国矿业大学(北京)计算机系的课程设置中由专业选修课改变为专业必修课,这就说明了《软件工程》课程在计算机专业中的地位越来越高了。该课程使用的教材就是清华大学出版社出版的《软件工程导论》,这也是软件工程领域中一本非常经典的教材,很多高等学校都在使用。该教材详细讲述了近年来软件工程的概念、原理和典型的方法学,并介绍了软件项目的管理技术。
软件工程与其他的计算机专业课有很大的区别,它并不是一个完全的计算机的概念,它是教给人们怎么用工程化、现代工业管理的方法来管理软件开发的过程,因此该课程除了针对计算机专业的学生,在很多领域都有所开设,比如我们学校的理学院,为金融、数软、信软专业的学生也开设了该课程。
1 《软件工程》实验教学的重要作用
《软件工程》的教学应当以“工程”为主,给予学生“工程”的概念,该课程围绕软件工程的三要素,以软件生命周期的若干阶段为主线,介绍了软件开发中使用的若干模型,工具与开发方法。因此,在软件开发中不仅要求学生要掌握开发技术,还要具备一定的其他领域的知识,同时要将管理的思想融合进去。但是在大多数的普通高校中,《软件工程》的教学比较注重知识体系,注重理论,但是对实验教学重视不够,甚至没有实验环节,这样就使得一门应用性很强的课程常常被当成理论课来开展。对于没有开发过软件经验的学生来说,只是理论的讲解是枯燥乏味且难以理解,课堂教学效果必然不好。
《软件工程》应该是一门理论与实践并重的课程,因此,教师不应只将知识一味的传授给学生,也应当让学生把知识与实践相结合。软件工程的教学应该采取理论和实验相结合的教学方式,因此实验环节是非常重要的,在我们学校新版的《软件工程》教学大纲中不仅增加了实验学时,后续还增设软件工程实训课程,这就更突出了实践教学环节的重要性。通过实验环节,希望学生可以将所学到的软件开发过程、方法和工具,以及浅显的管理学知识应用到整个项目开发中,从而更好地理解软件工程的理念,熟悉和掌握软件工程相关技术,同时也能提高学生的实践动手能力。《软件工程》的实验环节与理论教学是相辅相成,相互影响、相互支持,相互促进的。
2 《软件工程》实验教学所面临的问题
《软件工程》课程虽然增设了实验教学的环节,但是由于教学任务的需要,理论学时所占的比重很大,留给实验环节的学时很少,在这有限的时间内要真正开发出一个完整的系统根本是不可能的,因此实验内容的设置常常只是停留在组织学生编写软件项目若干设计文档这个单一环节上,当然要编写相对完整的软件开发中各个阶段相关文档也是不可能完成的,这就导致学生对教学内容的理解相应地差了很多,学生的实践能力也没有真正地得到锻炼。而且,由于中等教育中文理科的划分,理工科学生的文档编写能力是个“软肋”,他们不感兴趣。因此,作为一门重要的计算机专业课程,如何开展《软件工程》的实验教学,如何保证《软件工程》实验环节的效果一直是值得研究和思考的问题。
3 实验教学的创新
按照新版教学大纲的要求,我们学校的《软件工程》实验环节分为两个部分,一部分是课内实验,一部分是软件工程实训。
3.1 课内实验的设置
因为《软件工程》的课内实验学时比较少,我们主要是让学生做一些工具的实验练习,把软件工程的概念和理论知识融入到实践当中,从而加深对软件工程的认识和理解。实验的内容涉及软件生命周期的各个阶段。如表1所示。
实验1:软件开发绘图工具Visio。了解Visio工具软件的功能特色和工作环境,掌握应用Visio工具绘制软件开发图形的基本操作;
了解开发Visio解决方案的基本概念,熟悉Visio绘图操作。实验2:软件分析与建模工具PowerDesigner。PowerDesigner是一个非常好的做数据库的工具,使用它可以方便地对管理信息系统进行分析设计。通过该次实验初步了解PowerDesigner的概念和操作界面;
了解PowerDesigner的4个模型:概念数据模型(CDM)、物理数据模型(PDM)、面向对象模型(OOM)和业务程序模型(BPM)及其相互关系与作用;
学习运用PowerDesigner工具进行简单系统分析建模操作等。实验3:软件项目管理Project。了解IT项目管理的基本概念和项目管理核心领域的一般知识,初步掌握Microsoft Project的一般操作界面和基本操作。实验4:软件配置管理VSS。学习软件配置管理的基本概念、分类、工具集成和相关技术,初步了解Visual SourceSafe配置管理工具的使用方法。
3.2 软件工程实训
《软件工程》课内实验的设计主要是让学生熟悉一下各种工具的使用,并没有涉及具体的项目开发。在后续的为期两周的《软件工程实训》期间,让学生能够参与完成完整的软件系统的开发全过程。
首先由学生自由结合,形成“项目小组”进行软件开发,原则上每小组不得超过5人,其中一名学生担任组长,然后选择实验题目,题目的选择可以采取教师命题和学生自选相结合的方式,但每一个题目必须经过教师批准后才能继续下一步工作。题目确定后就可以组织学生以一定的竞技方式开展软件工程项目的设计活动,使学生能综合应用软件工程知识,充分运用软件工程工具,很好地实践和完成软件工程项目,从中感性地理解和把握软件工程活动。最后通过答辩的方式进行成绩评定。