软件设计ZhouSu第6章体系结构的模式与结构.pptVIP

软件设计ZhouSu第6章体系结构的模式与结构.ppt

  1. 1、本文档共141页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.6.3 信息系统 作为分层模型的一个实例,图6-18给出了MHC-PMS系统的体系结构,这个系统维护并管理那些具有心理问题前来咨询专家的病人的详细信息。 图6-18 MHC-PMS系统的体系结构 6.6.3 信息系统 在模型的每一层中都增加了一些详细内容,找出了用于支持用户通信、信息检索和访问的组件: 1)最上层负责实现用户接口。在这个例子中,UI是用Web浏览器实现的。 2)第二层提供用户接口的功能,这是通过Web浏览器来传送的。该层包括允许用户登录系统的组件和确保他们使用的操作符合他们身份的检验组件。这一层还包括显示信息给用户的表格和菜单管理组件以及核对信息一致性的数据确认组件。 6.6.3 信息系统 3)第三层实现系统的功能,并提供:实现有关系统信息安全,病人信息的建立和更新,从其他数据库载入和导出病人数据,以及报告生成器建立管理报告。 4)最底层是使用商用的数据库管理系统建立的,它提供事务管理和持久的数据存储。 6.6.3 信息系统 信息和资源管理系统通常基于Web系统,用户接口使用Web浏览器实现。例如,电子商务系统是一种基于互联网的资源管理系统,它可以接受电子的商品或服务的订单,然后安排将商品或服务递送给客户。在电子商务系统中,应用相关层包括额外的功能,支持所谓的“购物车”,即用户可以在不同的事务中购买多个项目,然后在一个事务中完成对所有项目的叉付。在这些系统中服务器的组成可以映射为图6-17所示的四层通用模型。这些系统总是实现大多层的客户机/服务器体系结构。 6.6.4 语言处理系统 语言处理系统用来将文本从一种语言翻译成另一种语言,例如把自然语言或人工语言翻译成该类语言的其他表示,对于编程语言可能会执行产生的代码,来执行输入语言所定义的指令。它们包括一个翻译器和一个执行生成的语言的抽象机。我们最为熟悉的语言处理系统就是编译器了。它将高层语言翻译成机器代码。然而,语言处理系统也使用在很多其他系统中,比如在数据库中作为对命令语言的翻译,在信息系统中和在标记语言比如XML中。 6.6.4 语言处理系统 图6-19给出了编程语言的一种语言处理系统的可能的体系结构。源语言指令定义了将要执行的程序,翻译器会转换这些称为抽象机指令。这些指令然后由另一个组件解释,它首先取指令,然后(在必要的时候)再使用来自环境中的数据去执行它们。该过程的输出是输入指令的解释结果。 图6-19 语言处理系统的体系结构 6.6.4 语言处理系统 当然,对于很多编译器,解释器是一个处理机器指令的硬件单元,抽象机是一个真处理器。然而,对于动态类型的语言比如Python,解释器是一个软件组件。 6.6.4 语言处理系统 程序语言编译器是更一般化的编程环境的一部分,它具有一般的体系结构,包括以下组件: ① 词法分析器,将一个输入的语言记号转换为内部形式; ② 符号表,保持实体名字相关的信息(变量、类名字、对象名字等),实体是正在翻译的文本; ③ 语法分析器,它检查正在翻译的语言的语法。它使用相应语言所定义的语法并建立语法树; ④ 语法树,它代表待编译程序的内部结构; ⑤ 语义分析层,它使用来自语法树和符号表的信息来检查输入的语言文本的语义正确性; ⑥ 代码生成器,它在语法树中穿行并生成抽象机代码。 6.6.4 语言处理系统 还会有其他一些组件,这些组件可能用于从所生成的机器代码中分析和变换语法树来提高效率和降低冗余。在其他类型语言处理系统中,比如自然语言翻译器将有附加的组件比如字典组件,所生成的代码实际上是用其他语言所表示的输入文本。 在语言处理系统中可能会用到的还有另外可用的体系结构模式。编译器可以用容器和管道-过滤器的复合模型实现。在编译器的体系结构中,符号表是共享数据容器。在词法分析、语法和语义分析阶段组成一个串行结构,如图6-20所示,它们之间的通信是通过共享符号表实现的。 图6-20 编译器的管道-过滤器体系结构 6.6.4 语言处理系统 语言编译的管道-过滤器模型对于程序的编译和执行无需用户交互的批处理环境很有效,例如,把一个XML文件翻译成另一个文件。而对于集成了其他语言处理工具,比如结构化编辑系统、交互式调试工具或者是程序的格式转换器,它就不那么有效了。在这种情况下,来自一个组件的变化需要立即反映到其他组件中。因此,系统最好组织成容器的模型,如图6-21所示。 图6-21 语言处理系统的容器体系结构 6.6.4 语言处理系统 图6-21说明了一个语言处理系统是如何成为集成化编程支持工具的一部分的。在这个例子中,符号表和语法树是作为中央信息容器的。工具或小程序通过它来实现通信。其他的原先可能嵌入在工具内部的信息,比如语法定义和程序的输出格式定义等,已经被提取出来并放入这个容器中。因此,语法制向的编辑器能够在

文档评论(0)

wendan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档