徐迎晓 xuyingxiao@126.com 复旦大学软件学院 用例模型--用操作合约添加细节 徐迎晓 xuyingxiao@126.com 复旦大学软件学院.

Slides:



Advertisements
Similar presentations
高考短文改错专题 张柱平. 高考短文改错专题 一. 对短文改错的要求 高考短文改错的目的在于测试考生判断发现, 纠正语篇中 语言使用错误的能力, 以及考察考生在语篇中综合运用英 语知识的能力. 二. 高考短文改错的命题特点 高考短文改错题的形式有说明文. 短文故事. 书信等, 具有很 强的实用性.
Advertisements

讀經教育  第一組:吳碧霞、陳鍾仁  第二組:吳雪華、謝濰萁  第三組:邱國峰、林佳玫. 不論上智下愚 成功的教育 讓每個孩子 都能成為最優秀的人才.
护理部教学管理 南医大二附院 张淑芬. 护理部主要工作:  培训  质量  教学科研 临床教学的秘诀 What – 需要的、喜欢的 Who – 教师的角色 – 学生的程度、学习方式 How – 教学方法.
做中學健康醫學網融入健體領域之 教學活動設計 — 生活技能篇 研討會 夥伴學校:嘉義市垂楊國小 輔導委員:國立台北教育大學副教授林佑真 PPT 設計製作者 黃雅文、倪琪琇、林佑真.
仪 容. 一、化妆的技巧 眼部的化妆 唇部化妆 眉部化妆 鼻部化妆 根据脸型化妆 根据脸型选发型.
何仕仁 主任. 國立彰化高中數理資優班 柯承翰、柯宗賢、曾品祥 國立彰化高中數理實驗班 柯宗逸、辛百弘 國立彰化女中數理資優班 姚彤錦 國立彰化女中語文資優班 陳思穎 國立彰化女中數理實驗班 姚曉蓉.
新闻写作基础知识 一. 新闻导语 二.新闻主体 三.新闻结构 四.角度选择.
第九章 财政转移支付制度与政策 第一节 财政转移支付制度的意义 第二节 财政转移支付的分类及效应分析 第三节 我国转移支付的现状及问题分析
對於學習不力學生的學習輔導經驗分享 張其清 新北市立新北高工 主任輔導教師.
Unit 1-Unit 6重点.
国家自然科学基金项目申请 经验交流与心得体会
兒歌創作與實務 產學合作音樂教師  林麗青 99/11.
高考主题讲座 高考语文 董 腾.
要SHOW才會贏 教你在生活中學企劃 救國團總團部活動處 文耀忠.
Π π π 大學生你 了沒 別讓落伍找上你 嘉藥學程 幫你打造第二專長 讓你揚眉吐氣~ 嘉南藥理科技大學 教務處 課務組 製.
6 Copyright © Oracle Corporation, All rights reserved. 维护控制文件.
十二年國民基本教育 高雄區入學方式說明 報告人:中山工商 楊薇主任.
第一章 系統開發概論 1-1 系統開發概論 1-2 常見的資訊系統 1-3 系統開發生命週期 1-4 系統開發方法論簡介.
第7讲 软件需求管理 软件项目管理课程 之 毛新军
思维,决定一切 -公司战略、企业文化与人力资源的思辨
《民法学》第七讲 债权法(下):合同法 中央党校政法教研部 李雅云教授.
指導教授:古錦松 分享同學: 蔡斗溍、陳姿云 陳俊仰、陳國睿(助教)
环保文明 编辑:周泽昊 刊号:ZZ55-54 翠园出版社 第3期.
第二章 UML簡介 課前指引 本章介紹什麼是UML以及利用圖形來塑模資訊系統的好處在哪裡。文中也介紹了何謂「4+1的觀點」、以及簡述各項UML圖形的使用目的。並且,我們從靜態以及動態這兩個觀點來分類、介紹各圖形的使用時機。
从2008年度时尚先生看我们的时代精神方向.
學習行為觀察與評估 講 師:陳怡華.
你 今 天 累 吗 ? 坪山高级中学心理教师 张婧乔.
罗湖区第二届智慧杯中学政治学科小课题研究
普通高等教育“十一五”国家级规划教材 信息系统分析与设计 刘腾红 孙细明 主编 科 学 出 版 社.
离职流程精细化标准推进材料 人事行政处.
第9章 面向对象方法学引论 9.1 面向对象方法学概述 9.2 面向对象的概念 9.3 面向对象建模 9.4 对象模型 9.5 动态模型
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
你的潜能是无限的 ——高三心理辅导.
在PHP和MYSQL中实现完美的中文显示
第二章 分析试样的采取和预处理 上饶师范学院化学化工学院.
新聞報導 一、什麼是新聞? 1、狗咬人不是新聞,人咬狗才是新聞 2、大眾關切的事 3、讀者有興趣知道的事 4、接近性.
徐迎晓 复旦大学软件学院 领域模型——概念的可视化 徐迎晓 复旦大学软件学院.
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
R in Enterprise Environment 企业环境中的R
資訊系統文件化工具 東吳大學會計學系 謝 永 明.
GRASP:设计带职责的对象 徐迎晓 复旦大学软件学院.
UML介绍.
第六章 : 資料模型之繪製 1. 前言 資料流程圖 ( DFD ) 及 處理邏輯工具
第4章 非线性规划 一维搜索方法 2011年11月.
2018 北京大学汇丰商学院 日期:
What have we learned?.
A、資訊系統開發概論與課程簡介 何謂資訊系統? 為何需要系統分析師? 需要瞭解哪些知識? 領域知識? 資訊科技? 開發方法與技術? 課程簡介.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
企業資源規劃簡介.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
录制回放工具使用说明 鲁晓宇
管理信息系统 第九章 面向对象的系统开发方法.
解决变化问题的自底向上 流程建模方法 严志民 徐玮.
107學年度高雄區 實用技能學程輔導分發 五福國中說明會
确定属性(Identifying attribute)
102-2金融法規(2~4) ~03..
软件需求工程.
科学出版社“十一五”规划教材.
南投縣106年度 結合家長會防制學生藥物濫用宣導
Chapter 18 使用GRASP的对象设计示例.
Visual Basic程序设计 第13章 访问数据库
MODELING GENERALIZATION & REFINING THE DOMAIN MODEL
临界区问题的硬件指令解决方案 (Synchronization Hardware)
构件图和部署图.
OOA/OOD UML RUP Architecture Pattern MDA
徐迎晓 复旦大学软件学院 用例模型--SSD 徐迎晓 复旦大学软件学院.
Chapter 11 操作契约.
UML建模语言及工具.
Presentation transcript:

