軟體概念:
軟體 = 程式 + 資料 + 文件
軟體生命週期:
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 什麼是軟體危機 軟體危機 指在計算機軟體開發和維護的過程中所遇到的一系列嚴重的問題 那麼有哪...