第三章 系统概要设计中的架构设计 系统分析的目的就是把需求转换为系统的设计,分析与设计是一个前后相互关联的过程。通过对本章内容的学习,读者将被引入软件开发的设计阶段。软件系统的设计一般分为概要设训和详细设计,概要设计中最重要的工作是系统的架构设计。 从软件系统的开发实现角度来看,系统的架构设计主要可以分为逻辑架构设计与物理架构设计两个紧密相关的设计内容。系统的逻辑架构设计结果定义了应用系统中的基本逻辑组成元素,以及这些逻辑元素之间的关系,这在UML 中主要通过架构包图来表示;系统的物理架构设计主要关注“目标程序及其依赖的运行库和系统软件”如何安装或部署到客户最终环境的物理主机中.以及如何部署主机(如各种形式的服务器主机)和网络配置来保证软件系统的可靠性、可伸缩性和稳定运行性等方面的要求.这主要通过UML 中的部署图来表示。 在系统的架构设计中,应尽可能地分析清楚系统中哪些逻辑元素是稳定的需求,哪些是经常变化的需求。以便在进行系统设计时,能够将软件系统的核心部分建立在稳定的需求上。本章主要介绍系统概要设计中与“架构设计”有关的内容,并通过州上商城项目中系统架构设计的示例来阐述与架构设计有关的思想、原则和方法以及模式的具体应用。 3 .1 概要设计 3 .1 .1 软件系统设计概述 1.软件系统设计概述 (1)什么是系统设计? 系统设计就是通过某种特定的平台,完成软件系统的整体功能(也就是把软件需求转变为软件的具体方案)的实现。从工程管理的角度来看,软件设计分为如下两个阶段:概要设计和详细设计。 图3.1 为概要设计和详细设计的具体工作内容。 图3. l概要设计和详细设计的具体工作内容 概要设计的工作重点在于进行系统的静态结构或者高层架构设汁;详细设计的工作重点在于系统的用户界面、动态结构设计以及测试计划的制定等。 (2)系统的概要设计。 将软件系统的功能性需求和非功能性需求转化为数据结构和软件的系统结构,并合理地设计和规划出组成软件系统的物理元素:程序、数据库、过程、文件等内容。分析设计人员可以利用UML 中的包图来建立和体现软件系统的体系架构。图3.2 所示为某图书馆管理系统项目中的架构包图。 图3.2 某图书馆管理系统项目中的架构包图 从上面的架构包图中,很明显地能够看出,该系统采用标准的4 层架构实现:表示层、控制层、业务处理层和数据访问层;并日还能够了解每层中各个核心的组件及其关系。 (3)...