Skip to content

软考高级:系统架构设计师

具有服务端开发相关工作的从业人员首选,每年 2 次考试机会。

新版教材 + 知识点

系统架构概述

考点:选择题,0-1分

架构:

系统:

系统架构:是系统的一种整体的高层次的结构表示,是系统的骨架和根基,支撑和链接各个部分,包括组件、连接件、约束规范以及指导这些内容设计与演化的原理。

架构设计的作用:

  • 解决相对复杂的需求分析问题;
  • 解决非功能属性在系统占据重要位置的设计问题;

发展阶段:

  1. 基础研究阶段:模块化开发方法
  2. 核心体系与核心技术形成阶段:软件组件化技术
  3. 理论体系完善与发展阶段:研究软件架构风格
  4. 普及与应用阶段:软件架构是软件生命周期中的重要产物,它影响软件开发的各个阶段

软件架构模型:

  1. 分层架构:
  2. 事件驱动架构:队列、异步
  3. 微核架构(插件架构):内核系统、即插组件
  4. 微服务架构:SOA架构的升级
    • RESTful API 模式
    • RESTful 应用模式
    • 集中消息模式
  5. 云架构:处理单元虚拟中间件

🌟🌟🌟软件架构模型(建模方法)

  1. 结构模式:架构描述语言
  2. 框架模型:侧重于整体的结构
  3. 动态模型:大颗粒的行为性质
  4. 过程模型:步骤和过程

🌟软件架构风格

  1. 管道-过滤器风格
  2. 主/子程序和面向对象的架构风格:组件内部设计
  3. 虚拟机风格
  4. C/S和B/S风格
  5. 平台/插件风格
  6. MVC 风格:用户交互
  7. SOA 风格:企业集成
  8. C2风格:用于GUI软件开发

软件架构的发展未来:模块化编程/面向对象编程、构建技术、面向服务开发技术和云技术;动态架构、架构风格的研究以及组件的重要性。

计算机基础知识

计算机系统

  1. 硬件:冯诺伊曼机,运算器、存储器、控制器、输入设备、输出设备
  2. 软件:系统软件、应用软件

中央处理单元 CPU:CISC(Intel、AMD) 和 RISC指令集

存储器:SRAM、DRAM Flash 等

片上缓存:CPU内部片外缓存:Cache

总线:

  1. 内总线:芯片互联
  2. 系统总线:CPU、主存、I/O接口
  3. 外部总线:计算机板和外部设备之间

接口:

外部设备:

计算机软件

程序、文档和数据

位置:系统软件、应用软件、操作系统、计算机硬件。

操作系统

内核:驻留在内存中,以最高优先级运行,能执行指令系统中的特权指令,具有直接访问各种外设和全部主存空间的特权。

🌟🌟🌟操作系统的特征

  1. 并发性:分时
  2. 共享性:资源共享,如内存、I/O设备
  3. 虚拟性:虚拟内存、虚拟处理器
  4. 不确定性:资源有限、走走停停

分时操作系统 实时操作系统:被控对象允许的时间范围内 网络操作系统: 分布式操作系统:分散 微型计算机操作系统: 🌟嵌入式操作系统:可定制性、实时性、可靠性、易移植

数据库:关系型数据库、非关系型数据库

文件:

文件的结构和组织

  1. 逻辑结构:顺序结构、链接结构、索引结构
  2. 物理结构:

文件系统管理方式

  1. 空闲表
  2. 🌟位示图

🌟文件存储结构:直接索引、一级间接索引、二级间接索引

中间件:位于操作系统和应用程序之间,分为消息处理,事物处理,数据存储、安全、缓存等

软件构件:组件,一组程序的集合,独立的,自包容的。

应用构建:文件处理、图形图像

嵌入式系统

特定应用,专用计算机系统。交警罚单设备

嵌入式特点

  1. 专用型强
  2. 技术融合
  3. 软硬件一体,软件为主
  4. 软件固化在存储器中
  5. 体积小价格低

