工程管理软件论文实用13篇

工程管理软件论文
工程管理软件论文篇1

1.2软件质量管理

软件质量管理在工程项目实施过程中决定着质量方针与责任的范畴,包括质量计划设计制定,项目质量检测保证和项目质量控制等程序。通过保证手段在质量过程中有效进行。

1.3软件配置管理

英文简称SCM,是在开发者中,标识,控制和管理软件变更的一种管理。配置管理的使用取决于项目规模和复杂性以及风险水平。软件配置管理针对开发过程中人员、工具的配置、使用提出管理策略。记录软件项目产品的更新过程,从而保证研发者在软件项目周期的各个阶段能够获得准确的产品配置。对项目开展过程软件开发进行有效调控和有效预测具有重要作用。

1.4编写软件项目计划书

它是软件项目管理组的首要任务,主要包括工作量、成本、开发时间的估计。并根据估计值制定和调整项目组的工作,详细记录了开发日程安排,资源供需,项目管理等各项情况。使从事该项目的人员了解该项目的大致情况。

1.5软件风险管理

软件工程风险管理是预测工作中可能出现的各种危害到软件产品质量的潜在因素的问题,对风险产生的后果进行分析评估。计算机软件风险预测的准确性评估与有效防范措施的应用都利于提高软件工程的效益,降低风险带来的经济损失,有效保证相关利益业主的权益。这几个方面都是相互贯穿、交织于整个软件开发过程中的。

2软件工程项目管理中存在的现实问题及解决方案

2.1人员工作安排不明确,应建立团队合作意识

在工程项目开发过程中是需要每个岗位人员的相互协调及无障碍交流,没有团队协作意识是无法有效的利用时间和资源开展各项工作。因此我们要提高一个工程项目的工作效率,就要合理安排人员的工作分配,强化每个工作人员的团队协作意识,有效避免管理团队中存在的分工不明确,不合作的问题。只有相互协作和相互信任的情况下才能高效的完成一件优质的软件工程项目。建立一套完善的人事考核制度,加强对员工的职位升降,工资奖金分配管理,有利于提高员工开发软件工作的积极性。

2.2缺乏实践性调研报告,应纳入到软件项目计划书

软件开发工程不仅要创新变革,也要考虑到它的实用性,以往出现的多个工程项目没有对实际项目建设中的需求实体和实际进行要求,以及实际项目建设的数据进行合理有效的调研,导致出现设计完整的软件产品运用与实际偏差较大,造成不必要的人员和资源浪费。因此要在软件设计前给予项目调研工作高度重视,对实际软件项目的需求及要求严格调查,应将软件项目调研报告附于项目计划书中,引起重视。

2.3风险管理意识不够,应该强化提高人员对风险管理的认知

风险的发生很可能会造成不可估量的损失,但是风险的发生是具有可控性的,如果能有效控制就会避免发生风险事故。可往往在计算机软件工程项目管理中的工作人员却很少知道风险管理的重要性,于是在软件开发中应提高项目主要负责人的风险管理理念,提高自身对风险管理预测能力的水平。只有了解了风险管理理论与风险管理体系,定期对项目实施中可能发生的风险进行有效排除,把控好风险管理前后的形势。

工程管理软件论文篇2

软件工程管理目前还没有引起人们的足够重视。究其原因:首先是人的传统观念,工程管理不为人们所重视;另一方面软件工程是一个新兴的学科领域,软件工程管理的问题也是刚被提出的。同时,由于软件产品的特殊性,使软件工程管理涉及到很多学科。因此。对软件工程管理,人们还缺乏经验和技术。但事实证明,由管理失误造成的后果要比程序错误造成的后果更为严重。很少有软件项目的实施进程能准确地符合预定目标、进度和预算的,这也就足以说明软件工程管理的重要。

二、软件工租,理的内容

目前软件生产自动化程度很低,在开发过程中人是起决定性的因素,因此,软件工程管理很大程度上是对人的管理。我们可根据软件产品的特点。分析软件下程管理的具体内容,它包括对开发人员、组织机构、用户、文档资料等方而的管理。

(一)开发人员

软件开发人员一般分为:项目负责人、系统分析员、高级程序员、初级程序员、资料员和其他辅助人员。根据项目的规模人小,有可能一人身兼数职,但职责必须明确。不同职责的人,要求的素质不同。如项目负责人需要有组织能力、判断能力和对重大问题能做出决策的能力;系统分析员则要有概括能力、分析能力和社交活动能力;程序员需要有熟练的编程能力等。人员要少而精,选人要慎重。软件生命期各个价段的活动有分工又互相联系。因此,要求选择各类人员既能胜任工作,又要能相互很好地配合。没有一个和谐的工作气氛很难完成个复杂的软件项目。

(二)组织机构

组织机构不等于开发人员的简单集合。这里的组织机构要求:好的组织结构、合理的人员分工和有效的通讯。软件开发的组织机构没有统一的模式。下面简单介绍三种组织机构。

1、主程序员组织机。IBM公司提出的主程序员组是软件系统结构化思想在组织上的体现。它的目的是为了保证全组的协调和统一。一位高级工程师(主程序员)主持计划、协调和复审组的全部技术活动。技术人员(一般25人)负责分析和开发活动,一位后援工程师支持高级工程师的工作,并且在该项目继续进行时,可以代替高级工程师工作,以减少可能的损失。

2、专家组。专家组强调每个人的才能,把每个人都看作是某一方面的专家,由这些专家组成一个开发机构。这种组织结构虽然能发挥所有工作人员的积极性,但往往有可能出现协调上的困难,选择这种方式要慎重。

3、民主组织。民主组织由从事各方面工作的人员轮流担任组长。很显然,这种组织结构对调动积极性和个人的创造性是很值得称道的。但是由于过多地进行组长信息“转移”不符合软件工程化的方向。

(三)用户

我们是为用户开发软件的,在开发过程中自始至终必须得到用户的密切合作和支持。作为项目负责人,要特别注意与用户保持联系,掌握用户的心理和动态。防止来自用户的各种干找和阻力。

1、用户不积极,不配合。这种表现通常来自对采用先进技术持怀疑态度的用户,他们心理上的抵触情绪会在行动上表现为消极、漠不关心。在需求阶段,做好这部分人的工作很重要,通过他们中的业务骨千,才能真正了解到用户的要求。要使他们认识到:计算机的发展和应用是现代化的必然趋势,使用计算机将会带来巨大的经济效益:让他们掌握新的技术和方法去取代某些可能过时的或淘汰的专长。

2、用户求快求全。这种表现来自对使用计算机持积极态度的人。他们中一部分人希望一个早上就能用上计算机,并且全能用上计算机。要他们认识到;开发一个软件项目不是一朝一夕就能完成的,软件工程不是靠人海战术就能加快的工期。另外,即使计算机能够处理的事情,系统也不能下于包罗万象,贪大求全。要根据现有的条件量力而行。如果系统大而全,必然会很复杂,开发时间就拖得很长,因此可能会导致一个系统的失败或性能太差。

3、用户需求变化。在软件开发过程中,用户可能会不断提出新的要求和修改以前提出的要求。从软件工程的角度不希望有这种变化。但实际上,不允许用户提出变动的要求是不可能的。因为一方面每个人对新事物有一个认识过程,不可能一下子提出全面的、准确的要求:另一方而还要考虑到与用户的关系。对来自用户的这种变化要正确对待:要向用户解释软件工程的规律,并在可能的条件下部分或有条件地满足用户的合理要求。例如:软件需求分析阶段结束后软件的设计口标已经确定,这时用户要求的重大变化要导致设计目标的变化,特别是到软件开发的后期,一般不可能满足这种变化的要求。要向用户解释清楚工程的内在规律,但对用户提出的如性能等局部方而的要求,只要是合理的,就要加以考虑。

4、控制。人员控制是对开发组织内部人员控制。就是要保证开发人员的积极性和稳定性。人员的频繁更换或流动将会大大增加软件出错误的机会。至少要保证软件项目每一期工程或软件生命期每一阶段中人员的相对稳定性。同时注意发挥每个开发人员的积极性和创造性。经费控制要编制详细的经费预算。并在各阶段进行经费的核算。在经费上失去控制,软件项目就没有经济保证。质量控制与各阶段的复审在意义和作用上是一致的,在此不再叙述。

工程管理软件论文篇3

