代码改变世界

《需求工程 ——软件建模与分析》读书笔记01

2018-02-08 17:30  默默不语  阅读(256)  评论(0编辑  收藏  举报

《需求工程——软件建模与分析》作为教材,对知识的讲解浅显易懂,很容易入门,在寒假进行研读。这本书是关于软件需求工程的专门论述,从开发者的视角出发,侧重于实践者的技术与开发,本书在开篇主要介绍了需求工程的作用和意义,明确软件需求的来源和方向。

第一章中指出了当前软件开发面临的主要问题就是需求问题。通过Standish Group对于影响项目成功与否的调查数据显示,需求因素对成功项目的影响指数为53.9%,对问题项目的影响指数为55.6%,对失败项目的影响指数为60.9%。由此可见,糟糕的软件生产状况背后隐藏着软件工程的需求问题。

软件生产中产生需求问题的最大原因在于对应用型软件的模拟特性理解的不透彻或应用不坚决,它会导致软件开发者产生轻视需求的态度问题。此外,还有一些技术原因也会导致需求问题的产生。非技术性和社会性因素重视不足、传统需求分析方法的缺陷、软件规模的日益壮大以及软件问题的高代价性等都会导致需求问题的产生。

什么是需求工程?简单来说,需求工程是所有需求处理活动的总和。它收集信息、分析问题、整合观点、记录需求并验证其正确性。最终反映软件被应用后与其环境互动形成的期望效应。在软件开发的各项活动中,需求工程的任务是连接现实世界与计算机世界,将现实世界的知识内容转化为计算机世界的工作基础,让软件设计、实现测试等后续的软件开发活动将精力集中在计算机世界来。而在这种需求下,需求工程师的职业也逐渐发展,

需求工程师需要掌握的重要软技能包括以下几方面:①交流技能②观察技能③抽象分析与问题解决技能④写作技能⑤关系协调和团队工作技能。并且,需求工程是需要创新,其创新表现在两个方面:①软件系统并不仅仅是模拟现实,还要让现实变得更好。②出色的需求工程师往往还会给出具有飞跃意义上的创新。