a 2019-7-1 13:34
潘老师,想问下时间作为执行者会有前置条件吗?时间是自然流逝,到点执行,我个人觉得是没有前置条件的。举个例子,微信支付的退款,1直连商户系统-受理退款。2时间-处理退款,我们目前写了前置条件,这样对吗
黑衣道人:
前置条件是执行前进行判断的条件,时间到先对前置条件进行判断,不满足就不执行或抛出异常,所以,时间作为执行者,也是有前置条件的。
a:
1,书中写法,步骤一,当到达时间周期时,这句话。如果有前置条件还会到步骤一吗。2,微信支付系统的内部规范,时间的步骤一,时间驱动系统做某事,这个时候是先有前置条件还是步骤一?
潘加宇:
前置条件如果不满足,系统不响应执行者的请求。
注意,是不响应,而不是"验证输入不合法给出异常结果"。
事实上想到这里就够了,再往下想就不是需求了。
你可能想:不响应执行者的请求怎么实现?爱怎么实现怎么实现呗。
可以像下面那样:
先看执行者是人的情况,第一步"会员选择项目",下一步"系统反馈项目详情",不响应第一步的实现可以是"会员界面"中的ListItem甚至整个ListBox的Enabled为false。
同理,执行者是时间的情况,这时边界类就是"时间接口(定时器)",和上面对应的做法是Timer的Enabled为false,而不是在Tick事件里面验证后拒绝。
为了更方便理解,再补充一下:
用例里面这些概念是借鉴了1986年Bertrand Meyer提出的Design by Contract。以下截屏自Bertrand Meyer的书:
一个栈当前到底是不是满的,和有没有、什么时候有调用者调用put操作没有关系,但是很多书和文章把前置条件误解为对输入参数做检查,例如,对put(x)操作里面的x作检查。
目前的主流编程语言并没有原生支持Design by Contract
主题: | 软件需求设计UML全程实例剖析 | 开课时间: | 2019年7月13-14日(周六、周日)(9:00-12:00,13:30-17:30) | 上课地点: | 深圳 | 费用: | 每人2400元,含午餐。交通、住宿费请自理。可以开增值税专用发票和增值税普通发票。 | 微信报名: |
18758097122
| QQ报名: | 1493943028 | Email报名: | umlchinacourse@163.com
| 咨询电话: | 18758097122 | 报名交费: | 步骤一、报名 教室座位有限,需要先报名。请通过以上任何联系方式告知我们您的姓名和单位,以便我们预留座位。 步骤二、交费 按以下方法办理交费,将交费凭证(截屏或照片)、发票单位名称(如果要开)通过以上任何方式告知我们。我们收到费用后会给您发听课证,听课证是一个pdf文件,上有详细听课地点和您的座位号。听课证上有详细地址和座位细节。 不方便现场交费,因为需按交费顺序安排座位,而且现场只有老师,无人收款。 如果您交费后因故未能参加,您的名额和上课时间将会一直保留。 交费方法: (1)支付宝支付到talk@umlchina.com,手机扫描二维码即可付款
(2)微信支付到18758097122
3)如果是公司财务汇,可以汇到负责UMLChina商务事宜的以下公司账号:
户名:杭州先思软件技术有限公司 帐号:3310 6594 0018 0100 29896 开户行:交通银行杭州滨江支行 | 课前准备: | 请下载以下资料: (1)最新版本的本次课程训练幻灯 http://www.umlchina.com/training/slide.htm (2)建模软件EA30天试用版 http://www.sparxsystems.com/products/ea/trial/request.html (3)UMLChina模型模板 http://www.umlchina.com/training/myproject.rar (4)(可选)《软件方法(上)》第2版,自行到书店购买,亚马逊Kindle版:https://www.amazon.cn/dp/B07DFR2313;勘误:http://www.umlchina.com/book/errata2ed.htm。 (5)《软件方法(下)》目前公开内容,请在http://www.umlchina.com/book/softmeth0809.pdf下载 (6)课上可以专门以学员的项目作为主要讨论项目。如果您希望在课上讨论您的项目,麻烦下载http://www.umlchina.com/training/project.doc 填好后发给我们,以便老师针对您的项目相关领域事先做准备。
|
|
|
[训练介绍]
软件开发中,需求是解决“产品怎样好卖”的问题,设计是解决“降低生产成本”的问题。二者相辅相成,缺一不可。而且,不能相互取代。要迈向“低成本制造好卖的产品”的境界,并非喊喊口号就能达到,需要静下心来,学习和实践各种技能。 在这个强调“做减法”的时代,建模是正确帮助您“做减法”的绝佳工具。 本训练就是教授如何使用UML2.5相关的需求和设计技能来全程实例剖析一个系统的过程。 本训练对每个开发工作流,结合讲解、做练习巩固、应用到实际项目三种方式,展示使用UML2.5相关技能开发软件系统的全过程,解答实际应用中的疑难细节问题。 [学员要求] 有一年以上项目经验的需求或设计(编码)人员。不需要您有“UML基础”,只需要您有项目经验。欢迎学员携带自己的项目来听课,由专家在现场进行剖析。 [专家] UMLChina首席专家 潘加宇。在1999年还是一名程序员时,利用业余时间创建了UMLChina,潜心研究软件需求和设计技能。2002年开始对外提供UML需求和设计的技术指导和训练服务,到现在为止,已经上门为超过290家的软件组织提供服务,覆盖了国内各个领域的领袖企业,包括通信、企业管理、电子商务、房地产、网络游戏、地理信息、物流、数码设备、医疗设备、工业控制.....等领域。 [课程大纲] 1. 概论 --需求和设计的关键区别 --核心工作流 --UML的统一 --使用UML开发过程、工具、资料介绍 2. 愿景 --愿景的要点 --如何揣摩愿景 --项目实作:愿景 3. 业务建模 --组织的外观和内观 --选取合适的建模业务单元 --业务执行者和业务用例 --业务序列图 --改进业务序列图 --项目实作:绘制业务用例图、业务序列图 4. 需求 --系统执行者要点剖析 --系统用例要点剖析 --从业务序列图映射到系统用例图 --项目实作:绘制系统用例图 --书写用例规约 --项目实作:书写用例规约 --通过关系整理用例 --需求启发技术 5. 结构分析之类图 --抽象和封装 --识别类及其属性 --识别类之间的泛化 --识别类之间的关联 --项目实作:绘制类图 --彩色建模技术 --典型分析模式 6. 行为分析之序列图 --序列图精要 --用例、类图、序列图的互动 --专家原则和单一责任原则 --老板原则和聚合根 --可视原则 --项目实作:绘制序列图 7. 行为分析之状态图 --状态图、类图、序列图的映射 --状态 --事件、动作和转换 --层次状态、历史状态 --转换执行序列 --分层和细化 --状态图和代码的映射 --项目实作:绘制状态机图 8. 架构和设计 --存储层的映射 --数据源层的映射 --业务层的映射 --界面层的映射 --领域驱动设计 9. 改进指南 --根据团队情况改进 --小步前进 --正确的改进心态
以上时间分配会根据项目特点和训练进程调整。 |