版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
電信級IP用戶管理和計費系統(tǒng)NetCTOSS電信計費系統(tǒng)的設計與實現目錄TOC\o"1-4"\h\z\u0. 緒論 41. 電信計費系統(tǒng)需求分析 41.1.編寫目的 41.2.編寫背景 51.2.1.系統(tǒng)背景以及版本 51.2.2.任務提出者 51.2.3.任務承接者及實施者 51.2.4.文檔使用者 51.2.5.參考資料 51.3.系統(tǒng)功能概述 51.3.1.系統(tǒng)功能結構圖 51.3.2.系統(tǒng)功能說明 6.用戶管理系統(tǒng) 6.資費管理系統(tǒng) 6.管理員管理系統(tǒng) 6.帳單查詢系統(tǒng) 7.帳務查詢系統(tǒng) 7.用戶自服務系統(tǒng) 7.權限管理系統(tǒng) 72. 系統(tǒng)概要和詳細設計 82.1.操作功能菜單結構模型 82.2.各模塊數據實體設計 82.2.1.權限與管理員數據實體 8.類圖 8.類說明 91.2.2. 用戶帳務帳號,業(yè)務帳號與資費實體類 9.類圖 9.類說明 92.2.3.用戶登錄時長數據相關實體 9.類圖 9.類說明 102.3.數據表設計 102.3.1.權限、角色與管理員相關表設計 102.3.2.用戶帳務帳號、資費與業(yè)務帳號相關表設計 112.3.3.用戶登錄時長原始數據與整合數據相關表設計 122.4.各模塊類以及界面設計 142.4.1.登錄 14.相關表 14.界面設計 14.類圖設計 142.4.2.權限管理 16.相關表 16.界面設計 21.類圖設計 212.4.3.管理員管理 31.相關表 32.UI設計 32.類圖設計 352.4.4.資費管理 41.相關表 41.UI設計 41.類圖設計 432.4.5.用戶管理 48.相關表 48.UI結構設計 48.類圖設計 532.4.6.帳單查詢 63.相關表 63.UI設計 63.類設計 632.4.7.帳務查詢 64.相關表 64.UI設計 65.類設計 663.編碼部分 683.1.
電信計費系統(tǒng)編碼規(guī)范 683.2.在編碼過程中遇到的問題 814.系統(tǒng)測試 815. 運行與維護 876. 結束語 87附錄 87參考文獻 103后記 104電信計費系統(tǒng)的設計與實現計算機系0604班張三指導老師:李四摘要:信息技術和網絡技術高速發(fā)展,行業(yè)競爭日益加劇,各大企業(yè)在傳統(tǒng)的運營方式中紛紛加入高科技成分追求高效和智能化,在軟件方面的追求和投入尤為突出,各行業(yè)不惜加大在信息科技方面的投入,以進一步提升自身在市場的競爭力和服務質量,而且收到了很好的效果,創(chuàng)造了良好的企業(yè)效益。移動、聯(lián)通、電信等各大電信運營商,每年在系統(tǒng)的開發(fā)和完善方面投入數十億來滿足新的需求,而這些投入也為企業(yè)創(chuàng)造了很壯觀的經濟效益。而且在這些方面的投入還會繼續(xù)加大,在以后的發(fā)展中,這已經成為一個不可否認的趨勢。可以說,電信和互聯(lián)網新技術推動了人類文明的巨大進步,而且發(fā)展將會更加迅速。本篇論文的電信計費系統(tǒng)是為電信運營商新增的一項OpenLab(開放實驗室)出租業(yè)務而設計,電信運營商提供多個基于Unix平臺的實驗室環(huán)境,選擇使用這種業(yè)務的用戶能夠遠程登錄到實驗室中做基于這個實驗室環(huán)境的一些工作和實驗。運營商希望借助先進的計算機技術對訪問實驗室的用戶進行管理和計費,由此實現對此項業(yè)務運營的支持與管理。該電信計費系統(tǒng)使用ssh(spring+struts2+hibernate)、javascript腳本控制和ajax異步交互等技術來開發(fā),嚴格按照軟件開發(fā)流程:需求分析、頁面設計、概要設計、詳細設計、測試運行等,最終使得該項目達到一個商業(yè)項目的標準。關鍵詞:電信計費hibernatestruts2springssh運營支撐系統(tǒng)netctoss緒論本篇論文從以下幾部分進行闡述:1電信計費系統(tǒng)需求分析,簡述電信計費項目的選題背景和該系統(tǒng)的需求,要求的功能。2系統(tǒng)概要和詳細設計。根據系統(tǒng)的業(yè)務流程和需求經行概要設計用圖表來表示。并根據概要設計經行詳細設計。3編碼。本系統(tǒng)所使用的編碼規(guī)范,在系統(tǒng)的編碼過程中出現的一些問題以及解決方法。4系統(tǒng)測試。對系統(tǒng)的各個功能經行測試,以及相應的記錄。5運行和維護。主要講解該系統(tǒng)簡單操作說明,用戶在使用該系統(tǒng)可能出現一些問題以及解決方案。6結束語。7心得體會。電信計費系統(tǒng)需求分析1.1.編寫目的軟件需求規(guī)格說明書(SRS,SoftwareRequirementSpecification)是軟件需求格式化描述文檔,用于詳細闡述軟件的功能、性能以及約束條件,不僅是系統(tǒng)測試和用戶手冊編寫的依據,也是系統(tǒng)設計、編碼的基礎。本文檔主要目的包括以下幾個方面:1為系統(tǒng)建設雙方提供共同的需求基準;2為開發(fā)小組的軟件開發(fā)工作提供依據;3為質量控制和項目監(jiān)理提供檢查依據。1.2.編寫背景1.2.1.系統(tǒng)背景以及版本Netctoss系統(tǒng)需求規(guī)格說明書,版本號v1.1。1.2.2.任務提出者XX電信運營商1.2.3任務承接者及實施者承接者:張三1.2.4文檔使用者管理成員:項目總監(jiān)、項目經理、質量經理、技術經理;開發(fā)成員:系統(tǒng)分析員、測試員、文檔員;客戶成員:領導、業(yè)務代表、統(tǒng)計信息處人員;監(jiān)理成員:項目監(jiān)理人員。1.2.5參考資料《客戶公司的業(yè)務文件》1.3.系統(tǒng)功能概述1.3.1.系統(tǒng)功能結構圖1.3.2.系統(tǒng)功能說明XX電信運營商新增一項OpenLab(開放實驗室)出租業(yè)務,即該電信運營商提供基于Unix平臺的實驗室環(huán)境,選擇使用這種業(yè)務的用戶能夠遠程登錄到實驗室中做基于這個實驗室環(huán)境的一些工作和實驗。運營商希望借助先進的計算機技術對訪問實驗室的用戶進行管理和計費,由此實現對此項業(yè)務運營的支持與管理。本項目主要包括以下子系統(tǒng):.用戶管理系統(tǒng)電信運營商提供基于Unix平臺的實驗室環(huán)境,選擇使用這種業(yè)務的用戶能夠遠程登錄到實驗室中做基于這個實驗室環(huán)境的一些工作和實驗。用戶要想成功登陸到開放實驗室中,事先必須要擁有一個這個開放實驗室上的帳號,在本系統(tǒng)中此帳號稱為業(yè)務帳號,每個開放實驗室上的業(yè)務帳號的用戶名是唯一的,不同的開放實驗室上的業(yè)務帳號的用戶名可以相同,這個帳號用戶可以通過向本系統(tǒng)中具有用戶管理權限的管理員去申請。一個用戶會有多種業(yè)務,如:Email服務、Unix系統(tǒng)、代理主機服務等,每個業(yè)務我們都要收取一定的費用,如果我們以業(yè)務賬戶為單位來算總的費用,那么用戶申請的每種業(yè)務都要單獨交費,會給用戶造成不便,所以我們又添加了帳務賬戶來統(tǒng)一管理每個用戶所使用的所有業(yè)務賬號上發(fā)生的費用,帳務帳號是要和用戶的真實信息聯(lián)系在一起的,所以每個用戶只能有一個帳務帳號,但可以對應多個業(yè)務帳號。用戶管理子系統(tǒng)就是對用戶的帳務帳號和業(yè)務帳號進行管理。具有用戶管理權限的管理員登陸成功后,首先可以開通帳務帳號,帳務帳號必須和用戶的一些真實信息關聯(lián)起來,如用戶的真實姓名,身份證號碼,聯(lián)系電話等。開通時,由用戶提供這些信息,然后由管理員將信息錄入到系統(tǒng)中并保存下來。對于開通好的帳務帳號也是由具有用戶管理權限的管理員來管理的,如暫停帳務帳號,恢復帳務賬號,刪除帳務賬號,修改用戶真實信息等。由于用戶的一個帳務帳號會對應多個業(yè)務帳號,所以對賬務賬號的操作會級聯(lián)影響關聯(lián)的所有業(yè)務帳號。其次,具有用戶管理權限的管理員還可以開通業(yè)務帳號,但用戶要想開通一個業(yè)務帳號,前提是必須擁有一個帳務帳號。在開通業(yè)務帳號時,先由用戶為這個業(yè)務帳號選擇一種資費方式,選擇一臺開放實驗室,然后把選擇好的信息提供給管理員,再由管理員將信息錄入并保存,這個業(yè)務帳號會被保存到用戶選擇的開放實驗室的服務器上,對于開通好的業(yè)務帳號也是由具有用戶管理權限的管理員來管理的,如暫停業(yè)務帳號,恢復業(yè)務帳號,刪除業(yè)務帳號,修改業(yè)務帳號密碼。.資費管理系統(tǒng)使用服務,就要交納費用,這是天經地義的事情。那么對于開放實驗室的用戶也不例外,他們使用了開放實驗室服務,同樣要交費。在我們這個系統(tǒng)中這個費用會和兩個因素有關:1一個是用戶使用服務的時間長度,2另一個是用戶選擇的收費標準,如月租費為:30元,每小時使用費為:3元等。這個收費的標準在本系統(tǒng)中稱為資費。資費管理子系統(tǒng)就是用來管理資費的。具有資費管理權限的管理員登陸成功后,可以添加新的資費,查詢所有的資費,可以修改現有的資費信息,還可以刪除資費。特別要注意的是:由于對資費的修改會影響選擇了這種資費的用戶要交納的費用,所以在修改資費信息前要事先通知所有已經選擇了這個資費的用戶;只有當沒有任何用戶選擇某個資費了,這個資費才能被刪除掉。.管理員管理系統(tǒng)對本系統(tǒng)的各個子系統(tǒng)的訪問都是受權限控制的,只有擁有了訪問權限,才能使用子系統(tǒng)。在本系統(tǒng)中存在著三類使用者:1其一是用戶,即使用開放實驗室的人,他們默認具有使用用戶自服務系統(tǒng)的權限。2其二是超級管理員,即對本系統(tǒng)進行管理的人,并具有最高的管理權限,他可以使用除用戶自服務以外的所有子系統(tǒng)。這個超級管理員只有一個,是系統(tǒng)初始建立時就提供好的。3其三是普通管理員,即對本系統(tǒng)中的部分子系統(tǒng)進行管理的人,這些人是由超級管理員進行管理的,他們具有的權限也是由超級管理員賦予的。管理員管理系統(tǒng)就是超級管理員來管理普通管理員。超級管理員登陸成功后,可以增加新的普通管理員,同時為他分配一些權限,可以修改普通管理員的信息,可以查詢所有的管理員信息,可以刪除某些管理員。.帳單查詢系統(tǒng)具有帳單查詢權限的管理員可以利用此子系統(tǒng)對所有用戶的月賬單進行查詢。此子系統(tǒng)不僅提供對某個帳務帳號上產生的總的費用進行查詢,還提供對某個帳務帳號上的每個業(yè)務帳號上產生的費用明細進行查詢。具體操作如下:1月賬單查詢2具有賬單查詢角色的管理員進入本系統(tǒng),登錄成功后,可以執(zhí)行如下查詢操作:3根據輸入的月份和其它組合條件查詢符合條件的用戶這個月的費用信息(提供分頁顯示)4根據輸入的月份和用戶的帳務帳號的用戶名查詢某個用戶這個月的費用信息。5月賬單明細查詢6具有賬單查詢角色的管理員進入本系統(tǒng),登錄成功后,首先查詢出用戶帳務帳號的合計費用信息,然后在這個信息上執(zhí)行查詢明細帳的操作,系統(tǒng)會顯示該帳務帳號上所有業(yè)務帳號上發(fā)生的所有費用的明細信息。.帳務查詢系統(tǒng)具有帳務查詢的管理員可以使用此子系統(tǒng)對開放實驗室的使用情況進行查詢。此子系統(tǒng)可以提供以月為周期的查詢,也可以提供以年為周期的查詢。具體操作如下:1月帳務查詢具有賬務查詢角色的管理員進入本系統(tǒng),登錄成功后,可以執(zhí)行如下查詢操作:(1)根據輸入的月份查詢所有開放實驗室這個月被使用的總的時長信息。(2)在上一個查詢的基礎上查看某個實驗室這個月每一天的時長信息。2年帳務查詢具有賬務查詢角色的管理員進入本系統(tǒng),登錄成功后,可以執(zhí)行如下查詢操作:(1).根據輸入的年份查詢所有開放實驗室這一年被使用的總的時長信息。在上一個查詢的基礎上查看某個實驗室這一年每個月的時長信息。.用戶自服務系統(tǒng)用戶自服務系統(tǒng)可以方便地供用戶查詢自己的賬單和修改自己的個人信息。這個子系統(tǒng)是唯一的一個用戶可以使用的子系統(tǒng)。具體操作如下:1查詢自己的月帳單用戶進入本系統(tǒng),使用自己的帳務帳號登錄成功后,可以執(zhí)行如下查詢操作:1)根據輸入的月份查詢自己這個月的費用信息。2)在上一個查詢的基礎上查看這個月費用明細。2修改自己的個人信息用戶進入本系統(tǒng),使用自己的帳務帳號登錄成功后,可以自行修改自己的個人信息。.權限管理系統(tǒng)對本系統(tǒng)的各個子系統(tǒng)的訪問都是受權限控制的,權限決定了使用者可以執(zhí)行的操作,如一個使用者擁有用戶管理權限,他就可以執(zhí)行用戶管理的操作。目前系統(tǒng)已有的權限包括:用戶管理權限,資費管理權限,管理員管理權限,帳單管理權限,帳務管理權限,用戶自服務權限,權限管理權限。今后,系統(tǒng)可能會擴展新的功能,也就會增加新的操作,這個操作就要對應一種新的權限;也有可能刪除一項不再被使用的操作,這樣,對應的權限也應該被刪除。因此,為了對權限能夠進行靈活的管理,本系統(tǒng)中就提供了權限管理系統(tǒng)。在本系統(tǒng)中,一些使用者擁有相同的角色,擁有相同的權限,如張三和李四都是前臺操作人員,都擁有用戶管理權限和帳單管理權限。角色代表著一組權限的集合。目前系統(tǒng)中已有的角色包括:用戶和超級管理員。今后,要想根據需要靈活地管理角色,也是通過權限管理系統(tǒng)完成的。系統(tǒng)概要和詳細設計2.1.操作功能菜單結構模型2.2.各模塊數據實體設計2.2.1.權限與管理員數據實體.類圖.類說明(每個實體成員的具體說明參考后面的表結構設計中各表的說明)Module類,系統(tǒng)模塊信息實體,modules表Operation類,模塊操作信息實體,operations表Right類,權限信息實體,由模塊與操作構成rights表Role類,角色信息實體,roles表RoleRight類,角色權限信息實體,權限分組,rolerights表Admin類,管理員信息實體,Admins表AdminRole類,管理員角色信息實體,adminroles表用戶帳務帳號,業(yè)務帳號與資費實體類.類圖.類說明(每個實體成員的具體說明參考后面的表結構設計中各表的說明)User類,用戶信息實體,users表。Pricing類,資費信息實體,pricings表。UserService類,用戶業(yè)務帳號信息實體,userservices表2.2.3.用戶登錄時長數據相關實體類圖.類說明(這組類與采集系統(tǒng)中使用的是相同結構)Detail類,用戶登錄時長明細信息實體,details表。DetailDay類,按用戶每時整合后的時長信息實體,detaildays_x表DetailMonth類,按用戶每天整合后的時長信息實體,detailmonths_x表DetailYear類,按用戶每月整合后的時長信息實體,detailyears_x表。IntegratedDetailDay類,按實驗室每時整合后的時長信息實體,detaildays表。IntegratedDetailMonth類,按實驗室每天整合后的時長信息實體,detailmonths表。IntegratedDetailYear類,按實驗室每月整合后的時長信息實體,detailyears表。2.3.數據表設計2.3.1權限,角色與管理員相關表設計1模塊表modules字段英文名字段漢字名類型約束條件說明Id模塊IDIntPKName模塊名稱Varchar(20)2模塊操作表operations字段英文名字段漢字名類型約束條件說明Id操作IDIntPKName操作名稱Varchar(20)3權限表rights字段英文名字段漢字名類型約束條件說明Id操作IDIntPKName操作名稱Varchar(20)url保留Varchar(30)Moduleid模塊IDIntOperationid操作IDint角色表roles字段英文名字段漢字名類型約束條件說明Id角色IDIntPKName角色名稱Varchar(20)5角色權限設置表rolerights字段英文名字段漢字名類型約束條件說明Id角色權限IDIntPKRoleid角色IDintRighted權限IDint6管理員表admins字段英文名字段漢字名類型約束條件說明Id管理員IDIntPKName管理員姓名Varchar(20)loginname管理員登錄名Varchar(20)loginpassword管理員登錄密碼Varchar(20)Phone管理員電話Varchar(20)Email管理員電郵Varchar(20)enrolldate管理員授權日期Date管理員角色設置表adminroles字段英文名字段漢字名類型約束條件說明Id管理員角色IDIntPKAdminid管理員IDVarchar(20)Roleid角色IDVarchar(20)2.3.2.用戶帳務帳號,資費與業(yè)務帳號相關表設計1用戶帳務帳號表users字段英文名字段漢字名類型約束條件說明Id用戶IDIntPKName用戶名Varchar(20)Loginname用戶登錄名Varchar(20)loginpassword用戶登錄密碼Varchar(20)Status用戶狀態(tài)Int暫停Phone用戶電話Varchar(20)Email用戶電郵Varchar(20)Enrolldate用戶開戶日期DateClosedate用戶注銷日期Datepaymenttype支付方式IntCareer職業(yè)Varchar(20)Nationality民族Varchar(12)Sex性別TinyintCompany公司Varchar(20)Zip郵編Varchar(8)2資費表pricings字段英文名字段漢字名類型約束條件說明Id資費IDIntPKName資費名稱Varchar(20)Basefee基本費用doubleRatefee費用率doubledescription資費描述Varchar(50)暫停3用戶業(yè)務帳號表userservices字段英文名字段漢字名類型約束條件說明Id業(yè)務IDIntPKUserid用戶IDVarchar(20)loginname用戶登錄名Varchar(20)loginpassword用戶登錄密碼Varchar(20)Labip實驗室IPStatus狀態(tài)Varchar(20)Priceid資費IDVarchar(20)enrolldate業(yè)務申請日期Dateclosedate業(yè)務停止日期Date2.3.3.用戶登錄時長原始數據與整合數據相關表設計1用戶登錄時長原始明細表details字段英文名字段漢字名類型約束條件說明loginname登錄名Varchar(20)Loginip登錄IPVarchar(24)logintime登錄時間Timestamplogouttime登出時間TimestampLabip實驗室IPVarchar(24)Duration登錄時長Long2用戶登錄時長按用戶每時整合表detaildays_x字段英文名字段漢字名類型約束條件說明loginname登錄名Varchar(20)Loginip登錄IPVarchar(24)logouttime登出時間TimestampLabip實驗室IPVarchar(24)duration登錄時長long3用戶登錄時長按用戶每天整合表detailmonths_x(與上同)字段英文名字段漢字名類型約束條件說明loginname登錄名Varchar(20)Loginip登錄IPVarchar(24)logouttime整合時間TimestampLabip實驗室IPVarchar(24)Duration登錄時長long4用戶登錄時長按用戶每月整合表detailyears_x(與上同)字段英文名字段漢字名類型約束條件說明loginname登錄名Varchar(20)Loginip登錄IPVarchar(24)logouttime整合時間TimestampLabip實驗室IPVarchar(24)Duration登錄時長long5用戶登錄時長按實驗室每時整合表detaildays字段英文名字段漢字名類型約束條件說明logouttime整合時間TimestampLabip實驗室IPVarchar(24)Duration登錄時長long6用戶登錄時長按實驗室每天整合表detailmonths(與上同)字段英文名字段漢字名類型約束條件說明logouttime整合時間TimestampLabip實驗室IPVarchar(24)Duration登錄時長Long7用戶登錄時長按實驗室每月整合表detailyears(與上同)字段英文名字段漢字名類型約束條件說明logouttime整合時間TimestampLabip實驗室IPVarchar(24)Duration登錄時長long2.4.各模塊類以及界面設計2.4.1.登錄.相關表Modules表,Operations表,Rights表,Roles表,RoleRights表,Admins表,AdminRoles表.界面設計圖1管理員登陸頁面.類圖設計1類圖2類圖時序說明3類說明LoginUI<login.jsp>登錄界面類,可以用Servlet與JSP實現.LoginForm登錄表單參數類,封裝用戶登錄數據登錄名loginname登錄密碼loginpasswordLoginAction類,登錄邏輯處理類,負責驗證用戶名與密碼。登錄成功訪問loginok,登錄失敗訪問loginfail函數execute(),處理登錄邏輯檢測。AdminDAO類,負責管理員,權限,角色等相關表的訪問處理封裝。函數verify函數原型intverify(String,String)throwsInValidAdminException參數管理員帳號管理員密碼返回如果驗證成功,則返回該管理員的id,異常如果驗證失敗,則拋出InValidAdminException異常函數getRole函數原型ListgetRole(int)參數管理員ID返回返回該管理員具備的角色,List中元素是Role類型異常函數getRight函數原型ListgetRight(List)參數一組角色的列表返回返回一組角色擁有的所有權限,List元素是Right類型異常函數getModuleOperation函數原型MapgetModuleOperation(List)參數一組權限的列表返回返回一組權限對應的系統(tǒng)模塊與模塊允許的操作,Map元素中key是Module類型,value是Operation類型異常4參數設計(1)頁面參數存放管理員權限模塊的session參數module(2)Forward參數登錄成功loginok登錄失敗loginfail(3)url設計LoginAction的path:login2.4.2.權限管理.相關表Modules表,Operations表,Rights表,Roles表,RoleRights表,Admins表,AdminRoles表界面設計1菜單風格圖2權限菜單2權限瀏覽圖3權限瀏覽3權限修改圖4權限修改瀏覽頁圖5權限修改頁面4權限刪除圖6權限刪除頁面5權限增加圖7權限增加頁面角色瀏覽圖8角色瀏覽頁面7角色修改圖9角色修改瀏覽頁面圖10角色修改頁面8角色刪除圖11角色刪除頁面9角色增加圖12角色增加頁面.類圖設計1UI結構類圖權限瀏覽類圖1類圖2類圖時序說明3類說明RightUI<right.jsp>權限查詢與瀏覽界面類RightCondForm類,封裝權限查詢條件Page控制當前現實的頁數RightDAO權限數據訪問類函數getRightByCond函數原型ListgetRightByCond(RightCondForm)參數查詢權限的條件表單返回返回滿足條件的所有權限列表,異常RightRoleAction權限管理業(yè)務處理類函數browseRight函數原型ActionForwardbrowseRight(ActionMapping,ActionForm,HttpServletRequest,HttpServletResponse)參數參數意義與struts相同返回返回要轉向的url封裝ActionMapping,showright異常權限修改類圖類圖類圖時序說明類說明RightUpdateUI<rightup.jsp>類,權限修改選擇界面RightUpdateInputUI<rightupinput.jsp>類,權限修改輸入界面RightRoleAction類,權限修改數據處理類函數updateRightRightAction類,權限修改業(yè)務處理類。函數showupdate,獲取要修改的權限數據函數update,更新保存修改的權限數據RightForm類,修改的權限數據封裝表單類。RightDAO類,權限數據保存訪問類。函數getById得到指定id的權限。函數update更新權限數據.權限刪除類圖類圖類圖時序說明類說明RightDeleteUI<rightdel.jsp>類,要刪除的權限列表界面。RightAction類,通過delete方法處理刪除邏輯。RightForm類,要刪除的權限的form封裝,這里只需要權限IDRightRoleAction類,通過調用deleteRight函數列出要刪除的權限列表。RightDAO類,權限刪除訪問類,刪除函數deleteById.權限增加類圖類圖類圖時序說明類說明RightAddNewUI<rightadd.jsp>類,權限數據輸入界面類。RightForm類,權限數據提交封裝類。RightAction類,權限保存業(yè)務處理,函數是insertRightDAO類,把權限插入到數據庫德操作類,函數insert角色瀏覽類圖類圖類圖時序說明類說明RoleUI<role.jsp>類,角色顯示界面。RightRoleAction類,角色的查詢邏輯就是調用browseRole實現的。RoleCondForm角色查詢條件封裝。RoleDAO類,負責角色數據的訪問,角色查詢函數是getAllRole.函數getAllRole函數原型ListgetAllRole(RoleCondForm)參數參數是要查詢的角色的條件返回返回滿足條件的所有角色。異常角色修改類圖類圖類圖時序說明類說明RoleUpdateUI<roleup.jsp>類,顯示要修改角色列表界面RoleForm類,封裝角色表單數據。RoleAction類,角色修改邏輯處理類,獲取要修改的角色showUpdate,保要修改的角色update。RoleUpdateInputUI<roleupinput.jsp>類,角色的修改界面。RoleDAO類,負責角色數據訪問,保存角色函數update角色刪除類圖類圖類圖時序說明類說明RoleDeleteUI<roledel.jsp>類,要刪除角色顯示界面。RoleForm類,封裝要刪除角色的表單數據。RoleAction類,負責角色的刪除邏輯處理,函數delete。RoleDAO類,負責對角色數據的訪問,函數deleteRoleById.角色增加類圖類圖類圖時序說明類說明RoleAddNew<roleadd.jsp>類,角色增加輸入界面。RoleForm類,角色表單數據。RoleAction類,處理角色增加邏輯。函數addnewRoleDAO類,負責把角色數據插入到數據庫。函數insertRole。2.4.3管理員管理UI結構類圖設計相關表admins表,roles表,adminroles表UI設計1管理員管理菜單設計圖13管理員管理菜單頁面2超級管理員信息修改圖14超級管理員信息修改頁面3管理員查詢?yōu)g覽圖15管理員瀏覽頁面4管理員修改圖16管理員信息修改瀏覽頁面圖17管理員信息修改頁面5管理員刪除圖18管理員刪除頁面6管理員增加圖19管理員增加頁面.類圖設計1超級管理員信息修改類圖類圖時序說明類說明AdminSuperUI<adminsuper.jsp>類,超級管理員信息修改界面。AdminAction類,負責超級管理員修改數據的獲取showUpdateSuper,并保存修改后的超級管理員數據的邏輯updateSuper。AdminDAO類,負責從數據庫獲取超級管理員信息getById,把超級管理員的數據保存到數據庫updateAdmin。2管理員查詢?yōu)g覽類圖類圖時序說明類說明AdminUI<admin.jsp>類,負責顯示查詢的管理員結果的界面。AdminCondForm類,負責查詢的條件表單封裝。AdminAction類,負責查詢邏輯。browseAdminAdminDAO類,負責到數據庫的查詢訪問。getAllAdmin。3管理員修改類圖類圖的時序說明類說明AdminUpdateUI<adminup.jsp>類,負責顯示要修改的管理員列表界面。AdminAction類,負責修改數據的顯示,修改數據的保存邏輯處理。showUpdateAdmin,updateAdminAdminForm類,負責封裝管理員數據。AdminUpdateInputUI<adminupinput.jsp>類,負責修改管理員數據的界面。AdminDAO類,負責從數據庫得到要顯示的管理員信息和保存修改的管理員數據到數據庫。getById,updateAdmin.4管理員刪除類圖類圖時序說明類說明AdminDeleteUI<admindel.jsp>類,負責顯示要刪除的管理員列表的界面。AdminAction類,負責管理員刪除邏輯處理deleteAdmin。AdminDAO類,負責從數據庫刪除管理員數據。deleteAdmin。5管理員增加類圖類時序說明類說明AdminAddNew<adminadd.jsp>類,負責管理員數據輸入界面。AdminAction類,負責管理員數據保存邏輯處理insertAdmin。AdminForm類,負責封裝管理員表單數據。AdminDAO類,負責把管理員數據保存到數據庫insertAdmin。2.4.4資費管理相關表pricings表。UI設計1資費查詢圖20資費瀏覽頁面資費修改圖21資費修改頁面圖22資費增加頁面資費刪除圖23資費刪除頁面資費增加圖24資費增加頁面類圖設計資費管理UI整體結構2資費查詢類圖類圖時序說明類說明PricingQueryUI<pricingquery.jsp>類,顯示資費的查詢結果界面。PricingAction類,負責資費查詢邏輯處理queryPricing。PricingConditionForm類,封裝資費查詢條件表單數據。PricingDAO類,負責從數據庫獲取資費查詢結果getPricingByCondition。3資費修改類圖類圖時序說明類說明PricingUpdateUI<pricingup.jsp>類,負責顯示要修改的資費列表界面。PricingAction類,負責修改數據的顯示,修改保存邏輯處理。PricingForm類,PricingUpdateInputUI<pricingupinput.jsp>類PricingDAO類4資費刪除類圖類圖時序說明類說明PricingDeleteUI<pricingdel.jsp>類,負責顯示要刪除資費列表的界面。PricingAction類,負責得到要刪除資費數據showDeletePricing,刪除資費的邏輯處理deletePricing。PricingDAO類,負責從數據庫獲取資費數據getPricingByCondition,并從數據庫中刪除資費數據deleteById。5資費增加類圖類圖時序說明類說明PricingAddNewUI<pricingadd.jsp>類,負責顯示資費的輸入界面。PricingAction類,負責資費輸入showAddNewPricing,資費數據插入等邏輯處理addnewPricing。PricingForm類,封裝資費的表單數據。PricingDAO類,負責把資費中數據保存到數據庫insert。2.4.5.用戶管理相關表users表,userservices表,pricings表。.UI結構設計1用戶管理菜單結構圖25用戶管理菜單結構頁面帳務帳號查詢圖26賬務賬號查詢頁面帳務帳號修改圖27賬務賬號修改瀏覽頁面圖28賬務增加頁面4帳務帳號刪除圖29賬務賬號刪除頁面5帳務帳號申請圖30賬務增加頁面業(yè)務帳號查詢圖31業(yè)務賬號查詢頁面7業(yè)務帳號修改圖32業(yè)務賬號修改瀏覽頁面圖33業(yè)務賬號修改頁面業(yè)務帳號刪除圖34業(yè)務賬號刪除頁面業(yè)務帳號申請圖35業(yè)務賬號增加頁面.類圖設計1UI類結構設計2帳務帳號查詢類圖類圖時序說明類說明AccountQuery<accountque.jsp>類,負責顯示查詢結果。AccountBusinessAction類,負責顯示所有帳務帳號的獲取邏輯處accountquery。AccountAction類,負責查詢帳務帳號的邏輯處理query。AccountQueryCondForm類,負責查詢條件的表單數據封裝。AccountDAO類,負責從數據庫得到所有帳務帳單數據listAllAccount,從數據庫得到滿足條件的帳務帳號數據queryAccountByCond。3帳務帳號修改類圖類圖時序說明類說明AccountUpdate<accountup.jsp>類,負責顯示要更新的帳務帳號列表。AccountBusinessAction類,負責要更新帳務帳號的獲取邏輯處理accountupdate。AccountUpdadteInput<accountupinput.jsp>類,負責帳務帳號的修改界面。AccountAction類,負責要修改的帳務帳號的數據獲取updatequery,和修改后的帳務帳號數據的保存update。AccountForm類,負責帳務帳號數據的封裝。AccountDAO類,負責從數據庫獲取數據和更新數據getAccountById,update。4帳務帳號刪除類圖類圖時序說明類說明AccountDelete<accountdel.jsp>類,負責顯示要刪除的帳務帳號列表界面。AccountBusinessAction類,負責顯示所有帳務帳號的邏輯處理accountdelete。AccountAction類,負責帳務帳號的刪除邏輯處理delete。AccountForm類,封裝要刪除的帳務帳號,其中id有效。AccountDAO類,負責帳務帳號的刪除,函數是deleteAccountByID。5帳務帳號申請類圖類圖時序說明類說明AccountAddNew<accountadd.jsp>類,負責帳務帳號的輸入界面AccountBusinessAction類,負責帳務帳號輸入界面邏輯處理accountaddnew。AccountAction類,負責帳務帳號的增加邏輯處理insert。AccountDAO類,負責把帳務帳號數據保存到數據庫insert。6業(yè)務帳號查詢類圖類圖時序說明類說明BusinessQuery<businessque.jsp>類,負責顯示業(yè)務帳號列表的界面。AccountBusinessAction類,負責顯示所有業(yè)務帳號的邏輯處理。Businessquery。BusinessAction類,負責查詢的邏輯處理query。BusinessCondForm類,業(yè)務帳號查詢條件封裝。BusinessDAO類,負責從數據庫查詢數據getBusinessByCon。7業(yè)務帳號修改類圖類圖時序說明類說明BusinessUpdate<businessup.jsp>類,負責顯示要修改的業(yè)務帳號列表的界面。AccountBusinessAction類,負責要修改業(yè)務帳號的獲取查詢的邏輯處理businessupdate。BusinessUpdateInput<businessupinput.jsp>類,負責顯示要修改業(yè)務帳號的修改界面。BusinessAction類,負責要修改數據的獲取updatequery和修改后數據的保存update的邏輯處理。BusinessForm類,業(yè)務帳號數據的表單封裝。BusinessDAO類,負責從數據庫得到要修改的數據getById和更新修改update的數據到數據庫。8業(yè)務帳號刪除類圖類圖時序說明類說明BusinessDelete<businessdel.jsp>類,負責顯示要刪除的業(yè)務帳號的列表界面。AccountBusinessAction類,負責要刪除的業(yè)務帳號的查詢邏輯處理businessdelete。BusinessAction類,負責數據刪除的邏輯處理delete。BusinessForm類,封裝要刪除業(yè)務的表單數據。BusinessDAO類,負責把數據從數據庫刪除。9業(yè)務帳號申請類圖類圖時序說明類說明BusinessAddNew<businessadd.jsp>類,負責業(yè)務帳號數據的輸入界面。AccountBusinessAction類,負責業(yè)務帳號輸入的邏輯處理businessaddnew。BusinessAction類,負責輸入業(yè)務帳號數據的保存邏輯處理addnew。BusinessForm類,負責業(yè)務帳號表單數據的封裝。BusinessDAO類,負責把數據添加到數據庫addnew。2.4.6帳單查詢相關表details表,detaildays_x表,detailmonths_x表,detailyears_x表,users表,userservices表。UI設計1賬單查詢圖36賬單查詢頁面2 賬單查詢明細圖37賬單查詢明細頁面類設計類圖類圖時序說明類說明FeeQueryAction類,負責賬單查詢,與明細查詢的邏輯處理。FeeQueryCondForm類,負責查詢條件的表單數據封裝。FeeQueryUI<feequery.jsp>類,負責顯示賬單費用查詢結果。FeeDetailUI<feedetail.jsp>類,負責顯示帳務帳號上的明細。FeeDAO類,負責從數據庫查詢獲取相關數據。2.4.7帳務查詢相關表detaildays表,detailmonths表,detailyears表。UI設計1帳務年查詢圖38賬務年查詢頁面圖39賬務年查詢明細頁面帳務月查詢圖40賬務月查詢頁面圖41賬務月查詢明細頁面類設計類圖類圖時序說明年查詢月查詢類說明ServiceTimeQueryAction類,負責查詢的邏輯處理。ServiceTimeQueryCondForm類,負責查詢條件的封裝。ServiceTimeQueryYUI<servicetimey.jsp>類,顯示年查詢結果界面。ServiceTimeDeatailY<servicedetaily.jsp>類,負責顯示年查詢明細結果界面。ServiceTimeQueryMUI<servicetimem.jsp>類,負責顯示月查詢結果界面。ServiceTimeDeatailM<servicedetailm.jsp>類,負責顯示月查詢明細結果界面。3.編碼部分3.1.
電信計費系統(tǒng)編碼規(guī)范該系統(tǒng)在編碼過程中,嚴格按照在詳細設計說明書來編寫,做到了前后統(tǒng)一。所有編碼時參照java編寫規(guī)范,從而有一個良好的可維護性和可讀性。本系統(tǒng)所具體編碼規(guī)范如下:3.1.1.命名規(guī)范.package(*)包名全部由小寫的ASCII字母組成,用“.”分隔。在此項目中,所有的包均以“ctoss”開頭。net.tysy為太原師范學院的網址倒寫,netctoss為系統(tǒng)的標識。.class(*)類名應當是名詞,每個內部單詞的頭一個字母大寫。應當使你的類名簡單和具有說明性。用完整的英語單詞或約定俗成的簡寫命名類名。示例:publicclassUserManagerinterface(*)接口名應當是名詞,每個內部單詞的頭一個字母大寫。應當使你的接口名簡單和具有說明性。用完整的英語單詞或約定俗成的簡寫命名接口名。示例:interfaceUserServiceClass成員屬性及變量的命名(*)變量名全部由字母組成,頭一個字母小寫,以后每個內部單詞的頭一個字母大寫。變量名應該短而有意義。變量名的選擇應該易于記憶。一個字符的變量名應避免,除非用于臨時變量。通常臨時變量名的命名規(guī)則為:i,j,k,m,n用于整數;c,d,e用于字符。示例:privateStringlastName;常量的命名(*)Java里的常量,是用staticfinal修飾的,應該用全大寫加下劃線命名,并且盡量指出完整含義。示例:staticfinalStringPAGE_SIZE="12";數組的命名(*)數組應該總是用下面的形式來命名:byte[]buffer;方法的參數(*)和變量的命名規(guī)范一致,且應使用有意義的參數命名,如果可能的話,使用和要賦值的字段一樣的名字。示例:setCounter(intsize){this.size=size;}方法命名(*)方法的命名應當使用動詞,頭一個字母小寫,以后每個內部單詞的頭一個字母大寫。在方法名的選擇上應意義明確便于記憶。對于屬性的存取方法,應使用getXXX()和setXXX()名稱,以isXXX(),hasXXX()來命名返回值為boolean類型的方法。一般命名注意事項用有意義的名字命名變量首先,用完整的英語單詞或約定俗成的簡寫命名變量。示例:firstNamezipCode用復數命名Collection類變量。Collection包括數組,Vector等。命名時使用復數:示例:customersclassmates2Java源文件樣式Java(*.java)源文件應遵守如下的樣式規(guī)則:Class代碼布局:版權聲明Package和Import語句Javadoc注釋或者其它文件頭注釋類或接口聲明Fields聲明空行構造函數 空行克隆方法空行其它方法(不包括main)空行 內部(Inner)類空行main()方法版權聲明所有的源文件都應該以一個c風格的注釋開始,以列出類名,版本信息,修改日期和版權聲明。示例:/**Classname:**Versioninformation:**Date:**Copyright2003ProstenTechnologyCo.,Ltd.**/其他不需要出現在javadoc的信息也可以包含在這里。Package/Imports(*)package行要在import行之前,中間空一行。將import的classes歸類,按順序羅列:a.Java標準類(java.*)b.Java擴充類(javax.*)c.第三方類d.你的應用程序的類注意在第三方類里進行注釋,說明它們的來源。如果import行中包含了同一個包中的多個類,則可以用*來處理。示例:packagectoss.user;importjava.io.*;importjava.util.Observable;importjava.util.Date;importjavax.sql.*;//ApacheXercesimportorg.apache.xml.*;importorg.apache.xerces.dom.*;//Applicationclassesimportctoss.util.*;這里java.io.*使用來代替InputStream和OutputStream的引入。2.4Javadoc注釋示例:/***<p>Title:類名</p>*<p>Description:(說明用中文)/</p>*@author: 張三*@date:(最后一次修改的提交時間)*/ClassFields類的成員變量:示例:protectedint[]packets;public的成員變量必須以生成文檔(JavaDoc)的方式進行注釋(/**…*/)。proceted、private和package定義的成員變量如果名字含義明確的話,可以沒有注釋。Field定義可遵從以下順序:a.public常量b.public變量c.protected常量d.protected變量e.package常量f.package變量g.private常量h.private變量存取方法(getter,setter)接下來是類變量的存取的方法。構造方法(*)重載的構造方法應該用遞增的方式寫(參數多的寫在后面)。示例:publicCounterSet(){this(10);}publicCounterSet(intsize){this.size=size;}克隆方法如果這個類是可以被克隆的,就應實現clone方法:示例:publicObjectclone(){try{CounterSetobj=(CounterSet)super.clone();obj.packets=(int[])packets.clone();obj.size=size;returnobj;}catch(CloneNotSupportedExceptione){thrownewInternalError("UnexpectedCloneNotSUpportedException:"+e.getMessage());}}類方法下面開始寫類方法:示例:/***Setthepacketcounters*(suchaswhenrestoringfromadatabase)*/protectedfinalvoidsetArray(int[]r1,int[]r2,int[]r3,int[]r4)throwsIllegalArgumentException{if(r1.length!=r2.length||r1.length!=r3.length||r1.length!=r4.length){thrownewIllegalArgumentException("Arraysmustbehesamesize"); }System.arraycopy(r1,0,r3,0,r1.length);System.arraycopy(r2,0,r4,0,r1.length);}0toString方法每一個類都最好定義toString方法:示例:publicStringtoString(){Stringretval="CounterSet:";for(inti=0;i<data.length();i++){retval+=data.bytes.toString();retval+=data.packets.toString();}returnretval;}1main方法(*)如果類中包含main(String[])方法,那么它應該寫在類的底部。3代碼編寫風格3.1語句3.1.1簡單語句每一行包含至多一條語句。.2復合語句復合語句是指附加形如"{……}"封套結構的語句。封套內的語句要比復合語句多縮進一個層次。開頭的括號因該在起始復合語句同一行的末尾;結尾的括號應該新起一行并和起始的復合語句保持同樣縮進。應當對所有諸如if-else,while,for,try-catch結構的控制語句都使用大括號,即使是單個語句,只要它是控制結構的一部分。示例:if(condition){statements;}else{statements;} //if-else語句.3返回語句有值返回的返回語句不應該使用括號,除非某些情況下為了使得返回值更加明顯。示例:return;returnmyDisk.size();return(size?size:defaultSize);位置控制.1縮進應當用四個空格作為縮排的單位。不要在源文件中保存Tab字符(!!)。以免在使用不同的源代碼管理工具時Tab字符將因為用戶設置的不同而顯示為不同的寬度。.2行的長度避免行長超過80個字符,因為這樣不好被大多數終端顯示和工具處理。.3折疊的行當表達在一行放不下時,根據下面的一般原則打斷它:在一個逗號后打斷。在運算符前打斷。高層次的打斷優(yōu)于低層次的打斷。讓新起的行與上一行同一層次表達的開頭對齊。如果上面的方法導致代碼混亂或者代碼減少了合適的頁邊空白,那么使用縮進8個空格代替。示例:下面的例子打斷了方法調用:someMethod(longExpression1,longExpression2,longExpression3,longExpression4,longExpression5);var=someMethod1(longExpression1,someMethod2(longExpression2,longExpression3));示例: 下面兩個例子打斷了算術表達式。第一個較好,因為打斷發(fā)生在較高層次上。longName1=longName2*(longName3+longName4-longName5)+4*longname6;示例: 語句的行折疊通常用8空格,這是因為4空格會使主體部分看起來困難。//USETHISINDENTATIONINSTEADif((condition1&&condition2)||(condition3&&condition4)||!(condition5&&condition6)){doSomethingAboutIt();}空白處理.1空行空行通過分開局部相關的代碼部分,增加了可讀性。在下列情況下總是使用兩個空行:源文件的不同部分之間和接口定義之間在下列情況下總是使用一個空行:在方法之間方法里面的局部變量聲明和它的第一個語句之間在塊注釋(參見4.1.1節(jié))或單行注釋(參見4.1.2節(jié))之前方法里面的邏輯部分之間,以提高可讀性.2空格應該在下列情況下使用空格:關鍵字和后面的括號之間應該使用一個空格。例如: while(true){ ... }注意在方法名和后面的括號之間不應該使用空格。這有助于分清關鍵字和方法調用。逗號之后應該使用一個空格。除了“.”之外的所有二元操作符應該用空格和操作數分開。對于一元操作符不使用空格。示例: a=(a+b)/(c*d); while(d++=s++){ n++; } printSize("sizeis"+foo+"\n");for語句中的表達式應當用空格分開。示例: for(expr1;expr2;expr3)強制類型轉換應當跟隨一個空格。示例: myMethod((byte)aNum,(Object)x);myMethod((int)(cp+5),((int)(i+3))+1);聲明.1每行一個每行只能書寫一個聲明,因為這有利于注釋。示例:intlevel; //indentationlevelintsize; //sizeoftable示例:上面的例子中使用一個空格分隔類型和標示符。另一種方法是使用tab,如:intlevel;//indentationlevelintsize;//sizeoftableObjectcurrentEntry;//currentlyselectedtableentry.2初始化試著在局部變量聲明的時候進行初始化。如果不在變量聲明的時候進行初始化,唯一的理由就是它的初始值首先依賴于一些計算。.3位置聲明只放在代碼塊的開始部分。(一個代碼塊是指由括號"{"和"}"包圍的代碼。)不要等到變量使用時才聲明它們。唯一的例外是在for循環(huán)語句中。示例: voidmyMethod(){intint1=0;//beginningofmethodblockif(condition){intint2=0;//beginningof"if"block ...}}for(inti=0;i<maxLoops;i++){...}要避免局部變量的聲明出現在比其更高的層次中。不要聲明和內部代碼塊同名的變量。3.1.4程序編寫規(guī)范使用方法來訪問實例變量和類變量(*)如果沒有很好的理由,一般不應將實例變量或類變量設為public,將變量設為public的典型應用是此類代表一個“數據結構”,而不包含任何方法。引用類變量和類方法(*)避免使用對象引用來訪問類(static)變量或類方法,而應使用類名來訪問。如:classMethod();//OKAClass.classMethod();//OKanObject.classMethod();//避免!常量(*)數字常量不應直接在編碼中出現,除非是for循環(huán)中用于計數的–1,0,或1。字符串常量盡量不直接在編碼中出現。?前的邏輯運算表達式?前的邏輯運算表達式應以括號括起,如:(x>=0)?x:-x;4.5變量賦值避免在一個語句中賦給幾個變量同樣的值。這是難于閱讀的。示例: fooBar.fChar=barFoo.lchar='c';//AVOID!不要在容易和相等操作符混淆的地方使用賦值操作。 if(c++=d++){//AVOID!(Javadisallows)...}而應該寫成這樣: if((c++=d++)!=0){...}不要為了提高運行性能使用內嵌的賦值,這是編譯器的任務。例如:d=(a=b+c)+r;//AVOID!而應該寫成:a=b+c;d=a+r;特殊注釋在實現某個類的方法時若還未完成實際代碼,但出于程序連接需要,可令該方法暫時返回一個“true”一類的結果,具體實現代碼留待下一步實現。但是此部分需要用/*×××WAITINGTOIMPLEMENT…×××*/標注。例外申明的錯誤應該拋出一個RuntimeException或者派生的例外。頂層的main()函數應該截獲所有的例外,并且打?。ɑ蛘哂涗浽谌罩局校┰谄聊簧?。方法的輸入參數方法的輸入參數為對象時,默認的前置條件為輸入實例不為空(null),除非在API文檔中另行說明。即默認情況下,方法體中不對傳入實例是否為空特別地加以判斷。方法的返回值當方法的返回值為對象時,返回值是否可能為空應當在API文檔中說明。若返回值可能為空,相應的條件也應同時在API文檔中說明。3.1.5Struts2編碼規(guī)范Action的class命名所有的Action類均以有意義的英文單詞加Action
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基準值法計算題目及答案
- 養(yǎng)老院膳食營養(yǎng)與衛(wèi)生管理制度
- 養(yǎng)老院老人自治制度
- 正反比例算術題目及答案
- 用例圖類圖例題目及答案
- 三級分類數學題目及答案
- 辦公室員工培訓需求調查制度
- 門診病歷書寫制度
- 銷售部回款規(guī)定制度
- 造價協(xié)審人員的人員獎懲及激勵制度
- 2026年山東藥品食品職業(yè)學院單招綜合素質考試備考試題含詳細答案解析
- GB/T 46878-2025二氧化碳捕集、運輸和地質封存地質封存
- 雷波縣糧油貿易總公司 2026年面向社會公開招聘備考考試試題及答案解析
- 2026年1月浙江省高考(首考)歷史試題(含答案)
- 療養(yǎng)院員工勞動保護制度
- 云南省昆明市五華區(qū)2023-2024學年高一上學期1月期末考試地理
- HGT 20714-2023 管道及儀表流程圖(P ID)安全審查規(guī)范 (正式版)
- 初高中生物知識銜接問題分析教學專業(yè)知識講座
- 語文高考題小說說題比賽
- 建筑砌筑工(中級)理論考試題庫及答案
- 2022-2023學年安徽省合肥重點中學七年級(下)期中數學試卷-普通用卷
評論
0/150
提交評論