答:其实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. nginx常用配置系列-虚拟主机

    本来准备详尽的出一份nginx配置讲解,但nginx功能配置繁多,平常使用中使用最多的一般有: 1. 虚拟主机配置 2. HTTPS配置 3. 静态资源处理 4. 反向代理 ============= ...

  2. 【转】微信小游戏接入Fundebug监控

    在SegmentFault上看到Fundebug上线小游戏监控,刚好最近开始玩微信小游戏,于是尝试接入试了一下. 接入方法 创建项目的时候选择左下角的微信小游戏图标. 点击继续进入接入插件页面. 第三 ...

  3. 【转】利用 force index优化sql语句性能

    今天写了一个统计sql,在一个近亿条数据的表上执行,200s都查不出结果.SQL如下: select customer,count(1) c from upv_** where created bet ...

  4. opencv利用hough概率变换拟合得到直线后,利用DDA算法得到直线上的像素点坐标

    图片霍夫变换拟合得到直线后,怎样获得直线上的像素点坐标? 这是我今天在图像处理学习中遇到的问题,霍夫变换采用的概率霍夫变换,所以拟合得到的直线信息其实是直线的两个端点的坐标,这样一个比较直接的思路就是 ...

  5. jquery-bootgrid

    http://www.jquery-bootgrid.com/GettingStarted 日志是生产环境非常重要的配置,在迁移老的工程到spring-boot时日志的设置兼容很重要,以下是自己在配置 ...

  6. js实现html截图生成图片

      没有华丽的开场,直入主题,这就是题主随笔风格.随笔既是日常工作积累,也可理解是个工作笔记,方便日后用到之处快速的有方可寻.   先讲一个需求场景: 定制网页截图传给服务器端保存,用户关注公众号后自 ...

  7. 一个js小游戏----总结

    花了大概一天左右的功夫实现了一个js小游戏的基本功能,类似于“雷电”那样的小游戏,实现了随即怪物发生器,碰撞检测,运动等等都实现了,下一个功能是子弹轨迹,还有其他一些扩展功能,没有用库,也没有用web ...

  8. CSDN Android客户端的制作 导航帖

    弄个导航贴,把相关知识来个汇总. CSDN Android的客户端的效果图: 分别通过以下博客进行详细的讲解: 1.Android 使用Fragment,ViewPagerIndicator 制作cs ...

  9. linux下如何配置yum源

    first:挂载本地镜像文件(挂载:意为将某个文件放置在系统的一个目录下) mkdir     /media/cdrom  #新建镜像文件挂载目录 cd         /usr/local/src  ...

  10. Python爬虫进阶六之多进程的用法

    前言 在上一节中介绍了thread多线程库.python中的多线程其实并不是真正的多线程,并不能做到充分利用多核CPU资源. 如果想要充分利用,在python中大部分情况需要使用多进程,那么这个包就叫 ...