中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

手機(jī)微官網(wǎng)和pc端網(wǎng)站怎么做成功的品牌推廣案例分析

手機(jī)微官網(wǎng)和pc端網(wǎng)站怎么做,成功的品牌推廣案例分析,建設(shè)網(wǎng)站外包,廣東手機(jī)網(wǎng)站建設(shè)價(jià)格🌈 個(gè)人主頁:十二月的貓-CSDN博客 🔥 系列專欄: 🏀軟件開發(fā)必練內(nèi)功_十二月的貓的博客-CSDN博客 💪🏻 十二月的寒冬阻擋不了春天的腳步,十二點(diǎn)的黑夜遮蔽不住黎明的曙光 目錄 1. 前…

🌈?個(gè)人主頁:十二月的貓-CSDN博客
🔥?系列專欄:?🏀軟件開發(fā)必練內(nèi)功_十二月的貓的博客-CSDN博客

💪🏻?十二月的寒冬阻擋不了春天的腳步,十二點(diǎn)的黑夜遮蔽不住黎明的曙光?

目錄

1. 前言

2. 軟件工程概念

2.1 定義

2.2 軟件工程與軟件工程學(xué)

3. Why 軟件工程

3.1 什么是軟件工程

3.1.1 問題分析

3.1.2 問題解決

3.2 軟件工程存在的問題

3.2.1 區(qū)分fault、error、failure

3.3 高質(zhì)量軟件

3.4 軟件工程的參與者

3.5 總結(jié)

4. 開發(fā)方法

4.1 系統(tǒng)化開發(fā)方法

4.2 工程化開發(fā)方法

5. 軟件開發(fā)的Wasserman規(guī)范(基本概念)

5.1 抽象

5.2 分析和設(shè)計(jì)方法以及表示法

5.3 用戶界面原型化

5.4 軟件體系結(jié)構(gòu)

5.5 軟件過程

5.6 復(fù)用

5.7 測(cè)度

5.8 工具和集成環(huán)境


1. 前言

軟件工程包括什么

  • 項(xiàng)目管理層面的內(nèi)容
  • 技術(shù)研發(fā)層面的內(nèi)容
  • 軟件工程學(xué)范疇內(nèi)的知識(shí)點(diǎn)

軟件工程要求什么:

  • 了解軟件工程(用工程方法、工程思想完成軟件開發(fā))的實(shí)際操作流程
  • 了解工程問題如何解決

軟件工程學(xué)作用:

采用高質(zhì)量的環(huán)境及工具,使軟件能夠按照某種能夠反映軟件開發(fā)規(guī)律規(guī)范/模式來開發(fā)?。

一句話解釋軟件工程學(xué)的目標(biāo):

研究規(guī)范/模式。這個(gè)規(guī)范/模式能夠體現(xiàn)軟件開發(fā)過程的自然規(guī)律,并通過遵循開發(fā)過程的自然規(guī)律達(dá)到 提升軟件質(zhì)量/開發(fā)效率 的效果。

2. 軟件工程概念

2.1 定義

將系統(tǒng)化的、規(guī)范化、可量化的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù),即將工程化方法應(yīng)用于軟件開發(fā)。

軟件工程 = 軟件開發(fā)技術(shù)+軟件工程學(xué)+軟件項(xiàng)目管理

2.2 軟件工程與軟件工程學(xué)

想要用工程化的方法開發(fā)一個(gè)軟件

完整流程如下:

1、學(xué)會(huì)軟件開發(fā)相關(guān)的技術(shù)(數(shù)據(jù)庫、編程語言、算法等);

2、學(xué)會(huì)軟件工程學(xué),利用軟件工程學(xué)的思想 加上 軟件開發(fā)相關(guān)技術(shù) 完成 軟件開發(fā)

3、軟件生命周期整個(gè)過程都需要 軟件項(xiàng)目管理 從 軟件籌劃 到 軟件落地 再到 軟件維護(hù) 全部過程都需要項(xiàng)目管理能力

  • 軟件工程學(xué)是軟件工程的一部分,軟件工程是一個(gè)更宏觀的概念
  • 軟件工程學(xué)是狹義上的軟件工程
  • 軟件工程學(xué)研究的是軟件開發(fā)的規(guī)范/模式

3. Why 軟件工程

3.1 什么是軟件工程

從詞匯本意出發(fā)

軟件工程= 軟件+工程

定義一:用系統(tǒng)化、工程化方法解決軟件開發(fā)問題