(1)软件模块开发过于独立,各模块没有统一的开发标准,造成系统功能重复,开发平台不统一,系统整合难度大;

(2)系统开发往往针对某一特定功能,没有形成一个完整的系统结构;

(3)总体设计不够细致,各个子系统功能模块风格不统一;

(4)开发人员技术水平、开发能力和时间有限,开发手段相对原始,代码的可重用性低、可读性差;

(5)缺乏有效的软件文档管理。这些问题集中体现在软件项目开发的每一模块中,导致整个项目开发过程中,开发费用超出原定计划,生产的软件系统不能满足用户需求,系统难以简易维护,系统无法高效运行等问题。这里既有技术层面的因素,即开发平台不统一;也有软件开发的组织与管理层面的因素,即程序员对系统功能的定义、规划和设计不明确,往往是开发人员摸着石头过河,仅仅从自己开发的这部分模块来考虑问题,另外开发人员和测试人员不能很好的协调,这些都说明了软件项目管理这一角色的欠缺。

二、项目管理针对软件工程开发的优势

项目管理包括时间、质量、成本三大要素,三者相辅相成,相互制约。时间可等价于软件项目开发中的开发生命周期,即在最终达到开发目标前的各个阶段的总用时。质量可等价于最终开发软件系统的功能性,可用性与达到的客户满意度。成本相当于软件项目开发中的费用,包括人力、地点、工具、系统故障处理等方面的开销。统筹时间、质量、成本三要素,即统筹软件项目开发周期、软件使用客户满意度和开发费用之间的平衡关系,不因忽略某一项指标而导致项目开发目的实现不了或中途中断,也不会为了实现较高的效率,而忽略成本的牺牲,让所有项目开发过程中,所涉及到的因素都可有条不紊地进行。

SPPT是项目管理另一层面上概括的四要素,分别为:战略(Strategy)、人(People)、次序和安排(Process)、工具(Tool)。战略对于软件项目来说,主要概括为模块开发的开发方式,配合方法等;人,毫无疑问,指的是项目开发中的参与者;次序则是项目如何划分模块,以及模块开发的先后次序;工具,即使用工具,包括:辅导设计程序系统、文档编写系统、资源管理系统等。对这四要素的稳定地统筹把握,能更好的协调好项目开发过程中涉及的多个方面,而又不造成某一方面的缺失,导致项目最终目的实现不了或效果不明显。

三、项目管理思想与软件工程开发的结合

根据上述项目管理要素与软件工程开发要素的结合,平衡项目开发过程中的开发要素,能更加简洁高效地完成项目开发目标。IT软件企业处于项目为主导的环境中,每天所面对的将是成百上千不断发生、进行的项目。在这种多项目并发、高技术、快速变化、资源有限的环境下,为了试图满足不断变化的市场需求及应对各种挑战,必须考虑改进项目管理。

工程管理软件论文篇4

(1)不断强化软件工程质量。软件工程质量保证工作所指的就是开发出现的新软件进行检验,来确保这些软件达到有关规定的标准。该项工作的主要内容有对软件产品进行审查、对一些工具、设备进行审查,以及对软件开发技术的审查评审,最后根据审查所得出的数据做成报告。具本人多年的研究经验,软件工程质量保证工作的开展主要包括以下几个流程:

①成立软件工程质量审查小组;

②合理规划小组审查活动;

③不断优化小组工作内容,避免小组在审查过程中出现漏洞。

(2)不断强化软件工程质量的管理程序工作的开展。我们知道,通过有效的软件管理,可以有效的实现软件工程的工业化、软件开发、生产的规模化,所以可以说科学、完善软件工程质量管理程序是软件工程发展的强有力后盾。本文经过研究,其具体包括以下几方面内容。

①对软件工程产品的质量需求加以构建。其中产品的质量需求应当满足全部客户的不同要求与条件,且将这些要求与条件转变成实际的标准,并加以介绍;与此同时,还必须对客户的要求进行密切的观察,一旦这些要求发生改变,那么就必须在第一时间内对软件工程加以补充,进而使软件设计更加的完善。

②制定一套软件产品开发与维护的有效方式。

(3)不断加强对软件开发队伍的建设与管理。人是软件工程开发、管理等一系列活动开展的主体,所以不断加强软件开发队伍、软件工程质量管理队伍建设对于提高软件工程质量标准至关重要。其具体包括以下几方面内容,第一,聘请优秀的软件工程质量管理方面的人才,积极学习国内外高效的管理经验,降低甚至是避免软件管理问题的发生。第二,定期组织有关软件开发知识与技术方面的培训,并积极号召广大管理人员与技术人员参与其中,以便使其能够掌握最先进、最前沿的软件工程开发技术与管理知识,且进行考核,以保证培训的效果与质量,进而真正实现提升员工素质与技能的目的。

工程管理软件论文篇5

1.2软件工程项目自动化的开发

软件工程师应当对所需开发的软件本身以及计算机系统有一定的了解深度。首先,软件工程师要明确相应用户的需求问题,并针对这些问题给出相应的解决方法来满足这些需求,这个过程主要考虑以下问题:①准备做什么?即软件工程项目的功能是什么?②I/O分别需要哪些数据?如何处理?③用什么样的平台来进行开发?这些问题将和用户进行共同协商,最后由开发者的团队以及厂商共同拟定所开发软件的规格参数。软件工程项目的系统设计应从硬件和软件两方面着手。硬件方面,需明确整个开发与维护环境的硬件框架,包括机房的大小、机箱的配置、服务器的架设、电缆与通信设施的完整性、控制台的规格等;软件方面,需要把待烧写芯片的程序规模、程序处理规格、操作系统规格、I/O数据信号的定义、I/O来源与接口等条件明确清楚。除此之外,还需要定制计算机处理程序的算法,规定程序与硬件之间的相互关系、维护处理的时钟周期,软硬件的可扩充性等。所有有关程序方面、接口方面、硬件方面、数据库方面的各种条件参数都要在系统设计的初级阶段规划好,软件工程项目的设计就像一个金字塔,而地基就是这些条件参数,只有打好了地基,才能保证接下来的工作顺利进行。

2软件工程项目自动化管理

2.1数据管理

软件工程项目的自动化管理人员需要定期对自动化操作设备各项指数进行严格的校验,按照相应的标准规范对设备数据进行抽样采集与处理,通过人工的校验计算或者其他可用的软件工具来对数据进行比对与调试,调试后根据结果来判断设备是否运行有误。经过一系列校验之后若确定了设备可以正常运行,则将本次校验过程与数据记录在数据库中,然后开始启动设备使其开始运转。软件工程项目自动化运行中产生的数据非常重要,这些数据对于整个系统的扩展与改进都是至关重要的,所以需要做到实时的、多重的备份,避免一台存储设备故障后造成不可避免的数据丢失,可以使用类似企业内部的具有云存储功能的软件进行备份。云存储具有如下优点:①可扩展性。云存储往往具有无限扩展能力。按照目前的云存储技术来说,存储空间已经彻底不是瓶颈了,企业及个人不再需要担心空间不足而增加投资;②效率高。云存储的存储技术是非常先进的,比如多重备份、压缩备份、加密备份、重复数据筛选、虚拟化服务器、虚拟化存储、数据优化等,为企业和个人提供了各种高效的存储方案;③可恢复性高。本地磁盘中的数据被误删之后,恢复工作往往非常耗时。从云存储中的数据恢复则非常快捷,只需找到删除时间点然后通过广域网进行传输即可,既省去了本地设备控件,又节约了时间;④可复用性。建立本地磁盘存储需要大量的资金支持,而一旦出现灾难性事故,则所有数据不可避免遭受损坏。对于无力负担灾难恢复或者想降低成本的企业来说,通过云存储离线备份将是最佳选择。

2.2环境与设备管理

软件工程项目自动化运行过程中,环境因素对硬件设备的影响是至关重要的,环境要保持干燥,避免尘土、烟雾以及磁场干扰,尽量消除噪音以及避免温度过高或者过低等等。在软件工程项目的扩展过程中,需要对第三方硬件设备进行仔细的考察,确定其是否能够和当前的系统以及项目兼容,并且应用了第三方硬件之后应当在一定时间内记录数据变化,以及时发现是否存在问题,若存在问题,要及时向有关职能部门汇报。若有必要将硬件设备进行调整更换,也必须在经过了严密的数据与逻辑分析之后,确定所需要更换的设备可行,向有关职能部门汇报后进行更换。除此之外,企业员工还应当遵循如下规定:①每个人对所分配的设备必须爱护与定期维护;②每个人只能使用本部门的设备,未经同意禁止跨部门使用;③所有设备未经授权时,不得自行拆、改、换任何配件;④未经同意不得擅自加入外来设备。

