嵌入式软件开发作业流程_第1页
嵌入式软件开发作业流程_第2页
嵌入式软件开发作业流程_第3页
嵌入式软件开发作业流程_第4页
嵌入式软件开发作业流程_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式软件开发步骤一、嵌入式软件开发步骤

1.1

嵌入式系统开发概述

由嵌入式系统本身特征所影响,嵌入式系统开发和通用系统开发有很大区分。嵌入式系统开发关键分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体步骤图图1.1所表示。

图1.1

嵌入式系统开发步骤图

在系统总体开发中,因为嵌入式系统和硬件依靠很紧密,往往一些需求只能经过特定硬件才能实现,所以需要进行处理器选型,以愈加好地满足产品需求。另外,对于有些硬件和软件全部能够实现功效,就需要在成本和性能上做出抉择。往往经过硬件实现会增加产品成品,但能大大提升产品性能和可靠性。

再次,开发环境选择对于嵌入式系统开发也有很大影响。这里开发环境包含嵌入式操作系统选择和开发工具选择等。本书在4.1.5节对多种不一样嵌入式操作系统进行了比较,读者能够以此为依据进行相关选择。比如,对开发成本和进度限制较大产品能够选择嵌入式Linux,对实时性要求很高产品能够选择Vxworks等。

因为本书关键讨论嵌入式软件应用开发,所以对硬件开发不做具体讲解,而关键讨论嵌入式软件开发步骤。

1.2

嵌入式软件开发概述

嵌入式软件开发总体步骤为图4.15中“软件设计实现”部分所表示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件具体设计、软件实现和软件测试。其中嵌入式软件需求分析和硬件需求分析合二为一,故没有分开画出。

因为在嵌入式软件开发工具很多,为了愈加好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用工具做一简单归纳。

嵌入式软件开发工具依据不一样开发过程而划分,比如在需求分析阶段,能够选择IBMRationalRose等软件,而在程序开发阶段能够采取CodeWarrior(下面要介绍ADS一个工具)等,在调试阶段所用Multi-ICE等。同时,不一样嵌入式操作系统往往会有配套开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE集成开发环境WindowsCEPlatform等。另外,不一样处理器可能还有对应开发工具,比如ARM常见集成开发工具ADS、IAR和RealView等。在这里,大多数软件全部有比较高使用费用,但也能够大大加紧产品开发进度,用户能够依据需求自行选择。图4.16是嵌入式开发不一样阶段常见软件。

图1.2

嵌入式开发不一样阶段常见软件嵌入式系统软件开发和通常软件开发区分关键在于软件实现部分,其中又能够分为编译和调试两部分,下面分别对这两部分进行讲解。

1.交叉编译

嵌入式软件开发所采取编译为交叉编译。所谓交叉编译就是在一个平台上生成能够在另一个平台上实施代码。在第3章中已经提到,编译最关键工作就在将程序转化成运行该程序CPU所能识别机器代码,因为不一样体系结构有不一样指令系统。所以,不一样CPU需要有对应编译器,而交叉编译就如同翻译一样,把相同程序代码翻译成不一样CPU对应可实施二进制文件。要注意是,编译器本身也是程序,也要在和之对应某一个CPU平台上运行。嵌入式系统交叉编译环境图4.17所表示。

图4.17

交叉编译环境

小知识

和交叉编译相对应,平时常见编译称为当地编译。

这里通常将进行交叉编译主机称为宿主机,也就是一般通用PC,而将程序实际运行环境称为目标机,也就是嵌入式系统环境。因为通常通用计算机拥有很丰富系统资源、使用方便集成开发环境和调试工具等,而嵌入式系统系统资源很紧缺,无法在其上运行相关编译工具,所以,嵌入式系统开发需要借助宿主机(通用计算机)来编译出目标机可实施代码。

因为编译过程包含编译、链接等多个阶段,所以,嵌入式交叉编译也包含交叉编译、交叉链接等过程,通常ARM交叉编译器为arm-elf-gcc、arm-linux-gcc等,交叉链接器为arm-elf-ld、arm-linux-ld等,交叉编译过程图4.18所表示。图4.18

嵌入式交叉编译过程

2.交叉调试

嵌入式软件经过编译和链接后即进入调试阶段,调试是软件开发过程中必不可少一个步骤,嵌入式软件开发过程中交叉调试和通用软件开发过程中调试方法有很大差异。在常见软件开发中,调试器和被调试程序往往运行在同一台计算机上,调试器是一个单独运行着进程,它经过操作系统提供调试接口来控制被调试进程。而在嵌入式软件开发中,调试时采取是在宿主机和目标机之间进行交叉调试,调试器仍然运行在宿主机通用操作系统之上,但被调试进程却是运行在基于特定硬件平台嵌入式操作系统中,调试器和被调试进程经过串口或网络进行通信,调试器能够控制、访问被调试进程,读取被调试进程目前状态,并能够改变被调试进程运行状态。

