【文章內(nèi)容簡介】
浙江海洋學 院畢業(yè)論文 課件之家精心整理資料 歡迎你的欣賞 架構(gòu)、職能型組織架構(gòu)、混合型 組織架構(gòu)和網(wǎng)狀型組織架構(gòu) [7]。 集權(quán)型組織架構(gòu)只有人的概念,這種組織架構(gòu)適合與小型公司,比較少見。職 能型組織架構(gòu)按照職能來劃分部門,按照部門劃分公司員工,適合于中型公司,這 是最常用的組織架構(gòu)形式?;旌闲徒M織架構(gòu)是集權(quán)型和職能型相結(jié)合的組織架構(gòu),人下面可以掛部門也可以掛人,部門下面可以掛部門也可以掛人。混合型也是比較常見的組織架構(gòu)。網(wǎng)狀組織架構(gòu)是最復雜的組織架構(gòu)形式。網(wǎng)狀組織架構(gòu)是對混合型組織架構(gòu)的進一步抽象,抽象出所謂的責任模式。這種組織架構(gòu)適合于大型公司。 在 OA系統(tǒng)我們選擇職能型的組織架構(gòu),機構(gòu)下可以 掛子機構(gòu)也可以掛員工。機構(gòu)設計為樹型結(jié)構(gòu)。組織管理能夠?qū)崿F(xiàn)授權(quán)登陸用戶能夠添加機構(gòu)信息、人員信息,刪除機構(gòu)信息、人員信息,修改機構(gòu)信息、人員信息,普通登陸用戶能構(gòu)查看機構(gòu)信息、人員信息。 公文流轉(zhuǎn) 在這個功能模塊中,我們將使用工作流引擎 JBPM。利用 JBPM 的流程設計器設計流程,授權(quán)登陸用戶能夠上傳流程文件、流程圖片,刪除流程,普通登陸用戶能夠查看流程定義文件、流程定義圖片,創(chuàng)建公文,審批公文,查看未審公文。 權(quán)限管理 通過權(quán)限管理,系統(tǒng)能夠控制不同用戶對模塊的訪問權(quán)限,而且要控制到 CRUD(增刪改查)的操 作級別。能通過角色對用戶進行統(tǒng)一授權(quán),在特殊情況下,也能夠單獨對用戶進行授權(quán)。 權(quán)限設計有很多種設計方法,但是核心都是一樣的。權(quán)限設計的核心是三元組的概念( who、 what、 how)。 who 是主體, what是客體、 how 就是負擔在客體上面的一種操作。 根據(jù)系統(tǒng)需求,在 OA系統(tǒng)中,我們采用 ACL 模型( Access Control List), ACL 中包含用戶( User)、資源 (Resource)、資源操作( Operation)三個關(guān)鍵要素。通過將資源以及資源操作授權(quán)給用戶而使用戶獲取對資源進行操作的權(quán)限。但是 ACL 是個比較簡單的模型,并未提出對于權(quán)限的繼承和權(quán)限的排斥的解決方案,所以 OA系統(tǒng)采用重構(gòu)后的 ACL模型,解決系統(tǒng)用戶權(quán)限繼承角色權(quán)限,以及權(quán)限排斥的問題。 權(quán)限管理實現(xiàn)授權(quán)登陸用戶能夠添加模塊信息、刪除模塊信息,添加角色、刪除角色、給角色授權(quán),給用戶分配帳號、刪除帳號、修改帳號信息,給用戶分配角色、給特權(quán)用戶授權(quán)、查看用戶信息,普通登陸用戶能夠查看模塊信息、角色信息 、修改用戶密碼。 本系統(tǒng)采用了分層開發(fā),但是對三層架構(gòu)做了修改,將持久層合并在業(yè)務邏輯層中,系統(tǒng)分為呈現(xiàn)層、業(yè)務邏輯層。 呈現(xiàn)層使用 jsp 和 jstl[15]表示。 系統(tǒng) 層次 如圖 42 所示 : 浙江海洋學 院畢業(yè)論文 課件之家精心整理資料 歡迎你的欣賞 領域模型業(yè)務邏輯層呈現(xiàn)層 圖 42 數(shù)據(jù)庫結(jié)構(gòu)的設計 系統(tǒng)開發(fā)中先根據(jù)系統(tǒng)需求建立領域模型,根據(jù)領域模型構(gòu)造出實例對象,最后采用 O/R映射工具 Hibernate,從對象模型導出 關(guān)系模型。領域模型如 圖 43所示: M od u l e 模塊 1*+ pa r en t+ ch i l dr enO r ga n i z at i on 機構(gòu) 1*+ pa r en t+ ch i l dr enR o l e 角色 A C L 訪問控制列表 *1*1U se r sR ol es 用戶角色 *1A p pr ov eI n f o 審批信息 D ocu m en t 公文 *1W or kf l ow 流程 *1A d dr essL i st 通信錄 N o t e 便簽 In f or m at i o n 公共信息 E m pl oy ee 員工 *1+ or gU se r 用戶 * 111*1*1 ap pr ov er*1 cr ea t or1*1* 圖 43 系統(tǒng)模型圖 浙江海洋學 院畢業(yè)論文 課件之家精心整理資料 歡迎你的欣賞 數(shù)據(jù)庫表的生成 根據(jù)領域模型創(chuàng)建實體類,創(chuàng)建出實體類之間的關(guān)聯(lián)關(guān)系。通過工具 xdoclet 生成實體類的映射文件和 hibernate 配置文件。利用 hibernate 的工具類倒出數(shù)據(jù)庫表,系統(tǒng)的表結(jié)構(gòu)如下所示: 表 41 t_anization(機構(gòu)表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 機構(gòu) id serialNumber varchar(255) YES NULL 機構(gòu)編號 Name varchar(255) YES NULL 機構(gòu)名稱 description varchar(255) YES NULL 描述 parentId int(11) YES MUL NULL 父機構(gòu) ID 表 42 t_employee (員工表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 員工 id empName varchar(255) YES NULL 員工姓名 gender varchar(255) YES NULL 性別 age int(11) YES NULL 年齡 telephone varchar(255) YES NULL 電話 address varchar(255) YES NULL 地址 varchar(255) YES NULL duty varchar(255) YES NULL 職務 Id int(11) YES MUL NULL 機構(gòu) ID remark varchar(255) YES NULL 備注 表 43 t_note (便簽表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 便簽 id title varchar(255) YES NULL 便簽標題 content varchar(255) YES NULL 便簽內(nèi)容 createTime datetime YES NULL 便簽日期 createorId int(11) YES MUL NULL 創(chuàng)建者 ID 浙江海洋學 院畢業(yè)論文 課件之家精心整理資料 歡迎你的欣賞 表 44 t_addressList (通信錄表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 通訊錄 id name varchar(255) YES NULL 名字 mobilePhone varchar(255) YES NULL 手機電話 homePhone varchar(255) YES NULL 家庭電話 officePhone varchar(255) YES NULL 辦公室電話 varchar(255) YES NULL MSN varchar(255) YES NULL MSN Code varchar(255) YES NULL 郵編 address varchar(255) YES NULL 地址 remark varchar(255) YES NULL 備注 creatorId int(11) YES MUL NULL 創(chuàng)建者 ID 表 45 t_user (用戶表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 用戶 id username varchar(255) YES NULL 用戶名 password varchar(255) YES NULL 密碼 createTime datetime YES NULL 創(chuàng)建時間 expireTime datetime YES NULL 失效時間 emp int(11) YES UNI NULL 員工 ID 表 46 t_role (角色表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 角色 id roleName varchar(255) YES NULL 角色名 表 47 t_users_roles (用戶角色第三方表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment id userId int(11) YES MUL NULL 用戶 ID roleId int(11) YES MUL NULL 角色 ID orderNo int(11) YES NULL 角 色級別,該字段用于解決權(quán)限沖突問題 浙江海洋學 院畢業(yè)論文 課件之家精心整理資料 歡迎你的欣賞 表 48 t_acl ( acl列表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment id principalType varchar(255) YES NULL 主體類型( Role、User) principalId int(11) YES NULL 主體 id moduleId int(11) YES NULL 模塊 id aclState int(11) YES NULL 訪問控制狀態(tài) aclTriState int(11) YES NULL 是否繼承,該字段用于解決權(quán)限繼承問題 表 49 t_module (模塊表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 模塊 id moduleName varchar(255) YES NULL 模塊名稱 url varchar(255) YES NULL 模 塊的 url orderNo int(11) YES NULL 排序號碼 serialNumber varchar(255) YES NULL 模塊編號 parentId int(11) YES MUL NULL 父模塊 ID 表 410 t_workflow (流程表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 流程 id workflowName varchar(255) YES NULL 流程名稱 processDef longblob YES NULL 流程定義 processImage longblob YES NULL 流程圖片 表 411 t_document (公文表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 公文 id title varchar(255) YES NULL 公文標題 content longblob YES NULL 公文內(nèi)容 annex longblob YES NULL 公文附件 description varchar(255) YES NULL 公文描述 createTime datetime YES NULL 創(chuàng)建時間 processInstanceId bigint(20) YES NULL 流程實例 ID status varchar(255) YES NULL 公文狀態(tài) createorId int(11) YES MUL NULL 創(chuàng)建者 ID 浙江海洋學 院畢業(yè)論文 課件之家精心整理資料 歡迎你的欣賞 表 412 t_approveinfo (審批信息表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 審批信息 id approveTime datetime YES NULL 審批時間 ment varchar(255) YES NULL 審批內(nèi)容 documentId int(11) YES MUL NULL 公文 ID approve