第4章 系统设计
4.1 系统架构设计
本系统架构设计采用三层体现结构。将系统的整个业务应用划分为表示层、业务逻辑层、数据访问层,这样有利于系统的开发、维护、部署和扩展,实现了“高内聚、低耦合”。图4.1为三层体系结构示意图。
图4.1 三层体系结构图
Fig. 4.1 Structure diagram of 3-tier application
通过对需求进行分析、组合,将系统设计为六大主要模块,分别是:登录注册模块、资讯管理模块、示范户申报模块、示范户评审模块、技术推广模块、系统管理模块。如图4.2所示。
图4.2 功能模块层次结构图
Fig.4.2 System function structure diagram of layer
— 32 —
4.2 模块设计
本系统的功能包括登录注册、获取资讯、示范户申报、示范户评审、技术推广、系统管理等。以下对各个模块进行细化的设计。
4.2.1登录注册
(1)登录
本系统访问需要登录的用户包括农户、示范户、农技指导员、评审专家、行政管理人员、系统管理员。登录模块顺序图如图4.3所示。
图4.3 登录模块顺序图 Fig.4.3 Sequence diagram of login
3 : checkUser()2 : login() : 农户1 : submit()loginUI : RegLoginCtrl : RegLoginBL : ATDHRS_DAL4 : execute()
— 33 —
(2)注册
本系统中,农户角色的用户需注册,并经系统管理员进行资料确认审核后生效。示范户、农技指导员、评审专家、行政管理人员等角色由系统管理员后台添加并维护。注册模块顺序图如图4.4所示。
图4.4 注册模块顺序图 Fig.4.4 Sequence diagram of register
5 : execute()4 : addUser() : 普通用户1 : submit()2 : registerUser()3 : registerUser()registerUI : RegLoginCtrl : RegLoginBL : User : ATDHRS_DAL4.2.2获取资讯
普通用户可以访问本系统浏览资讯、检索资讯。资讯范围包括系统管理员发布的新闻类资讯和示范户发布的技术应用典型成功案例。获取资讯模块顺序图如图4.5所示。
— 34 —
图4.5 获取资讯模块顺序图 Fig.4.5 Sequence diagram of news
7 : submit()68 : getNews()9 : getNews()10 : getNewsByID()11 : execute() : 普通用户1 : submit()2 : queryNews()3 : queryNews()4 : queryByKeywords()5 : execute()newsUI : NewsCtrl : NewsBL : News : ATDHRS_DAL4.2.3技术推广
技术推广模块包括农业科技应用方面的问题发布、问题解答和农技推广工作的记录。
(1)农技问题发布与问题解答
农户可以通过系统发布农技问题,技术指导员可以对问题进行解答。本模块顺序图如图4.6所示。
— 35 —