從問題論角度出發(fā)

軟件工程本質(zhì)是解決問題:軟件開發(fā)中遇到的問題

定義二:?軟件工程 = 問題分析+問題解決?

(針對(duì)技術(shù)問題,項(xiàng)目進(jìn)展)


從定義二出發(fā),軟件工程關(guān)鍵就在于 問題分析、問題解決

3.1.1 問題分析

對(duì)于一個(gè)復(fù)雜的問題,?我們的分析都可以采用如下流程:

????????????????????????????????????????????????分解為子問題->解決子問題->合并子問題

3.1.2 問題解決

軟件工程中的問題解決,就是運(yùn)用各種技術(shù),來有針對(duì)、具體的解決所遇到的問題。

針對(duì)具體問題,提出具體解決方法。例如:

提高并發(fā)能力:分布式開發(fā)

提高代碼復(fù)用率:面向?qū)ο箝_發(fā)

3.2 軟件工程存在的問題

3.2.1 區(qū)分fault、error、failure

fault:缺陷。程序在功能的實(shí)現(xiàn)上存在缺陷,但是這個(gè)缺陷如果不造成程序運(yùn)行的error,或者不造成程序結(jié)果的failure,就不會(huì)被發(fā)現(xiàn)。如果造成程序運(yùn)行的error/failure,那就可以根據(jù)error/failure定位到fault的位置。

error:錯(cuò)誤。錯(cuò)誤程序代碼(運(yùn)行錯(cuò)誤)/錯(cuò)誤理解需求。

failure:失敗。程序能夠運(yùn)行,但是運(yùn)行結(jié)果有問題。

一個(gè)error(錯(cuò)誤理解需求)能造成很多fault;fault又將造成failure

fault是永遠(yuǎn)存在的;failure、error不一定存在(只要永遠(yuǎn)沒運(yùn)行到fault所在代碼,就永遠(yuǎn)不會(huì)有error/failure)

3.3 高質(zhì)量軟件

軟件質(zhì)量包括:

  1. 最終產(chǎn)品質(zhì)量
  2. 過程的質(zhì)量(軟件開發(fā)及維護(hù)的質(zhì)量)
  3. 商業(yè)質(zhì)量

目標(biāo):商業(yè)價(jià)值和技術(shù)價(jià)值統(tǒng)一起來(兩者不一定相伴隨)

過程:提高過程的商業(yè)價(jià)值(軟件開發(fā)過程中 工作量就是投資,就是花費(fèi)的商業(yè)價(jià)值)

3.4 軟件工程的參與者

客戶、開發(fā)者、使用者

3.5 總結(jié)

軟件工程 = 軟件工程技術(shù)+軟件工程學(xué)+軟件項(xiàng)目管理

軟件工程是一個(gè)系統(tǒng)工程,包括軟件項(xiàng)目開發(fā)、項(xiàng)目管理兩個(gè)方面

項(xiàng)目開發(fā)包括:問題分析、問題解決(需要軟件開發(fā)技術(shù)和軟件工程學(xué))

項(xiàng)目管理包括:過程管理、人員管理等

項(xiàng)目開發(fā)中的問題分析和問題解決都依靠軟件工程學(xué)、軟件開發(fā)技術(shù)的知識(shí)。所以這里就引入了兩個(gè)軟件工程概念——1、軟件工程包括三方面內(nèi)容;2、軟件工程包括兩個(gè)過程

4. 開發(fā)方法

在前一個(gè)欄目 3. Why 軟件工程 中,我們研究了軟件工程的兩種定義(一個(gè)是內(nèi)容定義、一個(gè)是過程定義)。從內(nèi)容定義中,我們意識(shí)到軟件工程中的核心在于軟件工程學(xué)以及軟件項(xiàng)目管理;在過程定義中,軟件項(xiàng)目開發(fā)過程中也是持續(xù)需要軟件工程學(xué)的知識(shí)作為補(bǔ)充。

因此軟件工程學(xué)是核心!!!

軟件工程學(xué),前面我們接觸了:1、問題分析法/問題解決法;2、軟件工程質(zhì)量的判斷;3、軟件工程的問題。

其中問題分析和解決是軟件工程開發(fā)的前言;軟件工程問題是前序;軟件工程質(zhì)量判斷是后言。

最核心的部分是:如何根據(jù)實(shí)際問題分析后的結(jié)果,構(gòu)建軟件,通過軟件工程質(zhì)量判斷

