本文共计2833个文字,预计阅读时间需要12分钟。
章节概览

软件架构设计
- 课程介绍
- :本节课讲信息系统工程基础,主要考选择题,重点看课本原文。
- 软件架构设计
- :核心是架构级软件复用,有多种风格,记关键字对应选择。
- 软件架构评估
- :关注系统质量属性,有三种评估方式,基于场景常用。
软件需求分析
- 软件需求分析
- :介绍需求定义、层次,如业务、用户、系统需求,并提及需求分类及过程。
- 需求分析考点
- :
- 强调好需求特性,分析要提炼审查,结构化核心是数据字典。
- 介绍三种模型及对应表示图,面向对象分析基本任务及模型。
- 需求规格说明书需编写评审,验证通过评审或测试。
- UML 相关
- :介绍 UML 定义、结构,提及事物、关系、图、视图,部分需重点掌握。
- 面向对象分析
- :区分分析与设计,明确核心工作,重点区分共享与组合聚集。
软件设计
- 结构化设计
- :采用自顶向下逐步求精,分概要和详细设计,遵循高内聚、低耦合原则。
- 面向对象设计
- :包含抽象封装和可扩展性,有单职责等多个设计原则需掌握。
- 设计模式
- :是前人经验总结,分静态类模式和动态对象模式,有三种类型。
软件实现
- 软件配置管理
- :需写计划、识别配置项、控制变更、记录状态、审计及做好发布交付,前 5 点要背。
- 软件编码
- :将软件设计结果用程序语言写成计算机可识别的程序。
- 软件测试
- :目的是验证软件要求、发现缺陷,有静态和动态测试,方法多样要掌握。
软件部署与交付
- 软件部署交付
- :研发完成后需在正式环境部署交付,涉及打包、安装等操作。
- 持续交付
- :
- 解决交付长存问题,确保代码快速安全部署。
- 需求、开发测试、运维阶段各有实践方法。
- 有缩短时间、自动反馈等好处。
- 部署原则与方式
- :遵循统一存储库等原则,有蓝绿、金丝雀等部署方式。
- 新趋势
- :工作职责分工转变,云计算助力,研发运维融合。
软件过程管理
- 过程管理定义
- :软件过程能力含治理、开发与交付等四方面能力。
- 成熟度模型
- :
- 四个大方面需牢记,各包含多个小方面。
- 五级成熟度等级特征需掌握。
- 域包含开发与交付等四方面。
- 课后要求
- :课后需消化课程内容。
-----------------------------------------------------------------
章节总结
- 架构设计
- :
- 架构定义
- :软件架构为软件系统的高级抽象,包括构件描述、相互作用、连接器、集成模式及约束,指定系统组织,提供设计决策原理。
- 架构风格考点
- :架构设计核心是架构级软件复用;风格有数据流、调用返回、独立构建、虚拟机、仓库,记住关键字对应风格。
- 架构评估
- :评估关注系统质量属性;敏感点是构件特性,权衡点是影响多质量属性的特性;评估方式有基于调查问卷检查表、基于场景、基于度量。
- 需求分析
- :
- 需求层次
- :软件需求多层次,包括业务需求、用户需求、系统需求。
- 质量功能部署
- :将用户要求转化为软件需求,分为常规需求、期望需求、意外需求。
- 需求过程
- :包括获取、分析、编写需求规格说明书、验证与确认。
- UML
- :
- 基本概念
- :统一建模语言,有构造块、规则、公共机制。
- 事物与关系
- :事物有结构、行为、分组、注释;关系有依赖、关联、泛化、实现。
- 图与视图
- :有 14 种图,记住关键字对应图;有 5 个视图,包括逻辑、进程、实现、部署、用例。
- 面向对象分析
- :
- 核心工作
- :分析是做什么,设计是怎么做;分析阶段核心是建立用例模型和分析模型。
- 关系区分
- :关联是类间联系,依赖是一变化影响另一变化,泛化是父类子类关系,实现是保证执行。
- 聚集类型
- :共享聚集、组合聚集。
- 软件设计
- :
- 结构化设计
- :面向数据流,自顶向下逐步求精、模块化,分概要设计和详细设计,遵循高内聚、低耦合原则。
- 面向对象设计
- :思想包括抽象、封装、可扩展性;常用原则有单职责、开闭、里氏替换、依赖倒置、接口隔离、组合重用、迪米特。
- 设计模式
- :是前人经验总结,有类模式和对象模式;按目的分创建型、结构型、行为型。
- 实现
- :
- 配置管理
- :需写配置管理计划,进行配置项识别、变更控制、状态记录报告、审计,了解软件发布管理与交付。
- 编码与测试
- :编码是将设计结果用程序设计语言实现;测试目的是验证软件是否满足要求,方法分静态和动态。
- 部署交付
- :
- 部署交付定义
- :研发后需部署在最终用户环境交付使用,包括软件打包等操作。
- 持续交付
- :解决交付问题,需求阶段用用户故事,开发测试阶段持续集成、测试人员尽早进入,运维阶段打通开发和运维通路。
- 持续部署
- :原则包括部署包来自统一存储库、所有环境使用相同部署方式和脚本、设置检查点可回滚、由运维人员执行、通过流水线改变生产环境、采用蓝绿或金丝雀部署;蓝绿部署准备新旧两版本,有问题切回旧版;金丝雀部署先让少量用户试用新版本。
- 过程管理
- :
- 软件过程能力
- :包含治理、开发与交付、管理支持、组织管理四个能力域。
- 成熟度等级
- :初始级、规范级、组织改进级、量化提升级、创新引领级。