嵌入式系统交叉调试有多个方法,关键可分为软件方法和硬件方法两种。它们通常全部含有以下部分经典特点。

调试器和被调试进程运行在不一样机器上,调试器运行在PC机(宿主机),而被调试进程则运行在多种专业调试板上(目标板)。

调试器经过某种通信方法(串口、并口、网络、JTAG等)控制被调试进程。

在目标机上通常会含有某种形式调试代理,它负责和调试器共同配合完成对目标机上运行着进程调试。这种调试代理可能是一些支持调试功效硬件设备,也可能是一些专门调试软件(如gdbserver)。

目标机可能是某种形式系统仿真器,经过在宿主机上运行目标机仿真软件,整个调试过程能够在一台计算机上运行。此时物理上即使只有一台计算机,但逻辑上仍然存在着宿主机和目标机区分。下面分别就软件调试桩方法和硬件片上调试两种方法进行具体介绍。

(1)软件方法。

软件调试关键是经过插入调试桩方法来进行。调试桩方法进行调试是经过目标操作系统和调试器内分别加入一些功效模块,二者互通信息来进行调试。该方法经典调试器有gdb调试器。

gdb交叉调试器分为GdbServer和GdbClient,其中GdbServer就作为调试桩在安装在目标板上,GdbClient就是驻于当地gdb调试器。它们调试原理图图4.19所表示。图4.19

gdb远程调试原理图

gdb调试工作步骤。

首先,建立调试器(当地gdb)和目标操作系统通信连接,可经过串口、网卡、并口等多个方法。

然后,在目标机上开启GdbServer进程,并监听对应端口。

在宿主机上运行调试器gdb,这时,gdb就会自动寻求远端通信进程,也就是GdbServer所在进程。

在宿主机上gdb经过GdbServer请求对目标机上程序发出控制命令。这时,GdbServer将请求转化为程序地址空间或目标平台一些寄存器访问,这对于没有虚拟存放器简单嵌入式操作系统而言,是十分轻易。

GdbServer把目标操作系统全部异常处理转向通信模块,并通知宿主机上gdb目前有异常。

宿主机上gdb向用户显示被调试程序产生了哪一类异常。

这么就完成了调试整个过程。这个方案实质是用软件接管目标机全部异常处理及部分中止处理,并在其中插入调试端口通信模块,和主机调试器进行交互。不过它只能在目标机系统初始化完成、调试通信端口初始化完成后才能起作用,所以,通常只能用于调试运行于目标操作系统之上应用程序,而不宜用来调试目标操作系统内核代码及开启代码。而且,它必需改变目标操作系统,所以,也就多了一个不用于正式公布调试版。

(2)硬件调试。

相对于软件调试而言,使用硬件调试器能够取得更强大调试功效和更优异调试性能。硬件调试器基础原理是经过仿真硬件实施过程,让开发者在调试时能够随时了解到系统目前实施情况。现在嵌入式系统开发中最常见到硬件调试器是ROMMonitor、ROMEmulator、In-CircuitEmulator和In-CircuitDebugger。

采取ROMMonitor方法进行交叉调试需要在宿主机上运行调试器,在宿主机上运行ROM监视器(ROMMonitor)和被调试程序,宿主机经过调试器和目标机上ROM监视器遵照远程调试协议建立通信连接。ROM监视器能够是一段运行在目标机ROM上可实施程序,也能够是一个专门硬件调试设备,它负责监控目标机上被调试程序运行情况,能够和宿主机端调试器一同完成对应用程序调试。

在使用这种调试方法时,被调试程序首先经过ROM监视器下载到目标机,然后在ROM监视器监控下完成调试。

优点:ROM监视器功效强大,能够完成设置断点、单步实施、查看寄存器、修改内存空间等各项调试功效。

确定:同软件调试一样,使用ROM监视器目标机和宿主机必需建立通信连接。

其原理图图4.20所表示。图4.20

ROMMonitor调试方法

采取ROMEmulator方法进行交叉调试时需要使用ROM仿真器,而且它通常被插入到目标机上ROM插槽中,专门用于仿真目标机上ROM芯片。

在使用这种调试方法时,被调试程序首先下载到ROM仿真器中,所以等效于下载到目标机ROM芯片上,然后在ROM仿真器中完成对目标程序调试。

优点:避免了每次修改程序后全部必需重新烧写到目标机ROM中。

缺点:ROM仿真器本身比较昂贵,功效相对来讲又比较单一,只适应于一些特定场所。其原理图4.21所表示。图4.21

ROMEmulator调试方法

