軟件工程定義:
概括的說,軟件工程是指導計算機軟件開發和維護的一門工程學科。采用工程化的方法來開發和維護軟件,把經過實踐考驗而證明正確的工程管理技術和當前能夠得到的最好的技術方法結合起來,以經濟地開發出高質量的軟件並有效的維護它。這就是軟件工程。
軟件工程的內容:
針對軟件生命周期全過程及其每個具體階段的工程方法、技術細則、文檔規范、管理制度、人員組織以及質量保證體系等。每個軟件開發者必須按工程的統一要求行事,不能隨意地自由發揮。每個開發階段都要產生健全的、符合工程規范的文檔。軟件產品是這些文檔的總合,而不僅僅是程序。
軟件工程三要素:
方法:(面向對象方法)完成軟件開發的各項任務的技術方法,為軟件開發提供“如何
做”的技術
工具:(EA)為運用方法而提供的自動的或半自動的軟件工程的支撐環境
過程:(基於原型的增量迭代軟件開發工程)為了獲得高質量的軟件所需要完成的一系列
任務的框架,它規定了完成各項任務的工作步驟,如何將軟件工程方法與軟件工具
相結合,合理、及時地進行軟件開發
統一建模語言UML:
IBM公司的統一建模語言UML稱為了業界認同的統一建模語言
統一建模語言是專門用來進行軟件系統設計和構架建模的一門可視化建模語言,它通過各種圖示展示了軟件系統的方方面面
UML:
·流程圖:
·用例圖:
·時序圖:
·類圖:
1、符號:-表示private,+表示public 屬性名 : 屬性類型(如果是抽象類或者抽象方法,字體用斜體表示)
2、工具
(1)EA:自動產生代碼
(2)Power Designer:er圖,自動產生數據庫
(3)Rational Rose
面向對象設計原則:
1、首要的標准:
·滿足軟件的功能需要
·滿足軟件功能需求的設計並不一定就是好的設計
2、好的設計s
·可讀性---其他人是否能輕易理解
·可復用性---軟件系統的架構、類、組件等是否容易被復用
·可擴展性---軟件面對需求變化時,功能或性能擴展的難易程度
·可維護性---軟件維護(主要是指軟件錯誤的修改、遺漏功能的添加等)的難易程度
3、--內聚度:
--耦合度:表示類之間關系的緊密程度
設計原則:
高內聚,低耦合是所有優秀軟件的共同特征
·單一職責原則
·開閉原則
·里氏替換原則
·依賴倒轉原則
·接口隔離原則
·組合/聚合復用原則
·迪米特法則