管道-过滤器和仓库的区别?
(1)独立的数据仓库,处理流独立,处理数据用连接仓库工具
(2)数据与处理在一起,改动的话需要重启系统
(3)需要仓库工具与仓库连接,数据与处理分离,性能差
(4)可以支持并发连接访问仓库,提升性能
面向对象和基于规则区别?
(1)规则是独立的,用户和规则动态组合
(2)加入新的用户级别和折扣规则必需修改代码,并且重启系统
(3)用户和规则在一起,不需要解释,性能较好
管道-过滤器 和 数据仓储的区别?
(1)通过仓储中间件来交互
(2)流动数据结构,流式数据
(3)数据驱动
(4)根据特定的仓储规则进行扩展
1、给出SOA架构四种基本功能?
(1)负责各个服务之间数据格式的转换。
(2)负责元数据和每个服务的注册。
(3)ESB服务总线把每个服务一起管理,方便交互,将不同系统通过api,web Service来进行连接。
(4)路由、发现、选择等能力。
(5)以及服务请求的负载均衡。
2、分析软件架构评估所关注的质量属性有哪些,每个具体含义?评估的方法有哪些?具体实施如何?
(1)性能:接口的响应时间,吞吐量,准确性,按规定时间内返回给用户。
(2)可修改性:开发人员在规定时间内以较少的成本完成修改开发。
(3)安全性:数据和系统是安全的,保证用户不会恶意访问到。
(4)可用性:系统宕机在规定时间内启动备用系统,保证不会阻断用户流程。
问卷调成:个人主观性太强。
基于度量:对项目的细节要求能力太强。
基于场景,分为软件架构权衡分析ATAM(Architecture Traceoff Analyze Method),成本分析CBAM,软件系统分析法CAAM。
实施?
先对大家做个ATAM介绍,
分为:场景和需求的收集、架构视图和场景的实现、属性模型的构造和分析、评估和折中
3、微服务特点,写五条?
(1)性能提升,针对功能来划分团队,将各个功能分别部署在单个服务器。
(2)不在局限于编程语言,不同的微服务可以采用不同的语言实现,只需要按标准的协议沟通。
(3)按功能划分,可以采用更小的团队来维护。
(4)独立的服务组件,可复用更高。
(5)数据离散化管理,各个服务数据会出现不一致情况。
(6)基础设施,自动化管理。
4、详细论述基于构件开发的方法主要过程?
(1)修改构件
(2)组装构件
(3)评价构件
(4)部署构件
(5)获取构件
自底向上开发。
5、详细论述软件工程软件维护性因素主要有哪些?
(1)可修改性维护,在规定时间内较少成本开发修改。
(2)可理解性维护:用户和开发人员理解。
(3)易完善性维护。
(4)预防性维护:提出系统风险点,给出预防措施,减少风险。
6、常用架构风格有哪些,特点?
(1)面向对象:实体转换为代码里的对象,方便理解,适合较大项目的开发。
(2)隐式调用风格:可以将业务解耦,还可以异步提高接口性能。
(3)层次架构风格:提高并行开发效率,解耦业务数据和业务逻辑,展示层没有逻辑处理,安全性也得到提升。
(4)基于构件风格:提取公共的代码组成构件,方便调用,减少冗余代码量。
7、安全架构哪些方法解决?
(1)sql注入。
(2)用户登入信息鉴权。
(3)用户密码加密MD5。
(4)系统的可用性容灾备份安全。
(5)数据加密,摘要,数字签名。
(6)日志记录,数据双份保险。
8、层次架构四个层次的作用?
(1)展示层:主要接受用户页面请求的入参,以及返回数据库数据给用户可视化。
(2)中间逻辑处理层:中间层可以分为controller控制层和DomainService领域层和Service层,controller和展示层交互,接受入参,领域层处理主要业务逻辑,service主要与数据库访问层交互。
(3)数据库访问层:解耦业务数据和业务逻辑,可以隐藏sql和数据库事务处理,减少开发人员学习成本。显式给开发人员调用方式使用,也可以自定义sql增加复杂sql的处理能力。
(4)数据库层:主要负责业务数据的持久化。
关注我...每天陪你学习一起进步