这个月开始对《需求分析与系统设计》的阅读,在读这本书之前我先看了看网上对这本书的书评,了解到这本书论述了需求分析和系统设计的迭代增量式过程,并讨论了软件生命周期的其他阶段(包括实现、测试和变化管理)。本书提出了运用UML(统一建模语言)进行信息系统分析和设计的方法,以克服大型系统模型的复杂性;改进软件体系结构;提高软件可维护性和可扩展性;促进对象的分层结构;处理构件集成;改进对GUI和永久数据库对象建模等方面的方法和策略。这本书的内容丰富,这一段时间主要对这本书前三章进行了阅读。
在这段时间的阅读中得到了很多的知识,第一章讲了软件过程,从总体生描述了软件开发过程中的策略问题,介绍了支撑现代软件开发的过程和方法,认到了软件工程的本质是软件固有的复杂性,一致性,可变性和不可见性的产物。软件工程的偶然因素分为3类,即投入者,过程和建模语言和工具;投入者指那些与软件项目之间存在着利害关系的人,即客户和开发人员;过程确定以促进开发小组内部合作的活动和组织的程序,使得能交给客户一个性能优良的产品,过程模型包括:说明执行活动的程序,说明交付的制品及时间,将活动和制品分配给开发者,提供衡量准则;建模语言和工具是为制品建模和文档化,UML语言是最常用的建模语言。认识到了系统规划的四种方法:SWOT方法,VCM方法,BPR方法和ISA方法,以及认识到了管理上的三个层次,即策略上,战术上和运作上。最后认识了软件生命周期的七个阶段,即需求确定,需求规格说明,体系结构设计,详细设计,实现,集成和维护;项目进行规划分析后就需要解决一些问题,包括项目范围,项目任务,指导和控制项目,质量管理,度量标准和度量,项目安排,资源分配和人员管理,以及知道了软件的开发方法,即结构化方法,面向对象方法。第二章讲了需求确定,需求确定是关于社会、沟通和管理的技能,它是系统开发中需要技术最少的一个阶段,但如果结果将会比不能完成其他阶段来的更糟。认识了需求确定的原则,需求确定是系统开发生命周期的第一个阶段,定义了系统被期望的服务和系统要服从的约束,需要从客户那里获得;知道了需求抽取的方法,即现代和传统的抽取方法;传统的需求抽取方法包括与客户和领域专家面谈,问卷法,观察和文档和软件系统的研究;现代抽取方法包括原型法,联合应用开发,快速应用开发。需求必须被管理,需求可以按父子关系建立层次化结构,需求是变化的,可以被改变,删除或增加,需求的可跟踪性贯穿于整个开发生命周期。采集到的业务需求称为业务需求模型,包括系统范围模型,业务用例模型,业务类模型。需求文档是需求确定阶段的一个实实在在的结果,主要部分被贡献给了系统服务的定义;系统约束描述系统在完成它的服务时怎样被约束。。第三章讲了可视化建模基础,讲解了各种UML视图及不同视图的配合,每种视图都强调所开发系统的某一特定方面。要了解整个系统就要开发表示不同方面的对各uml视图,并将他们集成起来。这章系统了讲了uml的建模过程,详细的介绍了每种uml图的创建和应用。
通过阅读这本书对软件需求分析的理解有了进一步的加深,在软件开发的前期阶段需求分析的重要性不言而喻,这本书给出的需求方法对我很有帮助。