理論 軟體工程導論

2021-07-14 08:55:59 字數 1834 閱讀 3698

軟體概念:

軟體 = 程式 + 資料 + 文件

軟體生命週期:

1.定義時期:

問題定義:確立工程目標(立項調查);

可行性研究:工程可行性分析;

需求分析:匯出工程採用策略和軟體功能;

2.開發時期:

系統設計:

總體:確定實現方案;確定體系結構(模組組成和模組間的關係)

詳細:確定每個模組的資料結構和演算法

系統實現:

編碼:把詳細設計翻譯成**

測試:整合測試;驗收測試;

3.維護時期:修復更新(改錯誤,改需求,改環境);

軟體危機:如何開發軟體?如何維護軟體?

成因:軟體本身的複雜性,軟體開發方法不當(設計不當,文件不全);

消除:使用成熟技術方法,使用更好的開發工具(svn),加強組織管理(文件);

模型:瀑布模型:適用於需求明確的專案;按階段劃分(同步開發),以文件為核心,效率低下

快速原型:適用於需求不明確的專案;構造原型->使用者體驗->返回修改直到完成;使用者全程參與,迭代開發不利維護;

*增量模型:適用於需求明確的專案;需求->設計->分模組實現測試提交;

可行性分析:(計算/經濟)

分析可行性不是為了解決問題,而是確定問題是否值得去解決;

&系統流程圖:用來描述系統執行流程;

需求分析:

基本任務:準確地回答"系統必須做什麼";

需求分析的任務不是確定系統怎樣完成它的工作,而僅僅是確定系統必須完成哪些工作;

%軟體需求規格說明書:分析員和使用者共同完成;

&層次方框圖,實體關係圖(e-r圖),資料流圖(dfd),狀態變遷圖;

%資料字典:解釋圖中的名詞;

實體聯絡圖:(拆分表)

第一正規化:字段不可分割;

第二正規化:不存在部分依賴(部分主碼就能確定一條紀錄)

第三正規化:沒有傳遞依賴

資料流圖中只有資料流,沒有控制流;

頂層資料流圖沒有儲存,系統被封在外部實體中,頂層資料流圖就是待開發系統的io;

錯圖:資料流的起點/終點必須是數加工(圓角矩形)

1. 實體(方角矩形) -> 實體

2. 實體 <-> 儲存(開口矩形)

3. 儲存 <-> 儲存

4. 子功能(圓)的io不可單一:只有輸入/出

設計:設計原則:模組化,抽象化,高內聚(模組內部聯絡)低耦合(模組間聯絡);

耦合的標準:

無直接耦合:client呼叫a和b

資料耦合:基本型別做通訊

標記耦合:結構體通訊

控制耦合:流程控制通訊;

外部耦合:全域性變數;

公共環境耦合:檔案;

內容耦合:模組多入口,內部資料公開,非正常進入其他模組,**重疊;

低耦合打碼:

-------------------

模組功能劃分單一化;

使用設計模式;

少繼承多實現;

少全域性多私有;

避免sql硬編碼;

概要設計:劃分模組,定義介面,設計體系流程;

詳細設計:設計ui,設計資料庫,設計資料結構/演算法;

測試:測試不能證明錯誤不存在,只能證明錯誤存在;

測試的目標是盡可能的發現潛在的錯誤;

成功的測試是發現至今尚未發現的錯誤;

alpha測試:

使用者在開發者指導下進行測試,開發者記錄系統問題;

beta測試:

使用者在使用者場所進行測試,使用者記錄測試問題;

測試用例設計技術:

白盒測試:邏輯覆蓋+控制結構測試;

黑盒測試:等價劃分+邊界測試;

軟體工程,有用的也就uml和設計模式了,改天整理好再上傳

軟體工程導論

現在由於房價的高漲,越來越多的人選擇了租房子,尤其是剛畢業的大學生。由此,如果有乙個專門的 或者軟體能夠提供租房的資訊,那麼它所產生的影響無疑是比較大的。房屋租賃管理系統的功能性需求包括 在房屋租賃管理系統中,設定乙個管理員,管理員有修改 新增 刪除系統中任何資料的許可權 普通使用者可以直接進入系統...

軟體工程導論

讀書筆記1 1 軟體工程 軟體工程將系統化的,規範化的,可度量的方法應用於軟體開發,執行和維護,將工程化應用於軟體方法。軟體工程的基本原理 分階段的生存週期計畫嚴格管理 分若干階段切實可行的計畫完成 階段評審 及早發現錯誤,減少成本 嚴格的產品控制 不得隨意更改需求 結果能清楚審查 採用現代程式設計...

軟體工程導論

軟體工程導論筆記 將書中重要的點總結出來,為自己以後公升學 研究做個知識梳理 基本上全是理論,可能會有些枯燥 有複習的同學,看這就夠了,不會看 持續更新 1.2 軟體工程 二.軟體工程方法學 1.1.1.1 什麼是軟體危機 軟體危機 指在計算機軟體開發和維護的過程中所遇到的一系列嚴重的問題 那麼有哪...