2.3软件测试管理

软件测试管理是软件工程项目的结晶,是软件工程中的一个重要组成部分,对于整个系统都具有重要的意义,软件测试管理不仅仅能够拣选系统中出现的漏洞与错误,更是体现了在经过各种技术方法测试之后,对于软件工程项目质量提高的信心所在。但是个人的智慧总是有限的,开发者无法预先知道所开发的软件中有多少漏洞和错误存在,所以即便经过了测试阶段,依然不能保证软件中不再存在问题。不过,在通过了数次的软件测试之后,可以对软件系统中存在的一些问题以及可能出现的后果进行定性地评估,将出现错误的几率控制在可以接受的范围之内,这些都可以大大提高软件系统的可靠性,尤其对于医疗监控、航空航天系统来说,软件测试更是必不可少的环节。软件工程项目自动化测试相对于传统测试来说具有很多优势。自动化测试由一套逻辑缜密的测试标准组成,具有一套完整的自我测试过程,它可以在很大程度上避免个人习惯性思维所造成的疏忽,也可以减少传统测试中重复工作所带来的误差。同时,自动化测试是具有缜密逻辑的一套测试步骤,能够追踪到错误信息出现的时间与位置,并且进行场景再现。由此可见,自动化测试将给测试人员带来很大的方便,所以自动化测试也成为了提高测试效率与确保测试成功率的重点研究对象。常见的软件测试模型有CMM模型、TMM模型等。

2.4安全管理

通常情况下,企业或公司内部所进行的软件工程项目自动化开发的数据都是属于该公司的内部保密数据,所以从开发人员到管理维护人员来说人人都必须遵守公司的内部保密规章制度,在未取得权限之前不得向外界任何关于保密数据的信息。在保密措施方面,可以在计算机设备中使用暗码,阻止不相干人员接触到核心数据,并且这种暗码的特性决定了它是很难被破解的;含有保密数据信息的工作间须安装监控摄像头,随时记录各个员工对于计算机的使用情况;计算机内部安装记录软件,使其保留每个员工的操作记录;含有敏感数据的计算机不得连接公共网络,需做到只连接内网或彻底断网运行。各种保密措施应用到位之后,基本上就可以杜绝因个人原因而导致的敏感信息外泄的可能性。例如国内著名的奇瑞汽车集团,其内网安全体现在“4个管理”上,即为外设安全管理、核心数据管理、互联网应用管理与应用程序管理。这4个管理关系着奇瑞内部员工工作的方方面面,能够有效阻止内部敏感数据信息泄露。数据信息在存储和传输过程中也面临着一些安全风险。通常来说,存储介质必须符合以下规定:包含敏感信息的移动设备必须由专人保管与看守;删除存储介质上的敏感信息后,必须对存储介质进行彻底格式化并且在存储区域填入无用信息对存储区域进行覆盖;存储媒介出入库的情况必须通过安全系统授权并保留记录;对数据信息的传输过程应采取对应安全级别的加密技术(对称加密与不对称加密等);敏感数据信息在传输过程中必须使用数字签名,这样可以使信息具备不可否认性。除此之外,还应当保证系统中计算机密码的安全性,密码安全应当遵循如下原则:采用大脑记忆密码,不得在书面媒介上出现密码,更不能出现在电子邮件中;不采用缺省密码;密码由专人设置记忆,不与其他人分享;若密码泄露,必须第一时间修改;密码强度要足够高;强制指定密码的有效期;禁止交互式登录;每周检查一次口令强度。

工程管理软件论文篇6

传统的手工计算工程量的过程相当繁琐,如需要翻看图纸、列计算式、计算分项工程量等,恰恰相反的是,三维算量软件就是省去了这些繁琐的过程,能够实现快速三维图形建模等,直接通过计算机进行计算,精确度高且速度更快,完全实现工程量计算的自动化,规范化和智能化。因此,在工程管理过程中,三维算量软件扮演着重要作用,其特性主要体现以下几个方面:首先,操作简单且界面清晰,能够有效兼容现在常用的电子文档,同时能迅速识别出电子图纸的墙、梁等。其次,能够对计算过程和工程建模过程有一定监督作用,具有修改查询或控制模型的信息。而在建模和计算的过程中,一旦出现错误,操作者可以快速对计算环境进行检查并修改,节约时间,十分方便。另外,在工程统计过程中,对于重合的结构可进行删减,对于标准层计算可进行复制,使得计算效果得到进一步提升。而在核对成本方面,可采用自行套用定额锁对信息进行完整换算,有效提高精确度。接着在工程的设计中,借助几何尺寸的构建对工程量和钢筋数量进行核对,从而实现工程量的自动分类,计算和汇总过程。最后,根据工程构件的实际形状,利用软件的开发功能对其进行补充或修改,从而使造价得到有效控制,同时使工程量的计算更加精确。

3三维算量软件在工程管理中的实践应用

三维算量软件在工程管理中的应用很多,其主要体现在工程管理中的工程造价及施工过程等方面。首先,我们要对工程基本特征和性质进行定义设置。如对计量模式的设置,它就包括工程名称、需要采用哪种计算规则、套用什么类型的定额等,而楼层设置包括楼层的标高和层高、有多少楼层等,只有这样,才能使之后的图形绘制和工程量的计算的准确度得到保证,使工程费用得到合理利用,才能有效控制成本。其次,我们可以根据纵横轴网和施工图的点位信息,确认出柱的位置,然后根据柱之间的轴网生成梁,而在柱和梁围生成的空间范围生产相对的板,接着根据板的边线生成梁和墙,同时在墙上设置出门、窗等位置,这样建筑的基本框架就可以产生了。最后,我们根据框架结构对立体封闭的区域设置天棚、屋面、地面等建筑部位的工程量信息。最后,我们可以根据楼梯、建筑等其他构件对参数进行定义,待一切数据结束之后,三维算量软件系统便开始对工程进行自动统计分析,大概一分钟就可以完成成千上百的分部分项工程量的计算,从而获得我们所需要的各种数据,如砖砌体的体积、梁、板、柱的砼体积等数据。工程施工过程中,三维算量软件的应用范围则比较广泛,一般情况下,在进行施工阶段,三维算量软件一般具有以下功能。首先,三维算量软件可以对工程的施工量进行计算。在工程管理过程中,每一项工程完成后都需要对总体工程量进行分层和分段的计算,使工程资金运转、产品的采购和分配等要求得到满足。运用三维算量软件可以有效提高节点工程量统计精确度。其次,在工程的计划和监控阶段,三维算量软件可通过最简单的方式完成工程计划和工程量的结算,同时在计算机中通过模拟形态显示时间工程的效果得到全面呈现,一旦发现问题就可以立即进行修改。再次,三维算量软件应用与变更管理功能。在设计过程中,三维算量软件可根据实际情况直接对原图纸进行增加或删减构件,也就是说三维算量软件可以通过每次对变更图纸的信息输入自动的删减或增加相应的工程量。最后,使用三维算量软件可以提前对施工图纸进行审核,进而提前发现问题,从而保证施工技术的质量。总之,三维算量软件可以给施工管理阶段提供很多便利条件,然而,这一系统还处于发展阶段,若将图形软件的自动化程度进一步加强和提高,那么,三维算量软件将为工程管理带来重大变革。

工程管理软件论文篇7

1.2软件项目成本的识别和度量软件项目成本是指为获取软件功能而付出的成本,主要体现为人力、物力、财力和时间的投入。相应的成本和出,最终都可以从价值论的角度用统一的度量标准、度量方法和度量单位进行分析和度量。在项目生命周期中,启动、规划设计、结束阶段相应的成本较低,实施阶段的成本最高,应该进行有效的评估和设计。通过挣值管理(EVM),了解项目成本、进度的偏差,及时进行纠偏或变更管理。

