實(shí)用軟件工程(第2版)第8章4課時(shí)_第1頁(yè)
實(shí)用軟件工程(第2版)第8章4課時(shí)_第2頁(yè)
實(shí)用軟件工程(第2版)第8章4課時(shí)_第3頁(yè)
實(shí)用軟件工程(第2版)第8章4課時(shí)_第4頁(yè)
實(shí)用軟件工程(第2版)第8章4課時(shí)_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

實(shí)用軟件工程----IT企業(yè)軟件的開(kāi)發(fā)與管理趙池龍

第8章軟件實(shí)現(xiàn)本章導(dǎo)讀:從宏觀上講,軟件實(shí)現(xiàn)包括詳細(xì)設(shè)計(jì)、編程實(shí)現(xiàn)、單元測(cè)試和集成測(cè)試。從微觀上講,軟件實(shí)現(xiàn)是指編程和單元測(cè)試。本章只講IT企業(yè)的編程實(shí)現(xiàn)方法,包括軟件實(shí)現(xiàn)概論、實(shí)現(xiàn)原則、編程語(yǔ)言、編碼技術(shù)、界面設(shè)計(jì)、幫助信息、軟件實(shí)現(xiàn)管理,以及用戶指南書寫的參考指南。由于程序設(shè)計(jì)語(yǔ)言發(fā)展很快,尤其是面向?qū)ο笳Z(yǔ)言和數(shù)據(jù)庫(kù)語(yǔ)言功能強(qiáng)大,以及類庫(kù)、構(gòu)件庫(kù)、中間件和業(yè)務(wù)基礎(chǔ)平臺(tái)的出現(xiàn),使得編程工作的效率大大提高。

本章對(duì)讀者的要求要求了解:(1)函數(shù)的實(shí)現(xiàn)及函數(shù)庫(kù)的管理概念(2)存儲(chǔ)過(guò)程的實(shí)現(xiàn)及存儲(chǔ)過(guò)程庫(kù)的管理概念(3)類的實(shí)現(xiàn)及類庫(kù)的管理概念(4)構(gòu)件的實(shí)現(xiàn)及構(gòu)件庫(kù)的管理概念(5)中間件的實(shí)現(xiàn)及中間件的管理概念要求理解:(1)軟件實(shí)現(xiàn)的輸入與輸出(2)軟件實(shí)現(xiàn)原則(3)軟件實(shí)現(xiàn)管理(4)編碼技術(shù)(5)編碼風(fēng)格、編程規(guī)范、界面設(shè)計(jì)(6)幫助和提示信息要求掌握:

(1)《用戶使用手冊(cè)》的編寫方法

(2)《用戶安裝手冊(cè)》的編寫方法

對(duì)軟件開(kāi)發(fā)人員的希望:作為一名軟件開(kāi)發(fā)人員,若能熟練地掌握J(rèn)2EE和.Net兩個(gè)開(kāi)發(fā)平臺(tái),那么他就是一名軟件實(shí)現(xiàn)高手,只要他努力工作,就能在軟件行業(yè)做出優(yōu)秀的成績(jī),在社會(huì)上獲得豐厚的回報(bào)。8.1軟件實(shí)現(xiàn)概論

