《需求分析与系统设计之读书笔记之一》
《需求分析与系统设计》论述了软件分析与设计的原理、方法和技术,并特别注重设计阶段,以及对软件体系结构的内容进行了很大的扩充,强调对象技术及统一建模语言(UML)在企业信息系统开发中的应用,并讨论了使用Web技术和数据库技术进行开发的方法。我希望在其中自由的遨游,并获取宝贵的知识和技巧。
我从第一章《软件过程》中汲取到了以下宝贵的知识:首先我认到了软件工程的本质是软件固有的复杂性,一致性,可变性和不可见性的产物。软件工程的偶然因素分为3类,即投入者,过程和建模语言和工具;投入者指那些与软件项目之间存在着利害关系的人,即客户和开发人员;过程确定以促进开发小组内部合作的活动和组织的程序,使得能交给客户一个性能优良的产品,过程模型包括:说明执行活动的程序,说明交付的制品及时间,将活动和制品分配给开发者,提供衡量准则;建模语言和工具是为制品建模和文档化,UML语言是最常用的建模语言。其次认识到了系统规划的四种方法:SWOT方法,VCM方法,BPR方法和ISA方法,以及认识到了管理上的三个层次,即策略上,战术上和运作上。最后认识了软件生命周期的七个阶段,即需求确定,需求规格说明,体系结构设计,详细设计,实现,集成和维护;项目进行规划分析后就需要解决一些问题,包括项目范围,项目任务,指导和控制项目,质量管理,度量标准和度量,项目安排,资源分配和人员管理,以及知道了软件的开发方法,即结构化方法,面向对象方法。
接着从第二章《需求分析基础》中获得了以下宝贵的知识:首先对象系统是由协作的实例对象组成,每个对象都有状态,行为和标识,标识对正确理解对象系统是最本质的,它也是那些有很多计算机经验的人难以接受的;其次类是对象创建的模板,它定义了对象能够包含的属性和能够调用的操作;属性可以有原始类型,或者可以指派其它类;指派为其它的类的属性声明了关联,关联包括聚合和泛化,泛化为多态和继承提供了基础。最后认识到了UML建模的工具包即用例建模,活动建模,类建模,交互建模和状态图建模。
从第三章《需求确定》中获得了以下宝贵知识:首先认识了需求确定的原则,需求确定是系统开发生命周期的第一个阶段,定义了系统被期望的服务和系统要服从的约束,需要从客户那里获得;知道了需求抽取的方法,即现代和传统的抽取方法;传统的需求抽取方法包括与客户和领域专家面谈,问卷法,观察和文档和软件系统的研究;现代抽取方法包括原型法,联合应用开发,快速应用开发。需求必须被管理,需求可以按父子关系建立层次化结构,需求是变化的,可以被改变,删除或增加,需求的可跟踪性贯穿于整个开发生命周期。采集到的业务需求称为业务需求模型,包括系统范围模型,业务用例模型,业务类模型。需求文档是需求确定阶段的一个实实在在的结果,主要部分被贡献给了系统服务的定义;系统约束描述系统在完成它的服务时怎样被约束。
从第四章《需求规格模型》中获得了以下宝贵知识:需求规格说明用客户的叙述性需求作为输入,用构造规格说明模型作为输出,这些模型分为3组,即状态模型,行为模型和状态变化模型。对象的状态由它的属性和关联的取值来决定,状态规格说明提供系统的静态视图,通常情况下得首先识别类,方法包括名词短语法,公共类模式方法,用例驱动方法,CRC方法和混合方法;接着是为关联建模,依次是发现关联,说明关联;其次是为聚合和组合关系建模,之后是为泛化关系建模,对象建模,它们的建模方法与关联一样。行为规格说明从操作的角度描述了功能,是对需求分析与系统设计的用例,包括用例建模,活动建模,交互和公共接口建模。然而为状态变化建模即为对象状态建模,是从动态的角度描述功能,状态图用来为状态变化建模。