面向对象设计和结构化分析设计(软件设计师备考笔记)

目录

第十章.面向对象设计和结构化分析设计

第一节.结构化设计

第二节.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进行处理,非常感谢!

上一篇 2021年1月23日
下一篇 2021年1月23日

相关推荐