1.3软件项目价值的识别和度量在价值工程中,价值、功能和成本三者之间的关系应该是:价值=功能(或效用)/成本(或生产费用),用公式可表示为:V=F/C。V代表Value,即为价值;F代表Function,即为功能,C代表Cost,即为费用。从项目管理的角度出发,影响产品的价值不仅是功能和费用,还需要考虑相应的时间成本以及质量要求所带来的成本,综合以上因素,有学者提出其价值可用公式表示为:V=(F+Q)/(C+T)。上式中增加了质量(Q代表Quality)因素和时间(T代表Time)因素在价值中的作用。在实际的操作中,其具体的核算指标依据项目特点会有很大差异。影响价值的因素,除了以上各项,还包括用户体验、供需关系和认可度等诸多方面。

工程管理软件论文篇8

其中负责技术开发人员主要有:负责人、系统分析员、高级程序员、初级程序员、资料员和其他辅助人员等。关于人员管理需要:人文的关怀,这是当前很多公司人员管理的重要原则,只有以人为本,员工才能为企业贡献出自己的力量。明确个人责任,做好自己岗位的本职工作,把责任具体到部门个人,一旦出现纰漏,部门或个人就要明确的承担责任,并且在这样的责任制度下保持协调配合。各个不同组的人员在完成自己的本职工作之外,对其他开发组员的请求应积极响应配合。

1.2关于组织机构

开发人员的简单集合不算是计算机软件工程管理的组织机构,它具备更多的构成模式和联系。普遍来说,计算机软件工程管理组织机构主要包括以下几种:

1.2.1主程序员构成的机构它是全组的协调以及统一的保证。普遍来说分工如下:计划、协调以及复审全组的技术活动由高级工程师负责主持。软件的分析以及开发则由普通的技术性人员负责。

1.2.2专家构成的机构其中隶属于专家组的每位成员都具有较高的专业素质,在这种情况下,可以很大程度上发挥相关工作人员最好的工作状态。对于一些软件系统复用频率比较多的模块,往往会生成一些专门的构件,这些构件能够被用户方便地下载和使用,从而成为更加灵活的软件复用技术。目前,构件技术的主要来源主要包括以下几个方面:

(1)第一,一些专门的构件开发组织,这些构件开发组织开发一些具有高度重复利用率的构件,使得软件开发人员能够方便地使用这些构件,进而提高软件开发效率。

(2)第二,软件系统的固定提供商,这些提供商为自己开发的软件系统提供重要的构件、专门的业务开发环境或者使用环境等等,能够在更大范围内实现软件的复用技术。

2软件复用在软件工程中的具体实施过程

软件的复用技术对于软件开发来讲是一项非常重要的技术,也是软件工程的主要实现方式之一。但是,实现软件的复用不仅仅包括代码复用和使用复用库,而且还需要在软件的需求分析和设计方面都考虑到软件复用的因素,这样才能够更好地实现软件的复用。软件复用在软件工程的应用主要包括以下过程:

2.1软件复用能力的评估

软件的复用能力受很多因素的影响,因此在进行软件设计之前,必须要对软件的复用能力进行准确的评估,为此我们需要做的以下几个方面:

(1)第一,重视对软件复用能力的挖掘,在对软件复用能力进行评估的过程中,需要不断地对软件的需求进行深入分析和理解,从而能够充分挖掘其中适合软件复用的模块,通过对这些模块更好地复用,提高整个软件系统的实现效率。

(2)第二,充分利用分析复用技术,软件复用能力的评估是软件概要设计的重要部分,而分析复用技术也是概要设计阶段的重要技术,因此将分析复用技术结合到软件复用能力的评估过程中,能够实现更好的评估效果。

2.2选择可复用的构件

针对软件的通用模型,一般在网络上都能够下载到开源的构件,这些构件能够帮助我们快速地产生软件的模型,选择可复用的构件主要包括以下几个方面:

(1)第一,从现有的软件复用库中选择合适的构件,因为现有的软件复用库都比较成熟和完善,在软件研发实践中也得到了很好的验证,因此需要尽可能地使用现有的软件复用库。

工程管理软件论文篇9

一、引言

随着远程教育需求的日益增长和网络教育支撑技术的飞速发展,设计适用于网络上教学的高质量课程已经成为网络教育发展的一项重要课题。

“软件工程”课程的目的是使学生能够系统地掌握软件工程的基本概念和原理,以及实用的开发方法和技术,了解软件工程各领域的发展方向,学习用工程化的思想和方法开发和管理软件项目,了解软件开发过程中应遵循的流程、准则和规范,为从事软件工程研究或应用开发工作打下坚实的基础。[1-3]考虑到软件工程是一门注重工程实践能力的课程,课程的学习既要求要掌握软件工程基本理论,又要求锻炼运用这些理论知识解决实际问题的能力,做到理论与实践相结合。

当前“软件工程”网络课程的设计日益受到重视,但在实际教学中还存在着一些问题,包括:在理论课程中贯穿整个软件工程过程的系统化案例不多,以及实践课程中项目开发实践平台不完善等。[4-6]这些缺陷都影响了学生对于软件工程整体思想的理解与实践。

解决上述问题已成为当前“软件工程”网络课程设计的迫切需求。因此,本文以理论结合实践的方式将IBM公司的下一代软件开发协作平台Jazz整合到课程的设计中:使用基于Jazz平台的工具集(尤其是其中的RTC、RRC、RQM,以及ClearCase和ClearQuest),提供对软件工程生命周期各阶段任务的支持,并将Jazz平台跨地域的团队协作能力和适用于敏捷软件开发的特点充分利用到学生的工程实践中,具有一定的创新性,取得了良好的效果。

二、“软件工程”网络课程的总体教学设计

本文在“软件工程”网络课程的教学设计中注重理论知识的掌握,同时以培养工程实践能力为导向, 强调学生能力的培养。通过对该课程的学习,让学生理解工程化方法在软件开发中的应用,以理论结合实践的方式进行同步教学:理论讲授部分采用网络多媒体教学模式,辅之以课后测验和课后作业,课程实践部分采用学生分组完成一个中小规模软件项目开发的教学模式。

在课程开展的可行性方面,苏州大学计算机科学与技术学院在与IBM公司的合作框架下,能够获取学生课程培训与实践所需要的工具和相关电子资源。此外,通过校、院或系一级的教学管理系统和FTP服务器建立教师与学生的互动平台。教师可以通过网络教学课件和案例分析等电子资源,还可以布置课后测验、课后作业以及实践项目;学生则可以通过网络下载教学资源进行课程学习,也可以通过网络进行课后测验、提交课后作业以及参与实践项目的开发。

该课程的教学设计分为两个部分:授课部分和学生工程实践部分,其中授课部分又可进一步分为理论知识授课部分和工具培训授课部分。这两部分的结合能达到配合理论教学,进行工具使用能力训练,并提高学生工程实践能力的目的。

1.授课部分

(1)理论知识授课:本部分由主讲教师完成,提供网络多媒体教学课件。理论知识授课部分主要介绍软件工程的历史、现状,以及发展趋势,以软件工程发展历史上的两个主流方法学(结构化软件工程和面向对象软件工程)为基础,深入讲解软件工程的基本原理、方法和技术,并涉及软件工程的管理话题,如软件质量管理、配置管理、过程管理、项目管理等。该课程的理论知识授课内容可以划分为结构化软件工程,面向对象软件工程,软件过程管理与质量这三个主要部分。在课程教学中,注重提供贯穿整个软件工程过程的系统化案例,使得学生能够对于软件工程的理论知识有一个全面、直观、感性的认识。

(2)工具培训授课:本部分由辅讲教师和工具提供商工程师完成授课和辅导,与理论授课部分同步进行,采用专题讲座方式进行相关工具的使用培训。工具培训授课部分主要针对IBM公司新一代的软件开发协作平台Jazz,采用IBM公司Jazz平台系列集成工具的培训教材和教学资源,对学生进行Jazz平台及相关工具体系的使用方面的培训,并对工具使用的实验进行指导,该实验也可通过网络完成。

2.学生工程实践部分

本部分由辅讲教师和助教完成,指导学生分组完成软件项目的开发。学生工程实践部分主要参考IBM公司的Jazz平台实验方案,选用一组典型的中小规模软件项目,由学生分组并选择适当的项目进行开发。在软件开发过程的不同阶段中,学生项目组需要展示对理论课程内容的掌握程度和工具使用的熟练程度,每周就项目进行进展报告,并提交各阶段相应的成果。教师需要对学生项目组进行过程管理和技术辅导,并对集中的问题进一步进行辅导。

