第八章 物流信息系统开发方法 物流信息系统的开发是一项复杂的系统工程工作。 第八章 物流信息系统开发方法 物流信息系统的开发是一项复杂的系统工程工作。 物流信息系统的开发是在物流信息系统规划与设计的基础上,去实现物流信息系统的过程。 在广义的信息系统开发的含义中,还包含信息系统规划与设计中的关于分析与设计的知识点。
第八章 物流信息系统开发方法 物流信息系统开发的整个生命周期分为:系统规划—系统分析—系统设计——系统实施—系统运行五个阶段。 第八章 物流信息系统开发方法 物流信息系统开发的整个生命周期分为:系统规划—系统分析—系统设计——系统实施—系统运行五个阶段。 物流信息系统的开发方法是在这一过程中的指导思想、逻辑、途径以及使用工具等的组合。
开发方法 1结构化生命周期法 2 原型法 3 面向对象方法 4 开发策略
1 结构化生命周期法 系统生命周期(system life cycle,SLC) 结构化系统开发过程: 软件概念,即确定和定义一个新系统的需要; 需求分析,也就是分析终端用户的信息需要; 建造设计,即采用硬件、软件、人和数据资源等设计创建一个蓝图; 译码和调试,即创建和规划最终系统; 系统测试,就是对于期望或预期的功能评估系统的最终功能。
结构化系统开发方法的基本思想是用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化、自顶向下的对系统进行分析和设计。
主要原则: 主要特点: 用户参与原则 工作阶段严格区分原则 自顶而下的原则 系统开发过程工程化,工作成果文档化、标准化原则 严格区分工作阶段,先逻辑、后物理,每个阶段都有明确的任务和相应的成果 强调结构化、模块化、自上而下地完成系统开发工作 工作成果文献化、标准化
2 原型法 原型法是首先根据用户提出的问题,在限定的时间内(一般几天或几周)用最经济的方法开发一个原型系统并 投入运行,然后在运行中与用户一起发现问题并提出修改意见,通过反复的发现问题并修改,使系统逐步满足用户的需求。 1. 2. 3. 4. N 识别用户需求 开发原型 决定是否 接受原型 Y 使用原型
(1).建立原型的过程 确定初步需求 设计初始原型 试用和评价原型 修改和完善原型
主要特点: 体现了从特殊到一般的认识规律,更容易为人们所普遍掌握和接受 便于开发人员与用户之间相互交流,用户能较好地参与系统的开发 充分利用最新的软件开发工具,提高了开发效率,缩短了开发周期,减少了开发费用 采用原型法开发系统灵活,便于修改与扩充
(2)原型法的开发环境 原型方法一般要借助于软件开发工具和现成的软件和模型。 可视化技术 计算机辅助软件工程技术 软件复用及组件技术
3 面向对象方法(P177) (1)面向对象方法的主要着眼点 对象 对象的封装 对象分类 泛化与继承 组合 对象之间的联系
(2)面向对象方法的开发过程 系统调查和需求分析 问题分析和求解—面向对象分析(OOA) 归纳—面向对象设计(OOD) 程序实现—面向对象编程(OOP)
UML 主要特点: 采用全新的面向对象思想,使得系统的描述及信息模型的表示与客观实体相对应,更符合人们认识事物的思维习惯 系统开发的基础统一于对象之上,各个阶段工作过渡平滑 面向对象开发方法采用了继承、封装、多态和消息传递机制,使软件的一致性、模块的独立性以及程序的共享性和可重用性大大提高
面向对象程序设计与面向过程程序设计的区别 面向对象的基本概念: (1)对象。 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。 (2)对象的状态和行为。 对象具有状态,一个对象用数据值来描述它的状态。 对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。 对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中 。
面向对象的基本概念 (3)类。 具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。 类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。 类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。 (4)类的结构。 在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。 ①一般——具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。 ②整体——部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。
面向对象的基本概念 (5)消息和方法。 对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。 类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。
面向过程程序设计 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。面向过程是在面向对象出现之前,以及之后,甚至至今都应用于程序开发中的程序设计思想。
面向对象与面向过程区别 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
面向对象与面向过程区别 例如:一辆汽车 用面向过程的思想去考虑它应该是这样的:如何启动汽车、如何起步、加速、刹车、熄火等一个个操作。而汽车在这里并不是我们所关心的。 而面向对象则以汽车为对象,一切由汽车开始,以上的可用操作,即功能是汽车这个对象本身所具有的,做任何操作只要告诉汽车就可以了。 面向过程是把所有的功能全部在一个大的类里定义出来,当系统庞大时,功能多了,各种操作之间的调用关系也很复杂,当需要修改一个功能时就可能引发一连串的改动,使修改和维护成本很昂贵。
面向对象与面向过程区别 两种方法都是编程中的比较常用的方法,从理论上来说,都能达到用计算机程序来解决实际问题的目的, 不过是其中所体现出来的思想不一样而已。 面向过程:面向过程的思想是把一个项目、一件事情按照一定的顺序,从头到尾一步一步地做下去,先做什么,后做什么,一直到结束。这种思想比较好理解,其实这也是一个人做事的方法。
面向对象与面向过程区别 面向对象:面向对象的思想是把一个项目、一件事情分成更小的项目,或者说分成一个个更小的部分,每一部分负责什么方面的功能,最后再由这些部分组合而成为一个整体。这种思想比较适合多人的分工合作,就像一个大的机关,分成各个部门,每个部门分别负责某样职能,各个部门可以充分发挥自己的特色,只要符合一定前提就行了。
举例说明1:比如刚才说的一个大的机关,要做某一个项目,从面向过程的思想来说,应该是这样分析的,先怎么样,再怎么样,最后怎么样。第一样应该如何完成,第二样应该如何完成等等。等到每一步骤都完成,项目也就完成了。而面向对象的思想则应该是这样想的,这个项目是由几个部分组成的,我们就做好分工,成立一个部门来做一个部分的功能,另一个部门来做另一个部分。各个部门可以不用理解其他部门的事,只要完成自己那一部分的事情就OK了。
举例说明2:又比如我们有一台演出,为简单起见,假设有如下流程:主持人开场——演员一表演——演员二表演——主持人总结。 用面向过程的思想来分析,就是先完成主持人开场,再完成演员一的表演,再完成演员二的表演,最后完成主持人的总结。 而如果用面向对象的思想来分析,就应该是这样的。这个演出由两大部分组成:主持人、演员。与主持人相关的:开场、总结。与演员相关的:演员编号、所演的节目。然后这台演出就可以这样策划:需要一个主持人a,需要两个演员b、c。演出的事情可以表示为:a的开场——b、c的编号和节目——a的总结。
计算机辅助软件工程法 外部化法 软件包法 最终用户开发法
4 开发策略
开发策略 自下而上的开发策略是从现行系统的业务状况出发,先实现一个个具体的功能,逐步地由低级到高级建立MIS。 自上而下的开发策略强调从整体上协调和规划,由全面到局部,由长远到近期,从探索合理的信息流出发来设计信息系统。 在实践中,对于大型系统往往把这两种方法结合起来使用,即先自上而下地做好MIS的战略规划,再自下而上地逐步实现各系统的应用开发。
1.开发原则 适应性原则 效益原则 系统原则 规范化原则 递进原则
2.开发模式 用户式开发策略(接受模式) 直线式开发策略(瀑布模式) 反复式开发策略(循环模式) 试验式开发策略(实验模式 ) 试验式开发策略(实验模式 ) 规划集成式开发策略(综合模式)
3.开发形式 自行开发 委托编程 委托开发 购买软件包 系统分析与设计能力要求 非常需要 不太需要 不需要 编程能力要求 系统的可维护性 容易 比较困难 困难 程序的可维护性 相当困难 开发费用 用于单位外部 小 大 用于单位内部 中等 开发风险 比较大 说明 开发时间长,但可以得到本单位要求的系统,并培养了自己的系统开发人员,需要强有力的领导。需要进行一定的咨询 单位必须具有自己的系统设计能力,最好也有自己的编程能力,在委托后,由用户编写并提出系统说明和程序说明是不可少的 由专业公司全盘负责系统的分析、设计和实施。由于双方对IT知识的不对称,因此需要第三方的咨询机构和监理机构参与 明确软件包是否切合本单位的需要,应当由精通业务的人员来选购软件包。此外,单位应具有检验软件包性能、条件的能力