软件中项目管理的应用论文

2022-04-29 版权声明 我要投稿

摘要:计算机专业的教学,项目和任务是教学中必不可少的手段,要实现所学即所用,实现学生“零距离”就业,引入企业软件项目管理到教学中尤为重要。以下是小编精心整理的《软件中项目管理的应用论文 (精选3篇)》,欢迎大家借鉴与参考,希望对大家有所帮助!

软件中项目管理的应用论文 篇1:

Jboss Seam和JBPM在软件项目管理系统中的应用研究

摘要:通过研究J2EE新应用框架——Jboss Seam,发现Jboss Seam和JBPM工作流技术深度整合,初步实现了二者在实际软件项目中的应用。首先介绍了什么是JBPM,概述了什么是Jboss Seam。通过比较研究传统软件项目管理系统的不足,浅谈并分析了Jboss Seam和JBPM在软件项目管理系统中的应用优势。目的在于将JBPM的优势应用到软件开发的办公自动化管理当中,结合项目管理的特点,研究发现利用JBPM工作流引擎开发出的项目管理系统,利于团队合作和分工;在系统的开发过程中利用JBPM技术,能够降低程序开发的复杂度、简化代码的编写,提高开发效率。

关键词:JBPM;Jboss seam;工作流;工作流管理;软件项目管理

The Application Study of Jboss Seam and Jbpm in Software Project Management System

QI Wei-wei, PAN Wei

(The Ministry of Education-Learning Support Technology Engineering Research Center, The Key Laboratory of educational software of Jilin Province, Ideal Institute of Technology Northeast Normal University,Changchun 130017, China)

Abatarct: By studying a new application framework of J2EE-Jboss seam. Jboss seam and Jbpm depth integration of workflow technology. Initially realized both in practical application of the software project. First, Introduced what the JBPMis,summarized what the Jboss seam is。Through a comparative study of traditional software project management system deficiencies,discussion and analysis the application advantage ofjboss seam and jbpm in software project management system. The purpose which is applied to the software development office automation management by advantages ofthe Jbpm。 The software project management systemof the jbpm technology is conducive to teamwork and division of labor。The development process in the system use JBPM technology can reduce application development complexity and simplify the preparation of the code to improve development efficiency.

Key words: jbpm; jboss seam; workflow; workflowmanagement; software project management

软件工程项目开发是当今社会各领域不可缺少的重要活动,已经成为各领域信息化的基础。在计算机科学发展的几十年的历史中,软件学科获得了空前的发展,并逐渐成为该领域的核心技术。在经历了若干大型软件项目的成功和失败后,人们才逐渐意识到软件项目管理的独特问题:失败主要是由于使用的管理技术不当。虽然目前好的管理不一定能使软件工程成功,但不好的管理一定会导致软件工程的失败——软件使用的日期会大大拖后,成本也可能比预计的高出好几倍,而且最终软件很难维护。为此,一个好的软件项目管理系统的诞生,也是势在必行!

近年来,工作流管理和业务流管理正在迅速成为企业获得软件敏捷性和适应性的重要方法。Jboss JBPM是一个面向流程的工作流/BPM框架和工具集。它使业务分析人员能够与软件组件进行交互,有助于活的有效的业务解决方案。把Jboss JBPM技术应用到项目管理软件中是相当可行的举措。为了提高项目开发效率我们将应用J2EE5.0最新的轻量级框架Jboss Seam。Seam是一种企业级Java的应用程序框架,它将JSF和EJB3的组件模型合二为一,消除了胶合代码,使得开发者专注于业务问题。最值得一提的是,Seam整合了一系列主要的其他开放源代码框架,例如JBPM、Jboss Rules(又名Drools)、Jboss Portal、JBoss Micro container等等。Seam不仅能将它们“有机结合”起来,而且可以像整合JSF和EJB3一样强化原有的框架。

1 JBPM的新应用

1.1 JBPM介绍

JBPM( Java Business Process Management)是一种基于J2EE的轻量级的、灵活可扩展的工作流管理系统。JBPM为设计及开发工作流和业务流程管理系统提供了一个先进的平台[1]。JBPM实现了流程逻辑与业务逻辑的分离,能够可视化的进行业务流程的分析、定义和业务单元的组装,从而使应用开发人员更关注于业务逻辑的实现,降低了复杂流程应用的开发难度。

