答:其实RUP整个流程都在讲SQA。业界常见的模型,譬如CMM/CMMI,六西格玛,ISO9000,RUP,它们做的基本上是同一件事情--都是在做流程改进,都在做质量控制,但是各自的侧重点不一样。像RUP和SDP专门侧重于从软件开发的整个生命周期来保证软件质量,所以对软件开发商特别适合。而其它的模型,侧重点则在其它的环节,比如说ISO9000,用在制造业比较多一些;CMM,原来是应用在软件这个行业的,后来扩展到CMMI,就扩展到其它行业它也适用。但适用面越广,它拉的层次就越高,可实际操作的东西就越少。RUP是专门侧重于软件项目开发的。怎样来保证做好QA呢?RUP里定义了一个软件生命周期模型,分成四个阶段--初始阶段、细化阶段、构造阶段、交付阶段,每个阶段有不同的侧重点,通过多次的迭代,每次迭代里面都要做质量控制。

  质量控制从需求开始,有很多需求分析和需求管理方面的技巧和技术方法,它们从需求方面来保证软件的质量;到了设计,就有很多成熟的设计方法,例如可视化建模,基于构件的架构设计和现在提出的模型驱动开发方法;再到实现,到测试等方面,都有很多的方法和技巧来提高软件的质量。这里面每一个环节的目的都是为了提高整个软件开发的质量。

  开发过程中,什么样的问题会造成质量问题呢?其实最主要的就是沟通方面的问题,以及对系统复杂度把握程度的问题。我们逐渐发展了一些技术来帮助我们解决这些方面的问题,例如用UML这种标准化的语言来增强团队的沟通,用面向对象的技术来帮助加强对复杂度的控制能力。

  原来这个系统很复杂,使用面向对象的方法,本身就是为了简化系统构建的复杂度。改变你看问题的角度,你对问题的把握程度就会不一样。譬如人看一个二维迷宫很容易就能找到出路,但蚂蚁在里面就走不出来,因为看问题的角度不一样。面向对象方法和可视化建模技术可以让开发人员可以更好地去把握系统,增强对系统的可控制能力,从而从这些维度上来提高和保证软件的质量。

  现在有很多自动化的工具,如IBM Rational RAD (Rational Application Developer) / RSA (Rational Software Architect) ,都是支持MDA的开发方法,在模型这一级进行开发,从模型直接生成代码。在开发方面我们有很多辅助工具,帮助开发人员尽量将人工做的工作、复杂的重复性的工作、不具有创造性的工作让工具来做。让人去关注他应该关注的方面,比如开发人员应该关注业务逻辑的处理,但是软件的构建方面我们是尽量让工具来降低构建细节上的难度。这样也是有助于提高质量的。

  然后产品出来了,需要进行测试,有测试流程、测试规范来帮助保证质量,这是最直接的。然后还有很多的环节还会发生错误,比如配置管理、版本的管理,也需要相关的支持来保证软件的质量。所以说软件质量保证不应该只是在一个环节上,比如测试环节来保证,而应该是整个的流程,我们应该全面地去改进流程来保证质量。

http://www.cnitpm.com/pm/14902.html

