《毕业设计论文高校实验教学安排管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计论文高校实验教学安排管理系统.doc(52页珍藏版)》请在三一办公上搜索。
1、软件工程项目管理研究与实践 高校实验教学安排管理系统摘 要当今软件开发的主要问题,不是技术问题,而是管理问题。软件工程项目管理在每个软件项目开发中起着关键的作用。项目的成败,即是否符合项目的预算和进度,通常与项目管理者的有效工作有着直接的关系。众所周知,软件开发中有太多的不可预知性。但这种不可预知是对总体来说的,当软件进行到一点程度时,不可预知的东西就会变成可预知的东西。以往的做法是不去管理它,这样所带来的就是项目的失败。要是有好的管理方法就可以控制这些不可预知的东西,软件项目就会一步步随着的设计思路走向成功。项目管理的最终目标是交付一个高质量、符合合理进度和成本的产品。承担实验教学、毕业设计
2、等任务的实验室(中心)是进行实践教学环节的重要阵地,高校实验教学安排管理系统主要是为了解决高校实验室当前存在的排实验难、调实验难、学生预约实验难等问题。由于此系统是面向全校所有实验室,而每个实验室存在的个性化差异又很大,所以如何保证需求,同时又能保证进度和质量,是此系统开发的关键所在。由于这些难点的存在,增加了系统项目管理工作的难度,造成了此类系统开发的难度。本课题研究的内容是:如何运用软件工程理论对高校实验教学安排管理系统进行跟踪、监控和度量项目过程进行管理,从而保证高校实验教学安排管理系统按进度高质量的完成、交付、使用。关键词:实验教学,项目管理,软件工程,软件开发RESEARCH AND
3、 PRACTICE OF SOFTWARE ENGINEERING PROJECT MANAGEMENTABSTRACTThe main problem of todays software development, is managerial problem, rather than a technical problem. Software engineering project management plays a key role in each software project development. The success of the project, namely, whet
4、her meets the project budget and schedule or not, usually directly related to project managers effective working . As we all know, software development has too many unpredictable factors. But these unpredictable factors are on the whole, when the software to the point, the unpredictabilities will be
5、come predictabilities. Previous practice is not to manage it, what result in the failure of the project. Excellent management can control these unpredictable things, the software project will be successful with the original design idea of the step by step. The ultimate goal of project management is
6、to deliver the product, which is a high quality, meeting the reasonable progress and cost . It is important for the laboratory or laboratory center to take up experimental teaching、Graduation Project and other tasks .Experimental teaching management system is mainly to solve the existing problems in
7、 universities laboratories: difficult to arrange experiments, hard to adjust experiments, and hard to order experiment for students . As the system is for all s laboratories, each laboratorys individual difference is obvious, how to ensure the demand while ensuring the progress and quality, is the k
8、ey of the development. The existence of these difficulties increased the difficulty of project management , resulting in the difficult development of such systems.The content of the research is how to use software engineering theory to track, monitor and measure the process of Experimental teaching
9、management system, to ensure the system accomplish, delivery, and use of.high-qualityKEY WORDS:experiment teaching, project management, software engineering, Software Development目录 前言1第1章 课题介绍21.1 系统背景21.2 课题研究内容21.3 系统功能31.4 项目管理难点3第2章 项目管理概述52.1 项目的定义52.2 项目生命周期52.3 项目管理的定义62.4 常用的项目管理技术62.5 项目管理过
10、程组72.6 项目管理过程组与项目生命周期8第3章 软件项目管理93.1 软件项目管理定义93.2 软件项目管理特点93.3 软件生存周期模型103.4 软件项目管理现状11第4章 软件项目管理实践134.1 总体思路134.2 几个重要概念144.3 项目立项154.3.1 工作内容154.4 项目策划154.4.1 工作内容154.4.2 重要意义164.4.3 整体处理流程164.4.4 主要职能划分174.4.5 工作分解结构(WBS)184.4.6 质量保证计划194.4.7 风险管理计划204.4.8 沟通管理计划224.5 项目执行244.5.1 工作内容244.5.2 总体流程
11、244.5.3 团队建设254.5.4 质量保证264.5.5 风险管理284.5.6 沟通管理284.6 项目监控284.6.1 工作内容284.6.2 总体流程294.6.3 意义304.6.4 进度监控304.6.5 项目资源314.6.6 风险监督314.6.7 沟通监督314.7 项目结项324.7.1 工作内容324.7.2 具体处理32结论33参考文献34致谢36前言随着信息技术的飞速发展,计算机软件产品的规模和复杂度也随之增加。个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。与此同时,软件项目中“项目黑洞”也应运而生,项目无法按期完成、项目合作方的工作难以协调、用户需求
12、经常变动、工作质量难以保证,这种情况说明了软件项目开发及管理过程中存在着许多的问题,需要更多的重视和研究。软件项目管理作为一种科学的管理手段,就是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员,进度、质量、风险等进行分析和管理的一系列活动。软件行业是一个极具挑战性和创造性的新行业,管理上没有成熟的经验可供借鉴而软件项目管理应该说对于软件企业,尤其是那些以应用开发与系统集成为主的软件企业,没有行之有效的管理方法。因此,决定一个软件项目实施成功与否,软件项目管理无疑起着举足轻重的作用。高校实验教学安排管理系统面向的用户群体庞大,需求复杂,如何做好项目管理工作,是保证系统高质量
13、交付的关键。针对上述问题,通过学习项目管理知识,结合高校实验教学安排管理系统的需求,研究了项目管理在系统开发中的应用。介绍项目管理的相关概念和项目管理的一般过程。依据软件项目目标软件产品、项目范围、开发环境约束等方面的不同,采用适合系统自身的管理方法、管理过程以及取得的效果。本文在第一章对研究的课题进行了介绍,第二章对项目管理的相关知识进行了介绍和说明,第三章对软件项目管理的知识做了介绍,第四章介绍了项目管理在系统中的实践。第1章 课题介绍1.1 系统背景目前各高等院校为满足本科教育教学工作纷纷构建了网上教务管理系统,教学安排管理系统不仅在本科教育教学过程中发挥了至关重要的作用,而且对教育教学
14、改革也起到了支撑促进作用。然而近年来越来越多的高校特别是理工科高校逐渐清醒的意识到以实验教学为主的实践教学在以往的教育教学工作中起到的作用还不够。一方面是由于历史的原因造成的,许多高校在实验教学条件上的投入无法满足日益增加的招生规模;另一方面,高校在迎接教育部评估过程中过于重视理论教学中各个环节中的教学资料的规范和标准,而实践教学仅仅被作为众多评估的教学环节之一。新一轮的工科专业工程专业认证将把重点放在学生实践动手能力和解决工程问题的能力上,这就要求参加专业认证的高校必须重视以实验教学为主的实践教学活动,也说明了实验教学将起到越来越重要的作用,在整个教育教学活动中将占有其应有的重要地位。那么构
15、建高校实验教学安排管理系统将起到重要的基础作用。而经过对高等院校实验教学管理信息化程度的调查研究发现:目前高校实验教学方面普遍存在的是单个实验室用的信息系统,甚至停留在纸质的方式;目前还没发现某个高校有统一的网上排实验和网上实验运行的系统。一方面原因是各实验室实验管理(主要是排实验)的模式和情况各具特点,无法统一。另一个原因是实验室、教师和学生用户在网上排实验、预约实验和查实验,带来大量的并发访问,而最频繁的查询的目标数据量较大,因此很可能超出服务器响应和处理能力。1.2 课题研究内容目前高校的实验教学管理已经到了亟待提高现代化、科学化、规范化管理水平的地步,高校实验教学质量监控必须向前推行。
16、针对以上问题,构建高校实验教学安排管理系统将起到重要作用。但是由于目前许多高校对这方面还处于研究和初步开发阶段,缺少对此类项目的管理工作借鉴,再加上实验教学安排管理系统的特殊性;如何做好项目的管理工作,决定着系统构建的成败。本课题研究的内容就是,如何将项目管理知识灵活运用到实验教学安排管理系统中,从范围、进度、质量、风险等多方面控制系统的开发,从而保证项目能高质量交付。1.3 系统功能系统面向的用户是教务处实践科、实验室、教师(含任课教师和实验指导教师)和学生。系统主要功能是排实验,排实验分为由实验室排和由教师排,排实验后学生需要预约实验并查看实验安排。教务处实践科对全校各实验室的实验运行情况
17、进行监控,并负责教学任务的导入和实验大纲的维护工作。每个用户的角色和功能各不相同,为了使各用户之间协调完成各自工作,系统设置了管理员、实验室、教师、学生四个平台。四个平台使得四种用户的分工明确,共同完成实验教学活动。1.4 项目管理难点从项目管理的角度,实验教学安排管理系统存在以下几个管理难点:1. 需求保证。高质量的需求分析是软件项目成功的关键因素,另外本系统面向的用户群体是教务处、全校的各个实验室、教师、学生四种用户,再加上每个实验室运行模式存在各种差异;因此,如何获得尽可能全面的需求是此项目管理过程中的第一个难题。2. 变更控制。所有问题都不能绝对化的。软件开发的特点,加上本系统面向的用
18、户群体的庞大和差异,决定了在需求阶段各种各样的需求会被忽略和隐藏。因此,在系统设计的初期还要预测到可能存在的需求变动,允许系统在开发的每个阶段一定范围内的需求变动。3. 质量管理。质量管理作为项目管理的一部分,具有非常重要的地位。项目质量管理的目的是通过执行项目质量管理过程和使用一些基本项目管理工具和技术来有力保证软件产品的质量。本系统需求的复杂和差异性决定了质量管理的难度。4. 进度监控。进度监控是每个软件项目关注的问题。本系统要在一学期内完成,以便投入下学期的使用。开发小组成员对于项目管理知识要么缺乏要么不够重视,再加上系统潜在的需求,任务延期时及其有可能频繁发生的;因此合理的进度监控也决
19、定了本系统的成败。第2章 项目管理概述2.1 项目的定义项目是一个特殊的将被完成的有限任务,它是在一定的时间内,满足一系列特定目标的多项相关工作的总称(C-PMBOK 2006)。此定义包含三层含义:1. 项目是一项有待完成的任务,有特定的环境与要求,即项目是指一个过程,而不是指过程终结后所形成的成果。2. 在一定的组织机构内,利用有限资源(人力、物力、财力等)在规定的时间内完成任务。3. 任务要满足一定性能、质量、数量、技术指标等要求。项目作为一类特殊的活动,所表现的主要特性是:1. 一次性:指这次任务完成后,不会再有与此完全相同的另一个任务。2. 目标的明确性:项目作为一类特别设立的活动有
20、其明确的目标。3. 整体性:项目是一系列活动的有机组合,从而形成一个特定的、完整的过程。4. 不确定性:项目目标虽然明确,但达到目标的途径并不完全清楚。5. 临时性:当项目目标达成时,或项目因不会或不能达到目标而中止时,或当项目需求不复存在时,项目节结束了。但是临时性并不意味着短暂性。6. 开放性:绝大多数项目都是一个开放系统,项目的实施要跨越若干部门的界限。2.2 项目生命周期项目作为一种创造的独特产品和服务的一次性活动是有始有终的。把每一个项目划分成若干个阶段,以便有效地进行管理控制,并与实施该项目组织的日常运作联系起来,这些项目阶段和在一起称为项目生命周期。项目生命周期是通常按顺序排列而
21、有时又交叉的各项目阶段的集合。在项目的整个生命周期中,可以根据项目的具体情况划分为N个阶段来执行,每个阶段也可以成为项目过程。国际上通常把项目的生命周期划分为四个阶段:C概念阶段:主要任务是提出并确定项目是否可行。D开发阶段:为可行项目做好开工前的人、财、物及一切软硬件准备。E实施阶段:按计划启动实施项目。F收尾阶段:项目结束的有关工作。2.3 项目管理的定义项目管理就是以项目为对象的系统管理方法,通过一个临时性的专门的柔性组织,对项目进行高效率的计划、组织、指导和控制,以实现项目全过程的动态管理和项目目标的综合协调与优化(C-PMBOK 2006)。实现项目全过程的动态管理是指在项目的生命周
22、期内,不断进行资源的配置和协调,不管做出科学决策,从而使项目执行的全过程处于最佳的运行状态,产生最佳效果。项目目标的综合协调与优化是指项目管理应综合协调好时间、费用及功能等约束性因素,在相对较短的时期内成功地达到一个特定的成果性目标。项目管理的最大特点是项目管理注重于综合性管理,并且有严格的时间限制。项目管理必须通过不完全确定的过程,在确定的期限内生产出不完全确定的产品,日程安排和进度控制对项目管理产生很大的压力。2.4 常用的项目管理技术常用的范围管理的技术有:工作分解结构(Work Breakdown Structure,工作分解结构),时间管理技术有:甘特图(Gantt Chart)、网
23、络图(network Diagram)、关键路径法(Critical Path Method),范围管理的技术有:工作分解结构(Work Breakdown Structure,工作分解结构)。工作分解技术(WBS):WBS是一种以结果为导向的分析方法,用于分析项目所涉及的工作,所有这些工作构成了项目的整个范围。它是项目范围管理中的技术,也是进行成本、资源的估计的基础。甘特图(横道图) :项目进度计划通常采用横道图或网络图来表示。横道图又称甘特图。它以一段横向线条在带有时间坐标的上的位置来表示各项工作的起始、结束时间和工作的先后顺序,整个进度计划都由一系列的横道组成。网络图:网络图是非常有用的
24、进度表达方式。一般情况下根据WBS编制网络图。在网络中一个活动用一个方框表示,每一个活动都被各种关系连接,将项目中各个活动的逻辑关系表示出来,从左到右画出各个任务的时间关系,便形成了网络图。2.5 项目管理过程组项目管理设计多方面的工作,整个项目管理包含大量的工作环节、过程。项目管理可以分为五个不同的管理过程组:1. 项目立项:确定并核准项目或项目阶段。2. 项目策划:确定和细化目标,并为实现项目目标和完成项目要解决问题的范围而规划必要的行动路线,做好技术组织准备。3. 项目执行:将人与其他资源结合,整体实施项目管理计划。4. 项目监控:定期测量并监控绩效情况,及时发现偏离项目管理计划指出,在
25、必要时采取纠正措施,以保证实现项目目标。5. 项目结项:正式验收产品、服务或成果,并规范地结束项目或项目阶段。五个过程组的相互关系图如图2-1所示。图 2-1 五个过程组的关系项目管理是一种综合性工作,要求每一个产品过程都同其他过程恰当地配合和联系,以便彼此协调。在每一个过程中采取的行动通常会对这一过程和其他相关过程产生影响。项目管理的方法不止一种,在项目期间,人们应该在项目管理过程组及其所含过程的指导下,恰当地应用项目管理知识和技能。2.6 项目管理过程组与项目生命周期项目管理的五个过程组在一个项目生命周期的不同阶段反复进行。这五个过程不是运行一次就完结,而是多次循环进行,一部分的结果成为另
26、一部分的依据。第3章 软件项目管理3.1 软件项目管理定义从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。3.2 软件项目管理特点由于软件具有逻辑复杂、快速演化、易于修改、难以度量、正确性难以验证等特点,使得软件项目不同于一般的工程项目,表现出显著的独特性。这些独特性主要表现在以下三个方面:1. 过程复杂在软件开发中,软件过
27、程具有非常重要的意义,直接影响到软件生产的效率和软件产品的质量。要管理的并不只是软件产品开发的活动序列,而是软件开发的最佳实践。它包括流程、技术、产品、活动间的关系、角色、工具等,是软件开发过程中各个方面的因素的有机结合。2. 成本和进度估计困难项目计划的主要内容包括对工作量、成本、开发时间的估计,以及根据估计值制定和调整项目组的工作。由于软件是纯知识产品,其工作量、开发进度、成本很难估计和度量,生产效率也难以预测和保证。3. 人力资源管理重要性高、难度大在考虑各种软件开发资源时,人是最重要的资源。对人员的配置、调度安排贯穿整个软件过程,人员的组织管理是否得当,是影响软件项目质量的决定性因素。
28、如何激励员工充分发挥创造力,提高员工的能力,并对员工进行公平公正的考评成为软件项目管理中得一个值得关注得问题。3.3 软件生存周期模型软件生存周期模型是从软件项目需求定义直至软件经使用后废弃为止,跨越整个生存周期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。下面介绍四种常用的软件生存周期:瀑布模型、增量模型、螺旋模型、喷泉模型。1. 瀑布模型瀑布模型是将软件生存周期各个活动规定为自上向下,按照线性顺序连接的若干阶段的模型,如图下图所示。该模型支持结构化的设计方法,但它是一种理想的线性开发模式,缺乏灵活性,无法解决软件需求不明确或不准确的问题。实际运用中可以灵活运用瀑布模型。图
29、3-1 瀑布模型2. 增量模型增量模型是一种非整体开发的模型。软件在该模型中是“逐渐”开发出来的。该模型有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。3. 演化模型演化模型适合于以应用需求为驱动的软件开发,由一些小的开发步骤组成,每一步经历需求分析、设计、实现和验证,产生软件产品的一个增量。通过这些迭代,最终完成软件产品的开发。4. 螺旋模型螺旋模型是一种风险驱动的模型。将瀑布模型与演化模型结合起来,并且加入两种模型均忽略了的风险分析。螺旋模型适合于大型软件的开发,它吸收了软件工程“演化”的概念,包括需求定义、风险分析、工程实现及用户评估四个阶段,螺旋模型由上述四个阶段组
30、成的迭代模型,迭代的结果必须尽快收敛到客户允许的或可接受的目标范围内。沿螺线自内向外每旋转一圈便开发出更为完善的一个新的软件版本。螺旋模型是软件开发的高级策略,不仅适合结构化方法且更适合面向对象方法。它的实施、管理和技术水平产生深远的影响,是最有前途的过程模型之一。5. 喷泉模型喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。喷泉模型对软件复用和生存周期中多项开发活动的集成提供了支持,主要支持面向对象的开发方法。系统某个部分常常重复工作多次,相关功能在每次迭代中随之加入演进的系统。其实,从全部模型来看,任何一个模型无外乎就是那几个步骤,和瀑布模型一样。所以不妨把
31、其他的模型看成是根据瀑布模型转化来的。在瀑布模型的使用中,为了开发时的敏捷性,灵活性,不断地改进,于是就有了其他的模型。3.4 软件项目管理现状软件项目管理IT行业的一个富有创新意义的领域,是针对特定的项目需求,以团队运作的形式,有效地组织项目资源,通过对项目的管理和控制,实现项目的目标。在我国IT行业起步较晚,但发展迅速,项目管理在IT行业的应用还很不成熟,一般的、常规的组织管理方式已很难适应,这是软件开发中项目管理面临的最大挑战。1. 对项目管理认识和重视不够。项目经理或管理人员不十分了解项目管理的知识体系,所以在实际工作中没有项目管理知识的指导,完全依靠个人现有的知识技能,管理工作的随意
32、性、盲目性比较大。2. 对项目的系统性把握不够。在软件企业一些项目管理人员对项目总体计划、阶段计划的作用认识不足。项目经理认为计划不如变化快,项目中也有很多不确定的因素,做计划是走过场,因此制定总体计划时比较随意,造成计划与控制管理脱节,无法进行有效的进度控制管理。因此,提高项目管理人员的计划意识,加强对开发计划、阶段计划的有效性,并进行事前事后的评估。3. 管理思想贯彻不到位项目经理如果没有从总体上去把握管理整个项目,而是埋头于具体的技术工作,造成项目组成员之间任务不均、资源浪费。在软件企业中,项目经理大多是技术骨干,技术方面的知识比较深厚,但无论是项目管理知识,还是项目管理必备的技能、项目
33、管理必备的素质都有待补充和提高。同时由于工作分解结构设计的缺乏合理性,项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。因此加强项目经理在项目管理知识方面的培训和考核,引导项目经理更好地做好项目管理工作。4. 沟通的效率不高在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失。在项目沟通管理方面:管理者要用70的时间用于与人沟通,而项目经理需要花费90或更多的时间来沟通。所以项目管理人员不但自己要把工作重点放在沟通上,而且要善于沟通,以提高沟通意识和沟通的效率。5. 对付风
34、险的策略不成熟项目管理人员没有充分分析可能的风险,对付风险的策略考虑比较简单。有些项目管理人员没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险和一些简单的对策,对于后面的风险防范起不到一定指导作用。项目风险管理是对项目潜在的意外损失进行规划、识别、估计、评价、应对和监控的过程,是对项目目标的主动控制手段。因此通过学习项目管理知识,掌握风险识别、量化、对策研究、反应控制的工具和方法,加强对项目规划中风险管理计划的审核,提高项目组的风险管理意识。第4章 软件项目管理实践4.1 总体思路项目管理涉及多方面的工作,整个项目管理包含大量的工作环节、过程;项目全生命周
35、期和项目每个阶段都需要有一个或多个相应的项目管理过程;但是项目管理过程不是项目阶段。项目管理过程不是一成不变地运用于所有项目,在实际工作中,管理过程随着组织环境的不同,专业领域的不同而需要做出调整。根据本系统的特点,采用瀑布生存周期模型,将实验教学安排管理系统分为需求、设计、编码、测试、交付五个阶段。从软件项目管理的角度分为将实验教学安排管理系统项目管理分为项目立项、项目策划、项目执行、项目监控和项目结项五个过程组。这五个过程组在项目中不是运行一次就完结,而是多次循环进行,一部分的结果成为另一部分的依据。每一个过程组不仅针对项目本身,也用来针对每一个阶段的管理。高校实验教学安排管理系统的总体管
36、理思路可以用下图表示:图 4-1 本系统总体管理流程下面从这五个过程组对本系统的项目管理进行介绍。4.2 几个重要概念1. 里程碑:完成阶段性工作的标志,不同类型的项目里程碑不同。里程碑在项目管理中具有重要意义:首先,对一些复杂的项 目,需要逐步逼近目标,里程碑产出的中间“交付物”是每一步逼近的结果,也是控制的对象。如果没有里程碑,中间想知道“他们做的怎么样了”是很困难的。其次,可以降低项目风险。通过早期评审可以提前发现需求和设计中的问题,降低后期修改和返工的可能性。另外,还可根据每个阶段产出结果分期确认收入,避免血本无归。第三,一般人在工作时都有“前松后紧”的习惯,而里程碑强制规定在某段时间
37、做什么,从而合理分配工作,细化管理“粒度”。2. 检查点:指在规定的时间间隔内对项目进行检查,比较实际与计划之间的差异,并根据差异进行调整。可将检查点看作是一个固定“采样”时点,而时间间隔根据项目周期长短不同而不同,频度过小会失去意义,频度过大会增加管理成本。常见的间隔是每周一次,项目经理需要召开例会并上交周报。3. 基线:指一个(或一组)配置项在项目生命周期的不同时间点上通过正式评审而进入正式受控的一种状态。基线其实是一些重要的里程碑,但相关交付物要通过正式评审并作为后续工作的基准和出发点。基线一旦建立后变化需要受控制。重要的检查点是里程碑,重要的需要客户确认的里程碑,就是基线。4. 评审:
38、是确定质量活动及其有关结果是否符合计划安排,以及这些安排是否有效贯彻并适合于达到目标的有系统、独立的审查。通过质量评审,评价评审对象的现状对规定要求的复合型,并确定是否需采取改进纠正措施。评审活动贯穿整个软件生命周期。评审活动有多种方式,主要包括正式地评审和非正式地评审。在软件生命周期的任何时期都可以举行非正式评审,非正式评审意味着在评审结束无须做出结论性报告。5. 缺陷:评审中发现的与计划有差别的质量活动或相关结果。4.3 项目立项4.3.1 具体工作项目立项过程的持续时间一般很短,在本系统中,项目立项过程主要用来启动项目,通过项目启动的工作来定义初步范围、总体需求获取,并形成项目可行性报告
39、和系统设计文档。具体来讲,我们做了以下几点:1. 确定系统面向用户。实验教学管理系统面向的用户是教务处、全校实验室、教师及学生。2. 确定系统目标。本系统的预期目标是完成一个实验室排课系统,服务对象覆盖所有基础、专业实验室(中心)的所有公共课和专业课的实验教学活动。3. 确定团队人员。在项目的启动阶段要确定团队参与人员,并组织所有成员参与项目的启动。参与本项目的成员有06级的三名同学和07级的六名同学。4. 确定系统开发环境(包括硬件和软件环境)。本系统采用B/S的开发模式,选取ASP.NET作为主要开发技术,Miscrosoft Visual Studio作为开发工具,数据库服务器选用MS
40、SQL Server 2000;利用IIS发布网站。利用实验室开放的条件搭建团队开发环境。5. 系统总体功能需求的获取主要是老师与教务处人员共同商讨确定的。在开始新的阶段的时候,则需要项目负责人提交立项申请,经过老师审批同意才能开始新阶段的工作。在每个阶段开始时进行立项过程,有助于保证项目符合其预定的业务需要,验证成功标准。4.4 项目策划4.4.1 工作内容策划过程组明确项目总范围,定义和优化目标,为执行软件工程和管理软件项目制定合理的计划。项目管理计划作为策划过程组的输出,将对项目范围、时间、成本、质量、沟通、风险等方面作出规定。项目策划是一种具有建设性、逻辑性的思维的过程,在此过程中,总
41、的目的就是把所有可能影响决策的决定总结起来,对未来起到指导和控制作用,最终借以达到方案目标。此过程的主要工作主要是根据项目章程、项目阶段计划选择合适的软件生存周期模型,进行需求的获取和分析,获得项目的WBS分解结构,对项目的全生存周期进行计划。可以归纳为:项目范围定义、进度计划、成本费用计划、质量计划、人力资源计划、沟通计划、风险管理计划和采购计划。4.4.2 对项目的意义项目策划有时被称为项目管理计划,有计划才能逐步实现,而策划又是比计划更切实际,更贴近客户的要求,在平衡客户要求方面起着关键的作用。它对项目管理的意义体现在以下几个方面:1. 使模糊的项目概念变得清晰明确。项目策划要解决的就是
42、项目管理团队要做什么、怎么做、由谁来做、何时做的问题。将项目目标分解为一个个小目标,也有利于调动开发成员的积极性。2. 项目策划明确了项目目标和全面项目计划,有助于团队了解项目的重要性,以及项目对自己的要求,加强团队成员的责任感和对项目的认同感。3. 项目管理计划是度量和监控项目的基准。要制定有价值的策划,必须同时确认是否有足够的条件来执行。要明白策划原本就是为执行而拟定出来的。在执行的过程中,一切都会变得明确起来。4.4.3 整体处理流程项目策划过程组的主要内容就是任务的分解,并依据此计划对质量、风险等做出相应计划。输出是一些项目管理计划,是项目执行和监控的依据。整体处理流程如下图:图 4-
43、2 项目策划流程4.4.4 主要职能划分在项目的开始,要为项目指定承担特殊任务的人员。以下用成员名字的首字母缩写代替每个成员。考虑到团队成员编程能力和经验的差异,06级同学比07级有更多的项目开发经验和编程能力,本系统主要职责划分如下:1. 06级一名同学负责系统架构搭建、代码重构和日常程序问题解决;并负责不定期为团队召开技术性会议。2. 06级另外一名同学负责数据库表的建立、字段变更以及数据的调优。数据库的每个变更都要由此同学审批通过。3. 07级同学主要是系统的编码工作,06级除了要执行自己特殊的任务外,也要参与到系统的编码工作中。本系统按平台划分为教务处、实验室、教师、学生四个大的功能模
44、块。系统采用并行开发的模式。教务处平台、教师平台分别由一名06级同学和一名07级同学完成;由于功能多且复杂,实验室平台由一名06级同学和两名07级同学配合完成;学生平台的需求和功能简单,由两名07级同学配合完成。4.4.5 需求获取由于本系统的用户群体庞大,在需求分析阶段,全面的需求获取是保证系统开发少走弯路的前提。在明确了整体功能的情况下,我们采用多种方法从不同角度获取每个平台的不同需求:1 向各个实验室发放调查表,从中了解核心需求。2 定期召集各个实验室负责人在教务处召开研讨会,从中了解个性化需求。3 在每一阶段开始之前召开由各个实验室参加的研讨会,展示界面原型,讲解功能,收集每个实验室的
45、反映和意见。这个过程在每个阶段进行的过程中往往要反复进行多次。4 对于每一次的调查和会议,都有专门人员做好全程记录。5 每次的调查和会议之后,开发小组内要召开小组会议,整理需求,形成文档。并提出解决方案,形成解决方案文档。4.4.6 工作分解结构(WBS)创建工作分解结构就是把项目可交付成果和项目工作分解成较小的、更易于管理的组成部分的过程。创建WBS的过程非常重要,因为在任务分解的过程中,需要考虑项目的方面。本系统的任务分解采用Microsoft Project工具,设置项目的过程,分解任务,设置任务的属性,同时为任务分配资源。在创建WBS时要注意到几点:1. WBS一定要自上而下的分配任务
46、。先从总的需求,再到模块功能,再细分到功能的每个实现。不要一开始就太关注某个细节,避免出现因为考虑不周到,对项目的某些功能进行遗漏。实验教学安排管理系统分为教务处、实验室、教师、学生四个平台,再任务分解时,先按平台分为四个大模块,再根据每个平台功能的不同分解小模块和小功能。2. WBS一定要有可操作性。只有具有可操作性,才能正确的预估时间。如果分解不够详细,可能最后整个项目的时间估计会出现很大偏差,如果估计过于详细,会浪费太多时间,在合适的阶段估计到该阶段需要的详细程度。实验教学安排管理系统的用户需求复杂,开发团队是由学生组成,每天的开发时间不能完全保证,这些因素决定了在进行WBS分解的时候要
47、充分考虑需求和开发成员的时间,要做到对需求整体把握,对开发团队的时间安排有大致了解,这样做的任务分解才更加贴近实际。3. WBS最好分解不要超过一天为宜。时间太长,就没有实际的操作性,而且时间长,也说明问题分解的不够明白。本系统采用的分解时间为一个工作日(也就是一天)。4.4.7 质量保证计划软件产品质量的保证是软件项目管理的一个重要内容。软件项目的目标不仅仅是进度目标和成本目标,更重要的就是质量目标,质量直接决定了软件产品能否生存已经后续的升级和维护等工作量。项目策划和项目执行过程的每一个阶段都需要考虑质量。软件的质量属性很多,这些质量属性又可以分为功能性和非功能性两大类:1. 功能性质量要素:正确性,健壮性,可靠性。2. 非功能性质量因素:性能,易用性,安全性,可扩展性,兼容性,可移植性。非功能性需求是软件质量重要组成,是架