紧接上一章,本章是将系统设计跟设计模式,系统设计对应系统分析的结构化跟面向对象,也分为结构化设计和面向对象的设计,然后就是设计模式,23种设计模式,真的是开发人员必备,对如何把代码写的很优雅,易扩展,非常有帮助,感兴趣的小伙伴可以,私下在去研究下23种设计模式,这里应付考试的话,可以不用深究,理解意思即可。
系统设计主要目的:为系统制定蓝图,在各种技术和实施方法中权衡利弊,精心设计,合理地使用各种资源,最终勾画出新系统的详细设计方法。
系统设计方法:结构化设计方法,面向对象设计方法。
系统设计的主要内容:概要设计、详细设计。
概要设计基本任务:又称为系统总体结构设计,是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。
详细设计的基本任务:模块内详细算法设计、模块内数据结构设计、数据库的物理设计、其他设计(代码、输入/输出格式、用户界面)、编写详细设计说明书、评审。
注意:概要设计,描述模块跟模块之间的设计,详细设计,模块内的详细设计。
系统设计基本原理
抽象化;
自顶而下,逐步求精;
信息隐蔽;
模块独立(高内聚,低耦合)。
系统设计原则
保持模块的大小适中;
尽可能减少调用的深度;
多扇入,少扇出;
单入口,单出口;
模块的作用域应该在模块之内;
功能应该是可预测的。
注意:理解下扇入扇出,别的系统或者模块调用自己,叫做扇入,自己调用别的模块或系统,叫做扇出。
真题来喽:
1.系统设计是根据系统分析的结果,完成系统的构建过程。系统设计的主要内容包括();系统总体结构设计的主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的()。
A.概要设计和详细设计 B.架构设计和对象设计 C.部署设计和用例设计 D.功能设计和模块设计
A.用例图 B.模块结构图 C.系统部署图 D.类图
2.以下关于软件系统模块结构设计的叙述中,正确的是()。
A.当模块扇出过大时,应把下级模块进一步分解为若干个子模块
B.当模块扇出过小时,应适当增加中间的控制模块
C.模块的扇入大,表示模块的复杂度较高
D.模块的扇入大,表示模块的复用程度高
解析:1.A B模块与模块之间也叫概要设计,2.D考设计原则的!
面向对象的设计
面向对象设计基本过程:
面向对象的设计原则:
单一职责原则:设计目的单一的类。
开放-封闭原则:对扩展开放,对修改封闭。
李氏(Liskov)替换原则:子类可以替换父类。
依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程。
接口隔离原则:使用多个专门的接口比使用单一的总接口要好。
组合重用原则:要尽量使用组合,而不是继承关系达到重用目的。
迪米特(Demeter)原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解。
注意:都需要记住的,考试会考,注意区别前边结构化设计原则。
架构模式:软件设计中的高层决策,例如C/S结构就属于架构模式,架构模式反映了开发软件系统过程中所作的基本设计决策。
设计模式:每一个设计模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。
设计模式的核心在于提供了相关问题的解决方案,使得人们可以更加简单方便的复用成功的的设计和体系结构。
四个基本要素:模式名称、问题(应该在何时使用模式)、解决方案(设计的内容)、效果(模式应用的效果)。
分为三种类型,分别是创建型模式,结构型模式,行为型模式。
注意:考试出题类型就3点:
1.问属于哪一种设计模式,目前有三类,创建型模式,结构性模式,行为型模式,比如问构建器模式属于哪一种模式?
2.应用场景,会给定义跟场景,问应用哪种设计模式。
3.考设计模式的图形,问此图属于什么设计模式?因为设计模式的很多图类似,所有考的话,不太好出题,一般题目中都有提示!要不是概念,要不就有英文提示!每个模式的英文要记忆。
真题来喽:
1.某网站系统在用户登录时使用数字校验码。为了增强安全性,现在要求在登录校验码中增加字母或图片。如果直接修改原有的生成登录校验码的程序代码,则违反了面向对象设计原则中的()。
A.开闭原则 B.里氏替换原则 C.最少知识原则 D.组合复用原则
2.关于设计模式,下列说法正确的是()。
A.原型(Prototype)和模板方法(Template Method)属于创建型模式
B.组合(Composite)和代理(Proxy)属于结构型模式
C.桥接(Bridge)和状态(State)属于行为型模式
D.外观(Facade)和中介(Mediator)属于创建型模式
解析:1.A对修改关闭,对扩展开放 2.B,纯概念
3.对于如下所示的序列图所描述的场景,最适合于采用的设计模式是();该模式适用的场合是()。
A.Visitor B.Strategy C.Observer D.State
A.对象的行为决定于它的状态,且必须在运行时刻根据状态改变它的行为
B.定义对象结构的类很少改变,但经常需要在此结构上定义新的操作
C.需要使用一个算法的不同变体
D.一个对象必须通知其它对象,而它又不能假定其它对象是谁
解析:A有个英文提示Visitor B访问者模式的定义
4.采用以下设计思路实现下图所示的目录浏览器:目录中的每个目录项被认定为一个类,其属性包括名称、类型(目录或文件)、大小、扩展名、国标等。为节省内存空间,要求不能将具有相同属性(例如类型、扩展名、图标相同)的相同文件看作不同的对象。能够满足这一要求的设计模式是()。
A.Flyweight B.Proxy C.Command D State
解析:题目有提示:节省内存空间,不能看作不同的对象,A
人机设计的三大黄金法则:
置于用户控制之下,减少用户记忆负担,保持界面一致性
置于用户控制之下:
减少用户记忆负担:
保持界面一致性:
真题来喽:
1.“置于用户控制之下”是用户界面设计的“黄金三原则”之一。下列叙述中,不满足该原则的情形是()。
A.不能中断或撤销正在进行的人机交互操作
B.不强迫用户采用不情愿的方式来进行操作
C.用户可以定制交互方式
D.用户可以和出现在屏幕上的对象直接进行交互
解析:A
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。