




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件架构与设计模式复习要点整理(老师将我们整理的资料进行了修改和补充,红色的部分是老师的批注)一、软件体系结构部分1、架构设计师与软件工程师的主要区别。架构设计师以宏观(Macro View)的角度切入系统架构,善于抽象思维,软件工程师则通常是以微观(Micro View)的角度切入。 如一般设计师通常考虑的层次是一个使用者按下按钮时所发生的状况,而架构设计师考虑的则是成千上万个使用者按下按钮时所发生的状况。 2、软件体系结构的“4+1视图”是指什么?是否每个软件系统这5个视图都需要?答:从5个不同的视角包括逻辑视角、过程视角、物理视角、开发视角和场景视角来描述软件体系结构。每一个视角只关心系统的一个侧面,5个视角结合在一起才能够反映系统的软件体系结构的全部内容,但并非每个系统都必须把5个视图都画出来,而是各有侧重。例如MIS系统侧重于逻辑视图、开发视图,而实时控制系统则侧重于进程视图、物理视图 1.、典型的软件构架样式(architectural styles)有哪些?答:答到其中4种以上即可o 以数据为中心的构架数据集成一个集中式的数据集与多个客户端进行通信 o 数据流构架成批数据流;管道和过滤器o 虚拟组织架目标:可移植性模拟对象:模拟硬件不具备的功能或软件环境实例:java虚拟机(java的平台独立性)o 调用返回构架目标:可更改性和可扩展性主子程序(传统);面向对象(类派生);层次样式o 独立组件构架由独立进程或对象组成,通过消息进行通信例:C/S模式o 异质构架多种构架样式的综合局部异质/层次异质/并行异质(同时符合几种样式)2、简单了解管道-过滤器风格的应用答:不考概念,能判断出管道-过滤器风格即可n 过滤器(Filter)是数据流水线的处理单元,负责丰富,提炼或转换他的输入数据. 它以下面的三种方式工作: 随后的数据流水线单元从过滤器中拉出(pull)数据. 前面的流水线单元把新的输入数据压入(push)过滤器. 过滤器以循环的方式工作,从流水线中拉出输入数据并且将其输出数据压入流水线. 前两种是被动过滤器(Passive Filter),后面的是主动过滤器(Active Filter).3、简单区别软件构架分析方法SAAM与ATAM。答:不必全部答,选部分要点即可涉及的质量属性:ATAM不面向任何具体的质量属性,但据其历史,它更侧重于可修改性,安全性,可靠性和性能;SAAM只要是可修改性和功能分析的对象:ATAM架构方法或样式,阐述过程、数据流、使用、物理或模块试图的架构文档;SAAM架构文档,特别是阐述逻辑或模块视图的部分试用阶段:ATAM在架构设计方法已经选定之后;SAAM在架构已经将功能分配到各个模块中以后采用方法:利用效用树和对场景的集体讨论来搞清楚质量属性需求。通过对架构方法的分析确定出敏感点、权衡点和风险;SAAM利用对场景的集体讨论搞清楚质量属性需求。通过来验证功能或对更改成本做出估计资源需求:一般用3的时间,另外还有预先的准备时间和之后的总结时间。参评人员有客户、架构师、风险承担者和4人评估小组;SAAM一般用2天时间,另外还有之后的总结时间,参评人员有客户、架构师、风险承担者和3人评估小组6、理解软件体系结构(Software architecture), 框架(Framework)和设计模式(Design patterns) 3个概念答:软件体系结构是构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。框架:框架是一种软件重用技术,它是一个应用软件系统的部分或整体的可重用设计。应用框架具有领域相关性,构件根据框架进行复合而生成可运行的系统。框架具体表现为一组抽象类以及其实例(对象)之间的相互作用方式。设计模式是对面向对象设计中反复出现的问题的解决方案,通常描述了一组相互紧密作用的类与对象。设计模式提供一种讨论软件设计的公共语言,使得熟练设计者的设计经验可以被初学者和其他设计者掌握。设计模式还为软件重构提供了目标。7、了解C/S与B/S混合软件架构及其优缺点答:o C/S与B/S混合软件体系结构的优点是外部用户不直接访问数据库服务器,能保证企业数据库的相对安全。企业内部用户的交互性较强,数据查询和修改的响应速度较快。 o C/S与B/S混合软件体系结构的缺点是企业外部用户修改和维护数据时,速度较慢,较烦琐,数据的动态交互性不强。二、框架了解层次结构的各层在逻辑上各自独立,表现层与功能层,功能层与数据层之间要进行数据传送,通常采用的技术。答:中间件技术,请查资料,简要作答3、给出一个基于Model-View-Controller模式构建三层Web应用(Browser/Web/DataBase)的简单方案。要求用JSP, Servlet, JavaBeans 和JDBC的技术组合来实现。整个系统采用Browser/Web/DataBase的三层体系结构。Web服务器接受请求,通过应用程序服务器执行Servlet并返回其输出,实现与客户机进行信息资源的交互。数据库服务器用来存储管理信息系统中所用到的各种数据。系统的客户端只需要一个浏览器,相关人员通过浏览器来查询、增加、修改、删除数据,对信息进行管理。(上述文字与下图只选一种表达即可) 在中间层上采用MVC模式 角色: Model层实现业务逻辑View层显示用户界面 Controller层负责View层和Model层之间的控制关系实现:Servlet控制器 JSP文档视图 JavaBeans模型三、设计模式4、理解面向对象设计的“开闭”原则答:“开闭”原则是指软件实体应当对扩展性开放,对修改关闭。即软件实体应该在不修改的前提下扩展,这个原则实际上为软件设计指明了目标。我们知道软件设计应当充分考虑软件的可维护性,即需求发生变化的时候软件结构能够灵活地适应这种变化。就评价软件的可维护性而言,“开闭”原则提供了一个依据。实际上,设计模式的应用就是使软件的结构在某种程度上满足“开闭”原则。5、理解下述面向对象设计的策略 (1)Design to interfaces.答:设计到接口,关注对象外部特征(2)Favor composition over inheritance.答:采用类组合而非类继承的方式进行设计(3)Find what varies and encapsulate it. 答:发现变化点,封装变化点四、方案题参照课件ppt unit1-case05 从1-2中任选一题作答或选择你自己开发的系统作答 软件体系结构分析与设计要点提示(供参考和选择):软件体系结构(软件架构)实现方案(系统框架、开发平台、网络结构、开发工具、技术等)M-V-C 模式数据层设计设计模式 1、公路长途客运行业联网售票系统系统通过整合公路客运行业客票资源,解决长途客运信息分散,乘客难于获得出行信息,必须到站买票等问题,并实现站间互售、社会代售、网络订售票相结合的全新的公路长途票务服务。客运站隶属于不同的经营主体,客票中心配置中心应用服务器和中心数据库,汇总全部客票信息。每个客运站都拥有独立的信息管理系统,客运站和社会代售点通过城域网络接入中心服务器,网络用户通过Internet连接网上订票WEB服务器,实现订售票服务。整个系统构成松散的“邦联式”结构。客运站信息系统包括售、检、调、结等功能;票务中心包括管理、票务、结算功能。 在系统建成后一段时间内,客运站售票仍是售票的主要方式,不能因为系统的其它故障导致客运站售票活动的中止,从而使旅客在客运站集结,影响社会正常的工作、生产秩序。2、远程考试系统远程考试系统是一个基于数据库和Web的远程在线实时测试系统。系统中的大量题库、试卷、用户信息等都是作为数据库记录的形式存储的, 使得系统的管理维护和扩展更为方便,同时也便于从数据库中随机自动产生一份试卷。 远程考试系统客户端的配置极为简单,并且支持远程访问,客户端的平台无关性使得系统可以适用各种复杂的应用。系统的绝大部分工作都是在Server端完成的;Client 端根据功能分为普通Client和数据库管理Client。远程考试系统从功能逻辑上划分可分为以下四个部分:1) 考生考试系统:考生考试系统具有参加考
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Recycle Mike's happy days(教学设计)-人教PEP版英语六年级下册
- 法律顾问合同审查注意事项与范本
- 六年级品德与社会下册 齐心真好 1说课稿 科教版
- 人教部编版七年级道德与法治下册7.1单音与和声说课稿
- 第六单元《 我爱冰雪运动》(大单元教学设计)-一年级上册数学青岛版
- 小学二年级数学期末测试题
- 安徽省滁州市南谯区2026届数学八上期末质量检测试题含解析
- 活动2 计算机的基本操作说课稿初中信息技术人教版新疆专用七年级上册-人教版新疆专用
- 高一物理力学单元测试题及解析
- Unit5AhealthylifestyleWeletotheunit(教学设计)译林版英语七年级上册
- GB/T 19249-2017反渗透水处理设备
- 汽车漆色差课件
- 涂漆检验报告(面漆)
- 制药工程专业导论03.中药制药课件
- 小学数学四年级上册《数对》课件
- 廉政审查报告
- 工程机械行业发展深度报告
- DB32-T 3158-2016内河水上服务区建设标准-(高清现行)
- 2022年上海交通大学学生生存手册
- 建设工程施工合同(示范文本)解读课件
- 高中美术 《设计》艺术与技术的结合——产品设计 1 课件
评论
0/150
提交评论