軟件實(shí)現(xiàn)的輸入是《詳細(xì)設(shè)計(jì)說(shuō)明書》,輸出是源程序、目標(biāo)程序及用戶指南。根據(jù)“五個(gè)面向理論”,編程實(shí)現(xiàn)的主要方法是“面向?qū)ο髮?shí)現(xiàn)”。因?yàn)楝F(xiàn)在流行的編程語(yǔ)言,基本上都是面向?qū)ο蟮恼Z(yǔ)言,如Delphi,VisualBasic,C++,C#,Java等。所以軟件實(shí)現(xiàn),主要的方法都是“面向?qū)ο髮?shí)現(xiàn)”。宏觀上講,“面向?qū)ο髮?shí)現(xiàn)”的目標(biāo)是:按照《詳細(xì)設(shè)計(jì)說(shuō)明書》的要求,從公司的函數(shù)庫(kù)、存儲(chǔ)過(guò)程庫(kù)、類庫(kù)、構(gòu)件庫(kù)、中間件庫(kù)中挑選有關(guān)的部件,遵照軟件公司的程序設(shè)計(jì)規(guī)范,按照《詳細(xì)設(shè)計(jì)說(shuō)明書》中對(duì)數(shù)據(jù)結(jié)構(gòu)、算法分析和模塊實(shí)現(xiàn)等方面的設(shè)計(jì)說(shuō)明,用面向?qū)ο蟮恼Z(yǔ)言,通過(guò)穿針引線的方法,將這些部件組裝起來(lái),分別實(shí)現(xiàn)各模塊的功能,從而實(shí)現(xiàn)目標(biāo)系統(tǒng)的功能、性能、接口、界面等要求。微觀上講,軟件實(shí)現(xiàn)是指通過(guò)編碼、調(diào)試、單元測(cè)試、集成測(cè)試等活動(dòng)創(chuàng)建軟件產(chǎn)品的過(guò)程。軟件實(shí)現(xiàn)與軟件設(shè)計(jì)、軟件測(cè)試密不可分。軟件設(shè)計(jì)為軟件實(shí)現(xiàn)提供輸入,軟件實(shí)現(xiàn)的輸出是軟件測(cè)試的輸入。盡管軟件設(shè)計(jì)和軟件測(cè)試是獨(dú)立的過(guò)程,但軟件實(shí)現(xiàn)本身也涉及到設(shè)計(jì)和測(cè)試工作,它們之間的界限視具體項(xiàng)目而定。軟件實(shí)現(xiàn)還會(huì)產(chǎn)生大量的軟件配置項(xiàng),例如,源文件、測(cè)試用例等,因此軟件實(shí)現(xiàn)過(guò)程還涉及配置管理,如圖8-2所示。

軟件實(shí)現(xiàn)示意圖

軟件實(shí)現(xiàn)編碼調(diào)試軟件設(shè)計(jì)單元測(cè)試集成測(cè)試開(kāi)發(fā)計(jì)劃配置管理實(shí)現(xiàn)過(guò)程是不可缺少的

需求分析和軟件設(shè)計(jì)是為了更有效地軟件實(shí)現(xiàn),軟件測(cè)試是為了保證軟件實(shí)現(xiàn)的正確性,因此,軟件實(shí)現(xiàn)成為軟件工程的核心任務(wù)之一。軟件實(shí)現(xiàn)在開(kāi)發(fā)過(guò)程中占據(jù)很大的比例,根據(jù)項(xiàng)目性質(zhì)的不同,大約占30%~80%之間。一般而言,軟件企業(yè)越大越正規(guī),軟件實(shí)現(xiàn)的比重就越輕。反之,軟件實(shí)現(xiàn)的比重就越重。只有軟件實(shí)現(xiàn)是軟件工程中唯一不可缺少的步驟。因?yàn)椋河袀€(gè)別特殊項(xiàng)目可能不經(jīng)過(guò)需求分析和設(shè)計(jì)就直接進(jìn)入編碼實(shí)現(xiàn)階段,有個(gè)別特殊項(xiàng)目會(huì)省略掉測(cè)試,但無(wú)論如何,實(shí)現(xiàn)過(guò)程是不可缺少的。設(shè)計(jì)與實(shí)現(xiàn)有時(shí)是迭代進(jìn)行的

由于軟件設(shè)計(jì)過(guò)程可能貫穿于整個(gè)開(kāi)發(fā)過(guò)程,因此,有時(shí)不應(yīng)將它看作一個(gè)獨(dú)立的階段。對(duì)某些小型的項(xiàng)目,設(shè)計(jì)過(guò)程通常在實(shí)現(xiàn)時(shí)完成;對(duì)某些大型的項(xiàng)目,會(huì)明確地劃分架構(gòu)設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段,即使如此,有些詳細(xì)設(shè)計(jì)工作仍會(huì)留在實(shí)現(xiàn)階段完成。這就是迭代模型產(chǎn)生的背景之一。大型軟件企業(yè)在軟件實(shí)現(xiàn)工作中,還需要管理好如下問(wèn)題:

