版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
a、需求分析需求分析是開發(fā)人員對系統(tǒng)需要做什么和如何做的定義過程。從系統(tǒng)分析的經(jīng)驗(yàn)來看,這個過程往往是個循序漸進(jìn)的過程,一次性對系統(tǒng)形成完整的認(rèn)識是困難的。只有不斷地和客戶領(lǐng)域?qū)<疫M(jìn)行交流確認(rèn),方能逐步明了用戶的需求。從系統(tǒng)開發(fā)的過程得知,系統(tǒng)分析時犯下的錯誤,會在接下來的階段被成倍的放大,越是在開發(fā)的后期,糾正分析時犯下的錯誤所花費(fèi)的代價越是昂貴,也越發(fā)影響系統(tǒng)的工期和系統(tǒng)的質(zhì)量。解決系統(tǒng)分析錯誤的方法我們公司通常采用邀請用戶參與進(jìn)行需求評定,然后對其用戶的意見由質(zhì)保成員跟蹤檢測是否納入需求規(guī)格說明書,同時與用戶簽字確認(rèn)形成需求基線,交由配置管理員放入配置管理庫。雖然盡早的邀請用戶參與,仍然避免不了項(xiàng)目進(jìn)行中用戶的需求變更請求。對于開發(fā)過程存在的需求變動,我們要求用戶填寫變更申請單發(fā)送給項(xiàng)目配置管理員,在通過配置員轉(zhuǎn)交質(zhì)保小組,負(fù)責(zé)組織專家小組和項(xiàng)目組成員一起討論實(shí)施變更的可行性及實(shí)施后所帶來的影響,小的變更則直接記錄入變更記錄原因分析項(xiàng)和風(fēng)險項(xiàng)欄,大的變更則需要形成正式的變更報告,無論那種變更都需要對相應(yīng)的文檔實(shí)施同步變更(包括需求規(guī)格說明書、詳細(xì)設(shè)計文檔、安裝手冊、操作手冊等)。但是對于無法實(shí)現(xiàn)或是變更會帶來巨大的影響而將導(dǎo)致進(jìn)度的延期,這時,我們將變更報告提交給用戶或邀請用戶進(jìn)行協(xié)調(diào)會議,討論變更取舍問題或是項(xiàng)目進(jìn)度變更問題。決定變更之后,由項(xiàng)目經(jīng)理組織實(shí)施變更,測試人員檢測變更結(jié)果,而質(zhì)保小組成員監(jiān)督變更實(shí)施過程并協(xié)助配置管理員對變更后的成果物進(jìn)行版本控制。變更實(shí)施完后,上線前還需要指定人員協(xié)助用戶一同測試并由用戶簽字后同意方可上線。b、系統(tǒng)設(shè)計優(yōu)良的體系結(jié)構(gòu)應(yīng)當(dāng)具備可擴(kuò)展性和可配置性,而好的體系結(jié)構(gòu)則需要好的設(shè)計方法,自然設(shè)計選型成為了系統(tǒng)設(shè)計首要的工作,究竟是采用哪種設(shè)計方法好呢?對于設(shè)計選型不能一概而論,需要針對項(xiàng)目的結(jié)構(gòu)、項(xiàng)目的特征和用戶的需求來分析,同樣也要考慮到參與項(xiàng)目小組成員的素質(zhì),如果其中大部分都沒有從事過面向?qū)ο蟮脑O(shè)計且項(xiàng)目進(jìn)對緊迫,這樣沒有多余的時間來培訓(xùn)小組成員來掌握面向?qū)ο蟮脑O(shè)計方法,盡管眾所周知面向?qū)ο笤O(shè)計方法的優(yōu)勢,我們還是不如采用面向過程的方式(除用戶指定開發(fā)設(shè)計方式外)可以減少項(xiàng)目承擔(dān)的技術(shù)風(fēng)險。我們公司有過一個項(xiàng)目,用戶指定需要采用面向?qū)ο蠓治?、設(shè)計和開發(fā),且開發(fā)周期短,在無賴的情況下,項(xiàng)目小組只能選用面向?qū)ο蟮能浖_發(fā)過程,由于項(xiàng)目小組很少從事過面向?qū)ο蟮拈_發(fā),經(jīng)驗(yàn)缺乏,導(dǎo)致項(xiàng)目上馬后項(xiàng)目進(jìn)度延誤,項(xiàng)目沒有達(dá)到預(yù)期的效果。針對此次開發(fā),我們分析其原因,發(fā)現(xiàn)小組成員在開發(fā)過程中對于新技術(shù)互相交流少,各自有各自的理解和想法,造成理解上的不一致性,導(dǎo)致工作重復(fù)性高,滯后項(xiàng)目進(jìn)度。建議解決方法是項(xiàng)目組成員采用集中辦公,分塊學(xué)習(xí),學(xué)習(xí)的成果馬上向項(xiàng)目相關(guān)人員發(fā)布,再由配置管理員對其發(fā)布的文檔進(jìn)行整理、規(guī)類放入配置庫以供大家共享。這樣方便大家的互相學(xué)習(xí),減少重復(fù)的工作。在這次開發(fā)中我們公司從管理人員、設(shè)計人員到開發(fā)人員都汲取了很多教訓(xùn),同時經(jīng)過此次項(xiàng)目的開發(fā),小組成員也積累了豐富的面向?qū)ο蟮拈_發(fā)經(jīng)驗(yàn)。除設(shè)計選型,還有一個容易被忽視的問題,就是公共類開發(fā)。公共類開發(fā)可以減少工作中的重復(fù)工作,降低開發(fā)成本。這要求我們再設(shè)計階段通過對用戶需求的仔細(xì)研究,盡可能的識別出公共類,并進(jìn)行定義指定專人負(fù)責(zé)設(shè)計通知其它設(shè)計人員,以減少重復(fù)工作。對于項(xiàng)目組提供的設(shè)計文檔,由質(zhì)保小組組織技術(shù)專家、項(xiàng)目組設(shè)計人員、開發(fā)人員和測試人員對其設(shè)計文檔的評審,檢測設(shè)計文檔對其下一階段工作的可行性,及時發(fā)現(xiàn)設(shè)計中可能存在的錯誤,降低項(xiàng)目開發(fā)風(fēng)險,同時確保設(shè)計文檔能為開發(fā)人員、測試人員提供切實(shí)的指導(dǎo)。對于可復(fù)用的設(shè)計進(jìn)行提取作為公共庫設(shè)計和開發(fā),提供項(xiàng)目組或整個公司重用。最后交由配置管理員進(jìn)行設(shè)計文檔的版本控制。c、實(shí)現(xiàn)實(shí)現(xiàn)也就是代碼的生產(chǎn)過程。這里不僅包括代碼的產(chǎn)生,同時也包括測試用例的產(chǎn)生。針對上一階段提供詳細(xì)設(shè)計,程序員開始編碼并且調(diào)試程序,測試人員則根據(jù)設(shè)計進(jìn)行測試用例的設(shè)計,設(shè)計出來的用例需要得到項(xiàng)目組成員認(rèn)可由項(xiàng)目經(jīng)理審核通過才能進(jìn)入配置庫。同時程序員調(diào)試完程序提交測試人員進(jìn)行程序正確性檢測。d、文檔管理文檔維護(hù)主要是配置管理小組的工作。文檔從用途上分主要分為內(nèi)部文檔和外部文檔。內(nèi)部文檔包括:項(xiàng)目開發(fā)計劃;需求分析;體系結(jié)構(gòu)設(shè)計說明;詳細(xì)設(shè)計說明;構(gòu)件索引;構(gòu)件成分說明;構(gòu)件接口及調(diào)用說明;組件索引;組件接口及調(diào)用說明;類索引;類屬性及方法說明;測試報告;測試統(tǒng)計報告;質(zhì)量監(jiān)督報告;源代碼;文檔分類版本索引;軟件安裝打包文件。外部文檔主要包括:軟件安裝手冊;軟件操作手冊;在線幫助;系統(tǒng)性能指標(biāo)報告;系統(tǒng)操作索引。如何保證文檔的全面性,使其真正為項(xiàng)目的進(jìn)度提供保證,又不因?yàn)槲臋n的寫作而耽誤項(xiàng)目的進(jìn)度,這仍然是一個比較難解決的問題。解決此問題,其核心仍然是個"度"的問題。在本項(xiàng)目的開發(fā)中,配置管理小組的一個非常重要的任務(wù)還是書寫文檔規(guī)范和文檔模板。當(dāng)有文檔模板后需要書寫文檔的人員只剩下"填空"的工作,從某種意義上講,書寫文檔的速度會加快。如果書寫文檔的人員認(rèn)為文檔的更細(xì)致的部分可以由他人幫助完成,則該文檔即交由他人完成,但此時文檔并不算被正式提交,當(dāng)他人書寫完畢之后,必須由文檔的初寫者進(jìn)行復(fù)審,復(fù)審?fù)ㄟ^后方可以正式提交,進(jìn)入軟件配置管理可以由他人幫助完成,則該文檔即交由他人完成,但此時文檔并不算被正式提交,當(dāng)他人書寫完畢之后,必須由文檔的初寫者進(jìn)行復(fù)審,復(fù)審?fù)ㄟ^后方可以正式提交,進(jìn)入軟件配置管理的循環(huán)中。配置管理小組真正核心的工作是對文檔的組織管理。根據(jù)文檔的不同,文檔的來源也不同,有些是通過質(zhì)量保證小組經(jīng)過復(fù)審之后轉(zhuǎn)交給配置管理小組,有些則會直接從文檔的出處到達(dá)配置管理小組。文檔的管理是一個非常煩瑣的工作,但是長遠(yuǎn)來看它不僅使項(xiàng)目的開發(fā)對單個主要人員的依賴減少,從而減少人員流動給項(xiàng)目的帶來的風(fēng)險,更重要的是在項(xiàng)目進(jìn)行到后百分之十的時候起到拉動項(xiàng)目的作用。從以往做大項(xiàng)目的經(jīng)驗(yàn)來看,寫作文檔在項(xiàng)目開發(fā)的早期可能會使項(xiàng)目的進(jìn)度比起不寫文檔要稍慢,但隨著項(xiàng)目的進(jìn)展,各個部門需要配合越來越多,開發(fā)者越來越需要知道其他人員的開發(fā)思路和開發(fā)過程,才能使自己的開發(fā)向前推進(jìn)。一個明顯的例子就是系統(tǒng)整合,或者某些環(huán)節(jié)是建立在其他環(huán)節(jié)完成的基礎(chǔ)之上時,就更顯現(xiàn)出文檔交流的準(zhǔn)確性和高效性。3、系統(tǒng)維護(hù)質(zhì)量保證在我們公司,維護(hù)小組的任務(wù)一方面是保證對項(xiàng)目客戶的跟蹤服務(wù),另一方面是確保該項(xiàng)目其它的開發(fā)人員從項(xiàng)目中盡快的解脫出來以便投入到下一個項(xiàng)目的開發(fā)中。所以通常項(xiàng)目維護(hù)小組成員主要由項(xiàng)目組的少部分開發(fā)人員承擔(dān)完成。他們不僅了解軟件的核心內(nèi)容,而且與客戶也不陌生,以便能夠以最快的速度修正錯誤。對于一般性的錯誤,如操作不當(dāng)?shù)纫鸬膯栴},全部由維護(hù)小組執(zhí)行完成,但需要用戶測試確認(rèn)上線。如果較大的修改則需要走變更控制流程,用戶或者維護(hù)人員填寫變更申請,經(jīng)專家會議討論分析可行方案在由維護(hù)小組實(shí)施,通過測試后方可提交用戶。維護(hù)小組的人員基本上是按項(xiàng)目跟進(jìn)的。當(dāng)一個項(xiàng)目剛剛交付用戶時,在維護(hù)小組有較多的人員進(jìn)行跟進(jìn),隨軟件的穩(wěn)定,跟進(jìn)的人逐步減少,并轉(zhuǎn)移到其它項(xiàng)目中去。軟件工程項(xiàng)目開發(fā)各階段的質(zhì)量保證軟件工程基本概念(1)軟件:是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。(2)軟件工程:開發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法。(3)軟件工程方法學(xué):通常把在軟件生命周期全過程中使用的一整套技術(shù)的集合,稱為軟件工程方法學(xué)。(4)軟件開發(fā)模型:是軟件開發(fā)全部過程、活動和任務(wù)的結(jié)構(gòu)框架。它能直觀表達(dá)軟件開發(fā)全過程,明確規(guī)定要完成的主要活動、任務(wù)和開發(fā)策略。(5)系統(tǒng)流程圖:描繪物理系統(tǒng)的一種傳統(tǒng)工具,它的基本思想是用圖形符號以黑盒子形式描繪系統(tǒng)里面的每一個部件(程序、文件、數(shù)據(jù)庫、表格、人工過程等)。(6)數(shù)據(jù)流圖(DataFlowDiagram,DFD):描繪系統(tǒng)的一種邏輯模型,圖中沒有任何具體的物理元素,只是描繪信息在系統(tǒng)中流動和處理的情況。(7)數(shù)據(jù)字典(DataDictionary,DD):對于數(shù)據(jù)流圖中所出現(xiàn)的所有被命名的圖形元素作為一個詞條加以定義,使得每一個圖形元素的名字都有一個確切的解釋。(8)模型:對對象系統(tǒng)的形式化的特征抽象,概括性或近似地表示(9)結(jié)構(gòu)化分析方法(StructuredAnalysis,SA):70年代中期提出的一種面向數(shù)據(jù)流、自頂向下、逐步求精進(jìn)行需求分析的方法。(10)模塊(module):數(shù)據(jù)說明和可執(zhí)行語句等程序?qū)ο蟮募?,每個模塊單獨(dú)命名并且可以通過名字對模塊進(jìn)行訪問。(11)模塊化設(shè)計(modulardesign):把大型軟件按照規(guī)定的原則劃分為一個個較小的、相對獨(dú)立但又相關(guān)的模塊的設(shè)計方法。(12)深度:軟件中指模塊的最大層數(shù)。(13)扇出:軟件中指一個模塊直接調(diào)用的模塊數(shù)。(14)扇入:軟件中指調(diào)用一個給定模塊的模塊個數(shù)。(15)寬度:軟件中指同一層最大模塊數(shù)。(16)信息隱藏(InformationHiding):模塊內(nèi)部的數(shù)據(jù)與過程,應(yīng)該對不需要了解這些數(shù)據(jù)與過程的模塊隱藏起來。(17)內(nèi)聚:用于衡量一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度。(18)耦合:用于衡量不同模塊彼此間互相依賴(連接)的緊密程度。(19)層次圖:也稱H圖,是在總體設(shè)計階段最常使用的圖形工具之一,它常用于描繪軟件的層次結(jié)構(gòu)。層次圖中的每個方框代表一個模塊,方框間的連線表示模塊間的調(diào)用關(guān)系。(20)結(jié)構(gòu)化設(shè)計:一種設(shè)計程序的技術(shù),它采用自頂向下逐步求精的設(shè)計方法和單入口、單出口的控制結(jié)構(gòu)。(21)編碼:就是把軟件設(shè)計的結(jié)果翻譯成計算機(jī)可以“理解”的形式——用某種程序設(shè)計語言書寫的程序。(22)測試:為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。(23)白盒測試:也稱結(jié)構(gòu)測試/開盒測試/玻璃盒測試,是一種基于覆蓋的測試方法;根據(jù)被測程序的邏輯結(jié)構(gòu)設(shè)計測試用例,檢驗(yàn)產(chǎn)品內(nèi)部動作是否按照規(guī)規(guī)格說明書的規(guī)定正常進(jìn)行。(24)黑盒測試:從用戶觀點(diǎn),按規(guī)格說明書要求的輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應(yīng)關(guān)系設(shè)計測試用例,是根據(jù)程序外部特征進(jìn)行測試。25)窮盡測試:包含所有可能情況的測試。(26)模塊測試:又稱單元測試,發(fā)現(xiàn)編碼和詳細(xì)設(shè)計的錯誤。(27)驗(yàn)收測試:由用戶參與、使用實(shí)際數(shù)據(jù)來發(fā)現(xiàn)需求說明書中的錯誤的測試。(28)平行運(yùn)行:同時運(yùn)行新開發(fā)出來的系統(tǒng)和將被取代的舊系統(tǒng),以便比較新舊兩個系統(tǒng)的處理結(jié)果。(29)Alpha測試:用戶在開發(fā)者的場所進(jìn)行,并在開發(fā)者的指導(dǎo)下進(jìn)行;(30)Beta測試:在一個或多個用戶場所進(jìn)行,開發(fā)者不在現(xiàn)場。(31)軟件維護(hù):為了改正錯誤或滿足新的需要而修改軟件的過程。(32)糾錯性維護(hù):針對原有錯誤而進(jìn)行的維護(hù)過程。(33)適應(yīng)性維護(hù):針對硬件發(fā)展而進(jìn)行的維護(hù)過程。(34)完善性維護(hù):針對功能擴(kuò)展而進(jìn)行的維護(hù)過程。(35)預(yù)防性維護(hù):針對未來發(fā)展而進(jìn)行的維護(hù)過程。(36)等價類:每類中的一個典型值在測試中的作用與這一類中所有其他值的作用相同。(37)對象:具有相同狀態(tài)的一組操作的集合。(38)消息:要求某個對象執(zhí)行在定義它的那個類中所定義的某個操作的規(guī)格說明。對象:對問題域中某個東西的抽象,這種抽象反映了系統(tǒng)保存有這個東西的信息或與它交互的能力。對象是對屬性值和操作的封裝。(39)類:對具有相同屬性和行為的一個或多個對象的描述。(40)實(shí)例:由某個特定的類所描述的一個具體的對象。(41)消息:要求某個對象執(zhí)行在定義它的那個類中所定義的某個操作的規(guī)格說明。(42)方法:對象所能夠執(zhí)行的操作。也就是類中所定義的服務(wù)。(43)屬性:類中所定義的數(shù)據(jù),它是對客觀實(shí)踐實(shí)體所具有的性質(zhì)的抽象。(44)封裝:在面向?qū)ο蟮某绦蛑?,把?shù)據(jù)和實(shí)現(xiàn)操作的代碼集中起來放在對象的內(nèi)部,稱之為封裝。(45)繼承:指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們。(46)多態(tài)性:子類對象可以象父類對象那樣使用,同樣的消息既可以發(fā)送給父類對象也可以發(fā)送給子類對象。軟件工程常用工具與模型(1)瀑布模型:定義:將軟件生存周期的各項(xiàng)活動規(guī)定為依照固定順序連接的若干階段工作,形如瀑布流水,最終得到軟件產(chǎn)品。實(shí)例:(2)系統(tǒng)流程圖定義:系統(tǒng)流程圖是描繪物理系統(tǒng)的傳統(tǒng)工具,它的基本思想是用圖形符號以黑盒子形式描繪系統(tǒng)里面的每一個部件(程序、文件、數(shù)據(jù)庫、表格、人工過程等)。(3)數(shù)據(jù)流圖定義:英文DataFlowDiagram,簡稱DFD。DFD是一種描述邏輯模型的圖形工具,表示數(shù)據(jù)在系統(tǒng)內(nèi)的變化。圖中沒有任何具體的物理元素,只是描繪信息在系統(tǒng)中流動和處理的情況。DFD從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。它由數(shù)據(jù)流、加工、文件和數(shù)據(jù)流的源點(diǎn)和終點(diǎn)構(gòu)成。(4)數(shù)據(jù)字典定義:英文DataDictionary,簡稱DD。是一種描述邏輯模型的工具。它對于數(shù)據(jù)流圖中所出現(xiàn)的所有被命名的圖形元素作為一個詞條加以定義,使得每一個圖形元素的名字都有一個確切的解釋。DD的內(nèi)容包括:圖形元素的名字、別名或編號、分類、描述、定義、位置等。實(shí)例:《客房管理系統(tǒng)》字典建模預(yù)訂請求=客人數(shù)據(jù)+住宿期限+客房類別客人數(shù)據(jù)=客人姓名+地址+身份證號碼+[護(hù)照號碼]+支付方式身份證號碼=十進(jìn)制15{數(shù)字}18護(hù)照號碼=字母+8{數(shù)字}8字母=“A”…“Z”十進(jìn)制數(shù)字=“0”…“9”(5)實(shí)體—聯(lián)系圖定義:實(shí)體—聯(lián)系圖(ERA,Entity-RelationshipApproach)或?qū)嶓w聯(lián)系圖(ERD,Entity-RelationshipDiagram)。ERD描繪了系統(tǒng)的數(shù)據(jù)關(guān)系。分析實(shí)體聯(lián)系圖有助于對業(yè)務(wù)或系統(tǒng)數(shù)據(jù)組成的理解和交互,并暗示產(chǎn)品將有必要包含一個數(shù)據(jù)庫。ER模型三要素:數(shù)據(jù)對象、屬性和聯(lián)系。(6)狀態(tài)轉(zhuǎn)換圖定義:狀態(tài)轉(zhuǎn)換圖簡稱狀態(tài)圖。通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)的行為。它由1個初態(tài)/初始狀態(tài)、0~N個終態(tài)/最終狀態(tài)和若干個中間狀態(tài)組成。(7)層次方框圖定義:用屬性結(jié)構(gòu)的一系列多層次的矩形框描述數(shù)據(jù)的層級結(jié)構(gòu)。(8)IPO圖定義:輸入、處理、輸出圖的簡稱。是IBM公司發(fā)展完善的一種圖形工具。(9)層次圖定義:層次圖(也稱H圖)是在總體設(shè)計階段最常使用的圖形工具之一,它常用于描繪軟件的層次結(jié)構(gòu)。它矩形代表一個模塊,連線表示調(diào)用關(guān)系,適于在自頂向下設(shè)計軟件的過程中使用;與層次方框圖類似。(10)HIPO圖定義:HIPO:是IBM公司發(fā)明的“層次圖加輸入/處理/輸出圖的縮寫;為了能使HIPO圖具有可跟蹤性,在H圖里除了最頂層的方框之外,每個方框都加了編號;和H圖中的每個方框相對應(yīng),有一張IPO圖描述這個方框代表的模塊的處理過程。IPO圖能夠方便地描述數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出之間的關(guān)系。(12)結(jié)構(gòu)圖定義:Yourdon提出的一種軟件結(jié)構(gòu)設(shè)計工具。一個方框/矩形代表一個模塊,箭頭連線/直線表示調(diào)用關(guān)系,帶有注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息。(13)程序流程圖定義:也稱為程序框圖;箭頭代表控制流而不是數(shù)據(jù)流;20世紀(jì)70年代的主要工具;趨勢是越來越多的人不再使用。它的主要缺點(diǎn)包括:不是逐步求精的好工具;用箭頭代表控制流,可以隨意轉(zhuǎn)移控制;不宜表示數(shù)據(jù)結(jié)構(gòu)。(14)盒圖(N-S圖)定義:由Nassi和Shneiderman提出的一種程序設(shè)計方法;其主要特點(diǎn)包括:[1]功能域明確;[2]不可以隨意轉(zhuǎn)移;[3]容易確定局部和全程數(shù)據(jù)的作用域;[4]容易表達(dá)嵌套關(guān)系。實(shí)例:(15)PAD圖定義:PAD圖是一種問題分析圖(ProblemAnalysisDiagram),1973年由日本日立公司提出。其主要特點(diǎn)包括:[1]必是結(jié)構(gòu)化程序;[2]程序結(jié)構(gòu)清晰;[3]易讀、易懂、易記;[4]支持自頂向下,逐步求精的方法;[5]既可以表示程序邏輯,也可以表示數(shù)據(jù)結(jié)構(gòu)。(16)判定表定義:判定表在某些數(shù)據(jù)處理中,某數(shù)據(jù)流圖的加工需要依賴于多個邏輯條件的取值,就是說完成這一加工的一組動作是由于某一組條件取值的組合而引發(fā)的。這時使用判定表來描述比較合適。判定表通常由四部分組成,即:條件樁、操作樁、條件條目和操作條目。(17)判定樹定義:判定樹是判定表的變種,它也能清晰地表達(dá)復(fù)雜的條件組合與所對應(yīng)的操作之間的關(guān)系。判定樹的優(yōu)點(diǎn)在于它無須任何說明,一眼就能看出其含義,易于理解和使用。(18)過程設(shè)計語言(PDL)定義:也稱“偽碼”,用正文形式表示數(shù)據(jù)和處理的過程的工具。其具有如下特點(diǎn):[1]具有關(guān)鍵字固定語法;[2]自然語言表述;[3]數(shù)據(jù)說明;[4]提供接口模式。(19)用例圖定義:用例圖是被稱為參與者的外部用戶所能觀察到的系統(tǒng)共呢概念的模型圖;用例是系統(tǒng)中的一個功能單元,可以被描述為參與者與系統(tǒng)之間的一次交互作用;用例圖的用途是列出系統(tǒng)中的用例和參與者,并顯示哪個參與者參與了那個用例的執(zhí)行。(20)活動圖定義:活動圖描述了活動發(fā)生的順序。其圖形表示規(guī)則如下:圓角矩形表示方框中的活動;矩形表示工作流影響的對象;實(shí)心圓表示工作流開始的開始狀態(tài);雙層圓表示工作流結(jié)束的結(jié)束狀態(tài);菱形表示決策點(diǎn);垂直泳道表示工作流中的不同參與者及相關(guān)活動。(21)順序圖順序圖表示對象之間傳送消息的時間順序。圖形表示法:垂直線,即生命線,表示在整個交互過程中一個對象的生命周期。生命線之間的箭頭連線表示消息。箭頭連線上的文字表示相關(guān)的事件。(22)協(xié)作圖協(xié)作圖對在一次交互中有意義的對象和對象間的鏈建模。圖形表示法:直線表示對象之間直接通信關(guān)系。附在直線上箭頭表示消息傳送方向。箭頭旁文字表示消息及消息編號。(23)類圖以類為中心組織起來的圖形,用以表示軟件系統(tǒng)中各類之間的相互關(guān)系。圖形表示法:矩形框表示類圖中的類。連線表示類之間的關(guān)系。類之間的關(guān)系有關(guān)聯(lián)、聚集、泛化和依賴。(24)狀態(tài)圖狀態(tài)圖是一個類對象所經(jīng)歷的所有歷程的模型圖。狀態(tài)圖有對象的各個狀態(tài)和連接這些狀態(tài)的變遷組成。圖形表示法:圓角矩形表示狀態(tài);帶箭頭的直線表示對象從一種狀態(tài)變遷到另一種狀態(tài)的過程。附在直線上的信息表示觸發(fā)對象狀態(tài)變遷的條件。(25)組件圖組件圖表示了系統(tǒng)中的各種組建。組件可以是源代碼、二進(jìn)制文件或可執(zhí)行文件。邏輯視圖與組件視圖之間存在著映射關(guān)系。組件可以與公開的任何接口一起顯示。(26)部署圖用來描述位于節(jié)點(diǎn)實(shí)例上的運(yùn)行組件的安排,描述系統(tǒng)的實(shí)際物理結(jié)構(gòu)。圖形表示法:立方體表示節(jié)點(diǎn),節(jié)點(diǎn)可以是一組運(yùn)行的資源,如計算機(jī)、設(shè)備或存取器等。直線表示節(jié)點(diǎn)之間連接方式。軟件工程原理/技術(shù)/方法1、軟件工程的本質(zhì)特性(1)軟件工程關(guān)注于大型程序的構(gòu)造;(2)軟件工程的中心課題是控制復(fù)雜性;(3)軟件經(jīng)常變化;(4)開發(fā)軟件的效率非常重要;(5)和諧地合作是開發(fā)軟件的關(guān)鍵;(6)軟件必須有效地支持它的用戶(7)在軟件工程領(lǐng)域中是由具有一種文化背景的人代替具有另一種文化背景的人創(chuàng)造產(chǎn)品。2、軟件工程的七條基本原理(1)用分階段的生命周期計劃嚴(yán)格管理;(2)堅持進(jìn)行階段評審;(3)實(shí)行嚴(yán)格的產(chǎn)品控制;(4)采用現(xiàn)代程序設(shè)計技術(shù);(5)結(jié)果應(yīng)能夠清楚地審查;(6)開發(fā)小組的人員應(yīng)少而精;(7)承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性;3、軟件生存期的階段劃分(1)可行性研究與計劃(2)需求分析(3)總體設(shè)計(4)詳細(xì)設(shè)計(5)實(shí)現(xiàn)(編碼)(6)集成測試(7)確認(rèn)測試(8)使用和維護(hù)4、傳統(tǒng)方法學(xué)(1)傳統(tǒng)方法學(xué)夜車概念生命周期方法學(xué)或結(jié)構(gòu)化范型;(2)采用結(jié)構(gòu)化技術(shù)(分析/設(shè)計/實(shí)現(xiàn)),來完成軟件開發(fā)各項(xiàng)任務(wù);(3)把軟件生命周期的全過程依次劃分為若干階段。本質(zhì)是面向過程的開發(fā)。(4)每個階段對立完成,各階段有嚴(yán)格的開始和結(jié)束標(biāo)準(zhǔn)。前一階段結(jié)束,才能開始下一個階段。(5)在相當(dāng)長的一段時間內(nèi)仍有生命力。5、面向?qū)ο蟮姆椒▽W(xué)面向?qū)ο蠓椒ㄒ詳?shù)據(jù)為主線,把是數(shù)據(jù)和對數(shù)據(jù)的操作緊密地結(jié)合起來的方法。(1)把對象作為融合數(shù)據(jù)機(jī)在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件。(2)把所有對象劃分成類。(3)按照父類與子類的關(guān)系,把若干個相關(guān)類組成一個層次結(jié)構(gòu)的系統(tǒng)。(4)對象彼此間僅能通過發(fā)送消息互相聯(lián)系。6、可行性研究的主要內(nèi)容一般來說,至少要從以下三個方面開展研究:(1)技術(shù)可行性:使用現(xiàn)有技術(shù)能實(shí)現(xiàn)這個系統(tǒng)嗎?(2)經(jīng)濟(jì)可行性:這個系統(tǒng)的經(jīng)濟(jì)效益能超過它的開發(fā)成本嗎?(3)操作可行性:系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通嗎?此外,還應(yīng)從法律、社會效益等更廣泛的方面研究每種解法的可行性。7、可行性研究過程(1)復(fù)查系統(tǒng)規(guī)模和目標(biāo);(2)研究目前正在使用的系統(tǒng);(3)導(dǎo)出新系統(tǒng)的高層邏輯模型;(4)進(jìn)一步定義問題;(5)導(dǎo)出和評價供選擇的解法;(6)推薦行動方針;(7)草擬開發(fā)計劃;(8)書寫文檔提交審查。8、成本/效益分析內(nèi)容(1)成本估計代碼行技術(shù)任務(wù)分解技術(shù)自動估計成本技術(shù)(2)成本/效益分析的方法貨幣的時間價值投資回收期純收入投資回收率9、各種需求分析方法所應(yīng)遵循的準(zhǔn)則(1)必須理解并描述問題的信息域,建立數(shù)據(jù)模型;(2)必須定義軟件應(yīng)完成的功能,建立功能模型;(3)必須描述作為外部事件結(jié)果的軟件行為,建立行為模型;(4)必須對描述信息、功能和行為的模型進(jìn)行分解,用層次的方式展開細(xì)節(jié)。10、需求分析的具體任務(wù)(1)確定軟件系統(tǒng)的綜合需求;(2)分析系統(tǒng)的數(shù)據(jù)需求:數(shù)據(jù)模型/信息模型E-R/層次方框圖;(3)導(dǎo)出軟件系統(tǒng)的邏輯模型:數(shù)據(jù)流圖/E-R圖/狀態(tài)轉(zhuǎn)換圖/數(shù)據(jù)字典/算法;(4)修正系統(tǒng)開發(fā)計劃;(5)驗(yàn)證軟件需求分析的正確性;(6)編寫軟件需求規(guī)格說明書。11、系統(tǒng)的綜合要求/需求(1)功能需求:系統(tǒng)必須提供的服務(wù)(2)性能需求:系統(tǒng)必須滿足的定時約束或容量約束等。(3)可靠性和可用性需求。(4)出錯處理需求:系統(tǒng)對環(huán)境錯誤應(yīng)該怎樣響應(yīng)。(5)接口需求:系統(tǒng)與它的環(huán)境通信格式要求。(6)約束:設(shè)計約束或?qū)崿F(xiàn)約束描述在設(shè)計或?qū)崿F(xiàn)應(yīng)用系統(tǒng)時應(yīng)遵守的限制條件:精度/工具/語言/設(shè)計/標(biāo)準(zhǔn)/平臺。12、需求獲取的常用方法(1)訪談(2)面向數(shù)據(jù)流自頂向下求精(3)簡易的應(yīng)用規(guī)格說明技術(shù)(4)快速建立軟件原型13、總體設(shè)計過程1.設(shè)想供選擇的方案2.選取合理的方案3.推薦最佳方案4.功能分解5.設(shè)計軟件結(jié)構(gòu)6.設(shè)計數(shù)據(jù)庫7.制定測試計劃8.書寫文檔9.審查和復(fù)審14、軟件設(shè)計中的常用啟發(fā)規(guī)則(1)改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性;(2)模塊規(guī)模應(yīng)該適中;(3)深度、寬度、扇出、扇入都應(yīng)適當(dāng);(4)模塊的作用域應(yīng)該在控制域之內(nèi);(5)力爭降低模塊接口的復(fù)雜程度;(6)設(shè)計單入口單出口的模塊;(7)模塊功能應(yīng)該可以預(yù)測。15、耦合設(shè)計原則(1)盡量使用數(shù)據(jù)耦合(2)少用控制耦合(3)限制公共環(huán)境耦合范圍(4)完全不用內(nèi)容耦合16、內(nèi)聚設(shè)計原則(1)力求高內(nèi)聚;(2)中等內(nèi)聚也可以采用;(3)低內(nèi)聚不要用。17、面向數(shù)據(jù)流的設(shè)計方法(1)系統(tǒng)結(jié)構(gòu)特征可歸納為兩種典型形式變換型結(jié)構(gòu)事務(wù)型結(jié)構(gòu)(2)數(shù)據(jù)流圖可分為兩種類型變換型數(shù)據(jù)流事務(wù)型數(shù)據(jù)流(3)面向數(shù)據(jù)流設(shè)計方法的設(shè)計步驟(1)精化DFD。(2)確定DFD類型。(3)把DFD映射到系統(tǒng)模塊結(jié)構(gòu),設(shè)計出模塊結(jié)構(gòu)的上層。(4)基于DFD,逐步分解高層模塊,設(shè)計出下層模塊。(5)根據(jù)模塊獨(dú)立性原理,精化模塊結(jié)構(gòu)。(6)模塊接口描述18、人機(jī)界面設(shè)計中經(jīng)常遇到的4個設(shè)計問題(1)系統(tǒng)響應(yīng)時間(2)用戶幫助設(shè)施(3)出錯信息處理(4)命令交互19、人機(jī)界面設(shè)計一般交互指南(1)保持一致性(2)提供有意義的反饋(3)在執(zhí)行有較大破壞型的動作之前,要求用戶確認(rèn)(4)允許取消絕大多數(shù)操作(5)減少在兩次操作之間必須記憶的信息量(6)提高對話、移動和思考的效率(7)允許犯錯誤(8)按功能對動作分類,并據(jù)此設(shè)計屏幕布局(9)提供對用戶工作內(nèi)容敏感的幫助設(shè)施(10)用簡單動詞或動詞短語作為命令名20、人機(jī)界面設(shè)計信息顯示指南(1)只顯示于當(dāng)前工作內(nèi)容有關(guān)的信息(2)不要用數(shù)據(jù)淹沒用戶(3)使用一致的標(biāo)記、標(biāo)準(zhǔn)的縮寫和可與之的顏色(4)允許用戶保持可視化的語境(5)產(chǎn)生有意義的出錯信息(6)使用大小寫、縮進(jìn)和文本分組以幫助理解(7)使用窗口分隔不同類型的信息(8)使用模擬顯示方式顯示信息(9)高效率地使用顯示屏21、數(shù)據(jù)輸入指南(1)盡量減少用戶的輸入動作(2)保持信息顯示和數(shù)據(jù)輸入之間的一致性(3)允許用戶自定義輸入(4)交互應(yīng)該是靈活的(5)使在當(dāng)前語境中不適用的命令不起作用(6)讓用戶控制交互流(7)對所有輸入動作都提供幫助(8)消除冗余的輸入22、選擇一種語言的標(biāo)準(zhǔn)是什么?(1)系統(tǒng)用戶的要求:用戶知識和用戶環(huán)境要求;(2)可以使用的編譯程序:軟件平臺要求;(3)可以得到的軟件工具:軟件條件要求;(4)工程規(guī)模:實(shí)踐要求;(5)程序員的知識:方便性要求;(6)軟件可移植性要求:造價要求;(7)軟件的應(yīng)用領(lǐng)域:對象特點(diǎn)要求。23、編碼風(fēng)格應(yīng)該遵循的規(guī)則(1)程序內(nèi)部的文檔化:指編碼時適當(dāng)選擇標(biāo)識符的名字適當(dāng)安排注釋注重程序的整個組織形式(2)數(shù)據(jù)說明(3)語句構(gòu)造(4)輸入/輸出24、軟件測試準(zhǔn)則(1)所有測試都應(yīng)該能追溯到用戶需求。(2)應(yīng)該遠(yuǎn)在測試開始之前就制定出測試計劃。(3)把Pareto原理應(yīng)用到軟件測試中。Pareto原理:測試發(fā)現(xiàn)的錯誤中80%很可能是由程序中20%的模塊造成的。(4)應(yīng)該從“小規(guī)?!睖y試開始,并逐步進(jìn)行“大規(guī)?!睖y試。(5)窮舉測試是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 天津積分落戶合同范例
- 舊廠設(shè)備出售合同范例
- 店鋪出兌合同范例文件
- 章丘農(nóng)場租賃合同范例
- 公司賣股合同范例
- 家居合作置換合同范例
- 電梯安裝責(zé)任合同范例
- 簽約編劇合同范例
- 清潔服務(wù)包干合同范例
- 冷庫直銷安裝合同范例
- 展覽館維修維護(hù)投標(biāo)方案
- 項(xiàng)目電氣工程師總結(jié)
- 陳赫賈玲小品《歡喜密探》臺詞劇本
- 2023招聘專員個人年終總結(jié)
- 國際郵輪產(chǎn)業(yè)及未來郵輪
- 水工建筑物考試試題及答案
- 多元回歸分析論文
- 小學(xué)第四季度意識形態(tài)分析研判報告
- 部編二年級語文上冊 培優(yōu)輔差測試記錄表
- 國企市場化選聘經(jīng)理層聘任協(xié)議模板
- 《水晶知識培訓(xùn)》課件
評論
0/150
提交評論