《企业项目管理系统(共18页).doc》由会员分享,可在线阅读,更多相关《企业项目管理系统(共18页).doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 1系统分析1.1可行性研究可行性研究是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。1.1.1 技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了当前新兴的Browser/Server模式进行开发。三层的B/S体系结构具有许多传统Client/Server体系结构不具备的优点,而且又紧密的结合了Internet/Intranet
2、技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器选用SQL Server 2000数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台能满足此系统的需要。1.1.2 操作可行性操作可行性主要是分析系统的运行方式、操作规程在用户组织内是否可以有效、顺利实施等问题。在网络正在迅猛发展的今天,越来越多的人开始注重操作的简洁而方便于工作,随着科学技术的发展
3、,知识量的增大,设计本系统代替了人工操作的不便,因此系统在实践上具备了可行性。该系统设计清晰,有良好的用户界面,操作简洁,有完善的异常处理机制和提示信息,用户只要经过简单的培训就可使用,因此操作方面可行。1.2 需求分析本次开发的企业项目管理系统的目标是实现对IT企业所开发的各个项目信息进行管理,实现管理自动化、系统化、规范化。本系统是基于B/S结构,采用基于MVC模式的Struts框架,使用JSP技术,后台数据库采用SQL Server 2000开发而成,力求与实际相结合具有查询、管理等功能,旨在达到使企业项目的管理和运营更加简单化,使之更加方便、快捷以提高工作效率。本系统具有以下功能:1信
4、息录入功能l 项目信息:包括项目编号、项目名称、客户名称、项目开始时间、项目结束时间、所属部门编号、成本/收益、项目状态和备注l 员工信息:包括员工编号、员工姓名、性别、部门编号、项目经验l 部门信息:包括部门编号、部门名称、员工数、项目总数、备注2信息存储功能能存储项目信息、员工信息、部门信息等重要数据。3查询功能l 能浏览所有项目的详细信息l 能查询固定时间段内所开发的所有项目的详细信息l 能查询每个项目的详细信息4统计功能l 能统计每个员工曾开发过的所有项目信息l 能统计每个部门曾开发过的所有项目信息l 能统计项目的总数及不同阶段准备执行项目、正在执行项目和已完成的项目各自所占的比例5数
5、据输出功能能将所有项目信息按完成时间进行排序,并用Excel表的形式导出。6数据维护功能对已输入的各项数据,如项目信息、员工信息、部门信息等数据可以由专门的具有操作权限的管理员进行删除和修改。2系统总体设计2.1 系统设计的目标企业项目管理系统主要是针对项目开发过程中企业对多个项目同时管理,开发人员可以看到每个项目的立项信息和进展情况,能够精确的查询当前正在进行的项目。其次,尽量做到每项工作都留有痕迹,相关信息能够共享。能够辅助决策人员实现项目的精细化管理,使业务流程更加规范。最后,能够使内部工作效率提高,部门间协同工作的水平能够有效提升,并对流程实现全程监控,通过企业项目管理规范业务上的薄弱
6、环节。2.2 系统功能模块图经过对整个系统的详细分析,对功能模块的划分,整个系统大体分为以下几大模块:新增项目、项目维护、表格处理、项目查看、项目统计、当前任务、用户管理等模块。本系统所设计的功能模块如图2.1所示。企业项目管理用户管理模块新增项目模块项目查询模块项目维护模块当前任务模块表格处理模块项目统计模块图2.1 功能模块图2.3 系统流程图整个系统采用B/S模式,需要大量对数据库进行操作,要求数据库设计的严密性、安全性,对数据库操作尽可能多的采用视图和存储过程,数据库操作结束,要关闭记录集断开连接,增加数据库的访问速度,提高系统的稳定性。系统整体流程设计如图2.2所示。浏览YN操作或管
7、理N登陆密码权限系统功能不显示系统功能管理员用户删除/修改修改新增项目添加用户项目查询项目维护当前任务表格处理项目维护添加项目显示信息查询信息删除项目显示信息输出表查看信息按时间段按项目名称执行项目准备项目完成项目显示比例项目总数图2.2 系统流程图2.4 数据库设计2.4.1 数据字典数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。1数据项(1)数据项:Project_id含义说明:唯一标识每个项目别名:项目编号长度:4取值含义:每位按
8、顺序编码逻辑关系:主键,决定项目的其它数据项(2)数据项:User_id含义说明:唯一标识每个用户别名:用户编号长度:4取值含义:每位按顺序编码逻辑关系:主键,决定用户的其它数据项(3)数据项:Clerk_id含义说明:唯一标识每个员工别名:员工编号长度:4取值含义:每位按顺序编码逻辑关系:主键,决定员工的其它数据项(4)数据项:Department_id含义说明:唯一标识每个部门别名:部门编号长度:4取值含义:每位按顺序编码逻辑关系:主键,决定部门的其它数据项此处仅列出了起决定作用的数据项。2数据结构(1)数据结构:项目含义说明:是企业项目管理系统的主体数据结构,定义了一个项目的有关信息组成
9、:项目编号、项目名称、客户名称、项目开始时间、项目结束时间、所属部门编号、成本/收益、项目状态和备注(2)数据结构:用户含义说明:定义了系统使用者的有关信息组成:用户编号、用户姓名、密码和权限(3)数据结构:员工含义说明:是企业项目管理系统中执行者的主要结构,定义了一个员工的有关信息组成:员工编号、员工姓名、性别、部门编号和项目经验(4)数据结构:部门含义说明:是企业的组成部分,定义了一个部门的有关信息组成:部门编号、部门名称、员工数、项目总数和备注3数据存储(1)项目信息简述:用来存储有关项目的信息输入数据:项目信息输出数据:项目信息(2)用户信息简述:用来存储有关用户的信息输入数据:用户信
10、息输出数据:用户信息(3)员工信息简述:用来存储有关员工的信息输入数据:员工信息输出数据:员工信息(4)部门信息简述:用来存储有关部门的信息输入数据:部门信息输出数据:部门信息由上述分析可知,各个主要信息之间的联系如下所述:一个项目可由多个员工开发,一个员工只能开发一个项目。一个部门可开发多个项目,一个项目只能归属于一个部门开发。一个部门有多个员工,一个员工只能属于一个部门。2.4.2 概念结构设计将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。描述概念模型的有力工具是E-R图。通过对本系统的详细分析和对实体的划分,可以用E-R图分别表示出各个实体及其属性,以及用E-R
11、图表示出各实体之间的联系。用户实体及属性如图2.3所示。用户用户编号用户名称密码权限图2.3 用户实体及其属性员工实体及属性如图2.4所示。员工员工编号员工姓名性别部门编号项目经验图2.4 员工实体及属性部门实体及属性如图2.5所示。部门部门编号部门名称员工数项目总数备注图2.5 部门实体及属性项目实体及属性如图2.6所示。项目项目编号项目名称客户名称结束时间所属部门开始时间成本/效益备注图2.6 项目实体及属性项目与部门之间的联系如图2.7所示。1n项目部门属于图2.7 项目与部门实体之间的联系员工与项目之间的联系如图2.8所示。nm员工项目项目开发开发人数开发时间备注图2.8 员工与项目实
12、体之间的联系员工与部门之间的联系如图2.9所示。1n员工部门归属图2.9 员工与部门实体之间的联系各子系统的分E-R图设计好以后,下一步就是将所有的分E-R图综合成一个的总E-R图。按照合成总体E-R图的规则,画出完整的E-R图,如图2.10所示。nmn11n员工部门归属项目项目开发属于图2.10 系统E-R图2.4.3 逻辑结构设计逻辑结构设计的任务就是把概念结构设计阶段设计好的E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。目前DBMS产品一般为关系、网状、层次三种模型中的某一种,对某一种数据模型,各个机器系统又有许多不同的限制,提供不同的环境与工具。关系模型的逻辑结构是
13、一组关系模式的集合。E-R图是由实体、实体的属性和实体之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转换为关系模型。根据E-R图向关系模型的转换规则,可将企业项目管理系统的E-R图转换为关系模型如下:员工(员工编号,员工姓名,性别,部门编号,项目经验),主码为员工编号。项目(项目编号,项目名称,客户名称,项目开始时间,项目结束时间,所属部门编号,成本/收益,项目状态,备注),主码为项目编号。部门(部门编号,部门名称,员工数,项目总数,备注),主码为部门编号。用户(用户编号,用户名,密码,权限),主码为用户编号。项目开发(员工编号,项目编号,
14、开发人数,开发时间,备注),主码为员工编号和项目编号,在此关系中员工和项目之间是多对多的联系,员工编号和项目编号联合作为项目开发联系的主码,项目开发联系本身的属性作为关系的属性。2.4.4 数据库表设计本系统将使用用户表,项目信息表、部门信息表、用户表和项目开发表记录系统的数据信息,详细表定义结构如下所示:1用户表:用于存放系统用户的信息。其中用户名字段必须是员工姓名字段的子集,因为系统中规定只有员工才有资格成为系统用户,登录此系统并进行相关的操作。具体设计如表2.1所示。表2.1 用户表(user)字段名说明类型长度备注User_id用户编号int4主键User_name用户名varchar
15、10password密码int4power权限varchar102员工信息表:用于记录与员工相关的数据信息,其中项目经验描述的是该员工曾经开发过哪些项目的名称,具体设计如表2.2所示。表2.2 员工信息表(clerk)字段名说明类型长度备注Clerk_id员工编号int4主键Clerk_name员工姓名varchar10Clerk_sex性别varchar4Department_id部门编号int4外键Clerk_project项目经验varchar50projectInfo备注varchar503 部门信息表:用于记录与部门相关的数据信息,其中项目总数描述的是本部门曾经开发完成的项目数,具体
16、设计如表2.3所示。表2.3 部门信息表(department)字段名说明类型长度备注Department_id部门编号int4主键Department_name部门名称varchar20Clerk_count员工数int4Department_Project项目总数int4Department_Info备注varchar504项目开发表:用于记录项目在开发过程中的相关数据信息,具体设计如表4.4所示。表2.4 项目开发表(project)字段名说明类型长度备注Clerk_id员工编号int4主键Project_id项目编号int4主键startTime开发人数Smalldatetime4en
17、dTime开发时间smalldatetime4projectInfo备注varchar505项目信息表:用于记录与项目相关的数据信息,具体设计如表2.5所示。表2.5 项目信息表(project)字段名说明类型长度备注Project_id项目编号int4主键Project_Name项目名称varchar50Customer_Name客户名称varchar50Department_id所属部门编号int4外键startTime项目开始时间smalldatetime4endTime项目结束时间smalldatetime4projectInfo备注varchar50state项目状态int4cost
18、成本/收益varchar502.4.5 数据库创建和表的创建create database stuDB on STU name=stuDB_data, filename=D:stuDB_data.mdf, size=5mb, maxsize=100mb, filegrowth=15% log on name=stuDB_log, filename=D:stuDB_log.ldf, size=2mb, filegrowth=1mbcreate table user User_id int primary key,User_name varchar(6) not null, password in
19、t not null, power int not nullcreate table clerkClerk_id int primary key,Clerk_name varchar(10) not null,Clerk_sex varchar(4) not null,foreign key (Department_id) references department(Department_id),Clerk_project varchar(50) not null,projectInfo varchar(50) not nullcreat table departmentDepartment_
20、id primary key,Department_name varchar(20) not null,clerk_count int not null,Department_project int not null,Department_info vachar(50) not nullcreate table projectionprimary key(Clerk_id,Project_id),foreign key(Clerk_id) references clerk(Clerk_id),foreign key(Project_id) references project(Project_
21、id),startTime smalldatetime not null,endTime smalldatetime not null,projectInfo varchar(50) not nullcreate table projectProject_idintprimary key,Project_Namevarchar(50) not null,Customer_Namevarchar(50) not null,foreign key Department_id references department Department_id,startTimesmalldatetime not
22、 null,endTimesmalldatetime not null,projectInfovarchar(50) not null,stateint not null,costvarchar(50) not null2.4.6 数据库连接整个系统使用通用数据链接 (UDL)文件来保存连接字符串。使用UDL 文件存储数据库连接的方式和使用“JDBC 数据源名称”非常相似。UDL 文件存储 OLE DB 连接信息。用存储在该 UDL 文件中的信息可以打开 ADO 连接,从而允许管理员在需要的情况下更改它,并且避免了打开注册表或者使用 JDBC。用于连接数据库的主要代码如下:package co
23、m.db;import java.sql.*;public class openDB private String sDBDriver = com.microsoft.jdbc.sqlserver.SQLServerDriver;private String sConnStr = jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=project;private String name = sa;private String pass = sa;public openDB()public Connection getConnection(
24、) throws Exception Connection conn = null;Class.forName(sDBDriver);conn = DriverManager.getConnection(sConnStr,name,pass);return conn;3系统详细设计3.1 权限管理由于此系统使用者主要是公司管理人员,但也涉及到公司全体员工,每个部门每个员工负责不同的业务、不同的功能,这就要求系统设计权限要明确,数据的安全性要高。整个系统采用三维权限表(操作者,操作对象,操作权限)来管理权限,对于每一个栏目,系统管理员可以对每一个操作者设置不同的访问和操作权限,这样更好的保证了信
25、息的安全性。根据系统的要求,本系统的登录用户主要分成管理员和普通用户。管理员:可以进行所有功能,如新项目的添加,项目的查询,当前任务的管理和项目的统计分析等。普通用户:只能查询项目信息。当以普通用户身体登录系统时,只有项目查询、项目维护和当前任务标签是可用的,其余标签则为灰色不可用状态。在项目维护标签下有个修改和删除按钮,此时这两个按钮是不可见的。在权限管理模块中,主要实现对用户的增加、删除和修改等功能。当弹出添加用户界面时,输入的用户名必须是与现有员工的姓名相匹配的,因为必须是本系统内部员工才有资格成为系统用户,而且不能与用户表中的用户名相重复。密码框内若不输入任何数据,则默认的初始密码为该
26、用户所对应的员工编号,点击添加按钮则将该用户信息添加到用户表中。点击重置按钮则清空初始化信息。3.2 新增项目模块公司对新接收的项目进行信息的添加,这个模块实现了对项目的信息录入功能,并将填写的内容提交到数据库进而保存。项目信息包括:项目的名称、客户名称、开始日期、完成时间、收益/成本、项目备注等,详细的记录每个项目基本信息。点击提交按钮时,系统会自动检查输入数据类型是否与定义的数据类型匹配,如匹配则将数据成功保存。3.3 项目查询项目查询模块主要完成三种查询操作:查询每个员工所开发过的项目信息、查询每个部门所开过的项目信息和查询项目的详细信息。查询每个员工所开发过的项目信息时首先需要对项目开
27、发表中的员工编号进行查询,例如查询员工编号为101的员工曾开发过哪些项目,则需要查询项目开发表中101的员工编号所对应的项目编号,再根据每一个对应的项目编号在项目表中查询,将查询到的结果集显示出来,即完成此项操作。查询每个部门所开发过的项目信息时需要在项目表中根据部门编号找到该部门所开发过的项目,将所查询的结果集显示出来,即完成此项操作。查询项目的详细信息分成两种查询方式:模糊查询和精确查询。如模糊查询可以按时间段查询,通过日历框选择项目的开始和结束时间,点击查询就可以显示在这个时间段内进行的项目。精确查询可以按项目名称查询,点击查询按钮就可以显示该项目的详细信息,同时可以对查询到的项目进行修
28、改。3.4 项目维护分类显示项目的资料,正在准备的,正在进行的和已完成的项目。管理员必须实时对项目的状态进行跟踪并记录,随时更新状态发生变化的项目。在此模块中,不仅完成了分类显示功能,而且管理员还可以对显示的项目进行修改和删除操作,但是普通用户登录时则修改和删除按钮是不可见的。3.5 当前任务显示现在正在执行的项目,包括:项目的名称、客户名称、开始日期、结束日期、状态、和项目备注。按照项目的开始时间对所有的项目进行排序显示。通过这个界面可以看出每个项目进行的时间和完成的时间。使管理者更好的掌握项目的进度。3.6 项目统计分析显示项目的总数和不同阶段项目所占的比例,很够清晰的看出公司完成了多少项
29、目,有多少项目正在进行中,还有多少项目在准备中。这样显示可以更好的安排项目、及时调整项目开发的推进时间。3.7 表格处理显示所有项目的信息,本模块主要只运用了分页功能和报表的导出功能。分页功能使每一页显示5条信息,分多页显示。有多个页面的连接,如:首页、末页、第几页、上一页、下一页。表格的保存功能,可以将当前页保存到指定的文件路径D:/,可以对文件名称进行编辑。每次保存文件时系统将自动替换原文件,建议最好将文件备份,以免数据丢失。点击保存按钮后,在D:/目录下会自动生成一个project.xls文件, 专心-专注-专业4软件测试1权限管理模块测试数据:用户名张明与密码101,用户名李威与密码1
30、23。测试结果:当用户名与密码正确时,进入系统操作。张明的权限是普通用户,所以当此用户登录系统时,只有项目查询、项目维护和当前任务标签是可用的,其余标签则为灰色不可用状态。李威的权限是管理员,所以当此用户登录系统时,所有的标签都是可用的。2添加模块测试数据:根据界面中提示的信息,输入相应数据值,进行操作。测试结果:输入的内容部分不能为空,并且将要添加的内容添加到数据库中。3删除模块测试结果:当触发操作时,要删除的数据是从数据库中移除。若数据消失,删除操作成功;反之,此操作失败。4修改模块测试结果:当触发操作时,对当前内容进行修改,并更新数据库中的内容。若数据库中的内容更新,修改操作成功,反之操
31、作失败。5查询模块测试结果:输入查询条件,将显示要查询的内容。在数据库中存有数据的前提下,当输入查询条件时,显示正确的查询结果,操作成功。反之操作失败。5总结企业项目管理系统最初版本设计完毕,最初版本包括了目前企业项目管理的基本功能,也是主要的功能,这个系统的主要功能已经实现,可以正常使用,虽然系统还存在一些小的问题和不足,但这些问题不影响功能的实现,可以在以后的应用中不断的改进,功能不断的添加和完善,相信企业项目管理系统的应用在结合公司ERP和OA系统的实施,必会将公司带到一个新的层次,使公司的效益达到一个新的台阶。21世纪是项目管理的世纪。建立和推行企业项目管理体系具有重大现实意义如前所述
32、,当前,全球范围内的项目管理热潮方兴未艾。美国财富杂志也曾预言,21世纪是项目管理的世纪,因为一切商务活动都有可能转化为项目。项目管理以其独特的魅力,受到各大产业领域内越来越多的企业的高度重视,呈现出强大的生命力,大有星火燎原之势。在这样一种背景下,为了应对日趋激烈和复杂的市场竞争,企业顺应时代潮流,引入现代企业项目管理理念,建立和推行企业项目管理体系,用制度和管理体系从根本上来保障所有项目的成功实施,已势在必行。现代企业,如果没有这样一整套制度和管理体系的保障,仅仅满足于个别项目的成功,那么很难实现可持续发展。而不能实现可持续发展的企业,终将被市场无情地淘汰。建立和推行企业项目管理体系具有重大现实意义。但我们也必须认识到企业项目管理在实施过程碰到的各种障碍和困难,只有发现问题并解决问题,企业项目管理才能得到真正的发展。不久的将来,企业项目管理体系必将在各大产业领域内绽放无限生机,彻底改变项目管理方面的落后面貌,给企业带来无穷的活力和难以估量的价值。当然企业项目管理体系还在不断发展和完善中,需要更多的企业和个人去实践和探索,总结和发展出更加符合时代发展的企业项目管理模式和工具。