图中模型元素之间的实现表示二者存在关联关系,带空心箭头的实箭线说明存在泛化关系。这里有两种情况,一种是一般与特殊的关系,如“广告客户”与“代理广告客户”、“一般客户”的关系;另一种是使用关联,表示一个模型元素需要使用另一个模型元素,如“划版子系统‘需要使用'财务子系统”和“预订子系统”生成的广告和客户数据。
图 2是广告管理系统层次的用例模型,只包含了最基本的Use Case模型,是系统的高层抽象。在开发过程中,随着对系统需求认识的不断加深,用例模型可以从顶向下不断细化,演化出更加详细的Use Case模型。
2.2广告管理系统设计
系统分析与设计是研究欲采用的实现环境和系统结构,结果是产生一个对象模型,也就是设计模型。设计模型包含了Use Case的实现,可以表现对象如何相互通信和运作来实现Use Case流的。对于系统的静态结构,可以通过类图、对象图、组件图和配置图来描述;对于系统的动态行为,可以通过顺序图、协同图、状态图、活动图描述。这些图在加上说明文档就构成一个完整的设计模型。
2.2.1系统架构设计
广告管理系统拥有大量广告信息资源,这些资源包括各种用户、广告、合同以及版面信息。其数据量大、信息变化快,非结构化信息与结构化信息共存。使用UML对广告管理系统进行基于面向对象的分析和实现,可以从开发的第一步开始,从系统的底层就把握住广告信息资源的特征,为下一步具体实现打好基础。在广告管理系统建立模型时要涉及到处理大量的模型元素,如类、进口、组件、节点、图等,可以将语意上相近的模型元素组织在一起,这就构成了UML的包,包从较高的层次来组织管理系统模型。
系统主要有以下四个包:
• 用户接口包(U ser Interface Package)
用户接口包在其他包的顶层次,为系统用户提供访问信息和服务。要注意一点,由于开发工具使用不同,该接口描述也是有区别的。如果采用java开发,就要以java AWT(Abstract Window Toolkit)为基础,如果采取Microsoft的Asp.net开发,其基础就是标准化控件组。
• 业务逻辑包 (Business Rule Package)
该包是广告管理系统业务的核心实现部分,包括广告、合同、客户等,其他包可以通过访问该包提供的接口,实现业务逻辑,如执行广告预订业务等。
• 数据持久访问包 (Data Persistence Package)
该包实现数据的持久化,也就是与数据库交互,实现数据的存取、修改等操作。
• 通用工具包(U til Package)
该包主要包括应用程序安全检查的类,可以为上面三个包提供安全检查,如客户端检查和服务器端业务规则检查等,同时包括一些系统异常检查与抛出处理以及系统日志服务等。
2.2.2系统详细设计
详细设计主要是描述在系统分析阶段产生的类,与分析阶段类的区别就是偏重于技术层面和类的细节实现。广告管理系统提供的各种服务都是建立在分布、开放的信息结构之上,依托高速、可靠的网络环境来完成的。每项服务都可以看作一个事件流,由若干相关的对象交互合作来完成。对于这种系统内部的协作关系和过程行为,可以通过绘制顺序(Sequence)框图和协作(Collaboration)框图来帮助观察和理解。此外,描述工作流和并发行为还可以通过活动框图,表达从一个活动到另一个活动的控制流。同时,可以在理解这些图的基础上,抽象出系统的类图,为系统编码阶段继续细化提供基础。
顺序图和协作图适合描述多个对象的协同关系,而状态图适合描述一个对象穿越多个Use Case的行为。状态图和活动图的区别在于,状态图描述的是对象类响应事件的外部行为,而活动图描述的是响应内部处理对象类的行为。
预订业务对普通客户的顺序框图(图三)
文章来源于领测软件测试网 https://www.ltesting.net/