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

前一阵子,继续读了《需求工程——软件建模与分析》。之前了解了需求工程的概论和需求的捕获,分别讲了需求捕获中的困难。获取信息的方法和来源;学会分析项目的前景;确定系统边界;涉众分析与硬数据采集;在需求捕获时的方法:面谈,问卷调查,头脑风暴,原型,观察与文档审查;

这次读的主要是介绍需求分析和需求文档化和验证。其中介绍了需求分析技术,需求分析方法等;建模(过程建模,数据建模,面向对象建模);需求规格说明;需求验证。

经过这次读书,我发现需求获取的根本任务是:1、建立分析模型,达成开发者和用户对需求信息的共同理解。2、依据共同的理解,发挥创造性,创建软件系统解决方案。在长期的研究与发展中,产生了很多的需求分析技术,常见的有上下文图,数据流图,实体联系图,功能实体矩阵,过程依赖图,用例图,类图,交互图,活动图,对象约束语言,微规格说明,数据字典,状态图等等。需求分析阶段的任务是确定软件系统功能。软件需求分析是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的、可验证的一个基本依据。软件需求分析是一个项目的开端,也是项目实施最重要的关键点。据有关的机构分析结果表明,我们设计的软件产品存在不完整性、不正确性等问题80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出。因此,一个项目的成功软件需求分析是关键的一步。为了保证项目的正常实施,并且能够顺利的完成,我们必须加强项目管理和重视项目分析工作。我们只有从实际出发,切切实实地把握用户需求,把握用户需求目标,把握用户将来功能界定,保证我们开发工作正确性方向。三种需求分析的方法:结构化分析方法、面向对象的分析方法、面向问题域的分析方法。需求分析活动的一个重要任务是进行需求细化,明确用户需求的隐含信息,展开为明确的对软件系统的行为期望,即系统需求。这些细化后的系统需求从软件和技术的角度,以可度量的方式定义了软件系统的验收标准。对问题域以及需求信息的建模工作能够能够帮助揭示问题世界中的隐含因素,系统模型就是将各种隐含因素加以明确后的抽象知识模型。因此,需求细化是在系统模型的基础之上进行的。一方面,它要明确用户需求的隐含因素,为软件系统的建立和实现提供充分的信息支持;另一方面,它要将从问题域和业务的角度表述的用户需求等价的转化为从软件和技术的角度表述的系统需求,以帮助软件开发者对需求形成恰当和准确的理解。

在需求的文档化和验证方面,我了解了编写需求规格说明文档的原因:一方面,清晰、明确、结构化的文档可以将软件系统的需求信息和解决方案更好的传递给所有的开发者。另一方面,文档可以拓展人们知识记忆能力。需求规格说明文档存在不同的类型,表现在:文档的名称、内容、组织方式、表达方式、用途和作用不同。其中优秀的需求规格说明文档具备的特征:正确性、无歧义、完备性、一致性、根据重要性和稳定性分级、可验证性、可修性、可跟踪。需求文档的规范书写可以让软件在以后的开法中少走弯路,能根据文档开发出客户所提的需求,能让软件的开发更加顺利。在需求分析中文档的编写是其中的重要一步,其重要性在于文档的好坏能直接影响到该项目的开发速度及开发出软件的质量。所以在文档编写时我们一定要规范书写,规范的需求文档能体现一个开发人员的素质,好的开发习惯。而需求验证的活动是为了确定以下几方面的内容: 软件需求规格说明正确描述了预期的系统行为和特征,系统需求或其它来源中得到软件需求,需求是完整的和高质量的,有对需求的看法是一致的,需求为继续进行产品设计、构造和测试提供了足够的基础。正式技术评审的最好类型叫作审查,对需求文档的审查是可利用的最高级软件质量技术。要深入的了解验证和确诊的实质意义,就有必要在整个软件工程的框架下来理解系统验证意义。在需求分析的过程中,需要我们不断地整理、分析,注重每一个细节,确定好系统的边界。

posted @ 2015-11-18 19:05  乱——清——无  阅读(396)  评论(0编辑  收藏  举报