嵌入式系统分类

  1. 嵌入式实时系统:强实时、弱实时
  2. 嵌入式非实时系统

安全要求,分为安全攸关系统

🌟A:灾难性的,B:危害性的,C:严重的,D:不严重的,E:没有影响的。

🌟嵌入式系统分层:应用层、中间件层、操作系统层、抽象层、硬件层

🌟🌟特点:可剪裁性、可配置性、强实时性、安全性、可靠性、高确定性。

计算机网络

性能指标:速率、带宽、吞吐量、时延、往返时间

非性能指标:费用、质量等

信道:物理信道、逻辑信道

🌟香浓公式

星型、树型、总线结构、环形结构、

5G:网络切片技术

集线器、中继器:物理层设备

网桥、(二层)交换机:数据链路层

路由器:网络层

防火墙:静态的资源规则过滤

🌟网络协议(OSI七层协议):应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

网络协议(TCP/IP):应用层、传输层、网络层、网络接口层

  • 网络层协议:IP、ICMP、IGMP、ARP、RARP
  • 传输层协议:TCP、UDP

🌟🌟🌟网络工程:网络规划、网络设计、网络实施。

🌟🌟🌟交换机原理:转发路径学习、数据转发、数据泛洪、链路地址更新

交换机协议:环路 -> 生成树协议(STP)

🌟🌟路由技术:IGP、EGP

计算机语言:机器语言(01)、汇编语言、高级语言(C、C++、Java)

建模语言:统一建模语言UML🌟🌟🌟

  • 构造块
  • 规则:
  • 公共机制:

组合关系(实心)、聚合关系(空心),继承关系、泛化关系、

用例图:包含、扩展和泛化

类图:一组对象、接口、协作和它们之间的关系。

对象图:类图的事物快照

构建图:内部结构

组合结构图:结构化类

时间关系:

  • 顺序图:时间次序
  • 通信图:组织结构

定时图:

状态图:

活动图:计算内部一步步的控制流数据流,可并行。

部署图:

🌟🌟🌟5类视图

  1. 用例示图:功能需求
  2. 逻辑视图:类图、对象图、顺序图、合作图,系统分析和设计人员
  3. 进程视图:状态图、顺序图、活动图、配置图,开发者和系统集成者
  4. 实现视图:构建图
  5. 部署视图:软硬件之间的拓扑结构,部署图,

形式化语言:设计和编制程序的出发点。

  • 面向对象
  • 面向属性
  • 并发行
  • 实时性

Z语言,形式化语言,“状态-操作”风格,主要的结构是模式,变量说明和谓词约束。

多媒体

数据压缩:即时压缩和非即时压缩

VR:桌面式VR、分布式VR、沉浸式VR(全身心参与)、增强式VR

系统工程

组织管理技术,从整体出发,达到最优规划、最优设计、最优管理和最优控制的目的。

系统观念出发,达到整体最优,科学决策方法。

系统工程方法

  1. 霍尔的三维结构:时间维、逻辑维(7个逻辑步骤)、知识维
  2. 切克兰德方法:不是寻找最优,而是比较探寻,7个步骤
  3. 并行工程方法:制造过程和支持过程。
  4. 综合集成:简单系统和巨系统两大类。
  5. WSR系统方法:物理、事理、人理。

系统工程生命周期阶段:

  1. 探索性研究阶段
  2. 概念阶段
  3. 开发阶段
  4. 生产阶段
  5. 使用阶段
  6. 保障阶段
  7. 退役阶段

生命周期方法:

  1. 计划驱动方法——系统化方法
  2. 渐进迭代式开发
  3. 精益开发,聚焦于向客户交付最大价值并浪费活动的最小化。动态的、知识驱动的、以客户为中心的。
  4. 敏捷开发:灵活性。

基于模型的系统工程:MBSE,建模方法,三大支柱,建模语言、建模工具、建模思路

系统性能🌟🌟🌟

计算机:

网络:

操作系统:系统响应时间、资源利用率,可靠性