三、IBM-Jazz平台简介

Jazz平台是IBM推出的面向跨地域团队的下一代团队协作平台,也是一个整合软件工程生命周期各阶段任务的软件开发平台。[7]

1.Jazz平台的特点

Jazz平台的主要特点包括下述三项,这些特点使得Jazz平台能够提供对于“软件工程”网络课程工程实践的支持:

(1)跨地域的开发团队实时协作能力。Jazz平台支持Web2.0技术,能帮助分散的软件开发团队克服地域障碍,搭建实时协作的平台。Web2.0技术支持实时的信息和信息反馈,通过网络,分布在各地的开发团队成员都可以在Jazz上了解最新的开发进度,提交最新的开发和测试结果,找到应遵循的工作流,在该工作流的指引下循序渐进地工作,而不必担心偏离了开发目标。项目的管理者也能够在Jazz上找到需要了解的信息,包括团队的进度、每位开发者的现状,以及资源的配置等,从而帮助其配置资源,确保开发按时按目标完成。这种通过网络提供的协作能力很适合网络课程中工程实践部分的团队协作工作,包括了学生的参与和教师的管理。

(2)支持整个软件生命周期各阶段任务的无缝集成。Jazz平台提供了对于软件开发和管理流程的定义和执行能力,在这些自定义流程的基础上,能够跨越包括需求、设计、编码、测试、配置与交付等软件生命周期的各个阶段,对各阶段的任务进行无缝集成。Jazz平台对软件工程生命周期各阶段任务的支持,符合“软件工程”课程的工程实践要求,使得学生能够对于软件工程过程有一个全面和系统的理解和实践。

(3)支持敏捷软件开发。Jazz平台还预定义了一些适用于敏捷软件开发的流程,对RUP的支持使得最新的需求能及时交付给软件开发项目的提出者,并且能很快得到最新的反馈意见。Jazz平台对于敏捷软件开发提供了支持,符合“软件工程”网络课程的工程实践部分中“开发中小规模软件项目”的要求。

2.Jazz平台工具集

从2008年开始,IBM陆续推出了基于Jazz平台的工具集,这些工具都是以与Jazz平台集成的插件或连接器的形式的。主要的工具包括:

(1)Rational Team Concert(简称RTC):RTC是IBM推出的第一个基于Jazz平台的产品。作为一个协作软件交付平台,RTC通过提供整合的项目计划、工作管理、配置管理、团队构建、版本构建、报告能力等,为整个开发团队提供了协作的基础。RTC还能够帮助开发团队简化、自动化和监管整个软件交付过程。

(2)Rational Requirements Composer(简称RRC):RRC是基于Jazz平台的需求开发管理平台。辅以Rational DOORS Requirements Professional,RRC将各种需求定义手段和需求相关人员有机地结合在统一的集成协作平台上,实现协作化的需求定义与需求管理。RRC采用多种需求开发方法和协作技能,使需求相关人员能更好地进行需求的获取、分析、精化、管理、评审以及验证。使用RRC能够尽量确保在开发之前将需求定义清楚,减少因为需求定义不良为后续开发带来的问题。

(3)Rational Quality Manager(简称RQM):RQM是基于Jazz平台的全生命周期质量管理协作平台。RQM在整个软件工程生命周期中提供了从测试需求管理、测试计划、测试用例设计、测试执行、测试评价和缺陷管理等完整的测试生命周期管理方法,能够简化和自动化繁杂的测试任务,支持手工测试以及自动测试。通过与其扩展组件Rational Test Lab Manager的集成,RQM还能提供自动化的测试环境和测试资源的管理,从而提高测试的效率。

(4)Rational Project Conductor(简称RPC):RPC是基于Jazz平台的项目及资源管理平台。RPC可以帮助项目经理进行项目计划、制定项目进度,为项目和任务安排合适的资源。RPC还提供了对项目状态和进度进行管理监控和可视化的功能,可以作为项目开发的核心数据库。

(5)Rational Insight:Insight可以帮助获取关于开发团队的度量数据,客观地度量开发的状态和进度。Insight能够提供关于系统和软件交付准确的深入信息,确认高优先级的业务目标,并给出软件交付的最佳实践,从而更好地定位开发团队的目标、度量最佳实践和业务成果。

(6)Rational Build Forger(简称RBF):RBF是基于Jazz平台的过程执行框架,可以对软件工程生命周期中重复的开发任务和构建过程进行自动化的安排、管理和追踪。RBF支持主流的开发语言、工具及平台,能够在沿用现有开发资源的同时,增加有价值的自动化、加速、通知和日程安排等功能。

(7)Rational Asset Manager(简称RAM):RAM可以帮助组织了解所拥有资产的状况,资产之间的关系,以及资产所交付的业务价值,从而使组织能够基于一致的可重用资产更快地向市场交付高品质的软件解决方案,并减少解决方案实现和维护的成本。

除了上述工具外,IBM还将陆续基于Jazz平台推出相关工具,并进行众多上一代Rational工具的Jazz化过程,已完成的包括ClearCase和ClearQuest等。

在“软件工程”网络课程中,主要涉及的基于Jazz平台的工具是:Rational Team Concert、Rational Requirements Composer、Rational Quality Manager,以及ClearCase和ClearQuest。

四、“软件工程”网络课程的工程实践部分设计

“软件工程”课程具有实践性强的特点,其工程实践环节既重要又困难,需要深入研究该课程整个工程实践环节的教学内容和方法,确保相关实践平台,设计完整的实践体系,包括:实验大纲、计划、教材等。本章中对于“软件工程”网络课程,即所述“学生工程实践部分”做进一步研究。

1.工程实践部分的目的

(1)让学生在实践环节中加深对软件工程课程理论知识的理解,通过让学生参与一个中小规模软件开发的完整过程,建立对软件开发过程各阶段活动的全面、直观、感性的认识。

(2)要求参与的学生在实践环节中分成若干个项目组,并以项目组为单位完成软件系统从需求分析到测试交付的完整过程,在该过程中学习有效的沟通方法,培养团队合作精神,为将来进入软件工程行业做好准备。

(3)让学生通过实践环节掌握Jazz平台系列工具的使用方法,培养学生灵活运用所学理论知识分析和解决问题的能力。

“软件工程”网络课程的工程实践部分的总体要求包括:遵循敏捷软件开发的定义,各个学生项目组独立完成从需求获取与分析、设计与建模、编码、测试、配置与交付、过程管理等软件工程关键活动,熟练使用各种工具完成上述活动,养成规范化软件开发的习惯,并根据国标版软件开发文档模板最终提交相应的软件制品与规范化文档。

2.工程实践部分的具体要求

(1)项目管理与计划。根据实验课程的安排,各学生项目组首先进行的是基于项目管理知识使用Jazz-Rational Team Concert进行所选项目的开发过程管理,使用Jazz-ClearCase实施配置管理,基于Jazz-ClearQuest进行缺陷与变更管理。需要学生项目组制定项目计划,包括过程计划、开发计划、测试计划、配置管理计划等,在网上提交相关文档和进展报告。

(2)需求获取与分析。在该阶段中要求各学生项目组获取并分析目标软件项目的需求,采用用例模型描述系统的需求规约,使用Jazz-Rational Requirements Composer管理需求分析阶段的结果并进行需求评审。需要学生项目组给出需求规约文档,在网上提交相关文档和进展报告。

(3)设计与建模。在该阶段中要求各学生项目组以需求阶段的结果为基础,使用工具Rational Software Architect为目标软件项目进行设计和建模(注:IBM尚未为该阶段提供基于Jazz平台的工具),基于模型描述系统的设计规约。需要学生项目组给出设计规约文档,在网上提交相关文档和进展报告。

(4)软件编码。在该阶段中要求各学生项目组以设计阶段的结果为基础,完成目标软件项目的最终编码过程,并对软件产品进行评审。需要学生项目组给出源代码和可执行的系统,在网上提交相关软件制品和进展报告。

(5)软件测试。在该阶段中要求各学生项目组使用Jazz-Rational Quality Manager及其他测试工具完成测试:设计测试用例,完成测试脚本的编制,实现自动化测试执行,进行测试结果的收集和分析,进行测试评估,将确认的缺陷提交到缺陷追踪系统中。需要学生项目组给出测试文档,在网上提交相关文档和进展报告。