JBPM 定义了使用JBoss 流程定义语言编写的文件里面的流程定义。JPDL 是一种面向图形编程(GOP)的语言,它基于节点、转换和动作组成的模型。在这种模型里面,节点是在流程定义过程中彼此相遇时执行的命令。转换负责指导流程定义的执行过程,而动作在节点或者转换事件发生时执行特定逻辑。

1.2 Jboss Seam概述

Jboss Seam是一个Java EE5框架。它通过把JSF与EJB3.0组件合并在一起,从而为开发基于Web的企业应用程序提供一个最新的模式。Seam可以让你把EJB组件直接绑定到JSF页面[2]。Seam能够统一和集成现有的开源技术集成如Facelets、Hibernate、JBPM、Drools、Groovy、Java Port lets、BPM、AJAX、iText和Lucene。

图1为基于JBoss Seam 的Web 应用程序框架。

1.3 JBPM和Jboss Seam的整合

Jboss Seam与JBPM工作流实现了无缝整合,在基于Jboss Seam来开发具有工作流的功能时,只需简单的将hibernate.cfg.xml和jbpm.cfg.xml的文件配置一下,在WAR的components.xml声明使用流程定义的JPDL流程定义文件就实现了系统的整合。工作流的核心工作分为二个部分,一为流程的定义,二为流程实例与业务数据实例绑定。之后以不同的角色实现流程的流转即可[3]。

图2为JBPM和不同角色接口。

Jboss Seam通过JBPM对业务流程和规则的整合提供了极好的支持。在Jboss Seam应用中,可以指定UI动作(例如按钮点击)来触发业务流程。只需要通过@CreateProcess注释来标记UI事件处理方法。业务流程是不同的用户以相应顺序来完成的一系列任务。可以用@BeginTask和@EndTask标注任务的开始和结束。当前任务结束时,JBPM引擎将自动把进程前移,进行下一个任务。Seam让每个用户可以查看他/她的当前任务列表以及完成任务的下一个动作。这些任务列表是基于当前登录的用户角色生成的,并且通过用户认证和授权的方式紧密地整合到Seam安全框架中。

2 软件项目管理系统

软件项目管理系统实际上就是利用高新的IT信息技术对软件工程项目的开发过程进行管理。它所涉及的范围覆盖了整个软件工程过程。软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。软件项目管理的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。软件项目管理系统恰好就是实现了软件项目管理的自动化或半自动化。

3 传统的软件项目管理系统的不足

传统的软件项目管理系统由于本身的局限性,越来越不能满足软件项目管理发展,存在如下缺陷:

首先,传统的项目管理系统基本上通过纸质文档来进行管理,不便于查找和了解项目的进展情况,也不便于对项目进行统计分析、项目总结、项目成果利用等。在项目规划、项目进度跟踪、资源分配和需求变更等方面都不能满足实际项目开发的需要,以至于项目进度难以控制,项目开发过程难以规范化。其次、传统的项目管理系统不能很好地解决资源冲突问题,特别是产品设计和软件开发等项目。在项目管理过程中往往会有大量的动态信息产生,是一个动态离散时间系统,不便于管理控制。再次,传统的项目管理系统只能处理特定的开发流程。当开发流程发生变化时,就必须修改系统的应用程序或重新开发新的应用程序,否则无法满足项目开发流程多样化和需求的不确定性。

4 Jboss Seam和JBPM在软件项目管理系统中的应用优势

JBPM作 为J2EE的一部分充分继承了其跨平台的,可移植的特点,Java语言本身的扩展性有效地解决了重复开发和程序重构的问题,“编写一次、随处运行”大大减少了浪费。通过我们对Jboss Seam和JBPM技术的研究,再次发现利用二者能够降低程序开发的复杂度、简化代码的编写,提高开发效率。 Jboss Seam对JBPM的集成有一定的方便性,主要表现在三个方面:第一、 提供内置对象显示任务列表给用户;第二、 Jboss Seam除新增conversation上下文外,还新增了business_ process上下文,这就是为工作流管理提供的,应用程序可以将流程中涉及的相关状态作为JBPM变量存储于business process上下文,然后 Jboss Seam可以持久化这些JBPM变量;第三、 提供方便的标签开始一个流程,开始一个任务、结束一个任务。当JBPM运行时,使用简单强大的语言将在Sever上输入的任务流程打包在流程档案中,可以很快的部署业务工作流程,并实时发布到web上,这样JBPM就将工作流应用开发的便利性和企业应用集成能力更好的集合起来。用户可以实时监控流程状态,对软件项目提供直观有效的管理。同时,Jboss Seam 和JBPM都是开源的,对企业降低管理成本有着绝对的优势。