采取In-CircuitEmulator(ICE)方法进行交叉调试时需要使用在线仿真器,它是现在最为有效嵌入式系统调试手段。它是仿照目标机上CPU而专门设计硬件,能够完全仿真处理器芯片行为。仿真器和目标板能够经过仿真头连接,和宿主机能够经过串口、并口、网线或USB口等连接方法。因为仿真器自成体系,所以调试时既能够连接目标板,也能够不连接目标板。

在线仿真器提供了很丰富调试功效。在使用在线仿真器进行调试过程中,能够按次序单步实施,也能够倒退实施,还能够实时查看全部需要数据,从而给调试过程带来了很多便利。嵌入式系统应用一个显著特点是和现实世界中硬件直接相关,并存在多种异变和事先未知改变,从而给微处理器指令实施带来多种不确定原因,这种不确定性在现在情况下只有经过在线仿真器才有可能发觉。

优点:功效强大,软硬件全部可做到完全实时在线调试。

缺点:价格昂贵。

其原理图4.22所表示。图4.22

ICE调试方法

采取In-CircuitDebugger(ICD)方法进行交叉调试时需要使用在线调试器。因为ICE价格很昂贵,而且每种CPU全部需要一个和之对应ICE,使得开发成本很高。一个比很好处理措施是让CPU直接在其内部实现调试功效,并经过在开发板上引出调试端口发送调试命令和接收调试信息,完成调试过程。如使用很广泛ARM处理器JTAG端口技术就是由此而诞生。

JTAG是1985年指定检测PCB和IC芯片一个标准。1990年被修改成为IEEE一个标准,即IEEE1149.1。JTAG标准所采取关键技术为边界扫描技术,它基础思想就是在靠近芯片输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元全部分布在芯片边界上(周围),所以被称为边界扫描寄存器(Boundary-ScanRegisterCell)。

当芯片处于调试状态时候,这些边界扫描寄存器能够将芯片和外围输入输出隔离开来。经过这些边界扫描寄存器单元,能够实现对芯片输入输出信号观察和控制。对于芯片输入管脚,可经过和之相连边界扫描寄存器单元把信号(数据)加载到该管脚中去;对于芯片输出管脚,能够经过和之相连边界扫描寄存器单元“捕捉”(CAPTURE)该管脚输出信号。这么,边界扫描寄存器提供了一个便捷方法用于观察和控制所需要调试芯片。

现在较为高级微处理器全部带有JTAG接口,包含ARM7、ARM9、StrongARM、DSP等,经过JTAG接口能够方便地对目标系统进行测试,同时,还能够实现Flash编程,这是很受欢迎。

优点:连接简单,成本低。

缺点:特征受制于芯片厂商。

其原理图4.23所表示。图4.23

