个体软件过程的改进

软件过程改进 PSP部分学习笔记 开始决定写博客之后,把这里当成新的知识库好了,过段时间把之前存下来的笔记搬上来。反正下雨天打孩子,闲着也是闲着。软件过程改进(Software Process Improvement,SPI)帮助软件企业对其软件过程改进进行计划、措施制定以及实施。实施对象就是软件企业的软件过程,也就是软件产品的生产过程。个体软件过程(Personal Software Process,PSP)一种可用于控制、管理... 阅读详情
  随着软件工程知识的普及,软件工程师都知道,要开发高质量的软件,必须改进软件生产的过程。目前,业界公认由CMU/SEI开发的软件能力成熟度模型SW -CMM是当前最好的软件过程,并且CMM已经成为事实上的软件过程工业标准。但是,CMM虽然提供了一个有力的软件过程改进框架,却只告诉我们"应该做 什么",而没有告诉我们"应该怎样做",并未提供有关实现关键过程域所需要的具体知识和技能。

  为了弥补这 个欠缺,Humphrey又主持开发了个体软件过程(Personal Software Process,PSP)。PSP是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。 PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够说明个体软件过程的原则; 帮助软件工程师作出准确的计划;确定软件工程师为改善产品质量要采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件工程师能力的影响。

   在CMM1.1版本的18个关键过程域中有12个与PSP有关,据统计,软件项目开发成本的70%取决于软件开发人员个人的技能、经验和工作习惯。因 此,一个单位的软件开发人员如能接受PSP培训,对该单位软件能力成熟度的升级是一个有力的保证。CMM侧重于软件企业中有关软件过程的宏观管理,面向软 件开发单位,PSP则侧重于企业中有关软件过程的微观优化,面向软件开发人员。二者互相支持,互相补充,缺一不可。

   按照PSP规程,首先需要明确质量目标,也就是软件将要在功能和性能上满足的要求和用户潜在的需求。接着就是度量产品 质量,有了目标还不行,目标只是一个原则性的东西,还不便于实际操作和判断,因此,必须对目标进行分解和度量,使软件质量能够"测量"。然后就是理解当前 过程,查找问题,并对过程进行调整。最后应用调整后的过程,度量实践结果,将结果与目标做比较,找出差距,分析原因,对软件过程进行持续改进。

  就象CMM为软件企业的能力提供一个阶梯式的进化框架一样,PSP为个体的能力也提供了一个阶梯式的进化框架,以循序渐进的方法介绍过程的概念,每一 级别都包含了更低一级别中的所有元素,并增加了新的元素。这个进化框架是学习PSP过程基本概念的好方法,它赋予软件人员度量和分析工具,使其清楚地认识 到自己的表现和潜力,从而可以提高自己的技能和水平。

  PSP进化框架共有四级。

个体度量过程PSP0和PSP0.1

   PSP0的目的是建立个体过程基线,通过这一步,学会使用PSP的各种表格采集过程的有关数据,此时执行的是该软件开发单位的当前过程,通常包括计划、 开发(包括设计、编码、编译和测试)以及后置处理三个阶段,并要作一些必要的试题,如测定软件开发时间,按照选定的缺陷类型标准、度量引入的缺陷个数和排 除的缺陷个数等,用作为测量在PSP的过程中进步的基准。

  PSP0.1增加了编码标准、程序规模度量和过程改善建议等三个关键过程域,其中过程改善建议表格用于随时记录过程中存在的问题、解决问题的措施以及改进过程的方法,以提高软件开发人员的质量意识和过程意识。

  应该强调指出,在PSP0阶段必须理解和学会使用不合格进行规划和度量的技术。设计一个好的表格并不容易,需要在实践中积累经验,以准确地满足期望的需求,其中最重要的是要保持数据的一致性、有用性和简洁性。

个体规划过程PSP1和PSP1.1

   PSP1的重点是个体计划,引入了基于估计的计划方法PROBE(PROxy Based Estimating),用自己的历史数据来预测新程序的大小和需要的开发时间,并使用线性回归方法计算估计参数,确定置信区间以评价预测的可信程度。 PSP1.1增加了对任务和进度的规划。

  在PSP1阶段应该学会编制项目开发计划,这不仅对承担大型软件的开发十分重要,即使是开发小型软件也必不可少。因为,只有对自己的能力有客观的评价,才能作出更加准确的计划,才能实事求是地接受和完成客户(顾客)委托的任务。

