




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、简答题1. 基于软件构件/构架的软件认识观主要包含什么哪些方面内容?答:(1)应用软件开发的复用思想;(2)应用软件系统是一个社会技术系统;(3)系统架构的中心地位;(4)可视化建摸技术的支持;(5)对自适应系统的需求;(6)应用软件的构件化开发是未来必然的开发模式。 2.逆工程、再工程以及重用再工程有什么区别与联系?答:从已有的应用系统中抽取可复用软件成分的过程,经常被称为“重用再工程(Reuse Re-engineering)”过程;逆工程(Reverse-engeering)是在软件维护过程中,对当前的软件系统进行理解,识别部件和部件之间关系的过程;再工程(Re-engineering)是在软件维护过程中,为了改善系统的性能,使其适应硬件和应用环境不断变化的需求,对原有系统进行再加工的过程。 3.列出软件复用实现的5种技术形式。答:1源代码复用;2目标代码复用;3设计/分析结果复用;4类模块复用;5构件复用。 4.与传统软件过程相比,简述支持复用的软件过程。答:以往:(首先)首先分解系统,划分模块,分配开发任务;(实现)各个组成部分并行实现,最后通过主程序组织各部分,形成应用系统。支持复用的软件过程:(首先)根据高层次的抽象模型建立整个应用系统的框架.;(实现)在框架指导下,寻找复用的软件模块(构件),快速实现同类型的系统.。 5.简述软件复用的优点。答:1软件生产效率提高;2.系统维护难度、工作量和费用降低;3. 系统间的互操作性提高;4开发流程,支持快速原型开发简化;5培训成本减少;6有关建立系统的知识共享。 6.列出常见的6种主流的构架/构件技术。答:Microsoft COM/DCOM/COM+技术、 J2EE/JavaBeab/EJB(Hibernate)(Java EE)、 .NET、 MVC、 基于J2EE规范的应用程序构件、 CORBA。 7.述软件体系结构的“4+1视图”模型。答:逻辑视图,过程视图,物理视图,开发视图,场景视图 8.简述软件体系结构的生命周期。答:软件体系结构生命周期是指:软件体系结构在整个生存期间所经历的阶段和步骤1软件体系结构的非形式化描述、2软件体系结构的规范化描述和分析、3软件体系结构的求精与验证、4软件体系结构的实施、5软件体系结构的演化和扩展、6软件体系结构的评价和度量、7软件体系结构的终结。 9.简述构件的形式化定义中外部接触点(端口port)的8个组成要素。答:构件接口是构件与外部接触点的集合,即.每个Port有一个8元组定义.小i为下标 10.简述构件3C模型主要内容。答:概念(Concept)主要描述构件“做什么”,用抽象的概念去理解构件的功能;又分为接口规约和语义描述;内容(content)是概念的具体实现,描述构件如何完成概念刻画的功能;语境(context)是构件和外围环境在概念级和内容级的关系 11.简述连接件的主要特性(可扩展性、互操作性、动态连接性和请求响应性)。答:连接件的可扩展性是指:连接件允许动态地改变被关联的构件集合和交互关系、互操作性是指:被连接的构件通过连接件对其它构件进行直接或间接操作、动态连接性是指:对连接的动态约束,连接件对所关联的构件可以实施不同的动态处理、请求响应性是指:响应的并发性和时序性 12.简述软件体系结构核心模型。答:软件体系结构核心模型(Software Architecture Core Model)=构件(Components)+连接件(Connectors)+约束(Constraints)。构件作为一个封装的实体,仅通过其接口与外部环境进行交互,而构件的接口是由一组端口组成的,每个端口表示构件与外部环境之间的交互点;连接件作为软件体系结构建模的主要实体,同样也有接口,连接件的接口是由一组角色构成的,每个角色定义了该连接所表示交互的参与者 13.简述软件体系结构模型。答:软件体系结构模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型 14.在基于UML的软件体系结构建模方法,简述UML各个元素(图)的作用。答:UML描述方法,可以将Kruchten的“4+1”模型映射到UML图上,逻辑视图利用类图来表示,过程视图映射成活动图,开发视图使用构件图来描述,物理视图映射为配置图,场景用顺序图和协作图来表示。用例图是从用户的角度来描述系统功能,指出各功能的操作者,用于捕获业务需求、类图描述了系统中类的静态结构,定义了类的内部结构以及类之间的关联关系、包图描述了系统的层次结构,用于捕获系统的逻辑结构、活动图描述了满足用例要求所要进行的活动以及活动之间的约束关系、合作图描述对象之间的协作,显示对象之间的动态合作关系、顺序图描述对象之间的动态合作关系,强调对象之间的消息发送顺序,显示对象之间的交互关系、状态图描述了一类对象所具有的可能状态及状态之间的转移关系、组件图描述了程序代码的物理结构、配置图定义了软、硬件的物理体系结构,用于捕获系统硬件资源和软件资源之间的映射关系 15.简述分层体系结构风格的优缺点。答:优点:1设计者可以将系统分解为一个增量的步骤序列,从而完成复杂的业务逻辑;2每一层至多和相邻的上下两层进行交互,每一层的功能变化最多只影响相邻两层,便于实现系统功能的扩展;3只要给相邻层提供相同的接口,就可以使用不同的方法来实现每一层,支持软件资源的复用。缺点:1并非所有系统都能够按照层次来进行划分,即使一个系统的逻辑结构是层次化的,但是出于对系统性能的考虑,需要把不同抽象程度的功能合并到一层,破坏了逻辑独立性;2很难找到一种合适和正确的层次划分方法,其应用范围受到限制;3在传输数据时,需要经过多个层次,导致了系统性能下降;4多层结构难以调试,往往需要通过一系列的跨层次调用来实现 16.简述C/S体系结构风格的各部分功能。答:(客户机)表示层,是系统和用户之间的接口,实现用户与系统之间的对话功能,用于检查从键盘和鼠标等设备输入的数据,显示输出结果;(应用服务器)功能层,负责处理所有的业务逻辑;(数据服务器)数据层就是数据库管理系统,负责读写数据,数据库管理系统必须能够迅速地执行大量数据的更新和检索操作。 17.简述B/S体系结构风格的各部分功能。答:B/S体系结构的核心是Web服务器,可以将应用程序以网页的形式存放在Web服务器上当用户运行某个应用程序时,只需要在客户端的浏览器中键入相应的URL,向Web服务器提出HTTP请求;当Web服务器接收HTTP请求之后,会调用相关的应用程序,同时向数据库服务器发送数据操作请求;数据库服务器对数据操作请求进行响应,将结果返回给Web服务器的应用程序;Web服务器应用程序执行业务处理逻辑,利用HTML来封装操作结果,通过浏览器呈现给用户 18.简述配置三层C/S结构的系统的三种传统方法。答:1将表示层放在客户机上,功能层和数据层都放在同一个服务器上,与两层C/S结构相比,虽然提高了程序的可维护性,但两层C/S结构的缺陷并未得到完全解决;2由于三层分别放在不同的计算结点上,因此提高了系统的灵活性,能够适应客户机数目和处理负荷的变动,但是,在这种情况下,服务器之间要进行数据传送,增加了系统开销;3如果将表示层和功能层都放在客户机上,其配置方案如下所示,在这种情况下,客户机的工作负担很重,类似于两层C/S结构。123 19. 简述领域设计中复用元素的选择原则。答:1在软件开发和维护过程中,最频繁使用的软件元素;2提供最大利益的软件元素,例如:节省费用、节省时间、减少项目失败的风险、以及强化重用标准等;3用于创建和维护对本公司具有重要意义的策略性软件元素;4是复用消费者(例如:领域专家、系统框架设计人员、软件开发人员和软件维护人员)所需要的软件元素20. 简述DSSA中领域工程与应用工程之间区别与联系。答:区别:1在领域工程中,开发人员的基本任务是对领域中所有应用的需求进行抽象,而不仅仅局限于个别系统;2在应用工程中,开发人员的主要任务是,以领域工程的成果为基础,针对特定需求产生一系列的具体设计方案;3领域工程是在一个较高的层次上,对领域应用中的共同特征进行抽象,并通过领域模型和DSSA来表示这些共同特征之间的关联关系。联系:1应用工程所建立的系统,包含了需求规约、设计方案和实现细节等多种信息,这些又是领域工程的信息来源;2领域工程负责对应用工程各个阶段中的产品进行抽象;3领域工程所获取的资源,将对本领域新应用的开发提供支持;4领域工程和应用工程都需要解决一些相似的问题;5领域工程的步骤、行为和成果与应用工程是一一对应的;6在应用工程中被广泛使用的方法、技术和原则都可以在领域工程中加以利用(例如:结构化分析方法、面向对象设计技术、实体-关系图、以及数据流图等)二、简答题1.列出5种创建型设计模式。答:工厂方法(Factory Method)模式、抽象工厂(Abstract Factory)模式、原型(Prototype)模式、单例(Singleton)模式,建造(Builder)模式等。2. 列出5种结构型设计模式。答:合成(Composite)模式、装饰(Decorator)模式、代理(Proxy)模式、享元(Flyweight)模式、门面(Facade)模式、桥梁(Bridge)模式、适配器(Adapter)模式等。3. 列出5种行为型设计模式。答:模板方法(Template Method)模式、观察者(Observer)模式、迭代子(Iterator)模式、责任链(Chain of Responsibility)模式、备忘录(Memento)模式、命令(Command)模式、状态(State)模式、访问者(Visitor)模式、中介者(Mediator)模式、策略(Strategy)模式、解释器(Interpreter)模式等。4. 简述软件设计原则。答:开闭原则指出、里氏代换原则、倒置原则、接口隔离原则、组合/聚合复用原则、迪米特法则、单一职责原则三、程序设计题1.按照单例而设计模式,设计一个类President,要求该类只能有一个对象存在。2.按照单例而设计模式,设计一个类Earth,要求该类只能有一个对象存在。3.按照单例而设计模式,设计一个类ABC,要求该类只能有一个对象存在。答:单例设计模式示例代码(Java)public class LazySingleton private static LazySingleton m_instance = null; / 私有的默认构造方法,保证客户端无法直接对其实例化 private LazySingleton() / 静态工厂方法,返回此类的唯一实例 public synchronized static LazySingleton getInstance() if (m_instance = null) m_instance = new LazySingleton(); return m_instance; 单例设计模式示例代码(C+)class Singleton public: static Singleton* Instance();protected: Singleton();private: static Singleton* _instance;Singleton:Singleton()output(Singleton:Singleton()n);Singleton* Singleton:_instance = 0;Singleton* Singleton:Instance () output(Singleton* Singleton:Instance () n); if (_instance = 0) _instance = new Singleton(); return _instance;4.按照Proxy设计模式,设计一个代理电话销售软件。答:抽象主题角色代码:abstract class PhoneSaler abstract public void salePhone();真实主题角色代码:class Saler extends PhoneSaler public void salePhone() System.out.println(销售一部电话);代理角色代码:class ProxySaler extends PhoneSaler Saler sa = null; / 以真实角色作为代理角色的属性public void zengSong() System.out.println(赠送话费);public void salePhone() / 该方法封装了真实对象的salePhone()方法zengSong();if (sa = = null) sa = new Saler();/可以在执行真实对象的salePhone()方法代码的前后加上日志记录 /记录开始sa.salePhone();/ 此处执行真实对象的salePhone()方法 /记录结束客户端代码:public class Client public static void main(String args) PhoneSaler ps = new ProxySaler();ps.salePhone();5.按照Proxy设计模式,设计一个代理电脑销售软件。6.按照Proxy设计模式,设计一个代理书籍销售软件。7.按照观察者Observer设计模式,设计通知上课时间变更软件。8.按照观察者Observer设计模式,设计通知开会(时间,地点)软件。9.按照观察者Observer设计模式,设计通知上车软件。答:抽象主题角色Subject接口的代码:public interface Subject / 注册一个新观察者public void register(Observer observer);/ 删除一个观察者,根据返回值判断是否成功完成删除public void clear(Observer observer);/ 通知所有注册过的观察者public void notifyObserver();抽象观察者角色Observer接口的代码:public interface Observer public void update();具体观察者角色ConcreteObserver类的代码:public class ConcreteObserver implements Observer /该类是教工类private TeachingSecretary t;public void update() System.out.println(I get it);public ConcreteObserver(TeachingSecretary t) this.t = t;具体主题角色TeachingSecretary类的代码:import java.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州水电九局四公司招聘1人笔试参考题库附带答案详解
- 2025河南驻马店全域矿业开发公司招聘27人笔试参考题库附带答案详解
- 2025江西吉安市井冈山品牌运营有限公司招聘3人笔试参考题库附带答案详解
- 2025年陕西牛背梁景区招聘(22人)笔试参考题库附带答案详解
- 2025年福建省宁德市高速技术人员(外包岗位)招聘75名笔试参考题库附带答案详解
- 2025年度广西壮族自治区粮油质量检验中心公开招聘工作人员1人笔试参考题库附带答案详解
- 2025年临安区区属国有企业公开招聘工作人员笔试参考题库附带答案详解
- 2025四川绵阳燃气集团有限公司招聘集团及下属子公司25个岗位25人笔试参考题库附带答案详解
- 2025内蒙古金土华维可控农业科技有限公司招聘9名工作人员笔试参考题库附带答案详解
- 危险货运安全知识培训课件
- 2025年药企QA人员岗位职责培训考核试题及答案
- 2025成人高等学校招生全国统一考试专升本《英语》试题及答案解析
- 浙教版2025-2026学年八年级上科学第1章 对环境的察觉 单元测试卷
- 纤维素基包装生物力学性能-洞察及研究
- 基底细胞癌护理查房
- 2025保密观知识竞赛题库(试题附答案25个)
- 工程施工队课件
- 桥梁施工技术创新路径与工程应用研究综述
- 企业反腐倡廉培训课件
- 肺结核患者护理课件
- 食管恶性肿瘤护理查房
评论
0/150
提交评论