面向对象方法在需求分析中的应用
SMTH: longlife
本文旨在抛砖引玉,由于时间有限写的比较粗糙,不足之处请诸位指正。
软件的需求分析的主要目的是,通过与用户广泛的交流得出所要完成的目标系统必须具备那些功能,应该为用户完成些什么工作。即确定"目标系统必须做什么?"。需求分析相当于从用户到软件工程人员之间架设了一道桥梁,软件工程人员通过需求分析得到用户的需求,成为软件编制所实现的目标。
需求分析的好坏直接关系到软件的成功与否,是软件生命周期中的关键一环。
一般来说,用户对计算机技术了解并不多,计算机工程人员又对用户的问题不很了解,这就阻碍了用户与计算机工程人员之间的交流,使计算机工程人员不能很好地理解问题域,用户又对目标系统存在好多不清楚的地方。传统的数据流分析法,功能分析法等对这个问题并不能有效地解决。面向对象的方法的出现,正好为此问题提供了一个较好的解决方案。因为人类自然地趋向于用"对象"的观点或"方法"来认识问题,分析问题以及解决问题,用基于"对象"的概念模型来建立问题域模型自然成为系统分析员与用户交流的有效工具。
用面向对象的方法进行需求分析,其根本要点在于,利用"对象"的概念模型建立一个针对于问题域的模型,用户和软件工程师通过该模型进行交流。通过在这么一个基于"对象"的问题域模型的基础上形成需求规格说明书。
下面对面向对象的方法进行需求分析的要点作一简要的介绍:
一 相关概念
面向对象的方法进行需求分析集中在以下几个概念
上:对象和类、对象之间的动态交互(剧情)。
对象是问题域中的个体,如人、粉笔等;
类是具有相同属性的对象的集合;
剧情指为了完成一项功能(或任务)相关对象的一个有次序的消息传递过程。
二 简要步骤
1、通过查看相关资料并与用户广泛地接触,自己对问题域有一个大致的了解。在这个基础上,将问题域中与系统和问题有关的对象提取出来。这就是标识对象的工作。
2、将第一步中抽象出来的对象(类)的之间的关系考虑清楚;如整体与部分、从属关系等;
3、为"类"提取与系统问题域有关的属性、服务等;
4、由于要完成一项任务,肯定是有不同的对象互相协作完成的。同时一个对象的属性,服务也是在与相关对象的协作中体现出来的。将问题域中所有任务的的对象的协作关系搞清楚,是面向对象需求分析的关键一环。即将问题域中的“剧情”搞清楚,是需求分析的主要工作之一。
以上四步并不是单独的而是互有联系,可以同时进行的。通过,对以上4步工作的反复执行我们就可以建立一个基于对象的问题域的模型。
基于该模型的基础上,可以比较容易地产生一个符合用户需求的用户需求规格说明书成为后续工作的基础。
[返回] |