1、前 言没有项目管理,项目也有可能成功。但没有管理的项目,很难保证项目的利润空间,对公司来说,亏损的风险就大。所以我们要有项目管理,以保证公司在总体上是盈利的,注意不是每一个项目都要盈利。为什么我们要实施项目管理,是为了提高项目的效益。这里所指的项目的效益是一个综合性的指标,包括低风险、高产出等。为此我们不难得出我们在实施项目管理应该掌握的度。即:引入项目管理后所产生的效益减去项目管理的成本后必须大于未引入项目管理时的效益。软件项目管理系统是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分
2、析和管理的活动。为什么我们要实施项目管理,是为了提高项目的效益。这里所指的项目的效益是一个综合性的指标,包括低风险、高产出等。为此我们不难得出我们在实施项目管理应该掌握的度。即:引入项目管理后所产生的效益减去项目管理的成本后必须大于未引入项目管理时的效益。由于引入项目管理后所产生的效益与项目管理的复杂度(项目管理的成本)并非线性相关的,因此项目管理的复杂度必然存在一个最优值,这就是我们应该把握的度。软件项目管理和其他的项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。W
3、indows这样的操作系统有1500万行以上的代码,同时有数千个程序员在进行开发,项目经理都有上百个。这样庞大的系统如果没有很好的管理,其软件质量是难以想象的。软件项目管理系统的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试-、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用2。而研究软件项目管理为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误。第一章 开发环境介绍1.1 编程环境的选择目前,解决这一课题的方法与手段非常多,所以首先应选定开发工具与环境。编程 环境的选择MyEclipse,
4、MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse可以支持Java使目前最为广泛的、易学易用的面向对象的开发工具。利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。可以说MyEclipse是几乎囊括了目前所有主流开
5、源产品的专属eclipse开发工具。所以,实现本系统使用Myeclipse来开发是一个相对较好的选择。1.2 Myeclipse 的简介 Myeclipse的简介,MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。 Myeclipse的原版名称是MyEclipse Enterprise Workbench,由Genuitec公司于2003年推出,是第一个全面的Eclipse工具套件,也是第一个世界级普及型工具,最早的Eclipse生态系统中的订阅模型。 MyEclipse,是基于Eclipse
6、开发的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。据官方介绍,诸如三星、IBM、戴尔、惠普、花旗集团、西门子、斯坦福大学、波音公司等知名机构均使用MyEclipse进行Java、JavaEE开发,80%以上的全球财富100强企业均是MyEclipse的用户。MyEclipse提供了对UML、Ajax、Web、Web Services、J2EE、JSP、 XML、 Struts、 JSF、 Java Persistence、 EJB、扩展数据库以及各种应用服务器的集成支持。MyEclipse也全面支持各种主流的第三方框架,让你能够快速高效地进行开发工作。此外
7、,MyEclipse还全面支持各种基于Eclipse平台的插件,允许你自由定制或扩展个性化功。MyEclipse全面支持Eclipse开源平台的所有功能特性,如果你熟悉Eclipse,那么你能够轻松地上手MyEclipse,包括熟悉的Eclipse快捷键,而且使用MyEclipse完成某项任务往往要比使用Eclipse更加快速、简单。1.3 Mysql数据库的优点Mysql是一个就是关系型数据库管理系统,在WEB应用方面 MySQL 是最好的关系数据库管理系统应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度
8、并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。而且Myeclipse和Mysql可以通过JDBC或者Hibernate来建立连接,方便用户在Myeclipse中对数据中的数据进行添加、删除、查询、修改,为用户提供了极大地便利。第二章 需求分析2.1 系统分析 需求分析大致可分为三步来完成,即需求信息的收集、分析整理和评审通过。1.需求信息的收集 需求信息的收集又称为系统调查。为了充分
9、地了解用户可能提出的要求,在调查研究之前,要做好充分的准备工作,要了解调查的目的、调查的内容和调查的方式。1) 调查的目的首先,要了解组织的机构设置,主要管理活动和职能。其次,要确定组织的目标,大致管理流程和任务范围划分。因此,软件项目管理系统主要是通过对现有的软件项目管理模式进行考察、研究。并且通过和软件编写人员、用户交流来完善管理功能。2)调查的内容外部要求:信息的性质,响应的时间、频度和如何发生的规则,以及软件项目管理的要求,安全性及完整性要求。组织机构:了解软件开发人员的组织与管理软件度量,软件项目计划,风险管理,软件质量保证,软件过程能力评估,软件配置理。3) 调查方式通过对公司的软
10、件开发管理人员的访问、交谈可获得高层的、内部的管理需求,以及项目管理的管理目标等。2.需求信息的分析整理要想把收集到的信息(人员的组织与管理,软件度量,软件项目计划,风险管理,软件质量保证,软件过程能力评估,软件配置理)转化为下一阶段设计工作可用的形式信息,必须对需求信息做分析整理的工作。2.2 可行性分析时间行进到21世纪,以计算机技术为主体的高新技术群体已经将触角深入到国发经济的方方面面。在市场经济的大环境下,越来越多的人士逐渐认识到用计算机技术进行名类管理,交流的便捷。很多人将成为物业的产权人和使用权人,因此,如何在激烈的市场竞争中立于不败之地,创造合理的规模效益,已经成为现在软件项目管
11、理的关键问题。随着信息技术的飞速发展,我国软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。从概念上讲,我国软件项目管理系统是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。2.2.1 经济可行性 为什么我们要实施项目管理,是为了提高项目的效益。这
12、里所指的项目的效益是一个综合性的指标,包括低风险、高产出等。为此我们不难得出我们在实施项目管理应该掌握的度。即:引入项目管理后所产生的效益减去项目管理的成本后必须大于未引入项目管理时的效益。由于引入项目管理后所产生的效益与项目管理的复杂度(项目管理的成本)并非线性相关的,因此项目管理的复杂度必然存在一个最优值,这就是我们应该把握的度。也许上面的说法比较抽象。一个实际行之可效的判断项目管理的度规则就是:大家认可并且能够准确地理解和实施。对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言比较多。各部门必须配置电脑、服务器、打印机、传真机及相关的网络设备,但是在整个系统投入运行之后,因
13、为现在计算机已经普及了,相关的人员培训费可以减少很多。而同时又减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了当前的发展形式。2.2.2 技术可行性随着国内软件开发的日益发展壮大,各种中小企软件开发公司已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。而这个系统尽管其在组织关系上存在着很大的复杂性,繁琐性,但是就整个系统的技术构成上来看,它还是属于一个数据库应用类的系统。其基本操作还是对存在数据库进行添加、删除、查找、修改等。本人有一定的开发软件开发基础,对软件开发的全
14、过程都有全面的了解,对软件工程也比较熟悉。熟练的掌握面向对象的开发软件系统技术。学习过网络工程等基础课程对网络有一定的了解。使用过Mysql等数据库开发过一些系统。能够运用Myeclipse技术,综上开发技术是完全可行的。2.2.3 操作可行性Myeclipse提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统Myeclipse是一个相对较好的选择,具有良好的操作性。第三章 概要设计3.1 总体设计的目的软件项目管理系统的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分
15、析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。而研究软件项目管理为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误。该体统通过对软件项目开发的各个环节进行设置(基本信息设置 项目组管理 软件项目管理 系统管理),包括基本信息的添加、修改、删除和查询;项目组信息的添加、修改、删除和查询;软件项目管理模块包括项目基本信息管理、软件模块管理和软件缺陷管理等功能。软件项目管理系统就是实现软件开发过程和软件管理过程的全面管理。3.2 系统总体流程图对于数据库软件应用的设计与开发,数据库系统的设计是其最为核心和基
16、础的环节。数据库系统的优劣直接影响到系统的性能,所以对数据库系统的设计必须有优良的性能,那么对它的设计也更严密周紧。图3-1 总体流程3.3 功能模块图本系统采用Myeclipse 作为开发工具,Mysql 作为后台数据库,将每个数据库表的字段和操作封装到类中,从而成功地将面向对象的程序设计思想应用到数据库应用程序设计中。这也是本系统的特色和优势。有4个功能模块基本信息管理、项目组管理、软件项目管理、系统用户管理。图3-2 模块划分图3.4 用户功能模块图本系统初始化时,有一个默认的用户,用户为admin,手动添加到数据库中,他的确认密码为admin。Admin用户可以创建用户、删除用户、修改
17、用户的信息,普通用户只能修改自己的用户名和密码。图3-3 用户功能模块图3.5 数据库设计访问数据库的方法很多,经常听到的就是DAO(Data Access Object)数据库访问对象RDO(Remote Data Objects)远程数据对象。ADO(Microsoft ActiveX Data Object) ActiveX数据对象,以及ODBC(Open Database Connectivity)开放式数据库连续性,OLE DB(Object Linking and Embedding Database)对象链接和嵌入数据库。DAO称为Microsoft Jet 数据库引擎数据访问对
18、象,是第一个面向对象的接口,有着极为广泛的应用,在程序员心中曾占有很重要的地位。Myeclipse提供了与底层数据库系统紧密的连接。Myeclipse支持不同的关系数据库管理系统并充分发挥每一个数据库的特长。生成独立应用或脱离服务器运行的服务以上的应用,Myeclipse连接数据库的方式有两种:1) 通过使用Myeclipse的 hibernate控件。 2) 通过使用由Myeclipse提供的专用的直接与数据库相连的接口。3) 数据库结构设计是总体设计阶段非常重要的环节,好的数据库结构可以简化开发过程,使系统功能更加清晰明确。 目录第一章 总 论41.1项目概述41.2项目提出的背景和必要性
19、41.3 项目建设的可行性分析16第二章 项目依据和范围202.1项目编制依据202.2编制原则202.3项目编制范围21第三章 市场发展预测及行业关键指标分析223.1二手车市场风险及发展预测223.2 目前二手车价格分析253.3 二手车关键指标分析28第四章 项目选址与建设条件364.1 项目选址364.2 区域建设条件364.3社会环境简况37第五章 项目建设内容与规模395.1 项目建设内容395.2 建设规模39第六章 项目实施进度安排41第七章 环境保护和交易流程427.1 二手车交易市场污染评估与处理427.2 二手车交易流程42第八章 项目经营管理与劳动定员498.1 项目经营管理498.2 劳动定员498.3 劳动保护和安全生产50第九章 投资概算及资金筹措519.1 投资估算519.2 资金筹措51第十章 经济效益分析5310.1项目的制度成本分析5310.2 项目效益分析5510.3 本项目成本估算5610.4 投资初期的营销计划建议5710.5 销售收入及税金5710.6 利润估算5810.7 财务平衡分析5810.8 不确定性分析5810.9 结论59第十一章 结论及建议64