首页/ 题库 / [问答题]

论设计模式在软件开发中的应用

论设计模式在软件开发中的应用
设计模式描述了在特定场景下解决一般设计问题的类和相互通信的对象。一个设计模式命名、抽象并确定了一个通用设计结构的主要方面,这些设计结构能被用来构造可复用的面向对象设计。现在,设计模式已经广泛地应用在软件开发中。
请围绕"设计模式在软件开发中的应用"论题,依次对以下3个方面进行论述:
①概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。
②简要介绍设计模式的基本概念及分类,详细说明在你所参与分析和开发的应用项目中应用了哪些设计模式、方法,以及选用它们的原因。
③分析并讨论使用设计模式的效果,并分析和评价设计模式对软件开发的影响。

问答题
2021-09-03 20:38
查看答案

正确答案

所谓设计模式,简单地理解,是一些设计面向对象的软件开发的经验总结。设计模式事实上是系统地命名、解释和评价某一个重要的可重现的面向对象的设计方案。
本文的写作要点,大致包括以下几个方面:
①结合自己参与分析和开发的应用项目或从事的实际工作,说明设计模式对系统开发的作用。
②较为详细地说明设计模式的基本分类,并结合项目实际工作,说明在系统开发中所采用的设计模式,以及选择这些设计模式的原因。
③结合项目实际工作,举例说明设计模式的使用效果,针对设计模式对软件开发的影响展开分析与讨论。


试题解析

感兴趣题目
● 软件架构文档是对软件架构的正式描述,能够帮助与系统有关的开发人员更好地理解软件架构。软件架构文档的写作应该遵循一定的原则。以下关于软件架构文档写作原则的叙述中,错误的是 (49) 。(49)

计算机控制系统的软件主要分为系统软件和应用软件,应用软件一般不需要用户设计,系统软件都要由用户自行编写,所以软件设计主要是系统软件设计。

