1. 在设计模式那一章里面他前面有一些这个原则,设计模式的两大主题系统复用和系统扩展,包括设计模式的基本思想。
软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样板。软件模式可以认为是对软件开发这一特定“问题”的“解法”的某种统一表示,即软件模式等于一定条件下的出现的问题以及解法。
3. 用例图中涉及的关系有:关联(Association)、泛化(Inheritance)、包含(include)、扩展(extend),以下说法不正确的是:()
4. 对EXTEND而言,扩展用例不包括基础用例的内容,基础用例也不包括延伸用例的内容。
5. 对于数据库设计的部分,在逻辑设计阶段开始考虑具体的数据库管理的特性
6. 用例图里面最核心的元素有哪些
参与者、用例、关系
7. 建模活动图、用例图、通信图有哪些步骤
8. 经典的软件工程思想将软件开发的过程分为哪些阶段
1.问题定义 2.可行性研究3.需求分析 4.总体设计 5.详细设计6.编码和单元测试 7.综合测试 8.软件维护
9. UML图有多少种图有哪些图,分为哪几类
UML定义了5类,9种模型图
- 用例图
- 静态图:类图、包图、对象图
- 行为图:状态图、活动图
- 交互图:顺序图、协作图
- 实现图:构件图、部署图
10.统一过程的核心工作流,包括它的几个阶段
核心工作流: 1商业建模2. 需求3. 分析和设计4. 实现5. 测试6. 部署7. 配置和变更管理8. 项目管理9. 环境
阶段:1)初始阶段:编制简要的愿景文档、 业务案例、 确定范围、 粗略评估成本。2)细化阶段:细化愿景文档、 迭代地实现核心构架、 解决高风险的问题、 定义大多数的需求和范围、 进一步评估成本3)构造阶段:迭代地实现系统的其余部分、 准备部署4)提交阶段:beta 测试、部署
11. 关于包的描述,包里面包含哪些元素,他的可见性
元素:类,接口,构件,节点,协作,用例,甚至是其他包或图
公有访问:包内的模型元素可以被任何引入此包的其他包的内含元素访问。
保护访问:表示此元素只能被当前包的子包访问。
私有访问:表示此元素只能被当前包内的模型元素访问。
包之间的关系:依赖关系和泛化
- 注意泛化和继承是否完全一样,有没有区别,区别是什么
泛化是子类抽象出一个父类,继承就是父类具体化为一个子类,也就是说子类是从父类继承的,而父类则是子类的泛化,继承关系是泛化关系的反关系。
- 统一过程它的各个阶段具体工作有哪些,软件工程、面向对象的分析和设计有哪些相同的和不相同点
- UML图的每一种图的概念和图和怎样建立、画、表示。比如说状态图在怎样的情况下会发生状态转换、怎样去定义它
- 软件架构的定义、像设计模式常见的有grash golf....分别分哪些类,每一种设计模式的名字
软件架构是一个系统的草图,软件架构描述的对象是直接构成系统的抽象组件。
创建型模式主要用于创建对象。
结构型模式主要用于处理类或对象的组合。
行为型模式主要用于描述对类或对象怎样交互和怎样分配职责。
- 面向对象分析和设计的基本的步骤和原则,界面设计的一些基本原则
OOA基本步骤:第一步,确定对象和类 第二步,确定结构 第三步,确定主题第四步,确定属性 第五步,确定方法
OOD基本步骤:1.根据需求描述提取类2.根据需求的要求,可构建类工厂,使用多态技术,灵活使用各个类。3.根据逻辑要求,提取业务类,主要对各个对象进行数据操作。4.根据人机界面操作(系统提示信息),提取UI类,即测试类,完成用户与程序的交互。5.进行优化设计,梳理运行过程。
(1)用户原则。人机界面设计首先要确立用户类型。划分类型可以从不同的角度,视实际情况而定。确定类型后要针对其特点预测他们对不同界面的反应。这就要从多方面设计分析。
(2)信息最小量原则。人机界面设计要尽量减少用户记忆负担,采用有助于记忆的设计方案。
(3)帮助和提示原则。要对用户的操作命令作出反应,帮助用户处理问题。系统要设计有恢复出错现场的能力,在系统内部处理工作要有提示,尽量把主动权让给用户。
(4)媒体最佳组合原则。多媒体界面的成功并不在于仅向用户提供丰富的媒体,而应在相关理论指导下,注意处理好各种媒体间的关系,恰当选用。
- 人机界面设计应从哪几方面来评价
(1)用户对人机界面的满意程度;(2)人机界面的标准化程度;(3)人机界面的适应性和协调性;(4)人机界面的应用条件;(5)人机界面的性能价格比。
- 友好的人机界面应该具备至少哪些特征
1操作简单,易学,易掌握
2界面美观,操作舒适
3快速反应,响应合理
4用语通俗,语义一致
- 面向对象技术的三大机制
(1)封装性(encapsulation)所谓封装就是把对象的属性和行为结合成一个独立的单位,使外界不能直接访问或修改这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息隐蔽。(2)继承性如果在一个已定义的类上,增加一些特殊属性或操作,可以形成一个新的类,这个类不仅继承了前一个类的全部特征,而且具有新的特性,因此可看作前一个类的特例,是对前一个类的继承。前一个类称为父类,新产生的类叫做子类。通过继承关系可形成一种类层次结构,叫做继承结构。(3)多态性在类层次结构的不同类中,可用相同的函数名实现功能不同的函数。
- 用UML进行系统分析和设计需要建立的视图有哪些
- 面向对象技术的层次结构、面向对象设计的整体结构分别有哪些
- 解释和比较用例图中extend和include的关系
Include,指用例中的包含关系,通常发生在多个用例中,有可以提取出来的公共部分extend,扩展用例不包含基础用例的内容,基础用例也不包含延伸的内容
- rup的特点是什么
RUP是风险驱动的、基于Use Case技术的、以架构为中心的、迭代的、可配置的软件开发流程。
- 敏捷开发的基本思想、基本原则是什么
1. 快速迭代2. 让测试人员和开发者参与需求讨论3. 编写可测试的需求文档4. 多沟通,尽量减少文档5. 做好产品原型6. 及早考虑测试
- 何为UML图中4+1视图
用例视图:描述系统应该具备的功能,即被称为参与者的外部用户所能观察到的功能。
逻辑视图:描述用例视图中提出的系统功能的实现。逻辑视图既描述系统的静态结构,也描述系统内部的动态协作关系。
组件视图(实现视图):描述系统的实现模块以及它们之间的依赖关系。
并发视图(进程视图):考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理。
部署视图:显示系统的物理部署,并描述位于节点实例上的运行组件实例的部署情况。
- UML图中的交互图是谁在交互,为什么交互,怎么样交互
对象间通过消息进行交互
在项目的需求阶段,分析师能通过提供一个更加正式层次的表达,把用例带入下一层次。那种情况下,用例常常被细化为一个或者更多的序列图。组织的技术人员能发现,序列图在记录一个未来系统的行为应该如何表现中,非常有用。在设计阶段,架构师和开发者能使用图,挖掘出系统对象间的交互,这样充实整个系统设计。
1.确定交互的范围
2.确定参与交互的活动者与对象
3.确定活动者、对象的生存周期
4.确定交互中产生的消息
5.细化消息的内容
- 简单叙述UML的特点
1.统一的标准(被OMG所认定的建模语言 标准)
2.面向对象(支持面向对象软件开发)
3.可视化建模
4.独立于开发过程(可以应用到任意一种开发过程中去)
5.概念明确、建模表示法简洁、图形结构清晰、容易掌握和使用
- 静态建模和动态建模的区别
在UML中,静态建模用以描述系统的组织和结构,而动态建模则用以描述系统的行为和动作。两者共同构建和描述系统的整体模型。
静态建模中描述的组织和结构是动态建模所描述的行为和动作的基础。
动态建模中所描述的行为和动作则是静态建模所描述的组织和结构的深化和拓展。
- 中间件技术为什么要使用中间件?
中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。中间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。
- 领域建模的步骤
- 寻找概念类
- 将其绘制为UML类图中的类
- 添加关联和属性
38. 设计模式的原则,讲过的设计模式
单一职责原则 |
类的职责要单一,不能将太多的职责放在一个类中 |
开闭原则 |
软件实体对扩展是开放的,但对修改是关闭的,即在不修改一 个软件实体的基础上去扩展其功能 |
里氏代换原则 |
在软件系统中,一个可以接受基类对象的地方必然可以接受一 个子类对象 |
依赖倒转原则 |
要针对抽象层编程,而不要针对具体类编程 |
接口隔离原则 |
使用多个专门的接口来取代一个统一的接口 |
合成复用原则 |
在系统中应该尽量多使用组合和聚合关联关系,尽量少使用甚 至不使用继承关系 |
迪米特法则 |
一个软件实体对其他实体的引用越少越好,或者说如果两个类 不必彼此直接通信,那么这两个类就不应当发生直接的相互作 用,而是通过引入一个第三者发生间接交互 |