5 实例研究

假设一个软件项目管理的常见操作,以实例的形式部署到JBPM上,以探讨其应用价值。

实例:项目经理看到《需求分析报告》的时候进行审核的过程,

1) 流程定义

流程图如图3所示。

Jpdl文件:

<?xml version="1.0" ?>

-

-

-

-

-

-

2) 初始化actor ids

Jbpm对流程中用户的管理是通过actor id和group actor ids。seam内置了一个部件Actor来方便指定当前的actor ids.这个工作一般在用户登陆时完成。

@In(create=true) Actor actor

Public String login(){

Actor.setId(user.getUserName());

Actor.getGroupActorIds().addAll(user.getGroupNames());

…}

3) 启动一个工作流

@out(scope=ScopeType.BUSINESS_PROCESS,required=false)

Long taskId;

@Out(scope=ScopeType.BUSINESS_PROCESS,required=false)

Float total;

@Out(value=“employee”,scope=ScopeType.BUSINESS_PROCESS,required=false)

String employeeName@CreateProcess(definition="TaskManagement")

public void submitTask() {

try {

completedTask = purchase(employee, currentTask);

taskId = completedTask.getTaskId();

total= completedTask.getNetAmount();

employeerName= completedTask.getEmployee().getUserName();

}}

4) 任务分配

当开始一个工作流的时候,任务实例被创建,任务实例必须分配给一个用户或用户组,相应seam中分配任务有二种方式—分配给用户或用户组,如:

分配给用户:

5) 开始任务

Seam提供了两个标注开始任务:@StartTask和@BeginTask.开始任务时开始一个conversation上下文,能在其中访问保存在business process上下文中的变量。

@BeginTask

public String viewTask() {

Task = (Task) em.createQuery("select o fromTask t join fetch taskLines where t. taskId = :taskId")

.setParameter("taskId",taskId)

.getSingleResult();return "accept";

}

6) 结束任务

Seam提供@EndTask标注结束任务,并指明下一步流程。如:

@EndTask(transition="approve")

public String accept() {

task.process();

return "employee1";}

通过以上实例我们发现。将Jboss Seam和JBPM引入到软件项目管理系统是可行,并且有着显著的优势。实际操作也相对简单。对于一个软件公司而言,即使是业务流程有改变,我们也只需要将新的流程通过可视化的设计定义,并部署到Jboss JBPM服务器

(下转第8732页)

(上接第8724页)

上。一个新的工作流程就马上可以开始。JBPM提供了持久化的解决方案,通过将定义好的 “工作流程”存储到数据库当中,并提供对外的接口,我们可以在这些基础之上进行二次开发。总之有了Jboss Seam和JBPM的完美结合,工作流的部署将变得格外省力和简单,容易操作,上手快,大大的提高了企业的工作效率。

6 结束语

我们采用Jboss Seam开发软件,将会更好的利用JBPM技术,更快的提高软件开发效率,而且基于Jboss Seam良好的封装性,我们开发出的软件必然有良好的稳定性,易于后期维护。从而,我们将得到一个稳定性较好的项目管理软件,相信项目管理者利用这个相对稳定的管理软件去开发和管理项目,在今后的工作中一定会事半功倍,大大提高软件开发效率,进而提高企业利润。

参考文献:

[1] 高艳蓉.用Jboss JBPM管理业务流程[J].计算机世界·技术与应用,2006(24).

[2] 范会联,张玉芳.基于Jboss Seam的web应用程序的设计[J].微计算机信息,2007,23(1).

作者:綦伟玮 潘 伟

软件中项目管理的应用论文 篇2:

企业软件项目管理在计算机教学中的应用

摘 要:计算机专业的教学,项目和任务是教学中必不可少的手段,要实现所学即所用,实现学生“零距离”就业,引入企业软件项目管理到教学中尤为重要。

关键词:软件项目管理 项目驱动 任务贯穿 商业项目