个体质量管理过程PSP2和PSP2.1

   PSP2的重点是个体质量管理,根据程序的缺陷善建立检测表,按照检测表进行设计复查和代码复查(有时也称"代码走查"),以便及早发现缺陷,使修复缺 陷的代价最小。随着个人经验和技术的积累,还应学会怎样改进检测表以适应自己的要求。PSP2.1则论述设计过程和设计模板,介绍设计方法,并提供了设计 模板、但PSP并不强调选用什么设计方法,而强调设计完备性准则和设计验证技术。

   实施PSP的一个重要目标就是学会在开发软件的早期实际地、客观地处理由于人们的疏忽所造成的程序缺陷问题。人们都期盼获得高质量的软件,但是只有高素 质的软件开发人员并遵循合适的软件过程,才能开发出高质量的软件,因此,PSP2引入并着重强调设计复查和代码复查技术,一个合格的软件开发人员必须掌握 这两项基本技术。

个体循环过程PSP3

  PSP3的目标是把个体开发小程序所能达到的生产效率和生产质量,延伸到大型程序;其方法是采用螺旋式上升过程,即迭代增量式开发方法,首先把大型程序分解成小的模块,然后对每个模块按照PSP2.1所描述的过程进行开发,最后把这些模块逐步集成为完整的软件产品。

   应用PSP3开发大型软件系统,必须采用增量式开发方法,并要求每一个增量都具有很高的质量。在这样的前提下,在新一轮开发循环中,可以采用回归测试的 方法,集中力量考察新增加的这个(这些)增量是否符合要求。因此,要求在PSP2中进行严格的设计复查和代码复查,并在PSP2.1中努力遵循设计结束准 则。

  从对个体软件过程框架的概要描述中,可以清楚地看到,如何作好项目规划和如何保证产品质量,是任何软件开发过程中最基本的问题。

   PSP可以帮助软件工程师在个人的基础上运用过程的原则,借助于PSP提供的一些度量和分析工具,了解自己的技能水平,控制和管理自己的工作方式,使自 己日常工作的评估、计划和预测更加准确、更加有效,进而改进个人的工作表现,提高个人的工作质量和产量,积极而有效地参与高级管理人员和过程人员推动的组 织范围的软件工程过程改进。

  PSP软件工程规程为软件工程师提供了发展个人技能的结构化框架和必须掌握的方法。在软件行业,开发人员如果不经过PSP培训,就只能靠在开发中通过实践逐步掌握这些技能和方法,这不仅周期很长,要付出很大的代价,而且有越来越大的风险。 培训的方式有很多,既可以到专门的学校进修,也可以进行自学和参加培训班,例如:CMM网校中就有个体软件过程的课程。

个体软件过程课程学习与实践指南 在当今快节奏的IT行业中,持续改进工作方法和技能对于保持竞争力至关重要。个体软件过程(PSP)是一种帮助软件工程师自我管理、优化个人工作流程和提升产品质量的实用框架。本章将深入探讨PSP的定义、核心目标以及其在日常软件开发中的应用方式。个体软件过程(Personal Software Process)是软件开发人员为了提升个人的工作效能而采取的一系列方法论和实践策略。PSP强调的是自我管理和持续改进,通过个人层面的计划、监督和控制来提升软件开发效率和软件质量。 阅读详情

相关推荐

Blender关于GIS安装及使用天地图

Blender下载安装及GIS插件的安装及使用

Miss_SQ的博客 6969

《软件过程管理》 第七章 软件过程的质量管理

 

学习笔记 2626

手把手教你学Simulink--基于火电发电系统的场景实例:燃煤发电机组的锅炉-汽轮机协调控制仿真

本文介绍了使用Simulink构建燃煤发电机组锅炉-汽轮机协调控制系统的仿真方法。系统包含锅炉子系统、汽轮机子系统和协调控制器三大模块,通过传递函数建模和PID控制策略实现协调控制。详细说明了从模型创建、子系统设置到控制器设计的完整流程,包括燃料供给、汽轮机模型和数据处理等关键环节。最后通过性能评估验证系统响应速度、参数稳定性和效率等指标。该仿真方法为火电系统控制策略设计和优化提供了有效工具。

