首页 理论教育 物流信息管理系统的开发方法

物流信息管理系统的开发方法

时间:2022-11-05 理论教育 版权反馈
【摘要】:原型方法从原理来看,并无任何高深的理论和技术,之所以会备受推崇,在实践中获得巨大的成功是因为与结构化方法相比,原型方法具有如下几方面的特点:①原型方法更多地遵循了人们认识事物的规律,那就是人们认识事物的过程都是循序渐进的,不断受环境的启发,不断完善。②原型方法将模拟的手段引入系统分析的初期阶段,沟通了人们的思想,缩短了用户和系统分析人员之间的距离,解决了结构化方法中最难于解决的一环。

目前常用的系统开发方法有:结构化系统分析与设计方案、原型方法、面向对象的方法、计算机辅助软件工程方法等。为了能对这四种常用方法有更加具体的了解,下面进行详细讨论。

1结构化系统开发方法

结构化系统开发方法是迄今为止开发方法中应用最普遍、最成熟的一种方法。

(1)结构化系统开发方法的基本思想是:用系统工程的思想和方法,按用户至上的原则,以结构化、模块化的方式,自顶向下地对系统进行分析与设计。

(2)结构化开发方法的特点。结构化系统开发方法主要强调以下特点:

①自顶向下整体性的分析与设计和自底向上逐步实施的系统开发过程。在系统分析与设计时要从全局考虑,采用自顶向下的方法,即从全局到局部,从整个系统到子系统,从子系统到功能模块,自顶向下一层层进行分析与设计,而在系统实现时,则要根据要求先编制具体的功能模块,调试实现后,再向上综合成子系统,最后自底向上逐步实现整个系统。

②用户至上。用户对系统开发的成败起着至关重要的作用,故在系统开发过程中要面向用户,充分了解用户的需求和愿望。

③深入调查研究。强调在设计系统之前,要深入用户单位进行详细的调查研究,努力弄清实际业务处理过程中的每一个细节,然后分析研究,制订出科学合理的新系统设计方案。其中,要对现行系统进行模拟、改建,以便于计算机处理,还要按照用户需求的观点,建立能反映实际事务的功能模块。

④严格区分工作阶段。把整个系统开发过程划分为若干个工作阶段,每个阶段都有其明确的任务和目标。在实际开发过程中要求严格按照划分的工作阶段,一步步地开展工作。如遇到较小,较简单的问题,可跳过某些步骤,但不可打乱或颠倒次序。

⑤充分预料可能发生的变化。系统开发是一项耗费人力、财力、物力且周期很长的工作,一旦周围环境 (组织的内部外部环境、信息处理模式、用户需求等)发生变化,就会直接影响系统的开发工作,所以结构化开发方法强调在系统调查和分析时,对将来可能发生的变化给予充分的重视,强调所设计的系统对环境的变化具有一定的适应能力。

⑥工作文件标准化和文献化。新系统开发过程中所有的工作内容 (研究记录、分析报告等)都必须形成固定格式的文件 (填写在一定格式的图表上),各种图表工具都要求标准化。标准化文献供用户参考使用,供开发工作者查阅,便于开发的连续性和再扩充。

(3)结构化系统开发的生命周期。用结构化系统开发方法开发一个新系统,将整个开发过程划分为五个首尾相连接的阶段 (如图53),一般称之为系统开发的生命周期。系统开发生命周期各阶段的主要工作有:

①系统规划阶段。系统规划阶段是根据用户的系统开发请求,进行初步调查,明确问题,确定系统目标和总体结构,确定各阶段实施进度,然后进行可行性研究

②系统分析阶段。系统分析阶段是分析业务流程,数据与数据流程,功能与数据之间的关系,最后提出分析处理方法和新系统逻辑方案。

图53 系统开发周期

③系统设计阶段。系统设计阶段是进行总体结构设计、代码设计、数据库文件设计、输入输出设计、模块结构与功能设计。与此同时,根据总体设计的要求,对购置与安装的一些设备进行试验,最终给出设计方案。

