四、结束语
软件需求分析工作主要解决需求分析的指导原则、方法框架和操作启示。形式化需求分析技术在软件需求分析中的研究与应用,推动了软件需求分析自动化的进程,使软件需求的获取与分析更加严密、精确。
目前,基于结构化的非形式化需求分析方法是一种使用较为广泛的需求分析技术,是一种单纯的自顶向下、逐步求精的功能分解方法,具有较好的分割、抽象能力,为开发人员找到了一种中间语言,软件人员易于掌握。但它难以直接应用领域术语,这无疑为其更广泛的应用设置了障碍。
随着面向对象软件开发技术的成熟与广泛应用,人们自然也研究了面向对象软件的形式化分析。面向对象的需求分析强调系统是对现实的模拟,通过对象、状态、服务及对象之间的交互,来同时刻划软件系统的动态、静态特征。在形式化的需求分析规格说明中,Z语言是一个成功的范例。用Z语言进行描述时,通常把系统看成一个状态机。在这种意义下,即可用Z语言描述面向对象的系统。但Z语言未提供描述面向对象系统的足够机制。因此,人们又在Z语言的基础上进行了改进和扩充,如Object-Z和Z++。此外,人们还开发了基于代数规格描述技术、面向对象分析的形式化描述语言,如OBJ-3和COLD-K等。
尽管人们已经认识到了需求工程在软件产品开发中的重要性,并
逐步认识到需求规格说明是软件开发的基石。但无论从技术、支持环境,还是从分析工具与方法上来看,软件需求分析所获得的支持都非常有限。目前,它面临如下困难:
应用领域与用户问题的多样性,以及需求变更的不可预测性。
用户要求的实效性、多变性、不确定性与模糊性。
用户需求的内在矛盾及其潜在冲突。
自然概念中存在的本质矛盾。
用户需求的获取过程与描述形式的非形式特征,以及规范描述的困难性。
需求分析方法论和分析工具的缺乏,及其应用范围的局限性。
对软件需求分析认识不足、重视不够。
目前,软件需求分析的重要性正日益引起人们的普遍关注和重视,这方面的研究正在大力开展。其中,人工智能中关于知识表示、知识获取与知识处理的研究,似乎对进一步推动需求分析研究带来了希望,我们期盼着它的成功。
文章来源于领测软件测试网 https://www.ltesting.net/