版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式软件开发流程嵌入式软件开发流程、嵌入式软件开发流程1.1嵌入式系统开发概述由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示品戲或專计胖遷计帶件MS41便*+越十14筛亭W舟谡耳玉爲图1.1嵌入式系统开发流程图在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择。往往通过硬件实现会增加产品的成品,但能大大提
2、高产品的性能和可靠性。再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。本书在4.1.5节对各种不同的嵌入式操作系统进行了比较,读者可以以此为依据进行相关的选择。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。由于本书主要讨论嵌入式软件的应用开发,因此对硬件开发不做详细讲解,而主要讨论嵌入式软件开发的流程。嵌入式软件开发概述嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软
3、件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的RationalRose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE的集成开发环境WindowsCEPlatform等。此外
4、,不同的处理器可能还有对应的开发工具,比如ARM的常用小知识与交叉编译相对应,平时常用的编译称为本地编译。集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。ItoiijztgRritliTLllRuSJL恥?iITinm-_口E口站哇-Kt呼曲-_T?IT-一Tixrado-LuD-tiiiLTUUL-PRISM+-抵冋-WiiCEPlcitf.TiiL.E:uil血Ci-ieV-taii-Lcigicijjr!-tfiitii-ICE-佥即jiroiL曰
5、江EtsiftLColiiizTestEliriie图1.2嵌入式开发不同阶段的常用软件嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。1.交叉编译嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序
6、,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。这里一般将进行交叉编译的主机称为宿主机,也就是普通的通用PC,而将程序实际的运行环境称为目标机,也就是嵌入式系统环境。由于一般通用计算机拥有非常丰富的系统资源、使用方便的集成开发环境和调试工具等,而嵌入式系统的系统资源非常紧缺,无法在其上运行相关的编译工具,因此,嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码。由于编译的过程包括编译、链接等几个阶段,因此,嵌入式的交叉编译也包括交叉编译、交叉链接等过程,通常ARM的交叉编译器为arm-elf-gcc、arm-linux-gcc等,交叉链接器
7、为arm-elf-ld、arm-linux-ld等,交叉编译过程如图4.18所示。目牖尢廿ELF吋珂勺打序*图4.18嵌入式交叉编译过程2.交叉调试嵌入式软件经过编译和链接后即进入调试阶段,调试是软件开发过程中必不可少的一个环节,嵌入式软件开发过程中的交叉调试与通用软件开发过程中的调试方式有很大的差别。在常见软件开发中,调试器与被调试的程序往往运行在同一台计算机上,调试器是一个单独运行着的进程,它通过操作系统提供的调试接口来控制被调试的进程。而在嵌入式软件开发中,调试时采用的是在宿主机和目标机之间进行的交叉调试,调试器仍然运行在宿主机的通用操作系统之上,但被调试的进程却是运行在基于特定硬件平台
8、的嵌入式操作系统中,调试器和被调试进程通过串口或者网络进行通信,调试器可以控制、访问被调试进程,读取被调试进程的当前状态,并能够改变被调试进程的运行状态。嵌入式系统的交叉调试有多种方法,主要可分为软件方式和硬件方式两种。它们一般都具有如下一些典型特点。调试器和被调试进程运行在不同的机器上,调试器运行在PC机(宿主机),而被调试的进程则运行在各种专业调试板上(目标板)。调试器通过某种通信方式(串口、并口、网络、JTAG等)控制被调试进程。在目标机上一般会具备某种形式的调试代理,它负责与调试器共同配合完成对目标机上运行着的进程的调试。这种调试代理可能是某些支持调试功能的硬件设备,也可能是某些专门的
9、调试软件(如gdbserver)。目标机可能是某种形式的系统仿真器,通过在宿主机上运行目标机的仿真软件,整个调试过程可以在一台计算机上运行。此时物理上虽然只有一台计算机,但逻辑上仍然存在着宿主机和目标机的区别。下面分别就软件调试桩方式和硬件片上调试两种方式进行详细介绍。(1)软件方式。软件调试主要是通过插入调试桩的方式来进行的。调试桩方式进行调试是通过目标操作系统和调试器内分别加入某些功能模块,二者互通信息来进行调试。该方式的典型调试器有gdb调试器。gdb的交叉调试器分为GdbServer和GdbClient,其中的GdbServer就作为调试桩在安装在目标板上,GdbClient就是驻于本
10、地的gdb调试器。它们的调试原理图如图4.19所示图4.19gdb远程调试原理图gdb调试的工作流程。首先,建立调试器(本地gdb)与目标操作系统的通信连接,可通过串口、网卡、并口等多种方式。然后,在目标机上开启GdbServer进程,并监听对应端口。在宿主机上运行调试器gdb,这时,gdb就会自动寻找远端的通信进程,也就是GdbServer的所在进程。在宿主机上的gdb通过GdbServer请求对目标机上的程序发出控制命令。这时,GdbServer将请求转化为程序的地址空间或目标平台的某些寄存器的访问,这对于没有虚拟存储器的简单的嵌入式操作系统而言,是十分容易的。GdbServer把目标操作
11、系统的所有异常处理转向通信模块,并告知宿主机上gdb当前有异常。宿主机上的gdb向用户显示被调试程序产生了哪一类异常这样就完成了调试的整个过程。这个方案的实质是用软件接管目标机的全部异常处理及部分中断处理,并在其中插入调试端口通信模块,与主机的调试器进行交互。但是它只能在目标机系统初始化完毕、调试通信端口初始化完成后才能起作用,因此,一般只能用于调试运行于目标操作系统之上的应用程序,而不宜用来调试目标操作系统的内核代码及启动代码。而且,它必须改变目标操作系统,因此,也就多了一个不用于正式发布的调试版。(2)硬件调试。相对于软件调试而言,使用硬件调试器可以获得更强大的调试功能和更优秀的调试性能。
12、硬件调试器的基本原理是通过仿真硬件的执行过程,让开发者在调试时可以随时了解到系统的当前执行情况。目前嵌入式系统开发中最常用到的硬件调试器是ROMMonitor、ROMEmulator、In-CircuitEmulator和In-CircuitDebugger。采用ROMMonitor方式进行交叉调试需要在宿主机上运行调试器,在宿主机上运行ROM监视器(ROMMonitor)和被调试程序,宿主机通过调试器与目标机上的ROM监视器遵循远程调试协议建立通信连接。ROM监视器可以是一段运行在目标机ROM上的可执行程序,也可以是一个专门的硬件调试设备,它负责监控目标机上被调试程序的运行情况,能够与宿主机
13、端的调试器一同完成对应用程序的调试。在使用这种调试方式时,被调试程序首先通过ROM监视器下载到目标机,然后在ROM监视器的监控下完成调试。优点:ROM监视器功能强大,能够完成设置断点、单步执行、查看寄存器、修改内存空间等各项调试功能。确定:同软件调试一样,使用ROM监视器目标机和宿主机必须建立通信连其原理图如图4.20所示图4.20ROMMonitor调试方式采用ROMEmulator方式进行交叉调试时需要使用ROM仿真器,并且它通常被插入到目标机上的ROM插槽中,专门用于仿真目标机上的ROM芯片。在使用这种调试方式时,被调试程序首先下载到ROM仿真器中,因此等效于下载到目标机的ROM芯片上,
14、然后在ROM仿真器中完成对目标程序的调试。优点:避免了每次修改程序后都必须重新烧写到目标机的ROM中。缺点:ROM仿真器本身比较昂贵,功能相对来讲又比较单一,只适应于某些特定场合其原理如图4.21所示。厂云1n厂崔1图4.21ROMEmulator调试方式采用In-CircuitEmulator(ICE)方式进行交叉调试时需要使用在线仿真器,它是目前最为有效的嵌入式系统的调试手段。它是仿照目标机上的CPU而专门设计的硬件,可以完全仿真处理器芯片的行为。仿真器与目标板可以通过仿真头连接,与宿主机可以通过串口、并口、网线或USB口等连接方式。由于仿真器自成体系,所以调试时既可以连接目标板,也可以不
15、连接目标板。在线仿真器提供了非常丰富的调试功能。在使用在线仿真器进行调试的过程中,可以按顺序单步执行,也可以倒退执行,还可以实时查看所有需要的数据,从而给调试过程带来了很多的便利。嵌入式系统应用的一个显著特点是与现实世界中的硬件直接相关,并存在各种异变和事先未知的变化,从而给微处理器的指令执行带来各种不确定因素,这种不确定性在目前情况下只有通过在线仿真器才有可能发现。优点:功能强大,软硬件都可做到完全实时在线调试。缺点:价格昂贵。其原理如图4.22所示。图4.22ICE调试方式采用In-CircuitDebugger(ICD)方式进行交叉调试时需要使用在线调试器。由于ICE的价格非常昂贵,并且
16、每种CPU都需要一种与之对应的ICE,使得开发成本非常高。一个比较好的解决办法是让CPU直接在其内部实现调试功能,并通过在开发板上引出的调试端口发送调试命令和接收调试信息,完成调试过程。如使用非常广泛的ARM处理器的JTAG端口技术就是由此而诞生的。JTAG是1985年指定的检测PCB和IC芯片的一个标准。1990年被修改成为IEEE的一个标准,即IEEE1149.1。JTAG标准所采用的主要技术为边界扫描技术,它的基本思想就是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上(周围),所以被称为边界扫描寄存器(Boundary-ScanRegiste
17、rCell)。当芯片处于调试状态时候,这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来。通过这些边界扫描寄存器单元,可以实现对芯片输入输出信号的观察和控制。对于芯片的输入管脚,可通过与之相连的边界扫描寄存器单元把信号(数据)加载到该管脚中去;对于芯片的输出管脚,可以通过与之相连的边界扫描寄存器单元捕获(CAPTURE)该管脚的输出信号。这样,边界扫描寄存器提供了一个便捷的方式用于观测和控制所需要调试的芯片。现在较为高档的微处理器都带有JTAG接口,包括ARM7、ARM9、StrongARM、DSP等,通过JTAG接口可以方便地对目标系统进行测试,同时,还可以实现Flash编程,这是非常受欢
18、迎的。优点:连接简单,成本低。缺点:特性受制于芯片厂商。其原理如图4.23所示。旧悴剧图4.23JTAG调试方式需求分析评各部需求分项目总体规划设计阶段T1确定系统分析划书风险控制计划!需求分析报告I需求分析评审报告I产品定义!产品技术规范!项目开发计划I风险控制计划!质量控制计划!系统分析文档系统分析评硬件结构设计软件软件及制作,过程文PCBIT1工艺I产品技术总体设计方|案(包括工艺)I系统分析评审报告|软件设计过程文档I硬件设计过程文档I结构设计过程文档i工艺设计过程文档I软件V1.0PCBV1.0|T1设计文档|工艺说明|分单元测试报告设计验证阶段T2FTAT3CTA|装机报告|例试分
19、析报告|整机测试评估报告|软件FTA版本|硬件FTA版本例试报告及分装机报告整机测试及评装机准备少量装机FTA准备FTA例试、整机测试CTA修模第二次试软硬件及工艺调试产准备软硬件及工艺例试、整机测试软硬件结构及寸2设计文档一试产报告例试分析报告1整机测试评估报告|软件CTA版本|硬件CTA版本hr3设计文档试产报告!例试分析报告I整机测试评估报告附录1.结构设计及制作流程阶段一结构tr可行iL评估i3D模型可行性评估*3D模型修改制定结构设计进度计划|3D模型评估报告i结构设计进度表结构T一详细设计i|结构设计进度表详细结构设计艸结构设计进展汇IL结构设计内部评结构设计修改结构设计验证评审相
20、关模资料制准作检制作working4workingsample验5!签订商务合同开模参考文件:1结构设计内部评审记I录workingsample配色i表workingsample验收I报告I结构BOMI结构设计外部评审记I录i模具制作检讨记录表I模具制作申请表|模具备品清单I模具制作注意事项表I工装夹具制作清单|物料进度按排需求表配色方案表|模具制作进度表工业设计流程,ID设计流程阶段-流程图软件I需求I分析I软件需求分析(包括技术风险评软件开发计划和配置件测试计划软件需求规格书i软件开发计划I软件开发风险控制计I划i软件测试计划软件I详细I设计II软件详细设计说明书i软件接口设计说明书|软件
21、设计内部评审记i录附录3.硬件设计流程阶段T一流程图硬件需求分析(包括技术风险评硬件需求分析报告|硬件开发计划丨硬件测试计划件开发计划和配硬i试计划硬件详细硬件设计详细内部设计评审设计1-PCB毛坯图设计LCD关键器厂硬件详细设计说明书硬件电路原理图硬件BOM硬件设计内部评审记录硬件i实现i测试iPCB数据器件规格书硬件子系统软件装配图硬件单元测试分析报吿电装总结报吿硬件系统测试版本硬件系统测试分析报告硬件评审验证报告发布版本参考文件:-1、PCB布板流程图2、LCD认证流程PCB布板流程其他各部I表单阶段硬件结构布板项目需求/产需求设计PCBPCB确认PCB投板参考文件:PCB布板设PCB投
22、板结构尺寸要投板前审查LCD认证流程硬件结构其他各部表单SPEC样品需求4尺寸LCD供应商数据收集和提供I供应商提供样尺寸确认软件确认勺各部提出修改要求各部j与供应商沟供应商供样封样各部确认?软件开发规范SoftwareDevelopmentSpecificationVersion:V1.0Date:2010-06-22PreparedbyDocumentRevisionHistory文档修订记录VERSION版本DATE日期DESCRIPTION内容说明INDIVIDUAL修订人1.02010-06-22初稿Introduction简介一个成熟稳定的组织或者团队,能够减少风险,经常地成功地达
23、成目标。成功的含义是:按时、预算内【即符合成本要求】、符合质量要求。换言之,成熟稳定的团队,能够避免以下问题:组织方面出现问题对需求缺乏管理缺乏计划和控制估算错误同时,还要在以下几个方面做得比较出色:人员调度与工作安排工作量估计预算管理责权分配与平衡执行与监控沟通本文档是软件开发规范,力求使团队打下一个良好的基础,以便逐步成长为成熟稳定的团队。团队需要一个逐步标准、规范的开发过程,在这个过程中,团队得到锻炼,成员能力得到提高,风险得到控制。主要内容是:A定义软件开发的流程;定义软件开发的文档格式;定义涉及的角色;定义涉及的信息;A描述开发流程;Purpose目标本文档的目标是:统一软件开发团队
24、的流程、文档;促进团队成员的沟通,减少误解;促使程序员书写易维护的代码;提高代码编写效率;A使每个成员成为一个高效的程序员;Scope范围本文档,包含:项目管理的流程;项目策划项目追踪配置管理质量保证同行评审涉及文档;项目计划mpp需求规格说明书SRSDelphi估算项目状态报告配置库样式CheckList评审表变更申请表开发工具的规范;数据库设计工具功能设计工具IDE配置工具Defintions,Acronyms,andAbbreviations.术语,缩略词SPP项目策划SoftwareProjectPlanningSPTO项目追踪SoftwareProjectTracking&Overs
25、ightSCM配置管理SoftwareConfigurationManagementSQA质量保证SoftwareQualityAssurancePR同行评审PeerReviewBaseLine基线SCCB软件配置控制委员会SoftwareConfigurationControlBoardCR变更请求ChangeRequestSDLC软件开发生命周期SoftwareDevelopmentLifeCycleRUP统一开发过程RationalUnifiedProcessXP极限【敏捷方法】eXtremeProgrammingTDD测试驱动TestDrivenDevelopmentReference
26、s引用CMM2CMM3Overview文档组织本文档主要分为四大部分:概述;描述了团队组织开发过程的高层视图;TSP和PSP;按照团队和个人描述流程规范;工具规范;描述了开发工具的详细规范;文档;涉及的文档格式;TheOverallDescription概述本部分是开发团队开发过程的高层描述。它描述了开发过程规范的背景,用来和所有涉及各方就基本过程达成共识。SofwareDevelopmentOrganizing开发团队组织结构团团团说明:匚二表示公司的行政部门匚二1表示公司的逻辑部门实线表示参加产品实现的组织和人员(不表示所属关系)虚线表示工作的汇报关系,如SQAE向SQA经理汇报。Proj
27、ectBaseProcess项目基本流程需求建议书合同项目目标可行性分析报告:结束项目识别需求执行项提出解:决方案:项目定义制定计划计划实施项目终止投入力量时间基本流程说明:项目启动:本阶段主要是进行可行性分析,定义项目,识别需求;制定计划:本阶段主要是计划策划,估算工作量,制定具体的可执行的计划;计划实施:本阶段主要是实施计划,完成计划中的各项任务,报告计划状态;项目终止:计划执行完毕,总结项目;CMMBaseProcessCMM基本过程基本过程说明:SCM:软件配置管理,所有活动的基础,一切制品必须放入配置库;SPP:软件项目策划,估算工作量,制定详细计划【项目的制定计划阶段】;SPTO:
28、项目追踪,报告项目状态,评估并更新计划【项目的计划实施阶段】;PR:同行评审,进入基线的前提条件,降低风险,提高质量的有效手段;SQA:质量保证,预防风险的有效手段;SCM软件配置管理配置管理主要解决:版本变更确定基线变更过2.3.2SPP计划策划计划策划的核心是工作量估算项冃启动从公司的数据中识别项理解是否充分;的总结报告和其它的数J目相似的信息,如项目可F选择项目生命周期人员介入项冃的方式;产品的交、付方式;项冃规识别项冃的特点分解时考虑的活动事项要详尽,不要漏了解各个生命周期的特点掉:教育或培训的需;参与评审文档;JRUPXP1r文档制品如:计划、_F依据定义的过程,识别必估算表规模估算
29、制定工作产品吊的评审计划估算结果2.3.3SPTO项目追踪2.3.4PR同行评审工作产品评审计划评审通知制定本次,评审计划要评审的文档已经完成且文档符合标准模板要求,项目经理指定评审组长,发放工作产品及参考资料,必要时确定评审重点(参见评审指南)心审人员进行预审a个人评审项目经理组织解决发现r将报告抄送相关人员评审准备yr正式评宙Xr评审跟踪指定的时间内给出预审意见,反馈给评审组长M作者。评申报告的缺陷(或问题)J作者根据评审结果进行J2.3.5SQA质量保证2.4SDLC生命周期选择当前比较成熟稳定的SDLC是:WaterFallRUPXP其中:RUP和XP是迭代式开发过程,风险是可控的。R
30、UP的优点是过程清晰、文档齐全,但是过于庞杂,比较适合大规模的团队;XP的优点是过程简洁、推崇简单,但是不注重文档,难于交接,适合小规对于中等规模的团队来说,应该基于RUP和XP,进行裁剪,找到适合的SDLC:SDLC的核心是:迭代式和TDD从全局看:Use-CaseDriven用例驱动基于Architecture迭代和递增的从微观看:TDD测试驱动ReFactor重构Pair结对编程2.5DevelopmentProcess开发过程2.5.1DevelopmentPhase开发阶段需求分析阶段需求收集需求总结总体设计阶段总体架构部署模型概要设计阶段模块划分数据库设计详细设计阶段具体实现A编码
31、阶段测试用例Coding单元测试测试阶段测试用例测试修正发布阶段安装测试安装系统维护PhaseProduct阶段制品A需求阶段SRS:需求规格说明书总体设计阶段总体设计说明书概要设计阶段HLD:概要设计说明书DB:数据库设计DFD:数据流图UI:用户界面详细设计阶段DD:详细设计说明书A编码阶段TestCase:测试用例Coding:源代码UTTestResult:单元测试报告测试阶段TestTask:测试任务书TestCase:测试用例TestResult:测试报告TestApprovals:测试总结发布阶段发布申请书RoleDuty角色职责角色责任研发经理【研发团队】为软件项目提供足够的资
32、源.保证SQA小组的独立性.解决SQA检杳时发现的问题.审批对外的承诺。定期审查SCM、SQA、项目计划和跟踪的相关活动。规定系统需求;将系统需求分配给硬件、软件和其他成分;规定硬件、软件和其他成分的界面;监控设计和开发以保证他们符合其规格说明;代表公司下达任务书。SA团队负责网络工程计划的制定及实施;负责对客户的技术支持与培训;负责工程服务部内部人员素质与技术培训负责系统集成工程标识、测试、验收及质量保证;负责硬件、网络和系统软件产品的最后交付;负责组织自产软件储运、防护、交付和安装;负责工程项目的配置管理QA研究制定测试规范和方案;参加实施测试和质量保证过程;对系统测试中发现的缺陷进行验证
33、;负责组织软件项目任务书、开发计划、里程碑等管理评审;负责公司的配置管理;项目经理负责软件和硬件整个项目的协调、管理进行需求分析,并进行文档的编写组织技术评审等活动组织制定项目开发计划(SDP)、风险管理计划等计划配合与协调SQA和SCM小组的活动.管理项目组,执行SQA方针和过程以及SDP.监督和跟踪SDP、项目估算SA负责硬件工程的实施;负责系统的上线;负责系统的维护;SCCB授权建立软件基线和标识配置项/单元;审查和审定对软件基线的更改;审定由软件基线库制造的产品的生成。SCM协助软件项目经理制定SCM计划、维护SCM计划;制定并维护项目标识规范;按时归档配置项;标识并管理置于配置管理过
34、程之下的软件工作产品集合;进行软件项目的软件基线生成、管理和备份;软件配置状态的统计和审计,并向项目组、软件项目经理、高级管理者汇报有关活动情况;将基线的变更情况通知受影响的组和个人;保存并管理各项评审记录、与项目相关的技术文档、标准和规程。SQC依据测试计划模板制定测试计划执行测试计划进行测试并记录测试发现的缺陷提供测试报告.SQA主要是策划软件质量保证活动、检验软件产品或活动对可用的标准、需求和规则的遵守程度、组织处理项目内部不能解决的不一致问题;定期报告检杳情况,发现偏差组织制定纠正、预防措施并监督更正;参与制定SQA计划,实施SQA活动,并向SQA经理、软件项目经理项目组、高级管理者汇
35、报有关的情况。DBA负责DB的创建和维护;为DE提供一个稳定的环境;DE按软件开发计划进行开发,并记录相关数据;遵守公司质量管理体系的要求.Deployer根据发布申请,提取代码,发布系统和SA、DBA起配置环境重构和重建系统2.6Constraints限制SpecificRequirements详细描述本部分按照角色划分详细描述开发过程。3.1Precondition前提3.1.1SCM配置库目录结构开发库:开发工作区文档和代码项目文档项目启动项目策划项目计划项目报告开发文档需求设计测试代码代码目录参考资料客户资料等等基线库:评审通过后的文档文档同开发库测试库:测试代码和测试发布包文档计划用
36、例测试报告代码版本1版本2参考资料产品库:测试通过后的文档和代码项目交付制品项目总结验收报告。项目产品版本1版本2A权限测试库:测试人员可以读写其它人员只能读,不能增加、修改和删除基线库:只能增加,不能删除和修改产品库:只能增加,不能删除和修改开发库:TestEnvironment测试环境测试需要一个独立的环境DB独立FTP等资源独立Pass9等外部系统独立最好是一个单独的局域网环境,完全和开发分开开发是环境测试是环境每次测试,应当是一个完整的测试过程安装系统DBWebAppServerClient其它配置系统DB配置AppServer配置系统初始化清除所有历史数据执行初始化脚本,插入初始数据
37、测试系统DevelopmentControlProcess开发控制流程3.2.1项目启动和策划阶段本阶段的关键是定义项目、估算工作量和制定详细计划。一个软件项目的正式启动从软件项目任务书的下达开始。任务书中写明项目的基本信息及相关责任人和详细分工,规定项目必须提交的产品清单。任务书由研发经理或者项目负责人起草,研发经理批准后下达给相关负责人。项目任务书必须为打印纸质文档,由相关人员签字确认后,入配置管理库归档。软件项目任务书主要作用是明确项目人员职责以及各组之间的协调确认。估算工作量,从确认需求后开始。由项目经理指定评估人员,先按照头脑风暴法估计各个子系统或者模块的难易程度,然后按照Delph
38、i法估算各个部分的工作量。项目经理和PMO成员,根据估算的工作量,制定项目计划。SQA和SCM分别制定各自的计划。SCM需要确定资源库的目录结构和权限结构。项目经理召集PMO、SQA、SCM评审及审核项目计划、SQA计划、SQA审核计划、SCM计划和测试计划。对于发布后的一般性程序修改,不需要下达软件项目任务书。对于关系重大,需要各组人员协调工作的重大修改,项目负责人可以以任务书的形式明确职责、协调关系。测试负责人评估测试资源【人员及机器】,并决定测试人员是否介入项目的需求分析和设计阶段。3.2.2需求分析、设计、编码阶段本阶段的关键是评审和修订控制,关键评审需要需求、设计、编码、测试、项目管
39、理、用户等的参与。需求阶段,需求分析人员收集需求,根据SRS模版,作出需求规格说明书。设计阶段,设计人员根据总体设计、概要设计、数据库设计和详细设计,作出设计文档。编码阶段,编码人员根据详细设计,设计单元测试用例,编写代码,进行单元测试。关键评审:SRS评审,设计评审,代码走查3.2.3提交测试阶段项目启动后,项目经理填写测试任务通知单,将测试任务下达给测试组。概要设计评审完成后,由各子系统或者模块的负责人测算完成时间,在确定完成时间后(正式开始编码前)将测试任务通知单提交给项目测试负责人,项目测试负责人审核通过在通知单上签字后返回给子项目负责人。开发及单元测试完成后,由开发人员将测试内容提交
40、配置管理员入测试库后,将测试任务通知单提交给发布人员申请测试发布。发布人员将测试库中本次测试的内容发布到测试机后,在测试任务通知单上签字后,提交给测试人员开始测试。测试完成后,测试人员在任务单上填写测试意见后,交测试负责人确认后,返还给开发人员。如测试没有通过,开发人员修改测试内容,进入下一个测试流程。如通过测试,开发人员将测试任务通知单提交给项目负责人,由项目负责人、SCCB签字确认后,提交配置管理员将测试内容入基线库。过程关键:发布实施人员确保发布到测试机上的源程序在配置管理库中得到了有效的标识。3.2.4牛产发布、终测程序通过测试入库以后,根据需要,由项目的负责人负责填写发布申请单。发布
41、申请单由项目测试负责人、配置管理员、SCCB、客户代表、研发经理签字确认后,由项目负责人提交给实施发布人员。发布人员拿到签完字的发布申请后,才能从基线库中提取程序向生产机上发布。如以上发布确认人员没有全部签字同意发布,必须由项目经理签字同意后发布。程序发布到生产机上以后,进入终测【UAT】流程。测试人员和用户代表要对生产机上的程序进行最后测试,确保生产机上的系统符合需求。项目负责人负责同用户协调,项目负责人、测试人员和用户共同编写测试用例。项目负责人将终测意见书提交三方签字,根据签字意见决定修订系统或者提交正式发布。终测出现的问题修改按照基线变更流程进行。实施人员只有拿到有三方签字的终测意见书
42、后才能将系统正式公开发布。系统正式发布三天之后一周之内,由实施人员负责到用户处取得有用户主要负责人签字的系统运行报告,项目负责人负责监督执行。根据系统运行报告做相应的处理。过程关键:发布到生产机上的程序都在基线库中得到了有效的标识。3.2.5发布后问题反馈修改过稈系统发布之后,用户反馈的意见要形成问题清单或者变更申请单,记录需要修改的地方,提交给项目负责人。项目负责人负责判断改动是否会影响需求或者设计,负责将任务分配给相关人员进行修改。修改完成后,提交测试直至发布。这个阶段的最重要的是保证所做的修改(文档、代码)都在配置管理库的基线库中得到体现。即基线库中的文档和代码要进行同步更新,关键是发布
43、人员严格根据发布申请单进行控制,并确保发布的代码都是从基线库中取出的。没有经过流程直接要求发布的,发布人员必须予以拒绝。3.3TSP团队软件过程3.3.1会议组织会议前,确定会议主持人和记录员向参与会议人员发送会议资料参与会议人员阅读会议资料确定会议主题、日期时间和地点注意:留出阅读资料的时间确定会议议程准备会议用品【如投影仪等】重要会议,需要会议开始前,申明会议纪律发言时间限制发言顺序除主持人外,不得打断别人记录员记录会议纪要会议后,发送会议总结3.3.2沟通问题原则目标明确明确反馈反复沟通A请求-答复当有疑问时,发出请求明确求助对象,指定第一对象和辅助对象第一对象接收到请求后,不能及时答复
44、的应当转发给自己认为合适的答复人,并告知求助人求助方式【高低】:当面,电话,邮件公告3.3.3代码走杳项目负责人指定代码走查对象相互走查循环走查代码走查发现的问题首先记录告知代码作者更新CheckList3.3.4其它3.4PSP个人软件过程3.4.1工作原则计划管理:把你想做的写下来行为管理:按照你写下来的去做报告管理:把做的事情记录下来跟踪管理:出现的问题要设法解决3.4.2日常工作每日工作每日早晨,规划当日工作;计划必须细化到一个明确的目标计划要有余地,比如会议等计划是可执行的,能够完成的计划是可监控的每日下班,总结当日工作;计划完成情况未能完成原因个人心得:新的发现,新的方法,新的问题会议会议之前,仔细阅读会议资料如有疑问,可以发邮件向会议主持人提出或者在会议上提出会议中,记录会议要点如要参与讨论,请在别人发言结束后发言,不要打断别人会议后,如有新的想法,发邮件或者当面向会议主持人提出求助如果一个问题20分钟还不能理出一个头绪,应当立即求助求助对象:个人认为能够解决该问题的人为第一对象不能确认的,项目负责人为第一求助对象发出求助后,个人负责追踪求助,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床基因扩增检验技师考试试卷及答案
- 2026年高考物理终极冲刺:专题15 实验与探究(五大题型)原卷版
- 2025山西吕梁交口经济技术开发区建设投资有限责任公司招聘工作人员9人笔试历年参考题库附带答案详解
- 2025山东济南平阴县鲁中山河科技发展有限公司招聘4人笔试历年参考题库附带答案详解
- 2025安徽省泗县泗州戏演艺有限公司招聘演员4人笔试历年参考题库附带答案详解
- 2025四川长虹华意压缩机股份有限公司招聘16人笔试历年参考题库附带答案详解
- 2025四川深圳九州光电子技术有限公司招聘操作员等岗位35人笔试历年参考题库附带答案详解
- 2025四川九洲电器集团有限责任公司招聘硬件研发岗(逻辑工程师)(校招)等岗位33人笔试历年参考题库附带答案详解
- 2025内蒙古润蒙能源有限公司招聘22人笔试历年参考题库附带答案详解
- 2025云南黄金矿业集团股份有限公司第三次招聘工作人员6人笔试历年参考题库附带答案详解
- 桥梁下部结构桩基施工方案
- 2025年版《中国药典》试题及答案
- 花艺培训鲜花培训课件
- 2025年公务员考试公安面试真题及参考答案
- 单招语文字音课件
- 剧院运营模式研究-洞察及研究
- 司法鉴定学(第二版)
- 新时代国有企业荣誉体系构建与实践研究
- 2025年道路运输企业两类人员考试题库及答案
- 安宫牛黄丸会销课件
- 辽宁中医药大学中医学专业(含本硕本科段)实践教学培养方
评论
0/150
提交评论