MHD0815的博客 1153

《软件工程方法与实践》—— 2.3 软件产品与过程

本节书摘来自华章出版社《软件工程方法与实践》一 书中的第2章,第2.3节,作者窦万峰,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 2.3 软件产品与过程 软件过程提高了软件工程活动的稳定性、可控性和有组织性,过程受到严格的约束,保证软件活动有序进行。软件工程师和管理人员根据需要调整开发过程和遵循该过程。从技术的角度来看,软件过程注重软件开发中...

weixin_33985679的博客 287

ROS2零拷贝避坑指南:Fast DDS共享内存配置常见问题与排查方法

本文深入解析ROS2 Humble中Fast DDS的零拷贝机制,提供共享内存配置的常见问题排查方法。从环境变量设置、XML配置文件到运行时诊断工具,全面指导开发者高效实现进程间数据传输优化,避免低效拷贝问题。特别针对/dev/shm无文件生成等典型场景给出解决方案。

weixin_30379531的博客 478

【Unity】Unity性能分析解决方案——UPR

由Unity中国团队提供的一套性能优化解决方案,其是一系列性能工具的集合,并可将收集的数据进行可视化。

Davidorzs的博客 1008

[个体软件过程]之过程改进

第一章 过程改进u      个体软件过程u      过程改进 1.1个体软件过程     一个软件工程师的任务就是在预定的时间和进度下交付高质量的软件产品。对于他们来说最重要的个人资产,就是始终以高质量的产品满足合同要求的能力。个体软件过程(Personal Software Process,PSP)是为帮助软件工程师出色完成任务、提高个人能力而设计的,它讲述如何把先进的详

treewith的专栏 1469

树莓派4B+WebRTC实现远程监控:5步搞定公网视频流传输(含Node.js配置)

本文详细介绍了如何利用树莓派4B和WebRTC技术,通过5个关键步骤搭建低延迟、高隐私的远程监控系统。重点阐述了WebRTC点对点传输相较于传统方案的优势,并提供了包含Node.js信令服务器配置、树莓派视频流捕获与推送、以及移动端自适应观看页面的完整实现方案,帮助用户实现公网视频流传输。

websocket5live的博客 291

个体软件过程学习小结

<br />第一次知道个体软件过程思想是在科技园参加的培训,有进一步了解是在阅读Watts S.Humphrey《个体软件过程》对个人软件过程(Personal Software Process,PSP)的描述。通过这几天的学习,小结如下:<br />第一, PSP个体软件工程。个体软件过程是由美国Carnegie Mellon大学软件工程研究所(CMU/SEI)的Watts s. Humphrey领导开发的,于1995年推出,在软件工程界引起了极大的轰动,可以说是由定向软件工程走向定量软件工程的一个标志。

richnaly的胸怀 2224

智能优化电池:基于单片机的电池管理系统

设计简介: 本设计是基于单片机的电池管理系统,主要实现以下功能: 可通过LCD1602显示温度、电压电流值; 可通过按键调整温度、电压和电流的阈值; 用ADC0832将模拟量转换为数字量。 标签:51单片机、LCD1602、ADC0832 效果图: 总体资料: 原理图: 软件设计流程: 系统框图: 本设计以STC89C52单片机为核心控制器,加上其他的模块一起组成电动汽车的电池管理的整个系统,...

专注单片机实战教学,分享单片机学习资料 375

【DeepSeek-R1 】分词系统架构解析

DeepSeek-R1 分词系统解析 DeepSeek-R1 采用 SentencePiece Unigram 算法,通过统计语言模型实现高效子词分词。其核心优势包括: 算法对比:相比 BPE/WordPiece,Unigram 基于概率模型,支持多语言,自动回退字符级处理。 特性优化:智能空格处理、数字分桶、多语言统一支持,并采用前缀树索引和 SIMD 并行加速,编码速度达 12,458 tok/s。

赶紧的博客 429

[个体软件过程]之过程改进 (转)

[个体软件过程]之过程改进 (转)[@more@]第一章 过程改进 u 个体软件过程XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office...

ciya3282的博客 108

让旧 Append 字段升级为真正的 Key User Custom Field:基于 SCFD_EUI 的无损转换与 UI / API 暴露实战