(6)软件部署与项目总结。在该阶段中要求各学生项目组结合实际运行环境,完成目标软件项目的部署,并对各个阶段的执行情况进行总结,必要时可录制系统演示。需要学生项目组在网上提交报告和相关资料。

五、结束语

针对当前“软件工程”网络课程的现状,本文在对该课程的设计中整合了IBM公司的下一代软件开发协作平台Jazz,利用该平台对软件工程生命周期各阶段任务的支持,及其跨地域的团队协作能力和适用于敏捷软件开发的特点,以理论结合实践的方式设计了该课程的总体教学计划:着眼于培养学生的工程实践能力,从授课部分(包括理论知识和工具培训)以及学生工程实践部分两个方面展开,在实践中取得了良好的教学效果。

参考文献:

[1]Roger S. Pressman. Software Engineering: A Practitioner's Approach, 7th edition[M]. McGraw-Hill,2009:928.

[2]Ian Sommerville. Software Engineering, 9th edition[M]. Addison Wesley,2010:792.

[3]Shari L. Pfleeger, Joanne M. Atlee. Software Engineering: Theory and Practice, 4th Edition[M]. Prentice Hall,2009:792.

[4]许家,白忠建,吴磊.软件工程――理论与实践, 第2版[M].北京:高等教育出版社,2009:399.

工程管理软件论文篇10

1引言

在普通高等学校软件工程本科专业的教学中,“软件项目管理”课程通常作为一门核心的必修主干专业课程。该课程主要通过学习软件项目管理的各种基本理论、方法以及技巧,让学生可以在短时间内掌握软件项目管理的基本知识和实践能力,培养学生在大型软件开发中管理软件项目的基本能力,使学生掌握规范化的软件开发和质量控制过程。

然而,由于软件项目管理过程本身就是一个复杂的系统工程,使得“软件项目管理”课程存在许多问题,主要如下:

(1) 软件项目管理的基本理论源自于上世纪50年代出现的近代项目管理学,软件项目管理还处于一个较新的阶段,其发展迅速且不成熟。

(2) 软件开发是一种“人本经济”,生产中人力资本起决定性作用。早期开发中个人单打独斗的软件开发方式导致软件项目管理执行困难。

(3) 软件项目管理内容抽象,其主要包含大量指导软件项目开发过程的思想、原则和方法等,学生理解困难。

(4) 软件项目管理课程实践主观性太强,方案设计以电子版为主。除部分学生外,不少学生拷贝严重,实验效果难以得到保证。

针对这些问题,笔者认为对“软件项目管理”课程进行相关的教学改革是必要的。过去的一学期中,我们针对南京邮电大学计算机学院软件工程专业的“软件项目管理”课程进行了相应的教学改革实验。结合这次的教学经验,本文从软件项目管理的教学内容组织、教学方法等方面进行了较为深入的研究与分析,提出了多媒体课件、小组讨论、仿真演示相结合的综合教学方法;对课程实验采用结合软件工程课程的实验,以小组为组织对象。

整个课程教学表明,这次课程实践有助于学生理解软件项目管理中的各种理论和方法,激发学生对“软件项目管理”课程的学习热情,有助于对学生实行创新性人才培养。

2教学内容

在理论教学方面,我们“软件项目管理”课程的教材选用由Bob Hughes,Mike Cottrell著,周伯生等翻译的《软件项目管理》(第三版)。

我们此次教学实践选取了其中部分内容作为理论授课内容,主要设置包括包括:软件项目管理引言2学时、步进式方法:项目策划概述2学时、项目评价2学时、选择合适的项目方法2学时、软件工作量估计4学时、活动策划3学时、风险管理2学时、资源分配2学时、监督与控制3学时、管理合同4学时、管理人员与组织群组2学时、软件质量控制4学时。理论课时总计32学时。整个“软件项目管理”课程的重点是项目方法与过程模型、软件工作量的估计、活动策划、风险管理、软件质量控制等。

在软件项目管理实验教学部分,我们课程规划8个课内学时,另外配以8个课外学时,总共16学时,完成4个实验。根据理论教学内容,从培养学生掌握重要理论方法实际应用能力的角度,实验具体设置为:项目方法及过程模型分析4个学时、软件工作量估计模型的建立4个学时、网络策划模型4个学时、软件质量度量方法4个学时。

3教学方法

3.1理论教学

相比于其他软件工程专业主干课程,“软件项目管理”课程显得更加抽象,这样导致学生在学习的过程中难度较大。加上软件项目管理主观性强,需要理论和实践相结合。因此,“软件项目管理”课程往往对任课老师提出了更高要求。为了提高教学效果,我们精心设计和调整了软件项目管理理论教学方法,提出了一种多媒体课件、小组讨论和仿真演示相结合的理论教学方法。

(1) 多媒体课件

使用多媒体课件,可以将软件项目管理中的一些基本理论、原则和方法通过文本、图片等展示出来,弥补传统黑板板书的不足之处,使老师有更多的精力和时间集中在授课内容之上。在多媒体课件的制作过程中,我们要求对学生形成较好的视觉效果,选择适当的多媒体元素,以便集中学生的注意力。同时,也不能完全用多媒体课件替代板书,导致学生对知识的系统性了解不够,需要对两者形成较好地结合。

(2) 小组讨论

“软件项目管理”是一门主观性很强的课程,其基本理论和原则大多属于指导性,导致不同的学生面对同一问题时可能会形成不同见解。为了充分发挥学生的主观性,课程上我们将学生以3~5人为组,对不同的问题进行分析,小组内部通过讨论形成统一观点,然后选择代表将观点展示给全班同学,接受其他同学对小组观点的质疑和评分。

(3) 仿真演示

软件项目管理过程中存在大量的过程演示,如工作量的估计、项目活动策划、质量控制过程等,我们将这些过程通过仿真动画展示出来。如针对工作量估计中的COCOMO模型,我们可以通过一个项目的工作量计算过程的仿真动画,展示该模型的关键点,从而提高学生的学习兴趣和掌握其中关键的知识点。

3.2实验教学

“软件项目管理”课程中的实验主要是设计类型实验,为软件开发中的不同过程设计其评估、管理和控制方案。我们所设计的软件项目管理实验具有如下特点:

(1) 结合软件工程实验的项目管理实验

在实验中,项目管理往往需要针对具体的软件开发项目展开,而软件项目的开发需要较多的时间和精力。为了避免学生将过多的精力集中在项目开发上,我们要求学生针对软件工程实验中软件项目展开项目管理设计。这样一方面减轻学生工作量,提高实验效果;另一方面通过对有无项目管理的软件开发的对比,让学生理解和意识到软件项目管理的重要性。

(2) 基于小组的项目管理实验

我们在实验中打乱原来在软件工程实验中的小组分配,每个小组只保留一个原来实验的开发人员。避免原来项目开发中不规范的管理对设计软件项目管理方案时的影响,也保证整个小组对项目具体内容有一定的熟悉程度。

3.3学生成绩考核

教学实践的效果不但取决于教学内容,还受到教学中激励、过程控制以及学生成绩考核等的影响。整个学生成绩考核主要由两部分组成:平时成绩和期末成绩,两者分别占最后总评成绩的30%和70%。平时成绩中主要考核包括三项:平时上课随机点名时的出勤率、学生完成作业情况、课堂小测验或提问情况。根据“软件项目管理”课程在我院软件工程专业属于专业必修课程的性质,期末成绩由两部分组成,一部分是闭卷考核成绩,另一部分是项目管理实验。其中前者主要考核学生对基本理论、原则方法和技巧的掌握,同时也通过分析题和论述题检查学生在项目管理中的主观观点。后者主要考核学生对这些知识在项目管理实践中的应用程度。

4实施效果与经验教训

4.1实施效果

在这次教学实践过程中,相当部分同学的积极性被调动起来,取得了较好的效果。学生对此次教学时间的评价也处于较好状态。整个计算机学院软件工程专业4个班级127名学生被分为了29个小组,均完成了软件项目管理中四个关键控制过程的报告。通过教师主导,学生参与评分的模式,较好地调动了学生上课的主动性和积极性,出勤率平均超过97%。全学期下来,全班平均成绩达到83分,不及格人数仅4人。

4.2经验教训

