UML时序图,高级安卓面试题,安卓开发工程师面试题

范例:[自调用、调用、创建、销毁、自销毁、同步、异步消息]

循环与条件:[loop 、alt、 opt、 guard警戒]

——————————————————————————————————————

一. 时序图 (Sequence Diagram)


1.时序图的概念

时序图定义 : 描述了对象之间传递消息的时间顺序, 用来表示用例中的行为顺序, 是强调消息时间顺序的交互图;

时序图描述的事物: 时序图描述系统中类和类之间的交互, 将这些交互建模成消息交换, 时序图描述了类以及类之间的交换以完成的期望行为的消息, 时序图中每条消息都代表了类的一个操作 或者 引起状态机改变的触发事件;

时序图表示 : 参与交互的对象在时序图顶端水平排列, 每个对象的底端绘制了一条垂直虚线, 对象A像对象B发送消息, 用一条带箭头的实线表示, 该实线起始于对象A底部的虚线, 终止于对象B底部的虚线; 实线箭头水平放置, 越靠近顶端越早被发送.

时序图轨迹 : 时序图提供了随时间推移的, 清晰的 可视化的轨迹;

2. 时序图组成

时序图组成 : 时序图包括四个元素 对象(Object), 生命线(Lifeline), 激活(Activation), 消息(Message);

(1) 对象(Object)

这里写图片描述

对象 : 时序图中的对象在交互中扮演的角色就是对象;

对象的符号 : 时序图中的对象与对象图中的表示方法一样, 使用矩形将对象名称包含起来, 并且对象名称下有下划线;

对象创建时机 : 对象可以在交互开始的时候创建, 也可以在交互过程中进行创建;

– 处于顶部 : 如果对象的位置在时序图顶部, 说明在交互开始的时候对象就已经存在了;

– 不在顶部 : 如果对象的位置不在顶部, 那么对象在交互过程中创建的;

(2) 生命线(Lifeline)

这里写图片描述

生命线 : 生命线是一条垂直的虚线, 这条虚线表示对象的存在, 在时序图中, 每个对象的底部都有生命线;

生命线作用 : 生命线是一个时间线, 从时序图顶部一直到底部都存在, 其长度取决于交互的时间;

对象的生命线 : 对象与生命线结合在一起就是对象的生命线, 这个概念包含对象图标 以及 对象下面的生命线图标 如上图;

(3) 激活(Activation)

这里写图片描述

激活(Activation) : 代表时序图中对象执行一项操作的时期, 激活期可以理解为语义中 {} 中的内容, 表示该对象被占用以完成某个任务;

去激活(Deactivation) : 指对象处于空闲状态, 在等待消息激活这个对象;

激活的表示 : 当对象处于激活时期, 生命线可以拓宽为矩形, 这个矩形条成为激活条;

激活去激活的时机 :

– 激活 : 对象激活是在激活条的顶部激活;

– 去激活 : 激活条的底部去激活, 通常发生在一个消息离开对象生命线;

(4) 消息

消息概念 : 定义 交互 和 协作 中 交换信息 的类, 对 对象之间的 通信内容 建模;

消息动作 :

– 动作种类 : 消息允许在实体间传递信息 (传递参数), 允许实体请求其它服务, 对象之间通过 发送 和 接收 消息 进行通信;

– 产生结果 : 消息可以触发操作, 唤起信号, 或使目标对象创建 或 销毁;

消息的异步和同步通信 :

– 异步通信 : 消息是信号的时候, 发送信号之后, 等待对方触发相应方法, 这是明确的 命名的 对象间的异步通信;

– 同步通信 : 直接调用对象的方法, 执行方法返回结果, 这种具有返回控制机制的操作是同步通信;

时序图和协作图中消息的区别 : 时序图中的消息强调顺序, 协作图中的消息强调交换消息的对象间的关系;

消息类型 :

– 这里写图片描述 : 两个对象间绘制消息;

– 这里写图片描述 : 两个对象之间的过程调用;

– 这里写图片描述: 两个对象之间的异步消息;

– 这里写图片描述: 过程调用中返回的消息;

– 这里写图片描述 : 绘制反身消息;

3. 时序图示例

示例简介 :

– 使用场景 : 汽车租赁公司;

– 使用的对象 : Customer (客户), Worker (工作人员), Order (请求), Record (记录), Car (汽车);

– 工作流程 : ① 客户 向 工人 提出租车要求, ② 工人 检查 请求, ③ 客户 付款, ④ 工人 填写 记录, ⑤ 工人 取车;

时序图 :

这里写图片描述

4. 对象的创建和撤销

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

题外话

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android进阶资料包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等学习资料免费分享出来。
Android学习PDF+学习视频+面试文档+知识点笔记

【Android思维脑图(技能树)】

知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。

需要的朋友,可以点赞关注+转发”前往免费领取!

