




已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
哈爾濱理工大學(xué)學(xué)士學(xué)位論文OA辦公自動(dòng)化系統(tǒng)需求研究設(shè)計(jì)1.1 引言本論文是對(duì)OA辦公自動(dòng)化系統(tǒng)的需求說明,其目的是分析清楚擬建系統(tǒng)的功能性需求和非功能性需求。1.2 目標(biāo)OA是以開放、先進(jìn)的Internet/Web技術(shù)為核心新一代信息處理集成系統(tǒng)。通過他的建設(shè)將以計(jì)算機(jī)最新并成熟的技術(shù)為依托,提高企業(yè)信息化水平,在單位內(nèi)部實(shí)現(xiàn)信息資源共享和流通,為各級(jí)領(lǐng)導(dǎo)及時(shí)了解情況,為宏觀管理和科學(xué)決策提供高效便利的服務(wù),使得單位的管理更加高效化、規(guī)范化和科學(xué)化。1.3 選題的目的和意義隨著計(jì)算機(jī)和通信技術(shù)的發(fā)展,人類已逐漸進(jìn)入信息化社會(huì)。信息和材料、能源一樣成為一種社會(huì)的基本生產(chǎn)資料,在人類的社會(huì)生產(chǎn)活動(dòng)中發(fā)揮著重要的作用。同時(shí)人們對(duì)信息和數(shù)據(jù)的利用與處理也已進(jìn)入自動(dòng)化、網(wǎng)絡(luò)化和社會(huì)化的階段,因此,開發(fā)相關(guān)的管理信息系統(tǒng)已經(jīng)成為各行各業(yè)的必須要求了。管理信息系統(tǒng)作為一門邊緣學(xué)科,集管理科學(xué)、信息科學(xué)、系統(tǒng)科學(xué)、現(xiàn)代通信技術(shù)和電子計(jì)算機(jī)技術(shù)于一體,可以解決企業(yè)或組織所面臨的問題,對(duì)內(nèi)來看,可以提高工作效率;對(duì)外來看,可以獲得競(jìng)爭(zhēng)優(yōu)勢(shì)。管理信息系統(tǒng)的開發(fā)方法有生命周期法、原型法和面向?qū)ο蟮拈_發(fā)方法等。生命周期法是20世紀(jì)60年代發(fā)展起來的一種應(yīng)用廣泛且比較成熟的管理系統(tǒng)開發(fā)方法,它的基本思想是將系統(tǒng)的開發(fā)工作從開始到結(jié)束劃分為若干個(gè)階段,每個(gè)階段都有明確的任務(wù),但系統(tǒng)開發(fā)出來后,并不意味著生命周期的結(jié)束,而是意味著根據(jù)組織的需要對(duì)系統(tǒng)的修改和重建的開始;原型法是20世紀(jì)80年代發(fā)展起來的,旨在改變生命周期法缺點(diǎn)的一種系統(tǒng)開發(fā)方法,該法的開發(fā)思路是首先根據(jù)用戶的要求,由用戶和開發(fā)者共同確定系統(tǒng)的基本要求和主要功能,利用系統(tǒng)快速生成工具,建立一個(gè)系統(tǒng)模型,在此基礎(chǔ)上與用戶交流,將模型不斷補(bǔ)充、修改、完善,如此反復(fù),直至用戶和開發(fā)者都比較滿意為止,從而形成一個(gè)相對(duì)穩(wěn)定、較為理想的管理信息系統(tǒng);面向?qū)ο蟮拈_發(fā)方法于20世紀(jì)80年代開始興起的,是一種基于對(duì)象的自底向上的一種系統(tǒng)開發(fā)方法,這種方法的特點(diǎn)是以對(duì)象為基礎(chǔ),對(duì)象是分析問題和解決問題的核心。基于以上三種方法的特點(diǎn)和各自的優(yōu)缺點(diǎn),本辦公自動(dòng)化系統(tǒng)利用軟件工程化思想和方法,總體上是采用結(jié)構(gòu)化生命法進(jìn)行系統(tǒng)分析和設(shè)計(jì)的,而系統(tǒng)實(shí)現(xiàn)等步驟則采用了原型法和面對(duì)對(duì)象的方法。管理信息系統(tǒng)的開發(fā)是一個(gè)開發(fā)周期長(zhǎng)、技術(shù)要求高、影響因素多的復(fù)雜系統(tǒng)工程,因此制定一個(gè)完善、可行、合理的開發(fā)計(jì)劃,不僅是系統(tǒng)開發(fā)成功的保證,同時(shí)也可以提高效率、節(jié)省時(shí)間、降低成本。1.4 系統(tǒng)概述該系統(tǒng)最主要實(shí)現(xiàn)了OA的基礎(chǔ)模塊和核心模塊,包括機(jī)構(gòu)管理、人員管理、模塊管理、角色管理、用戶管理、流程管理、表單定義和公文維護(hù)。整個(gè)系統(tǒng)采用Struts2、Spring、Hibernate的開發(fā)架構(gòu)。系統(tǒng)采用樹形結(jié)構(gòu)對(duì)機(jī)構(gòu)和模塊進(jìn)行管理。在權(quán)限管理上,采用ACL權(quán)限控制訪問列表設(shè)計(jì)模式,對(duì)角色進(jìn)行模塊的CRUD授權(quán),也可針對(duì)特定用戶進(jìn)行授權(quán),在授權(quán)后,用戶登錄系統(tǒng)時(shí)會(huì)根據(jù)用戶擁有的角色和個(gè)人的權(quán)限進(jìn)行導(dǎo)航菜單動(dòng)態(tài)顯示,還可以對(duì)用戶的CRUD進(jìn)行及時(shí)認(rèn)證。而公文流傳采用JBPM框架進(jìn)行復(fù)雜流程的實(shí)現(xiàn),用戶可以上傳流程定義文件和定義圖片,針對(duì)特定流程進(jìn)行表單定義,創(chuàng)建公文后可以針對(duì)不同的流程進(jìn)行公文流轉(zhuǎn)。權(quán)限管理頁(yè)面采用Ajax框架DWR與后臺(tái)進(jìn)行交互,從而提高了操作效率。自定以表單使用了FreeMarker進(jìn)行模板的讀取和開發(fā)。本系統(tǒng)采用Oracle10g作為后臺(tái)數(shù)據(jù)庫(kù)。第1章 系統(tǒng)分析1.1 需求分析21世紀(jì),先進(jìn)制造技術(shù)正在推動(dòng)企業(yè)向網(wǎng)絡(luò)化、協(xié)同化、敏捷化、智能化、集成化和虛擬化的方向發(fā)展。廣義層面上的網(wǎng)絡(luò)化制造,涵蓋了利用網(wǎng)絡(luò)技術(shù)支持企業(yè)制造全過程的所有環(huán)節(jié)。全面集成辦公套件,徹底實(shí)現(xiàn)辦公自動(dòng)化.在網(wǎng)絡(luò)化制造模式下,網(wǎng)上辦公對(duì)于企業(yè)來講,是方便快捷的,大勢(shì)所趨。實(shí)現(xiàn)了工作協(xié)同,工作督辦,工作督控,提高了工作效率。OA可以給中小企業(yè)帶來以下幾個(gè)方面的效益: 1.實(shí)現(xiàn)遠(yuǎn)程辦公和移動(dòng)辦公,隨時(shí)隨處辦理工作事務(wù)。無論您身處國(guó)外,還是國(guó)內(nèi),無論您在機(jī)場(chǎng),酒店,家中都可以隨時(shí)投入到工作中來,方便快捷地掌握組織內(nèi)部的工作進(jìn)度與狀況,及時(shí)處理工作問題. 2.實(shí)現(xiàn)知識(shí)管理,使優(yōu)秀員工的思想,經(jīng)驗(yàn)與技術(shù)獲得積累,并轉(zhuǎn)化成組織中的共享資源。通過OA進(jìn)行知識(shí)管理,員工的工作經(jīng)驗(yàn)和技術(shù)技能,不斷積累,將成為組織中強(qiáng)大的共享資源,通過對(duì)知識(shí)資源的授權(quán)利用將加速創(chuàng)新和提高效率,也避免因人員流動(dòng)導(dǎo)致工作的脫節(jié)與貽誤. 3.通過工作流轉(zhuǎn)的自動(dòng)化,實(shí)現(xiàn)高效快捷的辦公。通過OA實(shí)現(xiàn)各部門,各級(jí)之間橫向縱向工作流程處理的自動(dòng)化,將大大提高辦公效率,保證快捷,準(zhǔn)確地處理工作.這一點(diǎn)在辦公場(chǎng)地較為分散的單位尤為明顯。 4.有效監(jiān)管工作人員的工作情況,實(shí)現(xiàn)實(shí)時(shí)工作任務(wù)的監(jiān)督與催辦。及時(shí)有效監(jiān)控各部門,各個(gè)人員的工作進(jìn)度情況;實(shí)時(shí)全面掌控各部門的工作辦理狀態(tài),及時(shí)發(fā)現(xiàn)問題及時(shí)解決,從而減少差錯(cuò),防止低效辦公.系統(tǒng)將記錄每個(gè)工作的全程式辦理狀態(tài)信息. 5.明確工作崗位與工作職責(zé)增強(qiáng)人員的責(zé)任感,減少推托,扯皮等現(xiàn)象。明確賦予各崗位的權(quán)限與職責(zé),任何人都不可越權(quán)處理工作,使得各自責(zé)任明確,落實(shí)到人,查有所依,杜絕工作中出現(xiàn)職權(quán)不明,相互推脫扯皮現(xiàn)象.解決多崗位,多部門的協(xié)同工作問題,實(shí)現(xiàn)高效協(xié)作辦公。 6.方便領(lǐng)導(dǎo)同各級(jí)工作人員的有效溝通。多種途徑,多種方式,使管理者同各級(jí)人員保持有效,快捷的工作交流與信息溝通,排除了信息溝通不暢給企業(yè)發(fā)展帶來的羈絆。 7.減少辦公開支,降低管理成本。節(jié)約時(shí)間,節(jié)約紙張,節(jié)約電話費(fèi),傳真費(fèi)用,縮短辦理時(shí)間,節(jié)省辦公開支,減少差錯(cuò)率,提高整體工作效率。 8.有效掌控客戶關(guān)系,動(dòng)態(tài)管理客戶資源。建立有效的客戶資源檔案,防止因銷售等人員的變動(dòng),而導(dǎo)致客戶信息資源的流失,確保業(yè)務(wù)發(fā)展與工作銜接的連續(xù)流暢。 9.多方位畏助辦公,全面利用組織的存量資源。通過對(duì)車輛,物品,圖書,信息等方面建立有效的管理環(huán)境,全面調(diào)動(dòng)與激活組織存量資源,最大范圍地發(fā)揮組織現(xiàn)有能量。1.2 可行性分析目前,大多數(shù)企業(yè)內(nèi)部的辦公管理還處于手工管理階段,工作起來效率很低,各種辦公需求分散化不易于管理,也無法快速地進(jìn)行各種辦公操作;不便于動(dòng)態(tài)及時(shí)地了解公司各部門和人員辦公信息,致使企業(yè)不能更好地適應(yīng)當(dāng)前經(jīng)濟(jì)形勢(shì)發(fā)展的需要。手工管理還存在著許多弊端,由于不可避免的人為因素,經(jīng)常造成數(shù)據(jù)的遺漏、誤報(bào)。本系統(tǒng)應(yīng)用計(jì)算機(jī)信息化管理有著儲(chǔ)存信息量大、速度快等許多優(yōu)點(diǎn),能夠?qū)蛻粜畔⑦M(jìn)行及時(shí)、準(zhǔn)確、快捷的維護(hù)同時(shí)也能提高企業(yè)員工的自身素質(zhì)。對(duì)于本系統(tǒng)開發(fā)的可行性,主要取決于經(jīng)濟(jì)和技術(shù)兩個(gè)方面。1.2.1 經(jīng)濟(jì)可行性從項(xiàng)目開發(fā)的角度考慮,本系統(tǒng)采用的軟硬件開發(fā)平臺(tái)成熟實(shí)用,成本相對(duì)低廉,系統(tǒng)操作簡(jiǎn)便,無需花費(fèi)大量的培訓(xùn)成本、開發(fā)費(fèi)用、維護(hù)費(fèi)用等,同時(shí),使用該系統(tǒng)對(duì)信息采取統(tǒng)一管理,可以更好的與客戶保持良好關(guān)系,在同等經(jīng)濟(jì)收入下,可以為企業(yè)節(jié)省一大筆不必要的開支。因此,從經(jīng)濟(jì)上來說完全可行。1.2.2 技術(shù)可行性Web技術(shù)的迅猛發(fā)展正推動(dòng)Internet上信息服務(wù)類的進(jìn)步,基于瀏覽器和服務(wù)器結(jié)構(gòu)的系統(tǒng)越來越成為主流,而Java語(yǔ)言的J2EE模式在這方面的應(yīng)用更是如火如荼。JSP的應(yīng)用使得OA在Web上開發(fā)變得可能。OA系統(tǒng)中的權(quán)限模塊開發(fā)可以采用比較成熟的ACL權(quán)限控制訪問列表設(shè)計(jì)模式,而這種模式相對(duì)比較復(fù)雜,還考慮到系統(tǒng)的移植性和易于維護(hù)性,而采用框架來開發(fā)就可以使得這種復(fù)雜簡(jiǎn)單化,所以采用了Struts2、Hibernate、Spring來進(jìn)行開發(fā)。采用了這三個(gè)框架可以大大降低系統(tǒng)各個(gè)模塊之間的耦合性,這樣便于系統(tǒng)移植和維護(hù)。Struts2負(fù)責(zé)頁(yè)面前端的控制和顯示,Struts2自帶的各種攔截器可以大部分滿足需求,而Struts2對(duì)各種頁(yè)面請(qǐng)求的統(tǒng)一管理,使得易于維護(hù)。頁(yè)面上各種數(shù)據(jù)的顯示通過Struts2豐富的標(biāo)簽和強(qiáng)大的OGNL表達(dá)式來完成,而這些數(shù)據(jù)展示的標(biāo)簽和語(yǔ)言完全和后臺(tái)數(shù)據(jù)分離,使得頁(yè)面和后臺(tái)解耦,使得系統(tǒng)易于移植。現(xiàn)在主流的數(shù)據(jù)庫(kù)主要是以關(guān)系型數(shù)據(jù)庫(kù)為主,而Java語(yǔ)言是純面向?qū)ο蟮恼Z(yǔ)言,而后臺(tái)和數(shù)據(jù)庫(kù)的交互是很重要的一步,但程序員大部分時(shí)間都在和SQL語(yǔ)句打交道,而這種SQL語(yǔ)句大部分都存在重復(fù)現(xiàn)象,這樣既不利于維護(hù)有帶來了時(shí)間的大大浪費(fèi),而致使于程序員不能把重心放在程序的業(yè)務(wù)邏輯處理上去。所以有了Hibernate的出現(xiàn),Hibernate采用對(duì)象關(guān)系映射的模式,使得對(duì)數(shù)據(jù)庫(kù)的操作對(duì)象化,原本要寫很長(zhǎng)的SQL現(xiàn)在只需掉某一個(gè)簡(jiǎn)單的方法就可完成,大大簡(jiǎn)化了和數(shù)據(jù)庫(kù)的操作。而Hibernate的HQL查詢語(yǔ)言,使得對(duì)復(fù)雜的數(shù)據(jù)庫(kù)操作更加方便。系統(tǒng)在時(shí)間和效率上都會(huì)大大的提高。有了Struts2和Hibernate,但怎樣使這兩種技術(shù)更好的結(jié)合起來呢,這就可以用到Spring了。Spring強(qiáng)大的功能會(huì)使系統(tǒng)更加的解耦和穩(wěn)定。比如某個(gè)Action中使用了后臺(tái)的某個(gè)接口,但是這個(gè)接口使用的哪個(gè)實(shí)現(xiàn)類呢,這個(gè)可以通過Spring的IOC容器來解決,只需在配置文件中進(jìn)行相關(guān)配置,在代碼中我們就可以完全面向接口編程了,而Spring的IOC(控制反轉(zhuǎn))容器會(huì)幫我們實(shí)力化并管理這些實(shí)現(xiàn)類。在數(shù)據(jù)庫(kù)操作中,事務(wù)控制是非常重要的一步,如果采用手動(dòng)控制會(huì)非常繁瑣且不能步步到位,雖然Hibernate有事務(wù)控制功能,但還是需要自己手動(dòng)的開啟和提交,而Spring對(duì)Hibernate做了很好的封裝,Spring采用Java動(dòng)態(tài)代理技術(shù),很好的實(shí)現(xiàn)了AOP(面向切面編程)思想,通過面向切面編程,Spring封裝了Hibernate的Session,使得事務(wù)控制自動(dòng)化。而Spring的AOP還可以很好的進(jìn)行日志記錄等個(gè)方法的操作。OA辦公系統(tǒng)中公文的流轉(zhuǎn)是基礎(chǔ)并非常重要的環(huán)節(jié),通常企業(yè)內(nèi)部會(huì)有各種流程的需求,這樣就不能把流程訂死,需要靈活多變可配置。開源框架JBPM就可以達(dá)到這個(gè)目的。JBPM有一套自己的流程定義語(yǔ)言JPDL,用戶可以用設(shè)計(jì)器設(shè)計(jì)流程定義文件,通過解析流程定義文件,就可以進(jìn)行復(fù)雜的流程實(shí)現(xiàn)。而JBPM持久化策略采用的是Hibernate,這使得JBPM能更好的和本系統(tǒng)結(jié)合起來。1.3 本章小結(jié)本章主要介紹了OA辦公自動(dòng)化管理系統(tǒng)的系統(tǒng)分析,分別從數(shù)據(jù)流程分析、需求分析、可行性分析三個(gè)方面對(duì)系統(tǒng)系統(tǒng)進(jìn)行了詳細(xì)描述,為下一階段的系統(tǒng)設(shè)計(jì)做準(zhǔn)備。第2章 系統(tǒng)設(shè)計(jì)2.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)OA辦公自動(dòng)化系統(tǒng)共設(shè)計(jì)了公文維護(hù)、流程管理、表單定義、機(jī)構(gòu)管理、人員管理、模塊管理、角色管理、用戶管理八個(gè)模塊。構(gòu)建系統(tǒng)結(jié)構(gòu)如圖3-1所示。OA辦公自動(dòng)化公文管理工作流程組織管理權(quán)限管理公文維護(hù)流程管理表單定義機(jī)構(gòu)管理人員管理模塊管理角色管理用戶管理圖3-1 系統(tǒng)功能結(jié)構(gòu)圖2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)從數(shù)據(jù)庫(kù)管理系統(tǒng)的角度來看,數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)三級(jí)模式結(jié)構(gòu),但數(shù)據(jù)庫(kù)的這種模式結(jié)構(gòu)對(duì)最終用戶和程序員是透明的,他們見到的僅是數(shù)據(jù)庫(kù)的外模式和應(yīng)用程序。從最終用戶角度來看,數(shù)據(jù)庫(kù)系統(tǒng)分為單用戶結(jié)構(gòu)、主從式結(jié)構(gòu)、分布式結(jié)構(gòu)和客戶/服務(wù)器結(jié)構(gòu)2。由數(shù)據(jù)項(xiàng)可以設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,以及他們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這些實(shí)體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動(dòng),了解了數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)之后便可以對(duì)本系統(tǒng)進(jìn)行數(shù)據(jù)庫(kù)表關(guān)系圖設(shè)計(jì),數(shù)據(jù)庫(kù)表關(guān)系圖如圖3-2所示。圖3-2 數(shù)據(jù)庫(kù)關(guān)系圖(1)T_Module(模塊信息表)模塊信息表用來保存模塊的詳細(xì)信息。表T_Module的結(jié)構(gòu)見表3-1。表3-1 T_Module的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDNUMBER10是IDNAMEVARCHAR230模塊名稱SNVARCHAR210模塊編碼URLVARCHAR230模塊入口地址ORDERNONUMBER5排序編碼PARENTIDNUMBER10父模塊ID(2)T_Organization(機(jī)構(gòu)信息表)機(jī)構(gòu)信息表用來保存機(jī)構(gòu)的基本信息。表T_Organization的結(jié)構(gòu)見表3-2。表3-2 T_Organization的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDNUMBER10是IDNAMEVARCHAR230機(jī)構(gòu)名稱PIDNUMBER10父機(jī)構(gòu)IDSNVARCHAR210機(jī)構(gòu)編碼DESCRIPTIONVARCHAR2255機(jī)構(gòu)描述(3)T_Person(人員信息表)人員表用來保存公司人員基本信息。表T_Person的結(jié)構(gòu)見表3-3。表3-3 T_Person的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDNUMBER10是IDNAMEVARCHAR230人員姓名SEXCHAR1人員性別ADDRESSVARCHAR2255地址DUTYVARCHAR230職務(wù)PHONEVARCHAR230電話DESCRIPTIONVARCHAR2255介紹ORGNUMBER10所屬機(jī)構(gòu)BIRTHDAYDATE生日(4)T_User(用戶信息表)用戶信息表用來保存系統(tǒng)用戶登錄信息。表T_User的結(jié)構(gòu)見表3-4。表3-4 T_User的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDNUMBER10是IDUSERNAMEVARCHAR230用戶名PASSWORDVARCHAR230密碼CREATETIMEDATE創(chuàng)建時(shí)間EXPIRETIMEDATE失效時(shí)間PERSONNUMBER10人員ID(5)T_Role(角色信息表)角色信息表用來保存系統(tǒng)角色信息。表T_Role 的結(jié)構(gòu)見表3-5。表3-5 T_Role的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDNUMBER10是IDNAMEVARCHAR230角色名稱(6)T_UsersRoles(用戶角色列表)用戶角色列表用來保存用戶的角色信息。表T_UsersRoles 的結(jié)構(gòu)見表3-6。表3-6 T_UsersRoles 的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDNUMBER10是IDROLENUMBER10角色I(xiàn)DUSERSNUMBER10用戶IDORDERNONUMBER5排序號(hào)(7)T_ACL(權(quán)限控制訪問列表)權(quán)限控制訪問列表用來保存用戶和角色的模塊功能權(quán)限信息。表T_ACL的結(jié)構(gòu)見表3-7。表3-7 T_ACL 的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDNUMBER10是IDPRINCIPALTYPEVARCHAR210主體類型PRINCIPALIDNUMBER10主體標(biāo)識(shí)續(xù)表(3-7)MODULEIDNUMBER10資源標(biāo)識(shí)ACLSTATENUMBER4授權(quán)狀態(tài)ACLTRISTATENUMBER4授權(quán)狀態(tài)掩碼(8)T_WorkFlow(工作流信息表)工作流信息表用來保存定義的工作流信息。表T_WorkFlow 的結(jié)構(gòu)見表3-8。表3-8 T_WorkFlow 的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDNUMBER10是IDNAMEVARCHAR230流程名稱PROCESSDEFPATHVARCHAR2255流程定義文件路徑PROCESSIMAGEPATHVARCHAR2255流程定義圖片路徑(9)T_FlowForm(表單流程表)表單流程表用來保存每個(gè)表單所對(duì)應(yīng)的流程信息。表T_FlowForm 的結(jié)構(gòu)見表3-9。表3-9 T_FlowForm 的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDNUMBER10是IDWORKFLOWNUMBER10表單對(duì)應(yīng)的工作流IDTEMPLATEVARCHAR2r200對(duì)應(yīng)的表單模板(10)T_FormField(表單輸入域表)表單輸入域表用來保存表單輸入域的信息。表T_FormField 的結(jié)構(gòu)見表3-10。表3-10 T_FormField 的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDNUMBER10是IDFIELDLABELVARCHAR230表單域名FIELDNAMEVARCHAR230表單域顯示名FIELDINPUTNUMBER10輸入域IDFIELDTYPENUMBER10輸入域類型IDFLOWFORMIDNUMBER10表單流程ID(11)T_FieldInput(表單輸入域表)表單輸入域表用來表單輸入域信息。表T_FieldInput 的結(jié)構(gòu)見表3-11。表3-11 T_FieldInput 的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDNUMBER10是IDNAMEVARCHAR230表單輸入域名TEMPLATEVARCHAR230表單輸入域模板(12)T_FieldItem(表單輸入域項(xiàng)目表)表單輸入域項(xiàng)目表用來保存表單輸入域所含項(xiàng)目的信息。表T_FieldItem 的結(jié)構(gòu)見表3-12。表3-12 T_FieldItem 的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述FIELDIDNUMBER10是表單輸入域IDLABELVARCHAR230輸入域標(biāo)簽名VALUEVARCHAR250輸入域項(xiàng)目值ITEMINDEXNUMBER10輸入域項(xiàng)目序號(hào)(13)T_FieldType(表單輸入域類型表)表單輸入域類型表用來表單輸入域的類型信息。表T_FieldType 的結(jié)構(gòu)見表3-13。表3-13 T_FieldType 的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDNUMBER10是IDNAMEVARCHAR230輸入域類型名TYPEVARCHAR230輸入域類型(14)T_Document(公文表)公文表用來保存公文的基本信息。表T_Document 的結(jié)構(gòu)見表3-14表3-14 T_Document 的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDNUMBER10是IDTITLEVARCHAR230公文標(biāo)題PATHVARCHAR2100公文存儲(chǔ)路徑CREATETIMEDATE公文創(chuàng)建時(shí)間續(xù)表(3-14)DESCRIPTIONVARCHAR2200公文描述STATUSVARCHAR2100公文狀態(tài)CREATORNUMBER10公文創(chuàng)建者WORKFLOWNUMBER10公文所走流程PROCESSINSTANCEIDNUMBER19公文所走流程實(shí)例ID(15)T_Document_Properties(公文屬性表)公文屬性表用來保存公文自定義輸入項(xiàng)類型信息。表T_Document_Properties的結(jié)構(gòu)見表3-15。表3-15 T_Document_Properties 的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述DOCUMENTIDNUMBER10是公文IDJAVA_LANG_STRINGVARCHAR230Java String類型JAVA_UTIL_DATEDATEJava Date類型JAVA_LANG_INTEGERNUMBER10Java Integer類型JAVA_LANG_LONGNUMBER19Java Long類型JAVA_IO_FILELONG RAWJava File類型PROPERTYNAMEVARCHAR30屬性名(16)T_ApproveInfo(審批信息表)審批信息表用來保存公文審批信息。表T_ApproveInfo 的結(jié)構(gòu)見表3-16。表3-16 T_ApproveInfo 的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度是否主鍵描述IDNUMBER10是IDAPPROVETIMEDATE審批時(shí)間APPROVERNUMBER10審批人IDAPPROVEINFOVARCHAR2500審批信息DOCUMENTNUMBER10所屬公文ID2.3 開發(fā)及運(yùn)行環(huán)境CPU:P41.8GHz;內(nèi)存:256MB以上;操作系統(tǒng):Windows XP/Windows 2000;開發(fā)工具包:JDK Version1.6.2;數(shù)據(jù)庫(kù):Oracle10G;JSP服務(wù)器:Tomcat6.0.20;瀏覽器:IE6.0以上;分辨率:1024*800像素2.4 本章小結(jié)本章主要進(jìn)行了系統(tǒng)的體系結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)庫(kù)的設(shè)計(jì),詳細(xì)描述了數(shù)據(jù)庫(kù)中各個(gè)表格的字段、數(shù)據(jù)類型、長(zhǎng)度等結(jié)構(gòu),并對(duì)客戶管理系統(tǒng)的開發(fā)及運(yùn)行環(huán)境進(jìn)行了說明。第3章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)3.1 登陸模塊登錄模塊中用戶正確輸入賬號(hào)和密碼之后,系統(tǒng)可以依據(jù)用戶權(quán)限設(shè)置進(jìn)入主界面后能夠操作的模塊功能。登錄界面如圖4-1所示。圖4-1登錄界面3.2 主界面系統(tǒng)主界面如圖4-2所示。圖4-2主界面3.3 組織管理模塊3.3.1 主要功能和程序流程該模塊主要包含機(jī)構(gòu)管理和人員管理兩個(gè)子模塊。機(jī)構(gòu)管理主要是對(duì)公司的組織機(jī)構(gòu)進(jìn)行管理,人員管理主要是對(duì)公司各個(gè)人員信息進(jìn)行管理,同時(shí)每個(gè)人員又屬于某個(gè)特定的機(jī)構(gòu)。組織管理的類圖設(shè)計(jì)如圖4-3所示。圖4-3組織管理類圖3.3.2 操作流程及界面在選擇一個(gè)用戶登錄后,系統(tǒng)根據(jù)此用戶擁有的角色和個(gè)人權(quán)限來判斷該用戶是否有該模塊的使用權(quán)限,如果有添加、刪除、編輯等權(quán)限才可使用。機(jī)構(gòu)管理界面如圖4-4所示。圖4-4機(jī)構(gòu)管理界面機(jī)構(gòu)管理是一個(gè)樹形結(jié)構(gòu),點(diǎn)擊機(jī)構(gòu)名稱,若該機(jī)構(gòu)下存在子機(jī)構(gòu),則會(huì)顯示其子機(jī)構(gòu)信息。點(diǎn)擊返回可以查看機(jī)構(gòu)的父機(jī)構(gòu)信息??梢渣c(diǎn)擊添加機(jī)構(gòu)信息添加機(jī)構(gòu)信息。添加界面如圖4-5所示。4-5機(jī)構(gòu)管理添加界面人員管理如圖4-6所示。圖4-6人員管理界面點(diǎn)擊添加人員信息可以添加人員信息。人員屬于某個(gè)特定的機(jī)構(gòu)。人員添加界面如圖4-7所示。圖4-7人員管理添加界面3.4 權(quán)限管理模塊3.4.1 主要功能及程序流程在權(quán)限管理中,權(quán)限控制圍繞“誰可以做什么,以及如何做”這三元組來擴(kuò)展。用戶(User)可以擁有多個(gè)角色(Role),角色可以被分配給多個(gè)用戶。權(quán)限的意思就是對(duì)某個(gè)資源的某個(gè)操作,現(xiàn)在規(guī)定:所謂資源,即系統(tǒng)的模塊。所謂操作,包括:增加、刪除、修改、查詢等操作。權(quán)限管理系統(tǒng)的總體功能分為:授權(quán)與認(rèn)證。授權(quán),指將權(quán)限授予角色或用戶。如果用戶A擁有角色B,角色C,那么,缺省的情況下,用戶A將擁有被分配給角色B和角色C的所有權(quán)限(即默認(rèn)情況下,用戶A繼承其擁有的角色所具有的所有權(quán)限);如果用戶擁有多個(gè)角色,那么用戶的權(quán)限是這些角色權(quán)限的合集。如果用戶擁有多個(gè)角色,而且角色之間的授權(quán)有沖突(比如對(duì)同一個(gè)資源的操作,一個(gè)角色為“允許”,另外一個(gè)角色為“不允許”),將以優(yōu)先級(jí)別高的角色為準(zhǔn)(所謂優(yōu)先級(jí)別,也就是對(duì)于這個(gè)用戶所擁有的角色而言,是有順序的,同一個(gè)角色在不同的用戶那里有可能擁有不同的優(yōu)先級(jí))。除了可以對(duì)角色進(jìn)行授權(quán)外,也可以針對(duì)用戶進(jìn)行授權(quán),也就是說,將權(quán)限授予用戶。針對(duì)某個(gè)資源的所有操作,我們可以設(shè)置這些權(quán)限對(duì)用戶來說是“繼承”或“不繼承”。其中繼承:意思是這些權(quán)限將使其(即用戶)所擁有的角色的權(quán)限,而不使用其(即用戶)單獨(dú)設(shè)置的權(quán)限;不繼承:意思是這些權(quán)限將使用其單獨(dú)設(shè)置的權(quán)限,而不使用其所擁有的角色的權(quán)限。認(rèn)證,指用戶訪問資源的某些操作時(shí),根據(jù)授權(quán),判斷是否允許用戶的訪問。在用戶訪問的時(shí)候,需要進(jìn)行即時(shí)的判斷(是否有權(quán)限訪問)。應(yīng)該提供查詢的功能,可以查詢某個(gè)用戶所擁有的所有權(quán)限??傮w上,可分為模塊管理、角色管理和用戶管理模塊。其實(shí)針對(duì)權(quán)限管理有很多種解決方案,如RBAC基于角色的訪問權(quán)限控制等。而針對(duì)權(quán)限管理的特定,和OA系統(tǒng)的特性,對(duì)在基于RBAC的基礎(chǔ)上增加可單獨(dú)對(duì)用戶授權(quán)的方式,演變成ACL權(quán)限控制訪問列表的形式來做權(quán)限管理。ACL設(shè)計(jì)不僅可以針對(duì)用戶角色授權(quán),還可以單獨(dú)針對(duì)用戶進(jìn)行授權(quán)。ACL權(quán)限控制訪問列表的設(shè)計(jì)類圖如圖4-8所示。圖4-8 ACL權(quán)限控制訪問列表設(shè)計(jì)類圖在圖4-8中,Module表示一個(gè)模塊,對(duì)一個(gè)模塊進(jìn)行權(quán)限訪問控制。ACL屬性:主體類型:User或Role;主體標(biāo)識(shí):User或Role的id;資源標(biāo)識(shí):module的id,若在ACL中建立module屬性,這樣的強(qiáng)關(guān)聯(lián)會(huì)使module查詢?cè)诰彺嬷?,占用大量?jī)?nèi)存資源。所以用id進(jìn)行弱關(guān)聯(lián);授權(quán)狀態(tài)屬性:一個(gè)int有32位,用后四位表示CRUD操作,位的取值1或0表示允許或不允許。規(guī)定后四位每位代表的意思,如:0(D)0(U)0(R)0(C)若對(duì)“張三”設(shè)置CRUD操作,如果用不同的屬性來表示的話,一旦這種操作變化的話,則要去修改數(shù)據(jù)庫(kù)字段,或者其他相關(guān)的;授權(quán)狀態(tài)的掩碼:若針對(duì)用戶授權(quán),而用戶有繼承的概念,所以需要另一個(gè)狀態(tài)位。如用戶擁有一個(gè)角色可以對(duì)一個(gè)資源進(jìn)行操作,而這個(gè)用戶也可以對(duì)這個(gè)資源進(jìn)行操作,那么該用角色的授權(quán)還是用用戶的授權(quán)呢?所以我們需要一個(gè)繼承或者不繼承的概念。多加一個(gè)狀態(tài)位(授權(quán)狀態(tài)的掩碼):(簡(jiǎn)單的繼承,不考慮每種操作的繼承)用全1表示繼承,全0表示不繼承。全1就是-1,全0就是0,所以這是一個(gè)int。相當(dāng)于第三種授權(quán)狀態(tài)(允許,不允許,繼承)。Permission是通過授權(quán)狀態(tài)掩碼體現(xiàn)出來的。3.4.2 操作流程及界面 通該模塊主要包含模塊管理、角色管理、用戶管理三大子模塊。通過這三個(gè)子模塊實(shí)現(xiàn)對(duì)權(quán)限訪問的控制。模塊管理界面如圖4-9所示。圖4-9 模塊管理界面模塊管理也是一個(gè)樹形結(jié)構(gòu),點(diǎn)擊模塊名稱,若該模塊下存在子模塊,則會(huì)顯示子模塊信息。可以點(diǎn)擊添加模塊信息對(duì)其進(jìn)行添加,點(diǎn)擊返回查看父模塊信息。而模塊信息也是用戶登錄后界面左邊導(dǎo)航菜單所讀取的信息。角色管理界面如圖4-10所示。圖4-10 角色管理界面點(diǎn)擊添加角色信息可以對(duì)角色進(jìn)行添加。而點(diǎn)擊角色授權(quán)可以真的角色進(jìn)行相應(yīng)模塊的授權(quán),角色授權(quán)界面如圖4-11所示。圖4-11 角色授權(quán)界面若要對(duì)某個(gè)模塊進(jìn)行授權(quán)是,可直接選擇權(quán)限CRUD即可,點(diǎn)擊啟用則授權(quán)才生效。用戶管理界面如圖4-12所示。圖4-12 用戶管理界面在點(diǎn)擊用戶管理系統(tǒng)會(huì)自動(dòng)查出人員相關(guān)信息,如果該人員信息沒有分配賬號(hào)需限分配賬號(hào),分配賬號(hào)的界面如圖4-13所示。圖圖4-13 分配用戶賬號(hào)界面分配完賬號(hào)后才可以對(duì)用戶進(jìn)行分配角色和授權(quán)。點(diǎn)擊分配角色可以看到用戶所擁有的角色,界面如圖4-14所示。圖4-14 查看用戶已有角色界面點(diǎn)擊給用戶分配角色可以對(duì)用戶進(jìn)行角色分配,分配角色界面如圖4-15所示。圖4-15 分配用戶角色界面3.5 工作流程模塊3.5.1 主要功能及程序流程工作流程分為流程管理和表單定義兩個(gè)字模塊。工作流程主要是針對(duì)公文的流轉(zhuǎn)。文檔流轉(zhuǎn)事實(shí)上是對(duì)工作流以及工作流中的文檔進(jìn)行管理,對(duì)于大多數(shù)企業(yè)來說,核心的管理就是工作流和文檔的管理。一般的企業(yè)都會(huì)有很多流程,比如:請(qǐng)假流程,報(bào)銷流程,收文/發(fā)文流程。其中收文:處理收到上級(jí)部門及其它部門的公文;發(fā)文:上級(jí)及有關(guān)部門需協(xié)調(diào)和解決的問題進(jìn)行一些列的流程。流程的本質(zhì),就是很多人在一起完成一件事情,流程可能會(huì)進(jìn)過不同的中間環(huán)節(jié),在中間環(huán)節(jié)上,由相關(guān)人員進(jìn)行處理,所有流程中間環(huán)節(jié)的處理過程,需要進(jìn)行記錄。在做流程這方面,可以用Java的開源框架JBPM(java Business Process Management)來實(shí)現(xiàn)。JBPM簡(jiǎn)要過程:定義流程(利用JPDL);部署流程(部署到數(shù)據(jù)庫(kù));創(chuàng)建公文并與流程實(shí)例綁定;可通過JBPM的接口,觸發(fā)流程向下流動(dòng);可通過JBPM的接口,獲得流動(dòng)到某個(gè)用戶那里的文檔(即待處理任務(wù)列表);可通過JBPM的接口,結(jié)束某個(gè)用戶的任務(wù)(這將觸發(fā)流程繼續(xù)向下流動(dòng));如此,直到結(jié)束。JBPM是根據(jù)UML中的活動(dòng)圖為基礎(chǔ),把活動(dòng)圖持久化到數(shù)據(jù)庫(kù)。流程定義基本概念的類圖如圖4-15所示。圖4-15 流程定義類圖流程執(zhí)行的概念,如圖4-16所示。圖4-16 流程執(zhí)行類圖JBPM流程引擎核心調(diào)度過程調(diào)用ProcessInstance.signal()方法,其時(shí)序圖如圖4-17所示。圖4-17 流程執(zhí)行類圖在在OA系統(tǒng)中,流程管理的用例圖如圖4-18所示。圖4-18 流程管理用例圖3.5.2 操作流程及界面工作流管理界面如圖4-19所示。圖4-19 工作流管理界面在通過上傳流程定義文件和圖片來在系統(tǒng)中保存一個(gè)工作流。上傳成功后可以點(diǎn)擊流程名稱查看流程定義圖片和文件。流程定義圖片如圖4-20所示,流程定義文件如圖4-21所示。圖4-20 流程定義圖片圖4-21 流程定義文件定義完工作流程之后,可以對(duì)流程進(jìn)行表單定義。表單定義用于公文流轉(zhuǎn)是動(dòng)態(tài)表單的生成。工作流表單定義界面如圖4-22所示。圖4-22 工作流表單定義界定義表單域界面如圖4-23所示。圖4-23 定義表單界面定義完流程對(duì)應(yīng)的表單域后,在添加公文,然后流轉(zhuǎn)公文時(shí),就可以看到定義的流程。3.6 公文管理模塊3.6.1 主要功能及程序流程在總共可分為公文管理以及公文歸檔。 文檔流轉(zhuǎn)事實(shí)上是對(duì)工作流以及工作流中的文檔進(jìn)行管理,對(duì)于大多數(shù)企業(yè)來說,核心的管理就是工作流和文檔的管理。 一般的企業(yè)都會(huì)有很多流程,比如:請(qǐng)假流程、報(bào)銷流程、收文/發(fā)文流程,其中收文:處理收到上級(jí)部門及其它部門的公文。發(fā)文:上級(jí)及有關(guān)部門需協(xié)調(diào)和解決的問題進(jìn)行的一系列流程。流程的本質(zhì),就是很多人在一起完成一件事情。流程可能會(huì)經(jīng)過不同的中間環(huán)節(jié),在中間環(huán)節(jié)上,由相關(guān)人員進(jìn)行處理,所有流程中間環(huán)節(jié)的處理過程,需要進(jìn)行記錄。公文管理的用例圖如圖4-24所示。圖4-24 公文管理用例圖根添加的公文可以可以進(jìn)行公文流轉(zhuǎn),公文流轉(zhuǎn)的類圖如圖4-25所示。圖4-25 公文流轉(zhuǎn)類圖3.6.2 操作流程及界面點(diǎn)擊公文維護(hù)后,系統(tǒng)會(huì)查出當(dāng)前用戶的公文信息,用戶可以選擇我的公文、待審公文、已審公文等進(jìn)行查看。公文維護(hù)界面如圖4-26所示。圖4-26 公文流轉(zhuǎn)類圖在在其主界面上,顯示由當(dāng)前登陸人員創(chuàng)建的所有公文??梢栽谖业墓摹⒋龑徍斯?、已審核公文之間切換。公文的添加,先選擇公文要走的流程,如圖4-27所示。圖4-27 選擇公文流程點(diǎn)擊其中一個(gè)公文形式(流程),打開此流程的公文添加界面,如圖4-28所示。圖4-28 添加公文信息重要的一點(diǎn)是,可以選擇流程!這些流程都是通過設(shè)計(jì)器或編寫流程文件的方法創(chuàng)建的。添加完成后,公文管理主界面如圖4-29所示。圖4-29 公文管理主界面公文的刪除:用戶可以對(duì)公文執(zhí)行刪除操作;公文的流轉(zhuǎn):可以點(diǎn)擊提交操作,將公文提交流程。用戶只能對(duì)屬于自己的公文(自己創(chuàng)建的公文)進(jìn)行操作,在公文進(jìn)入流程之后,不再允許用戶對(duì)公文執(zhí)行修改和刪除操作,在公文流轉(zhuǎn)結(jié)束以后,用戶可以對(duì)公文設(shè)置成歸檔狀態(tài),用戶登錄系統(tǒng)之后,可以看到自己的待審批公文列表。在我的公文視圖里,可以將這些公文進(jìn)行提交,即提交到流程。打開提交界面,如圖4-30所示。圖4-30 選擇公文提交的下一步選擇下一個(gè)步驟進(jìn)行提交操作,提交完成后,在公文主界面上,不能再次對(duì)公文執(zhí)行提交和刪除等操作,如圖4-31所示。圖4-31 公文管理主界面如果此時(shí)在流程中下一個(gè)節(jié)點(diǎn)的用戶登陸,便可以在“帶審批文檔”視圖中看到流到此人的文檔。下面是一個(gè)帶審核公文列表,如圖4-32所示。圖4-32 待審公文主界面執(zhí)行審批操作,如圖4-33所示。圖4-33 公文審批界面點(diǎn)擊保存審核信息之后,可以執(zhí)行提交操作。當(dāng)然,也可以再次點(diǎn)擊審核操作,這時(shí)候,需要打開界面,更改審核意見!提交之后,根據(jù)相應(yīng)的選擇,公文將流到相應(yīng)的人員那里,依次下去,直到流程的結(jié)束!這就是公文管理主要過程!在公文管理主界面上,可以點(diǎn)擊“下載”,下載附件文檔,以便查看詳細(xì)內(nèi)容;或者點(diǎn)擊“查看審批歷史”,可以查看相關(guān)文檔的審批記錄。一旦文檔經(jīng)過審批并提交之后,在“待審批文檔”列表視圖中就會(huì)消失,但是在“已審批文檔”中,卻需要能夠找到這些已被審批過的文檔記錄!3.7 本章小結(jié)本章對(duì)系統(tǒng)四大模塊:組織管理、權(quán)限管理、工作流程、公文管理的程序流程設(shè)計(jì)、界面及主要代碼進(jìn)行了說明。第4章 系統(tǒng)測(cè)試軟件測(cè)試就是利用測(cè)試工具按照測(cè)試方案和流程對(duì)產(chǎn)品進(jìn)行功能和性能測(cè)試,甚至根據(jù)需要編寫不同的測(cè)試工具,設(shè)計(jì)和維護(hù)測(cè)試系統(tǒng),對(duì)測(cè)試方案可能出現(xiàn)的問題進(jìn)行分析和評(píng)估。執(zhí)行測(cè)試用例后,需要跟蹤故障,以確保開發(fā)的產(chǎn)品適合需求。4.1 軟件測(cè)試的基本概念使用人工或者自動(dòng)手段來運(yùn)行或測(cè)試某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。它是幫助識(shí)別開發(fā)完成(中間或最終的版本)的計(jì)算機(jī)軟件(整體或部分)的正確度(correctness)、完全度(completeness)和質(zhì)量(quality)的軟件過程;是SQA(software quality assurance)的重要子域6。Grenford J.Myers曾對(duì)軟件測(cè)試的目的提出過以下觀點(diǎn):1.測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程;2.好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案;3.成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。然而,這種觀點(diǎn)指出測(cè)試是以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能.但是只從字面意思理解,可能會(huì)產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯(cuò)誤是軟件測(cè)試的唯一目的,查找不出錯(cuò)誤的測(cè)試就是沒有價(jià)值的測(cè)試,實(shí)際上并非如此! 1.測(cè)試并不僅僅是為了找出錯(cuò)誤.通過分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的發(fā)生趨勢(shì),可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前軟件開發(fā)過程中的缺陷,以便及時(shí)改進(jìn);2.這種分析也能幫助測(cè)試人員設(shè)計(jì)出有針對(duì)性的測(cè)試方法,改善測(cè)試的效率和有效性;3.沒有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定軟件質(zhì)量的一種方法。4.2 軟件測(cè)試的內(nèi)容單軟件測(cè)試主要工作內(nèi)容是驗(yàn)證(verification)和確認(rèn)(validation )。驗(yàn)證(verification)是保證軟件正確地實(shí)現(xiàn)了一些特定功能的一系列活動(dòng),即保證軟件做了你所期望的事情。(Do the right thing)1.確定軟件生存周期中的一個(gè)給定階段的產(chǎn)品是否達(dá)到前階段確立的需求的過程;2.程序正確性的形式證明,即采用形式理論證明程序符合設(shè)計(jì)規(guī)約規(guī)定的過程;3.評(píng)市、審查、測(cè)試、檢查、審計(jì)等各類活動(dòng),或?qū)δ承╉?xiàng)處理、服務(wù)或文件等是否和規(guī)定的需求相一致進(jìn)行判斷和提出報(bào)告。確認(rèn)(validation)是一系列的活動(dòng)和過程,目的是想證實(shí)在一個(gè)給定的外部環(huán)境中軟件的邏輯正確性。即保證軟件以正確的方式來做了這個(gè)事件(Do it right) 1.靜態(tài)確認(rèn),不在計(jì)算機(jī)上實(shí)際執(zhí)行程序,通過人工或程序分析來證明軟件的正確性;2.動(dòng)態(tài)確認(rèn),通過執(zhí)行程序做分析,測(cè)試程序的動(dòng)態(tài)行為,以證實(shí)軟件是否存在問題。軟件測(cè)試的對(duì)象不僅僅是程序測(cè)試,軟件測(cè)試應(yīng)該包括整個(gè)軟件開發(fā)期間各個(gè)階段所產(chǎn)生的文檔,如需求規(guī)格說明、概要設(shè)計(jì)文檔、詳細(xì)設(shè)計(jì)文檔,當(dāng)然軟件測(cè)試的主要對(duì)象還是源程序。4.3 軟件測(cè)試的過程測(cè)試過程按4個(gè)步驟進(jìn)行,即單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試及發(fā)布版測(cè)試。開始是單元測(cè)試,集中對(duì)用源代碼實(shí)現(xiàn)的每一個(gè)程序單元進(jìn)行測(cè)試,檢查各個(gè)程序模塊是否正確地實(shí)現(xiàn)了規(guī)定的功能。集成測(cè)試把已測(cè)試過的模塊組裝起來,主要對(duì)與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進(jìn)行測(cè)試。確認(rèn)測(cè)試則是要檢查已實(shí)現(xiàn)的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否完全、正確。系統(tǒng)測(cè)試把已經(jīng)經(jīng)過確認(rèn)的軟件納入實(shí)際運(yùn)行環(huán)境中,與其它系統(tǒng)成份組合在一起進(jìn)行測(cè)試。4.4 本系統(tǒng)的測(cè)試用采用人工測(cè)試方法,首先進(jìn)行子系統(tǒng)的測(cè)試即單元測(cè)試,子系統(tǒng)是各個(gè)模塊的分支,通過測(cè)試之后,在與模塊相連接,看總體的設(shè)計(jì)是否的合理。剛開始調(diào)試時(shí)不必按完全真實(shí)情況下的數(shù)據(jù)量進(jìn)行,可以采用一些精心設(shè)計(jì)的數(shù)據(jù)量較少的測(cè)試用例,這樣不僅可以使處理工作量大大減少,而且更容易發(fā)現(xiàn)錯(cuò)誤和確定錯(cuò)誤所在位置。本系統(tǒng)主要有八個(gè)模塊組成,下面為對(duì)用戶登陸、客戶信息維護(hù)、系統(tǒng)設(shè)置、信息查詢四大模塊的測(cè)試過程。(1) 用戶登錄和重置測(cè)試過程見表5-1。表5-1登錄和退出測(cè)試表單元驗(yàn)收項(xiàng)測(cè)試步驟期望結(jié)果實(shí)際結(jié)果是否通過登錄和退出登錄在登錄頁(yè)面輸入賬號(hào)和密碼,點(diǎn)擊登錄進(jìn)入主頁(yè)面用戶名、密碼錯(cuò)誤時(shí)回到登錄頁(yè)面,登錄成功時(shí)進(jìn)入主頁(yè)面,并根據(jù)賬號(hào)權(quán)限設(shè)置顯示對(duì)應(yīng)的功能與期望結(jié)果一致是重置在登錄頁(yè)面輸入賬號(hào)和密碼點(diǎn)擊重置清空賬號(hào)和密碼信息與期望結(jié)果一致是(2) 公文管理模塊測(cè)試過程見表5-2。表5-2公文管理測(cè)試表單元驗(yàn)收項(xiàng)測(cè)試步驟期望結(jié)果實(shí)際結(jié)果是否通過公文管理公文維護(hù)Case1:點(diǎn)擊公文維護(hù)進(jìn)入公文基本信息設(shè)置頁(yè)面與期望結(jié)果一致是Case2:Case1的基礎(chǔ)上點(diǎn)擊查看待審公文進(jìn)入查看待審詳細(xì)信息頁(yè)面與期望結(jié)果一致是Case3:Case2基礎(chǔ)上點(diǎn)擊審批,進(jìn)行公文審批進(jìn)入公文審批輸入審批意見信息頁(yè)面與期望結(jié)果一致是Case4:Case2基礎(chǔ)上點(diǎn)擊提交跳轉(zhuǎn)到選擇下一步會(huì)提交到誰與期望結(jié)果一致是Case5:Case4基礎(chǔ)上選擇一個(gè)下一步提交到誰提交成功與期望結(jié)果一致是續(xù)表(5-2)Case6:Case1基礎(chǔ)上點(diǎn)擊已審公文進(jìn)入查看已審公文信息頁(yè)面與期望結(jié)果一致是Case7:Case6基礎(chǔ)上點(diǎn)擊查看審批歷史進(jìn)入公文審批歷史信息頁(yè)面與期望結(jié)果一致是Case8:Case1基礎(chǔ)上點(diǎn)擊添加公文信息進(jìn)入選擇公文流程頁(yè)面與期望結(jié)果一致是Case9:Case8基礎(chǔ)上選擇一個(gè)公文所走流程進(jìn)入添加公文信息頁(yè)面 與期望結(jié)果一致是Case10:Case9基礎(chǔ)上錄入公文信息后提交添加公文成功與期望結(jié)果一致是Case11:點(diǎn)擊我的公文進(jìn)入我的公文詳細(xì)信息頁(yè)面與期望結(jié)果一致是Case12:注銷登錄并選擇公文提交到的審批者登錄,然后查看待審公文進(jìn)入查看待審公文詳細(xì)信息頁(yè)面,并存在待審公文與期望結(jié)果一致是(3) 工作流程模塊測(cè)試過程見表5-3。表5-3工作流程測(cè)試表單元驗(yàn)收項(xiàng)測(cè)試步驟期望結(jié)果實(shí)際結(jié)果是否通過工作流程流程管理Case1:點(diǎn)擊流程管理進(jìn)入流程管理頁(yè)面與期望結(jié)果一致是Case2:Case1的基礎(chǔ)上點(diǎn)選擇要上傳的流程定義文件和圖片并點(diǎn)擊上傳刷新流程管理頁(yè)面并顯示上傳的流程定義信息與期望結(jié)果一致是Case3:Case1基礎(chǔ)上點(diǎn)擊流程名稱進(jìn)入查看流程定義圖片界面與期望結(jié)果一致是續(xù)表(5-3)Case4:Case3基礎(chǔ)上點(diǎn)擊查看流程定義文件進(jìn)入查看流程定義文件界面與期望結(jié)果一致是Case5:Case3基礎(chǔ)上輸入管理員信息后點(diǎn)擊重置清空各個(gè)文本框內(nèi)容與期望結(jié)果一致是Case6:Case1基礎(chǔ)上點(diǎn)擊刪除提示刪除流程定義成功與期望結(jié)果一致是Case7:Case1基礎(chǔ)上點(diǎn)擊某個(gè)流程的定義表單進(jìn)入工作流表單定義界面與期望結(jié)果一致是Case8:Case7基礎(chǔ)上輸入表單模板名稱并點(diǎn)擊保存表單信息保存成功,并刷新界面顯示剛才保存的信息與期望結(jié)果一致是Case9:Case8基礎(chǔ)上點(diǎn)擊添加表單域進(jìn)入輸入表單定義信息界面與期望結(jié)果一致是Case10:Case9基礎(chǔ)上輸入表單定義信息并保存保存成功,跳轉(zhuǎn)到工作流表單定義界面,并顯示剛才定義的表單域信息與期望結(jié)果一致是Case11:Case10基礎(chǔ)上點(diǎn)擊條目進(jìn)入表單域條目信息輸入界面與期望結(jié)果一致是Case12:Case11基礎(chǔ)上錄入表單域條目信息并保存保存成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司沉浸式展廳策劃方案
- 公司組織轟趴活動(dòng)方案
- 公司文化圈策劃方案
- 公司月刊創(chuàng)刊策劃方案
- 公司歡迎儀式活動(dòng)方案
- 公司老干部活動(dòng)方案
- 公司激情文化活動(dòng)方案
- 公司來新人了活動(dòng)方案
- 公司匯演暖場(chǎng)活動(dòng)方案
- 公司旅游年會(huì)策劃方案
- 2025山西焦煤集團(tuán)公司招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《民用無人機(jī)作業(yè)氣象條件等級(jí) 植?!肪幹普f明
- 中藥灌腸法治療腎衰
- 人教版(2024)英語(yǔ)七年級(jí)上冊(cè)單詞表
- 客戶拓展推介-化學(xué)品儲(chǔ)存方案
- ISO27001-2013信息安全管理體系要求
- 安裝門窗承包勞務(wù)合同模板
- 220kV升壓站調(diào)試施工方案
- GB/T 10069.3-2024旋轉(zhuǎn)電機(jī)噪聲測(cè)定方法及限值第3部分:噪聲限值
- TTJSFB 002-2024 綠色融資租賃項(xiàng)目評(píng)價(jià)指南
- 無人機(jī)培訓(xùn)計(jì)劃及方案
評(píng)論
0/150
提交評(píng)論