一、研讨背景

笔者所在院校的计算机应用技术专业是与某教育集团开展的校企合作教学改革专业,采用項目驱动+任务贯穿为主线的“双核”内容组织思路开展教学活动,对于理论性强的课程采取以任务模块为主线,加深原理和思想的理解和升华,对于实践性强的课程采取以项目驱动的内容组织思路,重点训练学生的实践动手能力和综合运用能力,因此,任务和项目是教学活动的主要手段。为实现“零距离就业”,引用企业软件项目管理模式,来指导校内学生项目的实施,是专业技术类课程必行之路。

二、为什么要借鉴企业软件项目管理

1、运用软件项目管理知识是教学项目成功实施的保障

教学过程中,真实项目活动在实施过程中最大的问题就是,学生无法按时保质的完成整个项目功能和目标。在教学项目实施过程中,借鉴企业软件项目管理的先进经验,完全模拟企业开发软件项目的工作流程,让讲师、组长及成员模拟企业员工角色,从项目的招投标、可行性分析、需求分析等到整个项目开发完成、测试完成,所有学生均参与,均有任务,并且按企业项目监控手段开展教学项目实施监控,保障教学项目成功实施。

2、让学生提前了解企业软件项目管理流程

目前,项目教学法已应用于各种课程教学中,而项目的选取或实施并不是都能和企业接轨。在教学项目实施过程中借鉴、模拟企业真实软件项目的实施和管理过程,并借鉴、使用企业真实软件项目管理工具,能让学生提前了解到自己所学的专业知识,在以后就业后如何应用于工作岗位,了解企业软件项目管理的真实流程,缩短甚至实现“零距离”就业。

3、为项目教学提供多种监控手段

课程项目实施的目的是总结复习某阶段学习内容,将所学的零散知识点整合成完成的真实项目,让学生真正理解课程重点,并了解所学知识如何应用于实际,项目在实施过程中并不可能完成是前期所学过的内容,有些是同类知识点的扩展,项目的实施是有一定难度的,在这种情况下,项目能否按期保质的完成是教学项目管理的重点。借鉴企业软件项目管理中的先进监控手段来监控教学项目,包括监控文档和监控软件的应用,对教学项目的实施提供了完美的监控和保障措施。

4、带学生项目的过程也是一个真实商业项目开发的过程

专业技术类课程教学项目选取的原则是,选取大型真实商业项目中的部分典型业务模块,至少80%以上相似。教学项目在再是为了知识点而设计,而是为了市场需求而设计。因此,讲师在带学生完成这些项目的过程,实际上也是一个真实商业项目的开发过程,不权能提起学生学习兴趣、提高学生技能水平,对讲师无形中也是一个企业锻炼。

三、如何借鉴企业里的软件开发管理来指导教学项目

分析教学项目在实施过程中遇到的主要问题有:无法按时完成项目、项目质量不达标、参与学生任务分配不合理,纠其原因主要是讲师无法对项目实施标准有明确的参考和定义,对项目目标定义不完全,项目实施计划不合理,缺乏项目开发监控的必要手段。联系到学生以后的就业方向,及项目选取的专业范畴,需要借鉴企业软件开发管理来之不易的经验来指导教学项目。

1.借鉴企业项目计划制定合理的教学项目计划

软件企业里开发计划的制定一般有两个部分,一是软件本身的计划,即需要开发什么软件、具备什么功能、构架、界面、测试等;二是开发项目的计划,即谁来开发具体功能、具体开发工作的资源、时间、顺序、控制等,而且这两部分由开发的具体实际情况来确定顺序或交叉开展。

教学项目的开发目标及功能,在项目教学文档中一般均明确给出,讲师要做的是分析项目功能的技术要点,对班级项目小组专业技能水平进行摸底,提出项目开发整体计划,并要求项目小组长制定小组开发计划,讲师在小组计划制定时进行必要指导和干预。主要工作比如:首先,掌握项目难度。分析项目开发目标和技术要点,确定项目各技术难度等级,扩展知识点举例讲解。然后了解学生的技术能力。充分了解平时的学习情况和动手能力,在组长分配任务时当面沟通,保证任务分配的合理性。最后需要合理分配任务和时间。在教学项目规定的课时内完成项目的实施,必要的时候开始课后小班辅导,对难的技术点分配给动手能力强的学生,容易的技术点分配给动手能力弱的学生,保证每位学员都有任务,且任务对学员来说是可行的。

