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