1.建立公司的軟件開(kāi)發(fā)財(cái)富庫(kù)新增函數(shù)的實(shí)現(xiàn)及函數(shù)庫(kù)的管理,新增存儲(chǔ)過(guò)程的實(shí)現(xiàn)及存儲(chǔ)過(guò)程庫(kù)的管理,新增類的實(shí)現(xiàn)及類庫(kù)的管理,新增構(gòu)件的實(shí)現(xiàn)及構(gòu)件庫(kù)的管理,新增中間件的實(shí)現(xiàn)及中間件的管理。這些庫(kù)統(tǒng)稱為開(kāi)發(fā)財(cái)富庫(kù)。如果讀者所在的軟件組織處在初創(chuàng)時(shí)期,函數(shù)庫(kù)、類庫(kù)、構(gòu)件庫(kù)都是空白,那么就只能利用面向?qū)ο笳Z(yǔ)言自帶的函數(shù)和基礎(chǔ)類庫(kù),從頭創(chuàng)業(yè),一邊對(duì)系統(tǒng)進(jìn)行編程實(shí)現(xiàn),一邊在實(shí)踐中積累函數(shù)、類和構(gòu)件,逐步建立自己的函數(shù)庫(kù)、類庫(kù)和構(gòu)件庫(kù),為日后的開(kāi)發(fā)準(zhǔn)備財(cái)富。2.構(gòu)件的實(shí)現(xiàn)及構(gòu)件庫(kù)的管理【定義8-1】所謂構(gòu)件(Component),就是被標(biāo)識(shí)的、且可被復(fù)用的軟件制品(Arteface)。構(gòu)件與部件、組件基本上是一個(gè)意思,有時(shí)會(huì)認(rèn)為部件和組件的粒度比構(gòu)件大一些或范圍廣一些。上述定義有三個(gè)特點(diǎn):第一、構(gòu)件要被明確標(biāo)識(shí),即有一個(gè)被調(diào)用的名字;第二、構(gòu)件應(yīng)該可復(fù)用,不可復(fù)用的只能稱做模塊或子系統(tǒng);第三、構(gòu)件是軟件制品,在宏觀上軟件制品可以是項(xiàng)目計(jì)劃、成本估計(jì)、體系構(gòu)架、需求模型、設(shè)計(jì)模型、程序代碼、窗口界面、文檔、數(shù)據(jù)結(jié)構(gòu)、測(cè)試用例等。構(gòu)件的實(shí)現(xiàn)及構(gòu)件庫(kù)的管理(續(xù))微觀上的構(gòu)件,通常是指程序代碼級(jí)的構(gòu)件。這種構(gòu)件在技術(shù)上的三個(gè)流派:Sun的Java平臺(tái)、Microsoft的COM+平臺(tái)、IBM的CORBA平臺(tái)。構(gòu)件具有接口標(biāo)準(zhǔn)、通信協(xié)議、同步和異步操作。

構(gòu)件有兩種級(jí)別:

(1).可執(zhí)行文件級(jí)別上的構(gòu)件,它是已通過(guò)編譯的構(gòu)件,因而與語(yǔ)言無(wú)關(guān)。

(2).源代碼級(jí)別上的構(gòu)件,實(shí)際上只是構(gòu)件模板,可以用多種語(yǔ)言實(shí)現(xiàn),當(dāng)然與語(yǔ)言有關(guān)。構(gòu)件的實(shí)現(xiàn)及構(gòu)件庫(kù)的管理(續(xù))大型軟件企業(yè)內(nèi)部有構(gòu)件庫(kù)。構(gòu)件庫(kù)是組織管理構(gòu)件的倉(cāng)庫(kù),程序員必須知道新增構(gòu)件的實(shí)現(xiàn)及構(gòu)件庫(kù)的管理,它是軟件實(shí)現(xiàn)的重要內(nèi)容。構(gòu)件庫(kù)管理系統(tǒng)的功能:構(gòu)件的分類、入庫(kù)、檢索、瀏覽與存儲(chǔ),對(duì)不再使用的構(gòu)件進(jìn)行刪除,對(duì)構(gòu)件使用情況的統(tǒng)計(jì)與評(píng)價(jià)。3.中間件的實(shí)現(xiàn)及中間件的管理中間件是一個(gè)非常大的組件,一般在網(wǎng)絡(luò)上運(yùn)行,完成批量數(shù)據(jù)的傳遞和通信工作,調(diào)用方式是通過(guò)一組事先約定的格式與參數(shù)進(jìn)行的。常見(jiàn)的中間件為文件傳輸中間件,如IBM公司的消息隊(duì)列中間件MQ(MessageQueue),在網(wǎng)絡(luò)節(jié)點(diǎn)之間進(jìn)行點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)通信和傳輸。又如城市醫(yī)療保險(xiǎn)系統(tǒng)中的中間件,它在市醫(yī)保局節(jié)點(diǎn)和全市各家醫(yī)院節(jié)點(diǎn)之間,進(jìn)行點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)通信和傳輸,病號(hào)每次劃價(jià)計(jì)費(fèi),節(jié)點(diǎn)之間就交換一次信息。在詳細(xì)設(shè)計(jì)說(shuō)明書中,已對(duì)新增中間件的功能和算法進(jìn)行了詳述,此處只要將詳細(xì)設(shè)計(jì)翻譯為源程序即可。4.程序設(shè)計(jì)風(fēng)格與編程規(guī)范的管理為了提高編程實(shí)現(xiàn)的質(zhì)量,不僅需要有良好的程序設(shè)計(jì)風(fēng)格,而且需要大家一致遵守的編程規(guī)范。程序設(shè)計(jì)風(fēng)格的內(nèi)容包括:規(guī)范化的程序內(nèi)部文檔、數(shù)據(jù)結(jié)構(gòu)的詳細(xì)說(shuō)明、清晰的語(yǔ)句層次結(jié)構(gòu)、遵守某一編程規(guī)范。編程規(guī)范的內(nèi)容包括:命名規(guī)范、界面規(guī)范、提示及幫助信息規(guī)范、熱鍵定義等。8.2軟件實(shí)現(xiàn)原則(1)盡量簡(jiǎn)單在軟件實(shí)現(xiàn)過(guò)程中,應(yīng)創(chuàng)建簡(jiǎn)單、易讀的代碼。相同功能的代碼只寫一次。(2)易于驗(yàn)證。無(wú)論是在編碼、測(cè)試還是實(shí)際操作中,應(yīng)該很容易地發(fā)現(xiàn)其中的錯(cuò)誤。自動(dòng)化的單元測(cè)試可幫助產(chǎn)生易于驗(yàn)證的代碼。(3)適應(yīng)變化。外部環(huán)境、軟件需求和軟件設(shè)計(jì),在整個(gè)開(kāi)發(fā)過(guò)程中可能會(huì)隨時(shí)變化,因此要求軟件實(shí)現(xiàn)時(shí)考慮適應(yīng)這些變化。(4)遵守某一編程規(guī)范。(5)選擇項(xiàng)目組成員最熟悉的工具或語(yǔ)言。*8.3編程語(yǔ)言

