1、“4+1”视图
①逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。
②过程视图(Process View),捕捉设计的并发和同步特征。系统集成师
③物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。系统工程师
④开发视图(Development View),描述了在开发环境中软件的静态组织结构。
⑤架构的描述,即所做的各种决定,由一些用例(Use Cases)或场景(Scenarios)来说明
2、遗留系统的评价的四象限
1、低技术水平、低业务价值:抛弃
2、高水平、低价值:集成,数据模型形成信息孤岛
3、低水品、高价值:继承,完全兼容遗留系统的功能模型、数据模型
4、高水平、高价值:演化,功能新增,数据模型改造
3、对于违反里氏替换原则的两个类A和B,可以采用的候选解决方案中,正确的是尽量将一些需要扩展的类或者存在变化的类设计为抽象类或者接口,并将其作为基类,在程序中尽量使用基类对象进行编程
4、面向对象的特征
1、多态:同一类型的对象,在不同情况下表现出不同的行为
2、封装:对象内部的属性、行为的隐藏
3、继承:子类可以使用父类提供的属性、行为
5、信息化的三个层次:战略需求、运作需求、技术需求
6、高内聚:功能内聚,低耦合:数据耦合
7、为实现对象重用,COM支持两种形式的外部对象的(包含)重用形式下,一个外部对象拥有指向一个内部对象的唯一引用,外部对象只是把请求转发给内部对象:在(聚合 )重用形式下,直接把内部对象的接口引用传给外部对象的客户,而不再转发请求。
8、与 UML 1.x 不同,为了更清楚地表达 UML 的结构, 从 UML 2 开始,整个 UML 规范被划分为基础结构和上层结构两个相对独立的部分,基础结构是 UML 的(元模型)
面向对象动态分析模型描述系统的动态行为,显示对象在系统运行期间不同时刻的动态交互。其中,交互模型包括(顺序图和定时图),其他行为模型还有(状态图和活动图)。
UML2.0中,顺序图用来描述对象之间的消息交互,其中循环、选择等复杂交互使用(序列片段)表示,对象之间的消息类型包括(同步、异步、返回、参与者创建/销毁消息)。
9、软件结构化设计包括 架构、接口、数据、过程设计
10、关于模块化设计:模块的结构和功能定义为外部特性,将局部数据和实现代码定义为内部特性
11、结构化设计工具:盒图、HIPO图、数据流图
12、面向对象设计设计工具:UML(顺序图、状态图..)
13、安全攸关系统在软件需求分析阶段,应提出安全性需求。软件安全性需求是指通过约束软件的行为,使其不会出现 (不可接受的违反系统安全的行为)。软件安全需求的获取是根据己知的 (系统信息) ,如软件危害条件等以及其他一些类似的系统数据和通用惯例,完成通用软件安全性需求的裁剪和特定软件安全性需求的获取工作。
14、软件设计活动中, (接口设计) 描述了软件内部、软件和操作系统之间如何通信; (结构设计) 定义软件系统各主要部件之间的关系。
(1) 结构设计:定义软件系统各主要部件之间的关系。
(2) 数据设计:将模型转换成数据结构的定义,好的数据设计将改善程序结构和模块划 分,降低过程复杂性。
(3) 接口设计(人机界面设计):软件内部、软件和操作系统之间,以及软件和人之间 如何通信。
(4) 过程设计:系统结构部件转换成软件的过程描述。
15、系统设计的主要内容包括概要设计和详细设计。概要设计又称为系统总体结构设计,它是系统开发过程中很关键的一步,其主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。
16、采用面向对象技术设计在线教育平台系统,“学员类”和“课程类”应设计为(实体类),“窗口”应设计为(边界类 )。
17、耦合
数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的。
公共耦合:若一组模块都访问同一个公共数据环境。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。
标记耦合 :一组模块通过参数表传递记录信息