技术开发 频道

UML及其在网上客户服务系统中的应用

四、实例:网上客户服务系统

    下面以网上客户服务系统为例,详细介绍使用况图、交互图和类图。

    1.系统概述
    随着计算机技术的不断发展,软件产品越来越复杂。软件产品投入使用后,在维护阶段,用户会不断地发现系统中存在的各种问题,同时也会提出新的需求。若不能及时的记录问题,并规范地安排维护工作,会使用户反馈的问题不能及时地解决,而且也会给维护工作造成混乱,延长维护周期。“网上客户服务系统”能够减少这种状况的发生,提高工作效率。
    软件用户登录本系统,将他所发现的软件问题及新的需求录入;软件分析人员实时地查看问题列表,查找新问题,对问题进行分析与分配;程序员或数据库管理员查找需要自己修改的问题,修改完成后,把相应的修改位置及与此问题相类似的其他问题的修改情况录入,并记录完成的时间;最后由测试员对程序人员的修改结果进行测试。

    2. 分析过程
    (1) 捕获需求——定义用况
    这里给出两个例子来说明如何定义用况:
    用况一:录入问题。参与者:软件用户。类型:主要用况。描述:用户将在软件使用中发现的问题或新的需求录入到客户服务系统中。
    用况二:分配问题。参与者:软件分析人员。类型:主要用况。描述:分析用户反馈的问题,若是因为用户操作有误,则给出正确的操作方法;若是程序有错,则根据错误对应的程序模块分配给相应的程序员。
    经过需求调研,可得到以下主要用况:“登录系统”,“录入问题”,“分配问题”,“修改问题”,“测试程序”,“查看维护进程”,“查看反馈信息”等。
    根据各主要用况,建立的用况图如图1。


图1 用况图

    (2) 针对一些对系统来说比较关键的用况建立交互图,这里以用况“测试程序” 为例,所建立的协作图如图2。


图2 协作图

    (3) 建立类图:分析各用况,及根据经验,我们得出系统的类有:“问题列表”,“程序修改情况记录”,“程序分配情况记录”,“程序测试情况记录”,“系统性能信息记录”,“人员信息记录”,“用户名和密码记录”,“软件模块记录”等实体类(实体类即需要在数据库中保存的类)。还有“查询处理”等控制类(控制类主要是进行一些系统操作的类)。还包括“登录窗口”等边界类(边界类主要是指系统使用者的操作界面)。
    我们用类图来展现各个类及其相互之间的关系,类图如图3。


图3 设计类图

五、总结

    最后,作者在学习和使用UML过程中,总结了以下几点体会:

    1. UML的优点:

  • UML语言使系统建模过程标准化,统一化,规范化。
  • UML在整个软件开发过程中采用相同的概念和表示方法,在不同的开发阶段,不必转换概念和表示方法,避免了传统软件开发方法的两个鸿沟。
  • UML采用图形化的表现形式。产生的模型易于理解,易于开发人员与用户之间的沟通,从而能够及时得到用户的反馈信息。
  • 用UML进行系统建模所得到的建模制品不仅仅包括各种模型框图,还有大量丰富的文档,这些文档给系统后期的维护工作带来了便捷。
  • UML不是一门程序设计语言,但可以使用代码生成工具将UML模型转换为多种程序设计语言代码,或使用反向生成工具将程序源代码转换为UML模型。

    2. UML的缺点:
    但任何事物都有正反两个方面,UML这种新兴的建模工具也存在它本身的一些不足,总结如下:

  • 无法从语法上建立状态图与顺序图的关系。
  • 无法从语法上建立活动图与顺序图在流程描述中的关系。
  • 协作图和顺序图中与消息相伴的参数不能与类图建立关系。

注:以上各图均在Rational Rose中实现。

0
相关文章