第7章 · 播客 第3集
系统规划 · 三层计算体系与本章收官
🎙️ 本集播客:第3集(末集):OR 算完怎么用——技术水平乘商业价值切出四象限,淘汰、继承、改造、集成四种演化策略各归哪格、各自的招牌动作;然后是三层计算体系:.NET 的表示层/事务逻辑层/数据服务层、COM 是哪层的心脏、存储过程与 ADO 的归层陷阱、J2EE 的 JSP/EJB/JDBC 对应;结尾附全章必背清单并引出第 8 章。 语音由微软 Edge 神经网络语音预生成(女声·晓伊,男声·云希)。点击下方任意对话可直接从该句开始播,当前句朗读时下一句已预先加载,无缝衔接。
明
阿明
算出 OR,怎么落到策略上?
雅
小雅
把技术水平的全面评价结果与商业评价比较,为系统演化提供第一手资料:按商业评价分值和技术水平分值,把结果分在坐标四个象限,不同象限不同策略。先记口诀:一改二集三淘汰、低高继承莫记歪——第 1 象限改造、第 2 象限集成、第 3 象限淘汰、第 4 象限继承。
明
阿明
技术高、商业也高的系统最舒坦,是不是直接接着用?
雅
小雅
是改造,不是接着用。第 1 象限高水平高价值区:技术含量较高,本身还有较大的生命力,商业价值高,基本上能满足企业业务运作和决策支持的要求,这种系统可能建成时间还很短。改造包括两方面:系统功能的增强——在原有系统基础上增加新的应用要求,对遗留系统本身不做改变;数据模型的改造——旧的数据模型向新的数据模型转化的过程。真题问「技术水平高、商业价值高采取什么策略」,答案改造策略;干扰项常放继承——继承是给低水平高价值的,别接错。
明
阿明
那技术低、商业高的呢?系统烂,可业务离不开。
雅
小雅
第 4 象限低水平高价值区:技术含量较低,可满足企业运作的功能或性能要求,商业价值高,企业业务对它仍有很大的依赖性。策略继承,三条要点:开发新系统时需要完全兼容遗留系统的功能模型和数据模型;为保证业务连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行;必须分析得到旧系统的功能模型和数据模型,这种分析可以部分代替或验证系统的需求分析——文档不完整时可用系统重构的 CASE 工具,通过分析系统代码生成系统结构图或其他报告。「并行运行一段时间再切换」是继承的招牌动作。
明
阿明
第 2 象限和第 3 象限一起说了吧。
雅
小雅
第 2 象限高水平低价值区:技术含量较高,但商业价值较低,可能只完成某个部门或子公司的业务管理。这种系统在各自局部领域里工作良好,但从企业全局看,多个这样的系统各自基于不同的平台、不同的数据模型,无法互联互通,数据还不一致。策略集成:可采用由互连系统构成的系统的架构,遗留系统可作为从属系统来描述,判断词「局部良好、全局割裂」。第 3 象限低水平低价值区:淘汰——全面重新开发新系统以代替遗留系统。
雅
小雅
走极端一般是企业业务产生根本变化、老系统不再适应企业运作,或者维护人员、维护文档资料都丢失了,或经评价发现完全淘汰开发全新系统比改造旧系统成本上更合算。但完全淘汰是企业资源的根本浪费,要善于「变废为宝」,通过理解和借鉴遗留系统功能帮助新系统设计、降低开发风险。收尾一句原文:即使是今天看来很先进的系统,在明天也会成为遗留系统——实际工程要具体情况具体分析,选最佳策略。
明
阿明
四象限拿下了。最后一块:三层计算体系,考题爱在那儿挖坑。
雅
小雅
系统方案制订要把系统目标归结到最适合的计算体系,比如 .NET 和 J2EE。.NET 将应用系统理解为三个层次。表示层是用户的界面部分:单一应用程序的用户界面、C/S 计算模式的客户端、B/S 模式在浏览器中运行的 HTML、DHTML、Scripting、JavaApplet、ActiveX 等。
雅
小雅
事务逻辑层负责处理表示层的应用请求、完成商务逻辑的计算任务,并将处理结果返回给用户——它把原先置于客户端的事务逻辑分离出来,集中置于服务器部分为所有用户共享,是整个应用的核心部分,而组件对象模型 COM 则相当于它的心脏,通过 COM 进行事务处理,并由 IIS 即 Internet 信息服务器和 MTS 即微软事务处理服务器为各种应用组件提供完善的管理。数据服务层为应用提供数据来源——和以往两层架构不同,数据库不再和每个活动客户保持一个连接,而是若干个客户通过应用逻辑组件共享数据库的连接,从而减少连接次数、提高数据服务器的性能和安全性。
明
阿明
真题问「处理应用请求、完成商务逻辑计算任务的是哪层」,怎么排干扰项?
雅
小雅
选事务逻辑层。表示层只管界面;数据服务层只管提供数据来源和数据库连接;「处理应用请求」「完成商务逻辑」「COM 是心脏」都是事务逻辑层的原话,看到 COM 基本就锁定它。相同的三层计算模式还会表现为不同的实现方式:表示层可能是单机界面、C/S 客户端或 B/S 的 Web 页面和元素;事务逻辑层可能是单机的程序模块、C/S 的服务器端服务、B/S 应用服务器中的业务脚本或业务对象。
明
阿明
存储过程那个坑,考前再踩一遍。
雅
小雅
年年有人跳。当利用类似存储过程来实现数据操作逻辑时,存储过程被看作事务逻辑层的一部分;但如果利用 ADO 即 ActiveX 数据对象这样的数据访问组件访问数据时,ADO 和后台的数据库系统及数据库的逻辑,则被看作数据服务层的一部分。所以「存储过程写在数据库里」不影响它归事务逻辑层,判断依据是实现逻辑的性质,不是物理上住在哪台服务器。层次还能细分:面向对象设计常把事务逻辑层划分为基本的计算对象、业务对象及黏合业务对象的脚本「胶水」或一些控制类。
明
阿明
J2EE 的分层跟 .NET 对得上吗?
雅
小雅
对得上,但名字全换。JSP 开发 Web 程序的计算模式:JSP 页面构成前端的表示层,EJB 构成业务逻辑层,JDBC 即 Java 数据库连接和后台的数据库构成数据服务层。两个变体也考过:小规模网站系统直接在 JSP 页面中书写所有应用逻辑脚本,业务逻辑层就和表示层合并了;使用 J2EE 的开发人员利用 EJB 的容器、对象操作语言等机制直接实现对象级接口,JDBC 和后台数据库的数据服务层被隐含在平台机制内、在更高抽象级别上被屏蔽。原文要点:理解各种计算体系的大致分层和构成,比较实现要素与实现手段之间的「适合程度」,不生搬硬套、不盲目追流行。方案制订后还要根据有关标准进行评价,找出不符合实际的地方,然后进行改进。
明
阿明
第 7 章三集听完了,全章必背清单,开背吧。
雅
小雅
清单来了。立项动机四种:基础研究获取技术、应用研发获得产品、提供技术服务、信息技术产品的使用者。项目选择四原则:选有核心价值的产品或方向、评估风险收益和代价、评估多种实施方式、平衡地选择适合的方案——立场是「适合」而不是「好」。Kano 三质量:要求质量、假想质量、兴奋质量;两类常犯错误——设计师拿兴奋质量替换客户的要求质量和假想质量,经营者对合理要求质量视而不见或把未经评估的假想质量全砸给团队。可行性研究五部分:经济、技术、法律、执行、方案的选择;技术可行性还包括当前资源条件下的可行性。
明
阿明
后半部分的成本、遗留系统和三层体系呢?
雅
小雅
成本三类:基础建设支出、一次性支出、运行维护费用;收益三类:一次性、非一次性、不可定量;三指标:收益投资比、投资回收周期——收益累计数开始超过支出累计数的时间、敏感性分析;信息化代价按总持有成本 TOC 评估。遗留系统:Bennett 1995 定义——不知道如何处理但对组织又至关重要;评价五步——启动评价、商业价值评价、外部环境评价、应用软件评价、分析评价结果。
明
阿明
OR 公式和四象限呢?
雅
小雅
商业价值详细级是应用系统不符合业务规范的风险分析;OR 公式分量 ORH 硬件、ORS 支撑软件、ORF 企业基础设施、ORA 应用软件。四象限四策略:第 1 象限高水平高价值——改造;第 4 象限低水平高价值——继承,兼容功能模型和数据模型、新老系统并行运行再切换;第 2 象限高水平低价值——集成;第 3 象限低水平低价值——淘汰,全面重新开发但要变废为宝。
明
阿明
三层体系最后再串一遍。
雅
小雅
三层体系:.NET 是表示层、事务逻辑层、数据服务层,COM 是事务逻辑层的心脏;存储过程归事务逻辑层,ADO 和后台数据库归数据服务层;J2EE 是 JSP 表示层、EJB 业务逻辑层、JDBC 加数据库数据服务层。这些背扎实,第 7 章的题就是送分题。
明
阿明
收到。下一章我们去哪?
雅
小雅
第 8 章,系统分析与设计方法——从「规划立项」进入「真刀真枪地分析和设计」,结构化分析和面向对象两套方法都在那儿等你。先去做第 7 章的练习题,错题对回这三集的对应段落再听一遍。