您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 软件开发与质量保证模式(1)
软件开发与质量保证模式前言1.保证XX科技有限公司质量体系符合基本的软件质量要求;2.提高软件质量管理的水平;3.起到实现国际标准本地化的桥梁作用4.评估和证明我们在软件质量一致性方面达到一定的水平组成软件质量保证体系基础的过程1.软件项目管理2.软件质量保证3.软件测试4.用户需求管理5.设计变更控制6.售后维护支持7.软件外购软件生命周期与所用方法的关系分析需求编码实施测试接收软件项目管理软件质量保证更改控制软件外购用户需求管理维护支持软件测试软件项目管理定义软件项目管理是一个计划、组织、员工管理、监督、控制和领导软件项目管理过程。另外,因为相互共存的关系,它还要考虑到人力、系统和硬件方面的因素。软件项目管理的主要目标1.有效的项目计划、时间安排和项目预算;2.最小化项目风险;3.检测项目过程和产品以利于提高现在和将来的项目;4.提供的有效的项目追踪和进度报告,以确保整个项目生命周期内各情况的充分可见性,以及必要时能提供补救行动;5.保证项目的按时交付;6.达到商业目标和项目目标的统一。软件项目经理(SPM)1.对按时交付、满足预算,质量达到要求等承担全面责任;2.定义项目组规则和安排本组员工工作。3.适时地向项目组提供指引和方向。4.充当本项目组与其它部门的接口,包括上级组织内部成员或与项目有利益相关、感兴趣或有牵涉的外面成员或集团。5.了解项目的技术和非技术性方面并对相关问题作出决定。6.通过检验进度监督项目7.向首要和高层管理层汇报进度软件项目经理知识和经验1.为履行这些职责,软件项目经理应对项目特性有充分的认识并具有与人交往的技巧;2.指导、管理项目队伍的知识和经验;3.解决问题知识和经验;4.作出决定知识和经验;5.项目控制知识和经验。项目指导委员会和项目保证1.项目指导委员会(PSC),对整个项目方向和决定负责。它通常由管理人员,用户和开发管理人员组成。2.软件质量保证队伍(SQA),负责确保项目质量与产品一样(参考质量保证体系SQA部份)项目流程概览项目计划,进度时间表和预算初始人项目开启活动项目跟踪和报告项目结束活动软件外购软件质量保证软件测试更改控制维护支持用户需求软件开发接收的软件软件开发状况项目签署软件项目支持协议更改控制类目测试需求项目质量目标外购项目定义项目和用户定义项目计划项目报告软件质量保证定义1.软件质量保证是一个有计划的和提供足够信心的行为模式,使文件、产品或服务符合已确定的客户和技术要求。2.软件质量保证部门向管理层提供一定程度的信心,即从软件项目的一开始就有一个独立的、训练有素的团体对其目标、方法和应用表现进行监督。软件质量保证部门的主要目标开发最小的需求和步骤并能保证1.系统符合用户部门和其它用户的需要。2.系统符合其它用户的需要,如一个系统不侵犯其它的系统用户的权力。3.用户目标吻合软件机构的目标。通常情况下,软件机构的目标应优先于任何一个单一用户的目标。4.系统目标吻合软件机构的目标。软件质量保证部门的其它目标1.系统目标与行业和政府的要求一致。2.系统顺从软件机构想充分控制的意图并且是可见的。软件质量保证部门可以解决软件机构面临的挑战咨询顾问软件的复杂程度跟随当前技术的能力用户对IT了解的缺乏审核需求软件组织专业性行政管理对IT软件缺乏了解新的软件编程标准新的软件发展标准如何评估软件产品技术变化何时高于项目软件机构的挑战软件质量保证部门组成1.应由软件行业的资深员工组成。2.另外,SQA的成员可以是全职、兼职或是软件机构其它部门的受训人员组成。软件质量保证部门组成1.软件质量保证队伍负责向软件机构职能部门提供质量保证支持。这种支持可以看作是对软件机构经理责任的延伸。2.软件质量保证队伍的责任可以是一个大型软件机构中的一个独立部门,或是一个小型软件机构里合并于另一个部门直接向项目经理报告。3.实践中,SQA队伍可以是用户/客户的拥户者,管理层的耳目,在质量标准的开发和改进过程中起领导作用。软件质量保证流程发起人SQA功能创建QACharter创建SQA过程创建SQA活动应用复查和审核质量目标软件质量策略分析SQA结果SQA章程SQA计划SQA结果软件机构软件项目管理机构重点机构目标项目质量目标用户需求管理的定义用户需求管理:它是指基于计算机系统角度的一套需求的发现,理解,谈判,编写文档、生效和管理的过程。需求:1.它由一组信息的混合体,包括:问题信息、系统行为/特性的说明、设计、生产限制等;大致能分成两个基本类型,也就是:2.高层次和抽象的叫Stakeholder或用户需求;3.详细的需求定义叫系统需求。需求文档:它是给客户、最终用户和软件开发人员的系统需求正式报告。需求文件的其它名字包括:”功能定义”,“需求定义”和“软件需求定义”等。需求工程:它覆盖从撰写文档到保持基于计算机系统的整个需求的所有活动。需求工程过程成熟期:它是对基于优秀需求工程方法的已定义需求过程的延伸。用户需求管理的目标产生一套尽可能全面、相互一致且反映客户真实需要的系统需求。需求管理的职责1.软件机构的经理或其代表全面负责执行用户需求管理活动。2.软件产品和服务的最终用户和最终用户管理者负责提供执行用户需求管理活动所需的支持。3.软件开发人员负责在开发期间对指定的需求进行诠释、编写文档、贯彻和转化进产品中。需求管理流程概览发起人(用户,客户,经理等)需求收集和定义要求.分析和谈判系统模块化需求生效需求管理新开发或变更的需求拟写用户需求文档CurrentURD用户需求文件的更新包括系统模板在内更URDValidatedURD需求文件模板软件更改控制格式和结构的定义命名和描述的结构(保留计算机的)用户需求变化软件开发数据字典CurrentURD维护支持定义软件维护支持是指提供高效和有效使用软件所要求的运行和维护活动的过程。该过程从软件交付到用户手中进入实际操作阶段后开始。软件运行中的主要活动:1.用户支持,指提供培训,直接协助和软件使用中的其它支持。2.问题报告,使问题能及时并有效地得到解决。软件维护活动分类如下:1.更改性能,消除软件缺陷;2.完善性能,不影响功能情况下对系统进行提高;3.提高性能,改良软件使它能最好的适应其环境。维护支持的目标在软件交付投入运作或现场应用后,遇到系统要修正错误,提高表现或其它属性,或调整到另一环境时,向最终用户提供有效的产品或服务支持以保持软件的能用和有用。软件维护主要职责1.软件维护经理(SMM)或运作经理(SOM)分别负责提供维护或运作的管理。2.用户帮助界面(一种常见于大公司的向用户提供最基本协助和回应的功能),也是维护或运作部门的职责。软件维护流程概览用户培训和支持用户(用户管理,系统拥有者,客户等)支持策略问题管理软件维护软件更改控制软件项目管理软件开发支持和服务层面的需求合同签订用户培训和操作支持协议用户培训和操作支持更改要求-项目签订-软件项目支持协议用户(用户管理、系统所有人、客户等.)软件外购要求和问题报告软件发布软件CI更改要求软件外购定义软件外购的过程涉及:1.确立软件外购合同;2.选择合同商履行软件外购合同条款;3.依照软件外购合同管理合同商;4.基于取得的结果对合同商的表现进行审核;5.产品/或服务全部测试后引入到产品或操作环境。该过程允许上门服务或在供应商公司内部完成维护工作的灵活性。软件外购目标1.制定有效的软件外购合同计划、工作时间表和预算。2.外购合同风险的最小化。3.提供有效的软件外购合同的跟踪和进展报告,确保整个软件外购合同生命周期的充分透明度以及必要时采取正确的行动。4.确保软件产品/服务接收前经过全面的检验和确认。软件合同经理的职责1.促进软件外购合同的订立。2.促进合同商方面履行软件外购合同的条款;3.承担确保合同商对软件产品/或服务的按时交付、做好预算、质量合格的全面责任。4.担任协调母公司内外和合同商组织之间有利益关系、兴趣或涉及软件外购合同的人们或团体的关系。软件外购流程概览发起者创建合同选择合同合同管理签收和安装接收用户需求软件外购合同项目定义法律要求维护支持修正和有生效的软件进度报告合同列表最后的软件外购合同合同签订付款合同择定用户软件支持员工最后的软件外购合同开发的软件产品或服务培训支持培训使用审核查阅结果软件项目管理商讨法律行政管理软件更改控制定义软件更改控制是指提议更改软件配置的升级和协作完成建议的更改过程以确保整个软件保持完整和一致。配置文件配置文件(CI)软、硬件的集合,在更改控制过程它指定作为一个简单的实体,配置文件的例子有:1.软件组件,如源文件模板,目标模板文件,执行文件或数据文件;2.编译程序器或操作系统;3.基线,如开发中的软件系统;4.发布,如运行中软件系统;5.文件,如需求文档;。软件更改控制和相关活动软件更改控制和相关活动在软件配置管理的上下文得到最好的说明,它正式地被定义为应用技术的原则、管理方向及监察以:1.明确和列写配置文件的职能和表面特征;2.控制对配置文件的改变;3.记录和报告更改进展和完成情况;4.检验有特定需求的附件软件更改控制的目标1.可识别软件组件;2.软件由一套相互协调的组件构成;软件组件是有用并易理解的;3.软件组件从不会丢失(如媒介错误或操作失误后)。4.软件的每一更改均经批准并有文档;更改工作均已记录(如即时更新)5.总是可以返回到原先的版本;保存有更改历史,以便总是可以知道谁在何时做了什么;软件更改管理策略更改控制所有软件文件,如文档,源文件,代码,可执行代码,文件工具,测试软件和数据应受更改控制程序控制。系统库1.为保证软件的安全和控制,作为最低要求,应建立下列系统库来存储配置文件:2.开发(或动态)库,代码开发与单元测试任务进行的地方3.测试(或master)库,集成和系统测试执行的地方;4.产品(或属性)库,执行接收测试的地方软件更改管理策略另外,下面更改控制策略将应用:1.所有开发均只能在开发库执行;2.不可修改产品库(除非有新的发布,先前版本将变成备份)3.应建立所有库的备份程序。单元模块之间、基线、发布和软件库的关系单元1单元2单元3基线1基线2发布1图例集成转移开发库测试或Master库产品或档案库软件更改控制主要职责更改管理1.在软件生命周期开发阶段,软件项目管理的责任是组织软件更改活动和定义相关作用。2.在软件生命周期的操作和维护阶段,软件更改控制的责任有赖于软件维护经理(SMM)。软件更改控制系统库管理员更改经理应得到一个向他汇报的系统库管理员的支持,他负责:1.建立新的测试库;2.更新测试库;3.从测试库到产品库的备份;4.对测试和产品库的访问控制。软件更改控制更改评估员1.更改评估员应是软件组织的一个独立团体的一部分,如软件质量保证团体。2.他/她负责在开发项目的定期间隔或后期,通过对配置文件的物理检查或其它质量保证程序,检查安排的软件更改控制活动是否已完成。软件更改控制流程概览变更控制环境软件项目管理明确配置项目更改需求和执行变更通知用户需求管理维护支持用户(用户管理,系统拥有者客户更改控制规则软件开发(新的开发,维护和问题管理)变更需求用户需求变更变更通知报告项目和用户定义软件库包括配置项目变更细节软件开发(新开发,维护和问题管理)-发布-软件CI更改要求软件测试定义软件测试是以人工或自动的方法演试或评估系统或元件的过程来:a)确认它满足特定的需求;b)分析预期与结果两者之间的不同;c)较之其它检验技术,测试是最直接的,因为它执行软件。软件测试是软件生命周期活动的主要组成部分,具体可分三种:a)单元测试b)系统测试c)用户接收测试软件测试的主要目标发现缺陷并确保在软件完成前得到修正。缺陷是指与指定的用户需求的异常或偏差。确保软件在每个测试阶段结束时,已经有效降低缺陷数量,并在进行生产前消除了所有已知缺陷。提供开发人员和用户一种信心,即正开发的软件能按指定的用户需求在测试或操作环境运行。向开发、支持人员和用户提供关于系统的第一印象和培训。软件测试管理策略所有开发完毕的软
本文标题:软件开发与质量保证模式(1)
链接地址:https://www.777doc.com/doc-446583 .html