需求分析是发现、求精、建模、规格说明和复审的过程。为了发现用户的真正需求,首先应该从宏观角度调查、分析用户所面临的问题,也就是说,需求分析的第一步是尽可能准确地了解用户当前的情况和需要解决的问题。例如,仅仅知道"用户需要一个计算机辅助设计系统,因为他们的手工设计系统很糟糕"是远远不够的。除非开发人员准确地知道目前使用的手工系统什么地方很糟糕,否则新开发出的计算机辅助设计系统很可能也同样糟糕。类似地,如果一个个人计算机制造商打算开发一个新的操作系统,他首先应该做的工作就是评价目前使用的操作系统并准确地分析它不能令人满意的原因。只有开发人员对用户面临的问题有了清楚的了解之后,才能正确地回答出"什么是新产品必须做到的"这个关键问题。
如果软件是新开发的计算机系统的一个组成部分,则系统工程师所确定的软件职责范围,可以作为软件需求分析的出发点。
分析员对用户提出的初步要求应该反复求精多次细化,才能充分理解用户的需求,得出对目标系统的完整、准确和具体的要求。
为了更好地理解问题,人们常常采用建立模型的方法。所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。在技术层次上,软件工程是从一系列建模活动开始的,这些建模活动导致对要求开发的软件的完整的需求规格说明和全面的设计表示。结构化分析就是一种建立模型的活动,通常建立数据模型、功能模型和行为模型等三种模型。
除了用分析模型表示软件需求之外,还要写出准确的软件需求规格说明。模型既是软件没计的基础,也是编写软件规格说明的基础。
在分析软件需求和编写软件规格说明的过程中,软件开发者和软件用户都起着关键的、必不可少的作用。只有用户才真正知道他们需要什么,用户必须尽量把他们对软件功能和性能的模糊需求准确、具体地描述出来,而开发者则是软件需求的询问者、顾问和实现者。
表面看来,需求分析和规格说明好像是比较简单的工作,实际上完全相反,这是一项相当艰巨复杂的工作。用户与开发者之间需要通信、沟通的内容非常多,在双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。因此,不仅在整个需求分析过程中应该采用行之有效的通信技术,集中精力过细工作,而且对需求分析的结果(分析模型和规格说明)必须严格审查。
尽管目前存在许多不同的结构化分析方法,但是,所有这些分析方法都遵守下述准则
必须理解和表示问题的信息域,根据这条准则应该建立数据模型。
必须定义软件应完成的功能,这条准则要求建立功能模型。
必须表示作为外部事件结果的软件行为,这条准则要求建立行为模型。
必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。
分析过程应该从要素信息移向实现细节。
点击加载更多评论>>