软件项目管理的质量保证

软件工程项目管理是一个系统工程,软件工程项目管理的主要目标是保证项目在规定时间内高质量地完成。项目管理包括了项目组开发各阶段的人员结构的配置,质量控制的实施方略,内部文档和产品文档的组织编写等多项工作,其中质量控制方法具有软件开发的特点。

  项目开发根据进度分为需求、设计、开发、测试等各个阶段,质量保证工作始终贯穿各阶段,同时又必须根据每个阶段特点采取相应的措施。

  需求分析

  需求分析是开发人员对系统需要做什么和如何做的定义过程。从系统分析的经验来看,这个过程往往是个循序渐进的过程,一次性对系统形成完整的认识是困难的。只有不断地和客户领域专家进行交流确认,方能逐步明了用户的需求。从系统开发的过程得知,系统分析时犯下的错误,会在接下来的阶段被成倍的放大,越是在开发的后期,纠正分析时犯下的错误所花费的代价越是昂贵,也越发影响系统的工期和系统的质量。。

  在具体项目中,一般的做法有两种:一是请领域专家参与到系统开发的早期阶段;二是开发系统原型,原型包括功能性的原型和用户界面性的原型,也可以是二者混合的原型,用这些原型确认用户的需求。让领域专家参与开发的早期阶段,是保证分析人员有充足的时间和领域专家进行充分的交流和确认。在这个阶段,原型可能在提交到用户之前,首先被领域专家确认,这样保证了原型被认可的程度和认可过程耗费的时间尽可能的短,从而在提高效率的同时保证了质量。

  在开发方内部还有三项保证措施:系统分析委员会保证系统分析集思广益;质量监督组对分析工作的监督;技术支持人员参与需求调研。

  分析委员会的意义在于任何分析人员在提交其所分析部分的分析说明书前,必须通过委员会的共同审议,委员会的成员根据各自的分析经验和自身所分析的部分对他人的分析报告提出质疑。如此审议过后保证了各部分间相互关联的部分被明确定义,避免了由于“疏忽”造成系统在后期进行整合时出现较严重的系统鸿沟或系统重叠。

  质量监督组在项目的任何阶段都要提出监督计划。按照监督计划分配相应的资源来保证某阶段的开发质量。分析阶段的监督计划会在分析任务之前被项目经理、项目负责人、系统分析员以及技术支持所了解。为保证分析工作高质量进行,同时分析工作又不被过分打扰,质量监督组则主要针对《系统分析报告》进行复审,并在认为确实有必要的情况下才召开质量复审会议。质量复审会议的主要参与者是项目经理、项目负责人、分析人员和质量监督组组长。会议的主要议题是提出质量质疑,给出改进建议即可。具体是否存在质量问题,是否需要改进,不在会议中进行讨论,以此保证了会议参与的人数较少,会议的时间尽可能的短。

  系统实现

  实现也就是代码的生产过程。生产的类别有类的生产,组件的生产,构件的生产,应用系统的整合,以及各种测试用例的生产。为了能够提高生产的质量,我们将生产的程序人员按职能分成两组,测试用例的生产和测试用例生产,也就是说如果某个程序员生产了某个组件,则其测试用例不能再由该程序员来生产,但他可以生产其他组件的测试用例。这样交叉生产更容易发现组件的存在的问题。测试人员按照测试用例来测试组件的各项指标提出测试报告。

  为了控制系统开发过程中的往复,不至于产生重大过失和往复的泛滥,文档组和质量监督组协同完成软件开发的配置管理。

  软件配置管理的目的在于控制软件开发过程中的“变化”,这种变化可能是外部引起的,如需求的变化。也可能是来自于内部的变化,如早期设计的某个部件不够完备,需要修改等。为了控制这些变化,把变化引起的波动尽可能的控制在有限的范围内。

  配置项是指需要进行控制的任何文档单元,它可能是需求说明报告,也可能是需求说明报告的某个点。在本项目中需要控制的内部配置项包括需求报告,设计报告,组件代码,组件接口文档,构件及相关构件。

  测试

  测试组的工作被分成若干阶段,不同阶段的划分是以保证软件质量的不同指标为目标的。

  测试的软件指标分别包括如下几点:

  软件的正确性:正确性测试主要是测试软件的功能是否被正确的实现。测试的方式主要是按照功能的要求按照给定的输入,看是否有给定的输出,在非标称输入时,输出是否异常等。同时也可以测试软件的功能是否实现或完整实现。

  性能指标:该项目对性能的要求非同一般的软件项目。性能测试往往包含了压力测试、攻击性测试等测试,软件所能承受的极限是多少,一般来将软件的极限应当高出用户要求的性能,各种指标也应当为用户所了解。

  易用性:软件的使用界面在设计实现的时候应当设法使之与功能的实现相脱离。脱离的原因在于易用性是通过友好的界面实现的。然而让开发人员以使用者的角度来确定软件是否易用是件非常困难的事情,在确定使用界面时往往需要多次的反复修改,甚至只能在软件的最后交付之前或用户使用一段时间之后才被提出来。

  鉴于这种特点,软件在开发的不同阶段都作了相应的保证措施,比如在软件需求界定的时候请领域专家参与,在软件设计阶段,让功能的实现尽可能地包含在软件的组件之中,也就是没有界面要求的底层实现。界面的实现仅仅依赖于一个数据接口,界面仅仅负责将用户输入的数据送到指定的数据块中,用于显示的数据也在指定的数据块中提取,只要保证数据块被互斥的访问就可以了。有了这样的设计结构,软件的易用性也就相当容易保证了。当测试中发现易用性的问题时,软件不会伤到筋骨,皮毛的修改总是非常容易的。

  只有在项目每个阶段不断实施质量管理措施,才能尽早发现问题,确保项目成功。

