上班初期还不太适应,平时学习进度也跟不上,节奏慢下来会有时间更新的了。

Diagram  这边以学生课程报名系统为例    这就是一种简单的用例图

用例图可以给读者提供的信息非常丰富,但是缺点是都是概况性的内容,因而还得细化。

为了表示细节,我们要对用例图中的每一个对象都进行细化。用用例说明来进行补充用例

另外用例还有很多关系

1.子父关系     (大学模式大四VS其他)

2.代理关系(银行与用户)

用虚线从代理请求者指向代理

3.泛化关系(银行管理系统中的跨行转账与银行内部转账流程两个用例一种转账)

两个都是转账的子用例

4.包含关系(成绩查询系统   成绩查询用例的成功完成得包括登录这个用例的成功完成)

5.拓展关系(补考用例需要在考试不及格用例的前提上进行的拓展)

用例的学习,可以让我们在设计程序框架时提供思路,绝不仅仅只有上面几种关系,在具体问题分析时我们要结合具体问题去分析。

算法很重要,语言很重要,原理很重要,方法当然也很重要,用例图就是一种方法论,灵活运用这种方法论会让我们的程序生涯受益匪浅的。

补充一个OOA电梯系统的类图(下图)和用例图状态图的结合,用bool型表示开关即可。     这些都是构思的行业规范和通用技巧

后面是这个电梯的模拟运行情况

下面是顺序图

每一个步骤都得清晰明了,逻辑思路都有有条不紊。

这几个样例的核心都是计时器。

下面是电梯的协作图

下一步工作是制作一个详细类图   职责驱动设计

核心技术点还是计时器。

详细设计如下

敲代码永远是最后一步的。每一个工作流和设计都要进行测试。

设计本身是否合理的测试和设计是否符合相关规格的测试。

采用三明治模型

对逻辑模块进行自顶向下的实现与集成

对操作模块进行自顶向上的实现与集成

然后再对两种模块的接口进行集成与测试。

优势在于:错误隔离和可重用性。

螺旋模型

螺旋模型是软件生命周期模型的一个常用模型,即在每一次开发之前,设计工作开始之前都进行风险分析,再进行下一步分析,在风险分析到风险过大无法克服时,立即终止项目,以此类推。

当然还有很多软件生命周期模型,具体要结合实际情况才能发挥模型的最大作用,必要时也要有创新模型模式,不拘一格永远是软件开发不变的主题:变是唯一的不变。

从对象的分析,用例图,到细化,到补充,再到情景模拟分析,再到情景的处理协作,继而详细类图,最后动工代码。

行云流水,一气呵成的面向对象设计思维模式,真的能让繁琐而紊乱的程序设计周期得以优化。

用例图浅谈以及OOA再到情景分析的面向对象电梯的设计(慕课东北大学)面向对象设计思维模式的更多相关文章

  1. 浅谈ZooKeeper基本原理与源码分析

    最近一直有小伙伴私信我,问一些关于Zookeeper的知识,下边关于的Zookeeper的知识整理了一下,一起学习一下. 看完本文对于Zookeeper想深入全面了解的读者朋友们,小编这里整理了一份更 ...

  2. Android事件分发机制浅谈(三)--源码分析(View篇)

    写事件分发源码分析的时候很纠结,网上的许多博文都是先分析的View,后分析ViewGroup.因为我一开始理解的时候是按我的流程图往下走的,感觉方向很对,单是具体分析的时候总是磕磕绊绊的,老要跳到Vi ...

  3. Android事件分发机制浅谈(二)--源码分析(ViewGroup篇)

    上节我们大致了解了事件分发机制的内容,大概流程,这一节来分析下事件分发的源代码. 我们先来分析ViewGroup中dispatchTouchEvent()中的源码 public boolean dis ...

  4. 浅谈Spring框架注解的用法分析

    原文出处: locality 1.@Component是Spring定义的一个通用注解,可以注解任何bean. 2.@Scope定义bean的作用域,其默认作用域是”singleton”,除此之外还有 ...

  5. 浅谈Nginx负载均衡和F5的区别

    前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道"墙",将请求分发到web服务器后,web服务器上的Nginx再进行处 ...

  6. 【转】浅谈Nginx负载均衡与F5的区别

    前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道“墙”,将请求分发到web服务器后,web服务器上的Nginx再进行处理,静态内容直接访问 ...

  7. 【转】Android Canvas的save(),saveLayer()和restore()浅谈

    Android Canvas的save(),saveLayer()和restore()浅谈 时间:2014-12-04 19:35:22      阅读:1445      评论:0      收藏: ...

  8. 浅谈UML——九种图(一)

    前言 学UML将近两个星期了,对UML有了一定的了解,学过的没学过的都知道UML中最最最核心的部分要数那九个图了.浅谈UML九种图. 实例 1.用例图: 什么是用例?描绘一个系统外在可见的需求情况,是 ...

  9. 浅谈 LayoutInflater

    浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...

随机推荐

  1. vue——前端跨域

    ***针对的是不同域名.不同协议的跨域: 1.找到config文件中开发环境的配置文件——dev.env.js,在里面将要跨域的域名配置进去 2.找到config文件中线上环境的配置文件——prod. ...

  2. Flink Connector 深度解析

    作者介绍:董亭亭,快手大数据架构实时计算引擎团队负责人.目前负责 Flink 引擎在快手内的研发.应用以及周边子系统建设.2013 年毕业于大连理工大学,曾就职于奇虎 360.58 集团.主要研究领域 ...

  3. Shiro:未登录时请求跳转问题

    问题:前后端分离项目,在用Shiro做权限控制时,未登录状态发送的请求都会重定向,导致前端无法捕捉重定向后的消息.如何不重定向在原来的请求返回信息提示未登录,前端根据信息调到登录页? 首先,看一下Sh ...

  4. 聊聊面试-NoClassDefFoundError 和 ClassNotFoundException 区别

    (上图是圣卡塔利娜岛,美国南加州的一个小岛,也是 mac OS 10.15 版本的官方默认壁纸) ___ 概述 Hello,大家好,我们又来讲面试中的基础题了,今天这是一道很经典又很猥琐的题 说猥琐是 ...

  5. 记录手动签名APK的过程

    记录手动签名APK的过程 前两天更新了华为平台上的APK,被驳回,原因是新APK签名和老的APK不一致,老用户安装会失败,用命令行安装会报如下的错误: harlanc@harlancdeMacBook ...

  6. Shiro 并发登录控制

    本文转载于:https://www.w3cschool.cn/shiro/epht1ifg.html

  7. 推荐一款优秀的WPF开源项目

    项目介绍 此项目应用了Prism MVVM框架,项目展示数据来源于其他服务程序,使用的WebAPI通信,如果要正常运行此程序,需要您自己做一个WebAPI程序,由API接口提供数据驱动,其实直接查看代 ...

  8. Echarts导出为pdf echarts导出图表(包含背景)

    Echarts好像是只支持png和jpg的导出,不支持pdf导出.我就想着只能够将png在后台转为pdf了. 首先介绍一下jsp界面的代码. var thisChart = echarts.init( ...

  9. markdown(typora)基本语法

    目录 * 标题 * 加粗 * 斜体 * 高亮 * 上标 * 下标 * 代码引用(>式和```式) * 代码引入(`式) * 插入链接(链接显示) * 插入链接(连接描述显示) * 插入图片(链接 ...

  10. django-常见问题勘误

    1.NoReverseMatch at / Reverse for 'about' not found. 'about' is not a valid view function or pattern ...