目录
第十章.面向对象设计和结构化分析设计
第一节.结构化设计
第二节.UML
第三节.面向对象设计——设计原则
第四节.面向对象设计——设计模式
第五节.结构化分析——数据流图(DFD) 必考(下午第一道题)
第六节.面向对象设计方法—多态与绑定
第七节.类的分类
第十章.面向对象设计和结构化分析设计
结构化开发方法、数据流图基本概念、软件设计原则、数据流图结构判断
第一节.结构化设计
1.概念:结构化设计主要包括以下步骤:
·体系结构设计:定义软件的主要结构元素及其关系
·数据设计:基于实体联系图确定软件涉及的文件系统的结构及数据库的表结构
·接口设计:描述用户界面,软件和其他硬件设备、其他软件系统及使用人员的外部接口,以及各种构件之间的内部接口
·过程设计:确定软件各个组成部分内的算法及内部数据结构,并选定某种过程的表达形式来描述各种算法
注:这些设计的具体体现是结构图,结构图中的元素包括模块、调用、数据、控制信息和转接符
2.结构化分析与结构化设计的关系:软件设计必须依托软件的需求来进行,结构化分析的结果为结构化设计提供了最基本的输入信息,其关系为:
(1)根据加工规格说明书和控制规格说明书进行过程设计
(2)根据数据字典和实体关系图进行数据设计
(3)根据数据流图进行接口设计
(4)根据数据流图进行体系结构设计
注:该设计方法特别适合数据处理领域的问题,但是不适合解决大规模的、特别复杂的项目
第二节.UML
主要考察UML相关的一系列图的概念
构造块
构造块中包含事务、关系、图
图:可以分为结构图和行为图或者分为动态图和静态图
静态图/结构图包括:
类图:类之间关系的图
对象图:对象之间关系的图
包图:包之间关系的图
组合结构图
构件图:在该类图中存在两种类似棒棒糖和插座的符 ,棒棒糖符 表示“供接口”;插座式的符 表示“需接口”,该图是描述系统构件与构件之间、类与接口之间的关系图
部署图:软件的部件应该部署在哪个硬件的节点上面
制品图
动态图/行为图包括:
用例图:该图的归类有分歧,大部分时候归结为动态,小部分时候归结为静态,该图的内容是系统和外部的交互关系
顺序图/序列图:强调了时间顺序的通信图
通信图/协作图
定时图
状态图:表达的是状态的变迁、转移的情况
活动图:与流程图的结构一致
交互概览图
第三节.面向对象设计——设计原则
单一职责原则:设计目的单一的类
开放—封闭原则:对扩展开放,对修改封闭(多扩展,少修改)
李氏替换原则:子类可以替换父类
依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程
接口隔离原则:使用多个专门的接口比使用单一的总接口要好
组合重用原则:要尽量使用组合,而不是继承关系达到重用的目的
迪米特原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解
第四节.面向对象设计——设计模式
三种模式的概念及其层次关系:
1.架构模式:是软件设计中的高层决策,例如C/S结构就属于架构模式
2.设计模式:
反映了开发软件系统过程中所作的基本设计决策,而设计模式则是主要关注软件系统的设计,与具体的实现语言无关,是在软件开发过程中,经过验证的,用于解决在特定环境下的、重复出现的、特定问题的解决方案
3.惯用法:
是最底层的模式,关注软件系统的设计与实现,实现时通过特定的程序设计语言来描述构件与构建之间的关系。每种编程语言都有它自己特定的模式,即语言的惯用法。例如c++语言的惯用法就是:引用–计数
设计模式的分类
设计模式可以被分成三种:创建型模式、结构型模式、行为型模式
创建型模式
结构型模式
图注:组合模式:想表示对象的部分—整体层次结构(对象组合)
适配器模式:想使用一个已经存在的类,而它的接口不符合描述
装饰模式:在不影响其他对象的情况下,以动态透明的方式给单个对象添加职责
桥接模式:不希望在抽象和它的实现部分之间有一个固定判定关系
享元模式:即对象共享
行为型模式
第五节.结构化分析——数据流图(DFD) 必考(下午第一道题)
是一种在需求分析阶段用到的一种工具,是结构化开发方法中最为主流的开发工具,它的作用是在逻辑上描述系统的功能输入、输出和数据存储等,是系统逻辑模型的重要组成部分
数据流图基本概念及四大组成元素
图注:
·数据存储在题干描述时,要么是某某表,要么是某某文件,是存储了信息的文件
·加工即操作的名称,一般是动词+名词的结构
·数据流即信息
·外部实体一般是人员或组织以及系统
1.加工:数据流图中对每一个加工都必须有加工规格说明,该说明必须描述把输入数据流变换为输出数据流的加工规则,而加工规则的说明有三种方式:结构化语句、判断表(决策表)、判断树(决策树)
2.数据流:数据流类型在一般情况下包括变换流型和事务流型,不同类型的数据流有不同的映射方法
数据流图的分层
数据字典
1.数据字典的概念:数据字典是配合数据流图的使用,对数据流图中的一些数据进行进一步的诠释,其内容包括:数据流、数据项、基本加工、数据存储
2.数据字典中的符 及其含义
数据流图平衡原则
该平衡有两个维度,分别是:父图与子图之间的平衡、子图内平衡
1.父图与子图之间的平衡
即已知父图或者子图,将其子图或者父图补充完整
2.子图内平衡
概念:数据流的正常加工必须是既有输入,也有输出,而且每条数据流的起点或终点必须是加工,而只有输入没有输出的数据流称之为黑洞,只有输出没有输入的数据流被称之为奇迹,二者都属于不正常的数据流
例题1
解题流程:首先根据题干,将外部实体、加工、数据存储提取出来,而第三问在解决时,应首先找到顶层数据流图在0层数据流图中缺失的部分,如果仍未找完,则根据题干的描述,寻找0层数据流内部缺失了哪些数据流,而起点和终点都是外部实体或数据存储
数据流的错误可能是名称错误,也可能是起点和终点错误
第六节.面向对象设计方法—多态与绑定
多态
1.参数多态:应用广泛、最纯的多态
2.包含多态:同样的操作可用于一个类型及其子类型。包含多态需要进行时的类型检查
3.强制多态:编译程序通过语义操作,把操作对象的类型强行加以变换,以符合操作符的要求
4.过载多态:同一个名(操作符、函数名)在不同的上下文中有不同的类型
绑定
1.动态绑定:是指在程序运行过程中,把函数(或过程)调用与响应调用所需要的代码结合的过程
2.静态绑定:是指程序在编译过程中,把函数(方法或过程)调用与响应调用所需的代码结合的过程
第七节.类的分类
类可以被分为三类:实体类、接口类和控制类
1.实体类:实体类的对象是显示世界中真实的实体,如人类、动物等
2.接口类:接口类的对象为用户提供一种与系统交互的方式,分为人和系统两大类,其中人的接口可以是显示屏、窗口、web窗体、菜单等
3.控制类:该类的对象用来控制活动流,充当协调者
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91271 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!