JTAG调试方法开发步骤框图:阶段步骤图文档项目立项阶段任命项目经理成立项目团体小组项目提议书可行性分析市场信息反馈任命项目经理成立项目团体小组项目提议书可行性分析市场信息反馈签发项目任务书签发项目任务书可行性分析汇报项目任务书项目总体计划产品定义系统分析各部需求分析需求分析评审产品定义系统分析各部需求分析需求分析评审确定里程碑编制质量控制计划编制项目计划书风险控制计划确定里程碑编制质量控制计划编制项目计划书风险控制计划需求分析汇报需求分析评审汇报产品定义产品技术规范项目开发计划风险控制计划质量控制计划系统分析文档设计阶段系统分析评审硬件设计步骤软件设计步骤结构设计及制作步骤图软件V1.0PCBV1.0T1工艺设计步骤工艺说明T1系统分析评审硬件设计步骤软件设计步骤结构设计及制作步骤图软件V1.0PCBV1.0T1工艺设计步骤工艺说明T1评审,过程文件归档评审,过程文件归档产品技术总体设计方案(包含工艺)系统分析评审汇报软件设计过程文档硬件设计过程文档结构设计过程文档工艺设计过程文档软件V1.0PCBV1.0T1设计文档工艺说明分单元测试汇报设计验证阶段T1整机测试及评定软硬件及工艺调整版本升级FTA准备修模例试汇报及分析装机汇报少许装机装机准备整机测试及评定软硬件及工艺调整版本升级FTA准备修模例试汇报及分析装机汇报少许装机装机准备装机汇报例试分析汇报整机测试评定汇报软件FTA版本硬件FTA版本T2FTA修模软硬件及工艺调整版本升级CTA材料下单例试、整机测试及评定试产准备小批量试产FTA修模软硬件及工艺调整版本升级CTA材料下单例试、整机测试及评定试产准备小批量试产FTAT2设计文档试产汇报例试分析汇报整机测试评定汇报软件CTA版本硬件CTA版本T3CTA软硬件结构及工艺调整版本升级量产版本确定例试、整机测试评定试产准备CTA准备第二次试产CTA软硬件结构及工艺调整版本升级量产版本确定例试、整机测试评定试产准备CTA准备第二次试产CTAT3设计文档试产汇报例试分析汇报整机测试评定汇报量产准备阶段生产工艺准备全套文件归档手工下单封样生产工艺准备全套文件归档手工下单封样全套DVT汇报工艺文件量产转移量产转移量产转移附录:1、结构设计及制作步骤图2、软件设计步骤图3、硬件设计步骤图附录1.结构设计及制作步骤图:阶段步骤图表单3D模型修改结构3D模型修改制订结构设计进度计划表可行制订结构设计进度计划表评定3D3D模型可行性评定3D模型评定汇报结构设计进度表具体结构设计结构具体结构设计具体设计结构设计进展汇报结构设计进展汇报结构设计修改结构设计内部评审结构设计修改结构设计内部评审结构设计进度表结构设计验证评审相关资料准备相关资料准备结构设计外部评审模具制作检讨workingsample验证制作workingsample结构设计外部评审模具制作检讨workingsample验证制作workingsample签署商务协议开模结构设计修改签署商务协议开模结构设计修改结构设计内部评审统计workingsample配色表workingsample验收汇报结构BOM结构设计外部评审统计模具制作检讨统计表模具制作申请表模含有品清单模具制作注意事项表工装夹具制作清单物料进度按排需求表配色方案表模具制作进度表参考文件:《工业设计步骤》,《ID设计步骤》附录2.软件设计步骤图:阶段步骤图表单软件需求分析软件开发计划和配置管理计划进度计划表软件需求分析(包含技术风险评定)软件开发计划和配置管理计划进度计划表软件需求分析(包含技术风险评定)软件测试计划软件测试计划软件需求规格书软件开发计划软件开发风险控制计划软件测试计划软件具体设计具体软件设计内部设计评审具体软件设计内部设计评审软件具体设计说明书软件接口设计说明书软件设计内部评审统计软件实现测试编码调试编写测试用例单元测试软件集成/调试编码调试编写测试用例单元测试软件集成/调试评审后公布并归档软件修订软件系统测试公布系统测试版本评审后公布并归档软件修订软件系统测试公布系统测试版本单元源代码单元调试汇报单元测试用例单元测试分析汇报集成后软件及源代码软件集成调试汇报软件操作手册系统测试软件系统测试用软件文档软件系统测试分析汇报公布版本参考文件:附录3.硬件设计步骤图:阶段步骤图表单硬件需求评定硬件开发计划和配置管理计划进度计划表硬件需求分析(包含技术风险评定)硬件开发计划和配置管理计划进度计划表硬件需求分析(包含技术风险评定)硬件测试计划硬件测试计划硬件需求分析汇报硬件开发计划硬件测试计划硬件具体设计具体硬件设计具体硬件设计LCD认证步骤关键器件采购PCB毛坯图设计内部设计评审LCD认证步骤关键器件采购PCB毛坯图设计内部设计评审硬件具体设计说明书硬件电路原理图硬件BOM硬件设计内部评审统计硬件实现测试软件投板前审查PCB布板步骤软件投板前审查PCB布板步骤打样、试产硬件调试 打样、试产硬件调试硬件内部评审PCB贴片硬件内部评审PCB贴片整机测试评审后公布并归档硬件修改整机测试评审后公布并归档硬件修改PCB数据器件规格书硬件子系统软件装配图硬件单元测试分析汇报电装总结汇报硬件系统测试版本硬件系统测试分析汇报硬件评审验证汇报公布版本参考文件:PCB布板步骤图LCD认证步骤图PCB布板步骤图:阶段硬件结构其它各部表单布板需求设计硬件电路原理图硬件电路原理图PCB布板设计PCB布板设计结构尺寸要求结构尺寸要求项目需求项目需求/产品定义PCB确定投板前审查PCBGERBER投板前审查PCBGERBERPCB投板PCBPCB投板参考文件:LCD认证步骤图:阶段硬件结构其它各部表单样品提供样品需求SPECLCD供给商数据搜集和选择供给商提供样品样品需求SPECLCD供给商数据搜集和选择供给商提供样品尺寸尺寸各部确定各部确定?供给商供样和供给商沟通SPEC各部提出修改要求电性能SPEC各部确定?供给商供样和供给商沟通SPEC各部提出修改要求电性能SPEC尺寸确定尺寸确定软件确定软件确定装机是否经过?是否经过?否是封样装机验证封样装机验证参考文件:软件开发规范SoftwareDevelopmentSpecificationVersion:V1.0Date:-06-22Preparedby

DocumentRevisionHistory文档修订统计VERSION版本DATE日期DESCRIPTION内容说明INDIVIDUAL修订人1.0-06-22初稿

