主页
管理咨询
返回
软件项目管理系统开题报告

        一、选题背景、研究意义及文献综述

        1、 选题背景 软件项目开发是一项系统而复杂的工作,它需要一个团队互相配合、分工协作。软件项目管理系统可以规范一个软件开发团队的日常工作,提高工作效率。软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。然而,目前,对软件项目的管理主要有手工存取和借助一些软件Visual Source Safe(简称VSS)、subversion(简称SVN),也会有一些工具和理论,比如COCOMO, 甘特图等对软件项目进行管理,起不到对项目进度的实时跟踪与管理。为进一步完善软件项目流程及资源的统一管理,更加全面、有效的服务于软件开发过程,更好的方便软件开发过程管理。故开发《软件项目管理系统》。

        软件项目管理是软件管理过程中的重要环节。软件项目管理包括:

        一、软件需求管理;

        二、软件开发资源管理(包括人力和时间管理);

        三、软件项目进度可视化跟踪与管理(开发→测试→结束)。

        1、研究意义

        建立一个高效的软件项目管理系统,管理人员就可以利用它进行轻松管理,清楚的知道资源和时间的管理和分配。比如说多少个人在做某一个需求,多少人在测试某一个需求的实现,这些需要多长时间等。。使开发工程产生的信息一目了然,对于估算开发项目成本,优化开发进程、工程项目的质量控都具有重要的意义。总之,通过软件项目管理系统的实施应用,能够使企业的开发项目更高效、更科学、更规范。

        2、文献综述

        (一)、软件项目管理

        项目管理是为了使工作项目能够按照预定的需求、成本、进度、质量顺利完成,而

        对人员、产品、过程、和项目、进行分析和管理的活动。

        目前国内企业对项目管理水平和方法越来越重视,而合适的项目管理软件在其中起了极其重要的作用!主要有工程项目管理软件和非工程项目管理软件2大分类。

        随着微型计算机的出现和运算速度的提高, 20 世纪80 年代后项目管理技术也呈现出繁荣发展的趋势, 项目管理软件开始出现。对于大型项目管理,没有软件支撑,手工完成项目任务制定、跟踪项目进度、资源管理、成本预算的难度是相当大的。可以说计算机技术的发展对项目管理深入应用起了举足轻重的作用。根据管理对象的不同, 项目管理软件可分为:

        ①进度管理; 

        ②合同管理; 

        ③风险管理; 

        ④投资管理等软件。     

        根据提高管理效率、实现数据/信息共享等方面功能的实现层次不同, 又可分为: 

        ①实现一个或多个的项目管理手段, 如进度管理、质量管理、合同管理、费用管理, 或者它们的组合等; 

        ②具备进度管理、费用管理、风险管理等方面的分析、预测以及预警功能; 

        ③实现了项目管理的网络化和虚拟化, 实现基于Web 的项目管理软件甚至企业级项目管理软件或者信息系统, 企业级项目管理信息系统便于项目管理的协同工作, 数据/信息的实时动态管理, 支持与企业/项目管理有关的各类信息库对项目管理工作的在线支持。

        国外项目管理软件有:Oracle 公司的Primavera P6、Artemis 公司Artemis Viewer、NIKU 公司的Open WorkBench、Welcom 公司的OpenPlan等软件种项目管理软件价格的差异也较大, 从几万元到几十万元不等。适于中小型项目的软件价格一般仅为几万元, 适于大型复杂项目的软件价格则为十几万到几百万元。

        (二)、Agile方法

        方法即敏捷方法(agile methodologies)(也被称为轻量级方法,lightweight methodology),它是一组开发方法的统称。 随着技术的迅速发展和经济的全球化,软件开发出现了新的特点,即在需求和技术不断变化的情况下实现快节奏的软件开发,这就对生产率提出了很高的要求。

        1、CMM、SPICE目前已被公认为软件质量保障方面的事实标准,但由于其强调管理和控制,追求项目的可预测性和过程状态的可视性,在提高生产率方面并未予以足够的重视,实施时一方面需要大量中间制品(过程文档)的制作,给开发人员带来很大负担,另一方面,追求可预测性与实际需求的模糊和快速变化不相协调。在此情况下,出现了一些新的开发方法。

        新的方法主要有Extreme Programming (简称XP)、SCRUM、Crystal

        2、Feature Driven Development(简称FDD)、Dynamic Systems Development Methodology(简称DSDM) 、Adaptive Software Development(简称ASD)、Pragmatic Programming等,统称轻载(Lightweight)方法,以区别于传统的开发方法(称重载方法,Heavyweight)。2001年2月,新方法的一些创始人在美国犹他州成立了Agile 联盟,将轻载方法正式更名为Agile方法,Agile有轻巧、机敏、活力的意思。

        方法目前还没有一个明确的定义,其特点是对软件生产率的高度重视,主要适用于需求模糊或快速变化下的、小型项目组的开发。有人称,Agile方法是在保证软件开发有成功产出的前提下,尽量减少开发过程中的活动和制品的方法,笼统的讲就是,"刚刚好"(Just enough),即开发中的活动及制品既不要太多也不要太少,在满足所需的软件质量要求的前提下,力求提高开发效率。

        任何软件开发方法都有一个相应的价值系统(Value system),方法通过价值系统对过程加以指导,方法只有在其应用周境(context)与价值系统相吻合时才能发挥真正效力,价值系统的基础是对世界的信仰和对软件开发特点的认识,可以说是核心理念。

        gile方法的代表人之一Martin Fowler提出了Agile方法的核心理念:适应和以人为本。

        方法中的价值系统和指导原则

        联盟提出了"四个价值"、"十二个指导原则"。

        方法的四个价值:

        (1) 较之于过程和工具,更注重人及其相互作用的价值。

        (2) 较之于无所不及的各类文档,更注重可运行的软件的价值。

        (3) 较之于合同谈判,更注重与客户合作的价值。

        (4) 较之于按计划行事,更注重响应需求变化的价值。

        方法的指导原则:

        (1) 在快速不断地交付用户可运行软件的过程中,将使用户满意放在第一位。

        (2) 以积极的态度对待需求的变化(不管该变化出现在开发早期还是后期)。Agile过程紧密围绕变化展开并利用变化来实现客户的竞争优势。

        (3) 以几周到几个月为周期,尽快、不断地交付可运行的软件供用户使用。

        (4) 在项目过程中,业务人员和开发人员最好能一起工作。

        (5) 以积极向上的员工为中心建立项目组,给予他们所需的环境和支持,对他们

        的工作予以充分的信任。

        (6) 在项目组中,最有用、最有效的信息沟通手段是面对面的交谈。

        (7) 项目进度度量的首要依据是可运行的软件。

        (8) Agile过程高度重视可持续开发。项目发起者、开发者和用户应能始终保持步调一致。

        (9) 应时刻关注技术上的精益求精和设计的合理,这样能提高软件的快速应变力。

        (10) 简单化(尽可能减少不必要工作的艺术)是基本原则。

        (11) 最好的框架结构、需求和设计产生于自组织的项目组。

        (12) 项目组要定期对其运作方面进行反思,提出改进意见,并相应进行细调。 此外,Agile方法实施中一般采用面向对象技术(接口定义良好的其它开发技术也可),另外还强调在开发中要有足够的工具(如配置管理工具、建模工具等)支持。r

        (三)、SCRUM开发

        什么是Scrum?  Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,我想你一定能想象出你的开发团队在开发一个项目时,大家像打橄榄球一样迅速、富有战斗激情、人人你争我抢地完成它,你一定会感到非常兴奋的。 而Scrum就是这样的一个开发流程,运用该流程,你就能看到你团队高效的工作。

        开发流程中的三大角色:

        产品负责人(Product Owner)  主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。

        流程管理员(Scrum Master)  主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。

        开发团队(Scrum Team)  主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到Sprint的目标。

        如何进行Scrum开发?

        我们首先需要确定一个Product Backlog(按优先顺序排列的一个产品需求列表),这个是由Product Owner 负责的;

        1、Scrum Team根据Product Backlog列表,做工作量的预估和安排;

        2、有了Product Backlog列表,我们需要通过 Sprint Planning Meeting(Sprint 计划会议) 来从中挑选出一个Story作为本次迭代完成的目标,这个目标的时间周期是 1~4个星期,然后把这个Story进行细化,形成一个Sprint Backlog;

        3、Sprint Backlog是由Scrum Team去完成的,每个成员根据Sprint Backlog再细化成更小的任务(细到每个任务的工作量在2天内能完成);

        4、在Scrum Team完成计划会议上选出的Sprint Backlog过程中,需要进行 Daily Scrum Meeting(每日站立会议),每次会议控制在15分钟左右,每个人都必须发言,并且要向所有成员当面汇报你昨天完成了什么,并且向所有成员承诺你今天要完成什么,同时遇到不能解决的问题也可以提出,每个人回答完成后,要走到黑板前更新自己的 Sprint burn down(Sprint燃尽图);

        5、做到每日集成,也就是每天都要有一个可以成功编译、并且可以演示的版本;很多人可能还没有用过自动化的每日集成,其实TFS就有这个功能,它可以支持每次有成员进行签入操作的时候,在服务器上自动获取最新版本,然后在服务器中编译,如果通过则马上再执行单元测试代码,如果也全部通过,则将该版本发布,这时一次正式的签入操作才保存到TFS中,中间有任何失败,都会用邮件通知项目管理人员;

        6、当一个Story完成,也就是Sprint Backlog被完成,也就表示一次Sprint完成,这时,我们要进行 Srpint Review Meeting(演示会议),也称为评审会议,产品负责人和客户都要参加(最好本公司老板也参加),每一个Scrum Team的成员都要向他们演示自己完成的软件产品(这个会议非常重要,一定不能取消);

        7、最后就是 Sprint Retrospective Meeting(回顾会议),也称为总结会议,以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮Sprint的产品需求中。

        (四)、Power Designer

        Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型,也能对团队设计模型进行控制。他可以与许多流行的软件开发工具,例如PowerBuilder、Delphi、VB等相配合使缩短开发时间和使系统设计更优化。

        designer是能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具。使用它可以分别从概念数据模型(Conceptual Data Model)和物理数据模型

        (Physical Data Model)两个层次对数据库进行设计。在这里,概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义;物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。

        二、研究的基本内容,拟解决的主要问题

        1、 研究的基本内容

        (1)、软件需求管理;

        (2)、软件开发资源管理(包括人力和时间管理);

        (3)、软件项目进度可视化跟踪与管理(开发→测试→结束)。

        2、拟解决的主要问题

        (1)、完成系统的基本功能,其中包括后台与数据库设计与实现;

        (2)、完成上述功能并进行优化。

        三、研究步骤、方法

        1、研究步骤

        (1) 查阅相关文献了解此毕设题目所包含的内容及要求;

        (2) 查阅相关文献决定大概的程序构架和主要类与函数的使用;

        (3) 根据前两步的研究结果开始具体上机编程来实现毕设题目,其中包括大量遇到问题,解决问题的过程;

        (4) 对程序或结论进行调式和检查,并确定是否完成了毕设特定的要求。

        2、研究方法

        (1) 查阅相关文献,从中学习和获取完成毕设所需的知识和内容,从而形成理论概念;

        (2) 上机实际操作,在编程中发现并解决具体问题,从而对题目及C#以及sql语句有更深入地理解;

        (3) 每周向老师汇报毕设进度与成果,同时积极与老师交流,从而可以得到老师的指导和建议,解决一些特殊的问题。

        四、研究工作进度

        

        

         

        


水性家具涂料需注重两点来赢得市场
2015年无锡安全工程师报名时间为4月12日-年5月9日
中孚泰参与南京青奥会议中心音乐厅设计
斜井施工组织设计
建筑行业实质迈入“质量时代”
安全工程师辅导资料:电力施工中的汽车吊装安全
安全工程师《法律法规》习题班讲义精选(5)
湖北省2015年度注册安全工程师报名时间为4月12日-21日
信息发布:名易软件http://www.myidp.net