日本---軟件工程專業(yè)詳解
★ 軟件工程(ソフトウェア工學)是研究和應用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)和維護軟件,以及如何把經(jīng)過時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的技術(shù)方法結(jié)合起來的學科。它涉及......
★ ?軟件工程(ソフトウェア工學)是研究和應用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)和維護軟件,以及如何把經(jīng)過時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的技術(shù)方法結(jié)合起來的學科。它涉及到程序設計語言、數(shù)據(jù)庫、軟件開發(fā)工具、系統(tǒng)平臺、標準、設計模式等方面。
在現(xiàn)代社會中,軟件應用于多個方面。典型的軟件比如有電子郵件、嵌入式系統(tǒng)、人機界面、辦公套件、操作系統(tǒng)、編譯器、數(shù)據(jù)庫、游戲等。同時,各個行業(yè)幾乎都有計算機軟件的應用,比如工業(yè)、農(nóng)業(yè)、銀行、航空、政府部門等。這些應用促進了經(jīng)濟和社會的發(fā)展,提高人們的工作效率,同時提升了生活質(zhì)量。
★軟件工程的核心知識( SWEBOK)
ACM 與 IEEE Computer Society 聯(lián)合修定的 SWEBOK[12](Software Engineering Boy of Knowlege)提到,軟件工程領(lǐng)域中的核心知識包括:
軟件需求( Software requirements)
軟件設計( Software esign)
軟件建構(gòu)( Software construction)
軟件測試( Software test)
軟件維護與更新( Software maintenance)
軟件構(gòu)型管理( Software Configuration Management,SCM)
軟件工程管理( Software Engineering Management)
軟件開發(fā)過程( Software Development process)
軟件工程工具與方法( Computer-Aie Software Engineering,CASE)
軟件品質(zhì)( Software Quality)
★軟件開發(fā)過程
軟件開發(fā)過程是隨著開發(fā)技術(shù)的演化而隨之改進的。從早期的瀑布式 (Waterfall)的開發(fā)模型到后來出現(xiàn)的螺旋式的迭代(Spiral)開發(fā),以致最近開始興起的敏捷開發(fā)方法(Agile),他們展示出了在不同的時代軟件產(chǎn)業(yè)對于開發(fā)過程的不同的認識,以及對于不同類型項目的理解方法。
注意區(qū)分軟件開發(fā)過程和軟件過程改進之間的重要區(qū)別。諸如像 ISO 15504,ISO 9000,CMM,CMMI這樣的名詞闡述的是一些軟件過程改進框架,他們提供了一系列的標準和策略來指導軟件組織如何提升軟件開發(fā)過程的質(zhì)量、軟件組織的能力,而不是給出具體的開發(fā)過程的定義。
★軟件工程的方法
軟件工程的方法有很多方面的意義。包括項目管理,分析,設計,程序的編寫,測試和質(zhì)量控制。
軟件設計方法可以區(qū)別為重量級的方法和輕量級的方法。
重量級的方法中產(chǎn)生大量的正式文檔。著名的重量級開發(fā)方法包括 ISO 9000,CMM,和統(tǒng)一軟件開發(fā)過程(RUp)。
輕量級的開發(fā)過程沒有對大量正式文檔的要求。著名的輕量級開發(fā)方法包括極限編程( Xp)和敏捷過程(Agile processes)。
根據(jù)《新方法學》這篇文章的說法,重量級方法呈現(xiàn)的是一種 “防御型”的姿態(tài)。在應用“重量級方法”的軟件組織中,由于軟件項目經(jīng)理不參與或者很少參與程序設計,無法從細節(jié)上把握項目進度,因而會對項目產(chǎn)生“恐懼感”,不得不要求程序員不斷撰寫很多“軟件開發(fā)文檔”。而輕量級方法則呈現(xiàn)“進攻型”的姿態(tài),這一點從Xp方法特別強調(diào)的四個準則—“溝通、簡單、反饋和勇氣”上有所體現(xiàn)。目前有一些人認為,“重量級方法”適合于大型的軟件團隊(數(shù)十人以上)使用,而“輕量級方法”適合小型的軟件團隊(幾人、十幾人)使用。當然,關(guān)于重量級方法和輕量級方法的優(yōu)劣存在很多爭論,而各種方法也在不斷進化中。
一些方法論者認為人們在開發(fā)中應當嚴格遵循并且實施這些方法。但是一些人并不具有實施這些方法的條件。實際上,采用何種方法開發(fā)軟件取決于很多因素,同時受到環(huán)境的制約。
★軟件工程的發(fā)展方向
“敏捷開發(fā)”(Agile Development)被認為是軟件工程的一個重要的發(fā)展。它強調(diào)軟件開發(fā)應當是能夠?qū)ξ磥砜赡艹霈F(xiàn)的變化和不確定性作出全面反應的。
敏捷開發(fā)被認為是一種 “輕量級”的方法。在輕量級方法中最負盛名的應該是“極限編程”(Extreme programming,簡稱為Xp)。而與輕量級方法相對應的是“重量級方法”的存在。重量級方法強調(diào)以開發(fā)過程為中心,而不是以人為中心。重量級方法的例子比如CMM/pSp/TSp。
面向方面的程序設計( Aspect Oriente programming,簡稱AOp)被認為是近年來軟件工程的另外一個重要發(fā)展。這里的方面指的是完成一個功能的對象和函數(shù)的集合。在這一方面相關(guān)的內(nèi)容有泛型編程(Generic programming)和模板。
本文地址:http://v5tt.cn/liuxue/89539.html
轉(zhuǎn)載說明:文章《日本---軟件工程專業(yè)詳解》由【留求藝】原創(chuàng)發(fā)布(部分轉(zhuǎn)載內(nèi)容均有注明出處,如有侵權(quán)請告知),轉(zhuǎn)載請注明文章來源。
★ 軟件工程(ソフトウェア工學)是研究和應用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)和維護軟件,以及如何把經(jīng)過時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的技術(shù)方法結(jié)合起來的學科。它涉及......
在2023年,日本大學發(fā)布的最新統(tǒng)計數(shù)據(jù)顯示,《科學與工程》專業(yè)在日本大學中就業(yè)率最高,甚至有些學校的就業(yè)率能達到100%,而整體來看,前30的學校就業(yè)率都能保持在96%以上! 如果你打算報考機械工學系,你有多個優(yōu)質(zhì)的選......
工程管理專業(yè)詳解...
美國工業(yè)工程專業(yè)詳解...
新西蘭工程專業(yè)詳解...
詳解英國通信工程專業(yè)...
機械工程專業(yè)學校詳解...
澳新機械工程專業(yè)詳解...
澳洲工程專業(yè)申請指南詳解...
詳解澳大利亞移民專業(yè)工程專業(yè)...