Introduction介绍一个成熟稳定组织或团体,能够降低风险,常常地成功地达成目标。成功含义是:按时、预算内【即符合成本要求】、符合质量要求。换言之,成熟稳定团体,能够避免以下问题:组织方面出现问题对需求缺乏管理缺乏计划和控制估算错误同时,还要在以下多个方面做得比较出色:人员调度和工作安排工作量估量预算管理责权分配和平衡实施和监控沟通本文档是软件开发规范,努力争取使团体打下一个良好基础,方便逐步成长为成熟稳定团体。团体需要一个逐步标准、规范开发过程,在这个过程中,团体得到锻炼,组员能力得到提升,风险得到控制。关键内容是:定义软件开发步骤;定义软件开发文档格式;定义包含角色;定义包含信息;描述开发步骤;Purpose目标本文档目标是:统一软件开发团体步骤、文档;促进团体组员沟通,降低误解;促进程序员书写易维护代码;提升代码编写效率;使每个组员成为一个高效程序员;

Scope范围本文档,包含:项目管理步骤;项目策划项目追踪配置管理质量确保同行评审包含文档;项目计划mpp需求规格说明书SRSDelphi估算项目状态汇报配置库样式CheckList评审表变更申请表开发工具规范;数据库设计工具功效设计工具IDE配置工具Definitions,Acronyms,andAbbreviations.术语,缩略词SPP 项目策划SoftwareProjectPlanningSPTO 项目追踪SoftwareProjectTracking&OversightSCM 配置管理SoftwareConfigurationManagementSQA 质量确保SoftwareQualityAssurancePR 同行评审PeerReviewBaseLine 基线SCCB 软件配置控制委员会SoftwareConfigurationControlBoardCR 变更请求ChangeRequestSDLC 软件开发生命周期SoftwareDevelopmentLifeCycleRUP 统一开发过程RationalUnifiedProcessXP 极限【灵敏方法】eXtremeProgrammingTDD 测试驱动TestDrivenDevelopmentReferences引用《CMM2》《CMM3》Overview文档组织本文档关键分为四大部分:概述;描述了团体组织开发过程高层视图;TSP和PSP;根据团体和个人描述步骤规范;工具规范;描述了开发工具具体规范;文档;包含文档格式;

TheOverallDescription概述本部分是开发团体开发过程高层描述。它描述了开发过程规范背景,用来和全部包含各方就基础过程达成共识。SoftwareDevelopmentOrganizing开发团体组织结构说明:表示企业行政部门表示企业逻辑部门实线表示参与产品实现组织和人员(不表示所属关系)虚线表示工作汇报关系,如SQAE向SQA经理汇报。

ProjectBaseProcess项目基础步骤识别需求识别需求提出处理方案实施项目结束项目投入力量可行性分析汇报需求提议书协议项目目标项目定义制订计划计划实施项目终止时间基础步骤说明:项目开启:本阶段关键是进行可行性分析,定义项目,识别需求;制订计划:本阶段关键是计划策划,估算工作量,制订具体可实施计划;计划实施:本阶段关键是实施计划,完成计划中各项任务,汇报计划状态;项目终止:计划实施完成,总结项目;CMMBaseProcessCMM基础过程SCMSCMSQAWorkAreaBaseLineSPPSPTOPRChange&PR基础过程说明:SCM:软件配置管理,全部活动基础,一切制品必需放入配置库;SPP:软件项目策划,估算工作量,制订具体计划【项目标制订计划阶段】;SPTO:项目追踪,汇报项目状态,评定并更新计划【项目标计划实施阶段】;PR:同行评审,进入基线前提条件,降低风险,提升质量有效手段;SQA:质量确保,预防风险有效手段;SCM软件配置管理配置管理关键处理:版本变更确定配置项和基线确定配置项和基线确定统计和汇报配置项状态策略定义配置项定义访问权限访问权限确定配置管理工具确定SCCB组员确定配置库及其目录结构项目开启确定配置管理人员Vss、SVN或VSTS通常由:项目经理、技术经理、用户经理、质量确保人员、配置管理等项目标关键组员人员组成。在配置项(基线)生成和基线变更时配置库结构权限表基线表确定基线变更过程定义备份和病毒策略定义备份和病毒策略按计划实施配置管理活动SCM计划制订和评审统计和汇报基线状态在配置项(基线)生成和基线变更时最少在项目标每个里程碑结束时进行备份1建立配置库2对项目组指导和培训3对配置项日常管理4参与评审会议5定时备份和病毒防护6实施公布7进行归档8配置管理计划维护配置管理情况总结计划完成总结配置项是否完整、基线改变情况统计、审核发觉问题情况统计、改善提议等,记入项目总结汇报定义测试和公布归档方法SCM计划配置审核状态汇报审核汇报SPP计划策划计划策划关键是工作量估算