④系统实施阶段。系统实施阶段的任务是:程序编制、人员培训、数据准备、试运行等。

⑤系统运行阶段。系统运行阶段的任务是:进行系统的日常运行管理、评价系统和局部调整,然后分析结果,如果结果良好,系统将维持现状运行;如果有问题,则对系统进行修改、维护或者是局部调整;如果出现了矛盾不可调和的大问题,则用户将会进一步提出开发新系统的要求。开发新系统要求的提出标志着老系统生命的结束,新系统即将诞生,这个全过程就是系统开发周期。在每一阶段均有小循环,不满足要求时则修改或返回到起点。

(4)结构化开发方法的优缺点。

优点:强调系统开发过程的整体性和全局性;强调在整体优化的前提下考虑具体的分析设计问题,即自上向下的观点。它强调的另一个观点是严格地区分开发阶段,一步一步地进行系统分析和设计,每一步工作都及时总结,发现问题并及时反馈和纠正,避免开发过程的混乱。

缺点:开发周期过长,缺乏灵活性,由于开发、设计的目标必须比较明确,常常不能适应开发过程中的环境、需求变化。该方法也易造成开发人员和用户的交流困难。众所周知,用户和开发人员对业务知识和计算机技术的了解存在差异,易产生矛盾,该方法对解决这些矛盾也存在障碍

2原型方法

原型方法是20世纪80年代随着计算机软件技术的发展,特别是在数据库系统 (RDBS)、第四代程序语言 (4GL)和各种系统开发生成环境的基础上,提出的一种设计思想、工具、手段全新的系统开发方法。

(1)原型方法的基本思想

它的基本思想是试图改进生命周期法的缺点,在短时间内先定义用户的基本需求,通过强有力的软件环境支持,开发出一个功能并不十分完善的、实验性的、简易的信息系统原型。运用这个原型,与用户一起反复进行补充、修改、完善、发展,直至得到用户满意的系统。所以,原型方法依据的基本模型是循环或迭代模型。

(2)原型方法的特点

原型方法从原理来看,并无任何高深的理论和技术,之所以会备受推崇,在实践中获得巨大的成功是因为与结构化方法相比,原型方法具有如下几方面的特点:

①原型方法更多地遵循了人们认识事物的规律,那就是人们认识事物的过程都是循序渐进的,不断受环境的启发,不断完善。

②原型方法将模拟的手段引入系统分析的初期阶段,沟通了人们的思想,缩短了用户和系统分析人员之间的距离,解决了结构化方法中最难于解决的一环。

③原型方法的模拟原型能启发人们对问题进行较确切的描述和较准确的认识。

④原型方法充分利用了最新的软件工具,摆脱了老一套工作方法,使系统开发的时间、费用大大减少,效率、技术等方面都大大地提高。

⑤原型方法将系统调查、系统分析、试用设计等阶段融为一体,用户能看到系统实现后是什么样子,提高用户对参加系统研制工作的积极性。

(3)原型方法的开发过程

①确定用户的基本需求。这是系统开发一开始要做的工作,也是建立初始原型的必要条件。这一步骤主要是确定用户准备从系统得到些什么,对系统有哪些要求。如果要求较多,还要确定各种要求的优先顺序。在分析用户的这些要求的基础上,构造一个简单的、并不完整和也不完善的计算机化的模型。这一阶段不需要大量收集和积累数据和信息。

②建立系统初始原型。根据构造的模型,采用快速技术,开发出一个尽量满足用户基本要求和习惯的初始系统模型。

③运行和评价原型。将开发出来的系统原型交用户使用。用户在使用过程中检验、评价这个原型,如不满意或者不满足,再提出意见和要求,请求修改完善。

④修改旧原型、建立新原型。根据用户提出的意见和要求,对旧原型进行修改、完善或扩充,构造新的系统原型,再重复第三步,即将修改、完善后的新原型交给用户运行和评价。

第三步和第四步是一个反复迭代的过程,直至用户满意为止。

