1 面向对象3个基本特征 继承 封装 多态
2 结构化程序设计
按功能分析系统需求,自顶向下,逐步求精,模块化。主张按功能把软件系统逐步细分。
3 程序设计三种基本结构 顺序结构,选择结构,循环结构。
当型循环:先判断后执行 直到型循环,先执行,后判段
4 面向对象程序设计
使用类,对象,继承,封装,消息等基本概念来经行程序设计。从现实世界客观存在的事物出发构造软件系统,直接以现实世界的事物为中心来思考,认识问题,并根据事物的本质特点,抽象的表示为系统的类,做为系统基本单元,
5 面向对象方法
封装:将对象的实现细节隐藏起来,通过公用方法暴露对象的功能,
继承:实现软件复用的重要手段,子类继承父类,将获得父类的属性和方法。
多态:子类对象可以直接赋值给父类变量,但运行时表现子类行为特征,同一个类型的对象在执行同一个方法时,可以表现出多种行为特征。
抽象:忽略一个主题中与当前目标无关的方面,更充分注意与当前目标有关的方面。
消息:一个实例与另一个实例之间互相通信的机制。
6 UML 图
1 用例图
描述系统提供的系统功能,每个用例代表系统的一个功能模块,主要目的是帮助开发人以一种可视化方式理解系统需求功能。包括用例,角色,他们间关系。
2 类图
表示系统应该包含那些实体,各实体间如何关联。包括类名,属性,方法。表示实体的静态内部属性,类间的关系
关联 (聚合, 组合,类内部有另一个类的实例) 泛化(继承) 依赖:一个类的改动会引起另一个类的改动 (一个类中方法参数,方法局部变量,另一个类静态方法)
3 组件图
现代大型应用程序,通常由多个可部署的组件完成,Java(jar,war)c++(函数库或dLL(动态链接库))组件提供系统的物理视图,显示系统软件对其他软件组件的依赖关。包括组件接口,port
4 部署图
现在的软件可能是跨国家和地区的分布式软件,软件的不同部分需要部署在不同地方,不同平台,部署图描述软件如何部署到硬件环境,显示软件系统在何处运行,如何彼此通信。节点:各种计算资源的通用名称。
5个组件,需要部署到4个物理节点上
5 顺序图
显示具体用例的详细流程,显示流程中不同对象的调用关系,重点在于描述消息和时间顺序。有两个纬度,垂直:以发生的时间顺序显示消息/调用序列,水平:显示消息被发送到的对象实例。消息通常表现于对象调用另一对象的方法或方法返回值,对象的激活期为占据CPU执行时间。
6 活动图
用于描述用例内部活动或方法的流程图,描述过程原理,业务逻辑,工作流技术。
7 状态机图
表示对象所处的不同状态和该类的状态转换信息,在系统活动期间具有3个或更多潜在状态的对象才需要使用状态机图