从历史库中识别可用信息从历史库中识别可用信息项目开启从企业数据中识别项目相同信息,如项目标总结汇报和其它数据或文挡项目需求、协议和《软件项目任务书》等相关要求选择项目生命周期识别项目标特点了解各个生命周期特点确定适合项目生命周期模型从对用户需求了解是否充足;人员介入项目标方法;产品交付方法;项目规模大小和风险高低;对项目系统架构了解是否充足等方面考虑RUPXPRUPXP依据定义过程,识别必需完成任务和工作产品分解时考虑活动事项要详尽,不要遗漏:教育或培训需要;参与评审文档;参与项目会议;确定、统计和显示多种和质量相关和和过程相关数据;传输时间文档制品如:计划、SRS等规模估算制订工作产品评审计划估算表估算结果评审计划

识别项目需要使用工具和设施识别项目需要使用工具和设施风险评定识别和其它组之间关系确定项目标跟踪情况确定项目标组织结构和职责识别项目需要进行培训制订时间进度表在已知停工和节假日时间不安排工作;不考虑加班时间;考虑测试及评审中发觉问题返工需要时间;考虑用户需求稳定情况;考虑各项活动交接和信息传输时间;识别出风险对活动影响;在安排工作时应考虑整个项目标效率原因,在正常估算工期内增加20~40%余量,分配到项目标全部活动中――尤其是关键路径中活动中工具指南风险表协同工作计划项目跟踪计划组织和角色定义培训计划时间进度表

编写项目开发计划书及其相关计划书编写项目开发计划书及其相关计划书计划评审计划管理和控制SQA计划SCM计划SDP计划Test计划风险计划SPTO项目追踪软件项目开发计划软件项目开发计划日常进度跟踪定时汇报项目状态周例会里程碑总结需要调整计划修改和评审计划纠正和预防当出现:规模、工作量、进度和关键计算机资源超出要求阈值;项目总原始计划不再可能达成;计划和实际任务安排显著不相符,起不到指导作用;对用户承诺不能实现时并满足下列条件时:造成计划改变原因是知道,并清楚计划怎么样改变;提议项目进度计划变动是可达成;提议项目进度计划已经得到了必需完成她人员许诺在周例会上向项目组组员传达用户方面信息、交流项目近期进展情况、未完成工作、工作中存在问题、好经验和布署下两周工作,以使得计划和实际开发工作相符合总结到现在为止项目开发总体情况、项目活动进展情况(通常经过甘特图来表现)、活动项进展(应尤其关注未完成活动项)、本阶段好经验和经典问题、过程改善提议、用户方面新要求,项目评审、培训实施情况、项目风险等其它方面存在问题,分析在进度、工作量和缺点等方面搜集数据并依据情况制订对应方法和调整时间进度表,保持项目正常、健康开发个人工作周报时间进度表数据搜集其它组跟踪周汇报分析和估计里程碑汇报项目总结项目总结汇报PR同行评审评审准备评审准备制订此次评审计划评审跟踪正式评审评审人员进行预审,在指定时间内给出预审意见,反馈给评审组长和作者。评审组长将缺点(或问题)及工作量汇总填入《评审汇报》。要评审文档已经完成且文档符合标准模板要求,项目经理指定评审组长,发放工作产品及参考资料,必需时确定评审关键(参见评审指南)工作产品评审计划将汇报抄送相关人员项目经理组织处理发觉缺点(或问题)作者依据评审结果进行必需改善验证人验证最终修正评审经过产品作为基线要得到SCCB同意评审通知表个人评审表评审汇报SQA质量确保软件项目开启软件项目开启指定SQAE制订质量确保计划并评审经过进行审核发觉不符合项计划完成?NoYes制订质量审核计划具体审核时间安排最少在正式审核前2天发给项目经理或技术经理、SQA经理审核、得到项目或技术经理认可问询相关人员,对项目组过程实施情况进行审核检验文档和其它一切相关证据,验证项目组活动总结审核情况将汇报初稿和项目经理及相关人员进行讨论,落实问题责任人;形成正式汇报后发送给高级管理者、SQA经理、项目经理、项目组员等相关人员项目质量确保情况总结SQA计划SQA审核计划CheckListSQA审核汇报SQA差异汇报SDLC生命周期选择目前比较成熟稳定SDLC是:WaterFallRUPXP其中:RUP和XP是迭代式开发过程,风险是可控。RUP优点是过程清楚、文档齐全,不过过于庞杂,比较适合大规模团体;XP优点是过程简练、推崇简单,不过不重视文档,难于交接,适合小规模团体。对于中等规模团体来说,应该基于RUP和XP,进行裁剪,找到适合SDLC:SDLC关键是:迭代式和TDD从全局看:Use-CaseDriven用例驱动基于Architecture迭代和递增从微观看:TDD测试驱动ReFactor重构Pair结对编程