編程語(yǔ)言可分為三類:1.語(yǔ)言符號(hào)使用文本來(lái)構(gòu)建軟件。這些文本遵循一定的語(yǔ)法規(guī)則,并提供相應(yīng)的語(yǔ)義,使用者可以直觀地理解軟件將完成的工作。如HTML、XML等標(biāo)記語(yǔ)言。2.形式化符號(hào)采用精確的、形式化定義的符號(hào)來(lái)構(gòu)建軟件。形式化符號(hào)和形式化方法是系統(tǒng)級(jí)編程的重要形式。如Pascal語(yǔ)言。3.可視化符號(hào)采用可視化的部件來(lái)構(gòu)建軟件,通常用于界面元素的編程。如VisualBasic語(yǔ)言。編程語(yǔ)言(續(xù))

(1)JavaJava是一種面向?qū)ο蟮木幊陶Z(yǔ)言,語(yǔ)法結(jié)構(gòu)與C++類似。Java在虛擬機(jī)上運(yùn)行,通過(guò)為不同的平臺(tái)提供虛擬機(jī),實(shí)現(xiàn)了Java跨平臺(tái)的特性。Java被廣泛用于應(yīng)用服務(wù)器端程序和移動(dòng)設(shè)備程序中。(2)CC既具有高級(jí)語(yǔ)言的特征,又具有低級(jí)語(yǔ)言的功能,被廣泛應(yīng)用于系統(tǒng)軟件,嵌入式應(yīng)用軟件。(3)C++在C基礎(chǔ)上發(fā)展起來(lái)的一種面向?qū)ο蟮恼Z(yǔ)言,C++提供了類,多態(tài),異常處理,模板,標(biāo)準(zhǔn)類庫(kù)等。編程語(yǔ)言(續(xù))(5)VisualBasicVisualBasic是一種面向?qū)ο蟆⒖梢暬木幊陶Z(yǔ)言,用于開(kāi)發(fā)Windows桌面應(yīng)用程序和Web應(yīng)用程序。

(7)C#C#語(yǔ)法與Java類似,是.Net平臺(tái)上編程語(yǔ)言。

