专栏首页cwl_Java2014年系统架构师软考案例分析考点

2014年系统架构师软考案例分析考点

1.解释什么是 MVC 架构风格以及其中的组件交互关系
    MVC 架构风格:用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑
聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻
辑。
    MVC 架构将整个软件系统划分为模型、视图和控制器 3 个部分。模型负责维护并保存
具有持久性的业务数据,实现业务处理功能,并将业务数据的变化情况及时通知视图;视图
负责呈现模型中包含的业务数据,响应模型变化通知,更新呈现形式,并向控制器传递用户
的界面动作;控制器负责将用户的界面动作映射为模型中的业务处理功能并实际调用之,然
后根据模型返回的业务处理结果选择新的视图。
    在本题中: 
    M:监控组件,V:控制终端, C:管理模块。
2.数据流图(Data Flow Diagram)的基本元素及其作用
  • 2.1 数据流:数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。
  • 2.2 外部实体:代表系统之外的实体,可以是人、物或其他软件系统。
  • 2.3 加工(处理):加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。
  • 2.4 数据存储:表示信息的静态存储,可以是文件、文件的一部分、数据库的元素等。
3.获取构件的方法
  • (1)从现有构件中获得符合要求的构件,直接使用或作适应性(flexibility)修改,得到可重用的构件;
  • (2)通过遗留工程(legacy engineering),将具有潜在重用价值的构件提取出来,得 到可重用的构件;
  • (3)从市场上购买现成的商业构件,即 COTS(Commercial Off-The-Shell)构件;
  • (4)开发新的符合要求的构件。
4.开发构件的策略
  • 4.1 分区:指的是将问题情景的空间分割成几乎可以独立研究的部分;
  • 4.2 抽象:是对给定实践内执行指定计算的软/硬件单元的一种抽象;
  • 4.3 分割:是将结构引入构件的行为,支持对行为性质进行时序推理。
5.主流构件标准
  • 5.1 OMG 的 COBRA(分布计算技术)
  • 5.2 Microsoft 的COM/DCOM/COM
  • 5.3 Sun 的 EJB/J2EE
6.软件的质量属性

质量属性效用包括:性能、安全性、可用性、可修改性。

7.系统的架构风险、敏感点和权衡点
  • 7.1 风险点:架构设计中潜在的、存在问题的架构决策所带来的隐患
  • 7.2 敏感点:为了实现某种特定的质量属性,一个或多个组件所具有的特征
  • 7.3 权衡点:影响多个质量属性的特征,是多个质量属性的敏感点
8.Memcached 相比数据库查询缓存
  • 8.1 缓存架构:数据库缓存只是将查询结果进行缓存,适用面很窄,而 Memcached 是将数据库中的表进行缓存,对于在这些表之上的操作均可适用。
  • 8.2 缓存有效性:Memcached 缓存时效较长,只要未更新,就属于有效状态,而数据查询缓存时效较短(具体时效与配置有关),所以在此方面 Memcached 有优势。
  • 8.3 缓存数据类型:Memcached 缓存数据为表级,而数据库查询缓存为元组级。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 系统架构师论文-论基于构件的软件开发

    本文以我主持的某商业银行交易监控分析系统项目为实例,探讨了作为开发方公司基于构件技术开发项目碰到的问题以及解决的方法。文章首先解释了基于构件技术开发软件的基本概...

    cwl_java
  • JVM性能调优-Java程序员不可不知的对象创建底层步骤细节

    cwl_java
  • 数据库MySQL-数据库表的水平拆分

    表的水平拆分是为了解决单表数据量过大的问题,水平拆分的表每一个表的结构都是完全一致的,以下面的peyment表为例来说明

    cwl_java
  • Java升级那么快,多个版本如何灵活切换和管理?

    近两年,Java 版本升级频繁,感觉刚刚掌握 Java8,写本文时,已听到 java14 的消息,无论是尝鲜新特性(Java12 中超级香的一个功能),还是由于...

    用户4172423
  • 练习题 一下

    1.1 第8题 输出test.txt文件内容时,不包含oldboy字符串的命令 文件内容: [root@znix ~]# cat /data/test.txt ...

    惨绿少年
  • Debezium教程翻译03:启动mysql数据库

    目前,我们已经启动了Zookeeper和Kafka,但是还没有数据库服务器,Debezium可以从中捕获变化。现在,让我们使用一个示例数据库启动一个MySQL服...

    IT云清
  • ACL 2019年度回顾:自然语言处理发展趋势

    今年7月底,计算语言学协会年会(ACL)在风景优美的佛罗伦萨召开。会场设在了一座古老的Medici家族的城堡中。

    大数据文摘
  • day 8 - 1 文件操作

    用户2398817
  • 阿里十年架构师分享如何成为一个Java架构师(文末附学习路线)架构的定义软件架构的重要性什么是好的软件架构什么是坏架构要知道最时尚并不一定是最好的成功的软件又是怎么样的呢JAVA通用领域的相关技术架构

    美的让人心动
  • centos 7 安装python3.6

    centos7 默认安装了python2.7.5,当需要使用python3的时候,可以手动下载python源码后编译安装.

    用户2398817

扫码关注云+社区

领取腾讯云代金券