1、软件工程
软件工程由方法、工具和过程三个部分组成;
(1)架构设计
软件架构研究的主要内容涉及软件架构描述、软件架构风格、软件架构评估和软件架构的形式化方法等。解决好软件的复用、质量和维护问题,是研究软件架构的根本目的 。
1)软件架构风格
软件架构设计的 一个核心问题是能否达到架构级的软件复用。
Gari an 和 Shaw 对通用软件架构风格进行了分类,他们将软件架构分为:①数据流风格 。数据流风格包括批处理序列和管道/过滤器两种风格。②调用/返回风格。调用/返回风格包括主程序/子程序、数据抽 象和面向对象,以及层次结构。③独立构件风格。 独立构件风格包括进程通信和事件驱动的系统。④虚拟机风格。虚拟机风格包括解释器和基于规则的系统。⑤仓库风格 。 仓库风格包括数据库系统、黑板系统和超文本系统 。
2)软件架构评估
在架构评估过程中,评估人员所关注的是系统的质量属性。
从目前己有的软件架构评估技术来看,可以归纳为三类主要的评估方式,分别是基于调查问卷(或检查表)的方式、 基于场景的方式和基于度量 的方式 。这三种评估方式中, 基于场景的评估方式最为常用 。
(2)需求分析(重要)
1)需求层次
需求是多层次的,包括业务需求、用户需求和系统需求,这三个不同层次从目标到具体,从整体到局部,从概念到细节。
质量功能部署 C Quality Function Deployment, QFD )是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。为了达到这个目标, QFD 将软
件需求分为三类,分别是常规需求、期望需求和意外需求。
2)需求过程
需求过程主要包括需求获取、需求分析、需求规格说明书编制、需求验证与确认等。
需求获取:常见的需求获取方法包括用户访i炎、问卷调查、采样、情节串联板、联合需求计划等。
需求分析:一个好的需求应该具有无二义性、完整性、一致性、可测试性、确定性、可跟踪性、正确性、必要性等特性。
结构化分析( Structured Analysis, SA )方法进行需求分析,其建立的模型的核心是数据宇典。围绕这个核心,有三个层次的模型,分别是数据模型、功能模型和行为模型(也称为状态模型〉 。 一般使用实体关系图( E-R 图)表示数据模型;用数据流图( Data Flow Diagram, DFD) 表示功能模型,用状态转换图( State Transform Diagram, STD )表示行为模型 。
面向对象的分析( Object-Oriented Analysis, OOA ),OOA 模型独立于具体实现,即不考虑与系统具体实现有关的因素,这也是OOA 和 OOD 的区别之所在。 OOA 的任务是“做什么”,OOD 的任务是“怎么做”。
用例模型:在 OOA 方法中,构建用例模型 一般需