在任务分解时借鉴企业“站立会议”的实施方法,把分解的模块和任务写到分发在成员手上的贴纸上,并按模块和任务的紧急不同,选择不同的颜色,要求成员写上预计完成时间(以天或课时为单位)。将贴纸贴在分小组的项目进度表上(讲师制定)。

2.模拟企业真实项目人员角色

教学项目的选取应是企业大型真实商业项目中的部分典型业务模块,至少80%以上的相似度,因此,在实施过程中学生的角色完成模拟借鉴企业员工角色。在能力互补、差异匹配分工原则的基础上,对于讲师定位在项目经理(大型的毕业设计项目定位项目总监),主要任务是进行任务模块分解,项目总体开发计划的制定和编码过程的监控。学生的定位均是实习生,小组长定位在协助项目经理实施项目管理的优秀实习生。组员定位在实习程序员(首要能完成编码,其次会写文档、最后能讲解业务流程)。

3.借鉴软件企业项目开发文档

借鉴软件企业项目开发文档,合理的设计教学项目开发文档,来指导和监控教学项目的实施。根据实际项目一般可以设计出六个文档和三个表格,分别是:项目立项及开发规划说明书、需求规格说明书、概要设计说明书、详细设计说明书、产品测试说明书、项目关闭总结报告、项目开发计划表、小组编码进度控制表、项目测试报告表。

根据教学项目的大小及难易程序,合理安排文档制定人。对于小型项目,可以在课前准备好项目开发计划表,包括分组计划表及编码计划表;课中则要求组长每次课程后提交编码进度表,同时召开项目组长的“站立会议”,保证项目实施进度,并要求组长召开组员之间的站立会议,核定编码进度。对于中大型项目,比如毕业项目,在课前准备好项目立项及开发规划说明书、需求规格说明书、概要及详细设计说明书和项目开发计划表。课中则要求组长制定小组编码进度表,同时讲师召开小组长站立会议,小组长召开组员站立会议,监控项目实施。

将企业软件项目管理引入课堂教学中的前提,是选取真实的商业项目,做到以项目巩固、促进学生的技能水平提升,而非为了巩固、总结阶段教学内容而设计项目。用企业化的管理标准和手段来管理教学项目,能充分提高学生开展项目活动的兴趣,让学生提前了解真实项目开发的实施流程和技术手机,在保障项目教学的顺利开展的同时,缩短了学生就业和适应岗位的时间。

作者:代颖

软件中项目管理的应用论文 篇3:

项目管理在软件工程教学中的应用与实践

摘 要:在一般普通高等院校,由于缺乏企业级的应用环境和恰当的案例,使得软件工程课程教学更加抽象和笼统,课堂教学缺乏操作性和互动性。将项目管理的基本思想引入教学活动,体现在任务确定、阶段划分、人员组织和结果评审。通过设计一系列目标明确的“题目”,有效地组织学生进行课堂训练,并将结果作为最终考核的一部分,从而增加了课程的实践性和可操作性。

关键词:软件工程 项目管理 教学改革

一、引言

软件工程是计算机相关专业一门重要专业必修课程,具有很强的实践性。软件工程中的技术、方法和原理往往比较复杂,难以掌握,从而导致学生在学的过程中极易产生枯燥乏味的感觉和学不会、不想学的思想,教师也会觉得该课程教起来相当困难,要想达到较好的教学效果、培养学生较强的实践能力十分困难。

笔者在讲授软件工程专业课程时,将软件工程中项目管理的原理和方法应用于软件工程教学,注重学生人员的组织、任务划分、学习过程管理以及结果考核,在教学内容、教学方法和手段以及考核等方面进行了一些尝试和探究,取得了很好的效果。

二、课程特点及项目管理核心概念

1.软件工程课程特点

本课程是为了解决软件开发和维护过程中所遇到的一系列严重问题,而产生的一门新兴的工程型学科,目的在于提高软件的质量与生产率,最终实现软件的工业化生产。软件工程课程中所讨论的原理、方法和技术来源于软件开发和维护的实践和经验,并且是经过时间的检验而证明是正确的或者是当前最好的技术和方法,具有抽象性、复杂性和高度的时效性。正因如此,软件工程课程不同于一般的计算机专业课程,它具有自身的特点。