(1) 课程内容还需调整,软件开发过程是以人为本的系统工程,其项目管理相当复杂。作为一门仅40课时的专业课程,这次课程实践选择内容较多,过于强调覆盖面,对重点内容不够突出。以后的实践中应该对课程重点进行突出。

(2) 课程实验基于软件工程课程实验,实验效果在一定程度上受到其影响。由于部分同学软件工程实验过于简略,对这些软件开发实施项目管理难以展开,下一次实践可以考虑对一些其他的软件开发过程进行项目管理。

(3) 为了组织好项目管理评比和课堂讨论的内容,对项目小组中每次主讲成员没有进行随机抽取,导致部分项

目小组过于依赖某个能力较为突出的成员,难以有效地提高所有小组成员的主动性。下次教学中可以采用随机抽取的方式。

5结束语

软件项目管理课程知识较为庞杂,主观性强,如何提高其教学效果需要多方面的改进。本文从教学内容和教学方法等多方面对此次“软件项目管理”课程教学实践进行了总结和分析。同时,这次教学实践中也暴露出一些问题,这将是我们进一步教学改革的重点。

参考文献:

[1] 陈云芳,丁亚菲. 软件工程专业双语教学的实践与思考[J]. 计算机教育,2008(24):126-128.

[2]Bob Hughes, Mike Cottrell. 软件项目管理[M]. 周伯生,译. 3版. 北京:机械工业出版社,2004.

[3]Pankaj Jalote. 软件项目管理实践[M]. 北京:清华大学出版社,2005.

工程管理软件论文篇11

软件工程;教学设计;实践举措

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.

工程管理软件论文篇12

1软件项目管理的教学内容及特点分析

软件项目管理[1]是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员、产品、过程和项目等进行分析和管理的活动。软件项目管理是软件工程教学中的重要内容,它涉及了软件项目管理的五个标准化过程组和范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理、项目综合管理九大知识领域,几乎覆盖了软件产品从立项到结束的整个过程。图1形象地展示了软件项目管理与软件开发过程在时间上的先后顺序。

大多企业的优秀管理者都是具有丰富经验的人员,同样,软件项目管理水平的高低偏重于软件项目管理经验的积累。软件项目管理的学习不仅仅是要掌

图1软件项目管理与软件开发过程的时序图

握基本的原理、方法和完成相关的设计文档,更重要的是将理论应用于实践,让学生真正理解理论的作用,体验在实际项目实施中理论知识的具体应用场景,培养学生的软件项目管理思想。立足于软件项目管理的教学目标和要求,结合软件项目管理自身的特点,分析研究认为,项目驱动的软件项目管理教学

方法能够充分调动学生学习的积极性,培养学生动手实践和主动探索的精神,提高教学的质量和水平。

2项目驱动的实践教学法

项目驱动教学法[2]是一种以建构主义为理论基础的教学方法,它以项目开发为主线展开教学,整个教学过程是一种在教师的指导下,以学生为主体的协作过程。这种教学法的主要特点是始终以项目中的任务展开教学,既注重最终的实践结果,又注重完成项目的过程。其中教师的职责在于使学习者置身于探索知识之中,通过具体项目的开发提供真实的“情境”,即实际项目中需要解决的问题。然后,通过教师的指导,学生之间的讨论来解决问题。这种模式旨在把学生融入任务完成的过程中,让学生积极地学习,自主进行知识的建构,以培养学生综合能力为最终目标。

2.1项目驱动教学对学生能力的培养

(1) 培养学生自主学习的能力。项目驱动教学法中任务的设定真正实现了以学生为主体的教学方针,学生为了完成任务就会主动去图书馆或相关的网站查阅信息,从而可以丰富知识,提高自学能力。

(2) 培养学生团队合作的能力。把全班学生分成几个小组,每组项目的完成情况,影响小组每个成员的评价,因此为了团队的整体利益,小组成员之间就会不可避免地展开讨论和争辩,最终达成共识,相互协作完成任务。

(3) 培养学生分析问题、解决问题的能力。任务设计后,让学生自己讨论,分析任务,提出问题,充分发挥了学生在学习过程中的主动性、积极性和创造性。这种分析问题和解决问题的能力同样可以应用到其它的领域。

(4) 培养学生实践创新能力。实践是创新的源泉。对于同一个任务,每个小组采用的解决方案不尽相同。他们可以根据自己的知识背景和对任务的认识,对任务的实现方法进行大胆的设计,从而培养学生的创新思维,提高学生的创新能力。

总之,项目驱动的任务式教学方法能够充分发挥学生的主观能动性,全面提高他们的综合素质。

2.2项目驱动教学法的操作过程

“项目驱动”教学模式是教学过程中诸要素相互作用而形成相对稳定的组织结构和操作程序。 采用“项目驱动”教学法,在软件工程项目实施的每个阶段,我们均采用“项目任务――分析任务――理论学习――完成任务――评价总结任务”的教学模式。学生在完成“项目任务”的操作过程中,发现问题、解决问题,通过对任务的剖析,丰富了学习的经验、提高了学生完成任务的能力。

3教学实施

从软件工程的角度讲,软件项目管理过程主要分为七个阶段[3]:可行性研究阶段、需求分析阶段、设计阶段、编码阶段、测试阶段、验收阶段和维护阶段。我们在“软件工程”的教学过程中,打破以往按教材编排顺序讲授知识的方式,以软件项目的管理过程为讲授顺序,并以一个完整的具体项目实施为依托进行“软件工程”教学。其中软件项目管理的教学内容将穿插到软件生存周期各个阶段进行讲授,各阶段将会不可避免地包含相同的管理内容,通过学生重复学习与实践,可以使其深刻体会软件项目管理的思想。本校计算机专业大三学生的“软件工程”课程共54课时,我们按照理论教学与实践教学1:1的比例,先进行相关理论知识的讲解,然后进行课程实验的具体实践,结合“PetStore电子商务网站”的建设,让学生及时运用所学内容来完成项目任务,通过将软件项目管理的教学内容贯穿到项目实施的整个过程来实施教学。

3.1教学准备

(1) 设置项目任务。在教学实施前,教师应根据教学进度、教学目标和要求制定教学计划,并将PetStore系统建设分成各个相对独立的子项目,将相关的理论知识分散在各个子项目中。学生应根据教师的安排认真阅读项目要求,查阅相关资料,对相关问题进行思考分析,并为课堂讨论做好准备。

(2) 建设团队。我们对学生按“项目小组”以自由组合的方式建立软件开发团队[4],每个团队不得超过6人,各组成员根据实际项目开发的过程进行分工。项目经理由小组成员讨论推荐产生,负责整个项目的规划、实施和控制。系统分析师、软件测试工程师和开发工程师通过自我推荐或项目经理指定产生。项目中的每项任务要落实到人且规定该任务的起止日期和时间。

(3) 建设规范的实验、实训室。根据项目驱动教学的特点,不仅需要学生提交书面的阶段性文档,还要通过具体的实践实现项目任务,提交项目作品。因此规范化的实验、实训室成为项目顺利完成的保障。

3.2教学内容

我们将从软件的生存周期着眼,利用阶段化的项目管理方法,结合项目实践,对工程化生产中的管理工作进行讲解。对于软件项目的每一个阶段均要做出工作计划,在阶段结束之后,要对该阶段的工作活动进行总结评价,并对后续阶段的时间、人员、资金方面的需求做出估计。下面按软件项目的开发阶段,以PetStore系统的建设为例,详细介绍软件工程中软件项目管理的教学内容及相关的项目实施任务。

3.2.1问题定义与可行性研究阶段

问题定义与可行性研究阶段主要涉及的项目管理教学内容包括:确定项目实施范围、项目目标、评估实施过程中主要的风险、制定项目实施的进度计划、成本和预算计划、人力资源计划等。

针对PetStore系统的开发建设,我们让老师模拟实际的用户,学生在对用户调查的基础上,结合软件项目管理理论知识,通过查阅资料、小组成员之间的讨论,编写详细的“系统目标与范围的说明书”。按照说明书的内容和要求,分析项目可能存在的风险,建立“风险项目检查表”。明确系统流程,建立系统逻辑模型,制定不同的解决方案。通过与用户的沟通,考虑经济上、技术上的可行性,比较选择一个较优的解决方案。在任务完成的过程中,学生可以真正感受到非文档所能体现的管理问题,如人力资源管理、沟通管理、风险管理等。