数据库管理系统:大小、索引数量、最大连接数

路由器:吞吐量、时延抖动

交换机:MAC地址、协议

收集、分析、配置和测试。

阿姆达尔解决方案,加速比=不使用部件/使用部件

🌟基准测试程序:真实程序 核心程序 小型基准程序 合成基准程序

🌟系统监视方法:系统本身命令,系统记录文件

补充知识

层次化存储结构

局部性原理:时间局部性、空间局部性

主存到 Cache 的映射是由硬件完成的。

层次化存储结构的目的是解决价格、容量、速度之间的矛盾。

🌟Cache 的性能:

🌟磁盘的存取时间 = 寻道时间 + 等待时间(旋转延迟时间) + 读写时间(可忽略不计)

🌟磁盘移臂调度算法:

  • 先来先服务(FCFS)
  • 最短寻道时间优先(SSTF)
  • 扫描算法(SCAN):双向扫描,电梯算法
  • 循环扫描(SCAN)算法:单向扫描

🌟进程状态:

  • 三态模型:就绪、运行、等待(阻塞)
  • 五态模型:考虑到外存交互,增加2个状态,静止就绪、静止阻塞

🌟信号量问题,PV操作,临界资源

互斥(临界资源):

生产者/消费者:

前驱关系:有向边的数量=信号量的数量

死锁问题

产生死锁的四个必要条件:

  • 保持和等待
  • 不可剥夺
  • 环路等待
  • 互斥

不发生死锁的最小资源数 n*(R-1)+1

死锁避免:银行家算法

内存中逻辑地址->物理地址转化

页面淘汰算法,淘汰原则:

  1. 首先淘汰未被访问过的页面
  2. 当都被访问过时,应淘汰未修改过的页面
  3. 未修改的页面与辅存内容一致,所以代价较小

段页式管理

流水线问题

流水线周期,流水线中执行时间最长的一段

系统性能

时钟频率

指令执行速度法,用加法指令的运算速度来衡量计算机的速度,MIPS

等效指令速度法:各类运算指令的比例

数据处理速率法:CPU + 主存

综合理论性能法:

基准程序法:用得最多,频率最高

CISC 和 RISC

特点是什么?对比

校验码

奇偶校验码

海明码,2r>=r+m+1r为校验码的位数

循环冗余校验码

输入输出问题

程序控制、中断、DMA(主存和外设之间建立通路)

网络规划设计

需求分析、通信规范分析、逻辑网络设计、物理网络设计、实施阶段

🌟逻辑网络阶段:

  1. 逻辑网络设计图
  2. IP 地址方案
  3. 安全方案
  4. 具体的软件、硬件、广域网连接设备和基本的服务
  5. 雇佣和培训新网络员工的具体说明;
  6. 初步对软件、硬件、服务、网络雇佣员工和培训的费用估计。

🌟物理结构设计:

  1. 物理网络图和布线方案
  2. 设备和部件的详细列表清单
  3. 软件、硬件和安装费用的估计
  4. 安装日程表,泳衣详细说明实际和服务中断的时间及期限
  5. 安装后的测试计划
  6. 用户培训计划

分层设计:接入层、核心层、汇聚层

层次化存储结构

RAID0,无冗余无校验,利用率100%

RAID1,磁盘镜像阵列,利用率50%

RAID2,纠错海明码

RAID3和RAID4,奇偶校验

RAID5,利用率 n1n

RAID6,利用率n2n

RAID10,基于 RAID0 和 RAID10

网路冗余设计

网络冗余设计的目的是避免网络组件单点失效造成应用失效;有两种方式:备用路径,负载分担。

IPv6

128位,更高的安全性

IPv4到IPv6到过渡技术:双协议栈技术、隧道技术、NAT-PT 技术

IPV6压缩0问题,省略0到方式,::

网络协议

表示层、会话层的功能

FTP、HTTP、SMTP、DHCP