(10)DelphiDelphi是一種強(qiáng)類型的高級(jí)編譯語(yǔ)言,支持面向過(guò)程、面向數(shù)據(jù)和面向?qū)ο蟮娜N開(kāi)發(fā)方法。Delphi源自Pascal,提供了大量的快速應(yīng)用程序開(kāi)發(fā)組件。主要用于數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)。*8.4編碼技術(shù)1.編碼標(biāo)準(zhǔn)遵循規(guī)范化的源代碼布局和命名規(guī)范,可以創(chuàng)建可讀性好,易于理解的代碼。大型軟件企業(yè)都有一套開(kāi)發(fā)標(biāo)準(zhǔn)、編碼標(biāo)準(zhǔn)、界面標(biāo)準(zhǔn),在全企業(yè)內(nèi)推廣應(yīng)用,形成自已的企業(yè)文化。新員工必須嚴(yán)格遵守,迅速適應(yīng)。編碼技術(shù)(續(xù))2.代碼布局代碼的布局不影響程序的執(zhí)行速度、內(nèi)存使用,以及對(duì)用戶可見(jiàn)的屬性。代碼布局應(yīng)遵循的基本原則:代碼布局能夠正確地反映程序的邏輯結(jié)構(gòu)。好的代碼布局能加強(qiáng)程序的可讀性??勺x性好的代碼,更易于理解,易于維護(hù),可以減少修改、調(diào)試以及審查的工作量。通常,程序員通過(guò)縮排和空格表示程序內(nèi)部的邏輯。又稱鋸齒形程序布局。編碼技術(shù)(續(xù))3.實(shí)體命名代碼中存在大量的實(shí)體名,如變量名、方法名、類名、接口名、包名等。好的命名可以提高代碼的可讀性。在對(duì)一個(gè)實(shí)體進(jìn)行命名時(shí),最重要的一點(diǎn),是名稱能夠準(zhǔn)確地反映實(shí)體的本質(zhì)。先使用一句話來(lái)描述實(shí)體所代表的事物,然后抽取一個(gè)或幾個(gè)單詞作為實(shí)體的名稱。研究表明,命名長(zhǎng)度在10到16個(gè)字符之間,調(diào)試代碼所需的工作量最少,過(guò)長(zhǎng)或過(guò)短的命名不易于代碼的理解。3.實(shí)體命名(續(xù))實(shí)體命名可遵循的規(guī)則:

(1)類名和對(duì)象:在Java和C++中,通常類名的首字母大寫,對(duì)象名的首字母小寫。

(2)全局變量:加上統(tǒng)一的前綴,例如,表示所有在線人數(shù)可以使用g_totalOnline。

(3)成員變量:在類的成員變量前添加統(tǒng)計(jì)的前綴,例如_或m_,這樣可以很容易地區(qū)分成員變量和局部變量。

(4)常量:在Java和C++中,通常以全部大寫的單詞表示常量,單詞間以下劃線分隔。例如MAX_VALUE表示最大值。編碼技術(shù)(續(xù))4.錯(cuò)誤處理

程序執(zhí)行過(guò)程中,可能出現(xiàn)可預(yù)測(cè)和不可預(yù)測(cè)的錯(cuò)誤,錯(cuò)誤處理方式將影響到軟件的正確性、穩(wěn)定性以及其它的非功能屬性??梢圆扇∫韵麓胧┻M(jìn)行處理:

(1)返回一個(gè)中性值:當(dāng)錯(cuò)誤發(fā)生時(shí),程序繼續(xù)執(zhí)行,返回一個(gè)中性的值。例如,數(shù)值計(jì)算返回0;字符串操作返回空字符串。

(2)返回下一個(gè)有效值:當(dāng)一次操作失敗后,執(zhí)行下一次操作。例如,從網(wǎng)絡(luò)中讀取數(shù)據(jù)失敗后,取下一個(gè)有效值。

(3)返回前一個(gè)有效值:當(dāng)一次操作失敗時(shí),返回上一次成功操作的值。例如,從網(wǎng)絡(luò)中讀取數(shù)據(jù)失敗時(shí),返回上一次讀到的有效值。4.錯(cuò)誤處理(續(xù))

(4)返回最相近的有效值:例如,一個(gè)方法計(jì)算應(yīng)返回一個(gè)非負(fù)數(shù),如果計(jì)算值小于0,則返回0。

(5)記錄日志:當(dāng)錯(cuò)誤發(fā)生時(shí),記錄日志文件,并繼續(xù)執(zhí)行。

(6)返回錯(cuò)誤代碼:返回錯(cuò)誤代碼,指示錯(cuò)誤發(fā)生的原因,調(diào)用者可根據(jù)錯(cuò)誤代碼進(jìn)行錯(cuò)誤處理。

(7)調(diào)用錯(cuò)誤處理函數(shù):用錯(cuò)誤處理函數(shù)來(lái)統(tǒng)一地進(jìn)行錯(cuò)誤處理,這樣做的好處是可以集中地對(duì)錯(cuò)誤進(jìn)行管理。