转载于:https://www.cnblogs.com/dynasty/archive/2005/10/20/258712.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476959.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8 月份 Github 上最火的10篇 AI 论文!

文 | 天于刀刀不晓得各位同学在看论文的时候最关注的是什么?也许是论文的创新点,或是被引用的数量,还是...是不是自带代码!重要的事说三遍!复现,复现,还是复现!(ーー゛)为了方便各位…

LintCode 1859. 最小振幅(排序)

1. 题目 给定一个由 N 个整数组成的数组 A,一次移动,我们可以选择此数组中的任何元素并将其替换为任何值。 数组的振幅是数组A中的最大值和最小值之间的差。 返回通过执行最多三次替换之后数组A的最小振幅 示例 1 输入: A [-9, 8, -1] 输出: 0 解释&a…

小程序 webview 分享_新的一周,分享15个好玩的小程序

文/阿C 一周进步签约作者自小程序推出以来,由于其相对比APP而言,具有方便、轻巧、即用即走、不占内存的特性,受到广大追求效率(内存不足)星人的喜爱。不过随着小程序的发展,市面上的小程序开始有些滥竽充数、页面难看同时又极为无…

我的Blog不值钱

My blog is worth $0.00. How much is your blog worth? 呵呵,大家可以看看自己得Blogs值多少钱。转载于:https://www.cnblogs.com/Duiker/archive/2005/11/02/267011.html

中科大博士:我眼中的NLP最快学习路径

有人这样分类目前的人工智能:感知智能、运动智能、认知智能。在这三类智能里面,最复杂的也是人类所特有的认知智能,离不开自然语言处理技术的支持。虽然说自然语言的研究历史虽然还不是很长,但近些年在NLP知名核心企业&#xff08…

软件开发 thoughtworks 技术面_【软件开发】10月29日比赛详细预告

第三回软件开发专业比赛内容 软件需求分析与设计:需求识别、需求挖掘、评估、管理方法论以及业务、流程、场景的分析与建模等知识软件设计与开发;软件设计与开发:编程语言基础基础、数据库技术基础知识、程序开发技术、软件开发流程和工具使…

程序员面试金典 - 面试题 04.10. 检查子树(双重递归)

1. 题目 检查子树。你有两棵非常大的二叉树:T1,有几万个节点;T2,有几万个节点。 设计一个算法,判断 T2 是否为 T1 的子树。 如果 T1 有这么一个节点 n,其子树与 T2 一模一样,则 T2 为 T1 的子…

终于……我的游戏………简体版就要发布了!

喜讯!喜讯!!由软星科技(上海)有限公司研发、北京寰宇之星软件有限公司代理的《阿猫阿狗2》在广大玩家的引颈期盼中,即将在本月上市了! 美丽的田园生活温馨而宁静,淳朴的民风民情是每…

改了!教育部核准这所985高校更改简称!网友:华科大终于来了

源 | 募格学术到底叫“华中大”还是“华科大”?这个曾经无数次成为舆论焦点的难题终于有解了!8月31日,教育部网站发布《教育部关于同意华中科技大学章程部分条款修改的批复》、《教育部关于同意吉林大学章程部分条款修改的批复》、《教育部关…

deepfashion 深度学习_基于Alluxio加速混合云下的Intel Analytics Zoo开源深度学习平台...

