软件架构为软件系统提供了一个结构、行为和属性的高级抽象。
软件架构研究的主要内容涉及软件架构描述、软件架构风格、软件架构评估和软件架构的形式化方法等。
解决好软件的复用、质量和维护问题,是研究软件架构的根本目的。
架构风格包括:
- 数据流风格:批处理序列(顺序执行)和管道/过滤器(输入输出数据流)两种风格。
- 调用/返回风格:主程序/子程座(过程调用)、模块抽象和面向对象(对象及封装),以及层次结构(分层调用)。
- 独立构件风格:进程通信(消息传递、远程调用)和事件驱动(事件触发调用)的系统。
- 虚拟机风格:解释器(解释引擎)和基于规则(规则集)的系统。
- 仓库风格:数据库系统(中央共享数据源)、黑板系统(知识源、黑板及共享数据和控制)和超文本系统(非线性交叉引用)。
需求是多层次的,包括业务需求、用户需求和系统需求。
业务需求:指反应企业或客户对系统高层次的一个目标追求。
用户需求:描述的是用户的具体的目标。
系统需求:是指从系统的角度来说明软件的需求,包括功能需求,非功能需求和设计约束。质量功能部署 QFD 是一种将用户要求转化成软件需求的技术,QFD 将软件需求分为三类,分别是常规需求、期望需求和意外需求。
需求过程主要包括需求获取、需求分析、需求规格说明书编制、需求验证与确认等。
常见的需求获取方法包括用户访谈、问卷调查、采样、情节串联板、联合需求计划等。
使用结构化分析 SA 方法进行需求分析,其建立的模型的核心是数据字典。围绕这个核心,有三个层次的模型,分别是数据模型、功能模型和行为模型(也称为状态模型)。
面向对象的分析 OOA 模型包括用例模型和分析模型。
软件需求规格说明书 SRS 是需求开发活动的产物。
统一建模语言 UML 是一种定义良好,易于表达、功能强大且普遍适用的建模语言。不是编程语言。
以上内容来自专辑