① 軟體工程的三大要素
軟體工程包括三個要素:方法、工具和過程。
軟體工程方法為軟體開發提供了「如何做」的技術。它包括了多方面的任務,如項目計劃與估算、軟體系統需求分析、數據結構、系統總體結構的設計、演算法過程的設計、編碼、測試以及維護等。
軟體工具為軟體工程方法提供了自動的或半自動的軟體支撐環境。目前,已經推出了許多軟體工具,這些軟體工具集成起來,建立起稱之為計算機輔助軟體工程(CASE)的軟體開發支撐系統。CASE將各種軟體工具、開發機器和一個存放開發過程信息的工程資料庫組合起來形成一個軟體工程環境。
軟體工程的過程則是將軟體工程的方法和工具綜合起來以達到合理、及時地進行計算機軟體開發的目的。過程定義了方法使用的順序、要求交付的文檔資料、為保證質量和協調變化所需要的管理、及軟體開發各個階段完成的里程碑。
軟體工程是一種層次化的技術。任何工程方法(包括軟體工程)必須以有組織的質量保證為基礎。全面的質量管理和類似的理念刺激了不斷的過程改進,正是這種改進導致了更加成熟的軟體工程方法的不斷出現。支持軟體工程的根基就在於對質量的關注。 ...
② 軟體工程中的五種耦合,各舉一個例子。
數據耦合
sum(int a,int b)
{int c;
c=a+b;
return(c);
}
main()
{int x,y;
.
.
.printf("x+y=%d",sum(x,y));
}
主函數與sum函數之間即為數據耦合關系
控制耦合
void output(flag)
{
if(flag)printf("OK!");
else printf("NO!");
}
main()
{int flag;
..
..
..
output(flag);
}
主函數與output函數之間即為控制耦合關系.
內容耦合
如goto語句
公共環境耦合
如FORTRAN語言中使用的common語句
③ 軟體工程的基本原理有哪些
軟體工程的七條基本原理
1、用分階段的生命周期計劃嚴格管理有人經統計發現,在不成功的軟體項目中有一半左右是由於計劃不周造成的,可見把建立完善的計劃作為第一條基本原理是吸取了前人的教訓而提出來的。
在軟體開發與維護的漫長的生命周期中,需要完成許多性質各異的工作。這條基本原理意味著,應該把軟體生命周期劃分成若干個階段,並相應地制定出切實可行的計劃,然後嚴格按照計劃對軟體的開發與維護工作進行管理。Boehm 認為,在軟體的整個生命周期中應該制定並嚴格執行六類計劃,它們是項目概要計劃,里程碑計劃,項目控制計劃,產品控制計劃,驗證計劃,運行維護計劃。
不同層次的管理人員都必須嚴格按照計劃各盡其職地管理軟體開發與維護工作,絕不能受客戶或上級人員的影響而擅自背離預定計劃。
2、堅持進行階段評審
當時已經認識到,軟體的質量保證工作不能等到編碼階段結束之後再進行。這樣說至少有兩個理由:第一,大部分錯誤是在編碼之前造成的,例如,根據Boehm 等人的統計,設計錯誤占軟體錯誤的63%,編碼僅佔37%;第二,錯誤發現與改正得越晚,所需付出的代價也越高。因此,在每個階段都進行嚴格的評審,以便盡早發現在軟體開發過程中所犯的錯誤,是一條必須遵循的重要原則。
3、實行嚴格的產品控制
在軟體開發過程中不應隨意改變需求,因為改變一項需求往往需要付出較高的代價,但是,
在軟體開發過程中改變需求又是難免的,由於外部環境的變化,相應地改變用戶需求是一種客觀需要,顯然不能硬性禁止客戶提出改變需求的要求,而只能依靠科學的產品控制技術來順應這種要求。也就是說,當改變需求時,為了保持軟體各個配置成分的一致性,
必須實行嚴格的產品控制,其中主要是實行基準配置管理。所謂基準配置又稱基線配置,它們是經過階段評審後的軟體配置成分(各個階段產生的文檔或程序代碼)。基準配置管理也稱為變
動控制:
一切有關修改軟體的建議,
特別是涉及到對基準配置的修改建議,必須按照嚴格的規程進行評審,獲得批准以後才能實施修改。絕對不能誰想修改軟體(包括尚在開發過程中的軟體),就隨意進行修改。
4、採用現代程序設計技術
從提出軟體工程的概念開始,人們一直把主要精力用於研究各種新的程序設計技術。
60年代末提出的結構程序設計技術,已經成為絕大多數人公認的先進的程序設計技術。以後又進一步發展出各種結構分析(SA)與結構設計(SD)技術。實踐表明,採用先進的技術既可
提高軟體開發的效率,又可提高軟體維護的效率。
5、結果應能清楚地審查
軟體產品不同於一般的物理產品,它是看不崢摸不著的邏輯產品。軟體開發人員
(或開發小組)
的工作進展情況可見性差,難以准確度量,從而使得軟體產品的開發過程比一般產品的
開發過程更難於評價和管理。為了提高軟體開發過程的可見性,更好地進行管理,應該根據
軟體開發項目的總目標及完成期限,規定開發組織的責任和產品標准,從而使得所得到的結
果能夠清楚地審查。
6、開發小組的人員應該少而精
這條基本原理的含義是,軟體開發小組的組成人員的素質應該好,而人數則不宜過多。
開發小組人員的素質和數量是影響軟體產品質量和開發效率的重要因素。
素質高的人員的開發效率比素質低的人員的開發效率可能高幾倍至幾十倍,而且素質高的人員所開發的軟體中的錯誤明顯少於素質低的人員所開發的軟體中的錯誤。此外,隨著開發小組人員數目的增加,因為交流情況討論問題而造成的通信開銷也急劇增加。當開發小組人員數為N時,可能的通信路徑有N(N?/FONT>1)/2條,可見隨著人數N的增大,通信開銷將急劇增加。因此,
組成少而精的開發小組是軟體工程的一條基本原理。
7、承認不斷改進軟體工程實踐的必要性遵循上述六條基本原理,就能夠按照當代軟體工程基本原理實現軟體的工程化生產,但是,僅有上述六條原理並不能保證軟體開發與維護的過程能趕上時代前進的步伐,能跟上技術的不斷進步。
l
因此,Boehm提出應把承認不斷改進軟體工程實踐的必要性作為軟體工程的第七條基本原理。按照這條原理,不僅要積極主動地採納新的軟體技術,而且要注意不斷總結經驗,例如,收集進度和資源耗費數據,收集出錯類型和問題報告數據等等。這些數據不僅可以用來評價新的軟體技術的效果,而且可以用來指明必須著重開發的軟體工具和應該優先研究的技術
④ 軟體工程所分的三個方向如何
誰說軟體工程分出來的就三個方向。。。。而且,你學什麼跟你以後去公司做什麼,也沒什麼關系。學編程的也可以做測試啊,學面向對象語言的也可以去做面向過程的啊,學網路的我們還湊合過來編了倆月代碼呢。聽都沒聽過的語言,一個星期培訓我就敢上手coding。。。。我就什麼都做過,一般大公司讓你做什麼新的工作的話都會給你培訓的。。。。不過,計算機行業的工作真的很累,半夜兩點多下班,一加班加一個月兩個月三個月四個月的是常事兒,要不是不知道我還能做什麼,我早就不做了,累死了!不過,如果單純做測試人員,會比做開發相對來說輕松一點點點點,但是該加班還是要加班。上面說做美工,這應該就不屬於軟體工程了吧,不過做美工倒是挺輕松,薪資當然也一般,起步時候差不多,等人家技術強悍起來的時候,就能看出薪資差距了。
⑤ 軟體工程的三大文檔是什麼
01立項調查報告
02立項建議書
03立項評審報告
04項目設計開發任務書
05項目計劃
06質量保證計劃
07配置管理計劃
08需求分析說明書
09概要設計說明書
10詳細設計說明書
11資料庫設計說明書
12資料庫表詳細設計
13單元測試計劃
14測試腳本
15單元測試報告
16系統測試計劃
17驗收申請書
18驗收評審報告
19客戶驗收報告
21審核反饋表
22軟體評審報告
23變更需求報告
24設計變更報告
26項目管理報告
27項目總結報告
一共這么多,三大報告是
需求分析說明書
概要設計說明書
詳細設計說明書
⑥ 軟體工程的具體內容
我是09年軟體工程剛畢業的
主要專業課程:
高等數學 資料庫 數據結構 操作系統 計算機網路 軟體體系結構 軟體工程 系統分析於設計 匯編語言 C++ JAVA linux
⑦ 軟體工程的3要素都是什麼
軟體工程的三要素是方法、工具和過程。
軟體工程方法為軟體開發提供了 「如何做」 的技術,軟體工具為軟體工程方法提供了自動的或半自動的軟體支撐環境; 過程是為了獲得高質量的軟體所需要完成的一系列任務框架,它規定了完成各項任務的工作步驟。
軟體工程的目標是在給定成本、進度的前提下,開發出具有適用性、有效性、可修改性、可靠性、可理解性、可維護性、可重用性、可移植性、可追蹤性、可互操作性和滿足用戶需求的軟體產品。追求這些目標有助於提高軟體產品的質量和開發效率,減少維護的困難。
擴展資料:
軟體工程的特點:
1、可理解性:系統具有清晰的結構,能直接反映問題的需求。可理解性有助於控制系統軟體復雜性,並支持軟體的維護、移植或重用。
2、可維護性:軟體交付使用後,能夠對它進行修改,以改正潛伏的錯誤,改進性能和其它屬性,使軟體產品適應環境的變化等。軟體維護費用在軟體開發費用中佔有很大的比重。可維護性是軟體工程中一項十分重要的目標。
3、可重用性:把概念或功能相對獨立的一個或一組相關模塊定義為一個軟部件。可組裝在系統的任何位置,降低工作量。
4、可移植性:軟體從一個計算機系統或環境搬到另一個計算機系統或環境的難易程度。
5、可追蹤性:根據軟體需求對軟體設計、程序進行正向追蹤,或根據軟體設計、程序對軟體需求的逆向追蹤的能力。
參考資料來源:網路-軟體工程
⑧ 軟體工程的原理
自從1968年提出「軟體工程」這一術語以來,研究軟體工程的專家學者們陸續提出了100多條關於軟體工程的准則或信條。美國著名的軟體工程專家巴利·玻姆(Barry Boehm)綜合這些專家的意見,並總結了美國天合公司(TRW)多年的開發軟體的經驗,於1983年提出了軟體工程的七條基本原理。
玻姆認為,這七條原理是確保軟體產品質量和開發效率的原理的最小集合。它們是相互獨立的,是缺一不可的最小集合;同時,它們又是相當完備的。人們當然不能用數學方法嚴格證明它們是一個完備的集合,但是可以證明,在此之前已經提出的100多條軟體工程准則都可以有這七條原理的任意組合蘊含或派生。
下面簡要介紹軟體工程的七條原理:
用分階段的生命周期計劃嚴格管理
這一條是吸取前人的教訓而提出來的。統計表明,50%以上的失敗項目是由於計劃不周而造成的。在軟體開發與維護的漫長生命周期中,需要完成許多性質各異的工作。這條原理意味著,應該把軟體生命周期分成若干階段,並相應制定出切實可行的計劃,然後嚴格按照計劃對軟體的開發和維護進行管理。
玻姆認為,在整個軟體生命周期中應指定並嚴格執行6類計劃:
項目概要計劃、
里程碑計劃、
項目控制計劃、
產品控制計劃、
驗證計劃、
運行維護計劃。
堅持進行階段評審
統計結果顯示:大部分錯誤是在編碼之前造成的,大約佔63%錯誤發現的越晚,改正它要付出的代價就越大,要差2到3個數量級。 因此,軟體的質量保證工作不能等到編碼結束之後再進行,應堅持進行嚴格的階段評審,以便盡早發現錯誤。
實行嚴格的產品控制
開發人員最痛恨的事情之一就是改動需求。但是實踐告訴我們,需求的改動往往是不可避免的。這就要求我們要採用科學的產品控制技術來順應這種要求。也就是要採用變動控制,又叫基準配置管理。當需求變動時,其它各個階段的文檔或代碼隨之相應變動,以保證軟體的一致性。
採納現代程序設計技術
從六、七十年代的結構化軟體開發技術,到最近的面向對象技術,從第一、第二代語言,到第四代語言,人們已經充分認識到:方法大於氣力。採用先進的技術既可以提高軟體開發的效率,又可以減少軟體維護的成本。
結果應能清楚地審查
軟體是一種看不見、摸不著的邏輯產品。軟體開發小組的工作進展情況可見性差,難於評價和管理。為更好地進行管理,應根據軟體開發的總目標及完成期限,盡量明確地規定開發小組的責任和產品標准,從而使所得到的標准能清楚地審查。
開發小組的人員應少而精
開發人員的素質和數量是影響軟體質量和開發效率的重要因素,應該少而精。這一條基於兩點原因:高素質開發人員的效率比低素質開發人員的效率要高幾倍到幾十倍,開發工作中犯的錯誤也要少的多;當開發小組為N人時,可能的通信信道為N(N-1)/2, 可見隨著人數N的增大,通訊開銷將急劇增大。
承認不斷改進軟體工程實踐的必要性
遵從上述六條基本原理,就能夠較好地實現軟體的工程化生產。但是,它們只是對現有的經驗的總結和歸納,並不能保證趕上技術不斷前進發展的步伐。因此,玻姆提出應把承認不斷改進軟體工程實踐的必要性作為軟體工程的第七條原理。根據這條原理,不僅要積極採納新的軟體開發技術,還要注意不斷總結經驗,收集進度和消耗等數據,進行出錯類型和問題報告統計。這些數據既可以用來評估新的軟體技術的效果,也可以用來指明必須著重注意的問題和應該優先進行研究的工具和技術。
⑨ 什麼是軟體工程的核心思想
軟體工程的核心思想是:在給定成本、進度的前提下,開發出具有適用性、有效性、可修改性、可靠性、可理解性、可追蹤性、可互操作性和滿足用戶需求的軟體產品。
軟體工程是研究和應用如何以系統性的、規范化的、可定量的過程化方法去開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科。
它涉及到程序設計語言、資料庫、軟體開發工具、系統平台、標准、設計模式等方面。
但是軟體工程一直以來都缺乏一個統一的定義,很多學者、組織機構都分別給出了自己的定義:
BarryBoehm:運用現代科學技術知識來設計並構造計算機程序及為開發、運行和維護這些程序所必需的相關文件資料。
FritzBauer:在NATO會議上給出的定義:建立並使用完善的工程化原則,以較經濟的手段獲得能在實際機器上有效運行的可靠軟體的一系列方法。
(9)軟體工程的三段論擴展閱讀:
軟體工程有以下四項基本原則:
1、選取適宜開發范型。
在系統設計中,軟體需求、硬體需求以及其他因素之間是相互制約、相互影響的,經常需要權衡。因此,必須認識需求定義的易變性,採用適宜的開發范型予以控制,以保證軟體產品滿足用戶的要求。
2、採用合適的設計方法。
在軟體設計中,通常要考慮軟體的模塊化、抽象與信息隱蔽、局部化、一致性以及適應性等特徵。合適的設計方法有助於這些特徵的實現,以達到軟體工程的目標。
3、提供高質量的工程支持。
在軟體工程中,軟體工具與環境對軟體過程的支持頗為重要。軟體工程項目的質量與開銷直接取決於對軟體工程所提供的支撐質量和效用。
4、重視開發過程的管理。
軟體工程的管理,直接影響可用資源的有效利用,生產滿足目標的軟體產品,提高軟體組織的生產能力等問題。因此,僅當軟體過程得以有效管理時,才能實現有效的軟體工程。
⑩ 軟體工程的3要素:工具、過程、方法分別是什麼意思呀
軟體工程包括三個要素:方法、工具和過程。
軟體工程方法為軟體開發提供了「如何做」的技術。它包括了多方面的任務,如項目計劃與估算、軟體系統需求分析、數據結構、系統總體結構的設計、演算法過程的設計、編碼、測試以及維護等。
軟體工具為軟體工程方法提供了自動的或半自動的軟體支撐環境。目前,已經推出了許多軟體工具,這些軟體工具集成起來,建立起稱之為計算機輔助軟體工程(CASE)的軟體開發支撐系統。CASE將各種軟體工具、開發機器和一個存放開發過程信息的工程資料庫組合起來形成一個軟體工程環境。
軟體工程的過程則是將軟體工程的方法和工具綜合起來以達到合理、及時地進行計算機軟體開發的目的。過程定義了方法使用的順序、要求交付的文檔資料、為保證質量和協調變化所需要的管理、及軟體開發各個階段完成的里程碑。
軟體工程是一種層次化的技術。任何工程方法(包括軟體工程)必須以有組織的質量保證為基礎。全面的質量管理和類似的理念刺激了不斷的過程改進,正是這種改進導致了更加成熟的軟體工程方法的不斷出現。支持軟體工程的根基就在於對質量的關注。