4.1 系統(tǒng)化開發(fā)方法

軟件是一個(gè)系統(tǒng),因此構(gòu)建軟件,最宏觀的角度就是從整個(gè)系統(tǒng)角度來看軟件。

構(gòu)建軟件第一步:確定軟件(系統(tǒng))邊界

系統(tǒng)的要素:

想要確定系統(tǒng)邊界,先要了解系統(tǒng)由哪些部分組成:

  • 活動(dòng)
  • 對(duì)象(實(shí)體)
  • 關(guān)系
  • 系統(tǒng)邊界

活動(dòng):發(fā)生在系統(tǒng)中的事件,由一個(gè)事務(wù)轉(zhuǎn)變?yōu)榱硪粋€(gè)事務(wù)

對(duì)象:活動(dòng)中的所有東西

關(guān)系:對(duì)象與活動(dòng)之間的所有相互關(guān)系

系統(tǒng)邊界:活動(dòng)/對(duì)象/關(guān)系的一個(gè)整體工作范圍

一個(gè)例子:?

(上圖只有活動(dòng)和邊界,將活動(dòng)細(xì)分才會(huì)有關(guān)系和對(duì)象)?

活動(dòng)有:Date validation、calculation、printing

實(shí)體有:打印機(jī)、計(jì)算員、數(shù)據(jù)測(cè)試員等

關(guān)系有:活動(dòng)之間關(guān)系、實(shí)體活動(dòng)之間關(guān)系

邊界是:所有活動(dòng)、關(guān)系、實(shí)體的范圍

4.2 工程化開發(fā)方法

將軟件開發(fā)看作一個(gè)工程項(xiàng)目,讓軟件開發(fā)也遵從工程項(xiàng)目開發(fā)的一個(gè)具體流程。

工程化:系統(tǒng)化、規(guī)范化、模塊化

具體流程:

  1. 需求分析
  2. 系統(tǒng)設(shè)計(jì)
  3. 程序設(shè)計(jì)
  4. 程序?qū)崿F(xiàn)
  5. 單元測(cè)試
  6. 集成測(cè)試
  7. 系統(tǒng)測(cè)試
  8. 系統(tǒng)提交
  9. 維護(hù)

讓軟件開發(fā)嚴(yán)格遵守上面的具體開發(fā)流程,從而提高軟件質(zhì)量

5. 軟件開發(fā)的Wasserman規(guī)范(基本概念)

自從20世紀(jì)70年代以來,軟件開發(fā)一直發(fā)生著巨大的變化(Wasserman 1995)。例如,早期的應(yīng)用軟件是運(yùn)行在單處理器上的,通常是大型機(jī)。輸入是線性的,往往是一副卡片或一個(gè)輸入磁帶,而輸出是字母數(shù)字。系統(tǒng)用兩種基本方式來設(shè)計(jì):轉(zhuǎn)換(transformation),它將輸入轉(zhuǎn)換為輸出;事務(wù)(transaction),由輸入決定哪個(gè)功能將被執(zhí)行。如今,基于軟件的系統(tǒng)已經(jīng)大不相同,并且更為復(fù)雜。它們通常運(yùn)行在多個(gè)系統(tǒng)上,有時(shí)配置在具有分布式功能的客戶/服務(wù)器體系結(jié)構(gòu)中。軟件不僅執(zhí)行用戶需要的主要功能,而且還要執(zhí)行網(wǎng)絡(luò)控制、安全性、用戶界面表示和處理,以及數(shù)據(jù)或?qū)ο蠊芾怼?/p>

傳統(tǒng)的“瀑布”開發(fā)方法假定開發(fā)活動(dòng)是線性前進(jìn)的,即只有在一個(gè)活動(dòng)完成以后才會(huì)進(jìn)行下一個(gè)活動(dòng)(將在第2章中學(xué)習(xí))。這種方法不再靈活也不再適合于當(dāng)今的系統(tǒng)了。

因此,我們需要新的方法,這些新的方法需要滿足一些規(guī)范,這就是Wasserman規(guī)范