3.2.2需求分析阶段

本阶段将更加全面、准确地分析PetStore系统的需求,主要涉及的管理工作为需求管理、质量管理、沟通管理等。通过与用户的多次沟通,明确系统可以分为用户管理、商品管理和维护库存数据库三大功能模块,每个大的功能模块又可分为若干小模块,如用户的注册模块、登陆模块、修改模块等。为保证PetStore系统的开发质量,需要在此阶段制定软件质量标准,主要包括功能性、稳定性、经济性、适用性、可靠性、安全性、可维护性等指标。明确系统的各种需求后,编写“软件需求规格说明书”。

3.2.3软件设计阶段

软件设计是一个将需求转变为软件陈述(表达)的过程,程序的质量主要是由设计的质量来决定。本阶段主要包括范围管理、质量管理、时间管理、沟通管理等软件项目管理方面的内容。例如在PetStore系统设计的过程中,根据“需求规格说明书”中需求分析方法,确定所采用的软件设计方法及系统数据、软

件框架。软件设计阶段的任务主要包括PetStore系统界面设计、数据库设计、数据结构设计、编写设计文档等。在设计过程中始终要求按照质量标准予以实施,并及时进行质量评估。学生完成PetStore系统设计后,可以邀请用户或其他小组成员参与设计复审。复审时,设计人员要提出对设计方案的详细说明,答复与会者的问题,并记下重要的评审意见。

3.2.4编码阶段

编码阶段涉及的软件项目管理教学内容主要有风险管理、质量管理、进度控制、成本管理、时间管理、配置管理、项目度量管理等。针对PetStore系统,按照设计文档的要求,对系统的各个功能子模块采用自己熟悉的语言进行编码设计。在PetStore的功能模块开发过程中,并不能完全保证项目按照开发计划进行,为了能使项目进度和开发计划同步,软件管理者在项目开始后应时刻关注计划执行情况,随时进行风险分析,调整项目进度,使实际进度与计划进度保持一致。编码结束后,由项目小组的技术人员对代码是否按规范编写进行审核,以保证编码的质量。

3.2.5测试阶段

测试阶段主要涉及的软件项目管理教学内容有质量控制、配置管理等。针对PetStore系统,在编码阶段由项目开发者实现单元测试,测试阶段由独立于开发人员的测试人员进行“渐增式”的集成测试,最后,对照需求说明书,完成确认测试,并编写相应的测试报告文档。在测试过程中,学生利用配置管理的CASE工具,可以了解配置管理在软件开发中的具体应用及其所起到的重要作用。

3.2.6运行和维护阶段

运行和维护阶段的软件项目管理内容主要包括维护成本估算、配置管理、风险管理、维护管理文档的编写。在PetStore系统的维护中,加强文档的建设,做到任何事情均有记录,任何变更均可回朔,利用维护日志和软件修改报告记录维护过程中的具体实施情况,学生可以根据维护情况参照开发工作量来估计维护的费用。此阶段还可以让学生选择合适的自动配置管理工具来实施配置管理。

3.3教学总结

我们要求学生按PetStore项目生命周期的开发阶段进行阶段性项目总结。每个阶段的教学结束后,老师给学生一定的时间来实现PetStore 系统相关的内容,同时要求每个项目小组派一名代表在课堂上对阶段性的工作实施过程进行讲解,让全班学生共同讨论,相互交流不同的观点,以期从讨论中发现自己的不足和别人的优点,同时也能活跃课堂气氛,培养学生主动思考的意识。

在“软件工程”软件项目管理的教学过程中,我们注重的不是具体某一管理技术的学习,而是让学生深刻体会软件项目管理的过程,培养学生软件项目管

理的思想。

4结语

实践表明采用“项目驱动”的软件项目管理教学方式,可以将学习置于一个真实的软件项目开发环境中,让学生亲自动手操作来学习“死”的理论,加强理论与实际的联系,从而激发了学生的创新意识,调动了其学习积极性,培养了学习兴趣,提高了他们分析问题和解决问题的能力,达到了教学目标和要求,起到了良好的教学效果。

参考文献:

[1] 张建成. 周呜乐. 浅谈软件项目管理[J]. 信息技术与信息化,2008(5):84-86.

[2] 邓锐,佘维. 基于筛选机制的高职软件技术专业项目驱动教学探讨[J]. 计算机教育,2008(22):113-114.

[3]Php Metzger,John Boddie. 软件项目管理―过程控制与人员管理[M]. 北京:电子工业出版社,2002.

[4] 裴小兵. 基于软件开发团队的软件工程教学实践研究[J]. 计算机教育,2008(2):55-56.

Application of the Thinking of Software Project Management in "Software Engineering" Teaching

ZHANG Zhong-lin, WANG Jian-sheng, LAN Li

工程管理软件论文篇13

1概述

软件工程包括软件开发技术和软件工程管理两大部分内容。软件工程管理是对软件项目开发进行管理。从细节方面来看即在软件生存期对所有的活动采取适当的管理。

2软件工程管理对象

2.1开发人员管理

软件开发属于大型信息工程,需要多种技术专业人士共同配合进行的,不仅由项目负责人、系统分析员及高级程序编制员,还有初级程序员和后勤资料规整、文件统计等辅助人员协助操作。软件开发环节,不但要求做好各阶段活动的明确分工,而且确保上下级存在密切沟通。所以,严格规范人员技术操作水平及团体意识是非常必要的,齐心协力的队伍和和谐的工作环境是实现软件项目顺利完成的基石。

2.2组织结构管理

完整的组织结构离不开组织机构的监督,离不开恰当的人员分工及有效的通讯。软件开发的组织机构具有的模式不是一致的。主要组成人员包括:程序员、专家组、民主组织三种组织机构。

2.3用户管理

软件开发后,主要被用户使用,所以,整个软件开发前后,应与用户建立密切交流和探讨的平台,最大限度的争取到用户的建议和观点。尤其是项目负责人职位,与用户的沟通是非常必要的,了解和熟悉用户的需求和想法,避免产生来自用户的不必要干涉和拒绝。

2.4控制管理

控制包括进度控制、人员控制、经费控制和质量控制。为保证软件开发按预定的计划进行,对开发过程要实施以计划为基础。

2.5文档资料管理

文档资料是实现软件工程有效管理的重要依据,所以必须将软件开发过程中从初步设计到中间过程包括最终结果整理为一套全面的文档资料,建立标准化的文档有利于进行文档管理。

3软件工程管理策略

3.1分布式软件工程管理策略

分布式软件工程管理的特点:资源共享,即共享硬件和软件资源;开放性,即可使用有不同供应商提供的设备和软件;并发性,即可通过并行处理来增强性能;缩放性,即可通过增加新的资源来提高生产力;容错,即在出现某个失误之后仍具备继续运行的能力。

3.2软件能力成熟模型管理策略

要促进企业更为理想地完成商业目标,要把软件开发作为过程看待,按照统计质量管理理论对这个过程进行管理,达到软件开发的工程化和标准化。CMM重视软件开发的管理、提高软件工程能力,能够指导企业改进企业软件过程,同时为软件开发机构建立严格规范的软件开发过程提供参考,最大程度优化软件工程能力。

此外,CMM 有3个基本用途:

第一,软件过程评估。就是借助 SW-CMM 分析软件组织当前软件过程的状态,找出其强处和弱处,这点无论软件采购单位,还是软件产品开发单位都可使用。

第二,软件过程改进。按照评估结果显示的弱电所在,建议根据SW-CMM 能力等级的顺序,由低向高逐级制定改进策略,适用于所有软件开发单位,是CMM最主要的用途。

第三,软件能力评价。软件采购单位可以通过对投标者的软件过程能力评价来降低软件采购的各种风险,尤其是软件质量方面的风险,投标者通过自我评价来掌握彼此的具体水平,但是软件采购单位并不以自我评价的结果作为参考。

4结论

随着软件的规模和复杂度的不断增大,开发人员的增加以及开发时间的增长,这些都增加了软件工程管理的难度。因此,软件工程管理策略也应该做适应软件开发的调整和改进,以提高软件开发的效率。

参考文献

[1]周秋平.谈软件工程的管理[J].安徽教育学院学报,2007(3).

[2]黄卓.软件工程管理方法的探讨[J].辽宁师专学报(自然科学版),2003(3).

在线咨询