(软件工程复习核心重点)第一章软件工程概论-第二节:软件工程
生活随笔
收集整理的這篇文章主要介紹了
(软件工程复习核心重点)第一章软件工程概论-第二节:软件工程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一:軟件工程
- (1)軟件工程的定義
- (2)軟件工程的本質特征
- (3)軟件工程基本原理
- 二:軟件工程方法學
- (1)概念
- (2)分類
一:軟件工程
(1)軟件工程的定義
軟件工程:采用工程的概念、原理、技術和方法來開發與維護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,經濟的開發出高質量的軟件并維護它
(2)軟件工程的本質特征
① 關注大型程序的構造
- 把一個人在較短時間內寫出的程序稱為小型程序,而把多人合作用時半年以上才寫出的程序稱為大型程序。傳統的程序設計技術和工具是支持小型程序設計的,不能簡單地把這些技術和工具用于開發大型程序。
② 中心課題是控制復雜性
- 軟件所解決的問題通常十分復雜,不得不把問題分解,使得分解出的每個部分是可理解的,而且各部分之間保持簡單的通信關系。用這種方法并不能降低問題的整體復雜性,但是卻可使它變成可以管理的。
③軟件經常變化
- 絕大多數軟件都模擬了現實世界的某一部分。 現實世界在不斷變化,軟件為了不被很快淘汰,必須隨著所模擬的現實世界一起變化。因此,在軟件系統交付使用后仍然需要耗費成本,而且在開發過程中必須考慮軟件將來可能發生的變化
④開發效率非常重要
- 社會對新應用系統的需求超過了人力資源所能提供的限度,軟件供不應求的現象日益嚴重。軟件工程的一個重要課題就是,尋求開發與維護軟件的更好更有效的方法和工具
⑤開發人員和諧合作是關鍵
- 軟件處理的問題十分龐大,必須多人協同工作才能解決這類問題。為了有效地合作,必須明確地規定每個人的責任和相互通信的方法,每個人還必須嚴格地按規定行事,紀律是成功地完成軟件開發項目的一個關鍵
⑥軟件需要有效支持用戶
- 開發軟件的目的是支持用戶的工作。軟件提供的功能應該能有效地協助用戶完成他們的工作。有效地支持用戶意味著必須仔細地研究用戶,以確定適當的功能需求、可用性要求及其他質量要求。還意味著軟件開發不僅應該提交軟件產品,而且應該寫出用戶手冊和培訓材料
⑦軟件開發者替代其他領域人員創造產品
- 軟件工程師是軟件設計、軟件體系結構、測試或統一建 模語言等方面的專家,但他們不僅缺乏應用領域和文化領域的實際知識,還缺乏該領域的文化知識,這是軟件開發項目出現問題的常見原因
(3)軟件工程基本原理
①按軟件生存期分階段制定計劃并認真實施
- 在軟件開發與維護的漫長的生命周期中,需要完成許多性質各異的工作。應該把軟件生命周期劃分成若干個階段,并相應地制定出切實可行的計劃,然后嚴格按照計劃對軟件的開發與維護工作進行管理。不同層次的管理人員都必須嚴格按照計劃各盡其職地管理軟件開發與維護工作,絕不能受客戶或上級人員的影響而擅自背離預定計劃
②堅持進行階段評審
- 由于大部分錯誤都是在編碼之前造成的,并且錯誤發現與改正的越晚,所需付出的代價也越高,所以軟件的質量保證工作不能等到編碼階段結束之后再進行。因此,在每個階段都進行嚴格的評審,以便盡早發現在軟件開發過程中所犯的錯誤,是一條必須遵循的重要原則
③堅持嚴格的產品控制
- 當改變需求時,為了保持軟件各個配置成分的一致性, 必須實行嚴格的產品控制,其中主要是實行基準配置管理。所謂基準配置又稱為基線配置,它們是經過階段評審后的軟件配置成分
④使用現代程序設計技術
- 采用先進的技術不僅可以提高軟件開發和維護的效率,而且可以提高軟件產品的質量
⑤結果能夠得到清楚的審查
- 軟件產品不同于一般的物理產品,它是看不見摸不著的邏輯產品。軟件開發人員的工作進展情況可見性差,難以準確度量。為了提高軟件開發過程的可見性,更好地進行管理,應該根據軟件開發項目的總目標及完成期限,規定開發組織的責任和產品標準,從而使得所得到的結果能夠清楚地審查
⑥用人少兒精
- 軟件開發小組的組成人員的素質應該好,而人數則不宜過多。素質高的人員的開發效率比素質低的人員的開發效率可能高幾倍至幾十倍,而且素質高的人員所開發的軟件中的錯誤明顯少于素質低的人員所開發的軟件中的錯誤
⑦承認不斷改進軟件工程實踐的必要性
- 為了保證軟件開發與維護的過程能趕上時代前進的步伐,能跟上技術的不斷進步,不僅要積極主動地采納新的軟件技術,而且要注意不斷總結經驗。例如,收集進度和資源耗費數據,收集出錯類型和問題報告數據等
二:軟件工程方法學
(1)概念
軟件工程方法學:把在軟件生命周期全過程中使用的一整套技術方法的集合稱之為方法學,也稱為泛型。軟件工程方法學包含三個要素:方法、工具、過程
- 方法:完成軟件開發各項任務的技術方法,回答“怎么做”的問題
- 工具:為運用方法提供的自動或半自動軟件工程支撐環境
- 過程:是為了獲得高質量軟件所需要完成的一系列任務框架,回答“何時做”的問題
(2)分類
傳統方法學(生命周期方法學)
- 采用結構化技術完成軟件開發各項任務
- 把軟件生命周期的全過程依次劃分為若干階段
- 每個階段開始和結束都有嚴格標準
- 每個階段結束后要有嚴格審查
面向對象方法學
- 把對象作為融合了數據及在數據上的操作行為的統一的軟件構件
- 把所有對象劃分為類
- 按照父類與子類的關系,把若干類組成層次結構的系統
- 對象彼此間僅能通過發送消息互相聯系
總結
以上是生活随笔為你收集整理的(软件工程复习核心重点)第一章软件工程概论-第二节:软件工程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MVC传值汇总
- 下一篇: Mybatis学习之单表增删改查