刘振华 石 忠
中图分类号:TP311.5 文献标识码:A
内容摘要:需求获取和需求建模是软件工程的一个重要阶段,关系到软件系统设计的成败。本文运用UML语言,以商品销售管理系统建模为例,详细描述了系统功能需求分析建模的过程和方法,有效指导了系统的软件实现,解决了信息管理系统开发过程中经常遇到的由于系统分析不到位而造成的功能实现不全面的问题,以期为今后相关系统的建模提供借鉴。
关键词:UML 面向对象 商品销售管理系统 需求分析 需求建模
需求分析是软件生命周期中软件定义时期的最后一个阶段,是软件工程过程中的一个重要环节,需求获取和需求建模是这一阶段的重要任务。全面获取软件需求、准确理解业务逻辑和运用建模工具正确建立软件的逻辑模型是软件开发工作获得成功的前提和关键,直接关系到工程的成败和软件产品的质量。
结构化分析方法和面向对象方法都明确指出正确获取系统需求是最终成功开发软件的前提条件,分析过程都是提取用户需求的过程。UML(Unified Modeling Language)是一种标准的面向对象建模语言,可用于任何具有静态结构和动态行为的系统建模,并且适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。使用UML 进行系统建模,就是使用面向对象的方法来分析系统,然后用可视化的模型将信息用标准的图形直观地显示出来,以此建立面向对象的系统模型。
UML 规定了一整套建模元素和相应的可视化描述,用于描述、说明、可视化地构造软件开发各个阶段的产品。UML提供的类图、用例图、顺序图、包图等,可以从不同侧面、不同层次分别以静态或动态地反映系统。本文以商品销售管理系统为例,阐述了UML在面向对象建模中的实际应用。
基于UML的系统分析过程
开发一个软件系统,需要对该软件系统的功能要求、性能要求、可靠性要求和安全保密要求等进行全面分析,确定相关限制及同其他系统元素间的接口,定义软件的其他有效性需求等。运用统一建模语言UML可以捕捉系统的功能需求,分析、提取所开发系统领域的类以及描述它们之间的合作概况,完成系统的面向对象分析OOA(Object Oriented Analysis),在此基础上,对系统进行面向对象设计OOD (Object Oriented Design),可以大大提高成功开发的几率。
(一)建立用例模型
用例图是首先需要建立的模型,它定义了系统的主要功能和系统边界,完全是从系统的外部观看系统功能,并不描述系统内部对功能的具体实现,是其它视图的核心和基础。通过用例建模,描述对系统感兴趣的外部角色及其对系统的功能需求。在用例图中,角色代表触发系统功能的用户或其它系统,用例代表具体的功能描述。
1.确定系统角色。使用用例来分析系统,首先需要确定系统的参与者,即角色。角色是指所有与系统直接交互的人或事物,向系统输入或使用系统的某些功能,但是不属于系统,角色可能是某个系统或一类人等。通过对系统的需求分析,可以确定系统的主要角色有:系统管理员、经理、营业员、库存管理员、采购员、会计等。
2.获取用例。用例描述的是系统的功能实现,它揭示了人们如何使用系统。系统的用例图如图1所示。
3.绘制用例图。
(二)建立静态模型
UML的静态建模机制包括类图、组件图和配置图。其中,类图表达了系统中类与类之间的关系,是UML中最重要、最基本的静态模型,它在系统的整个生命周期内都是有效的。类图是构建其它图的基础,没有类图就没有状态图等其它图,也就无法表示系统其它方面的特性。构成类图最主要的元素是类和类之间的关系,包括关联(Association)、泛化(Generalization)、组合(Composition)、聚合(Aggregation)等。进行类图建模时首先要分析与系统功能相关的对象,进行类的区分、确定类的属性和方法,然后分析各种类之间的关系,并用建模元素描述出来。在本系统中定义了许多类,如:供货商类、商品目录类、商品库存类、职工类、销售类、缺货类、换货类、维修类、进货类等。图2是库存管理子系统的类图。
(三)建立动态模型
系统的静态模型不能清晰地描述对象的行为和职责,不能全面的反映系统的情况。要描述系统的动态行为,必须建立系统的动态模型。
顺序图表示一组对象之间的动态协作关系,反映对象之间发送消息的时间顺序。下面以系统管理子系统中增加用户这个用例为例,画出顺序图,作为对用例的具体描述。增加用户顺序图如图3所示。
结论
需求分析是软件工程的一个重要环节,需求获取和需求建模是这一阶段的重要任务。全面获取软件需求、准确理解业务逻辑和运用建模工具正确建立软件的逻辑模型是软件开发工作获得成功的前提和关键,直接关系到工程的成败和软件产品的质量。应用UML对商品销售管理系统进行需求建模,有利于开发人员之间在各个开发环节间确立沟通的标准,既可以加快设计者对于问题的理解,又能够在系统描述方面减少语义差异,保证需求分析的正确性,提高了系统的可靠性、稳定性、可维护性、可扩展性和软件开发成功的可能性。以开发更多的信息管理系统,早日实现信息管理的现代化、规范化和科学化。
参考文献:
1.徐东升,袁飞云,陈军.基于P2P网络的农业信息管理系统.农机化研究,2006(10)
2.贾晓辉,韩恺,乐嘉锦.基于UML的系统需求分析.计算机应用与软件,2007
3.陆惠恩编著.软件工程.人民邮电出版社,2007
4.张海藩.软件工程导论.清华大学出版社,2002