第一篇:项目软件开发的质量保障方案
软件项目开发质量保障方案
一、项目质量管理内容
1.1.项目编制和评审质量计划
项目制定质量保证计划:依据项目计划及项目质量目标确定需要检查的主要过程和工作产品,识别项目过程中的干系人及其活动,估计检查时间和人员,并制定出本项目的质量保证计划。
质量保证计划的主要内容包括:例行审计和里程碑评审,需要监督的重要活动和工作产品,确定审计方式,根据项目计划中的评审计划确定质量保证人员需要参加的评审计划。明确质量审计报告的报送范围。
质量保证计划的评审:质量保证计划需要经过评审方能生效,以确保质量保证计划和项目计划的一致性。经过批准的质量保证计划需要纳入配置管理。当项目计划变更时,需要及时更改和复审质量保证计划。
1.2.“过程和工作产品”的质量检查
根据质量保证计划进行质量的审计工作,并发布质量审计报告。
审计的主要内容包括:是否按照过程要求执行了相应的活动,是否按照过程要求产生了相应的工作产品。本项目中对质量的控制主要体现在不同阶段的审计当中。
1.3.不符合项的跟踪处理
对审计中发现的不符合项,要求项目组及时处理,质量保证人员需要确认不符合项的状态,直到最终的不符合项状态为“完成”为止。
二、质量管理责任分配
开发项目上按照规范化软件的生产方式进行开发。每个项目除配备了项目开发所需角色外,还专门配备了质量保证小组、配置管理小组、测试小组来确保质量管理的实施,下面针对这三种角色进行说明: 2.1.质量保证小组职责
质量保证小组作为质量保证的实施小组,在项目开发的过程中几乎所有的部门都与质量保证小组有关。质量保证小组的主要职责是:以独立审查方式,从第三方的角度监控软件开发任务的执行,分析项目内存在的质量问题,审查项目的质量活动,给出质量审计报告。就项目是否遵循已制定的计划、标准和规程,给开发人员和管理层提供反映产品和过程质量的信息和数据,使他们能了解整个项目生存周期中工作产品和过程的情况,提高项目透明度,从而支持其交付高质量的软件产品。
质量保证人员依据质量保证计划,通过质量审计报告向项目经理及有关人员提出已经识别出的不符合项,并跟踪不符合项的解决过程,通过审计周报或者审计月报向项目经理提供过程和产品质量数据,并与项目组协商不符合项的解决办法。
质量保证小组的检测范围主要包括:项目的进度是否按照项目计划执行,用户需求是否得到了用户的签字确认,软件需求是否正确的反映了用户的需求,是否将每一项用户需求都映射到软件需求;系统设计是否完全反映了软件需求;实现的软件是否正确的体现了系统设计;测试人员是否进行了较为彻底的和全面的测试;客户验收和交接清单是否完备;对于系统运行中出现的问题,维护人员是否记录了详细的维护记录;配置管理员是否按照配置管理计划建立了基线,是否严格控制变更过程,是否对配置库进行了维护。
2.2.配置管理小组职责
配置管理活动的目的是通过执行版本控制、变更控制、基线管理等规程,借助配置管理工具的使用,来保证整个生命周期过程产生的所有配置项的完整性、一致性和可追溯性。配置管理是对工作成果(阶段工作成果和产品成果、进展状态成果)的一种有效保护形式,是反映项目及其工作产品的过去、现在、动态的资料和数据集中管理体现。
配置管理小组的主要职责包括:根据项目计划制定配置管理计划,建立配置库,为项目组人员分配配置库权限,创建需求、设计、开发、测试、交付阶段的基线。当纳入基线库的工作产品发生变更时,严格按照配置项变更控制过程执行变更,变更后建立新的基线。
2.3.测试小组职责
作为质量控制的主要手段,如同软件开发一样,测试在执行之前,测试小组制定软件测试计划、测试用例的编写和执行工作。
测试可以分为如下几种类型:代码走查、单元测试、集成测试、系统测试。为了保证程序的质量,开发人员需要对同伴的代码进行代码走查,同时对自己编写的程序进行单元测试,确保程序编译、运行正确。
测试人员根据软件需求分析报告进行软件集成测试用例和系统测试用例的编写。对编写完成的测试用例提交项目组进行评审,同时质量保证人员对评审过程和工作产品进行监测。
测试人员根据测试计划和测试用例执行测试用例,并对发现的缺陷进行记录,只有这样才能确保项目组开发的软件产品满足用户需求。在完成集成测试之后,可以进行软件系统测试,系统测试包括对软件进行功能测试、性能测试、安全测试、压力测试。只有进行了系统测试软件测试才是完整的。系统测试在本项目中占有重要的地位,性能要求有可能改变软件的设计,为避免造成软件的后期返工,测试在性能上需要较大的侧重。
三、质量保证措施
通过质量管理责任的分配,通过如下几个方面来进行质量保证的实施过程:
3.1.项目进度
项目计划的制定为工程项目实施、管理和支持工作、项目进度、成本、质量及过程产品的有效控制打下了良好的基础,以便所有相关人员能够按照该计划有条不紊地开展工作;制定《项目计划》,必须获得相关干系人的认可,并以此作为项目跟踪的基础。
项目进度是项目进行是否顺利的最直观表现。制定合理的项目计划首要前提是选择从事类似规模和类似业务项目的有经验的项目负责人参加制定项目进度计划。
项目计划由项目负责人制定,由项目各小组组长、项目成员、干系人、质量保证人员参加一起进行评审。评审过程主要讨论项目计划的可行性,对其中不合理的地方提出修改意见,对计划中不合理的地方进行修改完善,并由质量保证人员对其结果进行跟踪处理,以确保项目计划完整性、可行性,项目计划评审通过后,交由配置管理人员进行配置管理。
在计划实施过程中,按项目计划中里程碑为界限,将整个开发周期划分为若干阶段。根据里程碑的完成情况,适当的调整每一个较小的阶段的任务量和完成的任务时间,动态跟踪和动态调整,以利于项目质量保证的实施。
实际运作中,质量保证人员在对项目执行过程进行检查时,对于发现的项目偏差,以质量审计报告的形式提交项目负责人。由项目负责人组织人员对计划进行维护,对于已经变动的项目计划,由配置管理进行配置管理。
3.2.需求分析
需求分析是开发人员对系统需要做什么和如何做的定义过程。从系统分析的经验来看,这个过程往往是个循序渐进的过程,一次性对系统形成完整的认识是困难的。只有不断地和客户领域专家进行交流确认,方能逐步明了用户的需求。从系统开发的过程得知,系统分析时犯下的错误,会在接下来的阶段被成倍的放大,越是在开发的后期,纠正分析时犯下的错误所花费的代价越是昂贵,也越发影响系统的工期和系统的质量。
本项目中将邀请公司业务顾问参与需求调研,以便保证需求调研质量,同时形成用户需求说明书。需求评审时由公司管理层、项目实施层共同进行,对于通过用户确认的需求,交由配置管理员形成需求基线。
用户需求在招标方确认后,由系统分析人员形成软件需求分析报告,同时对软件需求分析报告进行评审,对于评审通过的软件需求分析报告可以交由测试人员进行测试计划和测试用例的编写。
对于开发过程存在的需求变动,需要填写变更申请单发给项目经理,在质量保证人员参加的情况下,对这个变更进行评审,由项目经理组织项目组成员一起讨论实施变更的可行性及实施后所带来的影响,对于影响小的变更直接记录,大的变更则需要形成正式的变更报告,无论那种变更都需要对相应的文档实施同步变更(包括需求分析报告、系统设计、安装手册、操作手册等)。但是对于无法实现或是变更会带来巨大的影响而将导致进度的延期,这时,将变更报告提交给用户并召开协调会议,讨论变更取舍问题或是项目进度变更问题。
决定变更之后,由项目负责人组织实施变更,测试人员检测变更结果,而质量保证人员监督变更实施过程,并协助配置管理员对变更后的成果进行配置管理。变更实施完后,运行前还需要协助用户一同测试并由用户签字后同意方可上线。
3.3.系统设计
优良的体系结构应当具备可扩展性和可配置性,而好的体系结构则需要好的设计方法,需要针对项目的结构、项目的特征和用户的需求来分析。项目中将安排我公司高级系统架构师担当项目总体设计师,汇同总体设计组完成系统设计。
另外对公共类模块的开发。由总体设计组通过对需求的仔细研究,尽可能的识别出公共类,并进行定义和设计,以减少重复工作。对于项目组提供的设计文档,由项目经理组织,质保小组成员参与,对其设计文档进行评审,及时发现设计中可能存在的错误,降低项目开发风险,同时确保设计文档能为开发人员、测试人员提供确实的指导。对于可复用的设计进行提取作为公共库设计和开发,提供项目组。最后交由配置管理员进行设计文档的版本控制。
3.4.系统实现
系统实现的目的是依据系统设计文档,由程序员进行程序编写,以便实现设计要求,系统实现过程中,开发人员需要对模块进行代码走查和交叉单元测试,以保证模块代码质量。软件实现也就是代码的生产过程。根据上一阶段形成的设计文档,程序员在完成代码之后,可以开始编码并且进行代码走查和单元测试。对于测试完成的程序可以交由配置管理人员进行配置管理。
3.5.系统测试
系统开发涉及到一系列的过程,每一个过程都有可能引入缺陷,系统质量的好坏直接关系到正常使用和日后的维护。在开发过程中,我们将质量控制贯穿于所有阶段和所有参与系统的人员中,包括系统分析、设计和编码。分阶段的评审和测试是软件质量的有力保障。
系统存在平台测试和应用系统的测试以及最终的测试。由于测试也存在协调的问题,如问题定位,在应用系统发现一个错误,到底是应用系统的自身的错误还是中间件存在的错误,需要开发人员进行准确的判断。为了达到良好的测试目的,本系统测试工作由测试组来完成,主要采用下列方法进行系统的测试:
从测试方法上来说,分为黑盒测试和白盒测试:
黑盒测试:着重于测试软件系统的外部特性;根据系统的设计要求,每一项功能都要进行逐个测试,检查其是否达到了预期的要求,是否能正确地接受输入,是否能正确地输出结果。
白盒测试:由于软件的所有源代码都要由项目组成员编写,对其内部的逻辑规则和数据流程,都要进行测试,以检查其代码编写是否符合设计要求。
从测试策略上来说分为集成测试和系统测试:
集成测试:在所有模块都通过了单元测试后,将各个模块组装在一起,进行组装测试,用于发现与接口相联系的问题。在通过组装测试后,将经过单元测试的模块组装成一个符合设计要求的软件结构。
系统测试:项目通过了以上的测试步骤后,与其它系统元素(如硬件服务器、网络系统等)进行集成测试和系统级的确认测试,将各种可能的缺陷完全排除掉,从根本上保证系统的长期稳定运行。
3.6.系统维护
在项目中,技术支持小组的任务一方面是保证对项目客户的跟踪服务,另一方面是确保该项目的技术咨询工作。
在系统维护期,对于一般性的错误,如操作不当等引起的问题,全部由技术支持小组执行完成,但需要用户测试确认上线。如果较大的修改则需要走变更控制流程,填写变更申请,经项目组讨论分析可行方案在由技术支持小组实施,通过测试后方可提交用户。在这个过程中质量人员需要对维护过程和维护记录单进行检查。
第二篇:软件开发质量保障方案
软件开发质量保障方案
一、质量管理内容
1.1.编制和评审质量计划
制定质量保证计划:依据项目计划及项目质量目标确定需要检查的主要过程和工作产品,识别项目过程中的干系人及其活动,估计检查时间和人员,并制定出本项目的质量保证计划。
质量保证计划的主要内容包括:例行审计和里程碑评审,需要监督的重要活动和工作产品,确定审计方式,根据项目计划中的评审计划确定质量保证人员需要参加的评审计划。明确质量审计报告的报送范围。
质量保证计划的评审:质量保证计划需要经过评审方能生效,以确保质量保证计划和项目计划的一致性。经过批准的质量保证计划需要纳入配置管理。当项目计划变更时,需要及时更改和复审质量保证计划。
1.2.“过程和工作产品”的质量检查
根据质量保证计划进行质量的审计工作,并发布质量审计报告。
审计的主要内容包括:是否按照过程要求执行了相应的活动,是否按照过程要求产生了相应的工作产品。本项目中对质量的控制主要体现在不同阶段的审计当中。
1.3.不符合项的跟踪处理
对审计中发现的不符合项,要求项目组及时处理,质量保证人员需要确认不符合项的状态,直到最终的不符合项状态为“完成”为止。
二、质量管理责任分配
开发项目上按照规范化软件的生产方式进行开发。每个项目除配备了项目开发所需角色外,还专门配备了质量保证小组、配置管理小组、测试小组来确保质量管理的实施,下面针对这三种角色进行说明: 2.1.质量保证小组职责
质量保证小组作为质量保证的实施小组,在项目开发的过程中几乎所有的部门都与质量保证小组有关。质量保证小组的主要职责是:以独立审查方式,从第三方的角度监控软件开发任务的执行,分析项目内存在的质量问题,审查项目的质量活动,给出质量审计报告。就项目是否遵循已制定的计划、标准和规程,给开发人员和管理层提供反映产品和过程质量的信息和数据,使他们能了解整个项目生存周期中工作产品和过程的情况,提高项目透明度,从而支持其交付高质量的软件产品。
质量保证人员依据质量保证计划,通过质量审计报告向项目经理及有关人员提出已经识别出的不符合项,并跟踪不符合项的解决过程,通过审计周报或者审计月报向项目经理提供过程和产品质量数据,并与项目组协商不符合项的解决办法。
质量保证小组的检测范围主要包括:项目的进度是否按照项目计划执行,用户需求是否得到了用户的签字确认,软件需求是否正确的反映了用户的需求,是否将每一项用户需求都映射到软件需求;系统设计是否完全反映了软件需求;实现的软件是否正确的体现了系统设计;测试人员是否进行了较为彻底的和全面的测试;客户验收和交接清单是否完备;对于系统运行中出现的问题,维护人员是否记录了详细的维护记录;配置管理员是否按照配置管理计划建立了基线,是否严格控制变更过程,是否对配置库进行了维护。
2.2.配置管理小组职责
配置管理活动的目的是通过执行版本控制、变更控制、基线管理等规程,借助配置管理工具的使用,来保证整个生命周期过程产生的所有配置项的完整性、一致性和可追溯性。配置管理是对工作成果(阶段工作成果和产品成果、进展状态成果)的一种有效保护形式,是反映项目及其工作产品的过去、现在、动态的资料和数据集中管理体现。
配置管理小组的主要职责包括:根据项目计划制定配置管理计划,建立配置库,为项目组人员分配配置库权限,创建需求、设计、开发、测试、交付阶段的基线。当纳入基线库的工作产品发生变更时,严格按照配置项变更控制过程执行变更,变更后建立新的基线。
2.3.测试小组职责
作为质量控制的主要手段,如同软件开发一样,测试在执行之前,测试小组制定软件测试计划、测试用例的编写和执行工作。
测试可以分为如下几种类型:代码走查、单元测试、集成测试、系统测试。为了保证程序的质量,开发人员需要对同伴的代码进行代码走查,同时对自己编写的程序进行单元测试,确保程序编译、运行正确。
测试人员根据软件需求分析报告进行软件集成测试用例和系统测试用例的编写。对编写完成的测试用例提交项目组进行评审,同时质量保证人员对评审过程和工作产品进行监测。
测试人员根据测试计划和测试用例执行测试用例,并对发现的缺陷进行记录,只有这样才能确保项目组开发的软件产品满足用户需求。在完成集成测试之后,可以进行软件系统测试,系统测试包括对软件进行功能测试、性能测试、安全测试、压力测试。只有进行了系统测试软件测试才是完整的。系统测试在本项目中占有重要的地位,性能要求有可能改变软件的设计,为避免造成软件的后期返工,测试在性能上需要较大的侧重。
三、质量保证措施
通过质量管理责任的分配,通过如下几个方面来进行质量保证的实施过程:
3.1.项目进度
项目计划的制定为工程项目实施、管理和支持工作、项目进度、成本、质量及过程产品的有效控制打下了良好的基础,以便所有相关人员能够按照该计划有条不紊地开展工作;制定《项目计划》,必须获得相关干系人的认可,并以此作为项目跟踪的基础。
项目进度是项目进行是否顺利的最直观表现。制定合理的项目计划首要前提是选择从事类似规模和类似业务项目的有经验的项目负责人参加制定项目进度计划。
项目计划由项目负责人制定,由项目各小组组长、项目成员、干系人、质量保证人员参加一起进行评审。评审过程主要讨论项目计划的可行性,对其中不合理的地方提出修改意见,对计划中不合理的地方进行修改完善,并由质量保证人员对其结果进行跟踪处理,以确保项目计划完整性、可行性,项目计划评审通过后,交由配置管理人员进行配置管理。
在计划实施过程中,按项目计划中里程碑为界限,将整个开发周期划分为若干阶段。根据里程碑的完成情况,适当的调整每一个较小的阶段的任务量和完成的任务时间,动态跟踪和动态调整,以利于项目质量保证的实施。
实际运作中,质量保证人员在对项目执行过程进行检查时,对于发现的项目偏差,以质量审计报告的形式提交项目负责人。由项目负责人组织人员对计划进行维护,对于已经变动的项目计划,由配置管理进行配置管理。
3.2.需求分析
需求分析是开发人员对系统需要做什么和如何做的定义过程。从系统分析的经验来看,这个过程往往是个循序渐进的过程,一次性对系统形成完整的认识是困难的。只有不断地和客户领域专家进行交流确认,方能逐步明了用户的需求。从系统开发的过程得知,系统分析时犯下的错误,会在接下来的阶段被成倍的放大,越是在开发的后期,纠正分析时犯下的错误所花费的代价越是昂贵,也越发影响系统的工期和系统的质量。
本项目中将邀请公司业务顾问参与需求调研,以便保证需求调研质量,同时形成用户需求说明书。需求评审时由公司管理层、项目实施层共同进行,对于通过用户确认的需求,交由配置管理员形成需求基线。
用户需求在招标方确认后,由系统分析人员形成软件需求分析报告,同时对软件需求分析报告进行评审,对于评审通过的软件需求分析报告可以交由测试人员进行测试计划和测试用例的编写。
对于开发过程存在的需求变动,需要填写变更申请单发给项目经理,在质量保证人员参加的情况下,对这个变更进行评审,由项目经理组织项目组成员一起讨论实施变更的可行性及实施后所带来的影响,对于影响小的变更直接记录,大的变更则需要形成正式的变更报告,无论那种变更都需要对相应的文档实施同步变更(包括需求分析报告、系统设计、安装手册、操作手册等)。但是对于无法实现或是变更会带来巨大的影响而将导致进度的延期,这时,将变更报告提交给用户并召开协调会议,讨论变更取舍问题或是项目进度变更问题。
决定变更之后,由项目负责人组织实施变更,测试人员检测变更结果,而质量保证人员监督变更实施过程,并协助配置管理员对变更后的成果进行配置管理。变更实施完后,运行前还需要协助用户一同测试并由用户签字后同意方可上线。
3.3.系统设计
优良的体系结构应当具备可扩展性和可配置性,而好的体系结构则需要好的设计方法,需要针对项目的结构、项目的特征和用户的需求来分析。项目中将安排我公司高级系统架构师担当项目总体设计师,汇同总体设计组完成系统设计。
另外对公共类模块的开发。由总体设计组通过对需求的仔细研究,尽可能的识别出公共类,并进行定义和设计,以减少重复工作。对于项目组提供的设计文档,由项目经理组织,质保小组成员参与,对其设计文档进行评审,及时发现设计中可能存在的错误,降低项目开发风险,同时确保设计文档能为开发人员、测试人员提供确实的指导。对于可复用的设计进行提取作为公共库设计和开发,提供项目组。最后交由配置管理员进行设计文档的版本控制。
3.4.系统实现
系统实现的目的是依据系统设计文档,由程序员进行程序编写,以便实现设计要求,系统实现过程中,开发人员需要对模块进行代码走查和交叉单元测试,以保证模块代码质量。软件实现也就是代码的生产过程。根据上一阶段形成的设计文档,程序员在完成代码之后,可以开始编码并且进行代码走查和单元测试。对于测试完成的程序可以交由配置管理人员进行配置管理。
3.5.系统测试
系统开发涉及到一系列的过程,每一个过程都有可能引入缺陷,系统质量的好坏直接关系到正常使用和日后的维护。在开发过程中,我们将质量控制贯穿于所有阶段和所有参与系统的人员中,包括系统分析、设计和编码。分阶段的评审和测试是软件质量的有力保障。
系统存在平台测试和应用系统的测试以及最终的测试。由于测试也存在协调的问题,如问题定位,在应用系统发现一个错误,到底是应用系统的自身的错误还是中间件存在的错误,需要开发人员进行准确的判断。为了达到良好的测试目的,本系统测试工作由测试组来完成,主要采用下列方法进行系统的测试:
从测试方法上来说,分为黑盒测试和白盒测试:
黑盒测试:着重于测试软件系统的外部特性;根据系统的设计要求,每一项功能都要进行逐个测试,检查其是否达到了预期的要求,是否能正确地接受输入,是否能正确地输出结果。
白盒测试:由于软件的所有源代码都要由项目组成员编写,对其内部的逻辑规则和数据流程,都要进行测试,以检查其代码编写是否符合设计要求。
从测试策略上来说分为集成测试和系统测试:
集成测试:在所有模块都通过了单元测试后,将各个模块组装在一起,进行组装测试,用于发现与接口相联系的问题。在通过组装测试后,将经过单元测试的模块组装成一个符合设计要求的软件结构。
系统测试:项目通过了以上的测试步骤后,与其它系统元素(如硬件服务器、网络系统等)进行集成测试和系统级的确认测试,将各种可能的缺陷完全排除掉,从根本上保证系统的长期稳定运行。
3.6.系统维护
本项目中,技术支持小组的任务一方面是保证对项目客户的跟踪服务,另一方面是确保该项目的技术咨询工作。
系统维护期,对于一般性的错误,如操作不当等引起的问题,全部由技术支持小组执行完成,但需要用户测试确认上线。如果较大的修改则需要走变更控制流程,填写变更申请,经项目组讨论分析可行方案在由技术支持小组实施,通过测试后方可提交用户。在这个过程中质量人员需要对维护过程和维护记录单进行检查。
第三篇:软件开发项目实训方案
软件开发实训项目方案
——北京中科海教育科技有限公司
一.实训公司介绍
科海集团是在1983年5月由中国科学院和北京市海淀区政府联合创办,是中关村最早成立的高新技术企业,国内知名的IT企业,与“四通、融通、京海、科海”并称为中关村的“两通两海”。2003年,科海集团投资创办北京金科海科技发展有限公司。2004年,公司被认定为中关村高新企业。
北京中科海教育科技有限公司是以软件开发为主的高科技公司,专注于技术提高用户体验为目标,我们追求软件产品的最优化,致力于为客户打造最实用的软件产品。我们主要致力于全球中小型企业信息化系统的开发工作,包括CRM,ERP,协同系统等。涉及政府,房地产,医药等多个行业。同时为广大客户提供全方位的网络综合信息化服务及多层次电子商务解决方案。协助企业创建完备出色的互联网信息平台,利用现代科技手段把握机遇,并创造更高价值。其下属的全资子机构,北京新科海学校致力于IT职业技能培训业务,牢固树立以就业为导向,以服务为宗旨的办学理念,多年来培养了大量的IT领域高技术专门人才,为区域经济和社会发展做出了巨大贡献。
二.关于大学生就业实训
2009年,全国应届高校毕业生将达到万人,加上往年未就业的高校毕业生,就业需求极大。而另一方面,受当前经济形势影响,出现了企业用工需求下降、现有岗位非正常流失等新情况、新问题,致使当今大学生就业问题显得尤为突出。与此同时,当今高等教育和社会需求之间并不能很好地衔接,企业需要的是复合型、实用技能型人才,而高校毕业生所受教育普遍存在与其日后从事岗位所需的实践技能脱节的问题,学历层次不等于技能层次。
按照教育服务市场需求、服从产业结构调整的原则,改造现有高校课程设置结构、调整专业培养方向、强化实用技能培训、为学生提供就业项目实训等创新培养模式成为必然。
为推进高等教育、职业培训与社会需求相衔接,北京中科海教育科技有限公司推出IT领域大学生就业实训项目,本课程由IT企业为新入职技术职位员工的内训课程改造而来,主要针对高校计算机及相关专业毕业生,通过专业的项目开发训练,让学员们在完
成项目的过程中巩固在学校里学习到的基础知识。获得实用、领先的就业经验技能;增加求职竞争力,并在其职业生涯第一年拥有明显优势;在职人员可以丰富自己的职业技能,开拓更为广阔的职业道路。
三.实训项目介绍
Java软件开发实训项目
实训目标:
软件开发实训课程,通过一个完整的软件开发项目,使具有一定编码基础、但没有或只有很少实际工作经验的学员能够了解软件项目开发的整个过程,并最终具备编写项目可行性研究报告、项目开发计划书、软件需求文档、概要设计和详细设计文档、用户手册及项目开发总结报告的能力。
实训项目资料:
开发环境配置手册项目需求文档项目概要设计文档项目详细设计文档项目数据库设计文档程序代码规范开发流程规范程序代码质量控制规范
项目一: 内容管理系统CMS设计与实现
内容管理系统(Content Management System,CMS)内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场,CMS其实是一个很广泛的称呼,从一般的博客程序,新闻发布程序,到综合性的网站管理程序都可以被称为内容管理系统。
在CMS领域,在各个层面都有极多地优点,在政府上网,学校上网,商业门户,信息港,地方门户网,等各种设计到文章发布和用管理的网站建设中。其特点/优势如下:
-可以针对各种内容进行分类和发布管理。可以针对不同类型的用户发布不
同的内容,可以将各种内容进行分类。
-可以任意定义内容类型与多媒体支持。
-用户接口可编辑性强,可以根据客户要求订做用户接口和风格模块。
-可分布式管理。站点管理和维护人员无须集中在同一个办公室,甚至都不
用在同城,全球任何一个有网络的地方都可以让您实现高效率的管理。
-可开发性强,可以针对不同的需求进行专门的开发。
容易使用。用户不必具备计算机编程基础、只需根据用户操作手册(或经
过简单演示)就可以轻松地管理并运作整套系统。
系统开发与运行环境:
-服务器:基于Intel构架的企业服务器
-操作系统:Microsoft Windows 200x/XP
-支持环境:Tomcat/WebLogic Server、JDK
-数 据 库:Oracle
-编程语言:Java、Servlet、JSP、Javabeans、HTML
-设计工具: Dreamweaver、Photoshop、Eclipse等
-客户端:IE6.0以上
前提知识/技术:JavaSE、Java Web编程(JSP/Servlet/JavaBean)、数据库应用、JDBC编程。
项目二: 网络实时通讯系统设计与实现
实时通讯系统(Real-time Communication System,RCS)也称“即时通讯工具”,用于实现网络即使通讯——利用有效硬件,如电脑、视频、可视电话、手机等,在这些终端硬件上安装实时通讯程序,如QQ、ICQ、MSN、网易POPO等,只要双方都安装有同样的这种程序,然后利用网络连接在线,就可以类似面对面交流一样,实行语音、文字、视频等的实时交流。
系统开发与运行环境:
-服务器/客户端:主流PC
-操作系统:Microsoft Windows 200x/XP
-支持环境:Sun JDK
-数 据 库:Oracle
-编程语言:Java SE
-设计工具:UltraEdit/Jcreator/Eclipse等
前提知识/技术:JavaSE、Java GUI编程、Java Scoket编程、多线程编程、数据库应用、JDBC编程。
四.实习特色及优势
实训周期:
项目实训时间由院校和我公司双方协商,实训学时:80学时(两周)。
资深专家
行业内资深技术专家亲自指导,他们在技术、项目及职业发展方面的经验与成就,为参加实习的学生提供最直接高效的实习效果。
全真项目
项目也是至关重要的因素,学生实习的项目就是公司真实开发的项目,代表了当前国际国内IT行业最主流的技术方向及应用领域。
赠送资料
凡参加暑期实训的学员均赠送java学习视频教程一套
五. 时间安排
暑期项目实训时间定于2009年7月20日-2009年7月31日,周一至周五全天实训。
7月20日-7月24日 项目实训
7月27日-7月31日 项目实训
7月26日参观北京奥林匹克公园(免费)
除了暑期之外,其他时间,也欢迎各个大学联系我们,组织学生参加我们的免费实训(为期两周,无任何学习费用,食宿自理)。
六.后勤保障及服务
接待
我们提供从车站到实习公司的一站式接待服务,院校及学生无需为交通、接站、入住基地等事宜操心。
食宿
公司统一安排食宿,安全卫生便捷,以保证所有学生能全身心投入到实习中去。真正感觉北京IT行业的良好氛围。
住宿费一天25元,楼房,24小时热水,有空调。
七.联系方式
联系人:高老师
北京中科海教育发展有限公司
电话:010-82608892、82617627
第四篇:软件开发项目合同
软件开发合同书
甲方:
乙方: 深圳市凯路网络技术有限公司
鉴于甲方委托乙方软件开发,帮助甲方树立企业形象,扩大宣传,拓宽销售渠道,为明确双方责任,根据中国相关法律经双方协商,签订此合同,以期双方共同遵守。
甲方在此委托乙方进行_软件的开发,为明确双方责任,经友好协商,双方达成以下协议:
第一条:项目的内容、价款、开发进度、交付方式由“合同附录”载明。
第二条:甲方的权利和义务
1、提供专人与乙方联络。
2、提供所有需要开发需求的资料给乙方。
3、按照“合同附录”的要求,及时支付费用。
4、甲方将在著作版权法的范围内使用本合同标的及相关作品、程序、文件源码,不得将其复
制、传播、出售或许可给其它第三方。
5、甲方对合同中的系统软件、页面设计,程序开发享有排它的使用权。
第三条:乙方的权利和义务
1、提供专人与甲方联络。
2、按照“合同附录”的要求,使用甲方资料,进行软件的开发。
3、在“合同附录”要求的期限内,完成软件的开发,并通知甲方进行验收。
4、在验收期内甲方要求下,对不合格地方进行修改。
5、本合同标的及相关作品、程序、文件源码的版权属于乙方。(版权归属应该为嘉源公司)
第四条:验收
1、验收标准有以下几条:
(a)、甲方可以通过任何上网的计算机访问这个软件
(b)、软件系统中不存在任何错误或系统运行错误,图片链接错误(以甲方提供的开发需求为准)。(功能符合开发需求,开发需求需要清晰界定功能)
(c)、网络程序运行正常。
2、验收期为一周。
第五条:违约责任
1、任何一方有证据表明对方已经、正在或将要违约,可以中止履行本合同,但应及时通知对方。若对方继续不履行、履行不当或者违反本合同,该方可以解除本合同并要求对方赔偿损失。
2、因不可抗力而无法承担责任的一方,应在不可抗力发生的3天内,及时通知另一方。
3、一方因不可抗力确实无法承担责任,而造成损失的,不付赔偿责任。本合同所称不可抗力是指不能预见、不能克服并不能避免且对一方当事人造成重大影响的客观事件,包括但不限于自然灾害如洪水、地震、火灾和风暴等以及社会事件如战争、**、政府行为等。
第六条:保密条款
双方应严格保守在合作过程中所了解的对方的商业及技术机密,否则应对因此造成的损失进行赔偿。
第七条:其它
1、如果本合同任何条款根据现行法律被确定为无效或无法实施,本合同的其它所有条款将继续
有效。此种情况下,双方将以有效的约定替换该约定,且该有效约定应尽可能接近原约定和本合同相应的精神和宗旨。
2、“合同附录”规定的有效期满,本合同自动失效。届时双方若愿意继续合作,应重新订立合同。
3、本合同经双方授权代表签字并盖章,自签订日起生效。
4、本合同一式两份,双方当事人各执一份,具有同等法律效力。
第八条:以上条款如有未尽事宜,经甲、乙双方协商后加以补充。
5、付款方式:项目总费用为八千元(人民币),在签定合同当日内预付总项目费用的百分之三十,在软件完成后交付总项目费用的百分之四十,测试用两个月没问题后再付剩下的总项目费用的百分之三十。
甲方:乙方:
甲方代表:乙方代表:
电话:电话:
电子信箱:电子信箱:
日期:日期:
合同附录
<
关于购买OA系统信息:
1在线邮局(增加部门群和全公司两个功能)
新邮件发邮件发件箱收邮件废邮件
2个人文件夹
私人文件夹公共文件夹管理员管理
3办公用品管理
办公用品种类领取办公用品审核领用表发放办公用品资料管理
4人事管理
企业员工资料企业员工统计 企业部门员工 员工调职管理员工培训管理员工考勤管理 5权限设置
部门管理权限职位权限管理用户帐号设置用户权限设置系统维护设置 6系统帮助
系统帮助信息管理帮助类别输入帮助信息
7常用资料
公共信息查询常用公共网址手机与IP地址查用邮编查询万年日历查询世界时间查询常用信息查询常用网址查询酒店饭店查询常用邮编查询列车资料查询航班资料查询单位换算查询媒体资料查询
8个人办公(能否增加部门工作计划)
个人工作计划部门工作计划员工工作任务
9通讯助理
个人通讯录内部通讯录外部通讯录手机短消息
10通知管理
通知管理发送通知已发通知已收通知我的通知(做到按部门发送)11通告管理(发布通告)
发布通告管理通告浏览通告
12考勤管理+值班管理(能否放在一起,算一个模块)
设置考勤时间开始考勤今日考勤统计日考勤统计月考勤统计值班管理值班记录
第五篇:软件开发项目管理(范文)
管理目标
1、所有关系人清晰明确地了解项目的需求和期望,努力做到满足项目所有关系人的不同需求;项目关系人包括:项目团队成员和项目团队外(内部/外部客户,内部/外部合作伙伴,经销商/客户等)。
2、项目管理三要素平衡(时间/成本/质量),即开发项目按需按时按质的完成。
3、目标:功能满足需求,设计支持变化,开发快速迭代,成果持续交付。
执行概述
1、建立有效的工作流程保证项目的顺利进行,初期使用传统RUP过程,引入部分敏捷方法,团队磨合完成后逐步实现敏捷开发全流程管理。
2、明确项目目标,制定具有可行性的项目计划,有效明确的分解项目需求。
3、跟踪设计/开发/测试/回归/发布全流程,推动项目按预定计划执行。
4、解决项目过程中出现的问题和冲突,一般集中在需求不明/工作量或时长/开发难度/跨部门协调等几个方面。
5、调动开发团队的积极性,创造力,推动团队成员在项目过程中的学习成长。
6、风险识别、风险控制以及风险的预案。
项目管理
1、需求阶段
对项目进行技术可行性分析、技术评估、成本评估以及风险评估。与需求提出方的代表进行需求讨论,明确项目的目标、价值。确定项目范围、功能及优先级。
组建项目团队,特别要搞清楚项目的关键人。项目启动会议,相关的关系人都必须参加。
2、设计阶段
根据确认后的软件需求规格说明书,制定项目进度计划,工作任务分解(WBS);资源申请,项目涉及到的开发资源、测试资源、设计资源(包括人员和软硬件资源);数据库设计;系统设计;文档(包括系统用例、Demo、测试用例等);评审会议。
设计阶段结果交付一般为系统用例/系统原型/系统设计文档(概要设计和详细设计)/数据库设计文档等。
该阶段交付成果需要进行评审。
3、执行阶段(开发和测试)准备开发环境、测试环境。跟踪,推动项目按计划进行。
项目成员以日报/项目负责人以周报的形式通报各关系人当前项目的进展情况。按里程碑对阶段成果进行评估,以确保该阶段完成的质量。代码审核,包括CS审核、SQL审核、WEB审核等。对需求变更进行控制管理。
测试阶段BUG响应及改进、收集反馈意见。对项目风险进行管理。
4、发布阶段
包括制定项目发布计划,用户培训,发布上线。
5、试运行阶段
数据监控(日志、服务器状态),根据监控出现的问题,及时进行处理,改进性能问题,特定情况执行补丁升级。
6、收尾阶段
产品交付,项目总结会。
常见问题
1、开发时间的估算
制定项目计划时,需要估算每个任务所需的时间,其中主要是开发任务中模块的分配和时间估算,在公司现有的技术框架下,开发人员主要的工作是投入在具体的业务逻辑实现上。通常单个模块开发时间取决于以下因素:
1、负责模块的业务逻辑的复杂程度。
2、开发人员的技术水平和对项目所在应用的熟悉程度(包括对框架和应用的熟悉程度)。
3、模块技术实现上是否存在难点,所谓的技术难点定义是:在现有系统中还未实现的、开发人员自身未没接触过的技术。对于这样的难点,开发者没有相关的代码可以参考,自己也没有经验,所以需要投入学习时间用于研究解决。
模块分配和开发时间估算的步骤:
1、在划分好模块后,首先项目管理人员预先估算各个模块所需要的开发时间。
2、召集所有开发人员,讨论模块的分配和开发时间估算。将划分好的模块,分配给开发人员,如状况允许可允许开发人员自主选择以提高开发人员的主动性和参与性。分配模块的时为确保开发的速度和质量,基本原则如下:
A、类似的模块由同一人负责开发,比如用户信息的增删改应由同一开发者负责。这样开发者对相关逻辑会比较熟悉,代码/接口的定义也会相对明确,沟通的成本低,相应可以降低功能实现的缺陷概率。
B、技术难度较大的模块由技术水平比较高的人负责。C、业务逻辑比较复杂的由对业务逻辑比较了解的人负责。
3、模块分配完成后,开发人员评估自己负责开发的模块所需要的时间。在此过程中应
4、对开发人员估算的时间进行确认。在确认过程中作为,项目管理者将预估时间和开与开发者讨论每个模块的技术实现细节,使时间的估算更加准确。发人员估算时间进行比较。那些差异较大的,与人员探讨其中的缘由。对于时间周期比较长的任务,将任务拆分为更小的子任务,每个任务的完成时间为8-24工时,消除时间周期较长的任务,避免不确定性影响项目的进度。
2、CodeReview CodeReview是保证项目中代码质量非常重要的一个环节,在这一环控制不严往往是测试后出现大量bug的主因,有时甚至导致返工;关于CodeReview执行,首先应有编码规范和代码审查规范。通过这两个文档来规范开发人员的代码实现,代码编写者必须要严格按照规范来进行;代码审核者根据这些标准来CodeReview代码,同时在CodeReview过程中需要不断完善该文档。
CodeReview一般可按以下步骤实施:
1、检查开发者的代码实现是否遵循了编码规范。
2、从代码的易维护性、可扩展性角度考察代码的质量,提出修改建议。
3、代码编写者和代码审核者坐在一起,由代码编写者按照UseCase依次讲解自己负责的代码和相关逻辑,代码审核者在此过程中可以随时提出自己的疑问,同时积极发现隐藏的bug,对这些bug记录在案。
4、代码讲解完毕后,代码审核者给自己安排几个小时再对代码审核一遍。代码需要检查Bug。同时全面兼顾,确保代码整体上结构优良;审核完毕后,代码审核者编写“代码审核报告”记录发现的问题及修改建议,提交给相关人员。
5、代码编写者根据“代码审核报告”给出的修改意见,修改好代码,有不清楚的地方可积极向代码审核者提出。
6、代码编写者bugfixed完毕之后给出反馈。
7、代码审核者把CodeReview中发现的有价值的问题更新到“代码审核规范”的文档中,对于特别值得提醒的问题可群发email给所有技术人员。
3、需求变更管理
需求变更管理也是项目管理中最重要的一个环节,对需求变更管理的有效性将直接影响对待需求变更的正确态度:
1、需求变更是不可避免的。
2、需求变更要必须被管理。
3、积极发现引起变更的因素,促使变更尽可能早的出现,减低变更带来的风险。需求变更管理的目标:
1、相关的干系人必须清楚地了解发生的变更。
2、变更处于有效的管理中。
3、尽量降低变更带来的风险。
通过制定需求变更的流程,确保项目中的需求变更有效地进行,实现上述的目标。需求变更流程:
1、确定需求的基准线。将以UserCase作为需求基准线,在UserCase确认之后的任项目的成功与否。何需求改变,都需要走需求变更流程。
2、项目管理者接收到需求变更的要求。需求变更的提出者可以是项目中的任何人包括产品经理、市场人员、开发人员、测试人员等。
3、项目管理者评估该需求变更。针对接收到的需求变更的要求,召集相关人员讨论该需求变更的合理性、可行性,实施的代价以及对项目的影响。项目管理者对项目的成功与否负有主要的责任。需求变更的决策应由项目管理者做出。
4、需求变更确认后,由专人将生成需求变更单记录下来,通知给项目中所有关系人。
5、确定变更的负责人。承担需求变更的具体工作,比如基线控制,对需求变更的记录,并通知相关人员。
6、相关人员接收到确认的需求变更后,需求分析人员修改需求说明书和UserCase的相关内容。测试人员修改测试用例的相关内容。开发人员修改代码中的相关部分。
7、按照变更后的计划实施项目,并进行检查,跟踪,对变更后的实施反馈和可能出现的问题及时沟通和处理。
8、需求冻结。项目越到后期,需求变更对项目的影响就越大,所以在一定时候要进入需求冻结阶段,不再接收新需求或需求的变更。
4、风险管理
影响项目成败的因素涉及方方面面,并且风险伴随着项目的始终,是客观存在的,风险引起的负面后果集中体现在进度延后、成本超支、质量不达标等方面,常见风险如下:
1、目标以及需求不明确
为了市场竞争或内部管理决策的需要,业务部门提出的需求往往要求的时间比较紧迫,需求的提出大多停留在几张纸或口头的传达上,没有正式的业务需求文档,在没有明确的需求范围的情况下,有时为了迎合业务部门的口味匆匆开工,过程中用户不断地提出新的想法,技术人员开始疲于奔命和应付,很难保证项目的进度和质量,也难以取得业务部门的认可。
在项目的前期一定要采取相应的手段或措施,与业务部门共同明确项目目标、需求范围,充分考虑现有的时间和资源约束,将需求排定优先级,对于关键的需求优先实现,其他辅助性的根据过程中的具体情况进行滚动式计划,并取得业务部门的书面确认。在此过程中要注重挖掘用户的隐性需求,可以通过引导、系统原型等手段让用户在前期充分暴露自己的想法和需求。
2、项目目标扩大以及需求变更
在有了明确的目标和需求范围的情况下,需求的变更还是不可避免的,业务部门在看到具体系统的真实雏形之后,源源不断地要求、新想法随之产生,如果不对此加以控制,新的需求的加入通常会影响已实现的需求,并且对项目进度和成本产生很大的影响。项目管理者针对这种情况一定要采取严格的变更控制流程,不能碍于面子,否则最终的结果往往是出力不讨好。针对用户提出的新需求,按照正式流程提出变更申请,组织相关团队成员进行分析及评估,作为是否实施的依据,变更控制负责人根据分析结果判断是否批准,如果批准,那项目组可以安排实施,否则,正式拒绝用户的请求。
前期的需求讨论要详细、充分。需求文档中需求的范围要明确、功能描述要清楚。找出项目中需求的决策者(通常会是产品经理、相关职能主管、客户),所有的需求要经过他们的认可。客户在项目过程中的全程参与有助于降低此类风险。需求讨论、需求确认、UserCase确认、测试阶段的客户验收等环节,都要要求客户参与。在发生需求变更时,严格按照需求变更流程执行。在分析设计阶段的中的确认和评审也是降低此类风险的重要手段。
3、代码质量风险
质量风险主要指开发代码的质量。在制定项目计划时,对开发时间的评估要尽可能的合适。合理的开发时间对开发质量的影响很大。开发人员为了赶进度在比较紧张的时间需要完成指定的任务,可能就存在很大的开发质量问题。在编码前,开发人员要对框架熟练掌握;一份好的系统设计文档对指导开发非常重要。
往往有这样一种情况,每个团队成员按照项目计划报告进度都是100%完成,但一到最后系统交互测试或集成的时候就会发现一大堆问题。这需要在项目实施过程中采取有效的措施来规避风险,通常的做法有同行评审,比如概要设计完成之后,邀请其他项目组的技术专家进行技术评审以发现架构设计问题;管理评审,通过组织级的质量审计看产品以及实施过程是否满足质量要求;代码走查,在编码过程中加入至少一次的代码走查,排查不符合规范或性能要求的代码,走查通常能够发现50%-70%的错误;每日构建,这是一种非常有效的方法,可以避免把各部分的集成问题拖到最后,并且能够及时发现相应的错误,日构建一般在项目的中后期开始,每天自动从版本服务器上获取源代码进行自动编译和测试。
4、人员技能和资源的不足
项目实施过程中由于人员技能欠缺造成的进度延后和软件质量问题并不少见,一个熟练的技术人员完成同样一个任务需要3天,但一个新手可能就需要7-10天。项目管理者应该在前期就分析清楚项目所要采用的技术以及相应的人员技能要求,针对不同的角色,及时采取相应的技能培训,以保证项目的顺利实施。开发过程中遇到技术难题,导致开发时间延迟或者需求不得不发生变更。在项目开始前的技术评估阶段,明确技术难点,提前安排人员进行攻克。如果在可预期的时间内无法解决,如果可以,将向需求提出方要求变更需求或寻找可替代方案。这样的风险应该在项目的前期阶段就应该解决在萌芽状态来避免这样的风险在后期或中期出现。
5、缺乏良好的团队协作
软件项目实施属于知识型,要发挥团队成员的创造力,不同于制造业计件生产,各模块最终要集成在一起形成一个有机的整体,这就需要各小组之间的密切配合,界定清楚工作界面及接口关系,并在实施过程中持续地沟通交流和共享,首先团队要融为一体,产出的软件才能融为一体。这是一个团队的软实力,团队之间的协作好坏也将是个潜在的风险问题,在项目启动和团队组建的时候就应该加以规避这样的风险出现。
6、项目会议
组织会议是项目执行过程中一项非常重要的工作任务,项目过程中很多重要的决定都是在会议中做出的,不成功的会议会对项目本身造成了不好的影响。
不成功的会议通常表现为如下形式:
1、会议氛围不好,参与者发言不踊跃;
2、会议讨论常常偏离主题;
3、会议没有取得预期的结果;
4、会议时间常常一拖再拖。
这些不成功的会议最终的结果就是:既浪费了大家的宝贵时间又没有达到会议的目的,很多人都对这样的会议都有抵触情绪,对此也是深恶痛绝。以下是组织会议时应该注意的问题,也可看作组织会议的最佳实践。在列出最佳实践之前有三点我们必须要清楚:
1、会议是否会取得成功很大程度上取决于会议的组织者。只有组织得有力,会议才有可能取得成功,这是会议成功的充分条件。
2、会议的组织者和参与者的想法通常是不一致的,有时候甚至会大相径庭。所以不要希望会议的参与者和你一样,对会议有着如此的期待,对大多数参与者而言,在会议中他只是一个发表想法的人,他不用对会议的成功承担责任。
3、以下十一条最佳实践是形式上的约定,具体的实施可以根据实际情况来做。组织会议的十一条最佳实践:
1、只有需要开会时才开会。有时候两三个人单独小范围沟通会更加有效。
2、提前发出会议议程,以便会议参与者知道他们来做什么。
3、请对人很重要,不要把非必要的人召来开会,当然也不要漏掉那些关键人物。在确保必要人物都在的情况下一次会议参与者越少效果越好。
4、提前预约参与者的时间,以确保他们能按时到场。
5、会议的开场很重要。会议组织者要在开始前做好几件事情。通常我建议有几点要在开场时说: A、再一次强调会议的目标,我们来做什么。
B、强调会议的主题与基调。比如:本次会议是一个需求确认会,而非需求讨论会,主要是讨论做还是不做以及告知大家我们要做什么,而不要把太多的精力放在讨论如何做上面。
C、说明一下会议的规则。如要发言,请举手;不要有小圈子讨论;不要打断别人的讲话,等别人说完你再说等等。
6、会议过程中时刻注意引导和控制会议,以确保会议按照目标进行。一次会议的氛围是否良好,讨论是否充分,好的引导至关重要。比如多提一些开放式的问题。
7、会议记录很重要,把一些结论和有价值的内容记录下来,这些是本次会议的重要成果之一。
8、会议要有结论。我们常在会议上听到有人说:“大家讨论了这么半天,结论呢?”。没有结论的会议是没有意义的。
9、会议后别忘发会议纪要,以及一些Action,什么人什么时候做什么。
10、会议后的action执行情况的反馈很重要。反馈是对会议参与者的尊重,同时也告知了会议的效果。否则会让大家感觉到这是一个可无可无的会议,大家以后参与的积极性也会降低。很多会议往往都不注意这一点。
11、按时结束的会议会受到所有人的欢迎。