DHCP,动态分配IP地址的协议,工作原理。

  1. 租约过半50%,申请续租。
  2. 租约超过87.5%,联系其他DHCP服务器。

DNS,域名解析协议。DNS查询域名的顺序,查询域名的方式:迭代查询、递归查询。

信息系统基础知识

思考,该内容与软件工程的关系,有什么联系和区别?

🌟信息用户和规章制度

🌟🌟信息系统的阶段:总体规划、系统分析(逻辑模型)、系统设计(物理模型)、系统实施、系统验收

生命周期:产生阶段、开发阶段、运行阶段、消亡阶段

信息系统的建设原则:

  1. 高层管理人员介入
  2. 用户参与
  3. 自顶向下规划
  4. 工程化

开发方法:

  1. 结构化法:自顶向下、模块化
  2. 原型法
    1. 按结构划分:抛弃型、演化型模型
    2. 功能划分:水平型、垂直型
  3. 面向对象:自底向上
  4. 面向服务:

业务处理系统

业务处理系统 TPS:最初级别、最低的、最基础的,提高具体事物的处理效率。

管理信息系统

大量管理方法

四大部件:信息源、信息处理器、信息用户、信息管理者

开环结构:不收集外部信息,不根据信息情况决策改变

闭环结构:不断收集信息、不断发送给决策者

决策支持系统 DSS

辅助决策

🌟🌟DSS 应具有的特征:

  1. 数据和模型是 DSS 的主要资源
  2. 支援用户决策,而不是代替用户决策
  3. 半结构化或非结构化问题
  4. 提高决策的有效性,而不是提高决策的效率

🌟🌟DSS 的特点

  1. 面向决策者
  2. 支持对半结构化问题的决策
  3. 辅助决策者、支持决策者
  4. 体现决策过程的动态性
  5. 提倡交互式处理

专家系统

资深专家的专门知识,人工智能范畴,解决半结构或非结构化问题

🌟🌟3个要素组成:数据库、知识库、推理机

决策、不确定性

专家系统构成:

  1. 知识库
  2. 综合数据库
  3. 推理机
  4. 知识获取
  5. 解释程序:面向用户服务
  6. 人机接口

办公自动化系统 OAS

  1. 信息管理
  2. 事务处理
  3. 辅助决策

企业资源规划 ERP

🌟三大流:物流、资金流、信息流

管理理论和管理思想,不仅仅是信息系统

政府信息化与电子政务

三个主体:政府、企事业单位、居民

政府对政府:人口信息

政府对企业,企业对政府:颁发营业执照,缴纳税务

政府对居民、居民对政府

企业信息化与电子商务

企业信息化的目的:

  1. 技术创新
  2. 管理创新:系统整体规划和宏观把控
  3. 制度创新:更多设计规则和流程的建立

🌟企业信息化方法

  1. 业务流程重构方法:彻底的、根本性的
  2. 核心业务应用方法:
  3. 信息系统建设方法
  4. 主题数据库方法:打破“信息孤岛”
  5. 资源管理方法
  6. 人力资本投资方法:

补充:系统需求层次

战略需求、运作需求、技术需求

系统规划阶段

阶段一:数据处理为核心,企业系统规划法、关键成功因素法

阶段二:企业内部管理信息系统

阶段三:价值链分析法和战略一致性模型

企业系统规划法:自上而下的系统规划

关键成功因素法:关键信息稽核,优先次数

补充:客户关系管理系统 CRM

企业应用集成

表示集成:表示层

数据集成:中间件层

控制集成:逻辑层,远程过程调用或远程调用方法

业务流程集成:

企业应用集成方法:

  1. 界面集成:主要关注用户界面的整合。
  2. 过程集成:核心思想是通过服务与服务之间的组合来形成业务流程。
  3. 数据集成:侧重于数据的共享和交换
  4. 应用集成:更广泛地指不同应用程序之间的集成,但不特指服务组合形成业务流程的方式。

按应用集成数据交换方式分类:

  • 共享数据库:实施性强、频繁交互
  • 消息传递:数据量小
  • 文件传输:数据量大、交互少

