物流管理系统概要设计说明书
提供一个Controller,委派调用业务逻辑和其它上层处理。 处理异常,抛给Struts Action. 为显示提供一个模型。 UI(User interface)验证。
以下部分则不该在Struts显示层的编码中经常出现。因为在表示层引入这些代码,则会带来高偶合和非常麻烦的维护代价。
直接的与数据库通信,如JDBC调用。 与你应用程序相关联的业务逻辑以及校验。 3.业务层
业务层在实际的项目开发中,每个领域都会有自己独特的业务逻辑,正因为这样,致使项目中代码高度偶合,原本有可能被重用的代码或功能,因为与具体的业务逻辑绑定在一块而导致很难被重用。因此我们将实现这些具体逻辑的代码抽取出来分为单独的一层,其目的是希望通过分层,来降低它与系统其他部分的偶合度。
现实中世界是变化的,既然该层实现的是现实中具体的业务逻辑,那该层的实现代码不可避免的会发生变更。怎样让该层适应最大的变化,做到最小的改动?通常我们在编码的时候会尽量考虑到同一业务多种实现的兼容和可扩展的能力。因此我们在该层借助了Spring,通过依赖注入、AOP应用、面向接口编程,来降低业务组件之间的偶合度,增强系统扩展性。
2)Spring实现的功能:
处理应用程序的业务逻辑和业务校验。 管理事务。
提供与其它层协同工作的接口。 管理业务层级别的对象的依赖。
在显示层和持久层之间增加了一个灵活的机制,使得他们不直接的联系在一起。
通过揭示从显示层到业务层之间的Context来得到business services。 管理程序的执行(从业务层到持久层)。 4.数据持久层
数据持久层在开发中与数据库进行数据交互必不可少,通常我们归为CRUD(添加、读取、修改、删除),这些操作占据了系统开发中大部分的时间,同时我们还需要考虑与数据库交互的性能问题,如连接池、数据缓存等等。系统内部的持续层不但需要大量调试时间,而且还经常缺少功能使之变得难以控制。针对这点我们引入ORM开源架构Hibernate。
2)Hibernate实现的功能:
IT_MOB项目组 第 13 页 共 27 页
物流管理系统概要设计说明书
查询对象的相关信息的语句。 存储,更新,删除数据库记录。
支持大部分主流数据库,并且支持Parent/Child关系,事物处理,继承和多态。
5.各层中的封装类
各层的封装类的主要功能都是一致的,就是将有一定联系的数据集合装载在其实力对象中,这样做的道路是显而易见的,通过对象来传递数据集合的效率会更高更方便。
显示层的FormBean类是用封装来自页面form提交的信息的,一般情况下这个类的私有变量是与页面form的元素一一对应的。另外FormBean封装类的对象还负责将要显示的信息传递到显示层,其作用是双向的。
业务逻辑层的ValueObject类是用来封装一定业务功能实现过程中需要的数据集合的,也就是说要封装的数据都是由业务功能的需要决定的。
持久层的PersistObject类,其实例化对象所封装的数据集是与数据库中表相对应的,即表项对应要封装的数据项。
我们根据上面封装类的说明可以看出,FormBean、ValueObject、PersistObject、三者的作用相似都是为了封装数据信息,不同的是这些对象所在的是不同架构层面,这样做的好处是数据的处理和转递比较有条理,层次清晰易于维护。封装类在架构中的情况如图4.4所示。
view(视图层) Jsp页面中的BL(业务逻辑层) 决定 决定 FormBean 业务层的具体决定 ValueObjecPersist(持久层) 数据库中的表PersistObj 各层封装类的情况(图例2)
2.3.4 关键技术与算法
书写要求:
对系统中比较复杂的功能的实现方式或应用的特殊技术加以说明要求通俗直观便于客户参考。
书写样例:
查询统计(科学项目的查询和统计,科学成果的查询和统计,科学奖励的查询和统计,
IT_MOB项目组
第 14 页 共 27 页
物流管理系统概要设计说明书
科技人才的查询和统计)
组合检索:组合检索由拥有搜索权限的用户在组合类别的下拉框中选择需要查询的项目,如科技项目的检索:项目类别+项目资金+项目所属公司+时间;没有选择的项,下拉框默认为空白。点击搜索,系统将对数据库的字段进行模糊搜索,搜索结果列表显示于组合搜索下面,分页显示搜索结果。
注:其它的科技成果搜索,科技奖励搜索,科技人才搜索采用统一的组合搜索形式 统计图表:各分公司统计:根据用户在科技项目申请,科技成果申请,科技奖励申请,科技人才的输入的数据,当拥有该权限的用户点击各分公司统计,系统将从数据库中读取以上的部分数据,进行统计,然后以统计图形的形式显示出来,对各分公司进行比较,方便领导制定企业决策。
某分公司统计:当拥有权限的用户点击某分公司统计,系统将从数据库中读取这对该公司的数据进行统计,显示统计图,该统计主要面向集团和分公司领导。
注:其它的科技成果搜索,科技奖励搜索,科技人才搜索采用统一的统计形式
2.2.3关键数据结构(选作)
书写要求:
简要说明本系统中的最主要的数据结构。 书写样例:
3
系统功能设计
3.1 分公司
3.1.1 订单管理 3.1.1.1 功能描述
订单的填写可以由用户通过web前台完成,也可以由收货员在配送点完成,在用户填写的情况下,需要收货员对物品的重量及体积进行审核,经过审核后确认订单完成并收取货物,最后将货物入库。如图3.1.1_1和3.1.1_2。
IT_MOB项目组 第 15 页 共 27 页
物流管理系统概要设计说明书
图3.1.1_1
图3.1.1_2
IT_MOB项目组 第 16 页 共 27 页