TeleDev是一个大型的电信软件开发公司,公司内部采用多种商业/开源的工具进行软件系统设计与开发工作。为了提高系统开发效率,公司管理层决定开发一个分布式的系统设计与开发工具集成框架,将现有的系统设计与开发工具有效集成在一起。集成框架开发小组经过广泛调研,得到了如下核心需求: ①目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能。 ②目前使用的系统设计与开发工具所支持的通信协议和数据格式各不相同,集成框架应实现工具之间的灵活通信和数据格式转换。 ③集成框架需要根据实际的开发流程灵活、动态地定义系统工具之间的协作关系。 ④集成框架应能集成一些常用的第三方实用工具,如即时通信,邮件系统等。 集成框架开发小组经过分析与讨论,最终决定采用企业服务总线(ESB)作为集成框架的基础架构。 在ESB基础架构的基础上,请根据题干描述中的4个需求,说明每个需求应该采用何种具体的集成方式或架构风格最为合适。
论文:论软件架构的选择与应用 软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式(idiomatic paradigm)。对软件架构风格的研究和实践促进了对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。架构风格的不变部分使不同的系统可以共享同 一个实现代码。只要系统是使用常用的、规范的方法来组织,就可使别的设计者很容易地理解系统的架构。例如,如果某人把系统描述为C/S模式,则不必给出设计细节,我们立刻就会明白系统是如何组织和工作的。请围绕“软件架构的选择与应用”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与设计和开发的软件项目以及你所担任的主要工作。 (2)详细论述你是如何根据项目的实际需要设计软件架构的,特别是如何选择多种不同的架构来实现系统的。 (3)分析你采用的架构所带来的效果,你的设计还存在哪些不足之处。
软件系统架构 博学公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。如图12-6所示给出了该系统的简化示意图。 表12-2描述了各种系统输入的含义。 公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。 在对车辆定速巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构风格。 实际的软件系统架构通常是多种架构风格的混合,不同的架构风格都有其适合的应用场景。以该系统为例,针对面向对象架构风格和控制环路架构风格,各给出两个适合的应用场景,并简要说明理由。
论文:论混合软件架构的设计 C/S架构将应用一分为二,服务器负责数据管理,客户机完成与用户的交互任务。 B/S架构是随着Internet技术的兴起,对C/S架构的一种变化或者改进的结构。在B/S架构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。由于C/S架构和B/S架构各有其优点和缺点,可以适用在不同的应用场合,在某些场合中,可能把C/S架构和B/S架构混合进行设计,更能满足系统的需求,这些需要包括功能上的,也包括性能上的。 请围绕“混合软件架构的设计”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与设计和开发的软件项目以及你所担任的主要工作。 (2)简要说明C/S架构和B/S架构的优点和缺点。 (3)详细说明C/S和B/S混合架构的实现方式,在你的系统中具体是如何实现这种混合架构的,这种设计有什么优点。
软件系统架构 博学公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。如图12-6所示给出了该系统的简化示意图。 表12-2描述了各种系统输入的含义。 公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。 在对车辆定速巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构风格。 在实际的软件项目开发中,采用成熟的架构风格是项目成功的保证。请用200字以内的文字说明:什么是软件架构风格;面向对象和控制环路两种架构风格各自的特点。
软件系统架构 博学公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。如图12-6所示给出了该系统的简化示意图。 表12-2描述了各种系统输入的含义。 公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。 在对车辆定速巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构风格。用户需求没有明确给出该系统如何根据输入集合计算输出。请用300字以内的文字针对该系统的增减速功能,分别给出两种架构风格中的主要构件,并详细描述计算过程。
软件架构需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。以下活动中,不属于软件架构需求过程范畴的是()
博学公司欲针对Linux操作系统开发一个KWIC(KeyWordInContext)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。 在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道-过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。 在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。
阅读以下关于软件系统架构选择的说明,在答题纸上回答问题1至问题3。 博学公司欲针对Linux操作系统开发一个KWIC(Key Wordin Context)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。 在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序.子程序的架构风格,而李工则主张采用管道.过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。 在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。
论设计模式在软件开发中的应用 设计模式描述了在特定场景下解决一般设计问题的类和相互通信的对象。一个设计模式命名、抽象并确定了一个通用设计结构的主要方面,这些设计结构能被用来构造可复用的面向对象设计。现在,设计模式已经广泛地应用在软件开发中。 请围绕"设计模式在软件开发中的应用"论题,依次对以下3个方面进行论述: ①概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。 ②简要介绍设计模式的基本概念及分类,详细说明在你所参与分析和开发的应用项目中应用了哪些设计模式、方法,以及选用它们的原因。 ③分析并讨论使用设计模式的效果,并分析和评价设计模式对软件开发的影响。
相关题目

某软件公司欲开发一个Windows平台上的公告板系统。在明确用户需求后,该公司的架构师决定采用Command模式实现该系统的界面显示部分,并设计UML类图,如图8-41所示。图中与Command模式中的"Invoker"角色相对应的类是(1),与"ConcreteCommand"角色相对应的类是(2)。


空白(2)处应选择()

某软件公司欲开发一个Windows平台上的公告板系统。在明确用户需求后,该公司的架构师决定采用Command模式实现该系统的界面显示部分,并设计UML类图,如图8-41所示。图中与Command模式中的"Invoker"角色相对应的类是(1),与"ConcreteCommand"角色相对应的类是(2)。

空白(1)处应选择()

