B/S模型
C/S模型
时空GIS
移动GIS
第1题:
论软件架构建模技术与应用
软件架构用来处理软件高层次结构的设计和实施,它以精心选择的形式将若干结构元素进行装配,从而满足系统的主要功能和性能需求。软件架构设计的首要问题是如何表示软件架构,即如何对软件架构建模。根据建模的侧重点不同,可以将软件架构模型分为结构模型、框架模型、动态模型、过程模型和功能模型。Kruchten在1995年提出了“4+1”视图模型,将5种模型有机地统一在了一起。
请围绕“软件架构建模技术与应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
2.简要叙述“4+1”视图模型的主要内容。结合你参与项目的实际情况,详细说明该项目需求及所涉及的软件架构(包括使用到的视图模型、创建的架构模型及使用的建模工具等)。
3.说明该项目软件架构的实施效果,分析其是否满足了项目的需求并说明原因。
写作要点
一、简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。
二、简要叙述“4+1”视图模型的主要内容。
1、“4+1”视图模型从5个不同的视角来描述软件架构,每个视图只关心系统的1个侧面,5个视图结合在一起才能反映系统的软件结构的全部内容。这5个不同的视角包括逻辑视图、开发视图、进程视图、物理视图和场景。
逻辑视图。逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。在OO技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。
开发视图。开发视图也称为模块视图,在UML中被称为实现视图,它主要侧重于软件模块的组织和管理。开发视图要考虑软件内部的需求。
进程视图。进程视图侧重于系统的运行特性,主要关注一些非功能性需求。进程视图强调并发性、分布性、系统集成性和容错能力,以及逻辑视图中的功能抽象如何适应进程结构等,它也定义了逻辑视图中的各个类的操作具体是在哪一个线程中被执行。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。
物理视图。物理视图在UML中被称为部署视图,主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装和通信等问题。
场景。场景可以看作是那些重要系统活动的抽象,它使4个视图有机联系起来。场景对应UML中的用例视图。
2、结合实际项目,详细说明项目软件架构的内容。这部分内容应包括:在设计软件架构时,分别使用了“4+1”视图中的哪些视图,每个视图中包含的模型有哪些等。
三、说明该项目软件架构的实施效果,分析其是否满足了项目的需求并说明原因。
(1)加解密API:数据库管理系统提供可在SQL语句中调用的加解密API,应用可以利用这些API构建自己的基础架构,对数据进行加密保护。
(2)透明加密:安全管理员为数据库敏感字段选择加密方式及密钥强度,应用访问受保护数据时只需使用口令打开或关闭密钥表,对数据的加密和解密由数据库管理系统自动完成。
加解密API方式的灵活性强,但构建和管理复杂;而透明加密方式管理简单,应用程序负担轻,但灵活性较差。用户要求尽可能减少安全管理与应用程序的负担,因此应选择透明加密方式。
第2题:
某公司采用基于架构的软件设计(Architecture-Based Software Design,ABSD)方法进行软件设计与开发。ABSD方法有三个基础,分别是对系统进行功能分解、采用(52)实现质量属性与商业需求、采用软件模板设计软件结构。 ABSD方法主要包括架构需求等6个主要活动,其中(53)活动的目标是标识潜在的风险,及早发现架构设计中的缺陷和错误;(54)活动针对用户的需求变化,修改应用架构,满足新的需求。 小王是该公司的一位新任架构师,在某项目中主要负责架构文档化方面的工作。小王(55)的做法不符合架构文档化的原则。架构文档化的主要输出结果是架构规格说明书和(56)。
A.架构风格
B.设计模式
C.架构策略
D.架构描述
第3题:
试题(45)
软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。以下关于软件架构设计活动的描述,错误的是 (45) 。
(45)
A. 在建立软件架构的初期,一般需要选择一个合适的架构风格
B. 将架构分析阶段已标识的构件映射到架构中,并分析这些构件之间的关系
C. 软件架构设计活动将已标识构件集成到软件架构中,设计并实现这些构件
D. 一旦得到了详细的软件架构设计,需要邀请独立于系统开发的外部人员对系统进行评审
第4题:
将系统需求模型转换为架构模型是软件系统需求分析阶段的一项重要工作,以下描述中,( )是在转换过程中需要关注的问题。
A.如何通过多视图模型描述软件系统的架构 B.如何确定架构模型中有哪些元素构成 C.如何采用表格或用例映射保证转换的可追踪性。 D.如何通过模型转换技术,将高层架构模型逐步细化为细粒度架构模型
第5题:
软件设计过程是定义一个系统或组件( )的过程,其中描述软件的结构和组织,标识各种不同组件的设计是( )。
A.数据和控制流B.架构和接口C.对象模型D.数据模型A.软件详细设计B.软件对象设计C.软件环境设计D.软件架构设计
第6题:
阅读以下关于软件架构的叙述,回答问题1至问题3。
软件架构是指大型、复杂软件的系统结构的设计、规格说明和实施。它以规范的形式装配若干结构元素,从而描述出系统的主要功能和性能需求,同时表述其他非功能性需求(如可靠性、可扩展性、可移植性和可用性等)。软件架构为软件系统提供了一个结构、行为和属性的高级抽象模式,可以使用一个公式来表达:
软件架构={构成系统的元素,指导元素集成的形式,关系和约束}
“4+1”视图模型用五个视图组成的模型来描述软件架构。该模型包含五个主要的视图。
.逻辑视图(Logical View),描述了设计的对象模型,支持系统的功能需求。
.进程视图(Process View),描述了设计的并发和同步特征,支持系统的运行特性。
.物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性,支持系统的拓扑、安装和通信需求。
.开发视图(Development View),描述了在开发环境中软件的静态组织结构,支持软件开发的内部需求。
.场景(Scenario),用来说明重要的系统活动,是其他四个视图在用例(Use Case)驱动下的综合。
软件架构在软件需求与设计之间架起一座桥梁,也是风险承担者进行交流的手段,允许不同的风险承担者找出他们所关心的软件架构问题。假设采用面向对象的设计方法,各个视图涉及的组件(元素)包括:任务、类、模块、节点、步骤等,风险承担者包括最终用户、系统设计师、程序员、经理、项目管理师等。请在下表中的(1)到(7)处填入恰当的内容(空白处不用填)。
第7题:
软件设计过程是定义一个系统或组件(1)的过程,其中描述软件的结构和组织,标识各种不同组件的设计是(2)
(1)A、数据和控制流
B、架构和接口
C、对象模型
D、数据模型
(2)A、软件详细设计
B、软件对象设计
C、软件环境设计
D、软件架构设计
第8题:
采用以架构为核心的软件开发方法,在建立软件架构的初期,首要任务是选择一个合适的( ),在此基础上,开发人员通过架构模型,可以获得关于( )的理解,为将来的架构实现与演化过程建立了目标。
A.分析模式 B.设计模式 C.架构风格 D.架构标准 A.架构需求 B.架构属性 C.架构优先级 D.架构约束
第9题:
软件架构设计包括提出架构模型,产生架构设计和进行设计评审等活动,是一个迭代的过程。架构设计主要关注软件组件的结构、属性和( ),并通过多种( )全面描述特定系统的架构。
A.实现方式 B.交互作用 C.设计方案 D.测试方式 A.对象 B.代码 C.文档 D.视图
第10题: