20132205041011-王龙-实验3
课 程 实 验 报 告 专 业 年 级 13软件工程 课 程 名 称 软件体系结构 指 导 教 师 郑宇 学 生 姓 名 王龙 学 号 20132205041011 实 验 日 期 2016-5-28 实 验 地 点 笃行A栋402 实 验 成 绩 教务处制 20 年 月 日 实验项目 名称 基于服务的体系结构 实验 目的及要求 掌握基于服务的体系结构 实验 内容 在案例系统中根据存在的问题,利用所学知识解决 实验步骤 希赛公司欲对现有的核心咨询业务系统进行升级改造,以适应大量用户的个性花咨询服务要求,提高系统的灵活性。公司主管将核心业务系统的升级改造工作交给了公司的系统分析师王工和李工。一个月后,王工和李工分别向公司提交了自己的方案。王工主张以公司现有的、采用面向对象技术和Java语言实现的业务系统为基础,针对新的业务需求对系统进行重构、改造与升级。李工则认为现有系统的业务逻辑过于复杂,对系统进行重构的成本太高,可以采用面向服务的思想,提炼可复用的业务功能形成服务,实现系统的灵活性。经过公司相关人员共同开会讨论,最终采用了李工的改造方案。 【问题1】请从系统功能实现和功能集成两个方面对王工和李工的方案进行分析和对比,并结合项目需求说明公司为何会选择李工的方案。 【问题2】采用服务思想设计系统时,需要考虑服务的耦合性。服务的耦合性可以分为两类,分别是服务契约耦合(Service Contract Coupling)和服务消费者耦合(Service Consumer Coupling)。请对各种耦合关系进行分析,填写(a)~(g),完成下表。 耦合关系分析 耦合关系 耦合类型 是否有害 耦合关系解释 业务逻辑-契约耦合 (a) (d) (f) 契约-技术耦合 (b) (e) (g) 消费者-实现耦合 (c) 是 服务消费者需要通过服务契约使用服务功能,而不能直接与服务实现相关。 消费者-契约耦合 服务消费者耦合 否 在使用服务功能时,服务消费者需要与服务契约进行绑定。这样能够提高服务消费者和服务之间的独立性。 【问题3】 在对系统的业务服务进行初步分析后,李工首先提取了客户注册、业务受理和发票开具三个典型的业务服务。但进一步分析后,李工发现这三个服务需要使用数据库中的客户实体、业务实体和发票实体,而发票实体包含客户实体和业务实体的信息,这样会导致发票开具服务内部包含并重复实现客户注册和业务受理的处理过程,降低服务的复用性。请说明这种情况产生的主要原因,并针对这种情况,说明该如何对这三个服务进行重构,使它们具有更好的重用性。 实验环境 Windows8.1、Microsoft Word 2012 实验结果与 分析 分析: 将面向服务的思想(SOA)应用感到管理软件项目的开发流程中进行研究,使得在项目的整个生命周期应用SOA的思想去整体规划和设计。软件管理系统应用SOA的思想去管理软件开发流程的方法,可以增加软件的重用性、大大降低软件的开发成本。 教师评语 注:可根据实际情况加页