第二次作業

2022-06-17 16:12:10 字數 1809 閱讀 3638

統一建模語言是一種直觀化、明確化、構建和文件化軟體系統產物的通用視覺化建模語言。捕捉被建構系統的有關決策和理解,用來理解、設計、瀏覽、配置、維護以及控制系統的資訊。建模的目的模型可以幫助我們按照實際情況對系統進行視覺化;模型允許我們詳細說明系統;模型給出了我們乙個指導我們構造系統的模板;模型對我們做出的決策進行模板化;

它的第乙個且最重要的目標:uml是所有建模人員可以使用的通用建模語言。它基於許多計算機團體的共識,是一種非私有的語言。uml不是完整的開發方法,它不包括逐步的開發流程,但它包括了所有的必要概念。它的最後乙個目標是在能對眾多系統建模的同時 盡可能的簡潔。

3.uml概念範圍

(1)靜態結構

(2)動態行為

(3)實現構造

(4)模型組織

(5)擴充套件機制

(1)uml基本構造快

事物:行為事物

結構事物

分組事物

注釋事物

關係:依賴關係

關聯關係

泛化關係

實現關係

圖:類圖

物件圖用例圖

順序圖協作圖

狀態圖活**

元件圖部署圖

(2)uml規則

命名、範圍、可見性、完整性、執行

(3)uml公共機制

規格說明、修飾、通用劃分、擴充套件機制,其中擴充套件機制是對uml元素的擴充套件, 包括約束、構造型別和標記值。

設計模式描述了軟體過程中的某一類常建問題的一般性解決方案。物件導向的三大特徵。封裝:隱藏內部實現、繼承:復用現有**、多型:改寫物件行為。

應該便於程式的公升級和維護,盡可能降低各個類之間的耦合度,使各個類相對獨立,應從**復用的角度去設計系統,避免重複造輪子。

2.1單一職能原則(srp):

每乙個類實現的功能和作用要單一,比如實體類實現的是單純的屬性和get,set方法,是為了能生成乙個純淨的類。實現邏輯操作的要重新生成乙個類,不要在實體類中給出複雜業務邏輯的操作。呼叫到業務邏輯的服務操作也要重新生成乙個類,邊界盡量清晰。

2.2.黎克特制替換原則:

講的是透明繼承的設計理念,如果不是使用覆蓋(override)刻意改寫父類方法實現的話,子類物件必需能夠無縫透明的替代父類物件。

子類可以繼承父類的私有方法以外的所有方法和非私有的屬性,重寫可以覆蓋掉父類中同名同引數的方法。

子類必須完全實現父類的方法。

子類可以有自己獨立的屬性和方法。

覆蓋或實現父類的方法時輸入引數可能會被放大。(如果子類給的引數範圍大於父類,不會被執行到,要求子類給引數型別必須等於父類)。

覆蓋或者實現父類的方法時輸出可以被縮小範圍。(父類的返回引數型別必須大 於子類)

具體方法是:子類使用前置條件(形參)相同的override方法覆蓋父類方法,或使用前置條件(繼承鏈上)同級或更寬鬆(父類級別)的overload方法。

2.3.依賴倒置的原則

使用介面,就是面向介面程式設計。需要注意的是使用建構函式傳遞物件、使用setter方法傳遞和使用方法簽名的形參傳遞,書上寫的這三種分別稱為建構函式注入、setter依賴注入和介面注入。

2.4.介面隔離

介面實現的作用越簡單越好,最好是只針對某一項相同物件的。

2.5.迪公尺特法則:

類之間的呼叫,最好不要知道被呼叫者中其他資訊,只要知道對應的介面即可。具體如何實現不需要知道,或者越少越好。

2.6.開閉原則:

使用extends(繼承)的方法實現原有的類的方法以及擴充套件其中的應用,應用去系統公升級,替換實現類即可,不需要太多變動。書上提到抽象約束:實現類不允許出現介面或抽象類中不存在的public方法;抽象層應保持穩定,一旦確定即不允許修改。

第二次作業

execise02 1.查詢85年以後出生的學生姓名 性別和出生日期 2.列表顯示所有可能的學生選課組合 學號 課程號 3.查詢1 2 4班中陳姓同學的資訊 4.查詢所有及格的學生姓名 所選課程名及所得分數 5.統計各門課程的及格人數 課程編號 課程名 及格人數 6.統計各門課程的總人數 及格人數和...

第二次作業

第一題 p1 1 遞迴寫法,效率低 include 1.寫乙個函式返回引數值為1的個數 比如 15 0000 1111 4個1 程式原型 int count one bits unsigned int value int fuc int x else return 0 void mainp1 p1 ...

第二次作業

檔名稱 516.cpp 作 者 闕文榮 完成日期 2016 年 3 月 11 日 版 本 號 v1.1 對任務及求解方法的描述部分 用while語句控制輸出 輸入描述 略 問題描述 現在北京有一套房子,200萬,假設房價每年 10 乙個軟體工程師每年固定能賺40萬。他想買這套房子,多大的 率能夠忍受...