软件项目管理系统本科学位论文.docx
- 文档编号:25478521
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:44
- 大小:2.94MB
软件项目管理系统本科学位论文.docx
《软件项目管理系统本科学位论文.docx》由会员分享,可在线阅读,更多相关《软件项目管理系统本科学位论文.docx(44页珍藏版)》请在冰豆网上搜索。
软件项目管理系统本科学位论文
摘要
软件行业调查统计表明,软件开发行业缺乏软件开发管理工具,开发一套软件项目管理系统,可以方便交流、共享技术、高效完成任务。
本系统是采用开发语言、Ajaxjquery技术和SQLSERVER2008数据库技术开发的一套B/S模式的软件项目管理系统。
系统主要包括任务管理、信息管理、项目管理、客户信息管理、项目开发人员管理等模块。
项目系统投入运行后,可以减轻项目经理的工作负担,方便文件共享、团队交流、任务审核等。
关键词:
项目管理;B/S;ASP.NET;Ajax;SQLSERVER
Abstract
Softwareindustrysurveyshowedthatsoftwaredevelopmentindustryisshortofsoftwaredevelopmentmanagementtools,developingasoftwareprojectmanagementsystem,whichwecaneasilycommunicate,sharetechnology,andefficientcompletionoftasks.
Thissystemisuseddevelopmentlanguage,AjaxjquerytechnologyandSQLSERVER2008databasetechnologydevelopedbyaB/Smodelofsoftwareprojectmanagementsystem.Thesystemincludestaskmanagement,informationmanagement,projectmanagement,customerinformationmanagement,projectmanagementmoduledevelopers.
Projectsystemputintofunctioning,whichcanreducetheburdenonprojectmanagerstofacilitatefilesharing,teamcommunication,taskaudit.
Keywords:
Projectmanagement;B/S;ASP.NET;Ajax;SQLSERVER
第1章绪论
1.1系统开发背景
随着IT行业技术水平的快速发展,不同行业已经有不少企业把经济发展的重心转移到了网络上,这样导致部分企业通过网络抢占非本地的商机,以至于各企业对网络媒体求贤若渴,因此,软件开发行业在迅速的发展,以至于致力于软件行业的工作人员工作繁重。
另一方面,软件开发行业中,软件生命周期比较短,软件技术更新比较迅速,因此这也使得软件开发人员的工作更加繁重。
从我从事软件开发的工作的一年中,我从中发现,项目开发人员,在交流方面,需要及时的交流才能高效的少走弯路的完成每天的开发任务;在技术以及文档方面,也需要有一个统一的共享文件管理工具;在项目开发分配的任务中,项目经理需要根据项目进度去给每一个开发人员分配一定的任务,并且去查看每一个开发人员的任务完成情况。
因此,软件开发人员需要一个能够及时交流以及查看共享文件的和管理项目开发进度的软件。
1.2系统研究目的和意义
基于我国在软件开发管理方面的现状,经过多方面的调查,参阅现有的一些管理系统,开发此项目管理系统,其主要目的是满足软件开发组及领导对软件项目及开发人员的管理的需求,并减轻软件项目经理的工作负担。
该系统最基本的功能就是项目经理可以给项目组开发人员分配任务,查看项目组成员任务的完成的情况,管理项目组成员的交流信息,管理项目计划以及项目信息和项目技术文件,管理项目客户基本信息,管理项目组成员信息,查看个人任务。
其他角色的能够通过该系统和项目组员交流、上传下载项目共享文件,以及查看分配个人的任务。
项目中的主要功能是项目的组成员的管理以及项目任务以及项目的基本信息的管理。
项目的这几大模块都各有联系,都是不可缺少的模块。
1.3可行性分析
该系统采用MicrosoftVisualStudio2010软件作为工具进行系统开发。
数据库采用微软SQLServer2008。
这些工具也都是.net开发人员比较熟知的开发工具,所以在应用性以及普遍性很占优势。
这对于系统的后期维护有了极大的方便。
此系统在任务管理、项目人员交流、项目基本信息管理等方面简单易懂,方便用户使用,并且系统中有许多地方的功能是比较人性的,比如编辑任务的时候,输入任务执行人部分名字的时候,系统可以模糊匹配,方便用户输入。
并且系统中任务管理方便,方便项目组成员之间交流,主要用于项目组开发人员的使用,便于开发人员之间交流,方便项目经理管理项目组成员,提高开发人员的开发效率等。
因此该系统具有比较人性的可行性。
第2章系统需求分析
2.1用户功能需求分析
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求,本人通过对洛阳、新乡等站点进行详细的实地考察以及利用网络等多种渠道,了解了我国在铁路信息查询方面的一些现状以及旅客、铁路部门工作人员对智能铁路查询系统的各种要求,调研结果如下:
首先,需要根据软件行业中开发人员的需要以及工作的流程去了解一个项目组中,有哪些开发角色,以及在开发不同的项目的时候,有哪些共同点等,从个人从事项目开发的经验来看,一个项目组中分别包含软件开发人员、UI(前端)开发人员,测试开发人员以及一个项目组的负责人项目经理,他们分工明确,相互协调工作,完成一个完整的软件项目的开发流程,在开发流程的过程中,一些过程文档需要统一整理。
根据项目组开发人员的不同角色可以分为以下需求功能。
开发人员:
包含软件开发人员、前端开发人员、测试开发人员,他们在项目的流程的过程中,不懂的可以再项目中相互讨论,发表不同的意见,以促进他们对项目的进一步的认识与理解;同时,在开发的流程中,一些过程文档,大家可以拿来共享,以方便参与的项目人员查看;开发人员根据项目管理系统中分配给自己的任务来了解当天自己的任务,并进行完成等。
项目经理:
项目经理根据项目组成员的能力来给每一个项目人员分配不同的任务,并加以管理。
同时也可以参与项目组成员的交流,并实时了解项目组成员每天遇到的问题。
其次,项目经理对每个项目进行管理,并控制项目完成的进度。
项目经理也可以管理项目组成员。
系统基于成熟的技术开发,能够高效的帮助软件行业开发人员完成开发工作。
2.2系统性能要求
1.安全性
该系统数据编辑存储都采取了参数化安全处理,不会受到js等脚本的攻击,从而保证了数据的安全性以及数据存储的完整性。
2.高效性
使用此项目管理系统既可以方便项目组开发人员提高开发效率,又可以大大减轻项目经理的负担,并可以加快项目的进度。
3.便捷性
本系统的界面友好,操作方便,能够达到所见即所得的效果,方便用户的使用。
2.3业务流程分析
依据系统的需求分析,得到系统的流程图如图2-1所示:
图2-1系统流程图
第3章系统总体设计
3.1系统功能模块分析
项目管理系统包含任务管理模块、信息管理模块、项目管理模块、客户管理模块、用户管理模块、我的任务模块等。
3.1.1任务管理
任务管理包含创建任务模块、任务列表模块。
此模块仅有项目经理有权限。
(1)创建任务模块的特色是:
执行人输入框是利了autocomplete自动匹配技术
(2)任务列表模块包含任务创建时间段和任务标题模糊查询、加上任务编辑、查看和任务批量删除等功能,其中特色有三点:
一是时间段输入框是利用了一个JS插件日历弹出框的特效。
二是利用repeater控件的属性,根据绑定数据内容来改变表格的样式。
三是可以实现批量删除功能。
(3)任务执行人提交任务之后,项目经理可以根据任务来审核通过,或者驳回任务。
3.1.2信息管理
消息管理模块包含四大模块:
发送信息模块、收件箱模块、发件箱模块,消息信息列表模块,其中消息列表模块仅能项目经理能够查看。
(1)发送消息模块:
此模块也应用了autocomplete智能匹配技术。
(2)收件箱消息模块包括:
收件箱信息按接收时间查询模块,批量删除模块,信息查看模块。
本模块特色为:
收件箱未查看的信息状态样式和已经查看的信息状态样式不一样,而且,但点击查看未读信息的时候,则未读信息的状态会变成已读状态。
(3)发件箱消息模块:
包括批量删除、查询、查看信息功能模块。
(4)消息列表模块,包含所有成员的信息汇总模块,只有项目经理有权限查看,本模块包含按时间段查询、批量删除、查看功能。
(5)当有信息的时候,该级菜单会有信息提示信息。
3.1.3项目管理
项目管理模块:
包含项目基本信息查看、项目文件上传信息查看两个功能模块。
(1)其中项目基本信息查看模块包括按时间段、项目名字段查询功能和批量删除功能和项目基本信息添加、编辑功能。
(2)项目上传信息查看模块:
包含文件信息模糊查询,批量删除,文件上传,下载。
文件上传界面:
包含文件上传,数据绑定功能。
3.1.4客户管理
包含按公司名称查询、客户批量删除、客户添加,客户编辑,客户信息查看功能。
(1)本模块特色是点击查看信息,有弹出层特效
3.1.5用户管理
用户信息管理包含用户信息查看和个人信息修改。
(1)用户信息查看包含关键字模糊查询、用户信息编辑,用户信息添加、用户信息批量删除。
其中编辑,删除,添加只有项目经理有权限。
(2)用户编辑页面是数据绑定功能实现的。
3.1.6我的任务
我的任务模块,包含个人所有的任务,功能模块包含查询模块、编辑模块、查看模块和批量删除模块。
自己只能修改自己的任务状态,比如是否完成,并且,未完成状态和完成状态的样式不一样,这样可以作为提醒。
3.2实体联系图
通过系统的需求分析,定义系统实体的属性:
(1)系统用户表(用户编号,姓名,用户名,密码,角色,电话,邮箱,性别,生日,备注)
(2)消息表(消息编号,消息主题,消息内容,优先级,发送人,收件人,发送时间,状态)
(3)任务表(任务编号,任务主题,执行时间,项目编号、执行人编号,任务时间,截止时间,优先级,任务下达人,创建时间,备注,状态)
(4)项目表(项目编号,项目名字,客户名,项目经理,项目开始时间,项目结束时间,项目成本,预估项目成本,优先级,状态,项目组人数,备注,创建时间)
(5)项目文件表(项目文件编号,文件主题,上传者,上传时间,项目编号,类型,文件名)
(6)客户(公司编号,公司名,联系电话,联系人,公司简介,公司地址,添加时间)
1、系统用户信息实体属性图如图3-1所示:
图3-1系统用户实体属性图
2、消息信息实体属性图如图3-2所示:
图3-2消息实体属性图
3、任务实体属性图如图3-3所示:
图3-3消息实体属性图
4、项目实体属性图如图3-4所示:
图3-4项目实体属性图
5、项目文件实体属性图如图3-5所示:
图3-5项目文件实体属性图
6、项目文件实体属性图如图3-6所示:
图3-6客户实体属性图
实体之间的E-R图如图3-7所示:
图3-7总体实体联系图
3.3系统总体设计
系统设置了四种身份的登录,包括项目经理、软件开发人员、UI开发人员,测试人员。
其中项目经理可以操作系统中所有的功能模块,其他角色的人员具有相应的权限。
如图3-8就是系统的总体结构框图:
图3-8系统总体结构框图
3.4系统架构设计
本系统采用的是三层架构,三层架构主要包括表示层、业务逻辑层、数据访问层,如图3-9所示:
图3-9系统架构图
(1)数据访问层:
主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务.
(2)业务逻辑层:
主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。
(3)表示层:
主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:
aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。
第4章系统详细设计
4.1开发工具简介
VisualStudio是微软公司推出的开发环境。
是目前最流行的Windows平台应用程序开发环境。
VisualStudio2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。
VisualStudio2010同时带来了NETFramework 4.0、MicrosoftVisualStudio2010CTP(CommunityTechnologyPreview--CTP),并且支持开发面向Windows7的应用程序。
除了MicrosoftSQLServer,它还支持 IBM DB2和Oracle数据库。
不过现在软件开发技术更新的比较快,以至于现在VisualStudio2010的功能还没有完全适应,便已经出现了VisualStudio2012、VisualStudio2013、VisualStudio2015等版本;
在一个组织中,应用程序生命周期管理(ALM)将牵涉到多个角色。
但是在传统意义上,这一过程中的每个角色并不是完全平等的。
VisualStudioTeamSystem2010将坚持打造一个功能平等、共同分担的平台以用于组织内的应用程序生命周期管理过程。
每年,业界内的新技术和新趋势层出不穷。
通过VisualStudio2010,微软将为开发者提供合适的工具和框架,以支持软件开发中最新的架构,开发和部署。
从VisualStudio的第一个版本开始,微软就将提高开发人员的工作效率和灵活性作为自己的目标。
VisualStudio2010将继续关注并且显著地改进开发者最核心的开发体验。
微软将继续投资于市场领先的操作系统,工具软件和服务器平台,为客户创造更高的价值。
使用VisualStudio2010,将可以在新一代的应用平台上,为你的客户创造令人惊奇的解决方案。
SQLServer2008在Microsoft的数据平台上发布,可以组织管理任何数据。
可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。
可以对数据进行查询、搜索、同步、报告和分析之类的操作。
数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。
SQLServer2008允许使用Microsoft.NET和VisualStudio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过MicrosoftBizTalkServer进行的业务流程中使用数据。
信息工作人员可以通过日常使用的工具直接访问数据。
SQLServer2008降低了管理系统、.NET架构和VisualStudio®TeamSystem的时间和成本,使得开发人员可以开发强大的下一代数据库应用程序。
4.2数据库设计
数据库在网站设计中占有非常重要的地位,数据库设计的好坏将直接对网站的运行的效率以及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
良好的数据库设计对于一个高性能的应用程序非常重要,就像一个空气动力装置对于一辆赛车的重要性一样。
如果一辆汽车没有平滑的曲线,将会产生阻力从而变慢。
关系没有经过优化,数据库无法尽可能高效地运行。
应该把数据库的关系和性能看作是规范化的一部分。
本系统主要用到了以下6张表:
1.系统用户信息如图4-1所示:
图4-1系统用户表
2.消息信息如图4-2所示:
图4-2消息表
3.项目信息4-3所示:
图4-3项目表
4.项目文件信息如图4-4所示:
图4-4项目文件表
5.任务信息如图4-5所示:
图4-5任务表
6.客户信息如图4-6所示:
图4-6客户列车
6.数据库表关系图如图4-7所示:
图4-7数据库表关系图
4.3用户界面设计
本系统采用自己搭建的三层架构开发的项目,这样开发项目比较直观,能够减少许多不必要的代码量。
下面我来介绍各部分的功能。
4.3.1登录界面
用户可以通过用户名和密码进行登录,登录时系统会根据用户是否记住密码来实现是否记住密码功能。
其中记住密码功能是根据cookie技术实现是否记住密码功能的。
登录界面如图4-8所示:
图4-8登录界面
4.3.2项目管理主界面
如图4-9所示,当进入主页的时候,便会看到系统所有的功能模块,同时可以看到系统内部的交流信息的新消息提示。
其中信息提示采用了ajax技术,以防止菜单刷新折叠:
关键代码:
functioncountMessage(){
$.post("countMsg.ashx",function(data){
if(data.Success){
if(data.Value>0){
$("#messageNews1").addClass('news');
$("#messageNews2").addClass('news');
$("#messageNews11").html('消息管理 '+data.Value);
$("#messageNews22").html('收件信息查看 '+data.Value);
}else{
$("#messageNews1").removeClass('news');
$("#messageNews2").removeClass('news');
$("#messageNews11").html('消息管理');
$("#messageNews22").html('收件信息查看');
}
}
},"json");
}
图4-9项目管理主界面
4.3.3任务管理界面
项目经理根据项目组成员个人能力来分发任务,并对任务进行管理。
项目经理可以对项目组成员分发任务,审核任务。
其中审核任务采用了ajax局部刷新技术,与iframe父子页面JS方法变量相互调用的技术,关键代码如下:
functionpass(){
varcheckremark=$('#txtcheckText').val();
varid=GetQueryString("id");
$.post("pass.ashx",{checkId:
id,checkremark:
checkremark,flag:
1},function(data){
if(data.Success){
parent.layer.msg('审核通过成功',{icon:
9});
setTimeout(function(){
parent.refresh();
},2000);
}else{
layer.msg('审核通过失败',{icon:
5});
}
},"json");
}
functioncheck(){
varcheckremark=$('#txtcheckText').val();
varid=GetQueryString("id");
$.post("pass.ashx",{checkId:
id,checkremark:
checkremark,flag:
0},function(data){
if(data.Success){
parent.layer.msg('驳回成功',{icon:
9});
setTimeout(function(){
parent.refresh();
},2000);
}else{
layer.msg('驳回失败',{icon:
5});
}
},"json");
}
图4-10任务信息查看界面
1.任务查询
此页面方便项目经理查找并管理自己下达的任务信息,用于项目经理监督审核项目组成员的任务完成情况。
图4-11任务查询界面
2.查看任务信息
图4-12查看任务信息界面
3.创建任务
本页面特色是执行人输入框采用了autoComplete技术(智能匹配),也是一种ajax技术,能够方便用户快速查找项目组成员。
图4-13创建任务界面
本系统统一采用三层架构实现的代码,所以,我以此添加任务功能来介绍一下功能代码:
///
///点击保存按钮保存数据
///
///
///
protectedvoidbtnSave_OnServerClick(objectsender,EventArgse)
{
Project_Model.Model_Taskmodel=newProject_Model.Model_Task();//声明实体类对象
//实体类赋值
model.tastExcutorName=txtTrueName.Value.Trim();
model.TaskSendId=Convert.ToInt32(Session["UserId"].ToString());
model.priority=selPriority.Value;
model.ProjectId=Convert.ToInt32(selProgectName.Value);
if(Convert.ToDateTime(txtEndTime.Value) { ClientScript.RegisterStartupScript(GetType(),"alertError2","layer.alert('计划开始日期不能大于计划结束日期! ',{icon: 5});",true); return; } model.TaskEndTime=Convert.ToDateTime(txtEndTime.Value).ToString("yyyy-MM-dd"); model.TaskName=txtTaskTitlle.Value; model.TaskStarTime=Convert.ToDateTime(txtStarTime.Value).ToString("yyyy-MM-dd"); model.TaskRemark=txtRemark.Value; model.CreateTime=Convert.ToString(DateTime.Now); model.state="未完成"; if(string.IsNullOrEmpty(Reque
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 管理 系统 本科 学位 论文