日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

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

软件工程学习笔记概要

發(fā)布時(shí)間:2024/3/26 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件工程学习笔记概要 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、軟件工程的框架
?? 目標(biāo)、過程、原則

?

1.目標(biāo):正確性、可用性、開銷合宜

??????? 軟件工程活動:

需求->設(shè)計(jì)->實(shí)現(xiàn)->確認(rèn)->支持等活動

需求:問題分析:需求定義

需求分析:功能規(guī)約

設(shè)計(jì):概要設(shè)計(jì):整個(gè)軟件體系結(jié)構(gòu)

詳細(xì)設(shè)計(jì):程序員可用的模塊說明

實(shí)現(xiàn):得到可執(zhí)行的程序代碼

確認(rèn):貫穿于整個(gè)開發(fā)過程

支持:包括修改和完善

還有管理過程、支持過程、培訓(xùn)過程等

?

2.軟件工程過程:

生產(chǎn)一個(gè)最終能滿足需求 且 達(dá)到工程目標(biāo) 的軟件產(chǎn)品所需要的步驟。

開發(fā)過程、運(yùn)作過程、維護(hù)過程

覆蓋需求、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)、支持及維護(hù)等活動

?

3.軟件工程的原則

圍繞工程設(shè)計(jì)、工程支持、工程管理在軟件開發(fā)過程中必須遵守的原則

1.選取適宜的開發(fā)范型

2.選取合適的設(shè)計(jì)方法

3.提供高質(zhì)量的工程支持

4.重視開發(fā)過程的管理

?

二、開發(fā)模型

1.V模型:快速應(yīng)用開發(fā)模型(RAD),開發(fā)和測試同時(shí)進(jìn)行

?

需求分析:需求規(guī)格說明書

概要設(shè)計(jì):搭建架構(gòu)、表述各模塊功能、模塊接口、數(shù)據(jù)傳遞的實(shí)現(xiàn)等事務(wù)

詳細(xì)設(shè)計(jì):達(dá)到偽代碼級別,包含數(shù)據(jù)庫設(shè)計(jì)說明

軟件編碼

單元測試:主要測試程序代碼,確保各個(gè)模塊正確編譯(具體到模塊、類、函數(shù))

集成測試:主要測試各模塊間組合后功能實(shí)現(xiàn)情況,模塊接口連接是否成功、數(shù)據(jù)傳遞是否正確,主要目的是檢查軟件單元之間的接口是否正確

系統(tǒng)測試:按照軟件規(guī)格說明書中要求,測試功能性能是否符合需求,系統(tǒng)是否存在漏洞

驗(yàn)收測試:用戶拿到軟件時(shí),在使用現(xiàn)場按規(guī)格說明書做相應(yīng)測試確定軟件達(dá)到效果

?

缺陷:

僅把測試過程當(dāng)做編碼之后的一個(gè)階段,忽視了對需求分析、系統(tǒng)設(shè)計(jì)的驗(yàn)證,需求的滿足情況到后期驗(yàn)收測試才被驗(yàn)證

解決思路:測試在軟件做需求分析時(shí)就有測試用例的跟蹤

?

適用范圍:

適用于一些傳統(tǒng)信息系統(tǒng)應(yīng)用的開發(fā),

而高風(fēng)險(xiǎn)高性能的系統(tǒng)、互聯(lián)網(wǎng)軟件或者難以具體模塊化的系統(tǒng)不適用,需要更強(qiáng)調(diào)迭代的開發(fā)模型或敏捷開發(fā)模型

?

2.瀑布模型:

?

階段間具有順序性和依賴性:

前一階段完成后一階段才能開始

前一階段輸出文本為后一階段的輸入文本

推遲實(shí)現(xiàn)的觀點(diǎn)

質(zhì)量保證:每個(gè)階段必須交付合格的文檔;對文檔進(jìn)行審核

?

缺點(diǎn):開始時(shí)必須把需求做到最全,懼怕用戶測試中的反饋和需求變更

?

三、軟件生命周期(SDLC)

軟件的產(chǎn)生直到報(bào)廢的生命周期

1.瀑布型生命周期:

包括可行性分析與開發(fā)項(xiàng)計(jì)劃、需求分析、設(shè)計(jì)(概要和詳細(xì))、編碼、測試、維護(hù)等階段

典型六階段:

1.問題的定義及規(guī)劃:主要確定軟件的開發(fā)目標(biāo)及其可行性

2.需求分析:在確定軟件開發(fā)可行的情況下,對軟件需要實(shí)現(xiàn)的各個(gè)功能進(jìn)行詳細(xì)分析。必須制定需求變更計(jì)劃來應(yīng)對變化

3.軟件設(shè)計(jì):主要根據(jù)需求分析的結(jié)果,對整個(gè)軟件系統(tǒng)進(jìn)行設(shè)計(jì),如系統(tǒng)框架設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)等

4.程序編碼:將軟件設(shè)計(jì)的結(jié)果轉(zhuǎn)換成計(jì)算機(jī)可運(yùn)行的程序代碼。

5.軟件測試:整個(gè)測試過程分為單元測試、組裝測試、系統(tǒng)測試三階段;測試方法有白盒測試、黑盒測試兩種;應(yīng)建立詳細(xì)測試計(jì)劃并按計(jì)劃進(jìn)行測試

6.運(yùn)行維護(hù):持續(xù)時(shí)間最長的階段,包括糾錯(cuò)性維護(hù)和改進(jìn)型維護(hù)兩個(gè)方面

?

四、敏捷開發(fā)

