《疯狂Java讲义》 2-理解面向对象
2021-05-23 19:29
标签:线段 analysis 封装 模块化 psu idt bbs 设备 依赖 按功能来分析系统需求:自顶向下,逐步求精,模块化等 结构化分析(Structured Analysis)->结构化设计(SD)->结构化编程(SP) 面向功能,面向数据流,最小单元是函数 三种基本结构:顺序结构(顺序执行所有操作,直到出口),选择结构(按条件选择分支执行),循环型结构 Java保留了goto,但拒绝使用 把握事物的本质特点,抽象成类(共同属性、共同方法的一类事物),作为系统的基本构成单元 OOA->OOD->OOP 成员变量(状态函数)+方法(行为)=类定义 粒度比面向过程大,函数相当于方法 基本特征: 封装(Encapsulation),将对象实现细节隐藏起来,用共用方法来暴露对象的功能 继承(Inheritance),实现软件复用 多态(Polymorphism),同一方法实现多种行为特征,如不同子类间 类是对象的抽象,对象是类的实例(instance)。消息是实例之间通信的机制。 面向对象与基于对象不同(JavaScript),注意继承和多态 Java中一切都是对象,有一个唯一标识来引用它。 OOA和OOD需要统一的符号来记录,UML2.0 用例代表系统的功能模块,不说明如何实现,仅仅是对系统功能的描述。 椭圆代表用例,小人代表角色,以简单的线段表示之间关系。常用来表达系统,一个简单的BBS系统用例图: 表示系统包含哪些实体,实体之间如何关联。 类用包含三个部分的矩形来表示:名称,属性,方法 类之间的三种基本关系:关联(聚合,组合),泛化(继承),依赖 大型应用程序由多个可部署的组件组成。JAR,WAR,DDL(C) 显示组件的依赖关系。包含组件、接口和port等图元。圆代表接口,Y依赖该接口。 用于描述软件系统如何部署到硬件环境中,以及如何通信。 在组件图上加了节点(处理器&设备)的概念,用三维立方体来表示。 显示用例的详细流程 垂直纬度:以时间顺序显示消息/调用的序列;水平纬度:显示消息被发送到的对象实例。 活动图用圆角矩阵代表活动,带箭头的实线代表事件。支持并发。只有一个开始,可以多个结束途径。 1、UML还不熟悉,别当成负担,要当作工具,怎么合理利用是个问题。 《疯狂Java讲义》 2-理解面向对象 标签:线段 analysis 封装 模块化 psu idt bbs 设备 依赖 原文地址:https://www.cnblogs.com/iamwlx/p/9733557.html总结
1、结构化程序设计
2、面向对象程序设计
3、UML 同一建模语言
3.1 用例图
3.2 类图
3.3 组件图
3.4 部署图
3.5 顺序图
3.6 演化图:活动图 状态机图
问题