DevelopmentProcess开发过程需求需求分析概要设计具体设计编码单元测试集成测试集成测试计划系统测试计划系统测试验收测试形成文档公布维护SRSHLDCODEDD策划软件配置管理软件质量管理评审管理DevelopmentPhase开发阶段需求分析阶段需求搜集需求总结总体设计阶段总体架构布署模型概要设计阶段模块划分数据库设计具体设计阶段具体实现编码阶段测试用例Coding单元测试测试阶段测试用例测试修正公布阶段安装测试安装系统维护PhaseProduct阶段制品需求阶段SRS:需求规格说明书总体设计阶段总体设计说明书概要设计阶段HLD:概要设计说明书DB:数据库设计DFD:数据流图UI:用户界面具体设计阶段DD:具体设计说明书编码阶段TestCase:测试用例Coding:源代码UTTestResult:单元测试汇报测试阶段TestTask:测试任务书TestCase:测试用例TestResult:测试汇报TestApprovals:测试总结公布阶段公布申请书

RoleDuty角色职责角色责任研发经理【研发团体】为软件项目提供足够资源.确保SQA小组独立性.处理SQA检验时发觉问题.审批对外承诺。定时审查SCM、SQA、项目计划和跟踪相关活动。要求系统需求;将系统需求分配给硬件、软件和其它成份;要求硬件、软件和其它成份界面;监控设计和开发以确保她们符合其规格说明;代表企业下达任务书。SA团体负责网络工程计划制订及实施;负责对用户技术支持和培训;负责工程服务部内部人员素质和技术培训负责系统集成工程标识、测试、验收及质量确保;负责硬件、网络和系统软件产品最终交付;负责组织自产软件储运、防护、交付和安装;负责工程项目标配置管理QA研究制订测试规范和方案;参与实施测试和质量确保过程;对系统测试中发觉缺点进行验证;负责组织软件项目任务书、开发计划、里程碑等管理评审;负责企业配置管理;项目经理负责软件和硬件整个项目标协调、管理进行需求分析,并进行文档编写组织技术评审等活动组织制订项目开发计划(SDP)、风险管理计划等计划配合和协调SQA和SCM小组活动.管理项目组,实施SQA方针和过程和SDP.监督和跟踪SDP、项目估算SA负责硬件工程实施;负责系统上线;负责系统维护;SCCB授权建立软件基线和标识配置项/单元;审查和审定对软件基线更改;审定由软件基线库制造产品生成。SCM帮助软件项目经理制订SCM计划、维护SCM计划;制订并维护项目标识规范;按时归档配置项;标识并管理置于配置管理过程之下软件工作产品集合;进行软件项目标软件基线生成、管理和备份;软件配置状态统计和审计,并向项目组、软件项目经理、高级管理者汇报相关活动情况;将基线变更情况通知受影响组和个人;保留并管理各项评审统计、和项目相关技术文档、标准和规程。SQC依据测试计划模板制订测试计划.实施测试计划进行测试并统计测试发觉缺点提供测试汇报.SQA关键是策划软件质量确保活动、检验软件产品或活动对可用标准、需求和规则遵守程度、组织处理项目内部不能处理不一致问题;定时汇报检验情况,发觉偏差组织制订纠正、预防方法并监督更正;参与制订SQA计划,实施SQA活动,并向SQA经理、软件项目经理项目组、高级管理者汇报相关情况。DBA负责DB创建和维护;为DE提供一个稳定环境;DE按软件开发计划进行开发,并统计相关数据;遵守企业质量管理体系要求.Deployer依据公布申请,提替换码,公布系统和SA、DBA一起配置环境重构和重建系统Constraints限制

