1、北京石油化工学院本科毕业设计(论文)开题报告题目名称: 软件项目管理系统 题目性质:设计 学生姓名:郭子艺 专 业:计算机科学与技术学 院:信息工程学院年 级:2010届 指导教师:李林峰 2014年3月6 日一、选题背景、研究意义及文献综述1、 选题背景软件项目开发是一项系统而复杂的工作,它需要一个团队互相配合、分工协作。软件项目管理系统可以规范一个软件开发团队的日常工作,提高工作效率。软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力
2、转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。然而,目前,对软件项目的管理主要有手工存取和借助一些软件Visual Source Safe(简称VSS)、subversion(简称SVN),也会有一些工具和理论,比如COCOMO, 甘特图等对软件项目进行管理,起不到对项目进度的实时跟踪与管理。为进一步完善软件项目流程及资源的统一管理,更加全面、有效的服务于软件开发过程,更好的方便软件开发过程管理。故开发软件项目管理系统。软件项目管理是软件管理过程中的重要环节。软件项目管理包括:一、 软件需求管理;二、 软件开发资源管理(包括人力和时间管理
3、);三、软件项目进度可视化跟踪与管理(开发测试结束)。2、研究意义建立一个高效的软件项目管理系统,管理人员就可以利用它进行轻松管理,清楚的知道资源和时间的管理和分配。比如说多少个人在做某一个需求,多少人在测试某一个需求的实现,这些需要多长时间等。使开发工程产生的信息一目了然,对于估算开发项目成本,优化开发进程、工程项目的质量控都具有重要的意义。总之,通过软件项目管理系统的实施应用,能够使企业的开发项目更高效、更科学、更规范。3、文献综述(一) 、软件项目管理 项目管理是为了使工作项目能够按照预定的需求、成本、进度、质量顺利完成,而对人员、产品、过程、和项目、进行分析和管理的活动。 目前国内企业
4、对项目管理水平和方法越来越重视,而合适的项目管理软件在其中起了极其重要的作用!主要有工程项目管理软件和非工程项目管理软件2大分类。 随着微型计算机的出现和运算速度的提高, 20 世纪80 年代后项目管理技术也呈现出繁荣发展的趋势, 项目管理软件开始出现。对于大型项目管理,没有软件支撑,手工完成项目任务制定、跟踪项目进度、资源管理、成本预算的难度是相当大的。可以说计算机技术的发展对项目管理深入应用起了举足轻重的作用。根据管理对象的不同, 项目管理软件可分为: 进度管理; 合同管理; 风险管理; 投资管理等软件。 根据提高管理效率、实现数据/信息共享等方面功能的实现层次不同, 又可分为: 实现一个
5、或多个的项目管理手段, 如进度管理、质量管理、合同管理、费用管理, 或者它们的组合等; 具备进度管理、费用管理、风险管理等方面的分析、预测以及预警功能; 实现了项目管理的网络化和虚拟化, 实现基于Web 的项目管理软件甚至企业级项目管理软件或者信息系统, 企业级项目管理信息系统便于项目管理的协同工作, 数据/信息的实时动态管理, 支持与企业/项目管理有关的各类信息库对项目管理工作的在线支持。国外项目管理软件有:Oracle 公司的Primavera P6、Artemis 公司Artemis Viewer、NIKU 公司的Open WorkBench、Welcom 公司的OpenPlan等软件种
6、项目管理软件价格的差异也较大, 从几万元到几十万元不等。适于中小型项目的软件价格一般仅为几万元, 适于大型复杂项目的软件价格则为十几万到几百万元。(二)、Agile方法Agile方法即敏捷方法(agile methodologies)(也被称为轻量级方法,lightweight methodology),它是一组开发方法的统称。 随着技术的迅速发展和经济的全球化,软件开发出现了新的特点,即在需求和技术不断变化的情况下实现快节奏的软件开发,这就对生产率提出了很高的要求。ISO-9000、CMM、SPICE目前已被公认为软件质量保障方面的事实标准,但由于其强调管理和控制,追求项目的可预测性和过程状
7、态的可视性,在提高生产率方面并未予以足够的重视,实施时一方面需要大量中间制品(过程文档)的制作,给开发人员带来很大负担,另一方面,追求可预测性与实际需求的模糊和快速变化不相协调。在此情况下,出现了一些新的开发方法。新的方法主要有Extreme Programming (简称XP)、SCRUM、Crystal Methodologies、Feature Driven Development(简称FDD)、Dynamic Systems Development Methodology(简称DSDM) 、Adaptive Software Development(简称ASD)、Pragmatic P
8、rogramming等,统称轻载(Lightweight)方法,以区别于传统的开发方法(称重载方法,Heavyweight)。2001年2月,新方法的一些创始人在美国犹他州成立了Agile 联盟,将轻载方法正式更名为Agile方法,Agile有轻巧、机敏、活力的意思。Agile 方法目前还没有一个明确的定义,其特点是对软件生产率的高度重视,主要适用于需求模糊或快速变化下的、小型项目组的开发。有人称,Agile方法是在保证软件开发有成功产出的前提下,尽量减少开发过程中的活动和制品的方法,笼统的讲就是,刚刚好(Just enough),即开发中的活动及制品既不要太多也不要太少,在满足所需的软件质量
9、要求的前提下,力求提高开发效率。任何软件开发方法都有一个相应的价值系统(Value system),方法通过价值系统对过程加以指导,方法只有在其应用周境(context)与价值系统相吻合时才能发挥真正效力,价值系统的基础是对世界的信仰和对软件开发特点的认识,可以说是核心理念。Agile方法的代表人之一Martin Fowler提出了Agile方法的核心理念:适应和以人为本。Agile方法中的价值系统和指导原则Agile联盟提出了四个价值、十二个指导原则。Agile方法的四个价值:(1) 较之于过程和工具,更注重人及其相互作用的价值。(2) 较之于无所不及的各类文档,更注重可运行的软件的价值。(
10、3) 较之于合同谈判,更注重与客户合作的价值。(4) 较之于按计划行事,更注重响应需求变化的价值。Agile方法的指导原则:(1) 在快速不断地交付用户可运行软件的过程中,将使用户满意放在第一位。(2) 以积极的态度对待需求的变化(不管该变化出现在开发早期还是后期)。Agile过程紧密围绕变化展开并利用变化来实现客户的竞争优势。(3) 以几周到几个月为周期,尽快、不断地交付可运行的软件供用户使用。(4) 在项目过程中,业务人员和开发人员最好能一起工作。(5) 以积极向上的员工为中心建立项目组,给予他们所需的环境和支持,对他们的工作予以充分的信任。(6) 在项目组中,最有用、最有效的信息沟通手段
11、是面对面的交谈。(7) 项目进度度量的首要依据是可运行的软件。(8) Agile过程高度重视可持续开发。项目发起者、开发者和用户应能始终保持步调一致。(9) 应时刻关注技术上的精益求精和设计的合理,这样能提高软件的快速应变力。(10) 简单化(尽可能减少不必要工作的艺术)是基本原则。(11) 最好的框架结构、需求和设计产生于自组织的项目组。(12) 项目组要定期对其运作方面进行反思,提出改进意见,并相应进行细调。此外,Agile方法实施中一般采用面向对象技术(接口定义良好的其它开发技术也可),另外还强调在开发中要有足够的工具(如配置管理工具、建模工具等)支持。(三)、SCRUM开发什么是Scr
12、um? Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,我想你一定能想象出你的开发团队在开发一个项目时,大家像打橄榄球一样迅速、富有战斗激情、人人你争我抢地完成它,你一定会感到非常兴奋的。 而Scrum就是这样的一个开发流程,运用该流程,你就能看到你团队高效的工作。Scrum开发流程中的三大角色: 产品负责人(Product Owner) 主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。 流程管理员(Scrum Master) 主要负责整个Scrum流程在项目中的顺利实施和
13、进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。 开发团队(Scrum Team) 主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在510人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到Sprint的目标。如何进行Scrum开发? 我们首先需要确定一个Product Backlog(按优先顺序排列的一个产品需求列表),这个是由Product Owner 负责的; 2、注意序号Scrum Team根据Product Backlog列表,做工作量的预估和安排; 3、有
14、了Product Backlog列表,我们需要通过 Sprint Planning Meeting(Sprint 计划会议) 来从中挑选出一个Story作为本次迭代完成的目标,这个目标的时间周期是 14个星期,然后把这个Story进行细化,形成一个Sprint Backlog; 4、Sprint Backlog是由Scrum Team去完成的,每个成员根据Sprint Backlog再细化成更小的任务(细到每个任务的工作量在2天内能完成); 5、在Scrum Team完成计划会议上选出的Sprint Backlog过程中,需要进行 Daily Scrum Meeting(每日站立会议),每次会
15、议控制在15分钟左右,每个人都必须发言,并且要向所有成员当面汇报你昨天完成了什么,并且向所有成员承诺你今天要完成什么,同时遇到不能解决的问题也可以提出,每个人回答完成后,要走到黑板前更新自己的 Sprint burn down(Sprint燃尽图); 6、做到每日集成,也就是每天都要有一个可以成功编译、并且可以演示的版本;很多人可能还没有用过自动化的每日集成,其实TFS就有这个功能,它可以支持每次有成员进行签入操作的时候,在服务器上自动获取最新版本,然后在服务器中编译,如果通过则马上再执行单元测试代码,如果也全部通过,则将该版本发布,这时一次正式的签入操作才保存到TFS中,中间有任何失败,都会
16、用邮件通知项目管理人员; 7、当一个Story完成,也就是Sprint Backlog被完成,也就表示一次Sprint完成,这时,我们要进行 Srpint Review Meeting(演示会议),也称为评审会议,产品负责人和客户都要参加(最好本公司老板也参加),每一个Scrum Team的成员都要向他们演示自己完成的软件产品(这个会议非常重要,一定不能取消); 8、最后就是 Sprint Retrospective Meeting(回顾会议),也称为总结会议,以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮Sprint的产品需求中。(四)、Power DesignerPo
17、wer Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型,也能对团队设计模型进行控制。他可以与许多流行的软件开发工具,例如PowerBuilder、Delphi、VB等相配合使缩短开发时间和使系统设计更优化。power designer是能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具。使用它可以分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physic
18、al Data Model)两个层次对数据库进行设计。在这里,概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义;物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。二、 研究的基本内容,拟解决的主要问题1、 研究的基本内容(1)、软件需求管理;(2)、软件开发资源管理(包括人力和时间管理);(3)、软件项目进度可视化跟踪与管理(开发测试结束)。2、 拟解决的主要问题(1)、完成系统的基本功能,其中包括后台与数据库设计与实现; (2)、完成上述功能并进行优化。三、研究步骤、方法1、研究步骤(1) 查阅相关文献了解此毕设题目所包含的内容及要求;(2) 查
19、阅相关文献决定大概的程序构架和主要类与函数的使用;(3) 根据前两步的研究结果开始具体上机编程来实现毕设题目,其中包括大量遇到问题,解决问题的过程;(4) 对程序或结论进行调式和检查,并确定是否完成了毕设特定的要求。2、研究方法(1) 查阅相关文献,从中学习和获取完成毕设所需的知识和内容,从而形成理论概念;(2) 上机实际操作,在编程中发现并解决具体问题,从而对题目及C#以及sql语句有更深入地理解;(3) 每周向老师汇报毕设进度与成果,同时积极与老师交流,从而可以得到老师的指导和建议,解决一些特殊的问题。四、研究工作进度周次进 度 计 划指 导 安 排1调研,资料收集国内外同类软件及其相关信
20、息2调研,资料收集国内外同类软件算法3调研,资料收集撰写开题报告4可行性分析,需求分析修改开题报告5需求分析修改开题报告6英文翻译翻译与课题相关的英文资料或论文7系统总体分析设计撰写总体设计说明书8系统分析设计撰写设计说明书9详细设计、上机编程检查总体设计情况10详细设计、上机编程软、硬件环境配置和要求11上机编程根据程序设计的进度,调整毕业设计的内容、方法和策略12上机编程、调试13上机编程、调试、测试初步验收程序,提出改进、完善的方法14上机编程、调试、测试15演示程序,测试验收程序,并上交软盘16论文写作介绍论文撰写格式、要求、方法17准备答辩检查各项毕业设计工作完成情况,档案完整性等1
21、8论文整理、上交、答辩介绍答辩要求、方法、注意事项等组织答辩五、主要参考文献1 John Sharp.Visual C# 2005从入门到精通 北京:清华大学出版社,2006.6 2 Christian Nagel,Bill Evjen. C#高级编程 北京:清华大学出版社,2006.10 3 李严,于亚芳.ASP数据库开发实例解析 北京:机械工业出版社,2005 4 王宏著SQL Server 2000,数据库管理 北京:人民邮电出版社,2004.1 5 王晟,马里杰. SQL Server数据库开发 北京:清华大学出版社,2006.1 6 Scott Allen Syed Fahad Gi
22、lani. C# 数据库入门经典.北京:清华大学出版社,2003.3 7管理信息系统(第三版) 薛华成主编 清华大学出版社 1999年;8管理信息系统 陈禹主编 中国人民大学出版社 1998年;9信息系统开发方法方法、策略、技术、工具与发展 姜旭平编著;清华大学出版社 1997年;10 Management Information System , Mcleod , Printice Hall , 199811 Thomas R. Peltier.Information Security Risk Analysis.Rothstein Associates Inc,200112 Ken Schwaber SCRUM Development Process 2002.(教研室)评议意见评议人:年月日
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100