数据挖掘方法:

  1. 分类
  2. 聚类
  3. 序列模型分析
  4. 关联分析
  5. 离群点分析

企业网站、企业应用门户

信息安全技术基础知识

选择题:3-5分。

重要章节:信息加密、访问控制、抗攻击

🌟信息安全属性:

  1. 机密性:不暴露给未授权的实体或进程
  2. 完整性:不能被篡改
  3. 可用性:在需要时可以访问
  4. 可控性:在授权范围内
  5. 可审查性:调查的依据和手段,日志

🌟信息安全范围:设备安全、数据安全、内容安全和行为安全。

信息存储安全

  1. 信息使用安全:限制访问系统的人员
  2. 用户存储权限:限制进入系统的用户的操作,
    1. 隔离控制法:物理隔离、时间隔离、逻辑隔离、密码技术隔离
    2. 限制权限法:
  3. 系统安全监控:安全监控系统、完善的审计系统、日志管理系统

网络中存在的威胁

  1. 非授权访问
  2. 信息泄漏和丢失
  3. 完整性
  4. 拒接服务攻击
  5. 利用网络传播病毒

安全措施的目标:认证、访问控制、完整性、审计、保密

安全协议:

  • 网络层:防火墙、IPSpec
  • 传输层:TLS、SET
  • 应用层:PGP协议(基于RSA的邮件加密系统)、https

信息安全系统:人、技术、管理

🌟🌟🌟对称加密算法(私钥加密算法、共享加密算法):DES算法 56位、3DES 112位、IDEA 128位

优势:速度快、大量数据

劣势:密钥分发困难

🌟🌟🌟对称加密算法:RSA 512位

🌟数字摘要技术:完整性问题,抗弱碰撞性 & 抗强碰撞性

数字证书:认证中心、X.509标准,内容包括公钥信息,证书管理机构CA、RA

密钥管理平台:PKI

密钥管理技术:自动密钥分配

公钥管理机构:容易成为瓶颈

访问控制技术:主体、客体和控制策略

🌟🌟访问控制的实现技术:

  1. 访问控制矩阵:主题、客体、权限表
  2. 访问控制表:
  3. 能力表:
  4. 授权关系表:适合关系型数据库

数字签名:私钥、不可抵赖

信息安全的抗攻击技术

密钥的生成:增大密钥空间、选择强钥、密钥的随机性

拒绝服务攻击 DoS:消耗资源、破坏或更改配置信息、物理破坏或改变网络部件、利用服务程序中的处理错误使服务失败

分布式拒绝服务攻击三级控制结构:客户端、主控端、代理端

🌟🌟🌟拒绝服务攻击的防御方法:

  1. 加强对数据包的特征识别
  2. 防火墙监视本地端口
  3. 数据量进行统计
  4. 打补丁和修复漏洞

🌟🌟🌟欺骗攻击与防御

  1. ARP欺骗:IP 到 MAC 地址转换
  2. DNS欺骗:冒充域名服务器
    1. xx方法
    2. 虚假地址探测
  3. IP欺骗:入口过滤
  4. 端口扫描
  5. TCP/IP:SYN Flood、ICMP攻击
  6. 系统漏洞扫描
    1. 基于网络的漏洞扫描,便宜、简单,漏洞少,网络流量负载大
    2. 基于主机的漏洞扫描,漏洞数多,网络流量负载小

计算机信息系统安全保护等级,5个等级,等级越高保护能力越强:自主、审计、标记、结构、验证

信息安全风险管理:薄弱环节

  1. 风险评估的实施流程
  2. 风险评估:脆弱性、资产、威胁、风险和安全措施

软件工程

软件工程技术知识

工程化的思想来做软件,需求分析、软件设计、软件开发、软件维护、软件淘汰

1个开发模型可以对应多个开发方法。

