《需求工程——软件建模与分析》读后感之一

  虽然有老师给了好多电子书的书目,可是最后仍是以为先读一读本学期的教材《需求工程——软件建模与分析》。做为教材,浅显易懂,很容易入门。虽然上个学期已经学了一些这方面的知识,可是并非很系统。但愿能够经过这本书整理一下。工具

  由于有了“软件危机”的产生,“软件工程”才被提出。而在“软件工程”中,需求分析又是重中之重,它对项目的成败具备相当重要的做用。和软件需求相关的因素为软件项目带来的风险和问题要远远超过全部的其余因素,糟糕的软件生产情况背后隐藏着软件工程的需求问题。spa

  软件生产中产生需求问题的最大缘由在于对应用型软件的模拟特性理解不透彻或应用不坚定,它会致使软件开发者产生轻视需求的态度问题,但除此以外,还有一些技术缘由也会致使需求问题的产生。通常有非技术性和社会性因素重视不足;传统需求分析方法的缺陷;软件规模的日益扩大;需求问题的高代价性等。设计

  什么是需求工程?需求工程是全部需求处理活动的综合,它收集信息、分析问题、整合挂点、记录需求并验证其正确性,最终反应软件被应用后与其环境互动造成的指望效应。需求工程是为了在软件开发前须要软件工程师们去了解并去设计出一套解决方案。由于软件工程师并非了解全部领域。因此更加须要更用户沟通。需求工程十分重要。虽然人们很早就认识到这一点,可是在时间、人力、物力、财力的投入上却并无那么重要。过后必然会致使需求分析水平低,软件开发质量低,用户抱怨多的问题出现。对象

  然而有时候并不必定是需求分析师的问题,用户有时候并不能明确的描述出本身想要使用什么,而需求分析师又不了解用户所在领域。因此就会出现软件需求出现“不完整、不许确、不清晰、变化不可控”这些现象。因此需求分析师们必须具有如下技能以方便、明确、成功的作出需求分析。开发

  首先须要专业技能,懂得需求工程的相关知识、理解需求工程的相关理论、熟悉需求工程的各项活动、掌握需求工程的各类办法与技术是必须得;其次是要有分析技能,必须能够从大量信息中提取、分析、整合出有用的信息处理,了解用户需求中的冲突与遗漏,分析可行性;接着须要交流技能,这是必须的,要掌握交谈和提问的技巧,不然很难跟不懂软件的客户出现隔阂,隔行如隔山,你们不能各说各的吧;还有观察技能、建模技能、写做技能、创新技能、协调技能等。需求工程师应该具备敏锐的洞察力,能够经过观察用户的工做环境和工做过程,发现经过谈话及其余方法所没法发现的重要信息。同时也应该掌握从传统流程图到结构化的分析模型,直至当今的统一建模语言等多种分析工具。由于须要跟客户、管理人员、开发人员等交涉信息,因此须要写好书面的需求规格说明书。写做技能是必须的。需求工程师须要经过写做清晰的表达出复杂的概念。文档

  提起需求,不一样背景的人会有不一样的见解,IEEE对需求的定义为:用户为了解决问题或达到某些目标所须要的条件;系统或系统部件为了知足合同、标准、规范或其余正式文档所规定的要求而须要具有的条件或能力;对前两条中的一个条件或一种能力的一种文档化表述。原型

  需求中老是遇到一些困难,由于用户和开发人员的背景不一样,立场不一样,因此知识理解困难,心中所想的东西也不同。普通用户缺少概况性和综合性的表述能力,  因此很难理解对方心中所想。用户还老是提出各类需求,执拗的坚持某些特性和功能。用户并不了解软件的设计状况,因此须要这些困难须要需求工程师们一一解决。入门

  需求是获取的主要对象,是系统指望达到的目标。它主要来源于用户、客户、领域专家等相关涉众,在湖区中体现为射中的问题、指望、观点、见解和态度等。常见的获取信息的方法有问卷调查、面谈、文档分析、文档检查、需求剥离等。也有头脑风暴、专题讨论、JADJRP等。软件

  在实践中,经过利用原型,能够有不少好处,好比:及时、有力地影响用户需求的变化;减小返工;帮助控制不完整需求所带来的风险;能够将一个大的难以处理的开发过程细分红一个更小更容易处理的步骤;减小开发成本,提升经济效益;增长开发者之间的交流,帮助肯定技术解决方案的可行性;有效地识别风险和解决风险,帮助进行风险管理;提升用户在软件开发中的参与程度。原型能够帮助需求解决工程师及早解决需求的不求定性。技巧

相关文章
相关标签/搜索