采用以架构为核心的软件开发方法,在建立软件架构的初期,首要任务是选择一个合适的(42),在此基础上,开发人员通过架构模型,可以获得关于(43)的理解,为将来的架构实现与演化过程建立了目标。
(42)A.分析模式
B.设计模式
C.架构风格
D.架构标准
(43)A.架构需求
B.架构属性
C.架构优先级
D.架构约束
在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景:
假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为(44)。
事务的一致性要求在没有其它事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用(45)机制保证单个事务的一致性。
事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议(46)。
持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中(47),当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该(48)。
(44)A.主动冗余
B.影子拷贝
C.热备份
D.多版本编程
(45)A.逻辑正确性检查
B.物理正确性检查
C.完整性约束检查
D.唯一性检查
(46)A.能够保证事务的可串行化执行,可能发生死锁
B.不能保证事务的可串行化执行,不会发生死锁
C.不能保证事务的可串行化执行,可能发生死锁
D.能够保证事务的可串行化执行,不会发生死锁
(47)A.无需记录“事务开始执行”这一事件
B.无需记录“事务已经提交”这一事件
C.无需记录数据项被事务修改后的新值
D.无需记录数据项被事务修改前的原始值
(48)A.重做
B.撤销
C.什么都不做
D.抛出异常后退出
若系统中的某子模块需要为其他模块提供访问不同数据库系统的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询。针对上述需求,可以采用(49)设计模式抽象出相同的数据库访问过程,该设计模式(50)。
(49)A.外观
B.装饰
C.桥接
D.享元
(50)A.可以动态、透明地给单个对象添加职责
B.为子系统定义了一个高层接口,这个接口使得这一子系统更加容易使用
C.通过运用共享技术,有效支持大量细粒度的对象
D.将抽象部分与它的实现部分分离,使它们都可以独立地变化
各省软考办 | ||||||||||