徐迎晓 xuyingxiao@126.com 复旦大学软件学院 用例模型--用操作合约添加细节 徐迎晓 xuyingxiao@126.com 复旦大学软件学院

用例模型--用操作合约添加细节 什么是系统操作 什么是系统操作合约 为何要创建系统操作合约 如何创建系统操作合约 好处 总结

什么是系统操作 UML中,整个系统可以表示成一个类 系统行为描述系统做什么,而不解释其如何做--黑箱 系统操作处理系统事件 系统操作是处理输入的系统事件的公共接口—下图

把系统看作单个构件或类,所有用例得到的整个系统操作集合定义了系统的公共接口。

用例模型--用操作合约添加细节 什么是系统操作 什么是系统操作合约 为何要创建系统操作合约 如何创建系统操作合约 好处 总结

什么是操作合约 合约是描述系统行为的有用文档 系统操作合约描述执行系统操作时整个系统的状态改变 合约是描述系统操作答应完成的事情 声明风格,面向状态改变,而非动作 重点在于WHAT will happen,而不是how UML通过定义前置条件和后置条件定义系统合约 针对单个操作,或更广泛的系统操作

用例Process Sale的操作合约

用例模型--用操作合约添加细节 什么是系统操作 什么是系统操作合约 为何要创建系统操作合约 如何创建系统操作合约 好处 总结

为什么要创建系统合约 用例是UP中描述系统行为的主要机制,但有时需要更详细的描述 系统顺序图显示了外部参与者生成的系统事件 但缺乏理解系统行为所需要的细节,即系统如何响应 操作合约有助于定义系统行为

用例模型--用操作合约添加细节 什么是系统操作 什么是系统操作合约 为何要创建系统操作合约 如何创建系统操作合约 好处 总结

如何创建系统操作合约 来源: 从系统顺序图和用例识别系统操作 为系统操作创建合约(复杂的或在UC中不明确的系统操作) 前面得到的领域模型 系统顺序图 系统操作 从系统顺序图和用例识别系统操作 为系统操作创建合约(复杂的或在UC中不明确的系统操作) 从编写职责部分开始,非正式地描述操作的目的 最后完成后置条件部分:领域模型中对象状态发生了哪些改变?(实例的创建/销毁,属性的变化,关联的建立和变化)

描述状态而非功能 用过去式,以强调对过去状态改变的声明 SaleLineItem被创建 创建SaleLineItem ? 2009.10.10

Contract CO1: makeNewSale Operation:makeNewSale() Cross References:Use Cases: Process Sale Preconditions:none Postconditions: - A Sale instance s was created (instance creation). - s was associated with a Register (association formed). - Attributes of s were initialized.

enterItem UC 3. Cashier enters item identifier. 后面:选择控制器,显示Item Description和Price, 创建SalesLineItem,查找ProductSpecification, 从数据库获取ProductSpecification,多对象 UC 3. Cashier enters item identifier. 4. System records sale line item and presents item description, price, and running total.

endSale Contract CO3: endSale Operation: endSale() Cross References: Use Cases: Process Sale Preconditions:There is a sale underway. Postconditions: - Sale.isComplete became true (attribute modification).

makePayment 后面:选择控制器,创建Payment,记录已完成的Sale,计算余额 2004.12.5 8. System logs completed sale and sends sale and payment information to the external Accounting system and Inventory system

用例模型--用操作合约添加细节 什么是系统操作 什么是系统操作合约 为何要创建系统操作合约 如何创建系统操作合约 好处 总结

系统合约好处 在考虑操作合约时可增强领域模型(如发现需要新的概念类、属性、关联) 合约是需求分析的杰出工具 关注应该发生什么(系统操作要求系统状态发生什么样的变化),而不是描述如何完成 软件的设计和解决方案可以延期进行 用例中也可描述,但常不希望这样,因为会使用例太冗长和太详细

用例模型--用操作合约添加细节 什么是系统操作 什么是系统操作合约 为何要创建系统操作合约 如何创建系统操作合约 好处 总结

总结 操作合约用领域对象的状态改变来描述系统操作执行的结果 系统作为黑箱,合约定义系统操作----处理输入的系统事件的公共接口 系统操作可通过系统事件识别

从系统到细化的类都有操作 操作合约也有各种级别 系统级操作合约是用例模型的一部分(UP原始文档没有正式突出)

各个阶段 初始阶段:太细节化了,不用 细化阶段: 只对最复杂的或微妙的系统操作 若使用合约,主要在这个阶段、大多数用例完成时编写 此次迭代至操作合约,只需要几小时、几天,但前期还有大量其他工作,可能总共要几周 概念验证编程 proof-of-concept programming, finding resources (people, software, …), planning, setting up the environment, and so on When one is comfortable with the skills of use case writing, domain modeling, and so forth, the duration to do all the actual modeling that has been explored so far is realistically just a few hours or days.