毕业设计软件开发任务管理系统.docx
- 文档编号:23486177
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:37
- 大小:649.86KB
毕业设计软件开发任务管理系统.docx
《毕业设计软件开发任务管理系统.docx》由会员分享,可在线阅读,更多相关《毕业设计软件开发任务管理系统.docx(37页珍藏版)》请在冰豆网上搜索。
毕业设计软件开发任务管理系统
毕业设计(论文)
设计题目:
软件开发任务管理系统
系部:
信息工程系
专业:
计算机网络技术
班级:
网络技术
姓名:
学号:
指导教师:
职称:
工程师
2013年5月
摘要
该系统经过前期合理的需求分析后,充分了解了企业(本文中的“企业”特指软件开发类公司)对软件开发任务的需要,并结合目前软件开发中使用的主流开发框架,来完成企业对软件开发任务的电子化、自动化、人性化以及合理性管理,达到易操作、高效率等目标。
其核心模块为开发任务管理模块,开发部的项目经理或接受任务的某个开发人员新建开发任务,该开发任务就会在预期的时间内,根据任务当前处于的开发阶段,可以更改为“待处理”、“完善”、“完成”等6种不同的状态。
没有过多繁杂的操作,方便管理,简化操作过程,提高了开发效率。
另外两个模块:
公司管理、模块管理。
前者包括对公司、部门和员工的基本信息的增、删、改、查操作,是整个系统的“地基”。
后者与核心模块联系非常紧密,模块即开发项目。
项目往往是由一个团队成员之间的配合完成的,它可以包含很多任务,由项目经理来分配这些任务。
系统会控制每个开发人员当下只有一个“执行中”的任务,以此做到任务分配的合理性。
本论文主要实现开发任务管理流程的各个环节。
关键字:
WEB开发、TOMCAT、MySQL、SSH、DWZ、任务管理
Abstract
Afterearlyreasonabledemandanalysis,thesystemfullyunderstandtheenterprise("enterprises"inthisarticlereferstosoftwaredevelopmentcompany)theneedforsoftwaredevelopmenttasks,andconnectingwiththecurrentmainstreamdevelopmentframeworkusedinthesoftwaredevelopment,tocompletetheenterprisesoftwaredevelopmenttasks,electronic,automation,humannature,andrationalityofmanagementtoachieveobjectivessuchaseasyoperation,highefficiency.
Itiscoremoduleforthedevelopmentoftaskmanagementmodule,thedevelopmentoftheprojectmanagerortaskforaprogrammertodevelopnewtask,thedevelopmenttaskwillwithintheexpectedtime,basedonthecurrenttasksinthedevelopmentphase,youcanchangeto"pending","perfect"and"finish"sixdifferentstate.Nottoomuchcomplicatedoperation,convenientmanagement,simplifytheoperationprocess,improvethedevelopmentefficiency.
Fortheothertwomodules:
thecompanymanagementandmodulemanagement.Theformerincludesthebasicinformationofcompanies,departmentsandemployeestoaddanddeleteoperations,isthe"foundation"ofthewholesystem.Whichistightlylinkedwiththecoremodule,moduledevelopment.Betweenprojectisusuallyconductedbyateammembertocooperatetocomplete,itcancontainalotoftasks,theprojectmanagertoassignthesetasks.Systemwillcontroleveryprogrammernowthereisonlyone"theexecutionoftasks,inordertoachievetherationalityofthetaskassignment.
Thisthesismainlyrealizesthedevelopmenttaskmanagementprocesseachlink.
Keywords:
WEBDevelopment、TOMCAT、MySQL、SSH、DWZ、TaskManagement
1开发背景
1.1企业管理开发任务现状
计算机产业在经历了仅仅半个世纪的时间就已经趋于成熟,软件开发作为一个新型行业应运而生,我国的软件产业起步于80年代初,经过了十几年的艰苦创业和发展,已具有一定的软件开发和小规模生产能力。
然而总体水平仍处于初级阶段,企业规模小、人员分散、抗风险能力较差。
目前,国内从事软件开发的企业已有数万家,其中有83000多家外资、合资企业。
从市场情况来看,我国软件市场成长较快。
据统计,2007年我国软件规模约2000亿元,2009年约为8000亿元,2012年约为13000亿元。
直到今天,在国内市场上,国产软件产品的市场占有率为30%,在软件及信息服务方面的市场占有率为50%。
从发展趋势来看,软件行业的发展前景比较乐观。
对于软件开发企业来说,这无疑使一件好事,但是也面临着诸多困难。
随着企业接受的开发项目不断增多,软件开发项目经理在安排开发任务时经常会碰到一个令人头疼的问题:
如何有效的分配开发任务,也就是如何确定一个团队中每个成员所负责的开发任务。
很多项目经理和开发团队的领导都被这个问题所困惑、无法有效地开展软件开发任务,从而降低了软件开发的效率。
其实这个问题并不是软件开发所独特具有的。
任何大型和复杂的项目,包括各种高科技和工程开发项目,都会面临这个典型的问题。
是否能够妥善处理这个挑战、并制定出相应的合理的开发项目的计划,是衡量一个开发团队的管理水准的重要指标之一。
大多数企业都采用纸质登记或其他的一些方式来处理这个问题,但是如果遇到任务的增多、公司人员调动频繁、多项目同时开展等问题,就会显得杂乱无章,造成开发效率低和人员分配不合理等问题。
目前,国内外的一些开发项目管理系统功能繁杂、售价高且并不针对软件开发任务管理,造成很多国内软件公司无法使用这些软件开发任务管理系统。
本系统在经过前期深入而又详尽的市场调研之后,认真做好需求分析工作,以易操作、效率高、实用性强为目标,以B/S模式,基于目前软件开发的主流开发框架DWZ+SSH,开发出了软件开发任务管理系统。
1.2实际管理中存在的问题分析
软件开发大体经历了三个发展阶段:
程序设计、程序系统和软件工程。
在程序设计阶段,软件的质量取决于开发人员个人的编程水平,开发人员的工作是在PC机上完成。
而当软件开发发展到程序系统阶段,软件的质量由软件开发小组编码和从测试质量决定,在这一阶段,开发人员之间的协作工作已经开始。
与此同时,软件开发环境的变更也越来越复杂:
人员调动、面向网络、团队工作方式及异地开发等,更突出了软件开发过程中出现的问题。
目前,软件组织面临着不断激化的市场竞争的同时,还面临着对开发任务的管理方面的问题,这些问题包括:
1.开发时间控制不合理;
2.多项目同时开展任务分配不合理;
3.异地开发无法实时登记;
4.无法有效管理任务交接问题。
2系统概述
2.1需求分析
实际上,计算机工业迅猛发展,尤其是以日新月异的速度发展的Internet技术及其应用,给软件行业带来了新的挑战,软件开发越来越难以管理,所以就需要寻求一种简单实用的管理系统来解决在实际管理中存在的问题。
1.一个项目须在规定的时间内完成,为了提高开发的效率,它需要合理的分配开发时间。
一个项目可以分成很多个开发任务由不同的开发人员去完成然后再进行代码的整合,所以这个时间并不是一个统一的时间,而是根据每一个开发人员所分配的开发任务的复杂程度决定开发时间,这样就方便项目经理对每个开发人员的开发时间控制,在时间分配上做到合理性。
2.对于一家软件企业来说,多项目同时开展是很常见的。
在管理开发任务的过程中,项目经理经常面临的问题就是如何一目了然的看到团队中每个开发人员的正在进行的开发任务的进度。
一个开发人员完全可以同时开展两个甚至多个任务,但是只能有一个任务的状态是“执行中”的。
已经有一个任务处于正在开发阶段,就无法再为其分配其它任务。
只有等到前一个任务进入下一个阶段了才能正式开始开发这个新任务。
经过这样的控制会让开发任务有条不紊的进行下去,即使经常有多任务同时开展的情况也不混乱,提高开发效率,减少开发出错。
3.在实际的开发过程中,难免会遇到出差驻地开发的情况,在远离公司又处于繁忙的工作当中,开发任务的调整不能及时被记录下来,项目经理需要花费一定的时间和精力来及时的了解项目的进展情况、把握整个项目的走势。
这样会加重项目经理的负担。
对于项目经理本身也有繁多的业务要处理,本系统不仅为软件开发任务提供了一个很好的管理平台,同时也能让项目经理从日常的管理事务中解脱出来,更专注于业务和技术管理。
在任意一台能够联网的电脑上就可以访问本系统,这也体现了B/S模式的优点。
即使在出差的情况下,也可以访问系统对开发任务进行增、删、改、查操作,防止项目经理在管理上做出失误的决策。
4.特殊情况下,一个团队在开展一个项目的时候会有开发人员休假或辞职,这样就会涉及到因人员调动而导致的任务交接问题。
对于项目经理而言,此类问题很棘手,要将这个任务再分配给另一个已经有开发任务的开发人员,无疑会加重其负担。
如果项目经理盲目的将一个已经完成一半的项目再分配给已经有“执行中”任务的开发人员,无形中就会给开发人员造成一种压力,难以专心开发。
然而每个开发人员的进度各不相同,如果有的开发人员正在做的任务不在“执行中”,而是早已进入下一个阶段或是已经完成了,但是项目经理又没有及时的了解到这个信息,就会造成人员的闲置和资源的浪费。
2.1.1系统运作
图2.1.1系统运作示意图
2.1.2系统流程图
图2.1.2开发任务管理流程图
2.1.3任务状态变迁
图2.1.3任务状态变迁图
2.2关键技术
本系统采用当今主流的Web开发框架DWZ+SSH。
SSH为典型的J2EE三层框架,分为表现层、业务逻辑层和数据服务层。
三层体系将业务规则、数据访问及合法性校验等工作放在业务逻辑层处理。
表现层不直接与数据库交互,而是通过业务逻辑层建立连接,再有业务逻辑层与数据服务层交互访问数据库。
2.2.1DWZ框架
DWZ既为富客户端框架(jQueryRIAframework),是中国人自己开发的基于jQuery实现的AjaxRIA开源框架。
其设计目标是简单实用、扩展方便、快速开发、RIA思路、轻量级。
因此DWZ框架成为本次毕业设计所选用的表现层框架之一。
表现层是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层打下了坚实的基础,与DWZ框架相结合。
DWZ框架区别与其它JS框架,优点如下:
1、完全开源,源码没有做任何混淆处理,方便扩展。
2、CSS和JS代码彻底分离,修改样式方便。
3、简单实用,扩展方便,轻量级框架,快速开发。
4、仍然保留了HTML的页面布局方式。
5、支持HTML扩展方式调用UI组件,开发人员不需写JS。
6、只要懂HTML语法不需精通JS,就可以使用Ajax开发后台。
7、基于JQUERY,UI组件以JQUERY插件的形式发布,扩展方便。
2.2.2SSH框架
SSH为struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。
Spring是J2EE开发中常用的框架并解决了许多常见问题。
Spring提供了管理业务对象的一致方法,并且让开发人员养成注入对接口编程而不是对类编程的良好习惯。
Spring的架构基础是基于使用JavaBean属性的InversionofControl(即:
反转控制。
在软件开发技术中是一种通过容器管理对象约束关系)容器。
Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。
Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。
Spring的数据访问架构还集成了Hibernate和其他O/Rmapping解决方案。
Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。
Spring提供了一个用标准Java语言编写的AOP(AspectOrientedProgramming意为:
面向切面编程,也叫面向方面)框架。
这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB(sun公司的服务器端组件模型)相关的关键服务。
Spring还提供了可以和IoC容器集成的强大而灵活的MVCWeb框架。
Struts是一个基于J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。
由于Struts能充分满足应用开发的需求。
因其具有简单易用、敏捷迅速等特点,所以在过去的一年中颇受关注。
Struts把Servlet、JSP、自定义标签和信息资源(messageresources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的提高了开发效率。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得开发人员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,完成数据持久化的重任。
图2.2.2SSH框架
一个良好的框架可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;它可以被扩展以进行定制化开发;并且有强大的用户社区来支持它的生存和发展。
框架通常能很好的解决一个问题。
然而,用户的应用时分层的,可能每一个层都需要各自的框架。
所以需要UI能够很好的与业务逻辑和持久性逻辑耦合。
在开发过程中体会到该框架的优点如下:
1.开发效率
软件工程是个特殊的行业,不同于传统的工业,例如电器、建筑及汽车等行业。
这些行业的产品一旦开发出来,交付用户使用后将很少需要后续的维护。
但软件行业不同,软件产品的后期运行维护是个巨大的工程,单纯从前期开发时间上考虑其开发效率是不理智的,也是不公平的。
众所周知,对于传统的ASP和PHP等脚本站点技术,将整个站点的业务逻辑和表现逻辑都混杂在ASP或PHP页面里,从而导致页面的可读性相当差,可维护性非常低。
即使需要简单改变页面的按钮,也不得不打开页面文件,冒着破坏系统的风险。
但采用严格分层J2EE架构,则可完全避免这个问题。
对表现层的修改即使发生错误,也绝对不会将错误扩展到业务逻辑层,更不会影响持久层。
因此,采用J2EE分层架构,即使前期的开发效率稍微低一点,但也是值得的。
2.需求的变更
很少有软件产品的需求从一开始就完全是固定的。
客户对软件需求,是随着软件开发过程的深入,不断明晰起来的。
因此,常常遇到软件开发到一定程度时,由于客户对软件需求发生了变化,使得软件的实现不得不随之改变。
当软件实现需要改变时,是否可以尽可能多地保留软件的部分,尽可能少地改变软件的实现,从而满足客户需求的变更?
答案是采用优秀的解耦架构。
这种架构就是J2EE的分层架构,在优秀的分层架构里,控制层依赖于业务逻辑层,但绝不与任何具体的业务逻辑组件耦合,只与接口耦合;同样,业务逻辑层依赖于DAO层,也不会与任何具体的DAO组件耦合,而是面向接口编程。
采用这种方式的软件实现,即使软件的部分发生改变,其他部分也尽可能不要改变。
2.2.3数据库
MySQL是一个关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
国内很多基于SSH框架的大型项目都采用Oracle,因为Oracle的昂贵,很多中小项目还在使用SQLServer数据库,但是考虑到对于平台的支持和服务器的性能问题,还有MySQL数据库具有体积小、成本低、总体拥有成本低、开源等特点,所以本系统决定使用MySQL数据库。
(1)简介与概要
MySQL是一个小型关系型数据库管理系统,开发人员为瑞典MySQLAB公司,现在已经被Sun公司收购,支持FreeBSD、Linux、MAC、Windows等多种操作系统。
其具有以下几个特点:
1、可以处理拥有上千万条记录的大型数据
2、支持常见的SQL语句规范
3、可移植行高,安装简单小巧
4、良好的运行效率,有丰富信息的网络支持
5、调试、管理,优化简单(相对其他大型数据库)
(2)常用字段类型
整数型:
TINYINT,SMALLINT,INT,BIGINT
小数型:
FLOAT,DOUBLE,DECIMAL(M,D)
字符型:
CHAR,VARCHAR
日期型:
DATETIME,DATE,TIMESTAMP
备注型:
TINYTEXT,TEXT,LONGTEXT
(3)常用SQL语句
1、创建数据库
CREATEDATABASEdb_nameDEFAULTCHARACTERSETutf8;
2、SELECT查询语句和条件语句
SELECT查询字段FROM表名WHERE条件
查询字段:
可以使用通配符*、字段名、字段别名
表名:
数据库.表名,表名
常用条件:
=等于、<>不等于、in包含、notin不包含、like匹配
BETWEEN在范围、notBETWEEN不在范围<、>
条件运算:
and、or、()
3、排序,分组,指针查询,计算
分组语句:
groupby字段
排序语句:
orderby字段,字段ASC/DESC
指针查询:
limit初始值,结束值
4、计算
COUNT(*)统计函数
MAX(*)最大值函数
MIN(*)最小值函数
AVG(*)平均值函数
SUM(*)累计值函数(∑)
5、Insert插入语句
insertinto表名(字段…,…)values(值…,…)
insertinto表名values(值…,…)
6、Update更新语句
UPDATE表名SET字段=值WHERE条件limit
常用条件:
=等于、<>不等于、in包含、notin不包含、like匹配
BETWEEN在范围、notBETWEEN不在范围
条件预算:
and、or、()
7、Delete删除语句
DELETEFROM表名WHERE条件limit
常用条件:
=等于、<>不等于、in包含、notin不包含、like匹配
BETWEEN在范围、notBETWEEN不在范围
条件预算:
and、or、()
3系统设计
3.1功能模块设计
3.1.1角色设计
本系统内置两种角色:
系统管理员和用户。
在开发之前,系统被内置系统管理员角色,该角色拥有系统的最高权限,用系统管理员角色登录进入系统,页面上将显示所有菜单,并且可以对系统的任意一项功能进行操作,是系统的最高管理员。
因为本系统主要用于管理开发任务,所以在实际的使用中,公司部门中只有一个部门即为软件开发部。
除了系统管理员之外,所有新增员工的角色皆为用户,作为用户,只能看到系统中部门的菜单和具有操作部门功能的权限。
图3.1.1角色权限
3.1.2公司管理模块设计
公司管理模块包括三个子模块:
公司信息、公司部门、公司人员,是对公司基本构成的管理。
此模块只有角色为系统管理员的登录者才能对其操作,以用户角色登录的用户无权管理此模块。
系统管理员登录本系统,点击公司管理菜单后展开里面的三个子菜单。
(1)点击公司信息菜单,页面主体部分会显示公司的基本信息,包括公司名称、负责人姓名、联系电话、公司所在地址以及备注等信息,如果是第一次进入此页面,公司信息中的所有输入框都是空的,需要登录者添加信息。
以后再次进入此页面,系统会将数据库中保存的公司信息回显到页面上,方便登录者查看,并可以直接在输入框中输入要修改的信息,然后点击页面下方的修改按钮,将数据提交到后台并保存到数据库中。
(2)点击公司部门菜单,页面主体部分显示公司部门的初始页面。
公司部门页面的上方只有一个添加按钮,下方是一个部门列表,点击添加按钮,系统会弹出一个添加部门的页面,新增部门有两种类型,分为有上级部门和无上级部门两种。
填写完所有信息后,点击保存按钮,弹出的页面会自动关闭,并回到初始页面。
新增的部门就会出现在部门列表中,并将部门名称、部门负责人和备注显示出来,最后一列是操作项,对部门进行修改和删除操作。
(3)点击公司人员菜单,其初始页面分为左右两个部分。
左侧为部门树,在点击添加之前,必须先选中部门树的一个部门,意为只能在某个部门下添加人员。
否则会弹出提示框提示用户必须先选择部门。
点击添加按钮,将弹出一个新增页面,其中所在部门会默认当前被选中的部门,无需填写,用户状态有启动和停用,默认启用。
填写完全后点击保存,页面会自动关闭,并返回初始页面,列表页面会刷新并显示新增记录。
列表的最后一列为操作选项,点击修改后,将弹出页面并回显该员工的所有信息,点击下拉框选择其他部门即可完成员工部门的调动。
填写完修改信息后,点击保存,系统会将数据提交到后台并保存到数据库中。
返回列表页面,点击禁用,此员工就无法再登录本系统,除非状态被改为启用。
3.1.3项目管理模块设计
项目管理模块下有四个子菜单:
新项目、项目维护、项目人员、项目模块。
和公司管理模块一样,都是为开发任务管理模块提供重要的基础数据支持,但是它的作用可以和开发任务管理模块相提并论。
(1)进入新项目初始页面,按照给定的输入项填写信息,其中,计划开始时间必须在计划开始时间之前。
备注采用在线编辑器,可以编辑字体和保存截图。
点击页面右下角的保存按钮将数据保存到数据库中,点击关闭按钮退出该页面。
(2)进入项目维护初始页面,页面上方有查看按钮,下方是项目列表。
选中一条数据,然后点击查看即可查看该条记录的详细信息。
最后一列的操作项中,有修改和删除按钮;点击修改将跳转到修改页面,只有备注可以清空数据,其他输入项在保存时不能为空,点击保存将数据提交到后台并保存到数据库中,同时关闭当前页面并返回列表页面,列表页面自动刷新将新增的数据显示出来;点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 软件 开发 任务 管理 系统