(1)综合性。软件项目开发是一项综合的系统工程,是对所学专业知识和能力的综合运用,包括:程序设计、数据结构、操作系统、数据库等,同时,还涉及工程学、管理学、经济学、数学、心理学等多个领域的知识。

(2)时效性。随着IT行业的飞速发展,新的软件工程的原理、方法和工具也是层出不穷。为了使学生所学的软件工程知识和技能在软件行业中能真正发挥作用,因此,在授课时,除了讲解基本概念、原理和方法外,更重要的是,对一些不再流行的方法和技术需要进行大量的裁减,而补充一些最新的方法和技术,以适应技术的发展。

(3)实践性。软件工程包括大量的软件开发实践的经验和教训,具有很强的实践性。因此,在教学过程中,不仅要注重基本的概念、原理和方法,而且要进行具体的软件开发实践活动,这样才能将理论与实践相结合,使学生真正学以致用。

2.项目管理的核心概念

软件项目管理主要包括4个要素:人员(People)、产品(Product)、过程(Process)和项目(Project),正好构成软件项目管理的“4P”要素。

(1)人员。相对于开发工具和技术来说,软件人员的素质和组织管理显得尤为重要。对于大型的软件项目更是需要整个团队的共同努力和协作,因此对开发人员的组织和管理将是一项十分重要的工作,组织和管理的好坏直接影响到整个项目的成败。

(2)产品。作为软件项目的最终目标,必须在规定的时间和预算内完成产品。经验表明,影响软件产品的主要因素是软件需求的不确定和需求规格说明的不准确。

(3)过程。软件产品从无到有,需要经过一系列复杂的过程,对这些过程中所使用的技术、方法、活动和工具进行有效的管理、跟踪和控制,必要时进行有效复用,是管理学中的一个重要目标。

(4)项目。为了实现项目的目标,项目管理者需要在有限的资源约束下,运用系统的观点、方法和理论,对软件项目的全过程进行计划、组织、协调、控制和评价。

三、项目管理的重要思想

所谓的软件项目管理,就是指通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以便在预定成本和期限内开发出符合客户需求的软件。[1]其重要思想在于:开展任何活动,必须在事前进行认真计划和规划,在执行过程中进行过程跟踪和控制,在活动完成后进行相应的质量评价。

在计划时期,首要的任务是要明确当前活动的目标,据此设计活动的具体过程、步骤、人员组织形式以及监控和评价方式。

在活动的执行过程中,要有相应的评价指标,据此对活动过程的各个环节进行有效地监控和管理。

在结束阶段,要对活动的执行情况进行质量的评审,确保得到的是合格的中间产品,或者说,达到了预先设定的活动目标。

四、过程管理应用于组织教学的方法

在软件工程课程的教学实践活动中,根据软件项目管理中的核心概念和重要思想来设计教学内容和方法,一方面,教学本身体现了软件工程思想,另一方面,使得教学活动易于设计和实现,同时增加了教学的趣味性和教学质量的可管理性。

1.教学设计的指导原则

根据项目管理的核心概念和基本思想,在我们的实践教学活动中,制定了以下教学指导原则。

(1)学时比例:讲授和实践比例达到1:1,对于一次2学时的课程,讲授和课堂实践各占一半;

(2)组织形式:针对实践环节,教师充当客户,学生以自愿形式组成开发团队,每组5~6人,每组推选组长一名,成员要有不同的分工和角色,包括项目组长、编码员、测试员、分析员、设计员、质检员等角色;

(3)实践题目:为了强化实践训练的目的,实践性环节分为课堂实践和课后综合训练:课后综合训练,以一个完整的软件项目作为实训内容,与教学进度相应,进行任务的阶段划分和实施。课堂实践以小型的单元实践为主,题目要有相对独立性,避免前后依赖,增加可操作性,类型可以包括分析型、设计型、训练型、讨论以及争议性的话题等。选题必须切合学生的专业背景和实际情况,且具有一定的实践价值和社会意义。

(4)管理与考核:管理过程采用模拟公司的分级管理方式,各个小组组长向教师负责项目的完成和进展,而组内每个成员向小组组长负责自己所担当角色的任务完成。考核可采用多种形式,如答辩、交叉考核、展示、提问或者综合评审等。