Wasserman指出,7個(gè)技術(shù)變化中的任何一個(gè)都對(duì)軟件開發(fā)過程有著重大的影響(Wasserman 1996)。它們合在一起,改變了我們的工作方式。在DeMarco的介紹中,描述了這種根本的轉(zhuǎn)變:我們首先解決了容易的問題——這意味著尚未解決的一組問題比以前更加困難了。Wasserman通過提出軟件工程中存在的8個(gè)基本概念來應(yīng)對(duì)這一挑戰(zhàn)。這些概念構(gòu)成了有效的軟件工程規(guī)范的基礎(chǔ)。在這里給出它們的簡(jiǎn)要介紹,在后面的章節(jié)中,將回過頭來探討它們?cè)谑裁吹胤竭m用于我們所做的事情,以及如何應(yīng)用于我們所做的事情。

5.1 抽象

有時(shí),在一個(gè)問題的“自然狀態(tài)”(即如同客戶和用戶表達(dá)的那樣)考慮這個(gè)問題是一件令人畏懼的事情。在問題的“自然狀態(tài)”下,我們不可能發(fā)現(xiàn)以有效的或者甚至只是可行的方法處理問題的顯而易見的方式。抽象(abstraction)是在某種概括層次上對(duì)問題的描述,使得我們能夠集中于問題的關(guān)鍵方面而不會(huì)陷入細(xì)節(jié)。這個(gè)概念與轉(zhuǎn)換(transformation)不同,轉(zhuǎn)換是把問題轉(zhuǎn)移到另外一個(gè)我們理解得更好的環(huán)境中。轉(zhuǎn)換通常用于將一個(gè)問題從現(xiàn)實(shí)世界轉(zhuǎn)移到數(shù)學(xué)世界中,這樣我們能夠利用數(shù)字的知識(shí)來解決問題。

通常,我們使用抽象標(biāo)識(shí)對(duì)象的類,以便能夠把多個(gè)項(xiàng)組合在一起。這樣,我們處理的事情可以更少,而且可以集中考慮每個(gè)類中各個(gè)項(xiàng)之間的共性。我們可以討論一個(gè)類中各個(gè)項(xiàng)的性質(zhì)或?qū)傩?#xff0c;檢查屬性以及類之間的關(guān)系。例如,假定我們要為一條大的、復(fù)雜河流構(gòu)建一個(gè)環(huán)境監(jiān)測(cè)系統(tǒng)。監(jiān)控設(shè)備可能包括監(jiān)測(cè)空氣質(zhì)量、水質(zhì)、溫度、流速以及其他環(huán)境特性的傳感器。但是,為了達(dá)到目的,我們可能決定定義一個(gè)稱為“傳感器”的類。類中的每個(gè)項(xiàng)具有固定的屬性,不論它監(jiān)測(cè)哪個(gè)特性:高度、重量、電力需求、維護(hù)進(jìn)度等。我們?cè)诹私鈫栴}環(huán)境的過程中,或在設(shè)計(jì)解決方案的過程中,處理的是類,而不是它的元素。因此,類的使用有助于簡(jiǎn)化問題陳述并使我們集中于問題的本質(zhì)要素或特性。

抽象也可以按層次的方式進(jìn)行組織。例如,傳感器是一種類型的電子設(shè)備,而我們可能有兩種類型的傳感器:水傳感器和空氣傳感器。

因此,可以構(gòu)成圖1-13所示的簡(jiǎn)單層次結(jié)構(gòu)。通過隱藏其中一些細(xì)節(jié),我們可以集中精力考慮必須處理的對(duì)象的本質(zhì)特性,并且得到簡(jiǎn)單、優(yōu)雅的解決方案。我們將在第5章、第6章和第7章中更詳細(xì)地討論抽象和信息隱藏。

5.2 分析和設(shè)計(jì)方法以及表示法


當(dāng)設(shè)計(jì)一個(gè)作為課程作業(yè)的程序時(shí),通常需要自己完成工作。產(chǎn)生的文檔是一個(gè)正式描述,它告訴你自己為什么選擇這個(gè)特定的方法、變量名的含義是什么以及實(shí)現(xiàn)的算法。但是,當(dāng)與團(tuán)隊(duì)一起工作的時(shí)候,必須與開發(fā)過程中的其他參與者進(jìn)行交流。大多數(shù)工程師,無論他們是做什么樣的工程,都會(huì)使用標(biāo)準(zhǔn)的表示法來幫助他們進(jìn)行交流以及文檔化相關(guān)決策。例如,建筑師畫了一張圖或藍(lán)圖,任何其他的工程師都能夠理解他畫的圖。更為重要的是,公共的表示法使得建筑承包商能夠理解建筑師的意圖和想法。正如將在第4章、第5章、第6章和第7章中看到的,軟件工程中沒有類似的標(biāo)準(zhǔn),由此產(chǎn)生的誤解是當(dāng)今軟件工程中的一個(gè)關(guān)鍵問題。

