该包实现数据的持久化,也就是与数据库交互,实现数据的存取、修改等操作。
(4)通用工具包(Util Package)
该包主要包括应用程序安全检查的类,可以为上面三个包提供安全检查,如客户端检查和服务器端业务规则检查等,同时包括一些系统异常检查与抛出处理以及系统日志服务等。
3.2.2系统详细设计
详细设计主要是描述在系统分析阶段产生的类,与分析阶段类的区别就是偏重于技术层面和类的细节实现。销售管理系统提供的各种服务都是建立在分布、开放的信息结构之上,依托高速、可靠的网络环境来完成的。每项服务都可以看作一个事件流,由若干相关的对象交互合作来完成。对于这种系统内部的协作关系和过程行为,可以通过绘制序列(Sequence)框图和协作(Collaboration)框图来帮助观察和理解。此外,描述工作流和并发行为还可以通过活动框图,表达从一个活动到另一个活动的控制流。同时,可以在理解这些图的基础上,抽象出系统的类图,为系统编码阶段继续细化提供基础。下面以Java Web开发为例,介绍客户管理子系统的详细设计
1.客户管理子系统的基本结构建模:下图是客户管理子系统主要类极其关系的详细设计
图3 客户关系子系统类的详细设计及类之间关系
2.序列图:序列图是一种对象交互图,着重强调了时间序列,而不是静态对象的关系,通过序列图可以清楚地看到“谁在什么时间对谁说了写什么”。
图4 客户管理的序列框图 图5 销售人员对客户管理的顺序框图图4是一个客户管理的序列框图例子。描述了先加载某个客户;显示某些状态;再更改某些属性值,最后更新数据库状态的一次执行过程。此图可设计Customer类的loadCustomer(int)和updateCustomer()方法实现。
通过序列框图可以清晰看出系统用户、客户管理子系统的用户接口、数据库连接模块之间以时间为顺序的消息交换,这对于把握系统的控制流、顺序行为和交互行为是非常有益的。建立在分布网络环境下的销售管理系统的事件流和控制流是非常复杂的,需要从顶层到底层进行一步步分解,用多幅能反映动态结构的图来分析与说明。图5反映了销售人员对客户管理的顺序框图。
3.状态图适合描述一个对象穿越多个Use Case的行为。类的状态图表示类的对象可以呈现的状态和这个对象从一种状态到另一种状态的转换。
图6 Customer对象状态图图6描述了Customer对象的生命期中可能的状态及状态变化(从创建、更新到消亡的转变过程),其中insertOrder/deleteOrder不是直接作用于当前customer对象,而是指当前customer对象所涉及的订单操作。此例说明其他对象的操作可能改变当前对象的状态。
4.协作图:协作图和序列图相似,两种图所表达的是同一种信息,可以将序列图转换为协作图,反之也然。但两者是有区别的,序列图强调的是交互的时间序列,协作图强调的是交互的语境和参与交互的对象的整体组织。下图描述的是查询一个客户信息消息传递的过程。
文章来源于领测软件测试网 https://www.ltesting.net/