APP下载

软件项目管理系统PMS在软件企业中的应用

2010-09-19戴银飞戴银燕

长春大学学报 2010年8期
关键词:视图分配项目管理

戴银飞,戴银燕

(1.长春大学 软件学院,吉林 长春 130022;2.长春市易游科技有限公司,吉林 长春 130022)

软件项目管理系统PMS在软件企业中的应用

戴银飞1,戴银燕2

(1.长春大学 软件学院,吉林 长春 130022;2.长春市易游科技有限公司,吉林 长春 130022)

软件项目管理PMS是一种科学的管理手段,是为使软件项目能够按照预定的成本、进度、质量顺利完成以及对成本、人员、进度、质量、风险等进行分析和管理的一系列活动。笔者在分析了MVC模式的优缺点之后,运用面向对象的编程思想阐述了系统的设计与实现。

软件项目管理;MVC模式;面向对象

1 中国软件产业的现状

目前,中国的软件企业正处于高速发展,急需规范管理并以项目为主导的环境中。尽管近年来我国的软件产业保持高速的成长态势,然而在繁荣火爆的市场背后,也隐藏着相当的危机。我国软件产业的软件生产力落后是必须直面的一种现实。具体体现在以下几个方面:国产软件市场占有率低,软件企业规模偏小,企业缺乏竞争力,软件企业创新能力不足。

中国目前软件的落后状况,实际已经不是技术本身的问题,而是科学管理的问题。软件工程理论与软件项目管理的实际应用与经验[1],是我国软件企业急待学习与渴求的。中国软件各个层次上的管理问题,目前可以说已经制约了中国软件业走向国际化的进程。

随着信息技术的飞速发展,计算机软件产品的规模和复杂度也随之增加。个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。与此同时,软件项目总“项目黑洞”也应运而生:项目无法按期完成,项目合作方的工作难以协调,用户需求经常变动,工作质量难以保证,给企业带来了愈来愈多的损失。这种情况说明了软件项目开发及管理过程中,存在着许多的问题,需要更多的重视和研究。

2 项目管理与软件项目管理

项目管理是企业管理的下属层次,在很大程度上项目管理的成功与否常常受企业管理的制度制约(比如说设备采购的批复等待会延误工期)。由于在制定计划时,没有考虑自身和客户双方的企业管理的环境,所以在实施过程中会受到企业管理环境因素的影响。因此,作为一个项目管理者,审视自身的项目所处的企业环境并做出准确的判断是非常有必要的。缺少良好的项目环境,项目管理者的心血常常白费。

一个项目按时在预算范围内完成了而另外一个则没有按时完成,这不意味着第一个项目管理得比较好。因为前者可能是项目时间和成本宽松的项目而后者根本就是不可能完成的项目。前者项目管理的意义在于获得较高的项目效益而后者的意义在于避免更大的项目损失。但是,充满了浮躁的软件企业没有诸如此类的意识,一些项目在未开始前注定就是失败的,项目经理们一上手便被扣以一责任人的镣铐。因此,项目管理有无具体效果,需要合理地进行评判,单纯以出效益为上的观点未必有失偏颇。作为项目管理的来说,项目管理的真正意义在于事先预防各种偏离项目目标的问题出现而不是在于解决问题。

软件项目管理PMS作为一种科学的管理手段,就是为使软件项目能够按照预定的成本,进度,质量顺利完成,对成本,人员,进度,质量,风险等进行分析和管理的一系列活动。软件行业是一个极具挑战性和创造性的新行业。管理上没有成熟的经验可供借鉴。而软件项目管理应该说对于软件企业,,是行之有效的管理方法。因此,决定一个软件项目实施成功与否,软件项目管理无疑起着举足轻重的作用,软件项目管理已经是公认的软件开发企业的核心竞争力之一。

3 基于MVC模式软件项目管理系统的架构的分析

3.1 MVC模式

MVC模式即模型-视图-控制器(Model-View-Controller)。即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。

MVC强调将业务逻辑放在模型中,表示逻辑放在视图中,而将应用程序的整个流程控制放在控制器中。通过这种分离,可以极大地降低数据保持和数据显示之间的耦合度,提高系统的开发效率、易维护性、易扩展性,因此从提出至今已成为交互式应用中使用最广泛的架构技术。

MVC模式强调两类主要的分离:从模型中分离表现和从视图中分离控制器。

从模型中分离表现是一个好的软件设计方案中最基本的启发式方式。其重要性表现在:表现和模型的关注点不同。开发视图时,需要考虑的是怎样布局一个好的用户界面。在设计模型时,需要考虑的是业务逻辑,或数据库交互。而当设计两者之一时,所用的资源与设计另一种时所用的资源可能是完全不一样的。

这个分离的关键点是依赖的方向:表现依赖模型,但是模型不依赖表现。在模型中编程时,必须完全不知道是哪个表现在起作用。这样可以简化他们的任务,并且将来容易增加新的表现。同时,这也意味着表现也可以自由变化而无需改变模型。

