《软件体系结构最新总结.doc》由会员分享,可在线阅读,更多相关《软件体系结构最新总结.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1. 软件危机:指在计算机软件的开发与维护过程中所遇到的一系列严重问题。2. 软件危机的表现:(重点)1软件的成本日益增长 2开发进度难以控制 3软件质量差,4软件维护困难3. 软件危机的成因:1用户需求不明确 2缺乏正确的理论指导 3软件规模越来越大 4软件复杂度越来越高4. 软件工程三个要素:方法、工具与过程 -(重点)5. 软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。6. 软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识7. 构件:指语义完整、语法正确与有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统。即是具有一定功
2、能,能够独立工作或能同其他构件装配起来协调工作的程序体。8. 构件分类方法归纳为三大类:关键字分类法,刻面分类法与超文本组织方法 -(重点)9. 构件库系统是一个开放的公共构件共享机制,任何使用者都可以通过网络访问构件库。-判断10. 软件体系结构(software architecture -SA)记住英语单词及缩写-(重点)定义:软件体系结构为软件系统提供了一个结构、行为与属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。11. 软件体系结构的意义:-(简答)1)体系结构是风险承担者进行交流的手段;2)体系结构是早期设计决策的表达;3)体
3、系结构是可传递与可重用的模型12. 为什么体系结构是早期设计决策的表达-(简答)1)软件体系结构明确了对系统实现的约束条件;2)软件体系结构决定了开发与维护组织的组织结构;3)软件体系结构制约着系统的质量属性;4)软件体系结构通过研究软件体系结构可能预测软件的质量;5)软件体系结构使推理与控制更改更加简单;6)软件体系结构有助于循序渐进的原型设计;7)软件体系结构可以作为培训的基础13. 软件体系结构技术的发展过程经历四个阶段:-选择,判断(1) “无体系结构”设计阶段-以汇编语言进行小规模应用程序开发为特征。(2) 萌芽阶段-以控制流图与数据流图构成软件结构为特征(3) 初期阶段-出现了从不
4、同侧面描述系统的结构模型,以UML为典型代表(4) 高级阶段-描述系统的高层抽象结构,以提出的“4+1”模型为标志14. 软件体系结构模型5种:结构模型、框架模型、动态模型、过程模型与功能模型。-填空15. “4+1”视图模型从五个不同的视角,包括逻辑试图,进程试图,物理视图,开发视图与场景视图来描述软件体系结构。 -记住名称及相应的功能逻辑视图主要支持系统的功能需求,是系统提供给最终用户的服务。通过抽象,封装与继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图;开发视图也称模块视图,主要侧重于软件模块的组织与管理,主要考虑软件内部的需求,如软件开发的容易性、软件的重用等,通过系统输入输
5、出关系的模型图与子系统图来描述,提供给编程人员的;进程视图侧重于系统的运行特性,主要关注非功能性的需求,如系统的性能与可用性。进程视图强调并发性、分布性、系统集成性与容错能力管道与过滤器风格、客户/服务器风格等适合进程视图,提供给系统集成人员的;物理视图主要考虑如何把软件映射到硬件上,它通常考虑系统性能、规模、可靠性等,解决系统拓扑结构、系统安装、通信问题,提供给系统工程人员的。而场景是那些重要系统活动的抽象,它使四个视图有机联系起来,是最重要的需求抽象,它可以帮助设计者找到系统结构的构件与他们之间的作用关系。总之,逻辑视图与开发视图描述系统的静态结构,而进程视图与物理视图描述系统的动态结构。
6、软件体系结构的核心模型由五中元素组成:构件、连接件、配置、端口与角色。16. 软件体系结构的核心模型由五种元素组成:构件、连接件、配置、端口与角色。其中构件、连接件与配置是最基本的元素。-填空17. 软件体系结构的建立应位于需求分析之后,软件设计(也称概要设计)之前18. 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。软件体系结构风格反映了领域中众多系统所共有的结构与语义特性。19. 通用体系结构风格的分类:-填空或选择 -重点记忆黑体部分属于哪一风格1)数据流风格:批处理序列,管道/过滤器2)调用/返回风格:主程序/子程序,面向对象风格,层次结构3)独立构件风格:进程通信,
7、事件系统4)虚拟机风格:解释器,基于规则的系统5)仓库风格:数据库系统,超文本系统,黑板系统20. C/S体系结构三个主要组成部分:数据库服务器、客户应用程序与网络21. C/S优点-客户应用程序与服务器构件分别运行在不同计算机,对于硬件与软件的变化显示出极大的适应性与灵活性,而且易于对系统进行扩充与缩小;系统中功能构件充分隔离,客户应用程序的开发集中于数据的显示与分析,将大应用处理任务分布到许多通过网络连接的低成本计算机上,节约大量的费用。-自己简要回答C/S缺点-开发成本高;客户端程序设计复杂;信息内容与形式单一;用户界面风格不一;软件移植困难;软件维护与升级困难;新技术不易应用。22.
8、三层C/S体系结构将应用功能分成表示层、功能层与数据层三个部分。23. 浏览器/服务器(browser/server,B/S)结构,其具体结构为:浏览器/Web服务器/数据库服务器。B/S体系结构主要是利用不断成熟的WWW浏览器技术,在B/S结构中除了数据库服务器外,应用程序以网页形式存放于Web服务器上。基于B/S体系结构的软件,系统安装、修改与维护全在服务器端解决,真正达到了“零客户端”的功能。24. B/S体系结构的不足之处:1)缺乏对动态页面的支持能力,没有集成有效的数据库处理功能2)系统扩展能力差,安全性难以控制。3)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于
9、C/S体系结构。4)B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。25. 正交软件体系结构由组织层与线索的构件构成。线索是相互独立的。25. 正交软件体系结构的主要特征:1正交软件体系结构由完成不同功能的n个线索组成。2系统具有m个不同抽象级别的层。3线索之间是相互独立的(正交的)。4系统有一个公共驱动层(一般为最高层)与公共数据结构(一般为最低层)。26. 正交软件体系结构的优点:-简答1结构清晰,易于理解-形式易于理解,线索功能相互独立,不进行相互调用;2易修改,可维护性强-由于线索的相互独立,所以对一个线索的修改不会影响到其他线索;3可移植性强,
10、重用粒度大-因为正交结构可以为一个领域内的所有应用程序所共享,这些软件有着相同或类似的层次与线索,可以实现体系结构级地重用27. 随着软件系统规模的扩大,系统也越来越复杂,所有的系统不可能都在单一的,标准的结构上进行设计。 -可能有判断, 即一种体系结构有多种风格(对)28. 特定领域软件体系结构(domain specific software architecture,DSSA):是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构。-要能看懂英文29. DSSA(基于特定领域软件体系结构)的基本活动:领域分析,领域设计,领域实现。参与DSSA的人员分为四种角色:领域专家、领
11、域分析师、领域设计人员与领域实现人员30. 软件体系结构描述方法有几种:图形表达工具,模块内连接语言,基于软构件的系统描述语言,软件体系结构描述语言(ADL) - 简答31. 体系结构描述语言(ADL)构成要素:构件,连接件,体系结构配置32. 典型的软件体系结构描述语言有:Unicon,C2,Wright,Rapide,SADL,Aesop,ACME判断题,可能给C是设计语言,不是结构描述语言(注意看清是给的C还是C2 )33. 记住全称:UML(unified modeling language;) XML(extensible markup language)HTML(hypertext
12、 markup language,超文本标记语言)SGML(standard generalized markup language,标准通用标记语言)34. Web服务是使用标准技术在Internet上运行的商务流程,它可以使用标准的Internet协议,将功能纲领性地表达在Internet与Intranet上。Web服务(web services)作为一种新兴的Web应用模式,是一种崭新的分布式计算模型,是Web上数据与信息集成的有效机制。35. Web服务的特点 -简答1使用标准协议规范;2使用协约的规范性;3高度集成能力;4完好的封装性5松散耦合36. WEB服务技术核心基于可扩展标记
13、语言(XML)的标准,包括:SOAP (简单对象访问协议),WSDL(WEB服务描述语言),UDDI(统一描述、发现与集成协议)37. Web服务技术可以分为五个逻辑层,分别为数据层(data layer)、数据访问层(data access layer)、业务层(business layer)、业务面(business layer)与监听者(listener)38. 一个完整的web服务包括三种逻辑构件:服务提供者、服务代理与服务请求。与web服务相关的操作有发布、发现与绑定。Web服务开发生命周期分为构建、部署、运行与管理四个阶段。39. Web服务体系结构的优势 -简答 1高度的通用性与
14、易用性 2完全的平台、语言独立性3高度的集成性 4容易部署与发布40. 作为web服务基础的是XML(可扩展标记语言) 填空或判断41. 面向服务的软件体系结构(SOA):是一种应用程序体系结构,在这种体系结构中,所有的功能都定义为独立的服务,这些服务都定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程。 -P182 第(3)的定义也可以42. 面向服务的体系结构(SOA)模型具有的特征:1松散耦合2粗粒度服务3标准化接口43. 模型-视图-控制器(MVC)把交互系统的组成分解成模型、视图、控制三种构件44. 设计模式是一些设计面向对象的软件开发的经验总结45. 设计模式的基本
15、成分:模式名称,问题,解决方案,后果46. 根据模式的目标可以分成:创建性模式、结构性模式与行为性模式,可进一步细化为23种设计模式。 (记清是23种),另外记住Abstract Factory属于创建性模式,Observer属于行为性模式47. 基于体系结构的软件开发过程可以分为独立的两个阶段:实验原型阶段与演化开发阶段-填空48. ABSDM模型把整个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现、演化等六个子过程。见P215页图体系结构文档化过程的输出结果是体系结构需求规格说明与测试体系结构需求的质量设计说明书这两个文档。文档的完整性与质量是软件体系结构成功的关键因素
16、。文档要从使用者的角度进行编写,必须分发给所有与系统有关的开发人员,且必须保证开发者手上的文档是最新的。在一个主版本的软件体系结构分析之后,要安排一次又外部人员参加的复审。最后一步是测试,包括单个构件的功能性测试与被组装应用的整体功能与性能测试。49. 软件体系结构作为一个高层次的抽象,它描述了构件及其之间的关系。50. 复杂性分析包括:构件的复杂性,连接件的复杂性51. 软件体系结构测试与程序测试不同,它是检查软件设计的适用性,不考虑软件的代码实现。软件体系结构主要关注系统的结构与组装,如果参与组装的各个部分之间彼此冲突,那么由此组装、精化与实现的系统一定不能工作。52. 测试准则:测试应覆
17、盖所有的构件及各个构件的接口、各个连接件的接口、构件之间的直接连接、构件之间的间接连接。53. 软件体系结构测试过程可以分为单元测试、集成测试与系统测试。单元测试时最底层的测试活动,指构件开发者对构件本身的测试,一般有构件开发者完成。集成测试的主要任务是测试构件之间的接口以保证构件能够交互。系统测试的主要任务是测试整个系统能否正常运行,保证系统符合其设计模式。测试过程中根据测试准则级别,可选择不同的测试路径,生成测试用例。54. 系统质量属性:性能,可靠性,可用性,安全性,可修改性,功能性,可变性,集成性,互操作性。可修改的四个方面:可维护性,可扩展性,结构重组,可移植性55. 敏感点与权衡点
18、不一样。虽然都是关键的体系结构决策,但敏感点是一个或多个构件的特性,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。56. 软件体系结构评估方式有三类:基于调查问卷或检查表的方式、基于场景的方式与基于度量的方式。 选择 -选哪一项不是评估方式的57. 概念:产品线就是由在系统的组成元素与功能方面具有共性与个性的相似的多个系统组成的一个系统族。软件产品线就是在一个公共的软件资源集合基础上建立起来的,共享同一个特性集合的系统集合。主要由核心资源与产品集合组成,核心资源是领域工程的所有结果的集合。58. 看懂P283图59. 产品线开发包括核心资源库的开发与使用核心资源的产品开发。有时,把核心资源库的开发也成为领域工程,把产品开发称为应用工程。第 9 页