第14章 · 播客 第3集
信息系统基础知识 · 四种开发方法怎么选
🎙️ 本集播客:第3集:结构化方法四大特点与适用场景、原型法的反复迭代流程与适用场景——这两道题在真题里连考;面向对象方法怎么从信息工程演进而来、面向服务的 SO 思想为何成大趋势,一条不落。 语音由微软 Edge 神经网络语音预生成(女声·晓伊,男声·云希)。点击下方任意对话可直接从该句开始播,当前句朗读时下一句已预先加载,无缝衔接。
明
阿明
上一集原则都有了,方法呢?我听说开发方法有四种。
雅
小雅
结构化方法、原型法、面向对象方法、面向服务方法。先给结论:同一个系统,选错方法就是灾难。原文开头就说,有些信息系统运行得很成功,取得巨大经济效益和社会效益;但也有些效果并不显著,甚至开始时还能正常运行,时间一长故障不断,最后走上报废之路。一个十分重要和关键的原因,就是信息系统的开发方法问题。
明
阿明
那信息系统到底是什么性质的系统,决定了它难开发?
雅
小雅
原文定性:信息系统是一个极为复杂的人-机系统。它不仅包含计算机技术、通信技术以及其他工程技术,而且还是一个复杂的管理系统,还需要管理理论和方法的支持。「人-机系统」这三个字记住,选择题干扰项爱说「纯技术系统」。
明
阿明
先讲结构化方法吧,名字最老派。
雅
小雅
结构化方法是由结构化系统分析和设计组成的一种信息系统开发方法,是目前最成熟、应用最广泛的信息系统开发方法之一。它假定被开发的系统是一个结构化的系统,因而其基本思想是将系统的生命周期划分为系统调查、系统分析、系统设计、系统实施、系统维护等阶段。这种方法遵循系统工程原理,按照事先设计好的程序和步骤,使用一定的开发工具,完成规定的文档,在结构化和模块化的基础上进行信息系统开发。开发过程一般是先把系统功能视为一个大的模块,再根据系统分析设计的要求对其进行进一步的模块分解或组合。
明
阿明
它有四个主要特点吧?
雅
小雅
对,四个「化」。第一,开发目标清晰化——遵循「用户第一」的原则,开发中要保持与用户的沟通,取得与用户的共识,使开发建立在可靠的基础之上。第二,工作阶段程式化——每个阶段的工作内容明确,注重开发过程的控制,每一阶段完成后要根据阶段工作目标和要求进行审查,避免为以后的工作留下隐患。第三,开发文档规范化——每一阶段工作完成后,要按照要求完成相应的文档,保证各工作阶段的衔接与系统维护工作的便利。第四,设计方法结构化——采用自上而下的结构化、模块化分析与设计方法,使各个子系统间相对独立,便于系统的分析、设计、实现与维护。
明
阿明
那结构化方法适合什么系统?这个我记得是真题。
雅
小雅
真题原题。结构化方法被广泛地应用于不同行业信息系统的开发中,特别适合于那些业务工作比较成熟、定型的系统,如银行、电信、商品零售等行业。选项问「结构化方法最适合于哪种类型」,答案是业务工作成熟定型的系统,银行电信是原文举的例子。反过来,需求模糊、结构性差的系统就是它的短板——那是原型法的地盘。
明
阿明
原型法听起来就快。
雅
小雅
原型法是一种根据用户需求,利用系统开发工具,快速地建立一个系统模型展示给用户,在此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。原文给了个生活化类比:现实生活中,一个大型工程项目建设之前制作的沙盘,以及大型建筑的模型等,都与快速原型法有同样的功效。
明
阿明
它怎么个快法?流程说一下。
雅
小雅
应用快速原型法开发过程包括系统需求分析、系统初步设计、系统调试、系统检测等阶段。用户仅需在系统分析与系统初步设计阶段完成对应用系统的简单描述,开发者在获取一组基本需求定义后,利用开发工具生成应用系统原型,快速建立一个目标应用系统的最初版本,并把它提交给用户试用、评价,根据用户提出的意见和建议进行修改和补充,从而形成新的版本,再返回给用户。通过这样多次反复,使得系统不断地细化和扩充,直到生成一个用户满意的方案为止。抓关键词「多次反复」。
明
阿明
那它的优缺点和适用场景呢?我记得也是真题。
雅
小雅
希赛专家提示原话:原型法具有开发周期短、见效快、与业务人员交流方便的优点,特别适用于那些用户需求模糊,结构性比较差的信息系统的开发。真题问「原型法特别适用于哪种类型的系统开发」,答案是用户需求模糊、结构性差的系统;干扰项给业务流程成熟定型的、大规模高复杂度的、需求完全确定的——注意跟结构化方法的适用场景正好互为干扰项,两张卷子爱对着出。
明
阿明
结构化配成熟定型,原型法配需求模糊结构性差。这两对背死。
雅
小雅
对,本章性价比最高的两分。接着面向对象方法。面向对象方法是对客观世界的一种看法,它是把客观世界从概念上看成一个由相互配合而协作的对象所组成的系统。信息系统开发的面向对象方法的兴起是信息系统发展的必然趋势。
明
阿明
它前面不是还有个信息工程方法吗?演进关系我不清楚。
雅
小雅
原文有段编年史:数据处理包括数据与处理两部分,但在信息系统发展初期却有时偏重这一面、有时偏重那一面。在 20 世纪 70—80 年代,偏重数据处理者认识到初期的数据处理工作是计算机相对复杂而数据相对简单,因此先有结构化程序设计的发展,随后产生面向功能分解的结构化设计与结构化分析;偏重于数据方面的人员同时提出了面向数据结构的分析与设计。到了 20 世纪 80 年代,兴起了信息工程方法,使信息系统开发发展到新的阶段。信息工程在实际应用中既表现出优越性的一面,也暴露了一些缺点,例如过于偏重数据,致使应用开发受到影响。而面向对象方法则集成了以前各种方法的优点,避免了各自的一些缺点。
明
阿明
所以面向对象是集大成者。它跟结构化的本质区别在哪?
雅
小雅
这句是考点:传统的结构化设计方法的基本点是面向过程,系统被分解成若干个过程;而面向对象的方法是采用构造模型的观点,在系统开发过程中,各个步骤的共同目标是建造一个问题域的模型。在面向对象的设计中,初始元素是对象,然后将具有共同特征的对象归纳成类,组织类之间的等级关系,构造类库;在应用时,在类库中选择相应的类。另外面向对象的分析方法是利用面向对象的信息建模概念,如实体、关系、属性等,同时运用封装、继承、多态等机制来构造模拟现实系统。「面向过程」对「构造模型」,两个基本点对照记。
明
阿明
对象、类、类库,一层层往上归纳。那面向服务 SO 呢?
雅
小雅
面向服务的演进链条要背:OO 的应用构建在类和对象之上,随后发展起来的建模技术将相关对象按照业务功能进行分组,就形成了构件的概念。对于跨构件的功能调用,则采用接口的形式暴露出来。进一步将接口的定义与实现进行解耦,则催生了服务和面向服务的开发方法。链条是对象、构件、接口、服务,四步。
明
阿明
SO 解决什么问题?
雅
小雅
从应用的角度来看,组织内部、组织之间各种应用系统的互相通信和互操作性直接影响着组织对信息的掌握程度和处理速度。如何使信息系统快速响应需求与环境变化,提高系统可复用性、信息资源共享和系统之间的互操作性,成为影响信息化建设效率的关键问题,而 SO 的思维方式恰好满足了这种需求。原文评价:目前 SO 方法是一个较新的领域,许多研究和实践还有待进一步深入,但它代表着不拘泥于具体技术实现方式的一种新的系统开发思想,已经成为信息系统建设的大趋势,越来越多的组织开始实施 SO 的信息系统。「大趋势」三个字是评价考点。
明
阿明
四种方法都过了一遍,给我串一下。
雅
小雅
一句话各领一个标签:结构化方法最成熟应用最广、适合业务成熟定型,四特点是目标清晰化、阶段程式化、文档规范化、设计结构化;原型法快速建模型反复迭代、适合需求模糊结构性差,优点是周期短见效快交流方便;面向对象把世界看作协作对象、基本点是构造模型而非面向过程;面向服务是对象分组成构件、接口解耦成服务,代表大趋势。
明
阿明
这样一贴标签就清楚了。那本集必背?
雅
小雅
本集必背:信息系统是复杂的人-机系统;结构化方法适合业务成熟定型的系统,如银行、电信、商品零售;原型法适合用户需求模糊、结构性比较差的系统,开发过程多次反复、周期短见效快交流方便;面向对象基本点从面向过程转为构造模型、对象归纳成类、构造类库;面向服务演进链是对象到构件到接口到服务,已成大趋势。
明
阿明
开发方法讲完,接下来该系统工程了吧?
雅
小雅
对,下一集讲系统工程:系统五大特性、三种分类口径,还有六个年份六个出处的系统工程定义——钱学森 1982 那条最爱考。