开发模型

  1. 瀑布模型:用户需求明确,结构化方法中最常用的开发模型,计划、需求分析、设计、编码、测试、运维共6个阶段。
    1. 产生大量的文档
    2. 线性,开发风险
    3. 不适应用户需求变化
  2. 原型化模型:用户需求不明确,快速建立一个目标系统的最初版本,试用、补充和修改。建模的速度
    1. 抛弃型原型 演化型原型
    2. 水平原型、垂直原型
    3. 两个阶段:原型开发阶段、目标软件开发阶段
  3. 螺旋模型:瀑布模型+演化模型,强调风险分析大型软件开发
    1. 目标设定
    2. 风险分析
    3. 开发及有效性验证
    4. 评审
  4. 敏捷模型:面向人的,而非面向过程的。专业、面对面交流。适应型,而非可预测型、以人为本,迭代增量式多次交付。
    1. 极限编程:交流、朴素、反馈和勇气。
    2. 水晶方法:机动性的,独特的角色。
    3. SCRUM 框架。
    4. 特征驱动开发:人、过程和技术,开发整体对象

最佳实践:

RUP 模型 软件统一过程

RUP 是用例驱动的以体系结构为中心的迭代和增量的软件开发过程。

迭代过程:

  • 4个阶段:
    • 初始:定义最终产品视图和业务模型,并确定系统范围
    • 细化:设计及确定系统的体系结构
    • 构造/建:构造产品并继续演化需求
    • 交付:把产品提交给用户
  • 9大核心过程流程:
    • 商业建模
    • 需求
    • 分析和设计
    • 实现
    • 测试
    • 部署
    • 配置和变更管理
    • 项目管理
    • 环境

构造组装模型

模块化方法,组合手段高效率、高质量地构造应用软件系统过程。

优点:易扩展、易重用、降低成本

缺点:构件设计要求丰富经验的架构师、构件设计不好难以复用。

基于构建的软件开发的5个阶段:

  1. 需求分析和定义
  2. 结构设计
  3. 构件库的建立
  4. 应用软件构建
  5. 测试和发布

V 模型

V模型的特点:测试贯穿始终、测试分段、测试计划先行。

编码 -> 单元测试

详细设计 -> 集成测试

概要设计 -> 系统测试

需求分析 -> 验收测试

迭代和增量的区别:

快速应用开发模型 RAD

极短的开发周期,大量使用可复用的构建。

3建1生测试,流程:

  • 业务建模
  • 数据建模
  • 过程建模
  • 应用生成
  • 测试预交付

能力成熟度模型 CMMI

五个级别:

  1. 初始级:无秩序的、混乱的
  2. 已管理级:类似项目可取得成功。
  3. 已定义级:文档化,标准化。
  4. 量化管理级:有详细的度量标准。
  5. 优化级:过程改进优化。

🌟🌟🌟需求分类

按照内容分类:

  1. 业务需求:用户视角,宏观和全局性
  2. 用户需求:用户视角,具体需求
  3. 系统需求:计算机视角
    1. 功能需求
    2. 性能需求
    3. 设计约束

从客户角度分为

  1. 基本需求:明确提出的
  2. 期望需求:没有提出来,但理所应当
  3. 兴奋需求:

需求工程

需求是一个非常复杂的问题,包括需求开发、需求管理。

需求获取步骤,常见的建模手段包括系统上下文图系统顶层用例图

需求获取方法:用户面谈、问卷调查、现场观察、头脑风暴法、图片串联法、JPR 联合需求计划、原型法

需求变更管理:与客户达成需求共识,需求基线。

需求变更过程:

  1. 识别出问题
  2. 问题分析和变更描述
  3. 变更分析和成本计算
  4. 变更实现

变更管控的方法

需求跟踪矩阵

需求到产品的实现过程。

正向跟踪:需求规格说明书到产品

逆向跟踪:产品到需求

结构化分析

系统分析:结构化、面向对象

系统设计:结构化、面向对象

🌟功能模型——数据流图 DFD,人、物、其他子系统

🌟数据模型——E-R图