基于软件架构的设计(ArchitectureBasedSoftwareDevelopment,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用(1)来描述软件架构,采用(2)来描述需求。

空白(2)处应选择()

软件系统架构
博学公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。如图12-6所示给出了该系统的简化示意图。表12-2描述了各种系统输入的含义。
公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。
在对车辆定速巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构风格。

系统应用架构设计中,网络架构数据流图的主要作用是将处理器和设备分配到网络中。()不属于网络架构数据流图的内容。

阅读以下软件架构设计的问题,在答题纸上回答问题1和问题2。
某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求。
(1)在线交易平台必须在1秒内完成客户的交易请求。
(2)该平台必须保证客户个人信息和交易信息的安全。
(3)当发生故障时,该平台的平均故障恢复时间必须小于10秒。
(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。
针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。

请详细阅读有关嵌入式软件架构设计方面的描述,回答问题1和问题2。
在嵌入式系统中,软件采用开放式架构已成为新的发展趋势。软件架构设计的优劣将直接影响软件的重用和移植能力。
某软件公司主要从事宇航领域的嵌入式软件研发工作。经二十多年的发展,其软件产品已被广泛应用于各种航天飞行器中。该公司积累了众多成熟软件,但由于当初没有充分考虑软件的架构,原有软件无法被再利用,为适应嵌入式软件技术发展需要,该公司决策层决定成立宇航嵌入式软件开放式架构研究小组,为公司完成开放式架构的定义与设计,确保公司软件资源能得到充分利用。研究小组查阅了大量的国外资料和标准,最终将研究重点集中在了SAEAS4893《通用开放式架构(GOA)框架》标准,图20-1给出了GOA定义的架构图。

阅读以下关于软件系统架构选择的说明,在答题纸上回答问题1至问题3。
博学公司欲针对Linux操作系统开发一个KWIC(Key Wordin Context)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。
在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序.子程序的架构风格,而李工则主张采用管道.过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。

阅读以下关于软件架构评估的说明,在答题纸上回答问题1和问题2。
某网上购物电子商务公司拟升级正在使用的在线交易系统,以提高用户网上购物在线支付环节的效率和安全性。在系统的需求分析与架构设计阶段,公司提出的需求和关键质量属性场景如下:
1.正常负载情况下,系统必须在0.5秒内对用户的交易请求进行响应。
2.信用卡支付必须保证99.999%的安全性。
3.对交易请求处理时间的要求将影响系统的数据传输协议和处理过程的设计。
4.网络失效后,系统需要在1.5分钟内发现错误并启用备用系统。
5.需要在20人月内为系统添加一个新的CORBA中间件。
6.交易过程中涉及到的产品介绍视频传输必须保证画面具有600×480的分辨率,20帧/秒的速率。
7.更改加密的级别将对安全性和性能产生影响。
8.主站点断电后,需要在3秒内将访问请求重定向到备用站点。
9.假设每秒中用户交易请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的交易请求”这一要求是可以实现的。
10.用户信息数据库授权必须保证99.999%可用。
11.目前对系统信用卡支付业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性。12.更改Web界面接口必须在4人周内完成。
13.系统需要提供远程调试接口,并支持系统的远程调试。
在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了3个候选的架构设计方案。公司目前正在组织系统开发的相关人员对系统架构进行评估。

阅读以下关于软件架构评估的说明,在答题纸上回答问题1和问题2。
某网上购物电子商务公司拟升级正在使用的在线交易系统,以提高用户网上购物在线支付环节的效率和安全性。在系统的需求分析与架构设计阶段,公司提出的需求和关键质量属性场景如下:
①正常负载情况下,系统必须在0.5秒内对用户的交易请求进行响应。
②信用卡支付必须保证99.999%的安全性。
③对交易请求处理时间的要求将影响系统的数据传输协议和处理过程的设计。
④网络失效后,系统需要在1.5分钟内发现错误并启用备用系统。
⑤需要在20人月内为系统添加一个新的CORBA中间件。
⑥交易过程中涉及到的产品介绍视频传输必须保证画面具有600×480的分辨率,20帧/秒的速率。
⑦更改加密的级别将对安全性和性能产生影响。
⑧主站点断电后,需要在3秒内将访问请求重定向到备用站点。
⑨假设每秒中用户交易请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的交易请求”这一要求是可以实现的。
⑩用户信息数据库授权必须保证99.999%可用。
11.目前对系统信用卡支付业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性。12.更改Web界面接口必须在4人周内完成。
13.系统需要提供远程调试接口,并支持系统的远程调试。
在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了3个候选的架构设计方案。公司目前正在组织系统开发的相关人员对系统架构进行评估。

论设计模式在软件开发中的应用
设计模式描述了在特定场景下解决一般设计问题的类和相互通信的对象。一个设计模式命名、抽象并确定了一个通用设计结构的主要方面,这些设计结构能被用来构造可复用的面向对象设计。现在,设计模式已经广泛地应用在软件开发中。
请围绕"设计模式在软件开发中的应用"论题,依次对以下3个方面进行论述:
①概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。
②简要介绍设计模式的基本概念及分类,详细说明在你所参与分析和开发的应用项目中应用了哪些设计模式、方法,以及选用它们的原因。
③分析并讨论使用设计模式的效果,并分析和评价设计模式对软件开发的影响。

论文:论信息系统的架构设计架构是信息系统的基石,对于信息系统项目的开发来说,一个清晰的架构是首要的。传统的开发过程可以划分为从概念直到实现的若干个阶段,包括问题定义、需求分析、软件设计、软件实现及软件测试等。架构的建立应位于需求分析之后,软件设计之前。
请围绕“信息系统的架构设计”论题,分别从以下3个方面进行论述:
(1)简要叙述你参与分析和设计的信息系统(项目的背景、发起单位、目的、项目周期、交付的产品等),以及你在该项目中的工作。
(2)结合你的项目经历,论述在系统开发中,为什么要重视架构设计。详细讨论你是如何设计系统架构的(3)你的架构设计中还存在哪些问题?如何改进?

论文:论混合软件架构的设计
C/S架构将应用一分为二,服务器负责数据管理,客户机完成与用户的交互任务。
B/S架构是随着Internet技术的兴起,对C/S架构的一种变化或者改进的结构。在B/S架构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。由于C/S架构和B/S架构各有其优点和缺点,可以适用在不同的应用场合,在某些场合中,可能把C/S架构和B/S架构混合进行设计,更能满足系统的需求,这些需要包括功能上的,也包括性能上的。
请围绕“混合软件架构的设计”论题,依次对以下3个方面进行论述。
(1)概要叙述你参与设计和开发的软件项目以及你所担任的主要工作。
(2)简要说明C/S架构和B/S架构的优点和缺点。
(3)详细说明C/S和B/S混合架构的实现方式,在你的系统中具体是如何实现这种混合架构的,这种设计有什么优点。

论文:论软件架构的选择与应用
软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式(idiomatic paradigm)。对软件架构风格的研究和实践促进了对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。架构风格的不变部分使不同的系统可以共享同
一个实现代码。只要系统是使用常用的、规范的方法来组织,就可使别的设计者很容易地理解系统的架构。例如,如果某人把系统描述为C/S模式,则不必给出设计细节,我们立刻就会明白系统是如何组织和工作的。请围绕“软件架构的选择与应用”论题,依次对以下3个方面进行论述。
(1)概要叙述你参与设计和开发的软件项目以及你所担任的主要工作。
(2)详细论述你是如何根据项目的实际需要设计软件架构的,特别是如何选择多种不同的架构来实现系统的。
(3)分析你采用的架构所带来的效果,你的设计还存在哪些不足之处。

基于软件架构的设计(ArchitectureBasedSoftwareDevelopment,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用(1)来描述软件架构,采用(2)来描述需求。

空白(1)处应选择()
软件设计阶段的度量考虑了架构层次、构件层次和界面设计层次等问题。其中,( )的设计度量集中于软件构件的内部特性。
软件设计阶段的度量考虑了架构层次、构件层次和界面设计层次等问题。其中,(27)的设计度量集中于软件构件的内部特性。
在数据库系统设计中,()是用于提供信息表示和操作手段的形成架构,是数据库系统实现的基础。
怎么理解“软件概要设计是系统总体结构设计或系统架构设计”?
软件架构文档是对软件架构的正式描述,能够帮助与系统有关的开发人员更好地理解软件架构。软件架构文档的写作应该遵循一定的原则。以下关于软件架构文档写作原则的叙述中,错误的是()
广告位招租WX:84302438

免费的网站请分享给朋友吧