1、軟體工程的基本概念
軟體的概念:軟體= 程式+ 文件
軟體是能夠完成預定義功能的可執行的電腦程式和使程式正常執行所需要的資料,加讓描述程式的操作和文件。
程式:適合計算機處理的語句序列
它的目的是啥呢?是為了解決某個特殊的問題
文件:開發活動的記錄
用於通訊和交流,開發過程的管理和執行階段的維護
軟體的型別:
系統軟體、實時軟體、嵌入式軟體
科學與工程計算機軟體、事務處理軟體
人工智慧軟體、case《計算機輔助軟體工程computer aided
software engineering>
工具軟體、及其他軟體
軟體工程的概念
用工程、科學、和數學的原則與方法
研製、維護
計算機軟體的有關技術和方法<
我的理解是啥呢?拿管理工程的那套方法或者原則來管理軟體》
為啥會誕生軟體工程?
軟體開發遇到了危機,要拿出解決的辦法--於是軟體工程誕生
軟體工程做了啥工作呢?《也就是軟體工程的目標》
(1)可修改性:系統修改,不增加系統的複雜性
(2)有效性:時間和空間的有效性《其實沒明白》
(3)可靠性:保障系統的可靠性,比如因概念、設計、和結構方面的不完善做成的系統失效,具有挽回操作能力
(4)可理解性:系統有清晰的結構,直接反應問題的需求《文件的作用》
(5)
可維護性:能夠進行修改,目的是使產品適應環境變化的難易程度
(6)可重用性:可以被多次利用
(7)可適應性:約束條件不同都能適應
(8)可移植性:軟體環境的搬遷移植方便《資料移植,2版本-3版本》
(9)可追蹤性:逆向追蹤的能力
(10)
可互操作性:通訊、協調工作
軟體工程的要素
方法:完成軟體工程專案的《技術》手段
如專案的計畫、估算、系統和軟體需求分析、軟體設計、編碼。。。。
工具:人類開發軟體的活動中智力體力的延伸《開發、管理工具》
過程:組織管理方法《和方法的關係:方法描述靜態的實現軟體工程的手段,過程:組織這些方法的動態過程》
軟體的生命週期
典型的軟體生命週期包括 1、
計畫時期:問題定義、可行性研究 2、
開發時期:需求分析、軟體設計(概要、詳細)軟體編碼、軟體測試 3、
執行時期:軟體維護4、
軟體工程涉及到得人員
客服《付錢的人》、使用者《使用產品的人》、開發人員《開發產品的人》
穿插內容:程式設計師的成長鏈 •
程式設計師
•系統分析師 •
系統設計師 •
專案經理 •
產品經理 •
架構設計師
2、軟體開發模式
概念:軟體專案開發和維護的總體過程思想的架構《好難理解啊~!覺得好像是一種風格,比如說建造樓閣,西方風格和東方風格》
作用:指出了軟體開發過程中各階段之間的關係和順序
給開發過程提供原則和方法
給工程管理提供里程碑和進度表
《感覺有點像是在建造樓房,模型對應的是建造樓房的工程管理方式》
主要的幾個模型:
瀑布式:重點是啥呢?前一階段的完成時後一階段的開始
快速原型:快速的實現開發產品主要部分,供使用者使用、提出意見
階段開發:完成一部分交付一部分
螺旋模型:和瀑布、快速原型的區別在於加入風險分析
統一:。。。
轉換:。。。
模型驅動:。。。
構建整合:。。。
基於復用的軟體開發:系統復用
3
、軟體開發過程
概念
人們用以開發和維護軟體及其相關產品(例如,專案計畫、設計文件、**、測試用例、使用者手冊等等)的一組活動、方法和實踐。
過程和模型的聯絡:例項和類的關係
4
、oo的程式設計思想
以物件為核心,強調對現實概念的模擬而不強調演算法。「物件導向方法學的基本原則,是按照人們習慣的思維方式建立問題域的模型,開發出盡可能直觀、自然地表現求解方法的軟體系統」
準則:
模組化:物件就是模組
抽象:規格說明抽象《類抽象》
引數化抽象《方法抽象》
資訊隱藏:物件封裝
低耦合:互動耦合
繼承耦合
強內聚:服務內聚
類內聚
一般-特殊內聚
可重用性:用已有類、設計時可重用
5
、軟體測試
目的與任務:測試:發現錯誤
糾錯:定位和糾正錯誤
測試的特性
。。。。。
。。。。。
測試的分類
靜態:靜態分析器分析、**評審、人工方式
動態:黑盒、白盒
俺們組現在存在的問題:1、**2、分析3、規範
測試的文件:測試計畫+測試報告
測試用例
測試結果
6
、軟體重用和重構
待續······
1、將的內容很好,但是現在實際使用較少,建議講設計模式
2、死板,ppt內容的翻版,加入自己的話語、理解
3、俺的座標,俺學習榜樣
軟體工程學習筆記一
軟體工程學習筆記一 我很小的時候就有夢想,想要當乙個極為優秀的程式設計師,因為覺得程式設計師非常的酷 非常帥,能操縱虛擬的世界,執行如此完美的邏輯,並造福他人,是一種高尚有趣的職業。現在這種嚮往,並沒有因為外界的許多因素而改變。最近開始學習軟體工程,其實較早的時候就自學過,有許多知識都忘了,現在再正...
《軟體工程》學習筆記2
1.軟體工程的概念 1.背景 為了克服軟體危機,1968年10月在北大西洋公約組織 nato 召開的電腦科學會議上,fritz bauer首次提出 軟體工程 的概念,試圖將工程化方法應用於軟體開發。2.定義 軟體工程是指導計算機軟體開發和維護 的工程學科。採用工程的概念 原理 技術和方法來開發與維護...
軟體工程學習筆記一
軟體工程學習筆記一 我很小的時候就有夢想,想要當乙個極為優秀的程式設計師,因為覺得程式設計師非常的酷 非常帥,能操縱虛擬的世界,執行如此完美的邏輯,並造福他人,是一種高尚有趣的職業。現在這種嚮往,並沒有因為外界的許多因素而改變。最近開始學習軟體工程,其實較早的時候就自學過,有許多知識都忘了,現在再正...