分析和設(shè)計(jì)方法不止是提供了交流媒介,還使我們能夠建立模型并檢查模型的完整性和一致性。再者,我們可以更容易地從以前的項(xiàng)目中復(fù)用需求和設(shè)計(jì)組件,從而相對(duì)容易地提高生產(chǎn)率和質(zhì)量。

但是,在我們能夠決定一組標(biāo)準(zhǔn)的方法和工具之前,仍然有許多懸而未決的問題需要解決。正如我們將在后面的章節(jié)中看到的那樣,不同的工具和技術(shù)處理的是問題的不同方面,我們需要標(biāo)識(shí)建模原語,以便用一種技術(shù)就能獲取問題的所有重要的方面?;蛘呶覀冃枰_發(fā)一種供所有方法使用的表示技術(shù),當(dāng)然可能需要某種形式的剪裁。

5.3 用戶界面原型化


原型化(prototyping)意味著構(gòu)建一個(gè)系統(tǒng)的小版本,通常只有有限的功能,它可用于:

幫助用戶或客戶標(biāo)識(shí)系統(tǒng)的關(guān)鍵需求;
證明設(shè)計(jì)或方法的可行性。
通常,原型化過程是迭代的:首先構(gòu)建原型,然后對(duì)原型進(jìn)行評(píng)估(利用用戶和客戶的反饋),考慮如何改進(jìn)產(chǎn)品或設(shè)計(jì),之后再構(gòu)建另外一個(gè)原型。當(dāng)我們和客戶認(rèn)為手頭問題的解決方案令人滿意時(shí),迭代過程就終止了。

原型化通常用來設(shè)計(jì)一個(gè)良好的用戶界面(user interface),即系統(tǒng)與用戶交互的部分。但是,在其他場(chǎng)合也可以使用原型,甚至是在嵌入式系統(tǒng)(embedded system)(即其中的軟件功能不是明確地對(duì)用戶可見的系統(tǒng))中。原型能夠向用戶展示系統(tǒng)將會(huì)有什么樣的功能,而不管它們是用硬件還是用軟件實(shí)現(xiàn)的。因?yàn)閺哪撤N意義上講,用戶界面是應(yīng)用領(lǐng)域和軟件開發(fā)團(tuán)隊(duì)之間的橋梁,所以,原型化可以把使用其他需求分析方法不能明確的問題和假設(shè)表面化。我們將在第4章和第5章討論用戶界面原型化的作用。

5.4 軟件體系結(jié)構(gòu)


系統(tǒng)的整個(gè)體系結(jié)構(gòu)不僅對(duì)實(shí)現(xiàn)和測(cè)試的方便性很重要,而且對(duì)維護(hù)和修改系統(tǒng)的速度和有效性也很重要。體系結(jié)構(gòu)的質(zhì)量可能成就一個(gè)系統(tǒng),也可能損害一個(gè)系統(tǒng)。事實(shí)上,Shaw和Garlan將體系結(jié)構(gòu)獨(dú)自作為規(guī)范,它影響整個(gè)開發(fā)過程(Shaw and Garlan 1996)。一個(gè)系統(tǒng)的體系結(jié)構(gòu)應(yīng)該體現(xiàn)我們將在第5章和第7章學(xué)習(xí)的良好設(shè)計(jì)的原則。

系統(tǒng)的體系結(jié)構(gòu)根據(jù)一組體系結(jié)構(gòu)單元以及單元之間的相互關(guān)系來描述系統(tǒng)。單元越獨(dú)立,體系結(jié)構(gòu)越模塊化,就越容易分別設(shè)計(jì)和開發(fā)不同的部分。Wasserman指出,至少有5種方法可以將系統(tǒng)劃分為單元(Wasserman 1996)。

(1) 模塊化分解:基于指派到模塊的功能。

(2) 面向數(shù)據(jù)的分解:基于外部數(shù)據(jù)結(jié)構(gòu)。

(3) 面向事件的分解:基于系統(tǒng)必須處理的事件。

(4) 由外到內(nèi)的設(shè)計(jì):基于系統(tǒng)的用戶輸入。

(5) 面向?qū)ο蟮脑O(shè)計(jì):基于標(biāo)識(shí)的對(duì)象的類以及它們之間的相互關(guān)系。

