- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chap3 系统概要设计中架构设计
Chap03 系统概要设计中的架构设计 教学目标 掌握系统的架构设计 掌握包图的建立 熟悉常用软件体系结构 掌握基于Java EE平台的架构技术 教学重点 包图的建立 基于Java EE平台的架构技术 教学难点 基于Java EE平台的架构技术 导论 概要设计中最重要的工作室系统的架构设计 架构设计 逻辑架构设计——包图 物理架构设计——部署图 概要设计 软件系统设计 系统设计:通过某种特定的平台,完成软件系统的整体功能(把软件需求转变为软件的具体方案),包括:概要设计和详细设计 具体工作内容: 概要设计 软件系统设计 系统的概要设计:将软件系统的功能需求和非功能需求转化为数据结构和软件的系统结构,并合理地设计和规划出组成软件系统的物理元素:程序、数据库、过程、文件等内容 概要设计 软件系统设计 系统的详细设计 类图 活动图 组件图 概要设计 软件系统设计 为什么要进行软件系统的设计 主要原因:系统分析模型过于简单和粗糙 目的:指明一种易转化成软件系统功能代码的解决方案,是对系统分析工作的进一步细化和具体实现。也就是进一步细化分析阶段提取的各个类(包括其操作和属性),并且增加新的类以处理诸如系统中涉及的数据库系统、用户接口、与其他设备的通信、控制和驱动其他的设备等技术领域的问题 系统设计的基本要求 系统分析与系统设计之间应该是相互合作的 系统分析:面向问题的,是明确和了解问题的过程,重在理解和翻译,灵活性一般比较高 系统设计:面向解决方案的,是排除技术困难和解决问题的过程,重在精化和适应,受约束性和限制条件一般比较多。 进行系统设计时应注意的要点: 应该考虑能否使用重复的体系结构模式或者重用成熟的系统结构 体系结构从更高的层面上应该考虑的问题主要体现在“不变”因素上。 概要设计 软件系统设计 软件设计中的“3W”原则 Who——为谁而设计,应该明确软件系统的真正用户是谁 What——要解决用户在应用系统时的哪些问题,功能有哪些?性能又有哪些? Why——为什么要解决这些问题?将这些问题解决后,能否为用户带来价值、降低开发方的成本等 围绕“用户”而非围绕“开发者”,开发者追求的设计目标:用户的需求、便于用户的使用同时又能使开发出的软件在应用新技术方面尽可能简单,相应的降低开发成本 常用的设计方法 面向过程的设计方法 面向对象的设计方法 概要设计 面向对象设计方法 特点:OOD(Object-Oriented Design)是“自下而上”,形成一种螺旋上升的软件开发方式 系统设计中的概要设计 概要设计(结构设计、总体设计) 涉及的主要内容: 制定本软件系统的开发规范:代码体系、模块间的接口和命名规则;设计文档的编制标准;规定与硬件、操作系统的接口规约和命名规则 体系结构设计(架构设计) 划分模块并进行组件类的设计 数据结构与算法设计 数据库的逻辑设计 其他方面 概要设计 系统设计中的概要设计 涉及系统设计的基本原则 先进性:在设计思想、系统构架、采用技术和选用平台上均要有一定的先进性、前瞻性和扩充性 实用性:简单、使用和人性化 可靠性 开放性 可维护性:分层设计、模块化并遵循面向接口编程 可伸缩性 可移植性 概要设计后的重要输出 概要设计说明书 数据库设计说明书 用户手册 制定初步的测试 计划,并对测试策略、方法、步骤提出明确要求 软件架构设计 软件架构及架构设计 在IT业,软件的系统架构是指通过某种特定的技术平台,完成软件系统整体功能的开发过程。 架构:软件系统结构通常被称为架构 必须考虑如技术方向、开发平台的选择、组件的构建、设计风格的确定、设计模式的具体应用、系统中各个模块职责的划分、协作、连接等问题 软件架构及架构设计的重要性---Java软件开发中几种认识误区 软件架构一般概念 (1)什么是架构-----在IT,架构普遍指通过某种特定的平台,而达到完成整体软件的功能的设计过程。 架构是一组有关如下要素的重要决策 (1)软件系统的组织 构成系统的结构化元素的选择 接口和它们相互协作的行为的选择 结构化元素和行为元素组合成粒度更大的子系统的方式的选择 (2)指导这一组织(元素及其接口、协作和组合方式)的架构风格的选择 软件架构在软件系统开发中的位置 (1)一般的位置 架构设计往往发生在细节需求尚未完成的时候进行的。因此,随着项目的进行,需求还可能细化,可能变更。原先的架构肯定会有不足或错误的地方。 为了实现不断的改进,我们将在开发流程中引入迭代的概念。 软件架构的重要性体现在以下三方面 (1)软件架构是软件各相关方联系的载体 软件系统架构的主要工作内容 (1)架构调研----广义上,是对系统的重大设计决策有特别影响的需求进行分析 是指识别对系统存在或可能存在重大影响的功能性或非功能性需求(特别是非功能性需求)。 例
文档评论(0)