物件導向學期專題內容規定 --------------------------------------------------- 每星期作業包括以下部分 每個部分必須包含至少 一個完整的例子 --------------------------------------------------- 2/27 學期專題分組名單: 專題小組 8人 組長 1人 --------------------------------------------------- 3/6 專題題目 1. 系統要大系統 (大系統比較容易找一個作業範例) 2. 創新 3. 要有吸引力(顧客想要使用) 4. 目前的技術可以實做出來 合適專題系統的特性: 1) 系統容易分析出 很多不同種的 資料 2) 系統的資料容易 進一步的分類 例如 學校的 教學務系統: 1) 系統可分析出的 資料: 教員 職員 學生 課程 院系所 等... 2) 學生 可分類為: 大學生 碩士生 博士生 在職生 等... 作業使用一個自選的 UML工具 (可以谷歌找 線上UML工具) --------------------------------------------------- 3/13 Requirements Analysis Document Template 1. Introduction 目的 動機 2. Current system 找三個類似系統 並且列表比較四個系統 1) 功能 2) 優缺點 3. Proposed system 3.1 Overview --------------------------------------------------- 3/20 3.2 Functional requirements (十個功能以上) 3.3 Nonfunctional requirements L10_P.52 列出每個問題 並且寫出答案 3.3.1 User interface and human factors 3.3.2 Documentation 3.3.3 Hardware considerations 3.3.4 Performance characteristics 3.3.5 Error handling and extreme conditions --------------------------------------------------- 3/27 L10_P.52 列出每個問題 並且寫出答案 3.3.6 System interfacing 3.3.7 Quality issues 3.3.8 System modifications 3.3.9 Physical environment 3.3.10 Security issues 3.3.11 Resources and management issues --------------------------------------------------- 4/17 3.5.1 Scenarios 劇本(情境) L10_P.25 選擇一個系統的功能 詳細描述 使用者使用一個系統功能的劇本(情境,流程,方式) 使用者用真實人名 劇本要包括 1)情境中 全部相關的資料 (產生,修改,刪除,讀寫資料) 2)使用者 全部的操作動作(操作鍵盤,滑鼠,觸控銀幕,攝影...) 3)系統 全部介面及變化 (包括介面變化:描述使用文字或圖形或錄影) --------------------------------------------------- 4/24 選定一個UML工具 (可以谷歌找 線上UML工具) 3.5.2 Use case models (使用案例) L11_p8 L11_p19 使用者用職稱 使用案例包括: Use case name 複合字 動詞+名詞 ReportEmergency Participating actors 職稱 (參與演員(人員,其他的系統)) the entry condition 開始情況 the flow of events 事件流程(使用者的操作 系統的回應) *active voice(主動式的句子) the exit condition 結束情況(結果) exceptions 例外 (不正常的情況) nonfunctional requirements 相關的非功能性需求 --------------------------------------------------- 4/24 3.5.3 Class identification from use case models L12_p19 L12_p20 1) 文字分析得到的類別圖 使用一個使用案例 使用文字分析找出對應的 類別圖(用UML Tool製作) 名詞(資料) => class 類別 動詞(計算) => function (***屬於受詞的 function) 形容詞(data) => 類別內的資料(變數,物件) ----------------------------- 3.5.3.1 Data dictionary 3.5.3.2 Class diagrams 2) 類別圖關聯性範例 L3_p24 L3_p25 L3_p26 L3_p33 修飾上面3.5.3的類別圖,類別圖必須有範例: a) 繼承關聯性 b)擁有關聯性 c)類別Qualification(找出資料的key) a)繼承: 分類 (父類別 分成不同類型的 子類別) L3_p33 b)擁有: 分解 一類別內擁有 另外一個類別的物件(資料) L3_p24 L3_p33 c)類別Qualification (找出資料的 key): 給一個Qualification的範例 L3_p25 L3_p26 --------------------------------------------------- 5/1 3.5.5 Dynamic models L3_p38 L3_p39 L13_p19 Sequence diagrams MVC 物件建議分成三種: Model, View, Controller (MVC) Model <-> 資料(資料庫) Entity Object View <-> 使用者視窗介面 Boundary Object Controller <-> 系統的計算 Control Object Sequence diagrams 必須包括三種 MVC 物件, 依照順序為: Actor View(介面) Control(計算) Model(資料庫) --------------------------------------------------- 5/1 Activity Diagrams L3P43 depict the workflow in a system 必須包括 Concurrency 設計 L3P44 L3P45 --------------------------------------------------- 5/8 StateChart Diagram L13P32 relates events and states for one class/system ------------------------------ 5/8 Navigation Path L13P36 樹狀結構 => 代表系統功能選項 --------------------------------------------------- 物件導向軟體工程 期末考 繳交期限: 2023/5/15 最後遲交期限5/21 遲交成績打八折 --------------------------------------------------- 5/22 期末小組專題報告規定: 1)小組準備10分鐘口頭報告 2)口頭報告資料必須事先準備存在隨身碟 ,以免拖延報告時間 3)口頭報告全部相關資料 5/21以前上傳到 tronclass 沒上傳專題報告資料的小組就沒有專題報告分數 4)每位同學都需要上台報告 不能上台報告的同學依照正常手續請假 未請假不能上台報告的同學,該名同學小組專題成績打七折