`
lifaming15
  • 浏览: 58795 次
  • 来自: ...
文章分类
社区版块
存档分类

人与软件工程

 
阅读更多
软件开发工程化可以看作是确定一个软件过程,并确保软件过程正确执行的行为。从产品的角度来看,规范软件过程的目的是为了提高产品的质量,降低个体的不确定因素对软件质量的影响。而软件产品不同于传统产品的特点在于,软件开发是一项智力密集、创造性成分较高的劳动,天然存在着开发者个人水平、思维方式与喜好等方面对产品不可避免的影响。因此,任何软件开发标准规范的贯彻执行在实际中都会碰到这样的困难:

* 开发人员对由规范引入的额外负担的抵制
大部分程序员对写需求分析文档、模块规格文档不会有什么兴趣,因此有可能造成敷衍、应付的局面,从而产生大量无用的垃圾文档,反而浪费开发者和管理者的时间;

* 项目中资源的缺乏与执行规范所必须的管理代价之间的矛盾
很多情况下要求完成项目的时间和资金有限,因此开发人员为了完成任务有可能无法保持相关文档的更新,项目管理者迫于按期完工的压力不得不放弃很多QA工作,或者由于资金有限根本无法分配QA力量;

* 执行规范本身引入的个体不确定性因素
QA人员在对项目情况和软件技术没有十分深入了解的情况下,如何断定一份需求规格说明是完整的、无二义性的?如何判断开发人员提交的规格说明是符合要求的?软件过程中的验证与审核手段很多情况下依赖于个人判断,其本身又造成了个体因素对产品质量可能造成的影响,这与传统产品的制造是很不相同的。

* 管理指标量化在软件开发中的困难
对软件过程进行管理的前提是能够看到实施情况与实施目标之间的差异,但对软件开发进行度量并不是一件容易的事情。项目管理者希望能在审核报告中能看到这样的明确说明:“该模块提供的功能与需求规格说明之间存在16~18%的差异,测试用例的覆盖率仅达到82.6%……”但对于发部分人员水平有限的组织来说,这并不是选择一个优秀的过程模型就能办到的。

* ……,等等

因此,在贯彻执行软件过程规范时,如果仅仅依靠文件规定的约束和行政管理手段,可能不会收到好的效果,甚至可能造成生产率的降低,这与引入软件过程规范的初衷是矛盾的。在这些问题中,有一些是软件开发行为自身的深层矛盾,是当前水平无法有效解决的,但也有一些是可以通过努力克服的。在实施软件过程中,应该注意以下两点:

1、坚持管理以人为本的原则
管理本身的目的不是对人进行限制,而是帮助人解决问题。举例来说,开发过程中创建文档的目的是为了加强开发者及用户之间的交流,为了使得产品更加易于理解和开发,而不是为了满足规范规定的文档必须如何齐全本身。如果开发者能够从详尽的需求说明中获取对模块彻底把握的安全感,从测试过程获取对最终产生优质产品的信心,那么他们对这样的规范体系就会很容易接受并自觉执行。确保软件过程的实施,对于开发者而言,应该是起到降低开发难度,减少开发工作量的作用,而不仅仅是有利于项目管理者。


2、适当地以法治手段取代人治手段
相对于依赖人的决策判断来实施管理的“人治”来说,“法制”手段就是不需要个体主观判断参与的管理方法。对于软件开发来说,就是建立CASE支持环境,使得软件过程实施的管理自动化、可度量化、可实施化(在下节将另行陈述)。例如,如果CASE系统发现本周用户对某些功能需求规范的更改频度超过60%,而其中80%属于某一个特定用例,那么CASE系统将判定此用例的定义与用户实际需求有较大偏差,并通过email提醒相关需求工程师。
分享到:
评论

相关推荐

    软件工程与实践

    软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如...

    软件工程专业职业生涯人物访谈.pdf

    软件工程专业职业生涯人物访谈.pdf

    人机交互的软件工程方法实验报告.doc

    人机交互的软件工程方法实验报告.doc

    软件工程课后答案软件工程软件工程

    软件工程课后答案。软降工程课后答案。软件工程课后答案

    软件工程原理方法与应用

    软件工程是指导计算机软件开发与维护的工程学科,它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以便经济地开发出高质量的...

    软件工程人员必看人月神话

    软件人员必看软件工程人员必看人月神话软件工程人员必看人月神话软件工程人员必看人月神话

    [软件工程]软件工程思想.chm

    《软件工程思想》讲述“软件开发”和“做程序员”的道理,视野独特,构思新颖,内容风趣,不落窠臼,令人耳目一新。堪称难得,以至回味无穷。 作者从事了八年的软件开发工作,在他的博士学位论文完成之际写下了这本...

    软件工程.rar 软件工程的授课课件

    软件工程.rar 软件工程的授课课件软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。 在现代社会中,...

    软件工程课后习题软件工程课后习题

    软件工程课后习题软件工程课后习题软件工程课后习题软件工程课后习题软件工程课后习题软件工程课后习题软件工程课后习题软件工程课后习题软件工程课后习题

    人机交互—软件工程视角

    交互式系统设计 黄金规则 1. 尽可能保证一致 2. 符合普遍可用性 3. 提供信息丰富的反馈 4. 设计说明对话框以生成结束信息 5. 预防并处理错误 6. 让操作容易撤销 7. 支持内部控制点 8. 减轻短时记忆负担

    软件工程 软件工程电子文档

    软件工程,让你走进软件行业的世界。让你可以充分了解软件工程行业究竟是什么,该怎么去学。 软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它...

    软件工程人月神话

    人月神话,软件工程领域很经典的作品,PDF欢迎下载

    《软件工程——原理、方法与应用》优秀PPT全套课件

    6、软件工程与六类岗位 7、软件的开发方法 8、软件工程的五个面向理论 软件工程 导读: 21世纪,什么技术将影响人类的生活?什么产业将决定国家的实力? 可以毫不夸张地说,信息技术与信息产业是首选的答案之...

    实用软件工程课后解答

    实用软件工程课后答案,考试要求的题目答案。实用软件工程课后答案,考试要求的题目答案。

    软件工程实用教程(2版)-第2、3、4、5章-习题与参考答案(人民邮电大学出版社郭宁主编).doc

    软件工程实用教程(2版)-第2、3、4、5章-习题与参考答案(人民邮电大学出版社郭宁主编).doc

    北大软件工程课件

    软件工程专业课资料 PPT 非常详细 软件工程专业是一门研究用工程化方法构建和维护有效的、实用的 软件工程知识体系全景图 软件工程知识体系全景图 [1] 和高质量的软件的学科。它涉及到程序设计语言,数据库,软件...

    软件工程概论的练习题及答案完整版

    软件工程概论的练习题及答案完整版,中文,适合软件测试领域以及软件工程领域。

    软件工程思想 林锐

    《软件工程思想》讲述“软件开发”和“做程序员”的道理,视野独特,构思新颖,内容风趣,不落窠臼,令人耳目一新。堪称难得,以至回味无穷。 作者从事了八年的软件开发工作,在他的博士学位论文完成之际写下了这本...

    软件工程 第三版 答案

    软件工程 第三版 答案 人民邮电出版社 张海藩版

    人月神话 软件工程界的圣经

    人月神话 软件工程界的圣经 推荐看看 共同进步

Global site tag (gtag.js) - Google Analytics