9 面向?qū)ο笳Z(yǔ)言的優(yōu)點(diǎn) P222
軟件是什么
軟件危機(jī)是什么
產(chǎn)生軟件危機(jī)的原因
軟件危機(jī)的典型表現(xiàn)
軟件工程過(guò)程是為了獲取高質(zhì)量軟件
軟件工程
指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái)軟件危機(jī)產(chǎn)生原因是什么,經(jīng)濟(jì)地開(kāi)發(fā)出高質(zhì)量的軟件并有效地維護(hù)它。
軟件危機(jī)
在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。這些問(wèn)題絕不僅僅是不能正常運(yùn)行的軟件才具有的。實(shí)際上,幾乎所有軟件都不同程度的存在這些問(wèn)題。總的來(lái)說(shuō)軟件危機(jī)包含兩類問(wèn)題:如何開(kāi)發(fā)軟件,以滿足對(duì)軟件日益增長(zhǎng)的需求;如何維護(hù)數(shù)量膨脹的已有軟件。
什么是模塊、模塊化?軟件設(shè)計(jì)為什么要模塊化?
模塊 完成特定功能的程序?qū)嶓w,構(gòu)成程序的基本構(gòu)件。
模塊化 解決一個(gè)復(fù)雜問(wèn)題時(shí)自頂向下逐層分解成若干模塊的過(guò)程。每個(gè)模塊完成一個(gè)特定的子功能,所有模塊按系統(tǒng)結(jié)構(gòu)組合起來(lái),完成整個(gè)系統(tǒng)所要求的功能。
解決一個(gè)復(fù)雜問(wèn)題題時(shí)從上到下一層層分解成許多模塊的過(guò)程。每個(gè)模塊完成一個(gè)指定的子功能軟件危機(jī)產(chǎn)生原因是什么,所以由模塊再按系統(tǒng)結(jié)構(gòu)組合起來(lái),完成整個(gè)系統(tǒng)所需要的功能
模塊化設(shè)計(jì)的原因
1.將問(wèn)題簡(jiǎn)化,劃分模塊可使每一個(gè)模塊完成單一的功能
2.可以獨(dú)立地進(jìn)行模塊的編碼測(cè)試,便于軟件開(kāi)發(fā)工作的組織。
3.把每一個(gè)模塊要解決的問(wèn)題局限在有限的范圍
怎么感覺(jué)1 3是一個(gè)東西,簡(jiǎn)寫一下,1劃分模塊每一個(gè)完成單一功能,3每個(gè)模塊要解決的問(wèn)題圈在一定范圍內(nèi),2模塊可以獨(dú)立進(jìn)行編碼測(cè)試,便于組織軟件開(kāi)發(fā)工作
選擇編程語(yǔ)言時(shí),通常考慮以下因素
1.待開(kāi)發(fā)系統(tǒng)的應(yīng)用領(lǐng)域,即項(xiàng)目的應(yīng)用范圍
2用戶的要求
3軟件開(kāi)發(fā)人員的喜歡和能力
4系統(tǒng)的可移植性要求
5算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性