這些方法并不是相互排斥的。例如,可以用面向事件的分解設(shè)計(jì)用戶界面,同時(shí),使用面向?qū)ο蠡蛎嫦驍?shù)據(jù)的方法來設(shè)計(jì)數(shù)據(jù)庫。我們將在后面的章節(jié)中進(jìn)一步詳細(xì)分析這些技術(shù)。這些方法之所以重要,是因?yàn)樗鼈凅w現(xiàn)了我們的設(shè)計(jì)經(jīng)驗(yàn),并通過復(fù)用已經(jīng)做過的和所學(xué)到的,充分利用過去的項(xiàng)目。

5.5 軟件過程


自從20世紀(jì)80年代后期以來,很多軟件工程師已經(jīng)在密切留意開發(fā)軟件的過程以及由此產(chǎn)生的產(chǎn)品?;顒?dòng)中的組織和規(guī)范對(duì)軟件的質(zhì)量和軟件開發(fā)的速度的積極作用已經(jīng)得到承認(rèn)。然而,Wasserman指出:

不同應(yīng)用類型和組織文化之間的巨大差異使得不可能對(duì)過程本身進(jìn)行預(yù)先規(guī)定。因此,軟件過程不可能以抽象和模塊化的方式作為軟件工程的基礎(chǔ)。(Wasserman 1996)

相反,他提出,不同的軟件類型需要不同的過程。尤其是,Wasserman指出企業(yè)范圍的應(yīng)用程序需要大量的控制,而單個(gè)的或部門級(jí)的應(yīng)用程序可以利用快速應(yīng)用程序開發(fā),如圖1-14所示。

利用目前的工具,很多中小規(guī)模的系統(tǒng)可以由一兩個(gè)開發(fā)人員來完成,其中每個(gè)開發(fā)人員必須擔(dān)任多個(gè)角色。這樣的工具可能包含文本編輯器、編程環(huán)境、測(cè)試支持工具,還可能包含一個(gè)獲取關(guān)于產(chǎn)品和過程的關(guān)鍵數(shù)據(jù)元素的小型數(shù)據(jù)庫。因?yàn)轫?xiàng)目的風(fēng)險(xiǎn)相對(duì)較低,所以需要很少的管理支持或評(píng)審。

但是,大型、復(fù)雜的系統(tǒng)需要更多的結(jié)構(gòu)、檢查和平衡。這些系統(tǒng)通常涉及很多客戶和用戶,并且開發(fā)會(huì)持續(xù)很長時(shí)間。再者,因?yàn)槟承╆P(guān)鍵子系統(tǒng)可能由他人提供或用硬件實(shí)現(xiàn),開發(fā)人員并不總是能夠控制整個(gè)過程。這種類型的高風(fēng)險(xiǎn)系統(tǒng)需要分析和設(shè)計(jì)工具、項(xiàng)目管理、配置管理、更復(fù)雜的測(cè)試工具以及對(duì)系統(tǒng)更嚴(yán)格的評(píng)審和因果分析。第2章將詳細(xì)討論若干可選的過程,以了解不同的過程是如何處理不同的目標(biāo)的。然后,在第12章和第13章中,我們?cè)u(píng)估一些過程的有效性,并探討對(duì)它們進(jìn)行改進(jìn)的方法。

5.6 復(fù)用


在軟件開發(fā)和維護(hù)中,通常通過復(fù)用以前開發(fā)項(xiàng)目中的項(xiàng)來利用應(yīng)用程序之間的共性。例如,在不同的開發(fā)項(xiàng)目中,我們使用同樣的操作系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng),而不是每次都構(gòu)建一個(gè)新的。類似地,當(dāng)我們構(gòu)建一個(gè)與以前做過的項(xiàng)目類似但有所不同的系統(tǒng)時(shí),可以復(fù)用需求集、部分設(shè)計(jì)以及測(cè)試腳本或數(shù)據(jù)。Barnes和Bollinger指出,復(fù)用并不是一個(gè)新的思想,他們還給出了很多有趣的例子,說明復(fù)用的不僅僅是代碼(Barnes and Bollinger 1991)。

Prieto-Diaz介紹了這樣一種理念:可復(fù)用構(gòu)件是一種商業(yè)資產(chǎn)(Prieto-Diaz 1991)。公司和組織機(jī)構(gòu)對(duì)那些可復(fù)用的項(xiàng)進(jìn)行投資,而當(dāng)這些項(xiàng)再次用于后面的項(xiàng)目中的時(shí)候,就可以獲得巨大的收益。但是,制定一個(gè)長期、有效的可復(fù)用計(jì)劃可能很困難,因?yàn)榇嬖谌缦逻@些障礙。

