zoukankan      html  css  js  c++  java
  • 《需求工程》阅读笔记二

      需求工程师是涉众和开发之间的桥梁。如果没有需求工程师的工作,设计师、程序员等开发者就会在深入并准确理解涉众的想法上出现困难,涉众在见到最终的软件之前也无法把握软件是否满足了他们的想法,最终会导致涉众与开发者之间出现大量的沟通不畅与误解,导致项目返工甚至失败。在面向涉众时,需求工程师就是后续软件开发者的代理,负责设计软件方案以满足涉众的各项需求;在面对后续软件开发者时,需求工程师就是涉众的代理,准确地将各项需求告知开发者,所有好的需求工程师更应该扮演好涉众代理的角色,站在涉众的立场想问题,替涉众跟踪和监控软件开发过程,保护涉众利益。除了软件开发技术能力,需求工程师应具备能力有分析技能、获取技能、管理技能、交流技能、验证技能,通常会涉及认知心理学、社会学、语言学、人类学等人文学科知识。要掌握交谈和提问的技巧、倾听的技巧。观察技能、抽象分析与问题解决技能、写作技能、关系协调和团队工作技能。需求工程师同样需要创新,表现在两个方面,软件系统并不仅仅是模拟现实,还要让现实变得更好,出色的需求工程师往往给出具有飞跃意义的创新。需求工程的复杂性使得一个人很难单独完成复杂系统的需求开发工作,所有实践中需求开发往往是团队行为。需求是以用户为中心,是与问题相联系的,需求要被清晰、明确地写在文档上。需求源于问题,要准确理解需求。解决问题、改善现实、满足用户期望的条件与能力就是需求。问题域是需求的背景,要理解需求就必须先理解问题域。比如要理解需求“将利润提高到5%”,就需要弄明白利润由哪些部分组成,各自比例是多少,工作是如何完成的,只有明白问题域的复杂背景信息才能真正理解需求的含义,又被称为问题域特性。解系统的核心是软件解决方案和解决方案在通用计算机上的实现。在需求开发过程中,问题域中的用户提出问题与需求。需求工程师接收用户问题与需求,分析问题域背景,建立软件解决方案,并将解决方案传递给后续软件开发者。软件开发者负责将软件解决方案变为软件实现。在整个工作衔接中,需求是用户与需求工程师的协作基础,解决方案是需求工程师与软件开发者的协作基础。

  • 相关阅读:
    Scilab 的画图函数(2)
    Webapp的display-name问题
    记录:在老XPS1330上安装CentOS7
    包含Blob字段的表无法Export/Import
    记一段脚本的诞生
    一个短小的JS函数,用来得到仅仅包含不重复元素的数组
    然并卵
    Linux下的定时任务Crontab
    两段用来启动/重启Linux下Tomcat的Perl脚本
    JavaScript中给二维数组动态添加元素的质朴方法
  • 原文地址:https://www.cnblogs.com/haheihei/p/13762562.html
Copyright © 2011-2022 走看看