⑤建立最终系统。用户满意的系统可能是一个新系统,也可能是完善系统的开发基础。这一步是改进数据管理的例行程序,增强辅助用户系统的功能,以及完成系统说明的各种资料和说明等。

原型方法的工作过程见图54。

图54 原型法的工作流程

(4)原型法的优缺点

优点:开发周期短、见效快,开发成本低,可逐步投资,需求或设计不正确时可及时修改,用户始终参与开发,能及时纠正错误。

缺点:系统开发的管理较困难,系统的许多方面没有明确目标,处于不断修改的状态,开发人员较难控制,容易造成混乱。同时,原型法是一种模拟方法,对许多内部处理程序和大量逻辑计算无法模拟。

总之,原型方法是在信息系统研制过程中的一种简单的模拟方法,与最早人们不经分析直接编程时代以及结构化系统开发时代相比,它是人类认识信息系统开发规律道路上的 “否定之否定”。它站在前者的基础上,借助于新一代的软件工具,螺旋式上升到一个新的更高的起点。这 “抛弃”了结构化系统开发方法的某些繁琐细节,继承了其内涵,是对结构化开发方法的发展和补充。这种相互补充、相互促进的系统开发方式将会是今后若干年信息系统或软件工程开发所使用的主要方法。

3面对对象的开发方法

面对对象的系统开发方法 (简称OO方法)是从20世纪80年代各种面向对象的程序设计方法逐步发展而来的。

(1)OO方法的基本思想。OO方法认为,客观世界是由各种各样的对象组成的,每种对象都有各自的内部状态和运动规律,不同对象之间的相互作用和联系就构成了各种不同的系统。当我们设计和实现一个客观系统时,如果在满足需求的条件下,把系统设计成由一些不可变的部分组成的最小集合,这个设计就是最好的,而这些不可变的部分就是所谓的对象。这种方法的主要思路是所有开发工作都围绕对象展开,在分析中抽象的确定出对象以及其他相关属性,在设计中确保对象严格规范并按照独享的需求来研制软件工具,最后用这个工具按设计的内容直接形成应用软件系统。面向对象方法是一种基于问题对象的自底向上的开发方法论。

(2)OO方法的特点。

①以独立对象为基础,整个系统是各个独立对象的有机结合。

②对象是一个被严格模块化的实体,称之为封装。这种封装了的对象满足软件工程的一切要求而且可以直接被面向对象的程序设计语言所接受。

③解决了从电子数据处理系统到软件模块的多次映像的复杂过程。

④对象可按其属性进行归类。类有一定的结构,类之上可以有超类,类下可以有子类。这种对象或类之间的层次结构靠继承关系维系。

⑤各种对象之间有统一,方便,动态的消息传递机制。而传递的方式是通过消息模式和方法所定义的操作过程来完成的。

(3)OO方法的开发过程,可分为四个阶段。

①识别客观世界中的对象及其行为,分别独立设计出各个对象的实体。

②分析对象之间的联系和相互所传递的信息,由此构成信息系统的模型

③将信息系统模型转换成软件系统模型,需要对各个对象进行归类和整理,并确定各对象之间的层次与从属关系。

④将软件系统模型转换成现实系统。

(4)OO方法的优缺点。

优点:OO方法以对象为基础,利用特定的软件工具直接完成从对象实体的描述到软件结构的转换。解决了传统结构化开发方法中客观世界描述工具与软件结构的不一致性问题,缩短了开发周期,解决了从分析、设计到软件模块结构之间多次转换映像的复杂过程,是一种很有前途的系统开发方法。

缺点:OO方法需要一定的软件基础支持才可以应用,另外在大型的MIS开发中,如果不经自顶向下的整体划分,而是一开始就自底向上的采用OO方法开发系统,同样也会造成系统结构不合理,各部分关系失调等问题。

4计算机辅助软件工程方法

