系统概要设计中的构架设计(1).pdf
《系统概要设计中的构架设计(1).pdf》由会员分享,可在线阅读,更多相关《系统概要设计中的构架设计(1).pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第三章 系统概要设计中的架构设计系统分析的目的就是把需求转换为系统的设计,分析与设计是一个前后相互关联的过程。通过对本章内容的学习,读者将被引入软件开发的设计阶段。软件系统的设计一般分为概要设训和详细设计,概要设计中最重要的工作是系统的架构设计。从软件系统的开发实现角度来看,系统的架构设计主要可以分为逻辑架构设计与物理架构设计两个紧密相关的设计内容。系统的逻辑架构设计结果定义了应用系统中的基本逻辑组成元素,以及这些逻辑元素之间的关系,这在 UML 中主要通过架构包图来表示;系统的物理架构设计主要关注“目标程序及其依赖的运行库和系统软件”如何安装或部署到客户最终环境的物理主机中以及如何部署主机
2、(如各种形式的服务器主机)和网络配置来保证软件系统的可靠性、可伸缩性和稳定运行性等方面的要求 这主要通过 UML 中的部署图来表示。在系统的架构设计中,应尽可能地分析清楚系统中哪些逻辑元素是稳定的需求,哪些是经常变化的需求。以便在进行系统设计时,能够将软件系统的核心部分建立在稳定的需求上。本章主要介绍系统概要设计中与“架构设计”有关的内容,并通过州上商城项目中系统架构设计的示例来阐述与架构设计有关的思想、原则和方法以及模式的具体应用。3.1 概要设计 3.1.1 软件系统设计概述 1 软件系统设计概述(1)什么是系统设计?系统设计就是通过某种特定的平台,完成软件系统的整体功能(也就是把软件需求
3、转变为软件的具体方案)的实现。从工程管理的角度来看,软件设计分为如下两个阶段:概要设计和详细设计。图 3.1 为概要设计和详细设计的具体工作内容。图 3.l 概要设计和详细设计的具体工作内容 概要设计的工作重点在于进行系统的静态结构或者高层架构设汁;详细设计的工作重点在于系统的用户界面、动态结构设计以及测试计划的制定等。(2)系统的概要设计。将软件系统的功能性需求和非功能性需求转化为数据结构和软件的系统结构,并合理地设计和规划出组成软件系统的物理元素:程序、数据库、过程、文件等内容。分析设计人员可以利用 UML 中的包图来建立和体现软件系统的体系架构。图 3.2 所示为某图书馆管理系统项目中的
4、架构包图。图 3.2 某图书馆管理系统项目中的架构包图 从上面的架构包图中,很明显地能够看出,该系统采用标准的 4 层架构实现:表示层、控制层、业务处理层和数据访问层;并日还能够了解每层中各个核心的组件及其关系。(3)系统的详细设计(重点是系统的动态结构设计)。通过对软件系统结构表示的进一步细化和完善,最后获得软件系统的详细数据结构和算法、关键性问题的解决等方面的解决方案。为此,分析设计人员可以利用 UML 中的类图建立相应的体系结构,同时再辅以 UML 中的 4 种动态分析图(顺序图、活动图、状态图和协作图),进一步地描述和体现系统中各个用例的实现行为。图 3.3 所示为某图书馆管理系统项目
5、中业务层的类图。图 3.3 某图书馆管理系统项目中业务层的类图 在分析阶段,软件系统的开发者通过建立特定的软件系统模型来表示真实世界中的问题,以便理解业务过程以及这个过程中需要用到的各种信息(业务数据和数据之间的关系)。图 3.4 所示为某图书馆管理系统项目中管理员的各种可能的活动状态图示。图 3.4 某图书馆管理系统项目中管理员的各种可能的活动状态 在具体实施系统的分析时,首先要学会分解问题,把复杂软件系统中的各种信息和需求进行综合考虑,然后分解成多个易于理解的小问题。最后通过建立软件系统的需求模型来对问题领域进行组织、构造和模拟,并且编制出相应的技术文档。在对软件系统进行分析建模的过程中,
6、必须要邀请用户方的有关人员参与,并且需要用户进一步地解释这些需求。其目的是验证开发者建立的软件模型是否是正确的、合理的、可行的。因为软件系统的设计本身,实际上也是个建模的过程,它把分析阶段得出的信息,也就是需求模型,转换为称为解决方案的设计模型。图 3.5 所示为某图书馆管理系统项目中的各个组件的图示,利用组件图能够帮助客户理解最终的系统结构,并使开发人员的实现工作有一个明确的目标;同时组件图还能帮助开发组中的其他人员(如帮助文档人员)理解系统。图 3.5 某图书馆管理系统项目中的各个组件的图示 2 为什么要进行软件系统的设计(1)进行软件系统设计的主要原因。因为建立的软件系统逻辑模型中的用例
7、及用例图并不是分析模型,或者说不能够满足系统的分析需要。它们只是形成分析模型中的素材,而对于用例的分析,开发者可以构造出一个分析模型,但是很少有开发者直接根据这个分析模型去完成软件系统的程序编程实现的。为什么呢?开发者首先应该了解这样一个事实,从用例及用例图得到的分析模型,只表达了软件系统中的一些关键性概念,而不能表达软件系统中的性能和系统的外观(如用户界面GUI)等方面的内容。系统分析模型对于最终的软件系统结构设计来说,又往往过于简单和粗糙,而在软件开发中倡导的“组件复用”、“模块分离”和“面向接口编程实现”等原则在这个系统分析模型中都不能被考虑。因此,软件系统的分析设计人员有必要再对前面构
8、造出的分析模型进一步地设计和完善,以最终构造出开发者期望的软件系统发计模型。以利于指导软件系统的编程实现。(2)进行软件系统设计的目的。对软件系统进行全面设计的主要目的是指明一种易转化成软件系统功能代码的解决方案,是对系统分析工作的进一步细化和具体实现。也就是进一步细化分析阶段提取的各个类(包括其操作和属性),并 H 增加新的类以处理诸如系统中涉及的数据库系统、用户接口、与其他设备的通信、控制和驱动其他的设备等技术领域的问题。3 系统设计的基本要求(1)系统分析和系统设计两者之间应该是相互合作的。系统分析是面向问题的,是明确和了解问题的过程,重在理解和翻译,灵活性一般比较高;而系统设计则是面向
9、解决方案的,是排除技术困难和解决问题的过程,重在精化和适应,受约束性和限制条件一般比较多。从整体上看,分析和设计是不同的,在分析阶段关注的是对需求的描述和理解,而在设计阶段,主要考虑的是具体的技术实现方案。它们是保障问题和针对该问题的解决方案趋于合理和有效的基本动力。(2)在进行软件系统设计时应该注意的要点。应该考虑能否使用重复的体系结构模式或者重用成熟的系统架构。也就是要考虑本系统能否达到在体系结构级别上的软件重用,即能否在不同的软件体系结构中,使用同一个体系结构。比如,人们经常提及的客户服务器模式的 C/S 体系结构和浏览器服务器模式的 B/S 体系结构等的具体应用问题。体系结构从更高的层
10、面上应该考虑的问题主要体现在“不变”的因素上。软件系统的体系结构一般应关注应用系统中的设计模式,更加体现在通过技术解决这些业务差异所带来的影响。比如,关注是否是分布式应用程序、系统分层是如何设计和实现的,也关注系统的性能和安全性等方面的要求是如何满足的。为了能够达到该设计目标,软件系统的设计者必须要了解和分离系统中的“不变”和“可变”部分,然后将它们分离开。对“不变”部分或者是稳定的部分,尽可能地加以重用。4 软件设计中的“3W”原则 软件设计既是面对软件工程的具体应用技术,同时也是聚焦于大批开发者相互协作结果的艺术,成功的软件系统产品应该来自于合理的系统设计。什么是合理的系统设计呢?软件系统
11、的开发者在进行软件系统开发时,最需要考虑的问题就是他们开发和设计出的软件系统或者产品必须满足客户企业发展战略规划的需求,并且能够帮助企业解决实际经营中的问题,提高本企业在同行业中的竞争力。一个合理的软件系统的设计,应该遵守软件设计中的“3w”原则。(1)Who(为谁而设计,应该明确软件系统的真正用户是谁)。为谁设计表达的是软件系统的开发者必须认真研究客户企业的业务领域、研究企业本身的工作特点,从而对于企业本身的业务规则和流程有深刻的理解,最后形成针对这个企业业务经营状态的解决方案。(2)What(要解决用户在应用系统时的哪些问题,功能有哪些?性能又有哪些?)。要解决用户的什么问题,表达的是开发
12、者必须把企业存在的问题提取出来,分析研究哪些问题可以用信息化技术或者特定的软件系统和工具解决;同时还应该搞清楚,企业应用了该信息化技术以后,企业的业务流程需要进行的更改,以及这些更改带给企业的正面和负面影响。(3)Why(为什么要解决这些问题?将这些问题解决后,能否为用户带来价值、降低开发方的成本等)。为什么要解决这些用户问题,表达的是如何帮助企业产生可度量的价值,而这些价值是在研究企业目前存在的问题的基础上产生的,没有这些价值的产生,对软件系统的投资是没有意义的。价值不可度量,企业领导者就不可能积极地支持应用该软件系统或者开发出某套软件系统。另外,还要注意的是设计必须是便于用户使用的。减少系
13、统维护和培训资源的消耗,而且系统应操作简单、应用方便。“3W”原则的本质,就是要求软件系统的设计者围绕“用户”而不是围绕“开发者”或者“时髦的技术”来开展软件系统的设计和开发工作。因此满足“用户的需求、便于用户的使用,同时又能使开发出的软件系统在应用新技术方面尽可能简单相应地降低开发成本”,这就是软件系统的开发者应该追求的设计目标。软件系统设计过程中的各项活动,其实就是权衡“利与弊”的过程,设计人员需要在“简单”与“复杂”之间、“功能实现”与“系统性能”之间、一种“技术方案”与另一种也可行的“技术方案”之间进行权衡。因此,好的设计方案,一定是“中庸”的设计。5 软件系统常用的设计方法(1)面向
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 概要 设计 中的 构架
限制150内