(一)软件工程
软件工程由方法、工具、过程组成。
1. 架构设计
为软件系统提供了一个结构、行为和属性的高级抽象。主要内容涉及软件架构描述、软件架构风格、软件架构评估、软件架构形式化方法等。解决好软件的复用、质量和维护问题,是研究软件架构的目的。
(1)软件架构风格
软件架构设计的一个核心问题是能否达到架构级软件复用。架构风格定义了一个系统“家族”,即一个架构定义、一个词汇表和一组约束。软件架构分为:
a. 数据流风格,包含批处理序列和管道/过滤器两种风格。
b. 调用/返回风格,包括主程序/子程序、数据抽象和面向对象,以及层次结构。
c. 独立构件风格,包含进程通信和事件驱动的系统。
d. 虚拟机风格,包含解释器和基于规则的系统。
e. 仓库风格,包含数据库系统、黑板系统和超文本系统。
(2)软件架构评估
在架构评估过程中,评估人员关注的是系统的质量属性。
a. 敏感点:影响单个质量属性,如性能、可靠性等。
b. 权衡点:影响多个质量属性,是多个质量属性的敏感点。
软件架构评估技术分为基于调查问卷(或调查表)的方式、基于场景的方式、基于度量的方式,其中基于场景的方式最常用。基于场景的方式包含架构权衡分析法、软件架构分析法、成本效益分析法。在架构评估中,一般采用刺激、环境、响应三方面来对场景进行描述。
2. 需求分析(做什么)
(1)需求的层次
包含业务需求、用户需求、系统需求。质量功能部署(QFD)将需求分为常规需求、期望需求和意外需求。
(2)需求过程
a. 需求
订阅专栏 解锁全文

492

被折叠的 条评论
为什么被折叠?



