官术网_书友最值得收藏!

第1章 引言

INTRODUCTION

本書包含一系列軟件工程的原則。這些原則代表了我們所認(rèn)為的軟件開發(fā)過程中的最先進(jìn)、最正確的理念。其他工程領(lǐng)域有基于物理學(xué)、生物學(xué)、化學(xué)或數(shù)學(xué)定律的原則,然而,由于軟件工程的產(chǎn)物是非實(shí)體的(nonphysical),所以實(shí)體的定律(laws of the physical)并不能輕易地成為軟件工程領(lǐng)域堅(jiān)實(shí)的基礎(chǔ)。

軟件行業(yè)已經(jīng)有大量討論技術(shù)、語言和工具的圖書,但很少有圖書試圖去編制基本原則的清單。如圖1-1所示,原則(Principle)是工作的準(zhǔn)則;原則代表了許多人從經(jīng)驗(yàn)中總結(jié)出來的集體智慧。它們往往被描述為絕對真理(總是正確的)或用作推論(當(dāng)X發(fā)生時(shí),Y將會(huì)發(fā)生)。

技術(shù)(Technique)是一種按部就班的流程,它幫助軟件開發(fā)者執(zhí)行一部分軟件工程過程。技術(shù)傾向于強(qiáng)制遵循基本原則的一個(gè)子集。大部分技術(shù)會(huì)創(chuàng)建文檔和(或)程序。許多技術(shù)也會(huì)分析現(xiàn)有的文檔和(或)程序,或?qū)⑵滢D(zhuǎn)變?yōu)楫a(chǎn)品。

img

圖1-1 原則、技術(shù)、語言、工具

語言(Language)由一組基本元素(如單詞或圖形符號(hào))、規(guī)則和語義組成。規(guī)則可以讓人們用基本元素構(gòu)造出更復(fù)雜的實(shí)體(如句子、圖表、模型),語義則賦予每個(gè)實(shí)體組合以意義。語言用于表達(dá)所有軟件工程的產(chǎn)出,無論是過程中的還是最終的。那些通過技術(shù)創(chuàng)建或分析的文檔和程序通常也會(huì)用某種語言來表達(dá)。

工具(Tool)是軟件程序,可幫助軟件工程師執(zhí)行軟件工程中的某些步驟。它們可以:

■ 作為工程師的顧問(例如,基于知識(shí)的需求助理)。

■ 分析某些內(nèi)容是否符合某種技術(shù)(例如,數(shù)據(jù)流圖檢查器)或原則的子集。

■ 使軟件工程中的一些工作實(shí)現(xiàn)自動(dòng)化(例如,編譯器)。

■ 輔助工程師完成一些工作(例如,編輯器)。

一個(gè)學(xué)科的原則集合,會(huì)隨著學(xué)科的發(fā)展而發(fā)展。現(xiàn)存的原則會(huì)發(fā)生改變,新的原則會(huì)被加進(jìn)來,舊的原則將不再適用。實(shí)踐和從實(shí)踐中獲得的經(jīng)驗(yàn),促使我們發(fā)展了那些原則。如今,當(dāng)我們?nèi)徱曇恍?964年的軟件工程原則時(shí),會(huì)覺得它們看起來很傻(例如,總是使用簡短的變量名,或者盡可能讓程序體積更小)。三十年后,如今的一些原則也會(huì)如此。

現(xiàn)在,請看現(xiàn)代的軟件工程原則。

譯者注

雖然作者說,如今的原則在三十年后會(huì)看起來同樣荒謬。但是非常令人吃驚的是,在英文原書出版25年后,我們看到其中有超過95%的原則都沒有過時(shí)!

img
主站蜘蛛池模板: 达州市| 栾城县| 水城县| 外汇| 陕西省| 哈尔滨市| 达日县| 阜平县| 万州区| 丁青县| 昌都县| 墨玉县| 开原市| 灵璧县| 韶山市| 南康市| 苍山县| 乐陵市| 静安区| 吕梁市| 杭锦旗| 堆龙德庆县| 鹤岗市| 曲沃县| 龙州县| 临夏县| 县级市| 华安县| 西青区| 沿河| 平武县| 芮城县| 油尖旺区| 凤台县| 崇明县| 泾川县| 临颍县| 山阳县| 白山市| 万宁市| 文成县|