(8)顯示錯(cuò)誤信息:當(dāng)錯(cuò)誤發(fā)生時(shí),向用戶提示錯(cuò)誤信息。例如,用戶錄入了非法數(shù)據(jù)時(shí),向用戶提示正確的輸入格式。

(9)退出程序:這種方式對(duì)一些安全性要求較高的程序比較適合,防止繼續(xù)操作可能帶來(lái)的破壞。編碼技術(shù)(續(xù))5.代碼重構(gòu)代碼重構(gòu)是軟件進(jìn)化的重要手段,需要重構(gòu)的例子有:

(1)重復(fù)代碼:重復(fù)的代碼需要你做重復(fù)的修改,即要修改一個(gè)地方,就要平行地修改其它地方。

(2)函數(shù)過(guò)長(zhǎng):在面向?qū)ο蟮木幊讨?,很少需要超過(guò)一屏的函數(shù)。出現(xiàn)這種情況,暗示著你使用了過(guò)程化編程方式,來(lái)進(jìn)行面向?qū)ο蟮木幊獭?/p>

(3)循環(huán)過(guò)長(zhǎng):過(guò)長(zhǎng)的循環(huán)體最好變成獨(dú)立的函數(shù),可有效地降低循環(huán)的復(fù)雜度。

(4)內(nèi)聚性差:如果你發(fā)現(xiàn)一類是一些不相關(guān)的責(zé)任的集合,這個(gè)類應(yīng)該分解成多個(gè)類,每個(gè)類負(fù)責(zé)一個(gè)邏輯相關(guān)的責(zé)任集合。

(5)參數(shù)過(guò)多:好的函數(shù)通常比較簡(jiǎn)短,不應(yīng)有過(guò)多的參數(shù)。過(guò)多的參數(shù)通常表示方法沒(méi)有很好地抽象。編碼技術(shù)(續(xù))6.成對(duì)編程成對(duì)編程的定義:當(dāng)進(jìn)行成對(duì)編程時(shí),一個(gè)程序員輸入代碼,另一個(gè)在旁邊觀察代碼中是否存在錯(cuò)誤,并思考下一步要進(jìn)行的工作。成對(duì)編程的優(yōu)點(diǎn):

(1)可以提高代碼的可讀性和可理解性,產(chǎn)生高質(zhì)量的代碼。

(2)提高編程效率,使編程速度更快,代碼錯(cuò)誤更少。后期測(cè)試和糾錯(cuò)的工作量就大大降低。

(3)成對(duì)編程可以提高開(kāi)發(fā)團(tuán)隊(duì)的凝聚力和協(xié)作精神。*8.5軟件實(shí)現(xiàn)管理1.過(guò)程模型這里講的過(guò)程模型,是指軟件開(kāi)發(fā)模型。過(guò)程模型從其規(guī)范程度可分為兩大類,重量級(jí)開(kāi)發(fā)模型和輕量級(jí)的敏捷開(kāi)發(fā)模型。不同的軟件開(kāi)發(fā)模型,對(duì)軟件實(shí)現(xiàn)的重視程度不同。

(1)對(duì)于瀑布模型和RUP模型等重量級(jí)開(kāi)發(fā)模型,實(shí)現(xiàn)階段必須在前期工作(需求分析、架構(gòu)設(shè)計(jì)、詳細(xì)設(shè)計(jì))的基礎(chǔ)上才能進(jìn)行。

(2)對(duì)于敏捷開(kāi)發(fā)過(guò)程等輕量級(jí)開(kāi)發(fā)模型,實(shí)現(xiàn)階段趨向于和其它的軟件開(kāi)發(fā)活動(dòng)(需求、設(shè)計(jì)、測(cè)試)同步執(zhí)行。敏捷開(kāi)發(fā)過(guò)程傾向于將編碼、設(shè)計(jì)、測(cè)試混合在一起構(gòu)成實(shí)現(xiàn)活動(dòng)。軟件實(shí)現(xiàn)管理(續(xù))2.開(kāi)發(fā)計(jì)劃影響開(kāi)發(fā)計(jì)劃的因素是:

(1)過(guò)程模型影響開(kāi)發(fā)計(jì)劃。不同的開(kāi)發(fā)模型,有不同的開(kāi)發(fā)計(jì)劃。因?yàn)椋洪_(kāi)發(fā)計(jì)劃定義了系統(tǒng)部件創(chuàng)建和集成的順序、質(zhì)量管理過(guò)程和開(kāi)發(fā)任務(wù)分配等。