🌟行为模型——状态转换图

界面设计

三原则:用户控制、减少用户记忆负担、保持界面一致性。

结构化设计

面向数据流的,以SRD和SA阶段产生的,自顶向下,逐步求精和模块化的过程

  • 概要设计:
  • 详细设计

封装、模块化、高内聚低耦合

模块的内聚类型:顺序、描述

口诀:功顺通过时逻偶

模块的耦合类型:

非直接耦合、数据耦合、标记耦合、控制耦合、通信耦合、公共耦合、内容耦合

概要设计——系统结构图

结构化编程

自顶向下、逐步求精,顺序、选择、循环,只有一个入口和出口。

数据库设计:ER图,视图-属性-联系

面向对象分析 OOA

封装、继承、多态

用例驱动的、以体系结构为中心的、迭代和渐进式的

数据抽象是OOA的核心原则

🌟5个基本步骤:确定对象和类、确定结构、确定主题、确定属性、确定方法

面向对象设计 OOD

类的分类:实体类、控制类和边界类

软件测试

目的:发现错误和缺陷(改错叫调试)

是否在计算机上运行程序:动态测试和静态测试。

动态测试:

  • 黑盒:不考虑程序的内部结构和处理过程
    • 等价类划分
    • 边界值错误
    • 错误推测
    • 因果图
  • 白盒
    • 基本路径
    • 循环覆盖
    • 逻辑覆盖
  • 灰盒

覆盖:语句覆盖、判定覆盖、条件覆盖...

  1. 单元测试:模块测试,开发人员,软件设计阶段完成,白盒
  2. 集成测试:组织测试、联合测试,一次性组装或增量式组装,概要设计,黑盒
  3. 确认测试:有效性测试,是否与用户需求一致,内部测试、Alpha测试、Beta测试、验收测试
  4. 系统测试:连通性测试,功能和性能

其他测试:

  1. 压力测试:获得最大服务级别
  2. 负载测试:超负荷,上限
  3. 强度测试:资源特别低,下限
  4. 容量测试:并发

AB测试、Web测试、链接测试、表单测试

净室软件工程

应用数学与统计学理论,导弹、卫星系统

盒结构规约,验证而不是测试

黑盒、状态盒、清晰盒,正确性验证是核心

基于构建的软件工程 CBSE

购买而不是重新设计、复用,更快

构建是一个独立的软件单元,可组装、可部署、文档化、独立性、标准化。

🌟CBSE过程

  1. 系统需求概述
  2. 识别候选构建
  3. 根据发现的构建修改需求
  4. 体系结构设计
  5. 构建定制与适配
  6. 组织构建创建系统

构建的组装:顺序、层次、叠加

项目管理

范围管理:工作分解结构,对可交付成果分解。

进度管理(时间管理):

  1. 活动定义
  2. 活动排序
  3. 活动资源估算
  4. 历时估算

软件风险管理

不确定的事件或条件,正面或负面的影响。

逆向工程

  1. 逆向工程:类似于山寨的概念,分析已有程序,更高抽象。
  2. 重构:
  3. 设计恢复:抽象出有关数据设计
  4. 再工程:

完备性:实现级、结构级、功能级、领域级

UML

参与者,外部触发因素,时间、温度。

状态图:主要描述行为的结果

活动图:主要描述行为的动作

🌟活动图与流程图的区别:

🌟序列图和协作图的区别:

需求定义

严格定义、原型法

软件维护

改正性维护、适应性维护、完善性维护

系统转换

新系统开发完毕、投入运行,取代现有系统的过程。

直接转换、并行转换、分段转换。

遗留系统改造

视情况而定:技术、业务价值

低水平、低价值,淘汰。

低水平、高价值,继承,兼容已有系统的功能

高水平、高价值,改造,系统功能增强和数据模型改造

高水平、低价值,集成

项目管理计算题

关键路径,可能存在多条。

最少人数,三点估算。

微信公众号:持续运维,掘金:老实巴交的麻匪