【真题笔记】13年系统架构设计师要点总结

在13年真题练习中,结合09-12年中涉及的知识点,对错题+模棱两可+常涉及的考点进行重点记录与内容延申。

范式

1NF :无重复的列;
2NF:非主属性完全依赖于主关键字,即有主键;但要注意,联合主键属于部分依赖,不为2NF
3NF:属性不依赖于其他非主属性,即没有传递依赖。但要注意,有外键,但直接依赖于其他表主键,是3NF;直接依赖于其他表非主键字段,间件依赖其他表主键,则不是3NF

看门狗

要注意,看门狗是接收方,有软件/硬件看门狗,用定时器定时,系统发数据(俗称喂狗),定时器清零重新开始计数;如果系统跑飞了,则定时器没有清零,导致定时器超时,看门狗会进行中断,重启系统。

嵌入式操作系统特点

  1. 微型化
  2. 代码质量高
  3. 专业化
  4. 实时性强
  5. 可裁剪、可配置

ps:没有通用性

实时操作系统(RTOS)+ 非实时操作系统

实时操作系统指当外界事件发生时,及时响应,提供及时响应与高可靠性是它的特点,实时调度目的是尽可能保证每个任务满足时间约束,及时对外部请求响应,大多数用抢占式调度方法,实时性好,反应快,调度算法简单,但上下文切换较多。
实时操作系统可以根据实际应用环境的要求对内核进行裁剪和重新配置,根据不同的应用,其组成有所不同
实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级尽可能快地完成操作即可

非实时调度指不允许任务在执行期间中断,任务一开始处理必须执行完成或者自愿放弃。主要目的是缩短系统平均响应时间,提高资源利用率,或优化某一指标,优点是上下文切换较少,但处理器资源利用率低,可调性不好

可调性:一个实时系统是否满足deadline要求,决定实时任务执行顺序。

丢包率是否是web服务器指标?

不是,丢包率是评价网络的指标。web服务器指标有响应延迟、最大并发连接数、吞吐量…
常见Web服务器性能测评方法有基准性能测试、压力测试、可靠性测试

企业信息集成

  1. 内部信息集成
    技术平台集成:软件、硬件、异构网络集成;
    数据的集成:实现不同系统数据交流与共享;
    应用系统集成:实现不同系统互操性,使得不同应用系统之间能够数据和方法的共享;
    业务过程集成:使得不同应用系统中的流程能无缝连接,实现流程协调运作与流程信息充分共享。即实现不同应用系统之间连接,协调运行与信息共享。
  2. 外部信息集成
    通过门户网站与互联网实现公众、社会团体、社会与客户互动,实现企业内外部信息资源的有效交流与集成;
    通过与合作伙伴信息系统对接,建立动态企业联盟,发展基于竞争合作机制虚拟企业,重塑企业战略模式与竞争优势。

数据挖掘

  1. 数据挖掘包括3步:
    数据准备:从数据源中选取数据并整合成用于挖掘的数据集;
    规律寻找;
    规律表示。
  2. 数据挖掘任务有:聚类分析、分类分析、关联规则挖掘…

技术水平和业务价值对比

在这里插入图片描述
集成:关注把系统打通,互联互通;
改造:小调小修;
继承:使用新技术,重新开发复用,只是用原来数据库结构与业务流程。

逆向工程

逆向工程导出信息可分为:
实现级:包括流程抽象语法树、符号表、过程设计表示;
结构级:包括反映程序分量之间相互依赖关系的信息,如调用图、结构图、程序与数据结构等;
功能级:包括反映程序段功能及程序段之间关系的信息,如数据与控制流模型
领域级:包括反映程序分量或程序实体与应用领域概念之间对应关系的信息,如实体关系模型

逆向工程+重构+设计恢复+再工程

  • 逆向工程:就是分析已有的程序,寻求比源代码更高级的抽象表现形式。一般认为,凡是在软件生命周期内将软件某些形式的描述转换成更为抽象形式的活动都可以称为逆向工程。
  • 重构:指在同一抽象级别上转换系统描述形式
  • 设计恢复:指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计的信息(不一定是原设计)
  • 再工程:也称修复和改造工程,它是在逆向工程所获信息的基础上修改或重构已有的系统,产生系统的一个新版本。

面向对象设计三大类

实体类
边界类
控制类

软件架构设计

主要满足系统质量属性,比如性能、安全性与可修改性,而不是表达系统是否满足用户功能需求,架构设计是非功能性的。

统一软件开发过程(RUP)