有時(shí)候,構(gòu)建一個(gè)小的構(gòu)件比在可復(fù)用構(gòu)件庫中搜索這樣一個(gè)構(gòu)件要更快。
要使一個(gè)構(gòu)件足夠通用、可以在將來被其他開發(fā)人員很容易地復(fù)用,則可能需要花費(fèi)格外多的時(shí)間。
由于難以對(duì)做過的質(zhì)量保證和測(cè)試的程度進(jìn)行文檔化,可能會(huì)導(dǎo)致一個(gè)潛在的復(fù)用人員認(rèn)為構(gòu)件的質(zhì)量是令人滿意的。
如果某個(gè)復(fù)用的構(gòu)件失效或需要進(jìn)行更新,不清楚誰應(yīng)該對(duì)此負(fù)責(zé)。
理解和復(fù)用一個(gè)由他人編寫的構(gòu)件,其代價(jià)可能是高昂的,也可能很耗時(shí)。
在通用性和專業(yè)性之間通常存在沖突。
我們將在第12章中更詳細(xì)地討論復(fù)用,并研究幾個(gè)成功復(fù)用的例子。

5.7 測(cè)度


改進(jìn)是軟件工程研究的驅(qū)動(dòng)力:通過改進(jìn)過程、資源和方法,我們可以生產(chǎn)和維護(hù)更好的產(chǎn)品。但是,我們有時(shí)只能概況地表示改進(jìn)目標(biāo),原因是沒有量化地描述我們做了什么以及我們的目標(biāo)是什么。正因?yàn)槿绱?#xff0c;軟件測(cè)度已經(jīng)成為好的軟件工程實(shí)踐的一個(gè)關(guān)鍵方面。通過量化我們做了什么以及我們的目標(biāo)是什么,就可以用通用數(shù)學(xué)語言來描述我們的行動(dòng)和結(jié)果,從而能夠評(píng)估我們的進(jìn)展。另外,量化的方法允許我們比較不同項(xiàng)目的進(jìn)展。例如,當(dāng)John Young擔(dān)任惠普公司的CEO時(shí),他設(shè)置了“10X”的目標(biāo),即無論對(duì)于何種應(yīng)用的類型和領(lǐng)域,對(duì)于惠普的每一個(gè)項(xiàng)目,在質(zhì)量和生產(chǎn)率方面都要有10倍的提高(Grady and Caswell 1987)。

在較低的抽象層次上,測(cè)度有助于使我們的過程和產(chǎn)品的特定特性更加可見。將我們對(duì)現(xiàn)實(shí)的、經(jīng)驗(yàn)世界的理解轉(zhuǎn)換為形式化的、數(shù)學(xué)世界中的要素和相互關(guān)系,通常是有益的,這樣,我們可以操縱它們,從而得到進(jìn)一步的理解。正如圖1-15所示的那樣,可以使用數(shù)學(xué)和統(tǒng)計(jì)的方法來解決問題、尋找趨勢(shì)或刻畫一種情形(例如使用平均值和標(biāo)準(zhǔn)差)。而這個(gè)新的信息可以接著被映射回現(xiàn)實(shí)世界,作為我們?cè)噲D解決的現(xiàn)實(shí)問題的解決方案的一部分。在本書中,我們將看到測(cè)度如何應(yīng)用于支持分析和決策的例子。


5.8 工具和集成環(huán)境


多年以來,廠商一直推薦使用CASE(計(jì)算機(jī)輔助軟件工程)工具,其中的標(biāo)準(zhǔn)化的集成開發(fā)環(huán)境將增強(qiáng)軟件開發(fā)。但是,我們已經(jīng)看到,不同的開發(fā)人員是如何使用不同的過程、方法和資源的。因此,一個(gè)統(tǒng)一的方法說起來容易,做起來就難了。

另一方面,研究人員已經(jīng)提出了幾個(gè)框架,使我們能對(duì)已有的環(huán)境和打算構(gòu)建的環(huán)境進(jìn)行比較和對(duì)照。這些框架還允許我們檢驗(yàn)每個(gè)軟件工程環(huán)境提供的服務(wù),決定哪一個(gè)環(huán)境最適合于給定的問題或應(yīng)用程序的開發(fā)。

