项目信息

名称
版本

GSSD-0001-GACS

(截至2007年1月19日)

起始日期
结束日期

2006-06-

2006-09-11

名称含义

GSSD评估标准系统,GSSD第一个遵循CMMI3标准的自主项目。

主要用途

根据公司制定的日常工作评估标准,实现计算机自动化评估,主要包括员工自我评估,主管评估员工,以及评估系统管理和报表生成四大组功能。

开发目的

为提高GSSD的团队工作能力,实现公司级日常工作评估标准化和自动化,让每个员工了解自己的成功与不足,以及如何改进,特制定评估标准并开发本系统。

项目状态

严重延误,但最终完成。现已投入使用。

版权声明

使用私有版权协议,版权属于GSSD。

责任担保




系统组成部分

[客户端]←→[Java Web服务器端]←→[数据库服务器端]

客户端

使用者的浏览器。

作用

提供用户操作界面。

如果有用户操作,接收用户输入,对输入格式进行验证,如果验证通过,用户输入会被包装在HttpRequest中,发送给Java Web服务器端。

根据Java Web服务器端返回的HttpResponse显示用户界面。

运行环境

[Internet Explore 5.5(或更高版本)]浏览器。

以上任一种浏览器所需要的支持软件。

与以上软件匹配的硬件环境。

Java Web服务器端

布署在一台计算机上的[Tomcat 5.5.]和相关的HTML文件、JSP文件、Servlet、配置文件、资源文件等。

作用

处理来自客户端的HttpRequest,必要时访问数据库服务器端。

用HttpResponse将处理结果返回客户端。

开发环境

[Microsft Windows 2000 Professional]。

与操作系统匹配的[Sun J2SE 5.0 Update ]。

与操作系统匹配的[Tomcat 5.5.]。

与操作系统匹配的[Eclipse 3.1.2]。

Eclipse插件[MyEclipse 4.]。

与以上软件匹配的硬件环境。

运行环境

常规PC操作系统环境([Linux],[Microsft Windows 2000 Professional]等)。

与操作系统匹配的[Sun J2SE 5.0 Update ]。

与操作系统匹配的[Tomcat 5.5.]。

与以上软件匹配的硬件环境。

数据库服务器端

布署在一台计算机上的[Oracle 10g 个人版]。

作用

执行来自Java Web服务器端的操作并返回执行结果。

开发环境

[Oracle 10g 个人版]。



……

与以上软件匹配的操作系统环境和硬件环境。

运行环境

[Oracle 10g 个人版]。



……

与以上软件匹配的操作系统环境和硬件环境。


截图

界面-用户登录



界面-添加评估主题



界面-修改评估主题



样图-主管评估员工



更多截图

……


项目人员

██ (前一版系统开发)
█杰 (前一版系统开发,需求分析,文档编写,编码,单元测试,集成,改进)
██ (前一版系统开发,需求分析,文档编写,编码,单元测试,集成)
本人 (需求分析,文档编写,编码,单元测试,集成,改进)
██ (需求分析,数据库设计)
██ (编码,单元测试,集成,改进)
██ (编码,单元测试,集成,改进)
██ (编码,单元测试,集成,改进)
██ (编码,单元测试,集成,改进)


本人承担

寻访公司各部门以获取需求;
基于已有技术、当时可利用的技术和项目时限等因素对需求进行取舍并与需求提出者进行确认;
根据需求编写项目设计文档的[评估帐号]和[系统管理员]两部分;
根据变更的需求改写项目设计文档;
为项目设计文档的[公共功能]和[被评估帐号]抓取或绘制样图;
[评估帐号]和[系统管理员]界面编写;
[评估帐号]、[系统管理员]和部分[超级管理员帐号]MVC编写;
部分[评估帐号]DAO编写;
[评估帐号]和[系统管理员]单元测试;
[评估帐号]和[系统管理员]集成、联调。


经验与收获

能熟练编写传统的JSP,并将其中剥绝大部分业务逻辑到Bean中。

能利用Spring的MVC构建小型站点。
能利用JSTL简化JSP。

了解Spring的ICO用法。

初步了解Hibernate的用法。


问题与限制

主要问题
解决方式

我进公司前,这个系统已经开发了一个版本,但因需求理解偏差太大而导致失败。

重新开发,之前一个半月的成果大部分作废,代价很大。

公司在重新开发初期仍然严重低估了项目的复杂程度,给出的可用资源(人力、工时)极其有限。

项目中期,公司上下沟通加强,公司安排了更多的人力资源,并在项目后期见效。

同样,由于重视不足,项目起始阶段被强行跳过了需求分析阶段,导致项目设计文档本身承担了很大一部分需求文档的职责,编写难度加大。

在本项目中已无法解决。在下一项目中注意。

由于跳过了需求分析步骤且缺乏有效的需求变更管理手段,不断变更的需求导致隐性工作量不断增加,却没有人能为这些变更和增加的工作量以及由此造成的进度延误负责。

项目中期,公司指派了一个有经验的项目经理作为开发人员与最终用户之间的桥梁,并且所有需求变更和由此造成的影响都被记录,责任逐渐分明。

页面功能过于依赖特定的JavaScript,导致浏览器兼容性很差。[Konqueror 3.]、[Mozilla 1.4.]和[FireFox 1.0.7-mgc2]均无法正常使用页面功能。

访问本系统时全部使用[Internet Explore 5.5(或更高版本)]浏览器。

以上主要问题中只有一个是开发技术问题。这个项目没有真正按照CMMI3流程进行,不规范的操作是项目进度大幅度延误的根本原因。


“█”的含义

因特殊原因(如冒犯公司或个人利益等)而不便公开;或因在开发相关范围之外而不必了解。