一、体系结构题(2017)
某一系统能实现如下功能,将一组字符串交替执行大小写转换。例如 I love this game转化成I LoVe ThIs GaMe,根据某种体系结构风格,给出系统物理设计模块依赖图,并解释相应模块的职责。 这题给了一个图例,split指向lower、upper,然后upper指向merge
题目分析
- 功能:实现字符串交替执行大小写转换
- 给了啥:给了一个图例split指向lower、upper,然后upper指向merge(见下图左边这个)
- 要求啥:1)给出系统物理设计模块依赖图; 2)解释各模块的职责
体系结构风格
什么叫软件体系结构的风格?
定义便是:描述某一特定应用领域中系统组织方式的惯用。即,定义了用于描述系统的术语表和一组指导构建系统的规则。这方便了软件大粒度的重用。因此,当人们使用常用的,规范的方式来组织时,即可使别的设计师很容易理解系统的体系结构。下面是一些常用的软件体系结构风格
常见软件体系结构风格
- 主程序-子程序
- 面向对象
- 管道过滤
- 以数据为中心
- 分层
试着解答
答:
- 题目要实现的功能是字符串交替执行大小写转换
- 根据题目要求,需要给出相应的系统模块依赖图,并作出解释各模块
- 常见的软件体系结构风格有:1)主程序-子程序;2)面向对象;3)管道过滤;4)以数据为中心;5)分层结构等。
- 已知,软件体系结构风格包括构件、连接件和一组将它们结合在一起的约束限制。
- 根据题给出的图例,我们知道该图示抓住了系统的基本功能(部件)和主要协作机制(连接件,数据流),利用了部件和连接件之间的依赖关系讲部分(部件、连接件)有机联系起来形成了整体。
- 这一题,我采用主程序-子程序的风格,如下图所示:
其中构建是主程序和子程序,主程序-子程序风格是结构化程序设计的一种典型风格,从功能的观点设计系统,通过逐步分解和细化,形成整个系统的体系结构【解释下主程序-子程序】。其中连接件采用调用返回机制,主程序(main)调用子程序,其中split是分割模块,完成对于初入长字符串的分割,lower模块是将大写字母转化为小写字母,upper模块是将小写字母转化为大写字母,merge模块则是完成字符串的最终合并。