软件技术毕业设计(论文)在线项目管理协作平台.doc
《软件技术毕业设计(论文)在线项目管理协作平台.doc》由会员分享,可在线阅读,更多相关《软件技术毕业设计(论文)在线项目管理协作平台.doc(48页珍藏版)》请在三一办公上搜索。
1、题目:在线项目管理协作平台姓名:*专业:软件技术班 级:*指导教师:*2012年4月1日目录题目:在线项目管理协作平台1需求分析3背景3目前状况3存在问题4项目内容5基本模块5项目管理5人员管理5任务列表6消息版6高级模块7里程碑7工时管理7文件管理7功能概要说明书8目标8各个功能模块概述8详细设计16目的161.2.1把握整体的设计技术161.2.2 运用的实现技术21应用服务器上的面向业务逻辑的设计242.1逻辑结构接口实现设计:24浏览器上的面向对象的设计283.1.时序图表示283.1.1 时序图解释:283.1.2 项目时序图表示303.2 表示层前后连接及本身信息32数据库服务器上
2、的面向数据的设计364.1 数据库全局概念设计(E-R):364.2数据库中表的具体设计如下384.2.1项目表384.2.2模块表384.2.3任务表394.2.4角色表394.2.5工时表394.2.6员工表404.2.7消息表404.2.8文件表414.2.9邮件表414.2.10项目员工关系表424.2.11 员工模块表424.2.12 员工任务表43项目总结43需求分析背景 随着互联网的发展,以及Web 2.0概念的逐步为大众所接受,各种以“用户生成内容 (UserGenerated Content, UGC) ”为核心理念、强调个人之间的互联不分享、建立在良好的用户体验上的新一代网
3、站如雨后春笋涌现出来。其中,以“软件即服务(Software as a Service, SaaS)”为主导理念的网站是比较特别的一支。软件即服务倡导的是将软件部署为托管服务并通过互联网进行访问,也就是我们通常听到的把桌面软件网络化。目前状况 随着行业的完善和细分,各行业(尤其是软件行业)出现了越来越多的中小型公司、兼职团队和自由职业者,这些公司戒团队的组成及合作方式非常动态、变化极大、灵活性非常高,他们通常无法在一起面对面工作和沟通,甚至工作的时间段也并一致;加上资金有限,也没有能力购买一整套协作和沟通的软件。 在比较具有规模的公司,目前大多数项目负责人使用的项目管理软件,依然是微软的pro
4、ject。这个软件流行了这么多年,并可否认它确实有很多优点,但是在web 2.0概念盛行的现在,project 以及这类桌面项目管理软件更是有很多无法弥补的缺陷。存在问题 对于桌面项目管理软件(以project为例),主要有如下几个: 1. 费用相对较高(盗版除外); 2. 过于复杂,其中很多功能的使用频率都相当低; 3. 分享比较麻烦。通常的方式是通过email分享文件,但是由于版本过多以及比对麻烦,带来的问题非常棘手,尤其是对于比较大型的项目; 4. 最大的问题是,除了做项目安排之外,基本没有也无法集成其他方面的功能,比如在线方面的功能。带来的后果是每位组员看起来都是在独立工作,缺少即时沟
5、通和通知,比较难适应变化 大、灵活度高的情况。项目内容该实训项目的目标是搭建一个在线项目管理协作平台,方便项目负责人对于项目的规划、管理、任务分配和整体的把握,成员之间协作、沟通、分享资料和互相通知,以适应项目和团队的快速变化和远程协作以及跟踪每个参与人员的进度以及整个项目的进度,以及最后对每个参与人员和项目的评估。基本模块项目管理 1添加项目 2添加邀请项目成员 3查看项目信息 4结束项目 对项目和先关人员进行评估 以扇形图显示。 人员管理 1添加/邀请用户,并填写用户的基本信息 2给用户赋角色 3分角色查看用户 4查看用户任务(领导查看所有的下属的信息,普通用户查看自己的任务(包含未完成的
6、任务进度) 任务列表 1新建任务列表,在任务列表添加任务(发邮件给任务所有者) 2将任务分配给某个成员(设置可见度) 3设置任务优先级4设置任务为完成 5对人物进行评价 6按任务所有者过滤任务消息版 1发送消息,并选择消息通知的成员(是否email通知 2添加消息类型 3添加消息评论 4按类别查看消息 高级模块 里程碑 1添加里程碑,设定定时通知 2设置里程碑完成度 3关联任务到里程碑 工时管理 1为项目成员添加工时,并关联任务 2为项目成员统计工时 文件管理1上传项目文件 2添加文件分类 3添加文件作为消息附件功能概要说明书目标在这个项目中,我们想象模拟公司中的项目管理流程,在其页面上要充分
7、利用我们之前学习的JS、css、Jquery、Ajax等达到良好的用户体验效果,在具体实现上同样要利用我们能够达到的知识把从该项目中能够体现的东西发挥的淋漓尽致。比如说:1.熟悉软件的开发过程、2.熟练应用MVC设计模式、3.画出数据库E-R图并转化为表关系完成数据库分析设计、4.熟练掌握 HTML+DIV布局及调试工具、5.熟悉并严格遵守编码规范、6.熟练掌握Jsp,Servlet,JavaBean,JDBC,JSTL、7.使用javascript 完成页面验证、简单的页面效果。各个功能模块概述模块大类模块名功能说明基本模块基本模块基本模块基本模块基本模块Module1.前台1. 显示开发用
8、途2.提供登录的接口3.提供退出系统的接口该模块相当于是开发的首页面,在向用户展示软件明显用途的同时尽量在该页面上体现更多的美感。首先这边是向用户展现登录入口在页面上,登录的信息主要通过数据库设计的字段完成登录功能上可加入cookie的实现。登录后可依据自己登陆的角色查看项目信息,如:项目经理可以查看项目的完成度,项目的具体信息情况,普通开发人员可以查看自己的任务等等Module2.项目管理1. 添加项目2. 添加邀请项目成员(邀请的成员是已经在本系统存在的用户)3. 查看项目信息4. 结束项目操作这一模块的功能的对象应该具有较高的权限,相当于项目经理a. 按照给定的项目必须的信息可完成添加项
9、目,之后便转入到所有的项目列表中。b. 添加邀请项目成员根据已有的成员列表选择,这里应该是选择项目组长c. 查看项目信息就是能够根据项目列表查看到对应一项目的具体的信息,如参加人员,完成进度等等d. 结束项目,在项目经理全部审核完成后关闭此项目,同时完成对项目和相关人员的评估(用扇形图表示出来)Module3.模块管理1. 添加模块2. 删除模块3. 查询模块4. 更改模块(有权限控制)5. 发放模块(上级发给下级)a. 根据所在的项目和需要添加模块,在这里是到了项目组长级,接到项目后添加模块在项目里b. 项目组长根据需要可以查询更改和删除模块,这些操作达到基本要求即可c. 模块创建完成后要发
10、到指定负责人手中,根据存在的项目成员选择。Module4.任务列表1. 新建任务列表2. 将任务分配给某个成员3. 设置任务优先级4. 设置任务为完成5. 对人物进行评价6. 按任务所有者过滤任务a. 在新建任务列表中,明显的要能够添加任务,为了人性化,同时应具有发送邮件给任务所有者的功能b. 将任务分配好之后同时设置可见度,其实就是权限的问题c. 在项目的众多任务中,会有完成的紧急度,在这里设置优先级,使开发人员更容易把握自己所做的事情的程度。d. 当项目组长确定该任务完成之后就可以标记该任务为完成e. 当项目组长标记任务完成的同时就可以对负责该任务的人员进行评价f. 每个任务所有者都有他的
11、任务,当他要查看任务时只显示他自己的任务,当然普通开发人员以上的所有人员都可以随意查看Module5.人员管理1. 添加/邀请用户,并填写用户基本信息(这里的添加邀请相当是用户在本系统的注册(需要权限)2. 给用户赋角色3. 分角色查看用户该模块也可以理解为角色管理模块a. 当有新的用户要进入该项目的开发中时,就要添加用户的信息,相当于完成用户在该项目中的注册b. 用户添加完成之后,相当是注册,如果有必要就直接为其添加在此项目中担当的角色,比如:项目组长、编程人员等c. 在一个项目的开发中会有不同的角色,如项目经理、项目组长、普通开发人员,可以根绝这些角色查看该角色中的具体人员Module6.
12、消息版1. 发送消息2. 添加消息类型3. 添加消息评论4. 按类别查看消息a. 发送消息时可根据已存在的对象选择发送的对象(Email通知)b. 消息可分为多种类型,根据发送的消息可选择c. 消息既然发送出去并被人看到自然可以对消息评论一下,这也相当于一个项目组里的交流平台了d. 既然消息已经分了类型,当查看消息时就可根据自己的意愿查看自己感兴趣的消息e. 添加文件作为消息附件高级模块高级模块高级模块Module7.里程碑1. 添加里程碑,设定定时通知2. 设置里程碑完成度3. 关联任务到里程碑a. 在一个项目中也可分为几个阶段,划定的每个阶段都可作为一个里程碑,比如完成第一次的整合就可以当
13、做一个里程碑,设置里程碑应该具有调动开发人员积极性的效果b. 当达到已设定的里程碑的时候就是该里程碑完成了,一步一步的都可以标记里程碑的完成度c. 里程碑根绝任务的完成度决定,自然要与任务关联Module8.工时管理1. 为项目成员添加工时,并关联任务2. 为项目成员统计工时a. 一个项目的成立,都会有它的工时,参与人员都会有完成其工作的计划时间,同样的每个成员都对应着他的任务,根据任务的实际情况为项目成员添加工时:把项目的功能及任务从数据库中读出来并用表单显示,对应之下可以为每个具体的任务添加工时,然后提交上去并放到数据库中b. 当零零散散的工时安排好之后需要整理每个项目成员的任务和对应的工
14、时:按项目成员编号查询他的所有任务对应的工时用列表显示出来Module9.文件管理1. 上传项目文件2. 添加文件分类3. 添加文件作为消息附件a. 利用所学的文件上传知识便可把项目文件上传到该项目中b. 为上传文件时选择类别,让查看文件更方便,这部分在上传文件时就应该表现出来,如放在form的select里,也会有很好的用户体验c. 在消息模块中就运用到添加文件,实现是一样的详细设计目的 提供一个在项目开发过程中支持项目组成成员交流、合作、共享数据资料;支持项目负责人规划、管理、分配的友好平台。切合项目开发进程的把握和团队快速协作的整体高度的提升要求。1.2系统关键技术1.2.1把握整体的设
15、计技术 1.2.1.1 MVC模式 1.2.1.1.1 MVC设计模式从名称的组成上来说就是:Model、View、Controller,下面看一下它的关系图 模型(Model)封装程序内部的数据状态封装业务处理方法内部状态改变时通知视图视图(View)显示模型中的数据接受模型的数据更新通知将用户操作传递给控制器控制器(Controller)接受用户操作调用模型的业务处理方法选择相应用户操作的视图数据状态查询状态改变通知调用业务方法和修改数据选择视图用户操作要求1.2.1.1.2 为了详细了解它的执行流程,下面来看一下其实现流程图1.2.1.2 面向接口在本次项目中,我们所做的重点就是放在了接
16、口上面,力求做到全部面向接口的编程,java面向对象已经学习了很久,这次项目中,我们就把之前所学习的关于面向对象的精华都运用到其中,很早之前就听老师说过接口,并且老师一直在强调关于接口的好处,之后我们又接触到了关于设计模式的内容,从而对面向对象的理解又加深了一步,在这次的项目中充分体现了我们队面向对象的理解。我们在这次项目中一共用到了24个接口,其中14个是DAO的接口,其中有10个是BO的接口,在接口中我们定义的都是一些标准,这些标准都是来源于需求分析,组员严格按照定义好的标准做,不会出现混乱的情况,表现出整体感。同时充分体现接口的灵活性。比如说我们具体的实现方式改变了,但是我们是面向接口的
17、编程,只要做到把关于这个实现类赋给这个接口就好,那么在具体的运行中,它会动态的进行绑定,这样程序的灵活性就很好了,之后我们为了让其更加的灵活,我们运行配置文件,写一个专门的辅助类进行解析这个配置文件,得到要得到实现那个接口的具体的全类名称(带包的),之后运行工厂模式来得到,这样的话,如果后期进行修改的时候,我们要做的就仅仅是去修改配置文件就好,而其他的地方都不需要进行任何的修改了,这样我们就做到了面向接口的编程。但是面向接口并不是我们所追求的,我们追求的是面向接口给我们带来的好处,这样之后我们小组就可以同时继续任务,而不会出现相互等待的过程了,这样的效率也高,并且标准都是统一的,把握和处理好团
18、队工作的优势1.2.1.3 数据库连接池 我们使用连接池的原理和原因,以便更好地理解: 它的基本思想是为数据连接建立一个缓冲池,预先在缓冲池中放入一定数量的连接,当需要获得数据库连接时就从缓冲池里取出一个,用完之后再放回去。它负责分配、管理和释放数据库连接,允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个,释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能,从而也会提高整个项目的性能1.2.1.3.2 使用方式 a. 配置tomcat下的conf下的context.xml文件,添加链接池配置,如 Res
19、ource name=”jdbc/oracle” Auth=”container” Type=”javax.sql.DataSource” driverVClassName=”oracle.jdbc.driver.OracleDriver” url=”jdbc:oracle:thin:host:port:database” username=”user” password=”password” .b.配置你的应用下的web.xml如 jdbc/oracle javax.sql.DataSource Container c.在需要获得数据库连接的地方使用 如: Context initConte
20、xt = new InitialContext();Context envContext = (Context) initContext.lookup(java:/comp/env);DataSource ds = (DataSource) envContext.lookup(jdbc/myoracle);Connection conn = ds.getConnection(); 1.2.2 运用的实现技术在这里显示我们在系统开发过程中会用到的技术的一部分作为标志,每一项技术也只是表达一下大概,没有具体的实现实例。 1.2.2.1 log4j:辅助系统开发过程中是开发人员知道系统的运行情况、出
21、错信息以及可能的问题,使用方式:a.导入org.apache.log4j.Logger以及相关包 b.根据配置文件初始化log4j c.在需要使用的地方获取Log实例,如 Logger logger = Logger.getLogger(MessageLog); d.使用Logger对象的debug/info等方法,如 logger.warn(“Are you sure!”); 1.2.2.2 JSTL:系统中可采用JSTL标签库进行页面数据的显示,使用方式: a.导入标签库,如 b.在页面中使用JSTL表达式,如 $u 1.2.2.3 EL:系统中可采用EL表达式进行页面数据的显示,使用方式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术 毕业设计 论文 在线 项目 管理 协作 平台
链接地址:https://www.31ppt.com/p-3994160.html