第二个分离,视图和控制器的分离,相对不是很重要。在基于客户端技术,基本上不进行这类分离。因为显示和控制的关系过于密切,分离反而导致不必要的复杂性。而基于Web的瘦客户端技术(Thin Client)大多进行分离,因为在这类技术下,浏览器只负责显示数据,而将流程控制交给服务器。J2EE中的前端控制器模式(Front Controller Pattern)为J2EE平台下最常用的视图/控制器分离模式。它使用JSP完成视图的显示,使用Servlet完成服务器端的控制。现在广泛使用的Struts也是基于这一模式。

3.2 MVC模式对应J2EE框架的位置

MVC与J2EE架构的对应关系是[2]:View处于Web Tier或者说是Client

Tier,通常是JSP/Servlet,即页面显示部分。Controller也处于Web Tier,通常用Servlet来实现,即页面显示的逻辑部分实现。Model处于Middle Tier,通常用服务端的JavaBean或者EJB实现,即业务逻辑部分的实现。

3.3 MVC模式的优缺点

MVC模式强调了一种分离的思想。通过这种分离,可以使数据保持、数据显示和数据控制可以独立演化而不用依赖于任何一方。从而从结构上降低了系统各部分的耦合性。提供了灵活的扩展空间,比如可以很轻松的更换一种视图而不需要改动模型部分。

但是,MVC模式也有一定的缺点。即在将模型、视图、控制器的分离的同时增加了系统结构和实现的复杂性;视图与控制器间很难实现良好的松耦合,过于紧密的连接妨碍了其独立重用;由于视图需要模型和控制器与底层数据进行访问,据模型操作接口不同,视图可能需要多次调用才能获得足够的显示数据,这样会损害系统操作性能。

4 系统的总体实现

4.1 项目管理模型

(1)项目管理模型。如图1所示。

(2)实体说明

项目:软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动[3]。项目是项目管理的核心。

(3)实体关系

项目―项目分配表:项目与项目分配表之间是一对一的关系。项目分配表记录项目的分配情况,记录项目的编号,及项目小组编号,从而记录了项目的工作人员。

项目―人员:项目与项目人员分配表之间是多对多的关系。对于一个项目,从立项到结项是一个艰巨的任务,时间可能会很长。在同一时间可能会有多个项目,为了达到公司资源的合理利用,同一个员工可以分配到多个项目里。项目人员分配表用来记载项目与人员之间的关系。

图1 任务管理模型

员工―项目小组分配表:为了便于管理,建立一个项目小组分配表,项目小组分配表与员工之间是多对多的关系。项目员工小组分配表是记录项目分配表和员工的中间表,此外,项目小组分配表中还记录了员工的岗位信息。

4.2 任务管理模型

(1)任务管理模型。如图2所示。

图2 任务管理模型

(2)实体说明

任务:公司在接到项目后,对项目立项和分析后,将项目分成多个任务,将任务分配给指定的员工,员工在接到任务后,可以接受任务或依据现况对任务进行驳回。

(3)实体关系

任务―项目

项目和任务之间是一对多的关系,一个项目可以分成若干个任务。只有任务一个一个的成功完成,才能最后将一个项目完成。每个任务都对应着一个计划开始时间和计划结束时间,通过这个时间,可以估计整个任务的完成情况。从而可以通过这个情况和项目本身而及时调整对任务的分配。

5 结语

实施项目管理的目的是为了提高项目的效益,即引入项目管理后所产生的效益减去项目管理的成本后必须大于未引入项目管理时的效益。软件项目管理是一个从"自发"走向"自觉"的过程,也是一个从经验主义走向理性主义的过程。而这一目标的实现,则需要配合广大项目管理者的项目管理思维和积极实践。

[1] 韩雯.项目管理过程中的会计应用[J].中小企业管理与科技,2008(11):78.

[2] 萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2000.

[3] 张海藩.软件工程[M].北京:人民邮电出版社,2002.

[4] [美]福尔斯泰因,普瑞拜尔著,林琪,王宇译.Oracle PL/SQL程序设计.2版[M].北京:中国电力出版社,2004.

责任编辑:吴旭云

Application of software project management system in software enterprises

DAI Yin-fei1,DAI Yin-yan2
(1.Software College,Changchun University,Changchun 130022,China; 2.Changchun Yiyou Technology Co.,Ltd.,Changchun 130022,China)

Software project management syetem(PMS)is a scientific method,which is a series of activities to make sure the successful accomplishment of software projects in accordance with the scheduled cost,progress and quality,to analyze and manage cost,staff,progress,quality and risk.The author discusses the design and implementation of the system by using object-oriented programming idea after analyzing the advantages and disadvantages of MVC pattern.

software project management;MVC pattern;object-oriented programming

TP319

A

1009-3907(2010)08-0077-04

2010-06-23

戴银飞(1977-),女,吉林长春人,硕士,副教授,主要从事软件开发工作。

猜你喜欢

视图分配项目管理
装配式EPC总承包项目管理
基于大数据分析的集合式EPC总承包项目管理软件技术的应用
项目管理在科研项目管理中的应用
应答器THR和TFFR分配及SIL等级探讨
未来如何更高效地进行工程项目管理
遗产的分配
一种分配十分不均的财富
5.3 视图与投影
视图
Y—20重型运输机多视图