- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
架构设计中的重要概念 架构与模式 架构≠设计模式 模式是经验的重用,模式对软件开发中出现的一些问题给出了比较好的解决方案 模式的决定和使用是设计阶段考虑的问题 架构和设计中采用合适的模式可以快速的解决某些问题 软件架构的概念 在软件架构概念的理解上通常分为两大流派: 组成派:软件系统的架构将系统描述为计算组件及组件之间的交互。 决策派:软件架构是一系列重要决策的集合。 两种架构设计的区别和联系 组成派和决策派关于软件架构概念的区别在于从不同角度来描述对软件架构概念的认识。组成派是从软件架构的最终形态角度来描述软件架构,决策派是从软件架构形成过程来描述软件架构。 软件架构最终要用构件、连接件及其约束来描述,这既是决策的主要内容和决策结果,也是软件架构最终的表现形式。这就是他们的共同点。 两种架构设计的区别和联系 一个软件项目开发可能涉及到多套方案,对方案的选择可能涉及到复杂的因素,需要决策者做出有远见的决策。这样的决策对系统的开发产生根本性的影响,软件系统最终表现的构件、连接件及其约束的选择是这些决策导致的产物。 实例—考试系统的设计决策(1) 对于一个考试系统,考试的公正性、可用性、系统性能是考试系统的关键质量属性。 对公正性的考虑:避免抄袭是重要措施。 方案:同一份母卷,产生不同的考试试卷。考生登录后,直接生成考试试卷。 实例—考试系统的设计决策(1) 可用性考虑:考生年龄差异大、工作岗位特殊、有的考生计算机应用水平很低,可能无法输汉字。 方案:①考生登录只输数字型考号,登录后显示考生信息进行核实;②客观题机考,主观题可机考,也可笔试(通过投影仪显示主观题) 实例—考试系统的设计决策(1) 系统性能不影响考试进度和考生情绪。 前面1、2条的方案属于软件架构的内容,因为它是考试系统设计必须遵循的原则。 性能问题难以估计,将逐步解决。 实例—考试系统的设计决策(2) 生成试卷存在的问题:当超过50人考试时,生成试卷遇到性能瓶颈:等待时间长,甚至产生的试卷不完整。 原因:生成试卷是对母卷进行随机的大题交换、小题交换、备选答案交换等一系列复杂运算实现,运行时间长,并发操作不能太多。 解决方案:将试卷生成功能独立,提前一个时间量先生成考试试卷,考生登录后直接取试卷。 架构 软件架构 逻辑架构:关注功能(三层架构) 系统架构 物理架构:关注系统、网络、服务器等基础设施 数据架构:关注的是数据持久化和存储层面的问题 软件架构 软件架构是对系统的高层视角,或者是对系统的抽象。 简单来说:软件架构就是软件系统的一张蓝图。 正确理解设计的含义 架构和设计是两个不同的概念 设计主要是指思考和求证的过程 设计指明了如何解决一个个问题,并提出方案和计划 当软件系统的架构确定之后,设计就开始了 正确理解设计的含义 业务需求是系统架构的决定性因素 软件设计和开发在架构确定之后开始进行 开发是在设计的基础上进行的 业务需求 架构 设计 开发 正确理解设计的含义 机械工程师 正确理解设计的含义 三层架构 表示层(User Interface layer-UI) 业务逻辑层(Business Logic Layer-BLL) 数据访问层(Data Access Layer-DAL) 架构设计中的重要概念 一、Tier和Layer Layer指系统中的逻辑结构,Tier指系统的物理部署结构,不同的Layer可以在同一Tier上;不同的Tier上面可以有相同的Layer。 架构设计中的重要概念 常见的分层架构设计 常见的5层逻辑架构 逻辑上的N层架构,优势在于将功能分割成明确的角色和组,提高了清晰度和可维护性 常见的分层架构设计 一、界面层 界面层通过指的是用户层或表现层。 为什么把界面层和界面控制层分开来介绍(一般把界面层和界面控制层综合在一起,统称为“显示层”) 常见的分层架构设计 二、界面控制层 该层包含以下功能:决定用户应该看到什么,对路径进行导航,以及解释用户的输入。 在Windows窗体的应用程序中,这些逻辑指窗体后台的代码;Web窗体的应用程序中,这些逻辑不仅仅指窗体后台的代码,也包含服务器端控件的代码。 常见的分层架构设计 二、界面控制层 界面控制层的代码是接受用户的输入,然后将其提供给业务层,在那里输入会被验证、处理,或者其他的操作。然后,界面控制代码必须对用户的输入做出响应,并显示与业务层交互的结果。 常见的分层架构设计 二、界面控制层 控制用户界面和程序数据之间同步根据界面操作完成对程序数据更新程序数据改变及时反应用户界面。 常见的分层架构设计 三、业务逻辑层(BLL) 业务逻辑层包括所有的业务逻辑,如:数据验证、控制、处理,以及对应用程序的授权等。 常见的分层架构设计 可以在浏览器或其他外部客户端中验证逻辑,但不能信任客户端
您可能关注的文档
- 第8章扩展存储器重点.ppt
- 道德讲堂感恩父母剖析.ppt
- 施工合同7重点.doc
- 道德讲堂课件剖析.ppt
- 第10章(并行接口)重点.ppt
- 第10章_数据的收集、整理与描述全章教案重点.doc
- 第6章+触发器及含触发器的PLD重点.ppt
- 车站深基坑开挖方案(最终汇报)剖析.ppt
- 酬赠诗四首1剖析.ppt
- 第8章面向对象程序设计重点.ppt
- 中考语文总复习语文知识及应用专题5仿写修辞含句子理解市赛课公开课一等奖省课获奖课件.pptx
- 湖南文艺版(2024)新教材一年级音乐下册第二课《藏猫猫》精品课件.pptx
- 湖南文艺版(2024)新教材一年级音乐下册第三课《我向国旗敬个礼》精品课件.pptx
- 高中生物第四章生物的变异本章知识体系构建全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 整数指数幂市公开课一等奖省赛课微课金奖课件.pptx
- 一年级音乐上册第二单元你早全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 八年级数学上册第二章实数27二次根式第四课时习题省公开课一等奖新课获奖课件.pptx
- 九年级物理全册11简单电路习题全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 八年级语文下册第五单元19邹忌讽齐王纳谏省公开课一等奖新课获奖课件.pptx
- 2024年秋季新人教PEP版3年级上册英语全册教学课件 (2).pptx
文档评论(0)