以用戶的需求進(jìn)化為核心,采用迭代、循序漸進(jìn)的方法進(jìn)行軟件開發(fā)。軟件項(xiàng)目在構(gòu)建初期被切分為多個(gè)子項(xiàng)目,并分別完成。此過程中軟件一直處于可使用狀態(tài)

宣言原則:

1.最重要,盡早、不斷交付有價(jià)值的軟件滿足客戶需求

2.能過駕馭變化,保持客戶競爭優(yōu)勢

3.經(jīng)常交付可以工作的軟件

4.業(yè)務(wù)人員與開發(fā)者朝夕相處

5.給開發(fā)者提供適宜的環(huán)境滿足他們的需要

6.相信開發(fā)者能夠完成任務(wù)

7.開發(fā)小組最有效率的信息傳達(dá)方式是面對面交流

8.可以工作的軟件是主要度量尺度

9.提倡可持續(xù)開發(fā),各方應(yīng)維持不變的節(jié)奏

10.對卓越技術(shù)與良好設(shè)計(jì)的不斷追求有助于提高敏捷性

11.盡可能減少工作量的藝術(shù)至關(guān)重要

12.最好的架構(gòu)、需求和設(shè)計(jì)都源自于自我組織的團(tuán)隊(duì)

13.每隔一段時(shí)間都要進(jìn)行總結(jié)

?

五、高內(nèi)聚低耦合

1.定義

內(nèi)聚:描述模塊內(nèi)的功能聯(lián)系,一個(gè)好的內(nèi)聚模塊應(yīng)當(dāng)恰好做一件事

耦合:描述軟件結(jié)構(gòu)中各模塊之間相互聯(lián)系的關(guān)系,耦合強(qiáng)弱取決于模塊間接口的復(fù)雜程度、進(jìn)入或訪問一個(gè)模塊的點(diǎn)以及通過接口的數(shù)據(jù)

2.概念

耦合性(塊間聯(lián)系):模塊間的聯(lián)系越緊密,其耦合性越強(qiáng),模塊間相互獨(dú)立性越差。模塊間相互獨(dú)立性取決于模塊間接口的復(fù)雜性、調(diào)用的方式及傳遞的信息

內(nèi)聚性(塊內(nèi)聯(lián)系):模塊功能強(qiáng)度的度量,模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度。模塊內(nèi)各元素聯(lián)系越緊密,內(nèi)聚性越高。

高內(nèi)聚:單一責(zé)任原則,一個(gè)模塊由相關(guān)性很強(qiáng)的代碼組成,只負(fù)責(zé)一項(xiàng)任務(wù)

低耦合:一個(gè)完整的系統(tǒng),模塊與模塊之間盡可能的獨(dú)立存在

3.分類:

a.內(nèi)容耦合:一個(gè)模塊直接訪問另個(gè)模塊的內(nèi)容

b.公共耦合:一組模塊都訪問同一個(gè)全局?jǐn)?shù)據(jù)結(jié)構(gòu)

較松散的:模塊只是向公共數(shù)據(jù)環(huán)境輸入或取出數(shù)據(jù)

較緊密的:既輸入,又取出

c.外部耦合:一組模塊都訪問同一全局簡單變量,而不通過參數(shù)列表傳遞

d.控制耦合:模塊之間傳遞的不是數(shù)據(jù)信息而是控制信息,如標(biāo)志、開關(guān)量等

e.標(biāo)記耦合:調(diào)用模塊和被調(diào)用模塊之間傳遞數(shù)據(jù)結(jié)構(gòu)而不是簡單數(shù)據(jù),又稱特征耦合。參數(shù)名為標(biāo)記,實(shí)際傳遞的地址

f.數(shù)據(jù)耦合:調(diào)用模塊和被調(diào)用模塊之間只傳遞簡單的數(shù)據(jù)項(xiàng)參數(shù)。相當(dāng)于高級語言中的值傳遞

g.非直接耦合:兩個(gè)模塊之間沒有直接關(guān)系,他們之間的聯(lián)系完全是通過主模塊的控制和調(diào)用實(shí)現(xiàn)。耦合度最低

*設(shè)計(jì)原則:若模塊間必須存在耦合,應(yīng)盡量使用數(shù)據(jù)耦合,少用控制耦合,慎用公共耦合并限制公共耦合的范圍,盡量避免內(nèi)容耦合

?

內(nèi)聚度由弱到強(qiáng):

a.偶然內(nèi)聚:一個(gè)模塊間各處理元素之間沒有任何聯(lián)系,只是偶然被湊到一起,又稱巧合內(nèi)聚

b.邏輯內(nèi)聚:把幾種相關(guān)的功能組合在一起,每次被調(diào)用時(shí),由參數(shù)決定該模塊完成哪種功能

c.時(shí)間內(nèi)聚:需要同時(shí)執(zhí)行的動作組合到一起形成的模塊

d.過程內(nèi)聚:模塊內(nèi)處理元素是相關(guān)的,且必須按特定次序執(zhí)行

e.通信內(nèi)聚:模塊內(nèi)各個(gè)組成部分都是用相同的數(shù)據(jù)結(jié)構(gòu)或者產(chǎn)生相同的數(shù)據(jù)結(jié)構(gòu)

f.順序內(nèi)聚:模塊內(nèi)前一個(gè)處理元素的輸出是后一個(gè)處理元素的輸入

g.功能內(nèi)聚:模塊內(nèi)各個(gè)組成部分全部都為完成同一個(gè)功能而存在,共同完成一個(gè)單一的功能,模塊不可再分。

*模塊劃分原則:一個(gè)模塊一個(gè)功能

總結(jié)

以上是生活随笔為你收集整理的软件工程学习笔记概要的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。