(2)項(xiàng)目大小也影響開(kāi)發(fā)計(jì)劃。估計(jì)項(xiàng)目大小和所需要的工作量,是開(kāi)發(fā)計(jì)劃和軟件項(xiàng)目管理中最具挑戰(zhàn)性的問(wèn)題。準(zhǔn)確估計(jì)是保證軟件項(xiàng)目按質(zhì)、按量、按時(shí)完成的重要因素。那么,如果開(kāi)發(fā)計(jì)劃出現(xiàn)延期,怎么辦呢?出現(xiàn)延期的處理方式

(1)增加開(kāi)發(fā)人員。行不行?不行!因?yàn)椋合蛞粋€(gè)延期的項(xiàng)目添加人員,無(wú)異于火上澆油。

(2)減少項(xiàng)目?jī)?nèi)容。行不行?行!因?yàn)椋簻p少項(xiàng)目的內(nèi)容可以防止項(xiàng)目繼續(xù)延期。怎樣減少呢?在項(xiàng)目初期,應(yīng)當(dāng)標(biāo)識(shí)項(xiàng)目特征的優(yōu)先級(jí)。優(yōu)先級(jí)可以為“必須具有”、“最好具有”和“可選項(xiàng)”。這樣,如果項(xiàng)目延期了,就可以按優(yōu)先級(jí)來(lái)縮減項(xiàng)目?jī)?nèi)容。

(3)有什么辦法使項(xiàng)目不延期呢?有!這就是二八定律。要將二八規(guī)律作為制定開(kāi)發(fā)計(jì)劃的座右銘,落實(shí)到工作量估計(jì)、進(jìn)度估計(jì)和其他資源估計(jì)上去。軟件實(shí)現(xiàn)管理(續(xù))3.實(shí)現(xiàn)度量常見(jiàn)的度量包括如下五個(gè)方面:(1)程序大小代碼行數(shù)注釋行數(shù)類或函數(shù)的數(shù)量數(shù)據(jù)聲明的數(shù)量(2)缺陷跟蹤缺陷情況(嚴(yán)重程度、位置、來(lái)源、修正方式、修正人、影響代碼行數(shù)、花費(fèi)工時(shí))發(fā)現(xiàn)缺陷的平均時(shí)間修正缺陷的平均時(shí)間修正缺陷引入新錯(cuò)誤數(shù)量實(shí)現(xiàn)度量(續(xù))(3)生產(chǎn)力項(xiàng)目總工時(shí)每個(gè)類或函數(shù)的工時(shí)項(xiàng)目花費(fèi)每行代碼花費(fèi)每個(gè)缺陷花費(fèi)(4)整體質(zhì)量缺陷總數(shù)量每個(gè)類或函數(shù)的缺陷數(shù)量每千行代碼的缺陷數(shù)量實(shí)現(xiàn)度量(續(xù))(5)可維護(hù)性每個(gè)類公共數(shù)據(jù)、公共方法、私有數(shù)據(jù)、私有方法、代碼行、注釋行的數(shù)量。每個(gè)方法的參數(shù)、局部變量、調(diào)用其它方法、決策點(diǎn)、代碼行、注釋行的數(shù)量。

以上五個(gè)方面的度量數(shù)據(jù),都是存入軟件公司的測(cè)量數(shù)據(jù)庫(kù),作為公司軟件管理的財(cái)富。8.6屏幕界面設(shè)計(jì)

本節(jié)以程序設(shè)計(jì)語(yǔ)言PowerBuilder/VisualBasic/Delphi為背景,以C/S兩層結(jié)構(gòu)為基礎(chǔ),來(lái)說(shuō)明軟件實(shí)現(xiàn)方法中的有關(guān)細(xì)節(jié),所以比B/S三層結(jié)構(gòu)復(fù)雜。屏幕界面上看得見(jiàn)的窗口、畫面、圖像、按鈕等對(duì)象,在設(shè)計(jì)與實(shí)現(xiàn)中,統(tǒng)稱為“控件”。構(gòu)件分為可視構(gòu)件和非可視構(gòu)件兩種,控件是一種可視構(gòu)件。上述控件的有機(jī)排列和組合,就構(gòu)成了用戶需求的各種屏幕界面。屏幕界面設(shè)計(jì)包括三個(gè)級(jí)別:

(1)控件級(jí)設(shè)計(jì)

(2)窗口級(jí)設(shè)計(jì)

