




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、神神玥软件科技股份有限公司玥软件科技股份有限公司为了更好地理解软件质量的重要性,为了更好地理解软件质量的重要性,本次培训主要包括以下内容:本次培训主要包括以下内容:一、软件研发流程一、软件研发流程二二、质量的概质量的概念念三、质量管理八项原则三、质量管理八项原则四、四、缺陷的含义及管理缺陷的含义及管理五五、项目流程各个阶段与软件质量之间的关系项目流程各个阶段与软件质量之间的关系六六、如何提高软件质量如何提高软件质量第一章、软件研发流程1、软件生命周期2、软件上线流程软件生命期软件生命期问题的定义及规划问题的定义及规划需求分析需求分析软件设计(概要设计和详细设计)软件设计(概要设计和详细设计)编
2、码编码软件测试软件测试运行与维护运行与维护此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。唯一不变的是变化本身。,同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。此阶段是将软件设计的结
3、果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、系统测试、验收测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面2、
4、软件的上线流程 项目立项、签订合同项目立项、签订合同 需求调研与评审需求调研与评审 制定计划并按计划进行设计、开发、测试工作制定计划并按计划进行设计、开发、测试工作 程序验收程序验收 程序上线、护航程序上线、护航 程序维护程序维护 参与者:软件公司 需求方 双方达成协议后需要签订合同,确认各方职责,确定项目上线时间 确认服务对象后就需要了解客户的需求,国家对公积金管理中心有统一的管理制度,但由于地域和人文的差别,各省事的公积金中心又会有一些特色业务和规定,这就需要需求人员去了解。 客户的满意才是我们软件合格的标准,所以软件开发前一定要了解客户需求,根据客户的不同需求制定需求文档和差异文档,碰到
5、不合理需求,要及时和客户沟通,必须达到双方意见一致。 需求确定后需要编写需求文档,并让客户对文档进行确认。 客户确认需求后还需要需求人员、设计负责人、开发负责人、测试负责人进行需求评审。评审通过后就可以根据需求量制定设计、开发、测试计划。 在9.11事件之前,美国总统克林顿曾悬赏1000万美元捉拿恐怖组织头目本拉登。 9.11事件以后,总统将赏金提高到2500万美元。然而,阿富汗人民却对此无动于衷。 后来,美国情报局经过调查发现,并非阿富汗人嫌2500万美元太少,而是在极端贫穷的阿富汗人的心目中, 2500万美元是一个空洞无际的天文数字。对于他们来说,解决每天的柴米油盐和生计才是头等大事,至于
6、那些数以千万计的巨额财富,实在是太遥远了于是赏金变成了1000只羊。 一时间,阿富汗人轰动了,他们纷纷钻进山林寻找拉登的下落。一个当地人兴奋地说:“1000只羊!天啊,那是多么大的一群羊啊!我们村子里最富有的人家也只有八只羊。如果能有1000只羊,我们全家几辈子都有着落了。” 由此可见了解客户的需求是多么重要,前期做好需求调研,真正了解客户的需求对后期研发测试工作的进行有极大的帮助,避免二次沟通浪费时间 需求文档确认后,就进入到软件的研发环节,在研发之前需要制定具体的计划 设计计划、开发计划、测试用例编写计划、执行测试计划、验收计划 设计人员对需求文档进行评审,发现需求不合理的地方及时和中心客
7、户沟通,客户确认后重新整理,需求评审通过后编写设计文档 设计人员需要熟悉整个系统及各个子模块之间的关联,也要有牢靠的数据库存储知识和开发能力,能发现程序的安全隐患,并在开发能力不足时能进行指导工作 测试人员要在开发人力投入之前编写好测试用例,测试用例要尽可能的覆盖整个需求文档。 测试用例,是测试过程中很重要的一部分内容,用例的编写也是一项很考验测试人员对业务知识的理解和分析能力的工作,所以编写用例的水平也能一定程度上反映出测试人员的测试水平 测试用例是对整个系统业务流程的描述,设计文档偏重于技术方向,而测试用例则是对业务的详细描述,可以说测试用例是对设计文档的补充,一个合格的用例可以有效的告诉
8、开发每个模块、每个按钮需要实现什么功能,以免开发人员因业务不熟而走弯路。 开发人员要根据测试用例的过程和结果验证自己开发的模块是否达到预期。 开发人员根据设计文档、测试用例进行开发操作,各自负责一个或多个模块 当碰到疑问或不会时,可以请求设计协助 开发在修改程序前需要更新svn,修改程序后同样不能忘记将修改的文件上传svn,保证本机程序与svn版本一致,上传文件一定要及时,以免发生需求覆盖 开发每完成一段代码时都要进行单元测试,单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码
9、的行为和我们期望的一致。 工厂在组装一台电视机之前,会对每个元件都进行测试,这,就是单元测试。可以说,进行充分的单元测试,是提高软件质量,降低开发成本的必由之路。 开发完成一个需求后需要根据测试用例对自己修改的程序进行开发自测,自测结果符合需要预期后就可以提交测试。 软件测试是软件质量保证的关健环节,代表了需求、设计和编码的最终检查。 为了保证软件的质量和可靠性,应力求在分析、设计等各开发阶段结束前,对软件进行严格的技术评审。但是由于人们能力的局限性,审查还不能发现所有的错误。而且在编码阶段还会引进大量的错误。这些错误与缺陷如果遗留到软件发布投入运行之时,终将会暴露出来。但到那时,不仅改正这些
10、错误的代价更高,而且往往造成很恶劣的后果。因此软件的错误尽量在前期发现,并且发现越早修改越容易,投入的代价就越小。鼓励测试人员前期介入,提前发现软件问题。 软件测试就是要在软件投入运行前,对软件需求分析、设计规格说明和编码的结果进行复查,是软件质量保证的关健步骤。软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据开发各阶段的规格说明和程序的内部结构而精心设计一批用例(即输入数据及其预期的结果),并利用这些测试用例去运行程序,以及发现程序错误的过程 测试需要熟练的业务能力,和一定的数据库基础,能发现一些开发自测中忽略的问题,站在客户的角度进行测试,提高客户对程序的满意度 我们的服务对
11、象是各省市的公积金管理中心,一个和钱打交道的机构,所以这就对我们软件的质量有非常高的要求,但凡程序中某个计算公式、存储传值出了问题,都可能会引起大量金额的异常处理。 为尽量避免一些失误,在测试工程师测试通过后,还要进行一项验收测试,验收人员可以是专门的质检组或验收组,也可以是另一波测试人员,亦或是现场技术人员。 验收通过后就会将程序交给客户验收,客户满意后才可以更新到正式环境,开始处理实际业务 项目刚更新到正式环境后,处理实际业务过程中都会发生各种各样的问题,这些问题在测试环境一般很难发现,所以在项目上线初期还需要投入许多人力处理一些应急问题,保证公积金中心每天能正常做业务。 这个阶段非常重要
12、,是一个新项目上线初期必不可少的环节,只有度过了这个环节,项目才能算得上成熟。 由于公积金中心业务量比较大,每天都会有开户、汇缴、提取、贷款、还款、签约等业务操作,大量的业务总能发现各别的问题,这些问题可能是系统隐藏bug,也可能是无法满足一些特殊用户的特殊业务需求,一些问题会影响到部分业务的进行,公积金中心会及时向软件公司提出需求,软件公司需要及时做出处理,尽快的解决问题使公积金中心业务通畅。 度过了最初的上线阶段,公积金管理中心的业务每天都可以正常进行后,项目将会转入维护阶段。 科技在创新、政策在变动,咱们的软件也不可能一成不变,公积金中心会根据本地的具体情况和实际业务不定期的提出一些软件
13、需求,以便于提高中心工作效率,满足更多公积金缴存人的业务需求。 软件维护期间,也可能会发现一些bug,这也需要维护团队进行及时解决,以避免引起不必要的麻烦。 维护团队包含现场技术、设计、开发、测试、客服人员,是一个大集体,现场技术负责发现问题或者记录客户发现的问题,设计、开发负责解决问题,测试负责对解决后的问题进行质量检测,以免引起其他bug。 维护团队对软件后期的平稳运行和延续软件的使用寿命中起到了至关重要的作用。 项目管理贯穿于软件生产的各个环节,是一个项目的运作必不可少的环节 从概念上讲,软件项目管理是一种科学的管理手段,它是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本
14、、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险) 项目管理协调各个环节,并监督各个环节,保证一个项目高效的运作,以达到客户的满意度。项目管理不仅仅需要了解研发公司的项目进展,也需要随时和客户沟通,了解客户对软件的建议和需求,一些阻碍项目进度的非技术因素都需要项目管理进行协调。第二章第二章 质质量的概念量的概念什么是质量?在日常生活中,人们对质量的理解有时非常简单,即“好”与“坏”的区别,或“好”
15、的程度。例如,这个MP3播放器的声音质量不够好,那个数码相机拍出来的照片质量非常好。但实际上好与坏的程度是很模糊的。质量并不是一个简单的概念,质量是一个相对客户而存在、富有内涵的、多面的概念。质量,就是把客户的质量要求分解转化为设计参数、形成预期目标值,最终生产出来低成本且稳定可靠的“物美价廉”的产品。而软件的质量,则是“低缺陷率、软件功能忠实于用户需求、高可靠性”的组合。ISO9000对质量的定义对质量的定义1.质量:一组质量:一组固有特性固有特性满足满足 要求要求 的程度。的程度。指某事或某物中本来就有的特性,如:螺栓的直径、机器的生产率等指明示的、通常隐含的或必须履行的需求或期望。指规定
16、的要求指组织、顾客和其他相关方的惯例或一般做法指法律法规或强制性标准要求的五位质量大师对质量的定义五位质量大师对质量的定义五位质量大师对质量的定义五位质量大师对质量的定义一一戴明戴明(Edwards Deming)Edwards Deming)质量是一种以最经济手段质量是一种以最经济手段制造出市场最有用的制品制造出市场最有用的制品-质量是制造出来的质量是制造出来的而非检验出来的而非检验出来的二二朱兰朱兰(Joseph (Joseph JuranJuran) )质量是一种适用性质量是一种适用性(FITNESS OF USE) (FITNESS OF USE) -产品使用期间产品使用期间要满足使用
17、者需要要满足使用者需要.三三费根堡姆费根堡姆(Armand Feigenbaum)(Armand Feigenbaum) 质量决不是最好的质量决不是最好的而是在某种消费条件下的最好而是在某种消费条件下的最好. . - -首创全面质量管制名词首创全面质量管制名词四四石川馨石川馨 质量是一种能令消费者或使用者满足质量是一种能令消费者或使用者满足并且乐意沟并且乐意沟 通的特质通的特质 - -以良好人力资源以良好人力资源建立工作质量建立工作质量五五克劳斯比克劳斯比(Philip Crosby)(Philip Crosby) 质量就是让顾客觉得他们得到了超过预期的价值质量就是让顾客觉得他们得到了超过预期
18、的价值 - -质量就是合乎标准质量就是合乎标准零缺点零缺点 没有XX功能(功能) 运行速度太慢(性能) 有太多的错误(故障) 软件不好改动(维护) 界面不美观(人机界面) 这个软件不好使用(易用性) 质质量的属性量的属性在上面我们已经给质量一个比较明确的、最基本的概念定义,但质量还是一个多层面概念或者说具有多层次的属性,可以从不同的层面或视点去审视质量,从而对质量有一个全面的理解。概括起来,质量是具有客户属性、成本属性、社会属性。质量的客户属性质量的客户属性客户就是上帝,可见质量是相对客户而存在的,而客户的评价对于衡量软件质量是十分重要的指标。我们拥有很多客户。不同的客户,可能会对同一产品的功
19、能提出不同的需求;也可能对同一产品的同一功能提出不同的需求;需求不同,质量要求也就不同,只有满足客户需求的产品才会被认为是质量好的产品。客户的需求,是由需求调研人员,根据当前已有的某一版本的程序,通过与客户详细沟通,深刻了解客户的需求,并将需求写入需求文档的一种行为。质量的成本属性质量的成本属性也可以称为质量的经济性。一方面,从生产过程看,对质量要求越高,所投入的研发成本就高;另一方面,质量越好的产品,带给客户的损失就越小,从而为企业带来很好的经济效益,而质量差的产品或服务,将会带给客户较大的损失,无法满足客户的业务需求,此时就需要消耗较大的企业成本。由此可见,质量对于一个公司的发展具有十分重
20、要的意义。无论何时,无论哪一个岗位,在质量问题上总是具有共同的目标。质量的社会属性质量的社会属性质量很多时候体现的是一种理念,是哲学而不仅仅是方法,它与社会的价值观有直接的关系。社会是在不断发展、变化的,这种社会属性就会决定质量具有一定的时效性,即客户对于产品或服务的需求和期望是不断变化的。如原先被客户认为质量好的产品会因为客户需求的提高而不再受到客户的欢迎。因此,软件的质量要求是需要不断地进行调整的。我公司住房公积金软件从最初的V1.0,经历V2.0、V3.0,到今天的神玥住房公积金双贯标系统V4.0,为客户提供互联网+公积金综合服务,更简洁、更方便、更高效地为客户提供高质量软件及服务。第三
21、章、质量管理八项原则 随着全球竞争的不断加剧,质量管理越来越成为所有组织管理工作的重点。 ISO(国际标准化组织),通过广泛的顾客调查制订成了质量管理八项原则。质量管理八项原则以顾客为关注焦点领导作用全员参与过程方法管理的系统方法持续改进基于事实的决策方法与供方互利以顾客为关注焦点“组织依存于顾客,因此组织应理解顾客当前和未来的需要,满足顾客要求并尽力超越顾客的期望。” 一个组织向顾客提供产品,如果产品不适销对路,顾客不需要、不满意,组织就无法进行再生产,组织就不能生存下去,组织和顾客是鱼水关系。所以要把满足顾客的需要和期望作为一切工作的出发点和评价工作结果的依据。全员参与全员参与产品质量是组
22、织各个环节、各个部门全部工作的综合反映。任何一个环节、任何一个人的工作质量都会不同程度地、直接或间接地影响产品质量。因此,应把所有人员的积极性和创造性都充分的调动起来,不断提高人的素质,人人关心产品质量,人人做好本职工作,全体参与质量管理。经过全体人员的共同努力,才能生产出顾客满意的产品。 持续改进 任何一个系统在运行中都会产生各种各样的问题。这些问题若不及时加以解决,就会使该系统日趋混乱,最终导致衰亡。 知识经济时代正大步向我们走来,我们只有不断创新,包括产品创新、技术或工艺创新、管理或体制创新等等,才能适应知识经济的要求。创新的过程实际上也就是改进的过程。质量改进为组织的创新活动提供了基本
23、方法第四章、缺陷的含义及管理 软件缺陷(Defect),常常又被叫做Bug。 所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。 缺陷的存在会导致软件产品在某种程度上不能满足用户的需要缺缺陷的含义陷的含义软件的bug,狭义概念是指软件程序的漏洞或缺陷,广义概念除此之外还包括测试工程师或用户发现和提出的软件可改进的细节(用户的体验)、或与需求文档存在差异的功能实现等。例如,客户内心想要一棵树,树上有枝叶,还有秋千,而最终开发完成的是一个木头桩(严重未实现),或者是一棵树但无秋千(中等程序未实现),又或者是一棵树,树干上挂着两根绳(较轻程序未实现),等
24、等,即为需求未实现。需要注意的是,开发完成的东西,客户需求未实现虽然划分了程度,但那只是对比来说的。要知道,无论哪个程度的未实现,都将付出返工的代价。仅就狭义概念而言,软件出现bug的原因有:1、对各种流程分支考虑不全面;2、对边界情况的处理不到位;3、编码时的手误。等等。综上,任何形式的系统错误(NullPointerException、Http 404错误代码或是蓝屏)、功能性错误(在我单击B的时候,系统本应执行Z,却最终执行了Y)、性能问题等都可归结为程序bug。因此,在质量这个问题上,bug是首先要理解的一个概念。当理解了bug的含义,并能够在编码过程中优化代码,时刻追求优质代码,才能
25、产出高质量程序。缺缺陷管理工具陷管理工具我们使用的bug管理工具是BugFree。访问地址http:/12329.pub:8002/bugfree/index.php/site/login1、BugFree 提交流程图2、Bug的三种状态描述1、BugFree 提交流程图 步骤说明:提交Bug:由测试人员进行提交。提交时统一指派给产品设计人员。分析Bug:由被指派的设计人员对Bug进行分析,并指派给相应的开发人员。(若此问题不需前台开发人员修改,只需对后台或存储进行修改时,设计人员直接标注解决,后由测试人员进行关闭)修改Bug:由被指派的开发人员对代码进行修改,并自测通过后标注解决。验证Bug
26、:由测试人员对已经解决的bug在测试环境进行验证。关闭Bug:由测试人员根据验证结果对Bug进行关闭处理。激活Bug:由测试人员根据验证结果对Bug进行激活处理。2、Bug的三种状态描述状态状态说明说明Active(活动)Bug的初始状态。任何新建的Bug状态都是Active。可以通过编辑Bug,从而修改Bug的内容,并指派给合适的人员解决。Resolved(已解决)解决Bug之后的状态。Closed(已关闭)已修复Bug在验证无误之后关闭,该Bug处理完毕。如果没有真正解决或者重新复现,可以重新激活,Bug状态重新变为Active。第五章第五章 项目各个阶段与软件质量的关系项目各个阶段与软件
27、质量的关系一、一、项目流程项目流程(1)项目立项阶段-产生:立项书;(2)需求调研阶段-产生:需求文档;参与者:需求调研人员(3)项目设计阶段-产生:设计文档;参与者:开发中心设计人员(4)项目开发阶段-产生:程序代码;参与者:开发中心开发人员,开发中心设计人员(5)项目测试阶段-产生:高质量程序;参与者:开发中心测试人员,开发中心设计人员,开发中心开发人员(6)现场实施阶段-产生符合客户需求、高质量程序;参与者:客户,施工人员,开发中心测试人员,开发中心设计人员,开发中心开发人员(7)项目上线二、二、需求、设计、开发、测试阶段与软件质量之间的关系需求、设计、开发、测试阶段与软件质量之间的关系
28、1.需求调研阶段由于软件设计完全依托需求文档,因而当客户需求被最大化扩展,最深层次挖掘时,即为好的需求调研,这会对后期设计、开发、测试产生积极的影响,才可能有客户需求上的高质量。反之,将给整个项目带来无法弥补的损失。因此,需求调研是项目开展的首要环节。为了更好地进行高质量的软件分析,软件开发中心做出了不懈的努力。通过对需求进行严格地评审,并尝试要求需求变更在可控的范围。2.软件设计阶段软件设计是根据需求分析的结果,考虑如何在逻辑、程序上去实现所定义的产品功能、特性等。设计过程就是将用户需求转换成软件表示,设计的结果将作为编码的框架和依据,以提高编码的效率和质量。设计的过程是客户需求实现的第一步。3.软件开发阶段经过需求分析、设计之后,接下来就是使用一种或多种具体的程序语言(C/C+/Java/PHP/ASP/JSP等)进行编程,即将设计转换成计算机可读
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业互联网平台数据加密算法在2025年智能零售管理系统应用效能评估研究
- 公共政策实施中的财务管理考量试题及答案
- 数字化教材在中学英语教育中的应用与效果研究
- 2025年开放银行生态构建中的金融科技与金融科技创新人才培养报告
- 软件设计师考试算法分析试题及答案
- 公共政策执行中的障碍与对策试题及答案
- 新能源汽车二手车2025年市场价值评估与流通路径探索报告
- 2025年互联网金融平台合规整改合规监管环境与可持续发展合规能力培养研究报告
- 软件设计师成功转型的方法与经验试题及答案
- 2025年智能化环境监测技术发展趋势与数据质量分析报告
- 常见皮肤病诊疗规范
- 【MOOC】生命的教育-浙江大学 中国大学慕课MOOC答案
- 高三英语一轮复习:节日主题的词汇复习 课件
- 无创机械通气护理要点
- 七下道法【选择题】专练50题
- 2024年北京第二次高中学业水平合格信息技术试卷试(含答案详解)
- 职业压力管理学习通超星期末考试答案章节答案2024年
- 人力资源管理:基于创新创业视角学习通超星期末考试答案章节答案2024年
- 安全环保职业健康法律法规清单2024年
- 基于杜邦分析法的蔚来汽车经营财务分析及建议
- 江苏省徐州市2023-2024学年七年级下学期期末英语试卷(含答案解析)
评论
0/150
提交评论