![SE1101-lecture11_軟件實現(xiàn)40_第1頁](http://file1.renrendoc.com/fileroot2/2020-1/2/177e1133-583a-4f24-b5ba-91ab3675e93c/177e1133-583a-4f24-b5ba-91ab3675e93c1.gif)
![SE1101-lecture11_軟件實現(xiàn)40_第2頁](http://file1.renrendoc.com/fileroot2/2020-1/2/177e1133-583a-4f24-b5ba-91ab3675e93c/177e1133-583a-4f24-b5ba-91ab3675e93c2.gif)
![SE1101-lecture11_軟件實現(xiàn)40_第3頁](http://file1.renrendoc.com/fileroot2/2020-1/2/177e1133-583a-4f24-b5ba-91ab3675e93c/177e1133-583a-4f24-b5ba-91ab3675e93c3.gif)
![SE1101-lecture11_軟件實現(xiàn)40_第4頁](http://file1.renrendoc.com/fileroot2/2020-1/2/177e1133-583a-4f24-b5ba-91ab3675e93c/177e1133-583a-4f24-b5ba-91ab3675e93c4.gif)
![SE1101-lecture11_軟件實現(xiàn)40_第5頁](http://file1.renrendoc.com/fileroot2/2020-1/2/177e1133-583a-4f24-b5ba-91ab3675e93c/177e1133-583a-4f24-b5ba-91ab3675e93c5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第8章 軟件實現(xiàn),本章導讀: 從宏觀上講,軟件實現(xiàn)包括詳細設計、編程實現(xiàn)、單元測試和集成測試。從微觀上講,軟件實現(xiàn)是指編程和單元測試。 本章只講IT企業(yè)的編程實現(xiàn)方法,包括軟件實現(xiàn)概論、實現(xiàn)原則、編程語言、編碼技術、界面設計、幫助信息、軟件實現(xiàn)管理,以及用戶指南書寫的參考指南。由于程序設計語言發(fā)展很快,尤其是面向對象語言和數(shù)據(jù)庫語言功能強大,以及類庫、構件庫、中間件和業(yè)務基礎平臺的出現(xiàn),使得編程工作的效率大大提高。,1,本章對讀者的要求,要求了解: (1)函數(shù)的實現(xiàn)及函數(shù)庫的管理概念 (2)存儲過程的實現(xiàn)及存儲過程庫的管理概念 (3)類的實現(xiàn)及類庫的管理概念 (4)構件的實現(xiàn)及構件庫的管理概念
2、 (5)中間件的實現(xiàn)及中間件的管理概念,2,要求理解: (1)軟件實現(xiàn)的輸入與輸出 (2) 軟件實現(xiàn)原則 (3) 軟件實現(xiàn)管理 (4) 編碼技術 (5) 編碼風格、編程規(guī)范、界面設計 (6) 幫助和提示信息,3,要求掌握: (1)用戶使用手冊的編寫方法 (2)用戶安裝手冊的編寫方法 對軟件開發(fā)人員的希望: 作為一名軟件開發(fā)人員,若能熟練地掌握J2EE和.Net兩個開發(fā)平臺,那么他就是一名軟件實現(xiàn)高手,只要他努力工作,就能在軟件行業(yè)做出優(yōu)秀的成績,在社會上獲得豐厚的回報。,4,8.1 軟件實現(xiàn)概論,軟件實現(xiàn)的輸入是詳細設計說明書,輸出是源程序、目標程序及用戶指南。 根據(jù)“五個面向理論”,編程實現(xiàn)
3、的主要方法是“面向對象實現(xiàn)”。 因為現(xiàn)在流行的編程語言,基本上都是面向對象的語言,如Delphi,Visual Basic,C+,C#,Java等。所以軟件實現(xiàn),主要的方法都是“面向對象實現(xiàn)”。,5,宏觀上講,“面向對象實現(xiàn)”的目標是:按照詳細設計說明書的要求,從公司的函數(shù)庫、存儲過程庫、類庫、構件庫、中間件庫中挑選有關的部件,遵照軟件公司的程序設計規(guī)范,按照詳細設計說明書中對數(shù)據(jù)結構、算法分析和模塊實現(xiàn)等方面的設計說明,用面向對象的語言,通過穿針引線的方法,將這些部件組裝起來,分別實現(xiàn)各模塊的功能,從而實現(xiàn)目標系統(tǒng)的功能、性能、接口、界面等要求。,6,微觀上講,軟件實現(xiàn)是指通過編碼、調(diào)試、單
4、元測試、集成測試等活動創(chuàng)建軟件產(chǎn)品的過程。 軟件實現(xiàn)與軟件設計、軟件測試密不可分。軟件設計為軟件實現(xiàn)提供輸入,軟件實現(xiàn)的輸出是軟件測試的輸入。盡管軟件設計和軟件測試是獨立的過程,但軟件實現(xiàn)本身也涉及到設計和測試工作,它們之間的界限視具體項目而定。 軟件實現(xiàn)還會產(chǎn)生大量的軟件配置項,例如,源文件、測試用例等,因此軟件實現(xiàn)過程還涉及配置管理,如圖8-2所示。,7,軟件實現(xiàn)示意圖,8,實現(xiàn)過程是不可缺少的,需求分析和軟件設計是為了更有效地軟件實現(xiàn),軟件測試是為了保證軟件實現(xiàn)的正確性,因此,軟件實現(xiàn)成為軟件工程的核心任務之一。 軟件實現(xiàn)在開發(fā)過程中占據(jù)很大的比例,根據(jù)項目性質的不同,大約占30%80%
5、之間。一般而言,軟件企業(yè)越大越正規(guī),軟件實現(xiàn)的比重就越輕。反之,軟件實現(xiàn)的比重就越重。 只有軟件實現(xiàn)是軟件工程中唯一不可缺少的步驟。因為:有個別特殊項目可能不經(jīng)過需求分析和設計就直接進入編碼實現(xiàn)階段,有個別特殊項目會省略掉測試,但無論如何,實現(xiàn)過程是不可缺少的。,9,設計與實現(xiàn)有時是迭代進行的,由于軟件設計過程可能貫穿于整個開發(fā)過程,因此,有時不應將它看作一個獨立的階段。對某些小型的項目,設計過程通常在實現(xiàn)時完成;對某些大型的項目,會明確地劃分架構設計和詳細設計兩個階段,即使如此,有些詳細設計工作仍會留在實現(xiàn)階段完成。這就是迭代模型產(chǎn)生的背景之一。 大型軟件企業(yè)在軟件實現(xiàn)工作中,還需要管理好如
6、下問題:,10,1. 建立公司的軟件開發(fā)財富庫,新增函數(shù)的實現(xiàn)及函數(shù)庫的管理,新增存儲過程的實現(xiàn)及存儲過程庫的管理,新增類的實現(xiàn)及類庫的管理,新增構件的實現(xiàn)及構件庫的管理,新增中間件的實現(xiàn)及中間件的管理。這些庫統(tǒng)稱為開發(fā)財富庫。 如果讀者所在的軟件組織處在初創(chuàng)時期,函數(shù)庫、類庫、構件庫都是空白,那么就只能利用面向對象語言自帶的函數(shù)和基礎類庫,從頭創(chuàng)業(yè),一邊對系統(tǒng)進行編程實現(xiàn),一邊在實踐中積累函數(shù)、類和構件,逐步建立自己的函數(shù)庫、類庫和構件庫,為日后的開發(fā)準備財富。,11,2. 構件的實現(xiàn)及構件庫的管理,【定義8-1】所謂構件(Component),就是被標識的、且可被復用的軟件制品 (Arte
7、face)。 構件與部件、組件基本上是一個意思,有時會認為部件和組件的粒度比構件大一些或范圍廣一些。 上述定義有三個特點: 第一、構件要被明確標識,即有一個被調(diào)用的名字; 第二、構件應該可復用,不可復用的只能稱做模塊或子系統(tǒng); 第三、構件是軟件制品,在宏觀上軟件制品可以是項目計劃、成本估計、體系構架、需求模型、設計模型、程序代碼、窗口界面、文檔、數(shù)據(jù)結構、測試用例等。,12,構件的實現(xiàn)及構件庫的管理(續(xù)),微觀上的構件,通常是指程序代碼級的構件。這種構件在技術上的三個流派:Sun的Java平臺、Microsoft的COM+平臺、IBM的CORBA平臺。構件具有接口標準、通信協(xié)議、同步和異步操作
8、。 構件有兩種級別: (1). 可執(zhí)行文件級別上的構件,它是已通過編譯的構件,因而與語言無關。 (2). 源代碼級別上的構件,實際上只是構件模板,可以用多種語言實現(xiàn),當然與語言有關。,13,構件的實現(xiàn)及構件庫的管理(續(xù)),大型軟件企業(yè)內(nèi)部有構件庫。構件庫是組織管理構件的倉庫,程序員必須知道新增構件的實現(xiàn)及構件庫的管理,它是軟件實現(xiàn)的重要內(nèi)容。 構件庫管理系統(tǒng)的功能:構件的分類、入庫、檢索、瀏覽與存儲,對不再使用的構件進行刪除,對構件使用情況的統(tǒng)計與評價。,14,3中間件的實現(xiàn)及中間件的管理,中間件是一個非常大的組件,一般在網(wǎng)絡上運行,完成批量數(shù)據(jù)的傳遞和通信工作,調(diào)用方式是通過一組事先約定的格
9、式與參數(shù)進行的。 常見的中間件為文件傳輸中間件,如IBM公司的消息隊列中間件MQ(Message Queue),在網(wǎng)絡節(jié)點之間進行點對點的數(shù)據(jù)通信和傳輸。又如城市醫(yī)療保險系統(tǒng)中的中間件,它在市醫(yī)保局節(jié)點和全市各家醫(yī)院節(jié)點之間,進行點對點的數(shù)據(jù)通信和傳輸,病號每次劃價計費,節(jié)點之間就交換一次信息。 在詳細設計說明書中,已對新增中間件的功能和算法進行了詳述,此處只要將詳細設計翻譯為源程序即可。,15,4程序設計風格與編程規(guī)范的管理,為了提高編程實現(xiàn)的質量,不僅需要有良好的程序設計風格,而且需要大家一致遵守的編程規(guī)范。 程序設計風格的內(nèi)容包括:規(guī)范化的程序內(nèi)部文檔、數(shù)據(jù)結構的詳細說明、清晰的語句層次
10、結構、遵守某一編程規(guī)范。 編程規(guī)范的內(nèi)容包括:命名規(guī)范、界面規(guī)范、提示及幫助信息規(guī)范、熱鍵定義等。,16,8.2 軟件實現(xiàn)原則,(1) 盡量簡單 在軟件實現(xiàn)過程中,應創(chuàng)建簡單、易讀的代碼。相同功能的代碼只寫一次。 (2) 易于驗證。 無論是在編碼、測試還是實際操作中,應該很容易地發(fā)現(xiàn)其中的錯誤。自動化的單元測試可幫助產(chǎn)生易于驗證的代碼。 (3) 適應變化。 外部環(huán)境、軟件需求和軟件設計,在整個開發(fā)過程中可能會隨時變化,因此要求軟件實現(xiàn)時考慮適應這些變化。 (4)遵守某一編程規(guī)范。 (5)選擇項目組成員最熟悉的工具或語言。,17,*8.3 編程語言,編程語言可分為三類: 1語言符號 使用文本來構
11、建軟件。這些文本遵循一定的語法規(guī)則,并提供相應的語義,使用者可以直觀地理解軟件將完成的工作。如HTML、XML等標記語言。 2形式化符號 采用精確的、形式化定義的符號來構建軟件。形式化符號和形式化方法是系統(tǒng)級編程的重要形式。如Pascal語言。 3可視化符號 采用可視化的部件來構建軟件,通常用于界面元素的編程。如Visual Basic語言。,18,編程語言(續(xù)),(1) Java Java是一種面向對象的編程語言,語法結構與C+類似。Java在虛擬機上運行,通過為不同的平臺提供虛擬機,實現(xiàn)了Java跨平臺的特性。Java被廣泛用于應用服務器端程序和移動設備程序中。 (2) C C既具有高級語
12、言的特征,又具有低級語言的功能,被廣泛應用于系統(tǒng)軟件,嵌入式應用軟件。 (3) C+ 在C基礎上發(fā)展起來的一種面向對象的語言,C+提供了類,多態(tài),異常處理,模板,標準類庫等。,19,編程語言(續(xù)),(5) Visual Basic Visual Basic是一種面向對象、可視化的編程語言,用于開發(fā)Windows桌面應用程序和Web應用程序。 (7) C# C#語法與Java類似,是.Net平臺上編程語言。 (10) Delphi Delphi是一種強類型的高級編譯語言,支持面向過程、面向數(shù)據(jù)和面向對象的三種開發(fā)方法。Delphi源自Pascal,提供了大量的快速應用程序開發(fā)組件。主要用于數(shù)據(jù)庫
13、應用程序開發(fā)。,20,*8.4 編碼技術,1. 編碼標準 遵循規(guī)范化的源代碼布局和命名規(guī)范,可以創(chuàng)建可讀性好,易于理解的代碼。 大型軟件企業(yè)都有一套開發(fā)標準、編碼標準、界面標準,在全企業(yè)內(nèi)推廣應用,形成自已的企業(yè)文化。新員工必須嚴格遵守,迅速適應。,21,編碼技術(續(xù)),2代碼布局 代碼的布局不影響程序的執(zhí)行速度、內(nèi)存使用,以及對用戶可見的屬性。 代碼布局應遵循的基本原則:代碼布局能夠正確地反映程序的邏輯結構。 好的代碼布局能加強程序的可讀性??勺x性好的代碼,更易于理解,易于維護,可以減少修改、調(diào)試以及審查的工作量。 通常,程序員通過縮排和空格表示程序內(nèi)部的邏輯。又稱鋸齒形程序布局。,22,編
14、碼技術(續(xù)),3實體命名 代碼中存在大量的實體名,如變量名、方法名、類名、接口名、包名等。好的命名可以提高代碼的可讀性。 在對一個實體進行命名時,最重要的一點,是名稱能夠準確地反映實體的本質。先使用一句話來描述實體所代表的事物,然后抽取一個或幾個單詞作為實體的名稱。 研究表明,命名長度在10到16個字符之間,調(diào)試代碼所需的工作量最少,過長或過短的命名不易于代碼的理解。,23,3實體命名(續(xù)),實體命名可遵循的規(guī)則: (1)類名和對象:在Java和C+中,通常類名的首字母大寫,對象名的首字母小寫。 (2)全局變量:加上統(tǒng)一的前綴,例如,表示所有在線人數(shù)可以使用g_totalOnline。 (3)
15、成員變量:在類的成員變量前添加統(tǒng)計的前綴,例如_或m_,這樣可以很容易地區(qū)分成員變量和局部變量。 (4)常量:在Java和C+中,通常以全部大寫的單詞表示常量,單詞間以下劃線分隔。例如MAX_VALUE表示最大值。,24,編碼技術(續(xù)),4錯誤處理 程序執(zhí)行過程中,可能出現(xiàn)可預測和不可預測的錯誤,錯誤處理方式將影響到軟件的正確性、穩(wěn)定性以及其它的非功能屬性??梢圆扇∫韵麓胧┻M行處理: (1)返回一個中性值:當錯誤發(fā)生時,程序繼續(xù)執(zhí)行,返回一個中性的值。例如,數(shù)值計算返回0;字符串操作返回空字符串。 (2)返回下一個有效值:當一次操作失敗后,執(zhí)行下一次操作。例如,從網(wǎng)絡中讀取數(shù)據(jù)失敗后,取下一個
16、有效值。 (3)返回前一個有效值:當一次操作失敗時,返回上一次成功操作的值。例如,從網(wǎng)絡中讀取數(shù)據(jù)失敗時,返回上一次讀到的有效值。,25,4錯誤處理(續(xù)),(4)返回最相近的有效值:例如,一個方法計算應返回一個非負數(shù),如果計算值小于0,則返回0。 (5)記錄日志:當錯誤發(fā)生時,記錄日志文件,并繼續(xù)執(zhí)行。 (6)返回錯誤代碼:返回錯誤代碼,指示錯誤發(fā)生的原因,調(diào)用者可根據(jù)錯誤代碼進行錯誤處理。 (7)調(diào)用錯誤處理函數(shù):用錯誤處理函數(shù)來統(tǒng)一地進行錯誤處理,這樣做的好處是可以集中地對錯誤進行管理。 (8)顯示錯誤信息:當錯誤發(fā)生時,向用戶提示錯誤信息。例如,用戶錄入了非法數(shù)據(jù)時,向用戶提示正確的輸入
17、格式。 (9)退出程序:這種方式對一些安全性要求較高的程序比較適合,防止繼續(xù)操作可能帶來的破壞。,26,編碼技術(續(xù)),5代碼重構 代碼重構是軟件進化的重要手段,需要重構的例子有: (1)重復代碼:重復的代碼需要你做重復的修改,即要修改一個地方,就要平行地修改其它地方。 (2)函數(shù)過長:在面向對象的編程中,很少需要超過一屏的函數(shù)。出現(xiàn)這種情況,暗示著你使用了過程化編程方式,來進行面向對象的編程。 (3)循環(huán)過長:過長的循環(huán)體最好變成獨立的函數(shù),可有效地降低循環(huán)的復雜度。 (4)內(nèi)聚性差:如果你發(fā)現(xiàn)一類是一些不相關的責任的集合,這個類應該分解成多個類,每個類負責一個邏輯相關的責任集合。 (5)參
18、數(shù)過多:好的函數(shù)通常比較簡短,不應有過多的參數(shù)。過多的參數(shù)通常表示方法沒有很好地抽象。,27,編碼技術(續(xù)),6成對編程 成對編程的定義:當進行成對編程時,一個程序員輸入代碼,另一個在旁邊觀察代碼中是否存在錯誤,并思考下一步要進行的工作。 成對編程的優(yōu)點: (1) 可以提高代碼的可讀性和可理解性,產(chǎn)生高質量的代碼。 (2) 提高編程效率,使編程速度更快,代碼錯誤更少。后期測試和糾錯的工作量就大大降低。 (3) 成對編程可以提高開發(fā)團隊的凝聚力和協(xié)作精神。,28,*8.5 軟件實現(xiàn)管理,1過程模型 這里講的過程模型,是指軟件開發(fā)模型。過程模型從其規(guī)范程度可分為兩大類,重量級開發(fā)模型和輕量級的敏捷
19、開發(fā)模型。不同的軟件開發(fā)模型,對軟件實現(xiàn)的重視程度不同。 (1)對于瀑布模型和RUP模型等重量級開發(fā)模型,實現(xiàn)階段必須在前期工作(需求分析、架構設計、詳細設計)的基礎上才能進行。 (2)對于敏捷開發(fā)過程等輕量級開發(fā)模型,實現(xiàn)階段趨向于和其它的軟件開發(fā)活動(需求、設計、測試)同步執(zhí)行。敏捷開發(fā)過程傾向于將編碼、設計、測試混合在一起構成實現(xiàn)活動。,29,軟件實現(xiàn)管理(續(xù)),2開發(fā)計劃 影響開發(fā)計劃的因素是: (1)過程模型影響開發(fā)計劃。不同的開發(fā)模型,有不同的開發(fā)計劃。因為:開發(fā)計劃定義了系統(tǒng)部件創(chuàng)建和集成的順序、質量管理過程和開發(fā)任務分配等。 (2)項目大小也影響開發(fā)計劃。估計項目大小和所需要的
20、工作量,是開發(fā)計劃和軟件項目管理中最具挑戰(zhàn)性的問題。準確估計是保證軟件項目按質、按量、按時完成的重要因素。 那么,如果開發(fā)計劃出現(xiàn)延期,怎么辦呢?,30,出現(xiàn)延期的處理方式,(1)增加開發(fā)人員。行不行?不行!因為:向一個延期的項目添加人員,無異于火上澆油。 (2)減少項目內(nèi)容。行不行?行!因為:減少項目的內(nèi)容可以防止項目繼續(xù)延期。怎樣減少呢?在項目初期,應當標識項目特征的優(yōu)先級。優(yōu)先級可以為“必須具有”、“最好具有”和“可選項”。這樣,如果項目延期了,就可以按優(yōu)先級來縮減項目內(nèi)容。 (3)有什么辦法使項目不延期呢?有!這就是二八定律。要將二八規(guī)律作為制定開發(fā)計劃的座右銘,落實到工作量估計、進度
21、估計和其他資源估計上去。,31,軟件實現(xiàn)管理(續(xù)),3實現(xiàn)度量 常見的度量包括如下五個方面: (1) 程序大小 代碼行數(shù) 注釋行數(shù) 類或函數(shù)的數(shù)量 數(shù)據(jù)聲明的數(shù)量 (2) 缺陷跟蹤 缺陷情況(嚴重程度、位置、來源、修正方式、修正人、影響代碼行數(shù)、花費工時) 發(fā)現(xiàn)缺陷的平均時間 修正缺陷的平均時間 修正缺陷引入新錯誤數(shù)量,32,實現(xiàn)度量(續(xù)),(3) 生產(chǎn)力 項目總工時 每個類或函數(shù)的工時 項目花費 每行代碼花費 每個缺陷花費 (4) 整體質量 缺陷總數(shù)量 每個類或函數(shù)的缺陷數(shù)量 每千行代碼的缺陷數(shù)量,33,實現(xiàn)度量(續(xù)),(5) 可維護性 每個類公共數(shù)據(jù)、公共方法、私有數(shù)據(jù)、私有方法、代碼行、
22、注釋行的數(shù)量。 每個方法的參數(shù)、局部變量、調(diào)用其它方法、決策點、代碼行、注釋行的數(shù)量。 以上五個方面的度量數(shù)據(jù),都是存入軟件公司的測量數(shù)據(jù)庫,作為公司軟件管理的財富。,34,8.6 屏幕界面設計,屏幕界面上看得見的窗口、畫面、圖像、按鈕等對象,在設計與實現(xiàn)中,統(tǒng)稱為“控件”。構件分為可視構件和非可視構件兩種,控件是一種可視構件。上述控件的有機排列和組合,就構成了用戶需求的各種屏幕界面。 屏幕界面設計包括三個級別: (1) 控件級設計 (2) 窗口級設計 (3) 系統(tǒng)級設計 屏幕界面設計原則是:界面簡潔樸素,控件擺放整齊,顏色風格統(tǒng)一,照顧客戶習慣。,35,8.8 軟件實現(xiàn)文檔,1實現(xiàn)文檔的組成
23、 軟件實現(xiàn)文檔由源程序清單和用戶指南組成。由于面向對象的語言與面向過程的語言有所不同,所以完整的源程序清單有時打印不出來,往往只能打印出部分源程序清單。一般的做法是:不打印出源程序清單,只保留其電子版本。 用戶指南主要包括用戶使用手冊和用戶安裝手冊 。 在特殊情況下,例如,數(shù)據(jù)庫服務器上的存儲管理、數(shù)據(jù)維護、數(shù)據(jù)備份、數(shù)據(jù)傳輸?shù)葐栴}較復雜時,在用戶指南中還要增加系統(tǒng)管理員手冊的內(nèi)容。,36,軟件實現(xiàn)文檔(續(xù)),2用戶指南的編寫要求 (1)統(tǒng)一采用編寫工具Word2003進行編寫。 (2)用統(tǒng)一的風格和確定的方法,描述產(chǎn)品提供的所有功能。描述之后的功能,應該具有如下特點:對于每一項功能的描述應該
24、完整。 (3)術語部分包括系統(tǒng)術語和基本概念。系統(tǒng)術語在整個系統(tǒng)的含義是統(tǒng)一的,放在前言部分描述。基本概念在各有關章節(jié)進行描述。 (4)語言要簡潔明快,表達準確。一句話不要太長,中間可以斷句幾次。 (5)指南格式應統(tǒng)一。,37,軟件實現(xiàn)文檔(續(xù)),3用戶指南的排版建議 (1)2人以上合作編寫,一定要有一人負責統(tǒng)稿。 (2)交稿前一定要最后一次仔細審讀。 (3)圖以章為序,如圖5.1或圖5-1(半字線連接章號和圖號),圖的標題在圖的下方。 (4)表以章為序,如表3.1或表3-2,表的標題在表的上方。 (5)命令格式。操作步驟中使用的命令按鈕、菜單命令項、標簽項等名稱用【】界定。如:打開【開始】菜
25、單選擇【程序】項 (6)例題格式。例題以章為序,并用【】界定。如【例3.5】或【例3-5】。,38,用戶指南的排版建議(續(xù)),(7)交稿前一定要最后一次仔細審讀,盡量減少不應有的文字錄入錯誤,并做到5個銜接、6個統(tǒng)一、7個對應: 5個銜接是:章節(jié)號、表序號、圖序號、公式號、頁碼號要連續(xù)銜接,不重、不漏。 6個統(tǒng)一是:格式、層次、名詞術語、符號、代號、計量單位要統(tǒng)一、一致。 7個對應是:目錄與正文標題、標題與內(nèi)容、正文與插圖、正文與表格、圖中代號與圖注、前后內(nèi)容要對應,避免重復和矛盾。 (8)嚴禁用Word 2003自動格式生成章節(jié)標題或序號。,39,軟件實現(xiàn)文檔(續(xù)),4用戶指南的編寫原則 (
26、1)列出應編制文檔的目錄。 (2)提示編制文檔應參考的標準。 (3)指定文檔管理員。 (4)提供編制文檔所需要的條件,落實文檔編寫人員、主管和所需經(jīng)費以及編制工具等。 (5)明確保證文檔質量的方法,為了確保文檔內(nèi)容的正確性、合理性,應采取一定的措施,如評審、審稿、鑒定等。 (6)繪制進度表,以圖表形式列出各階段應產(chǎn)生的文檔、編制人員、編制主管、編制日期、完成日期、評審日期等。,40,軟件實現(xiàn)文檔(續(xù)),5用戶指南的審核鑒定 為了保證文檔的質量以及文檔內(nèi)容的正確性、合理性,軟件工程管理部門應對用戶指南進行評審和鑒定工作,提出改進意見,有利于整個文檔質量的提高。 6軟件實現(xiàn)管理文檔 軟件實現(xiàn)管理文
27、檔包括用戶指南評審報告,模塊源程序行統(tǒng)計表(行/模塊名),源程序工作量統(tǒng)計表(行/人天)。這些管理文檔均較簡單,作為習題,由讀者自己完成。,41,例:考勤卡系統(tǒng)的設計與實現(xiàn),考勤卡系統(tǒng)的設計工作分為四個部分: TimecardDomain包和TimecardWorkflow包 這兩個包依賴于相同的技術,并且緊密耦合,放在一起進行設計 TimecardUI包 HtmlProduction框架 唯一生成HTML頁面的包。TimecardUI使用它,并應當促進其發(fā)展,獨立于TimecardUI BillingSystemInterface子系統(tǒng) 該包是一個獨立的工作,可以并發(fā)或者有空余開發(fā)資源時開發(fā)
28、,42,回憶:Record Time用例需求,1、正常事件流(分析模型) 參與者請求當前條目,Record TimeUI對象調(diào)用Record TimeWorkflow對象的getEntries方法,指向User對象的引用。有了User對象,Record TimeWorkflow對象向它要求當前的Timecard對象。然后Record Timeworkflow對象能夠向Timecard對象要求它的所有條目,并將它們返回給RecordTimeUI。在Employee參與者完成對時間條目的更新后,Record Time UI對象使用Record Timeworkflow對象上的updateEntri
29、es方法將更新傳播到整個系統(tǒng)。Record TimeWorkflow對象調(diào)用先前存儲的指向Timecard對象的引用上的setEntries方法。,-43-,回憶:RecordTime用例的類,-44-,回憶:Record Time用例時序圖,-45-,回憶:Record Time時序圖,2、提交考勤卡(分析模型),-46-,RecordTime用例設計,正常事件流 開始:參與者請求條目。 RecordTimeServrlet對象向RecordTimeWorkflow的home接口要求指向RecordTimeworkflow會話bean的遠程引用。 然后RecordTimeServlet能夠向
30、RecordTimeWorkflow會話bean請求當前考勤卡。 RecordTimeWorkflow以數(shù)據(jù)傳輸對象的形式返回考勤卡信息。第一次信息請求要求RecordTimeworkflow尋找User對象,并存儲該User實體bean的本地引用,這就要求RecordTimeWorkflow會話bean實現(xiàn)為一個有狀態(tài)會話bean,之后的請求就使用RecordTimeWorkflow所保存的指向User實體bean的引用。 每次RecordTimeWorkflow收到一個信息請求,則傳遞給Timecard實體bean,并返回結果 每次RecordTimeWorkflow接收到一個更新命令,則
31、傳遞給Timecard實體bean,-47-,RecordTime用例設計,-48-,實現(xiàn):TimecardDomain 包 和TimecardWorkflow包 的設計,分析模型:顯示了邊界類、控制類和實體類是如何相互協(xié)作滿足系統(tǒng)需求的 系統(tǒng)結構:確定了包相互之間的約束關系 詳細設計的來源: 1、評審Login用例的分析模型(事件流,類) 2、評審RecordTime用例的分析模型(事件流,類),49,TimecardDomain包和TimecardWorkflow包 TimecardUI包 HtmlProduction框架 BillingSystemInterface子系統(tǒng),實現(xiàn):Time
32、cardDomain 包 和TimecardWorkflow包 的設計,示例:User實體bean 一共包括三個文件:一個遠程接口,一個home接口,一個實現(xiàn)類 (1)User.java:是User實體Bean的遠程接口,定義了這個bean所有遠程可訪問的業(yè)務方法。這個類統(tǒng)一了我們在ReacordTime用例和Login用例中所發(fā)現(xiàn)的行為,51,(2)UserHome.java 是User實體bean的home接口。它定義了所有用來尋找、生成以及銷毀User實體bean的方法,52,實現(xiàn):TimecardDomain 包 和TimecardWorkflow包 的設計,53,(3)UserBea
33、n.java 是User實體bean的實現(xiàn),實現(xiàn)了home接口和遠程接口中定義的方法 2、同理可得Timecard實體bean Timecard.java, TimecardHome.java和TimecardBean.java,54,實現(xiàn):TimecardDomain 包 和TimecardWorkflow包 的設計,55,LoginWorkflow無狀態(tài)會話bean LoginWorkflow.java, LoginWorkflowHome.java和LoginWorkflowBean.java LoginWorkflow是一個無狀態(tài)會話bean,所以在調(diào)用生成方法時不需要參數(shù),56,實現(xiàn)
34、:TimecardDomain 包 和TimecardWorkflow包 的設計,RecordTimeWorkflow有狀態(tài)會話bean RecordTimeWorkflow.java包含了RecordTimeWorkflow會話bean所有的遠程可訪問方法; RecordTimeWorkflowHome.java包含了用來產(chǎn)生會話bean的方法,以用戶名作為參數(shù),將該會話與一個用戶關聯(lián)起來 RecordTimeWorkflowBean.java是該會話類的實現(xiàn) 5、支撐類(略),57,實現(xiàn):TimecardDomain 包 和TimecardWorkflow包 的設計,ChargeCode實體bean ChargeCode.java是一個簡單的數(shù)據(jù)存儲器,簡單的唯一性檢查。一個收費項目代碼是一個可計算工資的工作單元。 ChargeCodeHome.java是ChargeCode實體bean的home接口,定義了查找以及生成ChargeCode實體bean的方法 ChargeCodeBean.java是ChargeCodeBean實體bean的實現(xiàn)類,提供了這個bean所有的實際數(shù)據(jù)和邏輯,58,實現(xiàn):Timec
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代服務業(yè)的全球化進程與未來趨勢預測報告
- 我們的節(jié)日端午節(jié)包粽子活動方案
- 生態(tài)城市規(guī)劃中的公園綠地建設
- 現(xiàn)代物流技術創(chuàng)新開啟智能化時代
- 客戶滿意度調(diào)查的解決方案
- 2023六年級數(shù)學上冊 四 圓的周長和面積 1圓的周長 圓的周長公式的拓展應用說課稿 冀教版
- 14-2《變形記》(節(jié)選)(說課稿)-2024-2025學年高一語文下學期同步教學說課稿專輯(統(tǒng)編版必修下冊)
- 11 屹立在世界的東方 第1課時 說課稿-2023-2024學年道德與法治五年級下冊統(tǒng)編版001
- 2023二年級數(shù)學上冊 五 測量長度 1用厘米作單位量長度第3課時 用厘米、分米作單位量長度的練習說課稿 西師大版
- Unit 5 Whose dog is it(說課稿)-2023-2024學年人教PEP版英語五年級下冊
- 部編版語文四年級下冊第一單元 迷人的鄉(xiāng)村風景 大單元整體教學設計
- 湖南省長郡中學2023-2024學年高二下學期寒假檢測(開學考試)物理 含解析
- 五年級行程問題應用題100道
- 血透病人體重健康宣教
- 脾破裂護理查房
- 人教版高中物理必修一全套課件【精品】
- 動物檢疫技術-臨診檢疫技術(動物防疫與檢疫技術)
- 《華夏幸福房地產(chǎn)公司人才流失現(xiàn)狀、原因及應對策略》開題報告(文獻綜述)3400字
- 文化墻、墻體彩繪施工方案
- 小型混凝土攪拌機-畢業(yè)設計
- 初中化學校本課程
評論
0/150
提交評論