Chapter 18 使用GRASP的对象设计示例.

Slides:



Advertisements
Similar presentations
软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
Advertisements

Java 程序分类 Java Application :是完整程序,需要独立的解 释器解释运行;以 “.java” 为后缀的文件,以 main() 方法作为程序入口,由 java 编译器编译生 成字节码,由 Java 解释器加载执行字节码。 Java Applet 没有 main() 方法作为程序入口,是嵌在.
第一章 餐饮服务程序 学习目的: 掌握餐饮服务四个基本环节的内容 正确表述和运用各种餐饮形式的服务程序 熟悉并利用所学知识灵活机动地为不同需求的 客人提供服务.
會計學 Chapter 1 基本概念 1-2 基本概念 第一節 單式簿記 第二節 會計學的定義與功用 第三節 會計學術與會計人員 第四節 企業組織 第五節 會計學基本第五節 會計學基本慣例 第六節 會計方程式 第七節 財務報表.
Chapter 5 教育發展與職業選擇. 1. 認識高職學生的生涯進路。 2. 了解個人特質與職業屬性之 間的關係。 3. 認識打工安全與勞動權益。
第三讲 面向对象(上).
项目7 面向对象高级.
项目6 通用堆栈.
第16章 代理模式 Website:
小 王 子 組別:第五組 班級:財金二甲 組員:A 林安潔 A 陳思羽 A 許雅涵
11-1 保險業之定義 11-2 保險業之設立 11-3 保險業之組織 11-4 保險業之營業範圍
GRASP:基于职责设计对象.
9-1 火災保險 9-2 海上保險 9-3 陸空保險 9-4 責任保險 9-5 保證保險 9-6 其他財產保險
Java程序设计教程 第一讲 Java概述.
槍砲病菌與鋼鐵 第三組.
四資二甲 第三週作業 物件導向程式設計.
石家庄迅步网络科技有限公司 联系人:张会耀 电话:
導覽解說與環境教育 CHAPTER 3 解說員.
財務報表的內容 四種報表格式 財務報表的補充說明 會計師簽證的重要性 合併報表 財務報表分析 Chapter 2 財務報表的內容.
老師 製作 法律與生活.
第十七章休閒農業之經營策略與成功之道 17 Chapter.
Chapter 2 勞工安全衛生法.
102學年度預算編製說明會 主辦單位:會計室 102/02/22.
设计模式可以帮助我们改善系统的设计,增强 系统的健壮性、可扩展性,为以后铺平道路。
需求分析模型:包括用例模型、领域模型、系统顺序图、操作契约、设想、词汇表、补充性规格说明等
風險分析與財務結構 瞭解風險的定義與種類 衡量企業風險與財務風險 影響企業風險的因素 影響財務風險的因素 以現金流量衡量企業長期的財務狀況
國際行銷管理 林 建 煌 著.
Ch07 介面與多重繼承 物件導向程式設計(II).
第一節 知覺 第二節 認知 第三節 學習 第四節 創造力
第三章 控制结构.
第9课 北美大陆上的新体制 导入新课 新课教学 课堂小结 知识结构 巩固练习
CHAPTER 2 綜合所得稅之架構.
程式設計實作.
程序與函數的類別方法 目的:模組化程式設計 方法:由上而下設計 注意事項:(1)獨立性 (2)結合問題 (3)子問題間的溝通.
C#程序设计 c# programming 多线程 C#程序设计课程组.
面向对象建模技术 软件工程系 林 琳.
程式設計實作.
C#程序设计基础 $3 成员、变量和常量.
第9章 多线程 王德俊 上海交通大学继续教育学院.
辅导课程六.
C#面向对象程序设计 $7 继承和多态性.
GRASP:设计带职责的对象 徐迎晓 复旦大学软件学院.
C/C++/Java 哪些值不是头等程序对象
* 單元:電腦與問題解決 主題:Java物件導向程式設計-類別與物件 台南縣國立善化高中 蕭嘉民 老師
辅导课程八.
管理信息系统 第九章 面向对象的系统开发方法.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第二章 Java基本语法 讲师:复凡.
老師 製作 休閒農場.
心理學—日常生活中的應用 人際溝通.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
主编:钟元生 赵圣鲁.
回顾.
第二章 Java基本语法 讲师:复凡.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
龍老師我不會Debug QQ.
#include <iostream.h>
財務預測 財務預測的用途 法令相關規定 預測的基本認知 預測的方法 製作預測性報表 財務報表分析 Chapter 16 財務預測.
辅导课程十二.
徐迎晓 复旦大学软件学院 用例模型--用操作合约添加细节 徐迎晓 复旦大学软件学院.
所得稅法第14條、第126條修正條文 薪資所得計算方式二擇一 定額減除 特定費用減除 維持現行薪資所得特別扣除額20萬元減除方式
JAVA 程式設計與資料結構 第三章 物件的設計.
自慢 社長的成長學習筆記 何飛鵬.
Chapter 11 操作契约.
判斷(選擇性敘述) if if else else if 條件運算子.
團體工作的倫理議題 CHAPTER 12. 團體工作的倫理議題 CHAPTER 12 團體工作的倫理議題 1.如果我有資格執行個別治療,那麼我也可以執行團體治療。 2.仔細而審慎地篩選團體成員,較符合專業倫理要求。 3.在團體治療開始前,讓成員能先有準備以便從團體中獲得最大利益,是非常重要的。
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
Chapter1 大師的視界,見證歷史的腳步
輸出執行結果到螢幕上 如果要將執行結果的文字和數值都「輸出」到電腦螢幕時,程式要怎麼寫? class 類別名稱 {
第二章 Java基本语法 讲师:复凡.
Presentation transcript:

Chapter 18 使用GRASP的对象设计示例

大纲 用例实现 应用GRASP为类分配职责 应用UML阐述和思考对象的设计

什么是用例实现 用例如何在设计模型中实现

系统事件

用例实现

领域模型

如何实现makeNewSale 契约(后置条件) 选择控制器 创建了Sale的实例s s被关联到Register s的属性被初始化 类型1还是类型2?

如何实现makeNewSale

如何实现enterItem

如何实现enterItem 契约(后置条件) 控制器类的选择 创建了SalesLineItem的实例sli sli被关联到当前的Sale sli.quantity赋值为quantity 基于itemID的匹配,sli被关联到ProductDescription 控制器类的选择

如何实现enterItem

用代码表示对象的协作? Register::enterItem(id, qty){ ProductDescription desc = ProductCatelog.getInstance().get(id); currentSale.makeLineItem(desc,qty); }

修改后的设计类图

如何实现endSale 契约(后置条件) Sale.isComplete被设为真 控制器的选择

计算销售总额

如何实现makePayment 契约(后置条件) 创建了Payment的实例p p.amountTendered被赋值为amount p被关联到当前的Sale 当前的Sale被关联到Store

如何实现makePayment

记录Sale

记录Sale

计算余额

最终的DCD

比较 SaleTable RegisterTable

比较 Service_3 Service_n

如何将UI层连接到业务层 获取业务对象的方法 从应用的入口方法(如main方法)创建业务层的 “根”对象,并传递给UI。 从工厂对象取得业务对象。

启动应用(代码) public class Main { public static void main(String[] args) Store store = new Store(); Register register = store.getRegister(); ProcessSaleJFrame frame = new ProcessSampleJFrame(register); ....... }

启动应用(交互图)

UI层获取合计额的设计