软件设计-uml-1

上传人:mg****85 文档编号:44622211 上传时间:2018-06-14 格式:PDF 页数:150 大小:2.56MB
返回 下载 相关 举报
软件设计-uml-1_第1页
第1页 / 共150页
软件设计-uml-1_第2页
第2页 / 共150页
软件设计-uml-1_第3页
第3页 / 共150页
软件设计-uml-1_第4页
第4页 / 共150页
软件设计-uml-1_第5页
第5页 / 共150页
点击查看更多>>
资源描述

《软件设计-uml-1》由会员分享,可在线阅读,更多相关《软件设计-uml-1(150页珍藏版)》请在金锄头文库上搜索。

1、软件设计从程序设计到体系结构1Internal Use Only讲师简介姜晓东负责软件架构设计,基础框架设计研究方向:J2EE,.NET,SOA,WEB DEV联系方式: MSN/MAIL:J2EEHOTMAIL.COM2Internal Use OnlyUnified Modeling Language统一建模语言(UML)3Internal Use Only课程安排总览用例时序图状态图活动图练习4Internal Use Only本节线索上升到面向对象UML的意义UML流程UML工具推荐参考资料5Internal Use Only软件越来越复杂软件开发的历史就是软件规 模逐渐变大的历史。最

2、初, 少数几个人就可以编写小的 程序,但软件规模很快就变 得让他们无法应付。 -Managing the Software Process, 1989 Watts S. Humphrey 6Internal Use Only关于瓦茨S汉弗莱在软件工程领域享有盛誉,被美国国防软件工程杂志CrossTalk评为近几百年来影响软件发展的十位大师之一。瓦茨S汉弗莱在IBM工作了27年,负责管理IBM全球产品研发。离任后,受美国国防部委托,加入卡内基梅隆大学软件工程研究所(SEI),领导SEI过程研究计划,并提出了能力成熟模型(CMM)思想。在CMM浪潮席卷软件工业界之时,他又力推个人软件过程(Pers

3、onal Software Process,PSP)和团队软件过程(Team SoftwareProcess,TSP),成为软件开发人员和开发团队的自修宝典。7Internal Use Only软件现实业务映射到计算机8Internal Use Only软件分析设计方法演变 没有方法9Internal Use Only软件分析设计方法演变 功能分解法10Internal Use Only软件分析设计方法演变 数据流法11Internal Use Only软件分析设计方法演变 信息建模法12Internal Use Only软件分析设计方法演变 面向对象方法13Internal Use Only

4、上升到面向对象是必然需求变化时功能:最易变数据:较易变对象:较稳定稳稳 定定 性性 增增 加加Peter Coad, Edward Yourdon http:/ Use Only用较稳定把不稳定包起来15Internal Use OnlyOO的好处应变 弹性应对需求变化沟通 开发人员、用户、管理人员复用 通过泛化,关联等手段市场 公司应付市场的变化士气 员工的士气质量好,是软件的赚了钱,是老板的成长,是“人件”的16Internal Use Only金字塔上层出问题的原因可能在下层上层出问题的原因可能在下层17Internal Use OnlyUML的统一(1)Wirfs-BrockRespo

5、nsibility(责任)(责任)BoochOperation(操作)Coad/YourdonService(服务)StroustrupFunction(函数)Method(方法)90年代初,有一定影响的OOAD方法有50多种18Internal Use OnlyUML的统一(2)一个“剑”字居然有二十种写法19Internal Use OnlyUML的统一(3)没有统一的公式 符号,很难想像 数学的发展。20Internal Use OnlyUML的统一(4)没有五线谱,作曲家 如何能精确表达自己 的灵感?21Internal Use OnlyUML的统一(5)科学的一个普遍问题是, 必须对

6、被观测的对象和情 况,建立一种有意义的分 类方法,以便人们理解这 些观测结果,也有助于科 学理论的持续发展。Grady Booch22Internal Use OnlyUML的统一(6)Ivar JacobsonGrady BoochJames RumbaughJames OdellDavid HarelPeter CoadShlaer Mellor23Internal Use OnlyUML?你应该使用UML吗?一个字:是!旧 的面向对象符号正在快速地消逝。它 们还会残留在UML稳固前出版的书上 面,但新的书、文章等等将会全部以 UML作为符号。如果你正在使用旧的 符号,你就应该在1998年

7、间转换到 UML。如果你正要开始使用建模符号, 你就该直接学习UML。Martin Fowler, 199724Internal Use OnlyUML有哪些元素:9种图用例图静态图(Static diagram) -类图、对象图、包图(包含在类图中)行为图(Behavior diagram) -状态图、活动图交互图(Interactive diagram) - 顺序图、协作图实现图( Implementation diagram ) -组件图、部署图静态建模机制 动态建模机制25Internal Use Only应用UML的开发过程?直接编码?RUP?XP?FDD?TDD?26Interna

8、l Use Only开发过程27Internal Use Only可以根据本团队情况分步改进用例文档老方法用例文档 类图老方法用例文档 类图 顺序图28Internal Use OnlyUML工具29Internal Use Only用UML画图很容易,但知道要画什么是困难的摆脱符号烦恼全心面对问题30Internal Use Only用例统一建模语言(UML)31Internal Use Only本节目标得到有价值的需求文档 不但形式正确,更要内容正确告别鸡肋软件告别鸡肋软件32Internal Use Only本节线索需求问题和用例总览练习:执行者练习:用例用例关系辨析业务用例、排序、分包

