8、逻辑架构是什么?
逻辑架构是软件类的宏观组织结构,它将软件类组织为包(或命名空间)、子系统和层等。之所以称其为逻辑架构,是因为并未决定如何在不同的操作系统进程或网络中物理的计算机上对这些元素进行部署(后一种决定是部署架构的一部分)。
9、说说UML模型元素的组成。
在UML中,模型元素可以分为结构元素、行为元素、分组元素和注释元素等四大类: 1) 结构元素是UML模型的静态部分,主要用来描述概念或者物理元素,包括类、
接口、协作、用案、主动类、构件和结点7种元素;
2) 行为元素是UML模型的动态部分,它包括交互和状态机;
3) 分组元素是 UML 模型的组织部分。最主要的分组元素是包,它是一种用于把模
型元素组织成组的元素,结构元素、行为元素和其他的分组元素都可以放进包内。构件仅在运行时存在,而包仅在开发时存在;
4) 注释元素是 UML 模型的解释部分,它们用来描述和标注模型的任何元素。通常
可以用注释修饰带有约束或者解释的图; 模型元素之间的连接关系也是模型元素。常见的关系有关联、泛化、依赖和实现4种。 10、说说UML中有哪几种图。 UML提供9种图:
1) 类图:描述一组类之间的关系。用于对应用领域中的概念以及与系统实现有关的
内部概念建模;
2) 对象图:描述一组对象之间的关系。它是对象类图的一个实例,表示在某一时刻
系统对象的状态、对象之间关系的状态以及对象行为静态方面的状态;
3) 用例图:描述一组用例,参与者及其它们之间的关系,是外部用户所能观察到的
系统功能的模型图。用于需求建模;
4) 顺序图:描述一个交互,表示了对象之间传送消息的时间顺序; 5) 通信图:描述一个交互,强调对象与对象之间的消息传递;
6) 状态机图:描述一个对象所处的状态及其变化,是一个类对象所可能经历的所有
历程的模型图;
7) 活动图:描述执行算法的工作流程中涉及的活动,是对人类组织的现实世界中的
工作流程建模;
8) 构件图:描述一组构件及其关系,用于为系统的构件建模型;
9) 部署图:描述一组节点及其关系,允许评估分配结果和资源分配。节点是一组运
行期间的系统资源,如计算机、数据库、设备或存储器。 11、请简要阐述在软件开发过程中使用UML的必要性以及好处。
软件开发是一个很复杂的工程,而采用统一的建模语言来对软件进行描述能够使客户、涉众、开发人员对软件能够有更好的共识,也能够有效地降低复杂性。
什么是UP的阶段?
1) 初始:大体上的构想、业务案例、范围和模糊评估;
2) 细化:已精化的构想、核心架构的迭代实现、高风险的解决、确定大多数需求和
范围以及进行更为实际的评估;
5
3) 构造:对遗留下来的风险较低和比较简单的元素进行迭代实现,准备部署; 4) 移交:进行beta测试和部署。
用例和使用场景之间是什么关系?与协作又是什么关系?
用例就是一组相关的成功和失败场景集合,用来描述参与者如何使用系统来实现其目标。用例实例也就是常说的“使用场景”,而协作是用例的实现。
在用例图中参与者是什么,它属于系统范围之内吗?
参与者不是特指人,是指系统以外的、在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。它不属于系统范围之内。
请指出UML的三个主要的特性? 1) UML是一种可视化语言; 2) UML用于建模;
3) UML是一种统一的标准。
UML是一种方法论吗?并简要说明理由。
UML并不是OOA/D,也不是方法论,它只是图形表示法,是一种描述模型的标准语言,虽然渗透了许多方法论的基础概念,但是却没有在标准中给出完整的方法指南。
应用UML的三种方式是什么?
1) UML作为草图,用于探讨问题或解决方案空间的复杂部分;
2) UML作为蓝图,相对详细的设计图,用于逆向工程和代码生成(前向工程); 3) UML作为编程语言,用UML完成软件系统可执行规格说明。 构造型的作用是什么?
构造型用来定义一些特定于某个领域或某个系统的构造块。用来扩展建模元素,增加建模元素的语义。构造型表示对现有建模概念的精化,并且定义在UML的简档之中。简档是一组相关构造型、标记和约束的集合,其目的是使用UML专用于特定领域或平台。UML预定义了大量构造型,同时允许用户自行定义构造型,因此,在UML中构造型提供了扩展机制。
应用UML的三种透视图是什么?
1) 概念透视图,用图来描述现实世界或关注领域中的事物;
2) 规格说明(软件)透视图,用图来描述软件抽象物或具有规格说明和接口的构建,
但并不约定特定的实现;
3) 实现(软件)透视图,用图来描述特定技术(如Java)中的软件实现。 请简要解释主动类的概念,并说明它建模的意义?
主动对象运行于自己控制的执行线程之上。主动类是其对象至少要拥有一个进程或线程的类,因此它能够启动控制活动。主动类的对象所描述的元素的行为与其他元素的行为并发,它不在别的线程、堆栈或状态机内运行,具有独立的控制期。
什么是敏捷开发?
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
6
敏捷开发方法通常应用时间定量的迭代和进化式开发、使用自适应计划、提倡增量交付并包含其他提倡敏捷性(快速和灵活的响应变更)的价值和实践。
请说明对象图的适用场景以及它的优缺点?
对象图适用于论证类模型的设计以及对源代码进行分析和说明。其优点是能够直观理解出系统运行时的实时状态,缺点是比较复杂,工作量大。
7