本文描述了Alluxio如何在混合云环境中,加速oneAPI支撑的英特尔Analytics Zoo开源平台深度学习模型训练。本文会讨论有关新架构和工作流的细节,以及Alluxio的性能优势和基准测试结果。1.混合环境中的深度学习从架构演进到混合模式传统上,数据处…

程序员面试金典 - 面试题 04.06. 后继者(循环中序遍历)

1. 题目 设计一个算法,找出二叉搜索树中指定节点的“下一个”节点(也即中序后继)。 如果指定节点没有对应的“下一个”节点,则返回null。 示例 1: 输入: root [2,1,3], p 12/ \ 1 3输出: 2示例 2: 输入: root [5,3,6,2,4,…

使用ASP.net 2.0 的一些新特性

by:(fallseir.lee) 飞扬轻狂 使用masterpage 新建一个site 添加一个新的masterpage&#xff0c;the_one.master 打开 the_one.master 添加 默认title&#xff0c;meta 添加 全局控件 sitemap 添加 ContentPlaceHolder <?xml:namespace prefix o /><% Master Languag…

北大数学系毕业,放弃MIT offer,嫌月薪3万太多主动降薪…

文 | Alex(发自凹非寺)源 | 量子位出家十二载的北大数学天才柳智宇&#xff0c;如今下山还俗了。18岁时&#xff0c;他获得国际数学奥林匹克竞赛满分金牌&#xff0c;顺理成章地被保送到中国“第一学府第一系”&#xff1a;北京大学数学系。22岁&#xff0c;在获得MIT全额奖学金…

LeetCode 第 22 场双周赛(220/2041,前10.8%)

文章目录1. 比赛结果2. 题目LeetCode 5348. 两个数组间的距离值 easyLeetCode 5349. 安排电影院座位 mediumLeetCode 5350. 将整数按权重排序 mediumLeetCode 5351. 3n 块披萨 hard1. 比赛结果 做出来了前3题&#xff0c;第4题有点难&#xff0c;感觉是动态规划。 全国排名&a…

使用设备mac好还是随机mac好_省4000我给MBP16搭配了一块2T SSD:希捷 酷鱼飞翼 Fast SSD使用测评...

最近入手了MBP16&#xff0c;配置选择上纠结了一下。整体苹果的电脑后期基本没有什么升级的可能&#xff0c;所以选择了32G和1T的硬盘的配置。本身也想过硬盘是不是升级2T或者更高&#xff0c;但是想想每挑一格就是3000&#xff0c;腰包实在撑不起。我还是配合NAS和SSD级别的移…

修改终端服务器的最大连接数

1&#xff0e;明确终端服务的2种模式 ----Windows 2000终端服务有2种运行模式: 远程管理模式和应用程序服务器模式。远程管理模式允许系统管理员远程管理服务器&#xff0c;而且只允许2个终端会话同时登录终端服务器。应用程序服务器模式允许用户运行一个以上应用程序&#xff…

胡渊鸣:加一行import,让Python代码提速100倍!

文 | 丰色 发自 凹非寺源 | 量子位众所周知&#xff0c;Python的简单和易读性是靠牺牲性能为代价的——尤其是在计算密集的情况下&#xff0c;比如多重for循环。不过现在&#xff0c;大佬胡渊鸣说了&#xff1a;只需import 一个叫做“Taichi”的库&#xff0c;就可以把代码速度…

python3语音识别模块_『开源项目』基于STM32的智能垃圾桶之语音识别

大家好&#xff0c;我是『芯知识学堂』的SingleYork&#xff0c;前面给大家简单介绍了『开源项目』基于STM32的智能垃圾桶之成员简介&#xff0c;相信有很多小伙伴都已经忍不住跃跃欲试了&#xff0c;别着急&#xff0c;从这一篇开始&#xff0c;笔者将会带领大家一步一步来完成…

LeetCode 945. 使数组唯一的最小增量(贪心)

1. 题目 给定整数数组 A&#xff0c;每次 move 操作将会选择任意 A[i]&#xff0c;并将其递增 1。 返回使 A 中的每个值都是唯一的最少操作次数。 示例 1: 输入&#xff1a;[1,2,2] 输出&#xff1a;1 解释&#xff1a;经过一次 move 操作&#xff0c;数组将变为 [1, 2, 3]。…

突然发现被点名(理想恋人游戏)

被debbie点名了.从debbie那里也看到了一个理想好男人应该具有的特点,努力!不过一下子想不出来八个条件,想想再写.(注: 理想恋人游戏规则:被点到名的人&#xff0c;回答八个你理想恋人的条件。必须点名八个人一起与你玩游戏。如果被点名者&#xff0c;已完成这游戏&#xff0c;…