對(duì)工具進(jìn)行比較主要的難點(diǎn)之一是廠商很少針對(duì)整個(gè)開發(fā)生命周期。相反,他們集中于小的活動(dòng)集,例如設(shè)計(jì)或測(cè)試等,并且由用戶把選擇的工具集成到一個(gè)完整的開發(fā)環(huán)境中。Wasserman指出了在任何工具集成中必須處理的下列5個(gè)問題(Wasserman 1990)。

(1) 平臺(tái)集成:工具在異構(gòu)型網(wǎng)絡(luò)中的互操作能力。

(2) 表示集成:用戶界面的共性。

(3) 過程集成:工具和開發(fā)過程之間的鏈接。

(4) 數(shù)據(jù)集成:工具共享數(shù)據(jù)的方式。

(5) 控制集成:一個(gè)工具通知和啟動(dòng)另一個(gè)工具中的動(dòng)作的能力。

如果覺得對(duì)你有幫助,麻煩點(diǎn)個(gè)贊啦~~~·

http://www.risenshineclean.com/news/48033.html

相關(guān)文章:

  • 武漢教育網(wǎng)站建設(shè)公司排名營銷推廣策劃方案范文
  • app導(dǎo)航網(wǎng)站建設(shè)多少錢seo含義
  • 廣州化妝品網(wǎng)站制作山西網(wǎng)站seo
  • 分銷管理系統(tǒng)上海網(wǎng)站排名優(yōu)化
  • 網(wǎng)上做任務(wù)網(wǎng)站有哪些內(nèi)容長沙seo外包
  • 網(wǎng)站上的導(dǎo)航欄怎么做上海牛巨微seo優(yōu)化
  • 自己建網(wǎng)站教程北京網(wǎng)站推廣公司
  • 網(wǎng)站如何分頁西安網(wǎng)站公司推廣
  • 天津市建行網(wǎng)站百度指數(shù)查詢手機(jī)版app
  • 懷化市建設(shè)局網(wǎng)站足球世界排名前十
  • 區(qū)校合作網(wǎng)站建設(shè)方案網(wǎng)站查詢平臺(tái)
  • 網(wǎng)站專題二級(jí)頁怎么做網(wǎng)站關(guān)鍵詞優(yōu)化公司哪家好
  • 藍(lán)色商務(wù)網(wǎng)站模板深圳龍華區(qū)大浪社區(qū)
  • 網(wǎng)站設(shè)計(jì)與制作說明怎么制作網(wǎng)頁廣告
  • 汕頭市手機(jī)網(wǎng)站建設(shè)品牌steam交易鏈接在哪里
  • 國外網(wǎng)站建設(shè)現(xiàn)狀圖分析產(chǎn)品經(jīng)理培訓(xùn)哪個(gè)機(jī)構(gòu)好
  • 網(wǎng)站開發(fā)哪個(gè)城市發(fā)展好東莞seo技術(shù)培訓(xùn)
  • android網(wǎng)站客戶端開發(fā)關(guān)鍵詞挖掘ppt
  • 網(wǎng)站怎么做關(guān)鍵詞搜索數(shù)據(jù)分析培訓(xùn)機(jī)構(gòu)哪家好
  • 濟(jì)南集團(tuán)網(wǎng)站建設(shè)公司好軟文范例100字以內(nèi)
  • 怎么查詢網(wǎng)站空間商百度一下你就知道了百度
  • 手機(jī)客戶端網(wǎng)站怎么做網(wǎng)絡(luò)營銷一般月薪多少
  • 如何做話費(fèi)卡回收網(wǎng)站株洲網(wǎng)頁設(shè)計(jì)
  • 織夢(mèng)網(wǎng)站怎么上傳友鏈大全
  • 網(wǎng)站維護(hù)一年一般多少錢怎么建網(wǎng)站賣東西
  • 建設(shè)網(wǎng)站的行業(yè)現(xiàn)狀分析站長之家素材
  • 好的網(wǎng)站怎么設(shè)計(jì)師百度seo關(guān)鍵詞
  • 網(wǎng)站建設(shè)有幾種方式北京網(wǎng)站優(yōu)化外包
  • 廣西地礦建設(shè)集團(tuán)網(wǎng)站簡(jiǎn)述什么是網(wǎng)絡(luò)營銷
  • 江陰市做網(wǎng)站的口碑營銷策劃方案