MARKY一下。的更多相关文章

  1. HDU 2340 Obfuscation(dp)

    题意:已知原串(长度为1~1000),它由多个单词组成,每个单词除了首尾字母,其余字母为乱序,且句子中无空格.给定n个互不相同的单词(1 <= n <= 10000),问是否能用这n个单词 ...

  2. VIJOS1107 求树的最长链

    vijos1107环游大同80天 学习了一下求树的最长链的方法 最简单的思路就是两次dfs 两次dfs分别有什么用呢? 第一次dfs,求出某个任意的点能到达的最远的点 第二次dfs,从所搜到的最远的点 ...

  3. 深度学习环境配置:Ubuntu16.04安装GTX1080Ti+CUDA9.0+cuDNN7.0完整安装教程(多链接多参考文章)

    本来就对Linux不熟悉,经过几天惨痛的教训,参考了不知道多少篇文章,终于把环境装好了,每篇文章或多或少都有一些用,但没有一篇完整的能解决我安装过程碰到的问题,所以决定还是自己写一篇我安装过程的教程, ...

  4. 深度学习环境配置:Ubuntu16.04下安装GTX1080Ti+CUDA9.0+cuDNN7.0完整安装教程(多链接多参考文章)

    本来就对Linux不熟悉,经过几天惨痛的教训,参考了不知道多少篇文章,终于把环境装好了,每篇文章或多或少都有一些用,但没有一篇完整的能解决我安装过程碰到的问题,所以决定还是自己写一篇我安装过程的教程, ...

  5. 百度地图Api进阶教程-实例高级操作8.html

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  6. .net为图片添加水印(转) jpg png和gif格式

    .net为图片添加水印(转) jpg png和gif格式 .net为图片添加水印(转) jpg png和gif格式,转自csdn的hyde82,现在跟大家一起来分享下: 利 用.net中System. ...

  7. Lonely(非洲NANA作品)

    Lonely(非洲NANA作品) 编辑 Lonely NANA,出生于1968年10月5日的非洲加纳.来自于加纳的NANA出身于一个富有的家庭,但是父亲在他小时候离他们而去,母亲带着年幼的NANA定居 ...

  8. 用仿ActionScript的语法来编写html5——第四篇,继承与简单的rpg

    第四篇,继承与简单的rpg 这次用继承自LSprite的类来实现简单的rpg的demo先看一下最后的代码与as的相似度 var backLayer; //地图 var mapimg; //人物 var ...

  9. 用仿ActionScript的语法来编写html5——第三篇,鼠标事件与游戏人物移动

    第三篇,鼠标事件与游戏人物移动 一,假设假设,所有可添加鼠标事件的对象,都有一个mouseEvent方法,添加的鼠标事件同过这个mouseEvent来调用.这样的话,添加鼠标事件,其实只需要给canv ...

随机推荐

  1. Unity3D学习(八):《Unity Shader入门精要》——透明效果

    前言 在实时渲染中要实现透明效果,通常会在渲染模型时控制它的透明通道. Unity中通常使用两种方法来实现透明 :(1)透明度测试(AlphaTest)(2)透明度混合(AlphaBlend).前者往 ...

  2. Mac命令行

    参考:http://www.cnblogs.com/-ios/p/4949923.html 必读 涵盖范围: 这篇文章对刚接触命令行的新手以及具有命令行使用经验的人都有用处.本文致力于做到覆盖面广(尽 ...

  3. PAT1041: Be Unique

    1041. Be Unique (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Being uniqu ...

  4. 关于Linux虚拟化技术KVM的科普 科普一(先用起来!)

    是骡子是马是拉出来溜溜,通过<KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机>跑一遍,就会对KVM.QEMU-KVM有个大概的认识了. qemu-kvm已经不单独存在,qemu加上 ...

  5. Fedora Linux中解决“xxx不在sudoers文件中”

    问题描述: 在Fedora中执行一些操作时需要使用root权限,当我使用命令: sudo 想在普通用户中临时获得root权限时,却被提示: "xxx 不在 sudoers 文件中.此事将被报 ...

  6. JVM 线上故障排查基本操作

    # 前言 对于后端程序员,特别是 Java 程序员来讲,排查线上问题是不可避免的.各种 CPU 飚高,内存溢出,频繁 GC 等等,这些都是令人头疼的问题.楼主同样也遇到过这些问题,那么,遇到这些问题该 ...

  7. 多线程统计次数问题:即count++

    场景:日志需要统计每天数据上传的次数和上传的数据量. 如果是单线程可以使用简单的int count = 0:count++,但很多情况都是多线程环境所以就不能单纯的使用count++了!!! 多线程环 ...

  8. titanium环境配置

    ###### **工具:** > * [titanium studio](http://www.appcelerator.com/product/) > * [node.js](https ...

  9. 1.用互联网的产品思维打造一本app后端的书

    刚刚接触app后端,是做完adidas中国的官方商城的时候,那时不清楚app后端应该怎么架构,只能摸着石头过河,网络上只有一些零散的资料,遇到问题,只能不断地搜索,思考,务必找到解决问题的方法. 在从 ...

  10. Python+Selenium+PIL+Tesseract真正自动识别验证码进行一键登录

    Python 2.7 IDE Pycharm 5.0.3 Selenium:Selenium的介绍及使用,强烈推荐@ Eastmount的博客 PIL : Pillow-3.3.0-cp27-cp27 ...