2.具体实施方案

(1)教学内容规划

在正式课程开始教学之前,需要根据教学计划和大纲进行认真的教学规划,包括学时分配、教学进度安排、阶段性教学目标和实践内容的设计,如表1所示。在正式教学之前,将此教学实施方案公布给学生,由学生进行课前的准备。

(2)课堂教学实施

根据项目管理的方法,课堂教学实施应根据确立的教学目标有效地组织学生逐步完成教学内容的学习。

1)教学目标:根据相应的教学内容,设定明确的教学目标,要求便于操作和实施。如对于编码规范环节,可以设定如下教学目标:通过一组相关的课堂训练,使学生真正体会到规范性编码的重要性和必要性,并且对这些规范有一个初步的体验。

2)学生的组织:任务完成以小组形式进行,小组推选组长一名,根据任务的不同,成员可以担当不同的角色,组内任务的分解、协调和考核均由组长完成,小组内可以通过讨论、问题收集、代表发言等多种形式,调动成员自主学习的积极性。例如,对于40人的班级,可以分成6~7个项目小组,并且规定每一小组的成员必须坐在一起,并且小组之间座位进行轮流交换,避免个别学生长期坐在不起眼的角落。

3)实施过程:在课堂实践过程中,教师只起配角和引导作用,任务实施过程主要由学生小组进行,而且为模拟真实的环境,限定任务的来源只能有两种,一是教师指定,二是学生交叉自选,即A的任务,须由B来完成。例如在进行需求获取实践时,一组担当客户,另一组来获取系统的需求,一方提出问题,另一方进行具体记录。在讨论过程中,教师对于同学观点要给予鼓励和必要的引导,鼓励他们多角度、多因素地分析问题,提升学生的思维能力。

4)工具的使用:在相应的教学环节,要求学生逐步学会相应的CASE工具的使用,特别是目前主流的面向对象的方法和工具。例如:在UML教学过程中,可以选取Star UML,作为主要辅助工具。

5)任务总结:在每次课程结束前,教师要抽出一定时间进行总结,一方面使学生能够抓住核心,掌握本次内容的重点;另一方面使学生自身对本次实践的经验和不足进行一次回顾和反思,从而知识和能力得到进一步的加强。

(3)成绩考核

课程成绩包括三部分:平时的课堂实践成绩(30%);课后综合项目实践成绩(30%);期末考试/考核成绩(40%)。

平时实践以及课后综合项目实践的考核以小组为单位,各个成员的分数采用“二次分配”而得到,首先评定项目,得到一个项目分值,将项目分值乘以小组人数,为小组整体成绩,然后由组长根据小组内成员的工作量进行二次的分配。最后的期末考试/考核成绩由教师根据每个学生的答卷或者表现给出。

3.教学效果评价

通过将项目管理的思想和方法应用于软件工程教学,实行课前认真规划,课堂教学有效组织和管理,课后及时总结和评价,做到每讲必练。在具体的教学实践活动中,人们发现课堂教学不再是抽象的理论讲授,而是时时贯穿着具体的实践操作,达到了理论与实践的紧密结合,极大地提高了学生的学习兴趣,取得了良好的教学效果。

五、结语

在突出课程基本理论和概念知识的同时,侧重培养学生的软件工程应用能力,在理论的指导下,通过过程管理、团队合作等形式,搭建一种良好的学习氛围,不仅培养了学生的学习兴趣,而且提高了学生学习的主动性与创造性,取得了良好的教学效果。

参考文献:

[1]张海藩.软件工程(第二版)[M].北京:人民邮电出版社,2006.

[2]阳王东,祝青,邓艳智.《软件工程》项目型教学模式的探索[J].计算机时代,2008(4).

[3]黄敏.案例教学法在《软件工程》课程中的应用[J].中国电力教育,2008(10).

[4]陈玉.软件工程课程教学改革的研究[J].宁波工程学院学报,2008,2(20).

[5]孙家广,刘强.软件工程——理论、方法与实践[M].北京:高等教育出版社,2005.

[6]史济民,顾春华等.软件工程——原理、方法与应用(第二版)[M].北京:高等教育出版社,2002.

(编辑:金冉)

作者:刘黎明 张晓民 王 水

上一篇:流动党员管理工作报告下一篇:高校美术系工作报告