課程主教材和參考教材
(一)軟件的定義、種類
2種比較經(jīng)典的軟件的定義:
第一個(gè)定義來(lái)自于《計(jì)算機(jī)科學(xué)技術(shù)百科全書》嗤谚, 它是指計(jì)算機(jī)系統(tǒng)中的程序及其文檔。 程序是 計(jì)算任務(wù)的處理對(duì)象和處理規(guī)則的描述缕粹,而文檔是為了了解程序 而做的闡明性資料登夫。 那么程序加文檔合在一起構(gòu)成軟件, 這與我們以前理解的軟件只是指程序是有區(qū)別的香府。 文檔作為軟件很重要的組成部分董栽,它可以來(lái)自于軟件生命周期的各個(gè)階段, 例如在需求分析階段形成的軟件需求規(guī)約企孩,在設(shè)計(jì) 階段形成的軟件設(shè)計(jì)規(guī)約锭碳,在測(cè)試階段形成的測(cè)試計(jì)劃等等, 都是文檔的重要組成部分柠硕。
第二個(gè)定義來(lái)自于 Sommerville 的《軟件工程》一本書工禾, 它是指計(jì)算機(jī)程序和相關(guān)的文檔。 那么軟件產(chǎn)品可以為特定的 客戶開發(fā)蝗柔,也可以為一個(gè)專門的市場(chǎng)開發(fā)闻葵。 那么這里面實(shí)際上指出了軟件產(chǎn)品可以是 為定制的、特定的人群開發(fā)癣丧,但是同時(shí)也可以是為 一類的人群槽畔,一個(gè)市場(chǎng)來(lái)進(jìn)行開發(fā)。
軟件后續(xù)的維護(hù)胁编,將會(huì)占據(jù)軟件成本的很大的比例
按照功能的劃分厢钧,軟件一般分為系統(tǒng)軟件鳞尔、支撐軟件和應(yīng)用軟件:
系統(tǒng)軟件:如操作系統(tǒng)、編譯程序早直、編譯器
支撐軟件是指 支撐軟件的開發(fā)寥假、 維護(hù)和運(yùn)行的軟件。軟件開發(fā)環(huán)境以及中間件是現(xiàn)代支撐軟件的代表霞扬。軟件開發(fā)環(huán)境中的各類數(shù)據(jù)庫(kù)糕韧、 各類接口軟件及軟件工具組等 構(gòu)成了支撐軟件的三個(gè)方面
應(yīng)用軟件 指的是 特定應(yīng)用領(lǐng)域?qū)S玫能浖?/p>
(二)軟件開發(fā)的本質(zhì)和基本手段
1、軟件開發(fā)的本質(zhì)
注:程序設(shè)計(jì)環(huán)境和中間件等 就構(gòu)成了軟件的運(yùn)行平臺(tái)喻圃,也被稱為計(jì)算平臺(tái)
軟件的開發(fā)就是希望實(shí)現(xiàn) 從問(wèn)題域中的問(wèn)題 到運(yùn)行平臺(tái)上的 軟件解的映射萤彩,即實(shí)現(xiàn) 問(wèn)題域中的概念和處理邏輯,到運(yùn)行平臺(tái)上的概念和處理邏輯的映射
但是呢斧拍,這一映射很復(fù)雜雀扶,不太可能一步完成,為了控制映射的復(fù)雜性,所以我們?cè)谶@個(gè)映射過(guò)程進(jìn)行分層肆汹,進(jìn)而實(shí)現(xiàn)了從問(wèn)題域到需求層愚墓, 再?gòu)男枨髮拥皆O(shè)計(jì)層,以及從設(shè)計(jì)層到實(shí)現(xiàn)層 等等的自上而下的這樣的一個(gè)映射县踢。
那么這個(gè)映射過(guò)程 就是實(shí)現(xiàn)了問(wèn)題域到不同抽象層次之間 概念和處理邏輯的映射這也是軟件開發(fā)的本質(zhì)转绷。
2、軟件開發(fā)中實(shí)現(xiàn)映射的基本手段是:建模
3硼啤、系統(tǒng)建模议经、設(shè)計(jì)模式、應(yīng)用框架
系統(tǒng)建模谴返、 應(yīng)用框架煞肾、 設(shè)計(jì)模式等術(shù)語(yǔ) 這些術(shù)語(yǔ)的提出是為了實(shí)現(xiàn) 問(wèn)題域到不同抽象層次概念和計(jì)算邏輯的更好的映射
系統(tǒng)建模可以幫助我們更好地實(shí)現(xiàn) 從問(wèn)題域中的概念和處理邏輯到需求分析 和設(shè)計(jì)層次的概念和處理邏輯的映射嗓袱。(強(qiáng)調(diào)不同層次間的邏輯和概念的映射)
而以 MVC Glade Server 等設(shè)計(jì)模式籍救,可以 幫助我們進(jìn)行更好的軟件設(shè)計(jì),以提高軟件設(shè)計(jì)的質(zhì)量和效率渠抹。(強(qiáng)調(diào)更好地設(shè)計(jì))
應(yīng)用框架可以幫助我們進(jìn)行更好地實(shí)現(xiàn) 軟件系統(tǒng)蝙昙,以提高軟件的質(zhì)量(強(qiáng)調(diào)更好地實(shí)現(xiàn))