下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件工程開發(fā)第一章軟件工程根本觀念1.1軟件工程的目標(biāo)與常用模型軟件工程的目標(biāo)是提高軟件的質(zhì)量與生產(chǎn)率,最終實(shí)現(xiàn)軟件的工業(yè)化生產(chǎn)。 對開發(fā)人員而言,如果非得在質(zhì)量與生產(chǎn)率之間分個(gè)主次不可,那么應(yīng)該是質(zhì)量第一,生產(chǎn)率第二。軟件工程的主要環(huán)節(jié)如圖 1所示,軟件開發(fā)過程一般包括可行性與需求分析、系統(tǒng)設(shè) 計(jì)、程序設(shè)計(jì)、測試和維護(hù)。圖1軟件工程環(huán)節(jié)常見的軟件工程模型有:線性模型,漸增式模型,螺旋模型,快速原型模型,形式化描 述模型等等。雖然線性模型比擬簡單,太理想化,但是每一個(gè)非線性的模型都能轉(zhuǎn)化為一系 列簡單的線性模式,因此在其他模式中需要靈活運(yùn)用線性模式。1.2軟件開發(fā)的根本策略復(fù)用在一個(gè)新系統(tǒng)中,
2、大局部的內(nèi)容是成熟的, 只有小局部內(nèi)容是創(chuàng)新的。 應(yīng)該把大局部的 時(shí)間用在小比例的創(chuàng)新工作上,而把小局部的時(shí)間用在大比例的成熟工作中。 我們將具有一 定集成度并可以重復(fù)使用的軟件組成單元稱為軟構(gòu)件。 軟件復(fù)用可以表述為: 直接使用已有 的軟構(gòu)件,即可組裝或加以合理修改成新的系統(tǒng)。這樣可以提高生產(chǎn)率和質(zhì)量。圖2應(yīng)用軟構(gòu)件產(chǎn)生應(yīng)用軟件1.2.2 分而治之我們可以把復(fù)雜的問題分解成 N個(gè)簡單的問題,再逐個(gè)尋求解決方法。但是最終的目的 是要保證單個(gè)的簡單問題可以通過程序?qū)崿F(xiàn),組裝后能夠使原本復(fù)雜的問題得到合理解決。1.2.3 優(yōu)化 折衷 優(yōu)化是用以優(yōu)化軟件的各個(gè)質(zhì)量因素, 但不能面面俱到, 應(yīng)折衷,
3、其目標(biāo)就是協(xié)調(diào)各個(gè) 質(zhì)量因素,實(shí)現(xiàn)整體質(zhì)量最優(yōu)。而不能盲目得拆東墻,補(bǔ)西墻。第二章 軟件開發(fā)過程各個(gè)環(huán)節(jié)介紹2.1 可行性分析與需求分析2.1.1 可行性分析要求可行性分析是從經(jīng)濟(jì)、技術(shù)、市場與政策及人員方面分析這個(gè)工程做還是不做。2.1.2 需求分析要求當(dāng)確定做之后, 我們就要與客戶交流,進(jìn)行需求分析,但由于客戶表達(dá)不清、需求自身 經(jīng)常變動或分析人員理解有誤, 都會導(dǎo)致需求分析困難。 因此, 有必要通過請教行家或者分 析同類型產(chǎn)品,來做進(jìn)一步的分析。2.2 系統(tǒng)設(shè)計(jì)2.2.1 體系結(jié)構(gòu)設(shè)計(jì)體系結(jié)構(gòu)就如同人體中的骨架,是軟件系統(tǒng)中最本質(zhì)的東西。其中層次結(jié)構(gòu)和客戶機(jī)/效勞器結(jié)構(gòu)是兩種非常通用的軟
4、件體系結(jié)構(gòu)。 每個(gè)系統(tǒng)均有一個(gè)體系結(jié)構(gòu), 我們在沒有必要 地情況下不可以修改。2.2.2 模塊設(shè)計(jì) 模塊設(shè)計(jì)過程不僅要考慮本身提供什么樣的功能,還要考慮該模塊與其他模塊如何交 流。常用以下三個(gè)特征進(jìn)行模塊優(yōu)劣的評價(jià): “信息隱藏 、“內(nèi)聚與耦合和“封閉開放 性。模塊的信息隱藏可以通過接口設(shè)計(jì)來實(shí)現(xiàn), 執(zhí)行模塊的功能或與模塊交流信息必須且只 須通過調(diào)用公有接口來實(shí)現(xiàn)。內(nèi)聚是模塊內(nèi)部各成分之間的關(guān)聯(lián)度, 而耦合是模塊間的依賴程度, 在模塊設(shè)計(jì)時(shí)應(yīng)做 到強(qiáng)內(nèi)聚,弱耦合。2.2.3 數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)在算法設(shè)計(jì)時(shí)我們主要要從時(shí)間和空間的角度考慮軟件的效率。時(shí)間與空間的優(yōu)化也應(yīng)該采取折中的方式。2.2.
5、4 用戶界面設(shè)計(jì)人機(jī)界面設(shè)計(jì)應(yīng)從適宜性、風(fēng)格和廣義美上著手。做到吸引眼球和諧,才能吸引客戶。2.3 程序設(shè)計(jì)本節(jié)主要講述了編程的一些小考前須知,需養(yǎng)成良好的編程標(biāo)準(zhǔn)。1、命名約定( 1)宏定義用大寫字母加下劃線表示,如MAX_LENGTH ;( 2)函數(shù)用大寫字母開頭的單詞組合而成,如SetName, GetName ;(3)指針變量加前綴 p,如*pNode ;( 4) BOOL 變量加前綴 b ,如 bFlag ;(5) int變量加前綴i,如iWidth ;(6) float變量加前綴f,如fWidth ;(7) double 變量加前綴 d,女口 dWidth ;( 8)字符串變量加前
6、綴 str ,如 strName ;(9)枚舉變量加前綴 e,如 eDrawMode ;( 10)類的成員變量加前綴 m_ ,如 m_strName, m_iWidth;2、使用斷言:使用 assert 函數(shù)可以追蹤斷點(diǎn),檢查程序是否有出錯(cuò)。3、new、delete與指針:在C中是malloc與free,在申請內(nèi)存后,要記得釋放。要防止 指針指向已釋放的內(nèi)存。4、使用 const : const 可定義有類型的常量,可確保此常量不被改變。5、不要將BOOL值TRUE和FALSE對應(yīng)于1和0進(jìn)行編程。2.4 測試與改錯(cuò)2.4.1 測試測試的目的在于發(fā)現(xiàn)盡可能多的錯(cuò)誤,而不是為了說明程序中沒有錯(cuò)誤
7、。測試可分為a測試和B測試。a測試是公司內(nèi)部人員進(jìn)行的測試,其中開發(fā)人員要做白盒測試, 就是各模塊的結(jié)構(gòu)進(jìn)行單步調(diào)試, 而測試小組要做黑盒測試, 主要是看模塊接 口是否正確,輸出結(jié)果是否正確。B測試是請用戶過來試用, 發(fā)現(xiàn)在試用中出現(xiàn)的一些問題, 提交測試報(bào)告。2.4.2 改錯(cuò)在發(fā)現(xiàn)錯(cuò)誤之后需要及時(shí)大膽得修改, 但是修改之后還要重新測試, 以免引入新的錯(cuò)誤。2.5 維護(hù)與再生2.5.1 維護(hù)軟件維護(hù)劃分為主要的三類:糾錯(cuò)性維護(hù)、適應(yīng)性維護(hù)和完善性維護(hù)。( 1 )糾錯(cuò)性維護(hù)。由于前期的測試不可能找出所有潛在的錯(cuò)誤,用戶在使用軟件時(shí)仍 將會遇到錯(cuò)誤,診斷和改正這些錯(cuò)誤的過程稱為糾錯(cuò)性維護(hù)。( 2)
8、適應(yīng)性維護(hù)。由于新的硬件設(shè)備不斷推出,操作系統(tǒng)和編譯系統(tǒng)也不斷地升級, 為了使軟件能適應(yīng)新的環(huán)境而引起的程序修改和擴(kuò)充活動稱為適應(yīng)性維護(hù)。(3)完善性維護(hù)。在軟件的正常使用過程中,用戶還會不斷提出新的需求。為了滿足 用戶新的需求而增加軟件功能的活動稱為完善性維護(hù)。2.5.2 再生 再生工程主要出于如下愿望: 1在商業(yè)上要提高產(chǎn)品的競爭力; 2在技術(shù)上要提 高產(chǎn)品的質(zhì)量。 再生工程與維護(hù)的共同之處是沒有拋棄原有的軟件。 再生工程主要有三種類 型:重構(gòu)、逆向工程和前向工程。 重構(gòu)是再原程序上修改,不改變體系結(jié)構(gòu)。而逆向工程 是從其他同類產(chǎn)品中提取有用信息, 再加以修改。 前向工程也稱預(yù)防性維護(hù), 那么會根據(jù)需求 對軟件進(jìn)行預(yù)防功能的完善,減少未知錯(cuò)誤發(fā)生。第三章 小結(jié)看完?軟件工程思想?之后的一些感受。1、在軟件編程的時(shí)候不要過分依賴一些開發(fā)書籍,要在尊重原程序的根底上,添加自己的 想法,而不是生搬硬套。2、需求分析很重要,要先明確需求,然后要在設(shè)計(jì)的時(shí)候一邊編程一邊根據(jù)需求的改變而 改變,越早修改,代價(jià)越小。3、編程的時(shí)候越簡潔越好,這樣便于后人閱讀理解修改,不要過多得使用編程中鮮為人知 的技巧,適當(dāng)添加解釋性的注釋。4、在編程中,錯(cuò)誤無大小,要正視自己的缺乏,吸取經(jīng)驗(yàn)教訓(xùn),及時(shí)改正。5、做工程的是團(tuán)隊(duì)而非個(gè)人,在整個(gè)團(tuán)隊(duì)中,每個(gè)人
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 純色背景課件教學(xué)課件
- 2024年度金融IT系統(tǒng)集成與維護(hù)合同
- 2024年商標(biāo)許可使用合同 規(guī)定許可范圍與使用期限
- 2024廠區(qū)綠化養(yǎng)護(hù)合同
- 2024年度氨水行業(yè)綠色發(fā)展與環(huán)保合作協(xié)議
- 2024年品牌授權(quán)與連鎖加盟合同
- 2024年城市軌道交通安全監(jiān)控系統(tǒng)建設(shè)合同
- 2024年度房地產(chǎn)買賣與租賃合同
- 2024年度委托加工合同標(biāo)的原料提供與加工質(zhì)量
- 2024胡柚買賣合同范文
- 混合痔中醫(yī)護(hù)理 方案
- 美國刑法制度
- 慢性病防治和健康生活知識講座
- 2024年教師招聘考試-中小學(xué)校長招聘筆試參考題庫含答案
- 中華民族共同體概論課件第十六講文明新路與人類命運(yùn)共同體
- 人教部編版一年級道德與法治上冊第10課《吃飯有講究》精美課件
- 2024-2030全球與中國鉑銅合金市場現(xiàn)狀及未來發(fā)展趨勢
- 供電企業(yè)輿情的預(yù)防及處置
- (高清版)WST 433-2023 靜脈治療護(hù)理技術(shù)操作標(biāo)準(zhǔn)
- 醫(yī)院科研合作與成果轉(zhuǎn)化協(xié)議書
- 銷售配合與帶動(課件)
評論
0/150
提交評論