9、33Internal Use Only需求石头问题我要一块石头 差不多,但我要小一点的 很好,不过我要蓝色的 啊,没有那么小 咳,还是原来那个好了难捕获、易变难捕获、易变 34Internal Use Only需求问题的代价0.1-0.2 需求0.5 设计1 编码2 单元测试5 验收测试200 维护修复错误的成本修复错误的成本200:135Internal Use Only需求问题对策难捕获从用户视角看问题易变合理的结构用例36Internal Use Only用例:既简单又复杂如此多的人跌倒在这个简单的概念上如此多的人跌倒在这个简单的概念上37Internal Use Only用例:用户视角

10、的需求组织形式系统系统要求用户输入合法的密码系统系统提供“存款”或“取款”两 种选项系统系统能够接受用户录入取款金额系统系统能够从帐户中扣除取款金额系统系统允许选择“打印收据”或者 “不打印收据”系统系统能够显示交易结束信息用户用户插入ATM卡系统系统要求输入合法的密码用户用户输入密码系统系统提示用户选择“存款”或者“取款”用户用户选择“取款”系统系统提示用户输入取款金额用户用户输入(合理)取款金额并确认系统系统从帐户中扣除取款金额系统系统提示用户“打印收据”或者“不打印收据”用户用户要求不打印收据系统系统显示“交易结束”立足开发者视角立足开发者视角立足用户视角立足用户视角38Internal

11、 Use Only用例:需求按目标组织用户用户插入ATM卡系统系统要求输入合法的密码用户用户输入密码系统系统提示用户选择“存款”或者“取款”用户用户选择“取款”系统系统提示用户输入取款金额用户用户输入(合理)取款金额并确认系统系统从帐户中扣除取款金额系统系统提示用户“打印收据”或者“不打印收据”用户用户要求不打印收据系统系统显示“交易结束”基本路径基本路径39Internal Use Only用例:有层次的需求组织形式用例(取款)路径(基本路径)步骤(用户输入密码)补充约束(密码由6位数字组成)低精度,稳定低精度,稳定高精度,不稳定高精度,不稳定40Internal Use Only三类需求4

12、1Internal Use Only以用例为核心组织需求用例可用性可靠性网络协 议业务规 则硬件接 口界面约 束性能42Internal Use Only使用用例组织的需求文档示例43Internal Use Only项目叙述为什么要开发这个系统?谁对系统需求有最后决定权?这个系统会影响哪些人?开发这个系统会有哪些困难?开发这个系统能花多少钱?44Internal Use Only用例团队的组成开发人员业务专家最终用户45Internal Use Only步骤识别执行者(*)识别用例 (*)书写用例文档(*)识别用例的关系用例的排序和分包46Internal Use Only识别执行者关键词:

13、边界47Internal Use Only识别执行者执行者(Actor) 在系统之外系统之外,透过系统边界系统边界与系统进行有意义交有意义交 互互的任何事物任何事物48Internal Use Only识别执行者系统外执行者不是系统的成分系统边界责任边界,非物理边界系统边界直接与系统交互有意义交互属于目标系统的责任任何事物人、外系统、外部因素、时间执行者要点49Internal Use Only识别执行者在系统外:不在里面类:顾客 50Internal Use Only识别执行者系统外:已经存在,无可选择51Internal Use Only识别执行者 责任的边界,不是物理的边界52Inter

14、nal Use Only识别执行者旅行者旅行社机票预定系统直接与系统交互53Internal Use Only识别执行者有意义的交互不属于系统责任不属于系统责任不属于系统责任54Internal Use Only识别执行者任何事物系统遗留系统其他系统通信通信用户用户时间时间55Internal Use Only识别执行者谁使用系统的主要功能?谁改变系统的数据?谁从系统获取信息?谁需要系统的支持以完成日常工作任务?谁负责维护、管理并保持系统正常运行?系统需要应付(处理)哪些硬设备?系统需要和哪些外部系统交互?谁(或什么)对系统运行产生的结果感兴趣?有没有自动发生的事件?识别执行者的思路56Int

15、ernal Use Only识别执行者谁使用系统的主要功能?谁使用系统的主要功能? 潜在会员,会员谁改变系统的数据?谁改变系统的数据? 会员,货管员,经理谁谁从从系统获系统获得得信信息息? 潜在会员,会员,经理,货管员谁谁需需要系统的要系统的支持以完支持以完成成日常工作日常工作任任务务? 经理,货管员谁谁负负责责维护维护、管理并保持管理并保持系统系统正常运行正常运行? 系统管理员系统系统需需要要应付应付(处理处理)哪些硬设备哪些硬设备? 没有特殊硬设备系统系统需需要要和哪些和哪些外外部部系统交互?系统交互? 可能与供应商的系统交互谁(谁(或什么或什么)对对系统系统运行产生运行产生的的结果感兴趣结果感兴趣?会员,经理有有没没有有自动自动发发生生的事件?的事件? 检查帐户零件销售系统57Internal Use Only识别执行者候选执行者(工具演示)58Internal Use Only识别执行者潜在会员?会员?多少个actor合适?59Internal Use Only识别执行者都对,不丢用例就行(宁多勿少)都对,不丢用例就行(宁多勿少) 60Internal Use Only识别执行者关键在边界,不在数量关键在边界,不在数量 61Internal Use Onl

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号