《需求工程——软件建模与分析》阅读笔记03
最近作业比较多,还要忙着学习c#的一些基础知识,而且本来也不喜欢读书于是就给自己了不读的理由。但说好要发表的日期到了,还是无奈的坐下来读书,其实细细想来也许这个真的不比技术没用,无用之用乃为大用,这样想着也就坐下来去看它了。
建模是研究系统的重要手段和前提。凡是用模型描述系统的因果关系或相互关系的过程都属于建模。再展开点讲我对建模的理解应该是用形式化的图形或语言抽象的 描述事物,其中包括了对事物组成结构和相互关系方面的静态描述,也包括了对事物和外部交互机制,事物内部组件运行机制的内在描述。
过程建模是结构化分析方法的典型技术。过程建模就是分析需求获取活动获取的信息,发现系统的功能和其与外界的交互,建立能够实现系统功能的过程分解结构,形成系统的过程模型,并用图形的方式将过程模型描述出来。同时,过程模型也需要定义系统中涉及的数据的结构。过程建模需要的主要技术有:上下文图、数据流图、微规格说明(又成为过程规范)和数据字典。
数据建模。数据建模技术能够弥补过程建模在数据说明方面的缺陷,它描述数据的定义、结构和关系等特性。数据建模建立的模型成为数据模型,是问题域和解系统共享的知识集合,通常能够反映企业业务的核心知识。数据模型说明了问题域和解系统共享的事物、对共享事物的描述和共享事物之间的关系。
面向对象建模(UML)。面向对象建模是面向对象方法学在需求分析中的应用,所以也成为面向对象分析。它采用面向对象学的世界观,将系统看作是一系列对象的集合。每个对象具有独立的职责,完成独立的任务,对象之间通过消息几只相互协作,共同实现系统的目标。
在需求开发结束之后,还需要有一种力量保证后续的系统开发活动依照需求的基线进行展开,从而保障系统的质量(质量就是对需求的依从性)。需求管理就是这样一个管理活动,它在需求开发之后的产品生命周期中保证需求作用的有效发挥。
需求工程的过程管理。需求工程还没有完全建立学科化和系统化的知识体系,能够直接给予明确和定义下来的只是一个高层的过程结构,它只是描述了过程需要完成的工作、工作的划分以及工作的开展的安排。过程的工作细节还是由很多独立的需求工程时间方法联结起来予以实现的。所以建立需求工程过程包括连个步骤:
- 建立过程框架,建立需求工程过程的高层结构,说明过程中应该包括哪些工作不封已经怎样建立他们之间的协作和联系。
- 选择工作组建,为过程框架下的每一个过程工作部分选择实现的实践方法,明确需要的工具支持和资源(成本和人力)支持。
需求过程中的项目管理。软件项目的目的就是保证所有重要的工作都能得到应有的管制,都能顺利有序的完成,以最终产生高质量的软件产品。为此,项目需要建立计划,并追踪、监督和保证计划的正确执行。计划的重要内容包括:项目需要的资源(人力、金钱、工具、时间等)、项目中需要执行的活动(生命周期模型和过程模型)以及项目中需要产生的交付物件(各种必要的中间物件和最终产品)。围绕着项目计划而执行的各种项目活动就是项目管理。