一、 1.软件系统结构的核心模型包括哪些内容?以及约束和质量性能 构件、连接件、物理分布 2.软件系统的结构风格具有已知的特点,可以重用 3.4 1视图模型从五个不同的角度描述软件系统结构,包括逻辑视图、过程视图、物理视图、开发视图和场景视图 4.在层次系统中,两种常用的分层方法是严格分层和松散分层 5.在三层C/S中间层可能是什么类型的服务器? 监控服务器、消息服务器、应用服务器等 6.三种解释器风格的策略。 基于字节码的传统解释器,(JIT)编译器 7.构件作为包装实体,只能通过接口与外部环境交互,构件内部的功能以服务的形式体现出来。 8.拓扑结构用连接器定义 9.在分层系统中,自上而下的信息控制通常被描述为请求,自下而上被描述为通知。 10.在分层系统的设计过程中,义每层之间的界面,包括黑盒界面和白盒界面。 11.三层C/S系统结构风格由表示层、功能层和数据层组成。 二、 1.应该用什么来表达业务逻辑和工作流程?UML图?活动图 2.对象或子程序,或组件或包装,哪个是独立可交互的功能单元? 3.同步调用消息和异步调用消息 同步调用消息表示一个对象实体发送的消息是对另外一个对象实体的一个操作的同步调用。发送消息的对象在发出消息之后,将一直等待接收对象给予应答,在未接收到应答之前,发送对象将-直等待。同步调用消息用带实心箭头的直线表示。 异步调用消息表示一个对象实体发送的消息是另一个对象实体的异步调用。发送消息后,发送消息的对象不需要等待接收对象的回应,并继续以下操作。异步调用消息用直线箭头表示。
4.一家游戏公司开发了一款大型多人即时战略游戏。游戏设计的目标之一是支持玩家自己创建战斗地图,定义游戏对象的行为和关系释器的架构风格应该是最合适的。 5.在三层C/S中间部件是系统结构中最重要的部件。 6.在UML用例图描述系统与外部系统和用户之间的交互。 7.C/S在系统中,数据库服务器的任务是存储和处理数据。 8.与C/S与系统结构相比, B/S缺乏系统结构? ?客户浏览器以同步请求/响应模式交换数据,每次请求服务器刷新页面; ?受HTTP协议基于文本的数据交换的限制远低于数据查询等响应速度C/S体系结构; ?数据提交一般以页面为单位,动态交互性不强,不利于在线事务处理(OLTP)应用; ?受限于HTML很难支持复杂的表达能力GUI (如报表等)。
9.在RUP中采用4 1.视图模型软件系统结构,最终用户侧重于该模型中的逻辑视图,因此系统工程师侧重于部署视图 如果是银行ATM的常用功能进行建模,包括存款,取款,转账,查询,这个时候, 用例图表示系统的功能要求。 三、 1.软件系统结构风格 描述软件系统家族在特定领域的组织模式。它反映了该领域许多系统的共同结构和语义特征,并指导如何有效地将每个模块和子系统组织成一个完整的系统。
2.需求 在功能、行为、性能、设计约束等方面,用户对目标软件系统的期望。
3.受客户端 客户端很少或没有业务逻辑。
4.构件重用 即在两次或多次不同的软件开发过程中重复使用相同或相同的软件 近软件元素的过程。
5.集群 通过网络连接多个计算机系统,提供与系统相同的服务,可以获得高并行处理能力、高可用性、负载平衡和管理便携性。 或者集群是一组独立的计算机,通过高速网络形成计算机系统,每个集群节点都是运行自己过程的独立服务器。对于网络用户来说,网站的后端是一个单一的系统,共同为用户提供系统资源和系统服务。通过网络连接组合,共同完成任务。
6.构件 该组件是具有一定功能的可重用软件结构单元,是为组装服务的,表示系统中的主要计算元素和数据存储。
7.计算机聚合 多台计算机聚集在一起形成虚拟计算机。软件系统的运行环境将跨越多台计算机,但终端用户只看到一台虚拟计算机。大型计算问题可以通过多个计算资源并行解决。
8.解释器 它也被翻译成直译器,是一种可以直接翻译高级编程语言的计算机程序。 解释器通常用于在程序语言定义的计算和有效硬件操作确定的计算之间建立相应和连接。简单和小规模的解释器只完成基本的信息识别和转换。复杂的解释器需要从词法到句法,再到语法的复杂识别和处理。
9.ADL 在底层语义模型的支持下,它为软件系统的概念系统结构建模提供了具体的语法和概念框架。
10.松散分层 松散的分层应用程序放宽了这一限制,允许构件与它下面的任何层中的组件交互。
四、 1.软件系统结构的意义 1.SA是软件开发过程初期的产品。在开发初期,考虑到系统的正确设计和方案选择,为未来的开发、测试和维护提供了保证; 2.与其他后期设计活动相比,SA设计成本和成本要低得多; 3.正确有效SA设计将极大地方便软件开发。 4.在大型软件系统中,质量属性更多的是通过系统结构和功能划分来实现的,而不仅仅依赖于所选的算法或数据结构。
2.接口对构件的意义
?构件作为包装实体,只能通过其界面与外部环境交互,表示构件与外部环境的交互点; ?隐藏内部结构; ?构件至少有一个接口; ?构件可提供多个接口; ?构件接口应其内部实现应严格分离。 ?构件内部实现的功能是服务(Service)这种形式反映出来,并通过接口向外发布,从而与其他部件产生关联。
3.不同风格的批处理和管道过滤器 相似点 : 1.将任务分解成一系列固定顺序的计算单元; 2.彼此只通过数据传递交互 不同点 : 批处理:整体传输数据,构造粒度大,延迟高,实时性差 管道过滤器:增量、粒度小、实时性好
4.与C/S与系统结构相比, B/S系统结构的差异 1.b/s系统结构缺乏对动态页面的支持,没有集成有效的数据库处理功能。 2.b/s系统结构系统扩展能力差,安全性难以控制。 3.采用b/s系统结构的应用系统在数据查询等响应速度上远低于c/s体系结构。 4.b/s系统结构的数据提交一般以页面为单位,数据交互性不强,不利于在线事务处理(OLTP)应用。
5.C/S风格中, C和S分别提供的功能 客户机:业务逻辑,与服务器通信的接口; 服务器:接口、业务逻辑、与客户机通信的数据管理。
6.软件系统结构风格的分类 数据流风格:批处理;管道/过滤器; 调用/返回风格:层次结构; 典型的层次结构风格实例:C/S结构;B/S结构; 虚拟机风格:解释器;基于规则的系统; 以数据为中心的风格:仓库;黑板。
7.分层系统的特点和优点 优点: 1)支持基于抽象程度增加的系统设计,使设计师能够按照增加步骤分解复杂的系统; 2)支持增强功能,因为每层最多与相邻的上下层交互,所以功能的变化最大限度地影响相邻的上下层; 3)支持重用。只要提供的服务界面定义不变,同一层的不同实现就可以交换使用。这样,可以定义一组标准接口,允许不同的实现方法。 缺点: 1)并不是每个系统都可以很容易地分为分层模式,即使系统的逻辑结构是分层的,系统设计师也必须结合一些低级或高级功能; 2)很难找到合适正确的抽象层次。
8.C/S客户端应用程序在系统中的主要任务
9.系统级虚拟机与进程级虚拟机的区别 系统级虚拟机:是的OS虚拟,将一台独立的物理机器虚拟为多个不同的虚拟机,每个虚拟机可以支持各自的操作系统,本质:在OS隔离硬件。 进程级虚拟机:单个程序虚拟的本质是应用程序和OS建立隔离。
10.管道过滤器的优缺点是什么? 优点: (1)使软件具有隐蔽性好、内聚性高、耦合性低的特点; (2)允许设计师将整个系统的输入/输出行为视为多个过滤器行为的简单合成; (3)支持软件重用。 (4)系统维护和增强系统性能简单。 (5)允许分析吞吐量、死锁等属性; (6)支持并行执行。 缺点: (1)这通常导致过程成为批处理的结构。这是因为虽然过滤器可以增量处理数据,但它们是独立的,因此设计师必须将每个过滤器视为从输入到输出的完整转换。 (2)不适合处理交互的应用。当需要增量显示变化时,这个问题尤为严重。 (3)由于数据传输没有一般标准,每个过滤器都增加了数据的分析和合成,导致系统性能下降,编写过滤器的复杂性增加。 五、 已知ATM软件功能包括客户可以存款、取款、查询、余额、修改密码和使用信用卡支付,绘制系统用例图、类别图、协助图和顺序图。
用例图和类图
协助图
系统顺序图