842经典真题

一、体系结构题(2017)

某一系统能实现如下功能,将一组字符串交替执行大小写转换。例如 I love this game转化成I LoVe ThIs GaMe,根据某种体系结构风格,给出系统物理设计模块依赖图,并解释相应模块的职责。

​ 这题给了一个图例,split指向lower、upper,然后upper指向merge

题目分析

  • 功能:实现字符串交替执行大小写转换
  • 给了啥:给了一个图例split指向lower、upper,然后upper指向merge(见下图左边这个)

  • 要求啥:1)给出系统物理设计模块依赖图; 2)解释各模块的职责

体系结构风格

什么叫软件体系结构的风格?

定义便是:描述某一特定应用领域中系统组织方式的惯用。即,定义了用于描述系统的术语表和一组指导构建系统的规则。这方便了软件大粒度的重用。因此,当人们使用常用的,规范的方式来组织时,即可使别的设计师很容易理解系统的体系结构。下面是一些常用的软件体系结构风格

常见软件体系结构风格

  • 主程序-子程序
  • 面向对象
  • 管道过滤
  • 以数据为中心
  • 分层

试着解答

答:

  1. 题目要实现的功能是字符串交替执行大小写转换
  2. 根据题目要求,需要给出相应的系统模块依赖图,并作出解释各模块
  3. 常见的软件体系结构风格有:1)主程序-子程序;2)面向对象;3)管道过滤;4)以数据为中心;5)分层结构等。
  4. 已知,软件体系结构风格包括构件、连接件和一组将它们结合在一起的约束限制。
  5. 根据题给出的图例,我们知道该图示抓住了系统的基本功能(部件)和主要协作机制(连接件,数据流),利用了部件和连接件之间的依赖关系讲部分(部件、连接件)有机联系起来形成了整体。
  6. 这一题,我采用主程序-子程序的风格,如下图所示:

其中构建是主程序和子程序,主程序-子程序风格是结构化程序设计的一种典型风格,从功能的观点设计系统,通过逐步分解和细化,形成整个系统的体系结构【解释下主程序-子程序】。其中连接件采用调用返回机制,主程序(main)调用子程序,其中split是分割模块,完成对于初入长字符串的分割,lower模块是将大写字母转化为小写字母,upper模块是将小写字母转化为大写字母,merge模块则是完成字符串的最终合并。

参考网址

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