第二章信息技术应用基础黄鑫12019/8/32019/8/32引导案例2019/8/33•美国联合包裹服务公司(UPS)是一家百年老字号,也是美国经济的支柱企业。在经过近一个世纪的运作之后,他们已经由一家拥有技术的货车运输公司,演变成拥有货车的技术型公司。这是一个突破性的变革,成功来自于UPS在数字时代来临时紧紧抓住了发展电子商务这一良机,实现了由传统物流企业向电子物流企业的跨跃。商业界人士评价,当经济的原动力已从实物的传递转向大规模的信息电子化传递时,真正的赢家将是UPS这样二者兼具的公司。•UPS总裁兼首席执行官吉姆·凯里在解释传统供应链与电子供应链的区别时说,电子供应链改变了传统供应链的运行方向。在传统供应链中,供应商是将货物沿着供应链向最终用户的方向“推动”。这样的系统需要在仓库里储存货物,尽管这种作法并不合算。而电子供应链,主张的是只及时生产顾客所需的产品,而不需在仓储上耗费巨资。引导案例在电子商务及新的在线购物系统中,顾客可从供应链的每个成员中“拉出”他们所需的东西,结果是顾客可获得更加快速而可靠的服务,而供应商也可减少成本。为了有效地实施拉动战略,企业必须与供应链中的所有成员建立电子联系。UPS一直在争取使自己成为每个客户供应链中不可缺少的环节。在这个过程中,UPS成长为一家信息公司。目前,UPS可向顾客和供应商提供瞬间电子接入服务,以便查阅有关包裹运输和传递过程的信息。引导案例UPS能够对每日运送的1300万个邮包进行电子跟踪。例如一个出差在外的销售员在某地等待某些样品的送达,他可以通过UPS安排的3COM网络系统中输入UPS运单跟踪号码,即可知道货物在哪里。当需要将货物送达另一个目的地时,可再次通过网络以及附近的手机通信塔台,找出货物的位置,并指引到最近的投递点。引导案例UPS的驾驶员是公司大型电子跟踪系统中的关键人物。他们携带了一块电子操作板,称作DLAD(运送信息获取装置),可同时捕捉和发送运货信息。一旦用户在DLAD上签收了包裹,信息将会在网络中传播。寄件人可以登录UPS网站了解货物情况。同时,驾驶员行驶路线的塞车情况,或用户需即时提货等信息也可发放给DLAD引导案例Grouporbusinessunitnamefilename.pptTheUPSOlympicMarketingPlanApril2006第一节软件工程第二节数据库技术92019/8/3一、软件工程概述(一)软件工程的起源1、软件的有关知识软件由计算机程序、数据及文档组成。软件具有抽象性、软件生产无明显制造过程、无磨损性、对计算机硬件依赖性、软件的手工开发方式、软件本身复杂性和软件的高成本等特点。第一节软件工程102019/8/32、软件的种类(1)按功能分类•应用软件•系统软件•支撑软件(2)按规模分类微型软件小型软件中型软件大型软件极大型软件(3)按工作方式分类分时软件实时软件交互式软件批处理式软件第一节软件工程112019/8/3(4)按服务对象分类项目软件产品软件(5)按使用频度分类一次性使用软件频繁使用软件(6)按失效影响分类高可靠性软件一般可靠性软件第一节软件工程122019/8/3计算机软件的发展经历了三个阶段:(1)程序设计阶段(20世纪50至60年代)(2)程序系统阶段(20世纪60至70年代)(3)软件工程阶段(20世纪70年代以后)第一节软件工程132019/8/3(二)软件工程概述1、软件工程的定义经过几十年的研究和探讨,美国著名软件工程专家(B.W.Boehm)将软件工程定义为“运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文档资料。”第一节软件工程142019/8/3(二)软件工程概述1、软件工程的定义经过几十年的研究和探讨,美国著名软件工程专家(B.W.Boehm)将软件工程定义为“运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文档资料。”2019/8/315软件工程基本目标(1)付出较低的开发成本(2)达到要求的软件功能(3)取得较好的软件性能(4)开发的软件易于移植(5)需要较低的维护费用(6)能按时完成开发,及时交付使用第一节软件工程162019/8/3软件工程目标之间的关系第一节软件工程172019/8/33、软件工程基本原则(1)抽象与自顶向下、逐层细化软件工程开发是一项庞大的工作,可以采取抽象的方法,即抽取事物最基本的特性和行为,忽略非基本的细节;同时,可以采用分层次抽象,自顶向下、逐层细化的办法来控制软件开发过程中的复杂性。(2)信息隐蔽和数据封装通过接口访问数据,用户并不需要清楚这些细节如何实现,采用使用与实现分离的原则。第一节软件工程182019/8/3(3)模块化模块应具有良好的接口定义,如C中的函数调用,或C++中的类。2019/8/319(4)局部化(5)确定性软件开发过程中所有概念的表达应该是确定的、无歧义的、规范的,这有助于开发人员在交流时不至于产生误解。(6)一致性和标准化软件开发的团体性决定的。在概念术语符号及接口方面要保持一致。(7)完备性和可验证性2019/8/320二、软件的生存期模型1、瀑布模型第一节软件工程212019/8/3•1970年温斯顿·罗伊斯(WinstonRoyce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。•瀑布模型的优点是以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,从而保证了软件产品及时交付,并达到预期的质量要求,缺点是成品时间长,缺乏灵活性。2019/8/322瀑布的各项活动按自上而下,相互衔接的固定次序像瀑布一样逐级下落,每项活动均处于一个质量环(输入-处理-输出-评审)中2、演化模型(原型模型)演化模型主要针对事先不能完整定义需求的软件开发。用户可以给出待开发系统的核心需求,并且当看到核心需求实现后,能够有效地提出反馈,以支持系统的最终设计和实现。软件开发人员根据用户的需求,首先开发核心系统。当该核心系统投入运行后,用户试用之,完成他们的工作,并提出精化系统、增强系统能力的需求。软件开发人员根据用户的反馈,实施开发的迭代过程。第一节软件工程232019/8/32019/8/324缺点:如果所有的产品需求在一开始并不完全弄清楚的话,会给总体设计带来困难及削弱产品设计的完整性,并因而影响产品性能的优化及产品的可维护性。如果缺乏严格的过程管理的话,这个生命周期模型很可能退化为一种原始的无计划的“试-错-改”模式。2019/8/3253、螺旋模型1988年,巴利·玻姆(BarryBoehm)正式发表了软件系统开发的“螺旋模型”,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。分为四个象限第一节软件工程262019/8/32019/8/3272019/8/328优点•设计上的灵活性,可以在项目的各个阶段进行变更。•以小的分段来构建大型系统,使成本计算变得简单容易。•客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。•随着项目推进,客户始终掌握项目的最新信息,从而他或她能够和管理层有效地交互。•客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。2019/8/329缺点•很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。2019/8/3304、增量模型第一节软件工程312019/8/35、喷泉模型•喷泉模型主要用于采用对象技术的软件开发项目。•该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。无间隙指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界限,由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地包括复用。第一节软件工程322019/8/32019/8/3336、智能模型智能模型基于知识的软件开发模型,它与专家系统结合在一起。该模型应用基于规则的系统,采用归纳和推理机制,帮助软件人员完成开发工作,并使维护在系统规格说明一级进行。该模型在实施过程中要建立知识库,将模型本身、软件工程知识与特定领域的知识分别存入数据库。以软件工程知识为基础的生成规则构成的专家系统与含应用领域知识规则的其他专家系统相结合,构成这一应用领域软件的开发系统。第一节软件工程342019/8/32019/8/335三、软件工程环境和原理(一)软件工程环境1、软件工程环境的定义美国国防部在STARS计划中对软件工程环境定义如下:软件工程环境是一组方法、过程及计算机程序的整体化构建,支持从需求定义、程序生成直到维护的整个软件生存期。第一节软件工程362019/8/3•软件工程环境是响应的一组软件工具的集合,支持一定的软件开发方法或按照一定的软件开发模型组织而成。它支持应用软件的全部或部分自动生产过程,从而提高软件的生产率,降低了软件的成本,改善了软件的质量。2019/8/3372、软件工程环境的特点(1)数据库中可以存放目标系统的定义描述,是软件工程环境最重要的特征。(2)采用一体化的集成工具,可以实现开发活动之间的全自动切换,不需用户干预。(3)采用具有弹出功能的多级菜单、在线帮助技术、可以同一时间监控处理不同任务的多窗口技术、指导用户操作的向导技术来提高操作者的效率。第一节软件工程382019/8/3(4)用户可以在不同阶段按实际需求,以不同格式提取相关信息。(5)用户可以随时对当前收集到的数据进行一致性检查和完整性分析。(6)为了满足用户和开发组的不同需求,软件工程环境必须是可裁减的和可扩充的。(7)好的软件工程环境可以帮助项目工程管理的实施。(8)好的软件工程环境可以支持一种或多种系统开发方法。第一节软件工程392019/8/3第一节软件工程(二)软件工程的基本原理1、按软件生存期分阶段制定计划并认真实施2、坚持进行阶段评审3、坚持严格的产品控制4、使用现代程序设计技术5、明确责任,使得工作结果能够得到清楚的审查6、用人少而精;不断改进开发过程402019/8/3软件工程项目的失败有50%以上是由于计划不周而造成的,因此需要把软件生命周期分成若干阶段编程是一项精细的工作,一个位置的编码错误可能导致一系列的错误采用变动控制采用先进的开发技术,如JAVA、PHP、C++尽量明确规定开发小组的责任和产品标准开发人员素质效率差别相差级数高,控制成本一、数据库概述数据库是物流中不可缺少的工具,是绝大部分企业信息系统的核心物流管理的数据库应用包括各种物资、商务数据的存储与管理,如查询、分类等。企业决策支持从大量的物流、商务数据中提取对企业物流、商务有用的信息,设计数据仓库、数据挖掘等新技术。第二节数据库技术412019/8/32019/8/342(二)数据库的概念数据库(Databases,简称DB)是指长期保存在计算机的存储设备上、并按照某种模型组织起来的、可以被各种用户或应用共享的数据的集合。第二节数据库技术432019/8/31、数据库的特点数据库是数据的集合,它具有如下特点:第二节数据库技术442019/8/3尽可能不重复,具有较小的冗余度;其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制,具有较高的数据独立性和易扩充性;数据库中的数据可以为多个用户所共享。2、数据库的类型(1)层次式数据库第二节数据库技术452019/8/3具有“根”而且具有定向有序的树形结构,类似于WINDOWS系统的资源管理器。(2)网状式数据库第二节数据库技术462019/8/3(3)关系式数据库关系式数据库是目前应用最多的一种数据库模型,它将数据按逻辑归纳为满足一定条件的二维数表的一种形式,表中的每一列称为字段(即属性),字段名相当于标题栏中的标题,表中的每一行