(3)系統(tǒng)級(jí)設(shè)計(jì)屏幕界面設(shè)計(jì)原則是:界面簡(jiǎn)潔樸素,控件擺放整齊,顏色風(fēng)格統(tǒng)一,照顧客戶習(xí)慣。8.8軟件實(shí)現(xiàn)文檔本節(jié)以C/S兩層結(jié)構(gòu)為基礎(chǔ),來(lái)說(shuō)明軟件實(shí)現(xiàn)文檔中的有關(guān)細(xì)節(jié),所以比B/S三層結(jié)構(gòu)復(fù)雜。1.實(shí)現(xiàn)文檔的組成軟件實(shí)現(xiàn)文檔由源程序清單和用戶指南組成。由于面向?qū)ο蟮恼Z(yǔ)言與面向過(guò)程的語(yǔ)言有所不同,所以完整的源程序清單有時(shí)打印不出來(lái),往往只能打印出部分源程序清單。一般的做法是:不打印出源程序清單,只保留其電子版本。用戶指南主要包括《用戶使用手冊(cè)》和《用戶安裝手冊(cè)》。在特殊情況下,例如,數(shù)據(jù)庫(kù)服務(wù)器上的存儲(chǔ)管理、數(shù)據(jù)維護(hù)、數(shù)據(jù)備份、數(shù)據(jù)傳輸?shù)葐?wèn)題較復(fù)雜時(shí),在用戶指南中還要增加《系統(tǒng)管理員手冊(cè)》的內(nèi)容。軟件實(shí)現(xiàn)文檔(續(xù))2.用戶指南的編寫要求(1)統(tǒng)一采用編寫工具Word2003進(jìn)行編寫。(2)用統(tǒng)一的風(fēng)格和確定的方法,描述產(chǎn)品提供的所有功能。描述之后的功能,應(yīng)該具有如下特點(diǎn):對(duì)于每一項(xiàng)功能的描述應(yīng)該完整。(3)術(shù)語(yǔ)部分包括系統(tǒng)術(shù)語(yǔ)和基本概念。系統(tǒng)術(shù)語(yǔ)在整個(gè)系統(tǒng)的含義是統(tǒng)一的,放在前言部分描述。基本概念在各有關(guān)章節(jié)進(jìn)行描述。(4)語(yǔ)言要簡(jiǎn)潔明快,表達(dá)準(zhǔn)確。一句話不要太長(zhǎng),中間可以斷句幾次。(5)指南格式應(yīng)統(tǒng)一。軟件實(shí)現(xiàn)文檔(續(xù))3.用戶指南的排版建議

(1)2人以上合作編寫,一定要有一人負(fù)責(zé)統(tǒng)稿。

(2)交稿前一定要最后一次仔細(xì)審讀。(3)圖以章為序,如圖5.1或圖5-1(半字線連接章號(hào)和圖號(hào)),圖的標(biāo)題在圖的下方。

(4)表以章為序,如表3.1或表3-2,表的標(biāo)題在表的上方。(5)命令格式。操作步驟中使用的命令按鈕、菜單命令項(xiàng)、標(biāo)簽項(xiàng)等名稱用【】界定。如:打開(kāi)【開(kāi)始】菜單選擇【程序】項(xiàng)……

(6)例題格式。例題以章為序,并用【】界定。如【例3.5】或【例3-5】。用戶指南的排版建議(續(xù))(7)交稿前一定要最后一次仔細(xì)審讀,盡量減少不應(yīng)有的文字錄入錯(cuò)誤,并做到5個(gè)銜接、6個(gè)統(tǒng)一、7個(gè)對(duì)應(yīng):

5個(gè)銜接是:章節(jié)號(hào)、表序號(hào)、圖序號(hào)、公式號(hào)、頁(yè)碼號(hào)要連續(xù)銜接,不重、不漏。

6個(gè)統(tǒng)一是:格式、層次、名詞術(shù)語(yǔ)、符號(hào)、代號(hào)、計(jì)量單位要統(tǒng)一、一致。

7個(gè)對(duì)應(yīng)是:目錄與正文標(biāo)題、標(biāo)題與內(nèi)容、正文與插圖、正文與表格、圖中代號(hào)與圖注、前后內(nèi)容要對(duì)應(yīng),避免重復(fù)和矛盾。(8)嚴(yán)禁用Word2003自動(dòng)格式生成章節(jié)標(biāo)題或序號(hào)。軟件實(shí)現(xiàn)文檔(續(xù))4.用戶指南的編寫原則(1)列出應(yīng)編制文檔的目錄。(2)提示編制文檔應(yīng)參考的標(biāo)準(zhǔn)。(3)指

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論