软件产品开发运作管理作业程序
- 格式:doc
- 大小:58.50 KB
- 文档页数:5
软件开发流程的具体内容软件开发是一个复杂而又精细的过程,需要经历多个阶段和环节。
下面将介绍软件开发的具体流程,以便更好地了解软件开发的全貌。
1. 需求分析阶段。
软件开发的第一步是需求分析阶段。
在这个阶段,开发团队与客户进行沟通,了解客户的需求和期望。
通过讨论和调研,确定软件的功能和特性,明确软件的用户群体和使用场景,为后续的开发工作奠定基础。
2. 设计阶段。
在需求分析的基础上,开发团队进行软件的设计工作。
包括系统架构设计、数据库设计、界面设计等。
设计阶段的目标是确定软件的整体结构和各个模块的功能,为后续的编码工作提供指导。
3. 编码阶段。
编码阶段是软件开发的核心阶段,开发团队根据需求和设计文档,进行具体的编码工作。
根据需求文档和设计文档,开发团队使用相应的编程语言和开发工具,编写软件的源代码。
4. 测试阶段。
编码完成后,软件需要进行测试。
测试阶段包括单元测试、集成测试、系统测试等多个环节。
测试人员根据测试计划和测试用例,对软件进行全面的测试,确保软件的质量和稳定性。
5. 部署和维护阶段。
软件通过测试后,进入部署和维护阶段。
开发团队将软件部署到目标环境中,并进行相关的配置和优化。
同时,开发团队需要对软件进行维护和更新,确保软件的稳定性和安全性。
总结。
软件开发流程包括需求分析、设计、编码、测试、部署和维护等多个阶段。
每个阶段都有其独特的任务和目标,需要开发团队的密切合作和高效协调。
只有经过严格的流程管理和质量控制,才能保证软件开发的顺利进行和最终的成功交付。
软件工程流程软件工程是一门涉及软件开发、维护和管理的学科,它涉及到一系列的流程和方法来确保软件的质量和效率。
软件工程流程是指在软件开发的整个过程中所采用的一系列步骤和方法,以便于组织、规划和控制软件开发过程,以达到预期的软件产品。
首先,在软件工程流程中,需求分析是一个非常重要的环节。
在需求分析阶段,开发团队需要与客户充分沟通,了解客户的需求和期望,明确软件的功能和性能要求。
只有通过充分的需求分析,才能确保软件开发的方向和目标是正确的。
接下来是软件设计阶段。
在这个阶段,开发团队需要根据需求分析的结果,设计出软件的整体架构和各个模块的具体实现方案。
软件设计需要考虑到软件的可扩展性、可维护性和性能等方面,以保证软件具有良好的设计质量。
然后是软件编码阶段。
在这个阶段,开发团队将根据软件设计的方案,实际编写软件代码。
在编码的过程中,开发人员需要遵循一定的编码规范和标准,以确保软件代码的可读性和可维护性。
接着是软件测试阶段。
在软件测试阶段,开发团队将对已经编写好的软件进行各种测试,包括单元测试、集成测试和系统测试等。
通过测试,可以发现软件中存在的缺陷和问题,并及时进行修复和改进。
最后是软件部署和维护阶段。
在软件开发完成后,需要将软件部署到实际的运行环境中,并进行运行和监控。
同时,还需要对软件进行定期的维护和更新,以确保软件的稳定性和安全性。
总的来说,软件工程流程是一个系统工程,需要开发团队在整个软件开发过程中严格按照规定的流程和方法进行操作,以确保软件开发的质量和效率。
只有通过科学的软件工程流程,才能够开发出满足客户需求并且具有良好质量的软件产品。
PMC的概念与运作流程说明什么是PMC?PMC即Project Management Committee(项目管理委员会),是Apache软件基金会(Apache Software Foundation,以下简称ASF)中的一种项目管理模式。
ASF是全球最大的非盈利性开源软件基金会之一,致力于通过开源软件项目推动技术和社区的发展。
PMC是ASF统一的项目管理机构,负责管理和协调一个或多个软件项目的开发和维护工作。
PMC的职责在ASF中,PMC是一个独立的实体,由ASF成员选举组成。
PMC的主要职责包括:1.指导项目的方向和进展。
PMC负责控制项目的发展方向和进度,确保项目符合ASF的价值观和开源软件的精神。
2.确保项目的质量和稳定性。
PMC负责监督项目的质量和稳定性,确保项目的代码质量、文档和测试覆盖率等达到ASF的标准。
3.吸引和管理社区的贡献者。
PMC负责组织开发者社区、维护者社区以及用户社区,吸引新的贡献者和用户,维护良好的社区生态。
4.协调和解决项目相关的问题。
PMC负责协调项目中的决策和问题解决,确保所有决策符合ASF的规范和程序。
PMC的运作流程PMC在项目的整个生命周期中都扮演着关键的角色。
下面将详细介绍PMC的运作流程。
1. 提案阶段当一个新的项目提出时,开发者可以向ASF提议建立一个新的项目。
ASF提供了一个在线表单,供开发者提交项目的提案。
一旦一个提案得到了足够的支持,ASF将考虑建立一个PMC来管理这个项目。
2. 建立PMC在项目得到ASF的批准后,ASF会选举一组PMC成员来管理这个项目。
PMC成员由ASF的成员选举产生,其中包括一名PMC主席和多名PMC成员。
PMC主席负责监督PMC的运作和项目的发展,PMC成员负责协调和执行项目的开发和维护工作。
3. 社区建设一旦PMC成员确定,项目就可以进入社区建设的阶段。
在这个阶段,PMC的工作重点是吸引新的贡献者和用户,维护良好的社区生态。
软件开发流程规范首先,需求分析是软件开发的第一步。
在这个阶段,开发团队需要与客户充分沟通,了解客户的需求和期望。
同时,需要对需求进行详细的分析和梳理,确保需求的准确性和完整性。
只有明确了需求,才能为后续的设计和开发工作奠定良好的基础。
其次,设计阶段是软件开发流程中至关重要的一环。
在设计阶段,开发团队需要根据需求分析的结果,进行系统架构设计、数据库设计、界面设计等工作。
设计阶段的目标是为了确保软件的可扩展性、可维护性和性能等方面的要求。
接下来是编码阶段。
在这个阶段,开发团队需要根据设计文档,按照规范的编码标准进行编码工作。
编码规范包括命名规范、代码风格、注释规范等方面,确保编写出高质量、易读易维护的代码。
测试阶段是软件开发流程中不可或缺的一环。
在测试阶段,测试团队需要对软件进行全面的测试,包括单元测试、集成测试、系统测试等。
测试的目的是为了发现和修复软件中的缺陷,确保软件的质量。
发布阶段是软件开发流程中的最后一环。
在发布阶段,开发团队需要对软件进行部署和发布,确保软件能够正常运行。
同时,需要对用户提供相应的培训和技术支持,确保用户能够顺利使用软件。
最后是软件的维护阶段。
在软件发布后,开发团队需要对软件进行定期的维护和更新,确保软件能够持续稳定运行,并根据用户的反馈进行相应的改进和优化。
总之,软件开发流程规范是软件开发过程中非常重要的一环。
只有严格遵循规范,才能保证软件开发的顺利进行,最终交付高质量的软件产品。
希望开发团队能够重视软件开发流程规范,不断优化和改进,提高软件开发的效率和质量。
软件项⽬管理所有作业软件项⽬管理作业学院:计算机与信息⼯程学院班级:08软件三班分组名称:软三胡平组员:胡平20083896安佳琦20083891程维20083893作业⽬录:第⼀次作业…第七次作业问题描述、需求分析、需求跟踪矩阵,⽤MS画⽢特图,成本估计,风险管理,三个独⽴的成本估计,进度管理,配置管理第⼀次作业:项⽬管理问题描述⼀:项⽬背景⽆线点菜系统是⼀个及时⽅便且易操作的供⼀些⼤⼩型餐馆扩展⾃⼰的业务对象,如我们常常见到的肯德基派送外卖这⼀块与我们的⽆线点菜系统就有很类似的⽅⾯及功能,他有专门为柜台及系统操作⼈员提供的登陆界⾯,也有点菜系列界⾯,结账及⼈员菜单管理等多个⽅⾯,具体详情要涉及到具体实现⽅⾯才能给⽤户⼀个很好的答复,在这⾥我只是粗略的讲⼀下它的功能这个系统具体开发重要涉及到分析员,项⽬经理,程序员,商业顾问等开发⼈员,及⽤户等多种⼈员管理与沟通,所以前期各个⽅⾯主要负责的⼈员⼀定更要做好准备以及在开发过程中遇到的问题要及时分析对待。
最近⼏年好多同学为了改善⽣活,渐渐喜欢上了⾃⼰单独点些⼩菜享受那份惬意和美味,现在有个很热⽹络名词在特别适合这些同学或⼀些长期在⼀个空间⾥呆的太久的⼈,便是“宅”了,正因为宅的诞⽣导致了我们需求紧缺的情况,好多⼈不想离开⾃⼰现在所处的位置因为这样那样的原因,⽽肚⼦⼜很饿了,所以现在急需⼀个⽅便及时的外卖美餐摆在⾃⼰记得眼前。
⼆:需求分析由获取的需求分析得⽆线点菜系统中涉及的参与者主要有⽤户、厨师、经理及服务员。
其中⽤户中所涉及的⽤例主要有:点菜、修改菜单、⽤户评价、查看我的菜单、菜单浏览、结账等,厨师所涉及到的⽤例主要有:登录、确认⽤户菜单、确认已做菜、查看菜的准备情况、查看⽤户评价、查看经理评价,经理所涉及的⽤例有:登录、更新菜信息、浏览菜单、查看餐厅运作情况、查看⽤户评价、对员⼯⼯作情况评价,服务员所涉及的⽤例有:查看⽤户评价、登录、查看经理评价、查看菜的准备情况、浏览菜单、添加材料。
软件工程师软件工程流程软件工程师是一个非常重要的职业,他们在软件开发过程中扮演着关键的角色。
为了确保软件开发过程的高效、优质和可靠性,软件工程师需要熟悉并遵循一系列的软件工程流程。
本文将介绍软件工程师在软件开发中使用的一般软件工程流程。
一、需求分析在软件开发开始前,软件工程师首先需要与客户进行沟通,了解客户的需求和期望。
通过与客户的交流,软件工程师可以获得对软件功能和性能的具体要求。
在需求分析阶段,软件工程师需要识别和记录客户需求,以便在后续的开发过程中作为指导。
二、系统设计在需求分析的基础上,软件工程师需要进行系统设计。
系统设计是指根据客户需求,将需求转化为设计方案的过程。
在系统设计阶段,软件工程师需要设计软件系统的整体结构、模块划分以及模块之间的接口。
设计的目标是确保软件系统的可扩展性和可维护性。
三、编码与实现在系统设计完成后,软件工程师将转到编码和实现的阶段。
在这个阶段,软件工程师使用特定的编程语言和工具来编写代码并实现软件系统。
编码与实现过程需要严格遵循系统设计的规范和要求。
软件工程师需要确保编写的代码逻辑正确、可读性强,并进行适当的测试和调试。
四、软件测试软件测试是确保软件质量的重要环节。
在软件开发的不同阶段,软件工程师需要进行不同类型的测试。
功能测试用于验证软件系统是否满足需求规格说明书中的功能要求;性能测试用于检测软件系统在不同的负载和场景下的性能表现;安全测试用于评估软件系统的安全性。
软件工程师将根据测试结果对软件系统进行优化和调整。
五、部署与维护当软件系统通过测试并且达到客户的要求后,软件工程师会将软件系统部署到生产环境中。
在部署过程中,软件工程师需要确保软件系统与硬件环境以及其他软件的兼容性。
一旦软件系统部署完成,软件工程师还需要进行后续的维护和支持,以保证软件系统的正常运行。
六、迭代与改进软件开发并不是一次性的过程,在实际使用中,软件工程师需要不断改进和迭代软件系统。
软件工程师会与客户进行沟通,了解客户的反馈和需求,然后根据反馈和需求进行软件系统的升级和改进。
软件开发流程范文
一、项目准备
项目准备工作是开发软件项目的第一步,在这一步中,软件开发者应该制定项目计划,搞清楚项目的内容,用户的需求等,以便项目的开发能够按照计划实施。
在项目准备的过程中,首先要明确项目的目标,如何定义项目的功能要求,定义系统的架构和技术要求,分析用户的需求,明确软件开发的时间要求,明确开发项目所需要的资源,以及设定具体目标,例如要完成的功能,项目的完成的时间等。
紧接着,要考虑软件开发的技术原则,包括性能、可维护性、可扩展性、可扩展性、可实现性等,并选择恰当的编程语言进行编程。
并进行风险分析,包括分析所有可能的项目风险,以便能够准备应对不同风险,并且进行项目规划,规定实施项目所需的人力、物力等资源,以及项目需要的技术支持等。
二、设计
设计是软件开发的重要环节,在这一步中,将实现项目的内容并明确了解,并进行系统架构、模块设计、功能模块设计、界面设计、数据库设计、用户控件设计等,并制定设计文档,以便在后续开发中进行参考。
首先需要完成系统架构的设计,确系统的架构,并且确需要实现的功能。
Unified Process,统一软件开发过程RUP(Rational Unified Process,统一软件开发过程)22010/08/20 19:24五、开发过程中的各个阶段和里程碑RUP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)。
每个阶段结束于一个主要的里程碑(Major Milestones);每个阶段本质上是两个里程碑之间的时间跨度。
在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。
如果评估结果令人满意的话,可以允许项目进入下一个阶段。
1.初始阶段初始阶段的目标是为系统建立商业案例并确定项目的边界。
为了达到该目的必须识别所有与系统交互的外部实体,在较高层次上定义交互的特性。
本阶段具有非常重要的意义,在这个阶段中所关注的是整个项目进行中的业务和需求方面的主要风险。
对于建立在原有系统基础上的开发项目来讲,初始阶段可能很短。
初始阶段结束时是第一个重要的里程碑:生命周期目标(Lifecycle Objective)里程碑。
生命周期目标里程碑评价项目基本的生存能力。
2.细化阶段细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。
为了达到该目的,必须在理解整个系统的基础上,对体系结构作出决策,包括其范围、主要功能和诸如性能等非功能需求。
同时为项目建立支持环境,包括创建开发案例,创建模板、准则并准备工具。
细化阶段结束时第二个重要的里程碑:生命周期结构(Lifecycle Architecture)里程碑。
生命周期结构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。
此刻,要检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。
3.构造阶段在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。
软件过程与软件管理课程复习题一.解释相关概念或术语1.软件过程:软件过程是指软件开发人员开发和维护软件及相关产品(如项目计划、设计文档、代码、测试用例、用户手册等)的一套行为、方法、实践及变换过程。
软件过程涵盖了软件采购、软件开发、软件维护、软件运行、软件获取、软件管理、软件支持等7大类的软件活动。
2.软件过程工程:为建造软件过程所进行的一系列工程化活动。
软件过程工程的基本活动包括过程定义、过程例化、过程模拟、过程运作。
3.软件配置管理:SCM是标识和确定系统中配置项的过程,在系统整个生命周期内控制这些项的投放和变动,记录并报告配置的状态和变动要求,验证配置项的完整性和正确性(GB/T11457-1995软件工程术语)。
针对SCM在软件生命周期各阶段所起的作用,一个完整的SCM环境要求具有版本控制、变更管理、状态统计、和配置审计的功能。
4.CMM中的关键过程域:每个软件能力成熟度等级包含若干个对该成熟度等级至关重要的过程方面,它们的实施对达到该成熟度等级的目标起到保证作用。
这些过程域就称为该成熟度等级的关键过程域。
5.CMM中的关键实践:是指关键过程域种的一些主要实践活动。
每个关键过程域最终由关键实践所组成,通过实现这些关键实践达到关键过程域的目标。
一般情况下,关键实践描述了该“做什么”,但没有规定“如何”去达到这些目标。
6.CMM中的SEPG:软件工程过程组(Software Engineering Process Group)由专家组成,统领CMM 实施活动,协调全组织软件过程的开发和改进活动,制定、维护和跟踪与软件过程开发和改进活动有关的计划,定义用于过程的标准和模板,负责对全体人员培训有关软件过程及其相关的活动。
DP/RUP:USDP(Unified Software Development Process,统一软件开发过程)是一种基于构件的,用况和风险驱动的,以构架为中心,迭代和增量式的开发过程。
《生产与运作管理》课程标准第一部分前言课程代码:课程名称:生产与运作管理标准学时:46课程类型:理论课《生产与运作管理》是面向物流管理、工商管理专业的学生开设的专业基础必修课程。
这是因为一方面从学生学习的重点来看《生产与运作管理》是把管理学的知识怎么应用到生产实际当中,去解决实际的问题,是学生从理论的学习向应用学习的一种转变,通过《生产与运作管理》的学习,可以让学生更加深入的了解管理的重要性;另一方面,对于物流管理类专业的学生,在学习的过程中不仅要掌握一些基本的理论,更重要的是要会处理实际的问题,特别是要掌握一些把实际的问题通过仿真的方法来模拟企业的生产实际。
一、课程的性质与作用生产与运作管理是工商管理类专业的专业基础课程,也是一门必修课程。
在各专业的人才培养方案中,都占有比较重要的地位。
通过本课程的教学,使学生理解并应用生产与运作管理的基本知识;熟悉一些常用的重要理论和方法;能运用所学知识,完成对生产实际中的应用,提高学生对企业生产的认知能力。
二、课程基本理念1. 试行“案例教学法”,培养发现问题、分析解决问题、阐述问题的能力根据高等教育的特点和人才培养的要求,本课程组深入探索高教教育规律,通过学习和研究,进一步明确了实行理论联系实际教学方法的重要性,牢固地树立了以能力为本位的思想。
理论教学中,我们积极试行“案例教学法”,即围绕现实案例和自身在工作生活中遇到的问题进行分析,让学生身临实景,在实例中学习和掌握知识。
这样既激发了学生学习的积极性,又加强了教学的针对性、实践性,提高了学生的专业水平。
2.尊重个体差异,注重过程评价,促进学生发展本课程在教学过程中,倡导自主学习,启发学生积极思考、分析,鼓励多元思维方式,并将其表达出来,尊重个体差异;建立能激励学生学习兴趣和自主学习能力发展的评价体系。
该体系由形成性评价和终结性评价构成。
在教学过程中应以形成性评价为主,注重培养和激发学生的学习积极性和自信心。
软件项目开发流程RUPRUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。
根据Rational(Rational Rose和统一建模语言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持. RUP和类似的产品--例如面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具--把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内.一、六大经验迭代式开发.在软件开发的早期阶段就想完全、准确的捕获用户的需求几乎是不可能的。
实际上,我们经常遇到的问题是需求在整个软件开发工程中经常会改变。
迭代式开发允许在每次迭代过程中需求可能有变化,通过不断细化来加深对问题的理解。
迭代式开发不仅可以降低项目的风险,而且每个迭代过程以可以执行版本结束,可以鼓舞开发人员。
管理需求。
确定系统的需求是一个连续的过程,开发人员在开发系统之前不可能完全详细的说明一个系统的真正需求。
RUP描述了如何提取、组织系统的功能和约束条件并将其文档化,用例和脚本的使用以被证明是捕获功能性需求的有效方法。
基于组件的体系结构.组件使重用成为可能,系统可以由组件组成。
基于独立的、可替换的、模块化组件的体系结构有助于管理复杂性,提高重用率。
RUP描述了如何设计一个有弹性的、能适应变化的、易于理解的、有助于重用的软件体系结构。
可视化建模。
RUP往往和UML联系在一起,对软件系统建立可视化模型帮助人们提供管理软件复杂性的能力。
RUP告诉我们如何可视化的对软件系统建模,获取有关体系结构于组件的结构和行为信息。
项目管理论坛验证软件质量。
在RUP中软件质量评估不再是事后进行或单独小组进行的分离活动,而是内建于过程中的所有活动,这样可以及早发现软件中的缺陷。
软件开发职责软件开发职责篇1岗位职责:1、负责公司业务软件的开发及维护工作;2、分析并制定开发计划,按时按量完成项目各阶段开发任务。
任职要求:1、计算机及相关专业,全日制本科或以上学历(经验丰富者专科学历也可);2、具有一定的英文资料阅读能力;3、有一定的linu_基础知识,掌握VC++、C/C++编程,大型数据库及网络编程,有底层开发经验者优先;4、熟练掌握shell脚本编程,熟悉python语言编程者优先;5、能独立完成软件项目,在图形用户界面(GUI)开发方面具有丰富的经验者优先;6、有操作系统、嵌入式开发经验的人员优先;7、具有良好的软件文档编写习惯;8、性格开朗,工作积极主动,有较强的抗压与责任担当能力,具备较强的学习能力与团队协作能力。
软件开发职责篇2岗位职责:1、负责按照产品的设计,完成APP的研发,以及其它有关JAVA平台的其它项目2、和其它团队成员做好工作配合与协调3、配合项目经理的工作,按时按质进行软件项目的研发工作任职要求:1、计算机相关专业大专及以上学历。
2、良好的Java技术功底和C/C++基础;3、精通JavaScript,熟悉JS面向对象编程,熟悉HTML5、CSS3。
4、较强的学习能力,责任心和沟通及表达的能力。
任职要求:1、计算机及相关专业本科及以上学历;2、2年以上Android平台开发经验,精通Java语言;3、熟悉面向对象开发与设计,精通常用数据结构与算法,熟悉软件设计模式;4、熟悉Android应用开发框架、SDK及常用调测方法;5、熟悉AndroidUI界面常用组件、常用布局方法、事件处理机制;6、熟悉Android多线程设计、网络编程、数据存储与IO、多媒体开发;7、熟悉Android端WebSocket开发,并且熟练使用OkHttp框架;8、熟练掌握Android,R_Java,MVP架构设计9、熟悉了解Android下NDK编程和JNI使用;10、吃苦耐劳、责任心强、做事积极主动、有团队合作精神;逻辑思维严谨、关注新技术,有持续学习能力。
软件开发项目管理制度软件开发项目管理制度为了让这个项目能够更好运作下去,能为公司谋求更多的利益不是,首先,方向一定得对,这是一个软件开发项目能否走远的唯一标准,只要方向对了,然后才会采取各种办法,更好的去管理这个项目,选择更优的方法去管理,然后还要估测,下面是yjbys店铺为您收集整理的软件项目管理范文有需要的可以看看!软件项目管理小结一:软件项目管理已经到了学期的最后,我们seed小组的软件项目也已完工,这一个学期真的是获益匪浅!礼平老师曾经说我既可以走技术路线也可以走管理路线,一切都看我自己。
真的很是佩服老师的看人眼光,很犀利。
我知道,现在的我不是没有能力去做好,只是自己没有去做,一直在殿外徘徊,不肯付出努力向前迈进。
从大一到现在,我的专业技术一直都是我的短板,理由么,很简单,就是因为自己懒,不肯花时间去做。
从以前不知道自己想做什么,到现在明确目标,可以说,软件项目管理课程给了我很多灵感,让我从自己纷乱的思绪中看清楚了自己最想要的东西。
一直自己很喜欢管理,我会花费很多时间在这上面,从大一到现在一直都是,一直没有改变过。
在技术上,我总是给自己找借口,总是偷懒,但我现在明确了一点,没有技术,就没有管理!脱离技术的管理是不可能的,也是不现实的。
在这个行业里,技术是一切的基本,想作工程师也好,想作管理者也好,技术都是起步的根基。
而我这次所经历的项目更让我明确了这一点。
在这个小项目里,虽然我们两个星期就开发完成了这个软件,并交付使用,但是问题还是很多的。
在这么一个小项目里,由于需求、设计、代码、文档产生的问题,每一个看似容易,却都需要实实在在的经验在里面,都需要对业务的熟悉,有语言功底作根基。
在这个项目里,我负责软件配置管理工作,在文档的整理过程中,我仔细看了他们的需求分析,概要设计,数据库设计,模块设计等文档,也参与了风险分析文档的编写,承担了用户手册和项目成本估算的编写。
在这个过程中,我明确了技术的实在意义,明确了技术对我的指导作用,同时也明确了自己的学习道路应该怎么走下去!整个项目进行的过程中,我一直在努力从中学习,我旁听开发组的会议,为组长提供管理意见,为会议、文档制定标准,整个过程我收获了很多。
软件开发行为规范第一版**市华为技术**版权所有不得复制软件开发行为规范〕第一版>为了把公司已经发布的软件开发过程规范有效地运作于产品开发活动中,把各种规范"逐步形成工程师的作业规范",特制定本软件开发行为规范,以达到过程控制的目的.与软件开发相关的所有人员,包括各级经理和工程师都必须遵守本软件开发行为规范.对违反规范的开发行为,必须按照有关管理规定进行处罚.本软件开发行为规范的内容包括:软件需求分析、软件项目计划、概要设计、详细设计、编码、需求管理、配置管理、软件质量保证、数据度量和分析等.本软件开发行为规范,采用以下的术语描述:★规则:在软件开发过程中强制必须遵守的行为规范.★建议:软件开发过程中必须加以考虑的行为规范.★说明:对此规则或建议进行必要的解释.★示例:对此规则或建议从正或反两个方面给出例子.本软件开发过程行为规范由研究技术管理处负责解释和维护.研究技术管理处目录1 软件需求分析 52 软件项目计划 93 概要设计 114 详细设计 145 编码 186 需求管理 197 软件配置管理 218 软件质量保证 239 数据度量和分析 251 软件需求分析1-1:软件需求分析必须在产品需求规格的基础上进行,并保证完全实现产品需求规格的定义.1-2:当产品的需求规格发生变更时,必须修订软件需求规格文档.软件需求规格的变更必须经过评审,并保存评审记录.1-3:必须对软件需求规格文档进行正规检视.1-4:软件需求分析过程活动结束前,必须经过评审,并保存评审记录.1-5:在对软件需求规格文档的正规检视或评审时,必须检查软件需求规格文档中需求的清晰性、完备性、兼容性、一致性、正确性、可行性、易修改性、健壮性、易追溯性、易理解性、易测试性和可验证性、性能、功能、接口、数据、可维护性等内容.说明:参考建议1-1到1-16..1-1:采用以下检查表检查软件需求规格文档中需求的清晰性序号问题1所有定义、实现方法是否清楚地表达了用户的原始要求?2在功能实现过程、方法和技术要求的描述上,是否没有背离了功能的实际要求?3是否没有不能理解或造成误解的描述?.1-2:采用以下检查表检查软件需求规格文档中需求的完备性序号问题1需求定义中是否包含了有关文件<指质量手册、质量计划以及其它有关文件>种所规定的需求定义所应该包含的所有内容?2需求定义是否包含了有关功能、性能、限制、目标、质量等方面的所有需求?3功能性需求是否覆盖了所有非正常情况的处理?4是否对各种操作模式<如正常、非正常、有干扰等>下的环境条件都作了规定?5是否对所有功能与时间因素有关的方面都作了考虑?6是否标识出了所有与时间因素有关的功能?它们的时间准则是否都说明了?时间准则的最大、最小执行时间是否都定义了?7是否标识并定义了在将来可能会变化的需求?8是否定义了系统所有的输入?9是否标识清楚了系统输入的来源?10是否标识出了系统的输出?11是否说明了系统输入、输出的类型?12是否说明了系统输入、输出的值域、单位、格式等?13是否说明了如何进行系统输入的合法性检查?14是否定义了系统输入、输出的精度?15是否定义了系统性能的各个方面?16在不同负载情况下,是否规定了系统的处理能力?17在不同情况下,是否规定了系统的响应时间?18是否充分定义了关于人机界面的需求?19是否对需求定义进行了可行性分析和相关文件<资料>是否已归档?20是否对影响需**现的因素进行了调查,调查结果是否已归档?21是否有经济效益分析,分析结果是否已归档?22是否详细描述了有关硬件、软件、操作人员、操作过程等方面的安全性?23是否评估了本项目对用户、其它系统、环境的影响特性?24是否按完成时间、重要性对系统功能、外部接口、性能进行了优先排序?.1-3:采用以下检查表检查软件需求规格文档中需求的兼容性序号问题1界面需求是否使软硬件系统具有兼容性?2需求定义的文档是否满足项目文档编写标准?在矛盾时,是否有适当的标准可供选择?.1-4:采用以下检查表检查软件需求规格文档中需求的一致性序号问题1各个需求之间是否一致?是否有冲突和矛盾?2所规定的模型、算法和数值方法是否相容?3是否使用了标准的术语和定义形式?4需求是否与其软硬件操作环境相容?5是否说明了软件对其系统和环境的影响?6是否说明了环境对软件的影响?7所采用的技术是否与用户要求的技术一致?.1-5:采用以下检查表检查软件需求规格文档中需求的正确性序号问题1需求定义是否满足标准的要求?2算法和规则是否有科技文献或其它文献作为基础?3是否定义了对在错误、风险分析中所标识出的各种故障模式和错误类型所需的反应?4是否参照了有关的标准?5是否对每一个需求都给出了理由?理由是否充分?6对设计和实现的限制是否都有论证?.1-6:采用以下检查表检查软件需求规格文档中需求的可行性序号问题1需求定义是否使软件的设计、实现、操作和维护都可行?2所规定的模型、数值方法和算法是否对待解决问题合适?是否能够在相应的限制条件下实现?3是否能够达到关于质量的要求?.1-7:采用以下检查表检查软件需求规格文档中需求的易修改性序号问题1对需求定义的描述是否易于修改<如是否采用良好的结构和交叉引用表等>?2是否有冗余的信息?是否一个需求被定义了多次?.1-8:采用以下检查表检查软件需求规格文档中需求的健壮性序号问题1是否有容错的需求?.1-9:采用以下检查表检查软件需求规格文档中需求的易追溯性序号问题1是否可从上一阶段的文档中找到需求定义中的相应内容?2需求定义是否明确地表明前阶段中提出的有关需求和设计限制都已被覆盖了?3需求定义是否便于向后继开发阶段查找信息.1-10:采用以下检查表检查软件需求规格文档中需求的易理解性序号问题1是否每一个需求都只有一种解释?2功能性需求是否以模块方式描述的?是否明确地标识出了其功能?3是否有术语定义一览表?4是否使用了形式化或半形式化的语言?5语言是否有歧义性?6需求定义中是否只包含了必须的实现细节而不包含不必要的实现细节?是否过分细致了?7需求定义是否足够清楚和明确使其能够作为开发设计规约和功能性测试数据的基础?8需求定义的描述是否将对程序的需求和所提供的其它信息分离开来了?.1-11:采用以下检查表检查软件需求规格文档中需求的易测试性和可验证性序号问题1需求是否可以验证<即是否可以检验软件是否满足了需求>?2是否对每一个需求都指定了验证过程?3数学函数的定义是否使用了精确定义的语法和语义符号?.1-12:采用以下检查表检查软件需求规格文档中的性能需求描述序号问题是否精确的描述了所有的性能需求和可容忍的性能降低程度?对每一个性能应包含两方面的内容:1 a. 在最坏情况的执行结果2 b. 本性能失效后,对系统产生的影响.1-13:采用以下检查表检查软件需求规格文档中功能需求描述序号问题1是否清楚、明确地描述了所有的功能?2所有已描述的功能是否是必须的?是否能满足任务书或系统目标的要求?.1-14:采用以下检查表检查软件需求规格文档中的接口需求描述序号问题1是否清楚地定义了所有的接口?3所有接口是否必须?各接口间的关系是否一致、正确?.1-15:采用以下检查表检查软件需求规格文档中的数据需求描述序号问题1在某异常数据<如条件、标志等>下,是否有真正没有考虑到的结果?2对异常数据产生的结果是否作了精确的描述?.1-16:采用以下检查表检查软件需求规格文档中的可维护性需求描述序号问题1需求定义中是否包括了可行的系统维护方法?2软件系统间的关系是否是松耦合的<即能否保证在对某部分修改后,产生最小的连锁效应>?2 软件项目计划2-1:软件项目计划必须以产品/软件的需求规格为基础.当发生需求更改时,必须修订软件开发计划.说明:软件项目计划必须依据需求规格进行制定.项目计划中的工作产品和工作任务应保证能完全实现需求规格的定义.当需求更改时,必须考虑需求更改的相关性,修订相应软件开发计划.2-1:制定软件项目计划的活动制定,必须遵守"软件项目计划规范".2-2:软件经理对软件项目计划的制定和结果负责.2-3:软件经理和相关参与软件项目计划的制定和评审的人员,在参与计划制定之前必须经过软件工程和软件项目计划制定流程的培训.2-2:对于软件项目计划中各项工作产品和工作任务,必须进行规模和工作量的软件估计,并在软件项目计划文档中记录估计的方法和估计数据.说明:参考建议2-4到2-8.2-4:可以使用PERT统计估计、专家判定平均法、经验类比估计、公式计算等方法,或以上方法的组合,进行软件估计.示例:PERT统计估计和经验类比估计的结合PERT统计估计值= 〕最大估计+4×期望估计+最小估计〕/ 6估计记录如下:工作产品任务最大估计期望估计〕根据经验类比获得〔最小估计PERT估计规模工作量规模工作量规模工作量规模工作量XX版本<增加XX 特性〕话统模块概要设计文档页数:45;增加、修改模块设计数目:1212天文档页数:42;增加、修改模块设计数目:1010天文档页数:30;增加、修改模块设计数目:55天文档页数:41;增加、修改模块设计数目:109.5天期望估计值是根据XX版本的话统模块设计的数据获得.2-5:对某项工作产品和任务的软件,同时采用两种或以上的方法进行估计,以避免一种方法的偏差.2-6:尽量采用历史经验数据进行软件估计.2-7:参照"软件估计指导书"进行软件估计.2-8:软件估计对应项目的任务分解结构进行.说明:软件估计对于项目的任务分解结构对应得越清晰、越细致,相应的估计越准确.2-9:在"软件项目计划"中必须包括项目管理活动的计划.2-10:在"软件项目计划"中包括软件重用计划.包括重用软件部件的计划和开发可重用软件部件的计划.2-11:在"软件项目计划"包括人员的培训计划.说明:项目人员计划包括需要的人员类型、数量和技术等级的要求,相关人员的开始工作时间、工作周期、接受培训的计划等.2-12:对软件项目进行风险分析与评估.说明:可能存在的风险领域含:需求的不明确和变更、外部的限制与对外的依赖、人力资源的到位情况、人力资源的技术等级满足要求状况、技术问题等.对风险的分析与评估实践包括:从已知的情况推导出潜在风险;对风险进行分析,得出:潜在风险可能引发的问题的影响、潜在风险发生的可能性大小、风险发生的时间段等;排列风险的重点次序;对风险记录成文件<属于软件项目计划中的一部分>;风险经受风险影响人审核,并取得他的同意;根据需要,在开发过程中对风险文档进行维护和修订.2-3:对应工作任务,制定项目的文档计划.2-4:软件项目计划中应该包括正规检视活动计划、软件质量保证计划、软件配置管理计划.软件质量保证计划和软件配置管理计划可以和软件项目计划在同一份文档中,也可以分开为三份文档.说明:参考建议2-13..2-13:软件质量保证计划和软件配置管理计划作为独立的计划文档,包括测试.2-14:软件项目计划必须是整个项目开发过程的计划.软件验证与确认计划可作为独立2-15:测试经理对照整个开发计划建立软件验证与确认计划的计划文档.2-5:必须对项目工作进行分解,确定项目的工作任务,任务的责任人、资源要求、时间要求、项目的进度.2-6:必须分析任务之间的依赖性,确定并明确标识项目的关键路径.2-7:"软件项目计划"必须按照文档模板的要求编写.项目组可根据项目的实际情况,对文档模板中的内容进行裁减.项目组对文档模板内容的裁减必须得到上级管理部门<包括产品计划处、软件工程组SEPG>的审核批准.2-8:软件项目计划必须经过评审.说明:参考建议2-16.2-16:软件项目计划的评审采用以下检查表.序号问题1软件项目计划是否完全反映<对应>"软件需求说明书"里的需求?2软件项目计划是否有开发方法的说明?3软件项目计划是否有资源需求的说明?4软件项目计划是否包含风险管理计划?5软件项目计划是否包含了版本发布的机制?6软件项目计划是否标识了所有必须的培训计划?7 软件项目计划是否标识了所有内部和外部的传递关系?8软件项目计划是否标明了项目的依赖关系?9软件项目计划是否标明了角色和职责?10软件项目计划是否标明了汇报的机制?11软件项目计划是否说明了跟踪和监控机制?12软件项目计划是否包含"软件质量保证计划"和"软件配置管理计划"?13软件项目计划是否包含项目开发使用的工具?14软件项目计划是否包含项目的各里程碑的说明?15进度中是否标明了软件项目计划的关键路径?2-17:参加"软件项目计划"评审的人员,除软件经理和项目组人员外,必须有产品经理、上级管理部门<包括软件工程组SEPG>、SQA人员.2-18:"软件项目计划"通过评审后,软件经理组织相关人员对任务进行承诺,签定工作任务书. 2-9:必须对"软件项目计划"进行配置管理,"软件项目计划"的更改必须经过评审.2-10:在开发活动中,必须按照项目跟踪与监控计划和体制,对照"软件项目计划",跟踪项目开发的实际结果和性能.2-11:当实际结果和"软件项目计划"发生偏离时,必须进行分析,根据分析结果标明纠正措施.必要的情况下,要及时修订"软件项目计划".2-12:在软件项目跟踪监控活动中,必须定期进行总结和评审,撰写开发状态报告.2-19:根据项目的特点,报告的周期可以为周、双周、月.2-13:在软件开发各里程碑阶段结束前,必须进行阶段评审,对软件项目进行重估计,必要的情况下修订"软件项目计划".2-20:必须提供相应资源,包括工具和人员等,进行软件项目计划和项目跟踪监控活动.2-14:在软件项目计划和项目跟踪监控过程活动中,必须进行数据度量和分析.说明:参见"9. 数据度量和分析".3 概要设计3-1:概要设计要以软件需求规格为基础,必须保证需要实现的需求规格已经被设计.3-2:当需求规格发生变更时,必须修订相关概要设计文档.3-3:在概要设计文档或需求管理文档中,必须记录、验证需求和概要设计的跟踪关系.说明:需求和概要设计的跟踪关系可参考建议3-1..3-1:采用需求、子系统、模块的跟踪矩阵表记录需求和概要设计的跟踪关系3-4:必须保证概要设计文档和代码的一致性.当发生设计更改时,必须修订相应设计文档.3-5:必须对概要设计文档进行正规检视.3-6:概要设计过程结束前,必须通过评审,并保存评审记录.3-7:设计更改必须经过相关评审,并保存评审记录.3-8:对概要设计文档的正规检视或评审,必须检查概要设计文档的清晰性、完备性、规范性、一致性、正确性、数据、功能性、接口、详细程度、可维护性、性能、可靠性、可测试性、可追溯性.说明:参考建议3-2..3-2:采用以下检查表检查概要设计文档的清晰性序号问题1程序结构,包括数据流、控制流和接口的描述是否清楚?.3-3:采用以下检查表检查概要设计文档的完备性序号问题1设计目标是否定义?2需求规格评审中不完整的需求〕TBD〔是否都已经解决?3如果以前定义的不完整的需求〕TBD〔发生了改变,本设计是否能够支持?4是否对不完整需求〕TBD〔的影响进行了评估?5对有可能不能实现的设计是否有风险管理计划?6是否对设计模式进行了描述?.3-4:采用以下检查表检查概要设计文档的规范性序号问题1文档是否符合公司模板和写作要求?3-5:采用以下检查表检查概要设计文档的一致性.序号问题2程序、模块、函数、数据成员的名称是否保持一致?3设计是否反映了真正的操作环境?硬件环境?软件环境?4对系统设计的多种可能的描述之间是否保持一致?〕例如:静态结构的描述和动态描述〔.3-6:采用以下检查表检查概要设计文档的正确性序号问题1设计在计划、预算、技术上是否可行?2逻辑是否正确和完备?.3-7:采用以下检查表检查概要设计文档的数据描述序号问题1是否对所有的数据成员,参数,对象进行了描述?2是否所有需要的数据结构都进行了定义,或者定义了不需要的数据结构?3是否所有的数据成员都进行了足够详细的描述? 数据成员的有效值区间是否定义?4共享和存储数据的使用是否描述清楚?3-8:采用以下检查表检查概要设计文档的功能性要求.序号问题1模块的规格是否和软件需求文档中的功能需求和软件接口规格要求保持一致.2是否给每个子模块确定了抽象算法?3设计和算法是否能满足模块的所有需求?3-9:采用以下检查表检查设计的接口描述.序号问题1是否描述了接口的功能特征?2接口是否便于查错?3接口相互之间、和其他模块、和需求说明书及接口规格书保持一致?4对接口的数量和复杂度进行了有效的平衡,使接口数量控制在一个较小数量,每个接口具有可接受的复杂度?5是否所有的接口都能描述了必要的类型、数量、质量等信息?6操作界面是否考虑了用户<例如:提供准确、清晰、有用的提示信息>?3-10:采用以下检查表检查设计的详细程度.序号问题1是否估计了每个子模块的规模<代码的行数>?是否可信?2是否考虑了足够数量及代表性的系统状态?3详细程度是否足够进行下一步的详细设计?3-11:采用以下检查表检查设计的可维护性.序号问题1是否模块化设计?2模块是否为高内聚、低耦合?3-12:采用以下检查表检查设计的性能.序号问题1是否进行了性能模型分析?2是否描述了所有的性能参数?<例如:实时性能约束,存储空间,速度要求,磁盘I/O空间>3进程是否有时间窗?<例如:需要"加锁"的标记,信号灯,某些代码执行时需要屏蔽中断>?4程序执行过程中的关键路径是否都被标识和经过分析?3-13:采用以下检查表检查设计的可靠性.序号问题1设计是否考虑了检错和恢复措施?<例如:输入检查>2是否考虑了异常情况?3是否完全准确描述了所有的出错情况?4设计是否能够满足所有系统集成方面的要求?3-14:采用以下检查表检查设计的可测试性.序号问题1设计是否能够被实验、演示或检视以显示它满足了需求?2设计是否能够使用以前的测试代码,是否能够进行增量式的测试?3-15:采用以下检查表检查设计的可追溯性.序号问题1是否每一部分的设计都可以追溯到需求说明书,接口规格说明书、或其他产品文档?2是否所有的设计决策都可以追溯到财务分析?3对所继承下来的那些特别和不常用的特性对目前设计的影响是否进行了分析?4对所继承设计中已知的风险是否进行了定位和分析?4 详细设计4-1:详细设计要以软件需求规格和概要设计为基础,必须保证需要实现的需求规格已经被设计,必须保证概要设计定义的所有模块已经被详细设计.4-2:当需求规格或概要设计发生变更时,必须修订相关详细设计文档.4-3:在详细设计文档或需求管理文档中,必须记录、验证需求、概要设计、详细设计的跟踪关系.说明:需求、概要设计、详细设计的跟踪关系可参考建议4-1.4-1:采用需求、子系统、模块、函数的跟踪矩阵表记录需求、概要设计、详细设计的跟踪关系.4-4:必须保证详细设计文档和代码的一致性.当发生设计更改时,必须修订相应设计文档.4-5:必须对重要的详细设计文档进行正规检视.说明:参考建议4-2.,选择重要的详细设计文档进行正规4-2:根据模块的复杂度、规模和在软件系统中的重要程度检视.在产品中,进行正规检视的详细设计文档比例要达到60%.4-6:详细设计过程结束前,必须通过评审,并保存评审记录.4-7:设计更改必须经过相关评审,并保存评审记录.4-8:对详细设计文档的正规检视或评审,必须检查详细设计文档的清晰性、完备性、规范性、一致性、正确性、数据、功能性、接口、详细程度、可维护性、性能、可靠性、可测试性、可追溯性.说明:参考建议4-3..4-3:采用以下检查表检查详细设计文档的清晰性序号问题1是否所有的单元和进程的设计目的都已文档化?2单元设计,包括数据流、控制流、接口描述是否清楚?3单元的整体功能是否描述清楚?.4-4:采用以下检查表检查详细设计文档的完备性序号问题1是否提供了所有程序单元的规格?2是否描述了所采用的设计标准?3是否确定了单元应用的算法?<例如:PDL>4是否列出了单元的所有调用?5是否记录了设计继承的历史和已知的风险?.4-5:采用以下检查表检查详细设计文档的规范性序号问题1文档是否遵从了公司的标准?2单元设计是否使用了要求的方法和工具?4-6:采用以下检查表检查详细设计的一致性.序号问题1在单元和单元的接口中数据成员的名称是否保持一致?2所有接口之间,接口和接口规格书之间是否保持一致?3详细设计和概要设计文档是否能够完全描述"正在构建"的系统4-7:采用以下检查表检查详细设计的正确性.序号问题1是否有逻辑错误?2需要使用常量名称的地方是否有错误?3是否所有的条件都被处理?<>,=,< ,switch case〔?4分支所处的状态是否正确?<逻辑没有搞反>4-8:采用以下检查表检查详细设计的数据描述.序号问题1是否所有声明的数据块都已经使用?2定位于单元的数据结构是否已经描述?3如果有对共享数据、文件的修改,对数据的访问是否按照正确的共享协议进行?<例如:通过信号灯同步进程>4是否所有的逻辑单元、事件标记、同步标记都已经定义和初始化?5是否所有的变量、指针、常量都已经定义并初始化?4-9:采用以下检查表检查详细设计的功能性要求.序号问题1设计是否使用了指定的算法?2设计是否能够满足需求和目的?4-10:采用以下检查表检查详细设计的接口描述.序号问题1参数表是否在数量、类型和顺序上保持一致?2是否所有的输入输出都已经正确定义并检查过?3所传递参数的顺序是否描述清楚?。
《信息技术软件生存周期过程》——ISO/IEC 12207与GB/T 8566摘要对于保证软件质量,提高软件工程能力,关键是科学地建立和管理软件工程过程。
ISO/IEC 12207 《信息技术一软件生存周期过程》总结了有关研究成果,描述了软件生存期的各个过程与其关系,成为当前关于软件质量管理和软件过程评估与改进方面国际标准的主要参照文献,也是美国、欧洲共同体等发达国家软件工程标准的基本参照文献。
我国也发布了等同于国际标准的国标GB/T 8566。
1 ISO/IEC 122071.1 ISO/IEC 12207的主要容ISO/IEC 12207的主要容是对软件生存期过程给出了明确的定义。
它将软件生存期过程分为3类,即基本类过程、支持类过程和组织类过程,总共定义了17个过程;每个过程包含若干活动,总共74项活动;每个活动是一组相互协调的作业,总共232个作业。
作业表示为某种要求、自我说明、建议或可允许的活动。
基本生存周期过程基本生存周期过程是构成软件生存周期主要部分的那些过程,这些过程启动并执行软件产品的开发、操作或维护,含有5个过程。
l获取过程:定义需方(即获取一个系统、软件产品或软件服务的组织)的活动。
l供应过程:定义供方(即向需方提供系统、软件产品或软件服务的组织)的活动。
l开发过程:定义开发者(即定义和开发软件产品的组织)的活动。
l操作过程:定义操作者(即在计算机系统运行环境中为用户提供操作服务的组织)的活动。
l维护过程:定义维护者(即对软件产品进行维护服务的组织)的活动,这个过程包括系统移植和换代。
支持生存周期过程支持过程是对另一个过程提供支持的过程。
被支持的过程根据需要采用支持过程,并与该过程结合,帮助软件项目获得成功,并提高质量。
支持生存周期过程包括8个过程。
文档开发过程:定义对某生存周期过程所产生的信息进行记录的活动。
配置管理过程:定义配置管理活动。
质量保证过程:定义保证软件产品和过程符合规定要求,遵守一定计划的活动。
1. 目的
制定软件产品开发运作管理程序,对软件开发过程的各个工作阶段予以识别和控制,实施过程管理程序和质量控制,使软件开发过程各阶段得以有序进行,不符
受 控
分发号
合项得到及时发现并纠正,确保软件开发项目的工程质量符合客户的要求。
2. 范围
适用于公司各种类型的软件产品开发活动:内部立项开发项目、客户委托开发项目、招投标项目等等包含软件产品开发的运作过程。
3. 职责
3.1中心副总经理:负责组织内部项目的立项申请、软件开发项目的项目任务定义、组织和软件开发技术评审,负责技术开发的外部联合有关事宜,指导开发部经理确定项目经理。
3.2软件开发部经理:协助中心副总经理进行项目任务定义和软件开发技术评审,确定软件开发项目经理,合理配置开发项目各种资源,监督项目经理执行软件开发运作程序及项目过程质量控制,并协同质量管理部人员对开发项目进行检查验收。
与项目经理共同负责软件产品开发完成后的归档工作。
3.3项目经理:负责软件产品开发的执行过程:从项目任务书下达开始,对开发计划、需求开发、概要设计、测试设计与计划、数据库设计、详细设计、编码、测试、编写用户手册(或操作手册)、模块开发卷宗、试运行、验收等产品开发活动的全过程实施负责,对产品概要设计、数据库设计、详细设计的实施负责。
并负责项目开发完成后的归档。
3.4开发人员(软件工程师):配合项目经理,对指定任务的需求调研、详细设计、编码及单元测试、手册内容编写、测试任务、模块卷宗开发负责。
配合项目经理进行开发文件、卷宗的编篡归档工作。
4. 程序内容
4. 1软件产品开发流程图
(左侧为工作阶段名称,右侧为工作相关产品,括号中的编号是文档的编号)
4. 2任务开始:内部项目的输入条件为立项申请表和项目建设方案,外部项目的输入条件为项目合同和项目建设方案,其中,项目建设方案在项目要求评审记录中评审。
外部项目在合同评审或合同签订之后布置开发任务,内部项目在“立项申请表”批准之后布置开发任务。
任务开始以项目任务书下达到选定的项目经理为标志,项目任务书由中心副总下达,其电子文档抄报总助和总经理,以便各方面人员知会特定项目。
4. 3任务过程:
1)项目进展报告:两个月内的项目在项目试运行之前,必须填写项目周报,2个月以上的项目必须填写项目月报,跨2个季度的项目在周报之外,还
需在季度结束之前填写项目季报。
项目进展报告需主送部门经理、中心
副总经理,抄送总助、市场部经理、总经理。
2)需求变更须填写需求变更申请表,获得批准后方可更动,审批人为项目经理、技术总监
3)设计变更须在电子文档中体现相应的变动纪事,设计文档与代码同步实施版本控制,每个项目组须设立一个配置管理员。
4)在每个软件开发任务的里程碑结束的日期,应向部门经理提交各自对应的文档,部门经理对当期文档进行审核批准并指定版本号。
正式审核批
准的各个版本的开发文档作为配置管理的基线。
5)在项目验收交付之后,应提交由用户签字盖章的项目验收报告;对于内部项目应提交由中心总经理签字盖章的验收报告,形成归档文件。
4. 4 任务结束:任务结束时,由项目经理编写技术总结报告和项目工作总结报告,提交给部门经理审批。
之后,将所有的源代码、可执行文件、软件文档、相关资料全部整理,按照目录组织形成归档文件,刻成两份光盘(主光盘、副光盘)。
在归档完成后,由部门经理发出《项目结束通报》,向工程中心通报项目最终完成情况。
4. 5产品防护:
1)在软件开发过程当中,文档和代码通过配置管理软件进行每天、每周、每月的及时备份,详见配置管理规定。
2)对于内部验收的项目,将技术资料刻录归档光盘,并在光盘上打上项目编号和光盘编号,由质量管理部专人保管技术资料光盘,借用时填写《工
具借用登记表》。
3)对于外部验收交付项目,在执行内部验收项目相同的防护之外,还需将提交给用户的电子资料单独刻录成两份光盘,在光盘的外包装上写上客
户名称、软件系统名称和刻盘日期,与提交给用户的其他资料一起以密
封、盖章方式提交给用户,只允许用户方责任人拆封并签收确认。
4. 6成果鉴定:部门经理与项目经理共同负责组织材料,一般包括项目技术研究报告、项目鉴定申请报告、项目研究工作报告,另外需配套的材料还有:用户意见、应用证明等等。
4. 7 维护:项目结束归档之后,对于软件产品的维护工作需填写“软件维护记录”,填写相应的维护需求、维护结果,最后经主管确认后放入项目的归档档案。
4. 8文档:软件开发过程中,项目文档在对应的里程碑结束后一周内提交,文档封面除了文档全称和公司标识外,包括文档标识、作者、项目经理、审批人员和审批日期在内的内容均需手工填写。
5.相关文件
5. 1 7301-01项目开发计划编写大纲
5. 2 7301-02软件需求说明书编写大纲
5. 3 7301-03概要设计编写大纲
5. 4 7301-04数据库设计编写大纲
5. 5 7301-05详细设计编写大纲
5. 6 7301-07项目开发总结报告编写大纲
5. 7 7301-08用户手册编写大纲
5. 8 7301-09项目技术总结报告编写大纲
5. 9 8200-03技术评审作业规范
5. 108200-04软件测试作业规范
5. 118200-05测试计划编写大纲
5. 128200-06测试报告编写大纲
5. 13 7301-10项目建设方案编写大纲
6.记录表单
6. 1 730101项目任务书
6. 2 730102项目月(周)报
6. 3 730103项目结束通报
6. 4 730105技术评审记录
6. 5 730106立项申请表
6. 6 820004测试记录表
6. 7 820005测试用例
6. 8 820008 软件维护记录
6. 9 720202 项目管理变更评审表
6. 10 720201 需求变更评审表。