自计算机在工商管理领域应用以来,系统开发过程,特别是系统分析、设计和开发过程,就一直是制约信息系统发展的瓶颈。这个问题一直延续到20世纪80年代,随着计算机图形处理技术和程序生成技术的出现才得以缓和。解决这一问题的工具就是集图形处理技术、程序生成技术、关系数据库技术和各类开发工具于一体的CASE。

(1)CASE方法的基本思路。在前面所介绍的任何一种系统开发方法中,如果对象系统调查后发现系统开发过程中的每一步都可以在一定程度上形成对应关系的话,那么就完全可以借助专门研制的软件工具来实现上述一个个的系统开发过程,这些系统开发过程中的对应关系包括:结构化方法中的业务流程分析、数据流程分析、功能模块设计、程序实现、业务功能一览表、数据分析、指标体系—数据/过程分析—数据分布和数据库设计,数据库系统等。

另外,由于在实际开发过程中上述几个过程很可能只是在一定程度上对应(不是绝对的一一对应),故这种专门研制的软件工具暂时还不能一次性 “映像”出最终结果,还必须实现其中间过程,即对于不完全一致的地方由系统开发人员再做具体修改。

(2)CASE方法的特点。上述CASE的基本思路决定了CASE方法的特点:

①解决了从客观世界对象到软件系统的直接映像问题,需要强有力的软件支持,参与信息系统开发的全过程。

②既支持自顶向下的结构化开发方法,又支持自底向上的面向对象和原型化开发方法。

③简化了软件的管理和维护,加速了系统的开发过程,使开发者从繁杂的图表分析设计和程序编写工作中解放出来。

④自动生成文档和程序代码,使系统产生统一的标准化文档。

⑤着重系统分析与设计,设计具有可重用性等。

(3)CASE方法的优缺点。

优点:为系统开发的一些方面提供了方便,能够加快分析和设计速度,利于重新设计。

缺点:不能做到系统设计的自动化,并且无法使业务上的需求自然而然地得到满足,系统分析和设计工作仍然要依靠分析与设计者的分析技能。

3各种开发方法的比较

目前工具技术的发展主要支持的都是信息系统开发中的几个环节,例如系统实施,系统设计和系统分析中各种流程图的绘制等,这就导致了信息系统开发工作量重心的偏移。

就国外最新的统计数据来看,在信息开发过程中各环节工作量所占的比重见下表51。

表51 开发过程中各环节所占比重表

从上表不难看出,系统调查和需求分析两个环节占到总开发工作量的70%以上,而系统设计和系统实施实现两个环节只占总开发工作量的不到30%,原来在开发工作中占最大工作量的编程与调试工作,而今只占不到10%的工作量。这一切都要归功于4GL,RDBS以及各种开发工具的出现。

(1)原型方法。它是一种基于4GL的快速模拟方法,是通过模拟以及对模拟后原型的不断讨论和修改最终建立系统。要想将这种方法应用于一个大型信息系统开发过程中的所有环节是根本不可能,故它多被用于小型局部系统或处理过程比较简单的系统的设计到实现环节。

(2)面向对象法。它是一种围绕对象进行系统分析和系统设计,然后用面向对象的工具建立系统的方法。这种方法可以普遍适用于各类系统开发,但是无法应用于系统设计以前的开发环节。

(3)CASE方法。它是一种除系统调查外,全面支持系统开发过程的方法,同时也是一种自动化的开发方法。从方法学的特点来看,它具有前面所述方法的各种特点,同时又具有其自身的独特之处——高度自动化的特点。但值得注意的是,在这个方法的应用以及CASE工具自身的设计中,自顶向下、模块化、结构化是贯穿始终的。这一点从CASE自身的文档和其生成系统的文档中都可以看出。

综上所述,只有结构化系统开发方法是真正能较全面支持整个系统开发过程的方法。其他几种方法尽管有很多优点,但都只能作为结构化系统开发方法在局部开发环节上的补充,暂时都还不能替代其在系统开发过程中的主导地位,尤其在目前系统开发工作量最大的系统调查和系统分析这两个重要环节。需再一次强调的是,上面所列举的几种方法不是相互独立的,它们经常是可以混合应用的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