RUP是迭代过程,三个核心特点是:以架构为中心,用例驱动,增量与迭代。其中增量与迭代的好处:

  1. 降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。
  2. 降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆忙。
  3. 加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。
  4. 由于用户的需求并不能在一开始就作为完全的界定,它们通常是在后续阶段中不断细化。因此,迭代过程这种模式使适应需求的变化会更容易些。

ps:增量适用于需求比较明确、架构稳定的软件开发项目;迭代适用于需求不明确或经常变化的软件开发项目。

RUP开发周期包括:
初始:建立业务模型,确定边界;
细化:分析问题领域,建立完善的架构,淘汰项目中最高风险元素;
构建:开发剩余构件与应用程序功能,把这些构件集成为产品并详细测试;
交付:确保软件对最终用户可用。

RUP中有9个核心工作流,分为6个核心过程工作流和3个核心支持工作流

  1. 商业建模(Business Modeling):商业建模工作流描述了如何为新的目标组织开发一个构想,并基于这个构想在商业用例模型和商业对象模型中定义组织的过程、角色和责任。
  2. 需求(Requirements):需求工作流的目标是描述系统应该做什么,并使开发人员和用户就这一描述达成共识,为了达到该目标,要对需要的功能和约束进行提取、组织、文档化。最重要的是理解系统所解决问题的定义和范围。
  3. 分析和设计(Analysis & Design):分析和设计工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。
  4. 实现(lmplementation):实现工作流的目的包括以层次化的子系统形式定义代码的组织结构;以组件的形式(源文件、二进制文件、可执行文件)实现类和对象;将开发出的组件作为单元进行测试以及集成由单个开发者(或小组)所产生的结果,使其成为可执行的系统
  5. 测试(Test):测试工作流要验证对象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确的实现,识别并确认缺陷在软件部署之前被提出并处理。
  6. 部署(Deployment):部署工作流的目的是成功的生成版本并将软件分发给最终用户。
  7. 配置和变更管理(Configuration& Change Management):配置和变更管理工作流描绘了如何在多个成员组成的项目中控制大量的产物。
  8. 项目管理(Project Management):软件项目管理平衡各种可能产生冲突的目标、管理风险,克服各种约束并成功交付使用户满意的产品。其目标包括:为项目的管理提供框架,为计划、人员配备、执行和监控项目提供实用的准则,为管理风险提供框架等。
  9. 环境(Environment):环境工作流的目的是向软件开发组织提供软件开发环境,包括过程和工具。

ps: 注意核心工作流没有成本前6个核心过程工作流,后3个核心支持工作流

α测试+β测试

α测试(Alpha测试​):是软件开发的早期内部测试阶段,由开发团队或有限用户体验测试,目的是识别所有可能的问题和错误。
β测试(Beta测试​):是软件开发的后期测试阶段,针对所有用户公开的测试版本,由真实用户在真实环境中执行,以降低产品故障风险并提高质量。

基于架构的软件设计(ABSD)

ABSD 强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用视角和视图来描述软件架构,采用用例和质量场景来描述质量需求。进一步来说,用例描述的是功能需求,质量场景描述的是质量需求(或侧重于非功能需求)。具体步骤如下:

  • 功能的分解:基于模块的内聚与耦合技术;
  • 采用架构风格实现质量属性与商业需求;
  • 采用软件模块设计软件结构。

当考虑架构时,重要的是从不同的视角来检查,这促使设计师考虑具体架构的不同属性。例如:展示功能组织的静态视角能判断质量特性,展示并发行为的动态视角能判断系统行为特性。在ABSD(基于架构的软件设计)方法中,使用不同的视角来观察设计元素,一个子系统并不总是一个静态的架构元素,而是可以从动态和静态视角观察的架构元素。将选择的特定视角或视图与Kruchten提出的类似,也就是逻辑视图、进程视图、实现视图和配置视图

  • 使用逻辑视图来记录设计元素的功能和概念接口,设计元素的功能定义了它本身在系统中的角色,这些角色包括功能性能等。
  • 进程视图也称为并发视图,使用并发视图来检查系统多用户的并发行为。使用“并发“来代替“进程”,是为了强调没有对进程或线程进行任何操作,一旦执行这些操作,则并发视图就演化为进程视图。
  • 使用的最后一个视图是配置视图,配置视图代表了计算机网络中的节点,也就是系统的物理结构

架构权衡分析方法(ATAM)

是一种架构评估方法,主要关注系统的需求说明,针对性能、可用性、安全性、可修改性等质量属性进行评价与折中,整个评估强调以属性作为评估的核心概念。步骤如下:

需求收集;
架构视图描绘;
属性模型构造和分析;
架构决策与折中。

猜你喜欢

转载自blog.csdn.net/weixin_48618536/article/details/143190949