作业 2- 学习心得

用户头像
蒜泥精英
关注
发布于: 2020 年 06 月 10 日
作业2-学习心得

个人总体感悟:

1、软件架构设计一定要基于业务场景

2、软件架构设计方案展现形式多样,但是要针对对象去沟通/汇报

3、软件架构设计方案从业务场景、业务逻辑、实施过程、物理部署等多个方面

4、软件架构设计应该自顶向下,逐步分解,目标是分解到能落实实施的层面



1、UML

UML的定位 是语言,重要的是表达你的思维

是用来沟通和交流的,也是用来思考的

各个公司可能有方言,UML图画的好不好不重要;

依赖和关联比较容易混淆关联是更强的依赖

组合起来的:生命周期是一致的;组合的生命周期更强些;

聚合:聚合一起形成一个新的生命周期;分开来后,还能继续使用;



组合拆开了不能单独实现功能

组合:人和器官,聚合:乐高积木



2、七种模型

用例建模:功能需求描述

【用例图】通常是动宾短语,描述什么样的角色在使用什么功能。



用例图的元素

(1)角色(小人):ACTOR,可以是人,也可以是一个系统;

(2)用例(椭圆):用例就是做什么,通常都是动宾短语

(3)外面的方框是边界框;

(4)用例之间的关系,有两种:使用和扩展;

用例可以使用另一个用例;

用例图描述:系统有哪些功能,供哪些人使用;



用例图可以有很多页;一个用例图,尽量维护在10-20个元素的规模;因此需要控制规模。



用于描述系统的功能需求,在宏观上给出模型的总体轮廓;

通过对典型用例的分析;使开发者能够有效的了解用户的需求;

/************************************************************/

对象和对象之间消息是同步的;

线程的运行是异步的;

/*************************************************************/

【时序图】的定位-非常重要

时序图什么时候使用?在各个阶段都能使用

具体如下:

(1)需求分析阶段;

待开发系统和现有系统的关系

(2)概要设计阶段;

服务器之间、组件之间如何交互

(3)详细设计阶段:

对象与对象之间

/*************************************/

【活动图】

UML没有流程图,所以通常采用活动图来代替流程图。

泳道是一种分组机制;

活动图 也可以在各个阶段使用;

最小可以在方法内部去使用;

/*************************************/

【状态图】

典型场景:订单状态;

在重要的场景下效果很好;

有状态变迁的模块,通常都是核心模块。

把产品经理状态变迁的文字图改成可指导代码的

/*************************************/

【合作图】 可以由时序图来自动生成;

这个图看不出前后关系;

大部分情况下,使用时序图,能使用尽量使用时序图;

/*************************************/

【组件图】

组件之间的关系

为什么要放到一个组件内,而不是两个组件?组件和功能模块的区分?

组件是物理上的,功能是逻辑上的。

组件分物理组件、逻辑组件:

一个组件是一个开发的粒度,通常是一个人来做的;

如果一个组件太大,可以进一步的细分;



组件的样例:

JAVA内一个JAR包;WIN 内一个DLL文件;



架构师可以通过组件来把控开发的进度;

通过组件图来控制;

组件也可以描述开发的过程,开发依赖关系;



/***************************************/



用户头像

蒜泥精英

关注

还未添加个人签名 2018.09.19 加入

还未添加个人简介

评论

发布
暂无评论
作业2-学习心得