SpecificRequirements具体描述本部分根据角色划分具体描述开发过程。Precondition前提SCM配置库目录结构开发库:开发工作区文档和代码项目文档项目开启项目策划项目计划项目汇报开发文档需求设计测试代码代码目录参考资料用户资料等等基线库:评审经过后文档《文档同开发库》测试库:测试代码和测试公布包文档计划用例测试汇报代码版本1版本2参考资料产品库:测试经过后文档和代码项目交付制品项目总结验收汇报。。。项目产品版本1版本2权限测试库:测试人员能够读写其它人员只能读,不能增加、修改和删除基线库:只能增加,不能删除和修改产品库:只能增加,不能删除和修改开发库:TestEnvironment测试环境测试需要一个独立环境DB独立FTP等资源独立Pass9等外部系统独立最好是一个单独局域网环境,完全和开发分开开发是环境测试是环境每次测试,应该是一个完整测试过程安装系统DBWebAppServerClient其它配置系统DB配置AppServer配置系统初始化清除全部历史数据实施初始化脚本,插入初始数据测试系统DevelopmentControlProcess开发控制步骤项目开启和策划阶段本阶段关键是定义项目、估算工作量和制订具体计划。一个软件项目标正式开启从《软件项目任务书》下达开始。任务书中写明项目标基础信息及相关责任人和具体分工,要求项目必需提交产品清单。任务书由研发经理或项目责任人起草,研发经理同意后下达给相关责任人。项目任务书必需为打印纸质文档,由相关人员签字确定后,入配置管理库归档。软件项目任务书关键作用是明确项目人员职责和各组之间协调确定。估算工作量,从确定需求后开始。由项目经理指定评定人员,先根据头脑风暴法估量各个子系统或模块难易程度,然后根据Delphi法估算各个部分工作量。项目经理和PMO组员,依据估算工作量,制订项目计划。SQA和SCM分别制订各自计划。SCM需要确定资源库目录结构和权限结构。项目经理召集PMO、SQA、SCM评审及审核项目计划、SQA计划、SQA审核计划、SCM计划和测试计划。对于公布后通常性程序修改,不需要下达软件项目任务书。对于关系重大,需要各组人员协调工作重大修改,项目责任人能够以任务书形式明确职责、协调关系。测试责任人评定测试资源【人员及机器】,并决定测试人员是否介入项目标需求分析和设计阶段。需求分析、设计、编码阶段本阶段关键是评审和修订控制,关键评审需要需求、设计、编码、测试、项目管理、用户等参与。需求阶段,需求分析人员搜集需求,依据SRS模版,作出需求规格说明书。设计阶段,设计人员依据总体设计、概要设计、数据库设计和具体设计,作出设计文档。编码阶段,编码人员依据具体设计,设计单元测试用例,编写代码,进行单元测试。关键评审:SRS评审,设计评审,代码走查提交测试阶段项目开启后,项目经理填写测试任务通知单,将测试任务下达给测试组。概要设计评审完成后,由各子系统或模块责任人测算完成时间,在确定完成时间后(正式开始编码前)将测试任务通知单提交给项目测试责任人,项目测试责任人审核经过在通知单上签字后返回给子项目责任人。开发及单元测试完成后,由开发人员将测试内容提交配置管理员入测试库后,将测试任务通知单提交给公布人员申请测试公布。公布人员将测试库中此次测试内容公布到测试机后,在测试任务通知单上签字后,提交给测试人员开始测试。测试完成后,测试人员在任务单上填写测试意见后,交测试责任人确定后,返还给开发人员。如测试没有经过,开发人员修改测试内容,进入下一个测试步骤。如经过测试,开发人员将测试任务通知单提交给项目责任人,由项目责任人、SCCB签字确定后,提交配置管理员将测试内容入基线库。过程关键:公布实施人员确保公布到测试机上源程序在配置管理库中得到了有效标识。生产公布、终测程序经过测试入库以后,依据需要,由项目标责任人负责填写公布申请单。公布申请单由项目测试责任人、配置管理员、SCCB、用户代表、研发经理签字确定后,由项目责任人提交给实施公布人员。公布人员拿到签完字公布申请后,才能从基线库中提取程序向生产机上公布。如以上公布确定人员没有全部签字同意公布,必需由项目经理签字同意后公布。程序公布到生产机上以后,进入终测【UAT】步骤。测试人员和用户代表要对生产机上程序进行最终测试,确保生产机上系统符合需求。项目责任人负责同用户协调,项目责任人、测试人员和用户共同编写测试用例。项目责任人将《终测意见书》提交三方签字,依据签字意见决定修订系统或提交正式公布。终测出现问题修改根据基线变更步骤进行。实施人员只有拿到有三方签字《终测意见书》后才能将系统正式公开公布。系统正式公布三天以后一周之内,由实施人员负责到用户处取得有用户关键责任人签字《系统运行汇报》,项目责任人负责监督实施。依据《系统运行汇报》做对应处理。过程关键:公布到生产机上程序全部在基线库中得到了有效标识。公布后问题反馈修改过程系统公布以后,用户反馈意见要形成问题清单或变更申请单,统计需要修改地方,提交给项目责任人。项目责任人负责判定改动是否会影响需求或设计,负责将任务分配给相关人员进行修改。修改完成后,提交测试直至公布。这个阶段最关键是确保所做修改(文档、代码)全部在配置管理库基线库中得到表现。即基线库中文档和代码要进行同时更新,关键是公布人员严格依据公布申请单进行控制,并确保公布代码全部是从基线库中取出。没有经过步骤直接要求公布,公布人员必需给予拒绝。TSP团体软件过程会议组织会议前,确定会议主持人和统计员向参与会议人员发送会议资料参与会议人员阅读会议资料确定会议专题、日期时间和地点注意:留出阅读资料时间确定会议议程准备会议用具【如投影仪等】关键会议,需要签到会议开始前,申明会议纪律讲话时间限制讲话次序除主持人外,不得打断她人统计员统计会议纪要会议后,发送会议总结沟通问题标准目标明确明确反馈反复沟通请求-回复当有疑问时,发出请求明确求援对象,指定第一对象和辅助对象第一对象接收到请求后,不能立即回复应该转发给自己认为适宜回复人,并通知求援人求援方法【高-低】:当面,电话,邮件公

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论