Android学习PDF+学习视频+面试文档+知识点笔记

【Android思维脑图(技能树)】

知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。

[外链图片转存中…(img-EAwKjIJg-1710849823339)]

需要的朋友,可以点赞关注+转发”前往免费领取!

希望我能够用我的力量帮助更多迷茫、困惑的朋友们,帮助大家在IT道路上学习和发展~

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一,开源说明 这是一套如此完整的代码,它包括了一个软件开发过程中,从设计到实现的所有文档,资源以及完整源代码。也许许多人不清楚怎么以一个软件工程的思想去完成软件开发,这就是我发布所有源代码的目的。软件=文档+程序,这是许多人都知道的;履行这个思想,便是本套程序的开发守则。但由于这个课程设计的时间太短,才2周,有些地方做得比较马虎,或出现某些错误;但对大多数学习VB的朋友,还是有许多借鉴的地方的。 我不希望这套程序被某些朋友用于交差般地去应付他自己的课程设计,这样我会很生气;也不希望被用于一些异常的场合,这样我会很郁闷。感谢play78里面的demon给予我的帮助。 二,使用说明 您需要安装 MS SQL Server 2000 以及 Visual Basic 6.0 SP6 ,否则也许会有某些地方出现问题,甚至无法调试。另外,您还需要进行以下步骤,才能顺利地调试源代码: 1) 进入“数据新建”目录,运行程序 数据新建.exe。该程序提供了一个简单的方法去新建程序需要的数据库和测试数据。在程序中填写正确的SQL服务器信息即可。 2) 前台程序不是我开发的,是一个刚学习VB的同学开发的。我个人建议前台不用去看了,没有值得花费时间的地方。 3) 进入“后台管理”目录,先注册 XPMenu.ocx,否则代码运行时会发生错误哟。调试的时候,必须在登陆界面设置 SQL 服务器地址,否则会连接不上,出现假死哟(因为没有加超时控制^_^)。其他的不再多说,学习过VB的朋友自然知道怎么办。 默认管理员帐号:admin 密码:admin 4) 文档里面有完整的需求说明书,详细设计说明书,测试文档等,另外附带有活动、时序图的源设计文件,需要 Power Designer 11 才能打开。 三,代码说明 大家也许留意到程序中的 FatCombo、FTextBox、XButton 和 XPButton。前3个是我原创的代码(绝对是原创),分别实现XP风格的Combo,TextBox,和Button。以前好像在某些地方发布过这些控件的源代码,但那些都是老版本了,这个程序集成了3个最新版本的XP风格控件,呵呵,应该能令大家满意了吧。最后一个 XPButton 是网上流行的XP按钮,不过遗憾是这个按钮的代码太多了,功能太强大了,好像有点杀鸡用牛刀的感觉,只是一直没有找到可以代替的。另外,朋友也许会问为什么没有见到 XPMenu.ocx 的源代码,我回答是没有必要。该 XPMenu.ocx 也是网上来的,很流行的HookMenu,但居然不支持MDI窗体(无法显示图标),实在令人失望。 这个代码完整的实现了 Office XP 风格界面,虽然许多地方都是模拟的,但往往最简单的方法就是最好的,反正个人感觉没有比这个更好的OXP界面风格了。最后宣传一下我的个人软件“音速启动(VStart)”,卖卖广告,不要砸我鸡蛋啊^_^~~
1.UML的系统分析进一步要确立的三个系统模型是(对象静态模型)、对象动态模型和系统功能模型。 2.UML的的客户需求分析、系统分析和系统设计阶段产生的模型,其描述图符( 完全相同 )。 3.类和对象都有属性,它们的差别是:类描述了属性的类型,而对象的属性必须有( 具体值 )。 4.UML系统分析阶段产生的包图描述了系统的(系统体系层次结构 )。 5.在UML软件开发过程系统分析阶段产生的对象模型有三种模型。它们是:对象的 静态 模型、对象的 动态模型和对象的 系统功能 模型。 6.在UML的类图中,类之间的关系有 泛化 、 实现 、 聚集 、 依赖 和 关联 5种。 7.共享聚集的“部分”对象可以是任意“整体”对象的一部分,表示事物的整体/部分关系较弱的情况,“整体”端的重数应该是 n 。 8.在UML软件开发过程的需求分析和系统分析阶段,建立类模型的步骤分为 寻找确定类 、 定义类的接口 、定义类之间的关系、建立类图 和 建立系统包图 。 9.组合聚集是指“整体”拥有它的“部分”,它具有强的物主身份,表示事物的整体/部分关系较强的情况。“部分”生存在“整体”中,不可分离,它们与“整体”一起存在或消亡。“整体”的重数必须是 1 。 10.封装是指把对象的( 属性和操作 )结合在一起,组成一个独立的对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值