1.UML:统一建模语言
2.构造块:UML基本建模元素,包括事物、关系、图
3.事物包括:结构事物、行为事物、分组事物、注释事物
4.关系包括:关联、依赖、泛化、实现
5. 视图模型(考视图的作用,以及对应的UML图)
逻辑视图:将系统各功能分解,负责反映系统内部是如何组织和协调来实现功能的—类图
开发视图:描述软件各个模块的组织方式,包括源程序,程序包,支持软件,第三方库等—组件图
进程视图:主要描述系统运行特性,侧重系统性能和稳定性,关注运行时的概念—顺序图、状态机图、通信图、活动图
物理视图:描述硬件配置,强调系统安装,配置通信,拓扑结构等问题----部署图
场景视图:从项目需求入手,将四个图整合成一个整体。—用例图
6.用例图:描述了系统中相关的用户和系统对不同用户提供的功能和服务。
7.包含和扩展的关系和比较
包含(include) | 扩展(extend) | |
作用 | 增强基用例的行为 | 增强基用例的行为 |
执行过程 | 包含用例一定会执行 | 扩展用例可能被执行 |
对基用例的要求 | 在没有包含用例的情况下,基用例可以是也可以不是良构的 | 在没有扩展用例的情况下,基用例一定是良构的 |
表示法 | 箭头指向包含用例 | 箭头指向基用例 |
基用例对增强行为的可见性 | 基用例可以看到包含用例,并决定包含用例的执行。 | 基用例对扩展用例一无所知 |
基用例每执行一次,增强行为的执行次数 | 只执行一次 | 取决于条件(0到多次) |
8.类图:显示一组类、接口、协作以及它们之间关系的图。包含7个元素:类、接口、协作、关联关系、依赖关系、泛化关系、实现关系。
9.分析类:
①边界类:一种用于对系统外部环境与其内部运作之间的交互进行建模的类,实例可以是窗口、通信、协议、外部设备接口、传感器、终端等。
②控制类:一种对一个或多个用例所特有的控制行为进行建模的类,实例称为控制对象,用来控制其他对象,体现出应用程序的执行逻辑。
③实体类:用于对必须存储的信息和相关行为建模的类,实例称为实体对象,用于保存和更新一些现象的有关信息。
10.面向对象的设计原则
①开闭原则:软件实体应当对扩展开放,对修改关闭。
②里氏替换原则:子类对于父类应该是完全可替换的。
③依赖倒置原则:高层次模块不应该依赖于低层次模块,二者都应该依赖抽象;抽象不应该依赖于具体,具体应该依赖于抽象。
④接口分离原则:在系统中任何客户类都不应该依赖于他们不使用的接口。
⑥单一职责原则:一个类应该只有一个可以引起他变化的原因。
11.stu:Student标准表示法
:Student匿名表示法
stu省略类名的表示法
12.元素的分包原则:
①元素不能“狡兔三窟”,一个元素不允许在两个包中重复出现。
②相同包内元素不能重名,一个包中的同类元素名称必须是唯一的。
③包内元素要紧密联系--高内聚。
④包与包尽可能保持独立--低耦合。
13.顺序图作用:
细化用例地表达,有效的描述类职责的分配方式,丰富系统的使用语境的逻辑表达。
14.顺序图的结构化控制:
可选片段:关键字为 opt,表示一种单条件分支。
条件片段: 关键字为 alt表示一种多条件分支。
并行片段: 关键字为 par,表示片段内有两个或更多的并行子片段。
循环片段: 关键字为 loop;表示一个循环。
交互片段:关键字为 ref.表示对一段交互的引用。
15.通信图与顺序图的共同点和不同点
①通信图与顺序图的共同点主要有如下3点:
主要元素相同。两种图中的主要元素都是对象与消息,且都支持所有的消息类型。
表达语义相同。两种图都是对系统中的交互建模,描述了系统中某个用例或操作的执行过程,二者的语义是等价的。
对象责任相同。两种图中的对象都担任了发送者与接收者的角色并承担了发送与接收消息的责任。通过对象之间消息的传递来实现系统的功能。
②两种图之间的不同点也有如下3点:
通信图偏重于将对象的交互映射到连接它们的链上,顺序图偏重描述交互中消息传递的逻辑顺序。
顺序图可以显式地表现出对象创建与撤销的过程,而在通信图中,只能通过消息的描述隐式地表现这一点。
顺序图还可以表示对象的激活情况,而对于通信图来说,由于缺少表示时间的信息,除了对消息进行解释,无法清晰地表示对象的激活情况。
16.状态机图作用:
①状态机图描述了状态转换时所需的触发事件和监护条件等因素,有利于开发人员捕捉程序中需要的事件。
②状态机图描述了状态之间的转换及其顺序,方便看出事件的执行顺序,节省描述文字。
③清晰的事件顺序有利于开发人员在开发程序时避免出现事件错序的情况。
④状态机图通过判定可以更好地描述工作流在不同的条件下出现的分支。
17.能够在触发器中接收的事件有以下四种
①调用事件:调用事件表示对象接收到一个调用操作的请求,调用事件就是转换状态并通知调用对象的某成员方法的事件。
②信号事件:是对象之间的通信媒介,是一种异步机制,信号由一个对象准确地送给另一个或一组对象。
③改变事件:改变事件的发生依赖于事件中某个表达式所表达的布尔条件。改变事件没有参数,要一直等到条件被满足才能发生。
④时间事件:时间事件的发生依赖于事件中的一个时间表达式。
18.结合节点与合并节点的关键区别
合并节点仅仅代表形式上的收束,在各个进入合并节点的控制流间不存在并发关系,所以也没有等待和同步过程;但结合节点的各个进入控制流间具有并发关系,它们在系统中同时运行。
在各个支流收束时,为了保证数据的统一性,先到达结合节点的控制流都必须等待,直到所有的流程全部到达这个结合节点后才继续进行,转移到离开控制流所指向的动作开始运行。
19.RUP四个阶段
起始阶段:是一个项目的开始,在这个阶段中软件开发团队需要建立好业务事例,并确定好该项目的范围。
细化阶段:主要目的是分析问题域,为整个项目计划的执行建立一个稳定的结构基础,以及消除一些风险系数最高的因素。
构建阶段:在构建阶段中,我们将要开发和整合所有剩余组件和应用特性,然后对所有的功能和特性进行完全的测试
转化阶段:又称为交互阶段,主要目的就是把制作出来的软件产品交付给用户使用
20.核心工作流
(1)六个核心工程工作流:
业务建模工作流:在业务建模阶段我们对一些鲜明的业务过程进行建模。
需求工作流:首要任务让开发者与客户经过反复磋商,最终确定这个系统究竟应做什么。
分析与设计工作流:主要关心这个系统将如何被实现。
实现工作流:编程实现各个设计组件的过程。
测试工作流:贯穿开发过程的始终,在测试时我们使用三个标准来评价当前的制品。
部署工作流:主要工作就是输出可用的完整产品,并将产品交付到用户手中。
(2)三个属于核心支持工作流:
项目管理工作流:主要关心迭代开发过程当中某些特定的方面,其目标是为了使任务更容易高质量地完成。
配置与变更管理工作流:描述了开发团队应当如何掌控数量庞大的制品。
环境工作流:给予开发人员以足够的编码工具、第三方库等等各类资源,这些工作资源统称为环境。