摘要:SAP S/4HANA私有云和本地部署项目中,常面临将历史遗留的手工追加字段转换为可管理的Custom Field的挑战。SAP提供通过事务码SCFD_EUI将旧字段转换为ABAP Managed Field(AMF)的路径,实现字段名和数据原地保留的同时获得扩展能力。适用场景包括已沉淀多年数据的字段迁移成本高,或对数据元素有特殊约束需求。转换后字段可在Fiori UI、报表、表单等多触点统一管理。但AMF会增加复杂度,建议优先使用标准Custom Field。操作前需确保开发环境和传输配置正确,并遵

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 247

《个体软件过程》—第1章1.7节过程改进的步骤

本节书摘来自异步社区《个体软件过程》一书中的第1章1.7节过程改进的步骤,作者【美】Watts S. Humphrey,更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.7 过程改进的步骤个体软件过程改进工作方式所需要的步骤与我学习射击泥鸽子的步骤一样。它们并不复杂,如图1.1所示。 定义质量目标。很显然,我的目标就是尽我所能射中靶子。百发...

weixin_34007879的博客 93

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

个体过程的改进 (转)

个体过程的改进 (转)[@more@]个体过程的改进 Personal Process Improvement Karl E. WiegersXML:namespace prefix = o ns = "urn:sch...

csd3176的博客 88

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

个体软件工程

 个体软件过程(Personal Software Process,PSP)是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够说明个体软件过程的原则; 帮助软件工程师作出准确的计划;确定软件工程师为改善产品质量要采取的步骤;建

hn2002的专栏 854

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

个体软件过程(PSP)学习笔记 (未完)

个体软件过程 前言 软件工程漫谈 软件工程认识观 标准定义 将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中;以上所述方法的研究 软件开发管理 项目管理是基础,目标是量化管理,个人工作量化是整个项目量化的基础 个人的作用 个人英雄主义式的开发不能成就规模化软件产业,需要的是大兵团规模作战; 软件开发中的问题 难以发挥潜能 硬件的发展一直超过软件,...

Neko 3645

个体过程的改进

个体过程的改进Personal Process Improvement Karl E. Wiegers过程效果www.processimpact.com  (注:本文最初发表在2000年5月的《Software Development》杂志上。这次经《Software Development》杂志允许,修改后再次发表。) 目前,过程改进问题是软件领域最热门的话题

辣个兔子的网络工程梦(dream) 1198

个人软件过程

个人软件过程(Personal Software Process,PSP)是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。PSP与具体 的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够说明个体软件过程的原则; 帮助软件工程师作出准确的计划;确定软件工程师为改善产品质量要采取的步骤

lionzl的专栏 921

PSP个人软件过程

个人软件过程(Personal Software Process,PSP)是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。PSP与具体 的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够说明个体软件过程的原则; 帮助软件工程师作出准确的计划;确定软件工程师为改善产品...

yangzibin的博客 3961

06 PSP成熟度模型【软件过程与管理】

PSP成熟度模型(Personal Software Process) 个体度量过程 PSP3 周期开发 个体计划过程 PSP2 代码评审 设计评审 PSP2.1 设计模板 个体质量管理过程 PSP1 规模估计 测试报告 PSP1.1 计划任务 计划时间表 个体循环过程 PSP0 目前的过程 时间记录 缺陷记录 过程改进建议 PSP0...

在职后端开发工程师的学习笔记 111

个体软件过程(Personal Software Process,PSP (转)

个体软件过程(Personal Software Process,PSP (转)[@more@]个体软件过程(Personal Software Process,PSP ◎个体软件过程 个体软件过程(Personal Soft...

circularr9834的博客 298

psp

个人软件过程(Personal Software Process,PSP)是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。 随着软件工程知识的普及,软件工程师都知道,要开发高质量的软件,必须改进软件生产的过程。目前,业界公认由CMU

专注多媒体技术 1201

个人软件过程(Personal Software Process)

  个人软件过程(Personal Software Process,PSP)是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够说明个体软件过程的原则; 帮助软件工程师作出准确的计划;确定软件工程师为改善产品质量要采取的步骤;...

guanhuaing 442
上一篇: 在Linux下玩QQ游戏
下一篇: FIFO、LRU、OPT的三个简单实现
dingx
博客等级 码龄24年 67粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值