资源描述
目 录
1 引言 1
1.1 开发背景 1
1.2 开发意义 1
1.3 实现目的 1
2 需求分析 2
2.1 功能需求 2
2.2 可行性分析 2
2.3 用例图 3
2.4 活动图 5
2.5 用例描述 8
2.6 时序图 16
2.7 系统开发平台及重要技术 25
3 总体设计 26
3.1 系统的总体架构 26
3.2 数据库设计 28
4 具体设计 36
4.1 系统用户维护 36
4.2 修改密码 39
4.3 任务模板 39
4.4 文档模板 42
4.5 可评审任务解决 42
4.6 评审人员分派 45
4.7 近期发布的评审任务 46
4.8 评审结果录入 46
4.9 权限管理 46
4.10 可上传文档管理 51
4.11 资源分类 51
4.12 资源上传 55
4.13 搜索资源 56
5 测试 56
5.1 单元测试 56
5.2 集成测试 59
6 难点与解决方案 60
6.1 WEB系统与文档存储管理分离 60
6.2 文档在线查看 61
结 论 62
致 谢 63
参 考 文 献 64
1 引言
1.1 开发背景
软件项目[11,12]开发是一项系统而复杂的工作,它需要一个团队互相配合、分工协作。软件项目管理系统可以规范一个软件开发团队的平常工作,提高工作效率。软件项目管理是为了使软件项目可以按照预定的成本、进度、质量顺利完毕,而对成本、人员、进度、质量、风险等进行分析和管理的活动。事实上,软件项目管理的意义不仅仅如此,进行软件项目管理有助于将开发人员的个人开发能力转化成公司的开发能力,公司的软件开发能力越高,表白这个公司的软件生产越趋向于成熟,公司越可以稳定发展。然而,目前,对软件项目的管理重要有手工存取和借助一些软件(VSS、SVN等)对软件项目进行管理,起不到对项目进度的实时跟踪与管理。为进一步完善软件项目流程及资源的统一管理,更加全面、有效的服务于软件开发过程和财富库管理,更好的方便软件开发过程管理。本项目规定可以适合公司软件开发过程;有效的管理软件开发过程中每个阶段进展情况;即时跟踪项目开发过程中的BUG,提供公司财富库资源的开放和权限控制。缩短软件开发的进度、提高软件产品的质量,有效的维护公司财富库资源,故开发《软件项目管理系统》。
由于在开发过程中会碰到许多问题,面对面的告知、开发过程中BUG的记录与后期查看、任务下发与跟踪等都会使项目进度变慢。对于公司的财富库的使用没有很好的运用,总是要通过其他工具去查看资源,使用极不方便。
基于以上情况,故开发《软件项目管理系统》,采用信息技术对软件项目进度、流程、bug等方面进行管理,提高系统开发效率的目的。
1.2 开发意义
本毕业设计拟开发的《软件项目管理系统》将较好地解决以上问题。在该系统中,涉及开发流程跟踪、Bug管理、文档管理、财富库建设等基础功能,可以解决开发进度跟踪困难、管理提交文档不便、开发过程中所产生的Bug解决结果不明、公司财富库得不到有效的运用。
1.3 实现目的
本系统重要实现以下目的:
1) 上传开发过程中所产生的文档,文档上传权限的控制,上传文档的目录的管理,文档在线查看功能。
2) 对已提交的文档进行评审,涉及申请对文档的评审,评审人员分派,评审地点、时间的告知,评审结果的录入。
3) 财富库的建立,涉及财富库资源的分类维护,资源上传,下载权限控制等操作。
2 需求分析
2.1 功能需求
本系统将涉及以下功能:
1) 文档管理
是指任务负责人上传任务文档。对超期上传文档上传权限控制。上传文档版本号的控制和目录管理。其中文档上传指:项目经理创建任务,分派任务负责人,任务负责人提交任务文档,文档类型必须符合规定;超期文档上传指:任务负责人没有及时提交文档或文档已提交申请,但需要更新文档,须由项目经理开放上传权限之后,才干上传。文档版本号控制:项目经理设立需上传的文档是对已有文档的更新还是上传新版本。目录管理:若同一份文档有多个版本时,该任务文档保存到与该任务文档平级的以任务文档名称命名的文献夹中。
2) 评审管理
任务负责人上传文档后,向项目经理提出申请,项目经理分派评审人员,评审日期和地址,发布评审信息,评审完毕后填写评审结果。
2.2 可行性分析
可行性分析,即是在系统调查的基础上,针对新系统的开发是否具有必要性和也许性,对新系统的开发从技术、经济、操作等方面进行分析和研究,以避免投资失误,来保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽也许短的时间内拟定问题是否可以解决。该系统的可行性分析涉及以下几个方面的内容。
1) 经济可行性
经济可行性分析是估计项目的成本、效益和技术上是可行的。
开发本系统所需要的成本涉及:
2) 技术可行性
技术上的可行性分析重要分析技术条件是否能顺利完毕开发工作,硬、软件能否满足开发者的需要等。此系统中采用Visual studio .Net 2023作为系统的集成开发环境[6]、以 IB为O/R映射框架, SQL Server 2023作为后台数据库管理系统。根据调查,目前所拥有的技术力量完全可以满足规定。因此,从技术可行性的角度考虑,该系统是完全可行的。
2.3 用例图
软件项目管理系统系统信息模块用例图,如图2.4:
图2.4系统信息维护模块
软件项目管理系统项目设立模块用例图,如图2.5:
图2.5项目设立模块
2.4 活动图
软件项目管理系统财富库模块活动图,如图2.9:
图2.9系统信息维护模块
软件项目管理系统项目设立模块活动图,如图2.10:
图2.10项目设立模块
2.6 时序图
软件项目管理系统系统用户维护模块时序图,如图2.14:
图2.14系统用户维护
软件项目管理系统修改密码模块时序图,如图2.15:
图2.15修改密码
软件项目管理系统任务模板模块时序图,如图2.16:
2.7 系统开发平台及重要技术
本系统采用Visual Studio 2023作为开发平台;在数据存取层,采用先进的IB作为O/R Map工具,实现数据存取的高效性和灵活性;在用户界面层,扩展了Repeater控件,以实现对项目阶段任务和文档的呈现。
2.7.1 IBatis.NET技术在本系统中的应用
所谓“半自动”,也许理解上有点生涩。纵观目前主流的ORM,无论Hibernate 还是Apache OJB,都对数据库结构提供了较为完整的封装,提供了从POJO 到数据库表的全套映射机制。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate或者OJB 提供的方法完毕持久层操作。程序员甚至不需要对SQL 的纯熟掌握,Hibernate/OJB 会根据制定的存储逻辑,自动生成相应的SQL 并调用JDBC 接口加以执行。
2.7.2 Ajax技术在本系统中的应用
AJAX[7]全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 国内通常的读音为“阿贾克斯”和阿贾克斯足球队读音同样。Web应用的交互如Flickr, Backpack和Google在这方面已有质的奔腾。这个术语源自描述从基于网页的Web应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用同样。虽然大部分开发人员在过去使用过XMLHttp或者使用Iframe来加载数据,但仅到现在我们才看到传统的开发人员和公司开始采用这些技术。就像新的编程语言或模型随着着更多的痛苦,开发人员需要学习新的技巧及如何最佳运用这些新技术。
2.7.3 jQuery技术在本系统中的应用
jQuery[14]是继prototype之后又一个优秀的Javascript框架。其宗旨是——WRITE LESS,DO MORE,写更少的代码,做更多的事情。
jQuery是一个快速的,简洁的javaScript库,使用户能更方便地解决HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。
3 总体设计
3.1 系统的总体架构
3.1.1 平台架构
本系统采用了五层体系架构,涉及:表达层、业务逻辑层接口层、业务逻辑层、数据访问层、数据传输层。
1)表达层:本系统采用了基于Web的系统,解决软件开发过程中进度跟踪、文档管理等功能。在这一层中,可以向系统使用者清楚直观的系统软件项目的状态。采用JQuery、CSS和Ajax三种技术,使用户界面更加和谐、美观、清楚。
2)业务逻辑层接口层: 该层将业务逻辑和用户界面分离,减少代码耦合度,提高代码灵活性。
3)业务逻辑层:该层将业务逻辑封装,提高复用限度。
4)数据访问层: 用于存储和管理系统中所需的数据。本系统中用的数据库是SQL SEVER 2023。
5)数据传输层:
系统的总体结构如图3.1所示:
表达层
业务逻辑接口层
业务逻辑
数据访问层
数据传输层(DTO)
图3.1 软件项目管理系统结构图
3.1.2 功能架构
软件项目管理系统
评审管理
可评审任务
评审结果录入
评审人员分派
近期评审任务发布
财富库
文档上传
系统信息维护
修改密码
用户系统维护
项目设立
任务模板
文档模板
文档管理
权限管理
可上传文档
搜索文档
文档分类
图3.2 软件项目管理功能架构图
3.2 数据库设计
本毕业设计采用了SQL Server 2023作为后台数据库。
3.2.1 数据库概念设计
本系统规定对于每个任务类型为文档的任务,却需要评审的,都要走评审流程,才可结束任务。若文档没有通过评审,则需要修改文档,或上传新的文档,再次申请评审,直到评审通过。对于每个任务也许相应多个版本文档,而每份文档都需要评审。项目经理需要为每个需要评审的任务分派评审人员。
3.2.2 数据库逻辑设计
该E-R图有十四个实体,十个1:N联系,三个1:1联系,一个M:N联系,转换成关系模式如下:
Popedom(PopedomID,DenayID,LibraryDocumentID,PopedomType)
Keyword (KeywordID, LibraryDocumentID, KeywordName)
Classify (ClassifyID,ClassifyName,FID, CreateID, CreateTime)
3.2.3 数据库物理设计
根据数据库逻辑设计的数据结构,并结合需求分析的内容,数据库的物理结构设计如下表:
表3.1 Popedom 权限表
字段名
字段类型
字段长度
字段含义
PopedomID
int
4
主键
DenayID
int
4
拒绝访问编号
LibraryDocumentID
int
4
外键(财富库资源编号)
PopedomType
int
4
拒绝访问类型(部门和角色两种)
表3.2 Keyword 关键字表
字段名
字段类型
字段长度
字段含义
KeywordID
int
4
主键
LibraryDocumentID
int
4
外键(财富库资源编号)
KeywordName
Varchar
50
关键字
结 论
软件项目管理系统是基于B/S架构的管理系统,有效的管理软件开发过程中每个阶段进展情况;即时跟踪项目开发过程中的BUG,提供公司财富库资源的开放和权限控制。缩短软件开发的进度、提高软件产品的质量,有效的维护公司财富库资源。
本毕业设计涉及了文档管理、评审流程管理、财富库等一系列功能。采用了Visual Studio 2023作为平台开发,SQL Server 2023作为后台数据库。采用先进的IB作为O/R Map工具,实现数据存取的高效性和灵活性。并采用了专门针对.net的单元测试框架NUnit来完毕模块测试。从逻辑上,本系统采用多层体系结构,保证了系统良好的灵活性和可扩展性,并实现了用户在需求分析阶段提出的功能需求。为了提高系统性能,简化了系统逻辑,部分功能由自动运营程序解决。并且,将web系统与文档成功分离,提高文档的灵活性和系统可配置性。根据项目需要,另加设了文档在线查看功能,运用ActiveX Office组件,方便使用者查看相关文档。
当然,本系统中还存在了一些局限性之处,系统在记录分析方面还相对简朴,有待进一步完善,以更好的满足软件开发过程管理与跟踪的需求。此外,由于个人的能力及时间等因素的制约,其中也许还存在许多没有发现的缺陷,还望更多的老师和同学们给本系统提出宝贵的意见!
致 谢
本系统在设计制作过程中碰到不少困难,在此要感谢我的毕业设计指导老师,感谢他在设计过程中给我提出的许多宝贵意见,老师对我的设计一直都很关心,对我的规定也很严格,在学习上、对待生活的态度上、工作的方法上以及思想上都给了我很多帮助,那些知识是我平时学不到的。在软件的测试过程中,老师规定软件要通过不断的测试,不断的发现问题,研究问题,然后解决问题,做到精益求精,这种严谨的科研态度让我受益终身,对我以后的工作和学习都有很大的指导意义,在此向老师表达衷心的感谢!
同时还要感谢老师,感谢他在百忙之中还能抽空在整个软件设计过程中对系统实现方法和思绪以及算法上给我及时对的的指导,在技术上也给予了我很大的帮助。
此外本系统中用到了许多知识和方法,有在课堂上学到的和生活中学到的,因此,我还要感谢所有教过我、关心我、帮助过我的老师及系领导,也感谢一直在我身边支持我、鼓励我的亲爱的朋友和同学们!
参 考 文 献
1 John Sharp.Visual C# 2023从入门到精通.北京:清华大学出版社,2023.6
2 Christian Nagel,Bill Evjen. C#高级编程.北京:清华大学出版社,2023.10
3 李严,于亚芳.ASP数据库开发实例解析. 北京:机械工业出版社,2023
4 王宏著.SQL Server 2023数据库管理.北京:人民邮电出版社,2023.1
5 王晟,马里杰. SQL Server数据库开发.北京:清华大学出版社,2023.1
6 Scott Allen Syed Fahad Gilani. C# 数据库入门经典.北京:清华大学出版社,2023.3
7 Javascript权威指南(第四版)/(美)弗莱著:北京:机械工业出版社,2023.1
8 Anders Hejlsberg,Scott Wiltamuth.C#编程语言详解.北京:电子工业出版社,2023.9
9 iBATIS 实战Clinton Begin;Brandon Goodin;Larry Meadors著. 人民邮电出版社,2023.5
10 Bear Bibeault Yehuda Katz著.jQuery in action.北京:人民邮政出版社,2023.2
11 Software Project Management in Practice /Pankaj Jalote(著)清华大学出版社
12 软件项目管理(原书第4版)/(英)考特莱尔(Cotterell,M.)机械工业出版社
13
14
15
16
17
18
目 录
1 引言 1
1.1 开发背景 1
1.2 开发意义 1
1.3 实现目的 1
2 需求分析 2
2.1 功能需求 2
2.2 可行性分析 2
2.3 用例图 3
2.4 活动图 5
2.5 用例描述 8
2.6 时序图 16
2.7 系统开发平台及重要技术 25
3 总体设计 26
3.1 系统的总体架构 26
3.2 数据库设计 28
4 具体设计 36
4.1 系统用户维护 36
4.2 修改密码 39
4.3 任务模板 39
4.4 文档模板 42
4.5 可评审任务解决 42
4.6 评审人员分派 45
4.7 近期发布的评审任务 46
4.8 评审结果录入 46
4.9 权限管理 46
4.10 可上传文档管理 51
4.11 资源分类 51
4.12 资源上传 55
4.13 搜索资源 56
5 测试 56
5.1 单元测试 56
5.2 集成测试 59
6 难点与解决方案 60
6.1 WEB系统与文档存储管理分离 60
6.2 文档在线查看 61
结 论 62
致 谢 63
参 考 文 献 64
展开阅读全文