第六章 企业信息系统的开发与运行管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第六章企业信息系统的开发与运行管理1软件工程...................................................................21.1软件工程的定义.......................................................21.2软件工程的基本原理...................................................21.3软件工程的目标.......................................................41.4软件工程的主要内容...................................................41.5软件工程的生存周期...................................................41.5.1计划...........................................................41.5.2分析和定义.....................................................41.5.3软件设计.......................................................41.5.4程序设计.......................................................41.5.5软件测试.......................................................51.5.6运行与维护.....................................................52系统开发的方法.............................................................52.1生命周期法...........................................................52.2原型法...............................................................72.3面向对象法...........................................................73企业信息系统开发-------会计帐务处理系统....................................8第一步:需求搜集分析.................................................8第二步:系统调查.....................................................9第三步:可行性分析..................................................12第四步:系统开发详细调查............................................14第五步:系统分析....................................................15第六步:系统设计....................................................22第七步:C++面向对象程序设计.........................................43第八步:系统测试....................................................57第九步:企业信息系统的运行管理......................................6621软件工程软件工程这一概念,主要是针对20世纪60年代的“软件危机”而提出的,自这一概念提出以来,围绕软件项目,开展了有关开发模型、方法以及支持工作的研究。1.1软件工程的定义软件工程是指导计算机软件开发和维护的一门工程科学。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。随着软件工程的发展过程,出现过对软件工程的各种各样的定义,其中的一些典型的定义有:1968年在第一届NATO会议上曾经给出了软件工程的一个早期定义:“软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。”P.Wegner和B.Boehm认为:软件工程是科学知识在设计和构造计算机程序以及开发、运作和维护这些程序所要求的有关文档编制中的实际应用。1983年IEEE(国际电气与电子工程师协会)的软件工程术语汇编中,将软件工程定义为:对软件开发、运作、维护、退役的系统研究方法。1993年IEEE进一步给出了一个更全面更具体的定义:“软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。”从以上对软件工程的不同定义中,我们可以看到对其内容的理解是逐步深入的。发展到今天,软件工程已是一门交叉性学科,它运用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法来创建软件,从而达到提高质量、降低成本的目的。1.2软件工程的基本原理1983年B.Weohm提出了软件工程的七条基本原理,他认为,这7条原理是确保软件产品质量和开发效率的最小集合。它们是相互独立、缺一不可的最小集合,同时,它们又是完备的。这七条原理是:①用分阶段的生命周期计划严格管理这一条是吸取前人的教训而提出来的。统计表明,50%以上的失败项目是由于计划不周而造成的。在软件开发与维护的漫长生命周期中,需要完成许多性质各异的工作。这条原理意味着,应该把软件生命周期分成若干阶段,并相应制定出切实可行的计划,然后严格按照计划对软件的开发和维护进行管理。在整个软件生命周期中应指定并严格执行六类计划,即项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划和运行维护计划。3②坚持进行阶段评审统计结果显示,大约63%的错误是在编码之前造成的,错误发现的越晚,改正它要付出的代价就越大。因此,软件的质量保证工作不能等到编码结束后再进行,应坚持进行严格的阶段评审,以便尽早发现错误。③实行严格的产品控制在软件开发过程中麻烦的事情之一就是改动需求,因为改变一项需求需要付出较高的代价。但是实践告诉我们:需求的改动往往是不可避免的。由于各种客观的需要,不能禁止用户提出改变需求的要求,而只能依靠科学的产品控制技术来适应这种要求。④采纳现代程序设计技术从提出软件工程的概念开始,人们主要的精力都用于研究各种新的程序设计技术。从20世纪60年代的结构化软件开发技术,以及随后发展的结构化分析和结构化设计技术,已成为大多数人认为的先进程序设计技术。再加上后来又提出的面向对象技术,从第一、第二代语言到第四代语言等等。总之采用先进的技术即可以提高软件开发的效率,又可以减少软件维护的成本。⑤结果应能清楚地审查软件产品不同于一般的物理产品,软件是一种看不见、摸不着的逻辑产品。软件开发小组的工作进展情况可见性差,难于评价和管理。为了更好地进行管理,应根据软件开发的总目标及完成期限,尽量明确地规定开发小组的责任和产品标准,从而使所得到的标准能清楚地审查。⑥开发小组的人员应少而精开发人员的素质和数量是影响软件质量和开发效率的重要因素,应该少而精。这一条基于两点原因:高素质开发人员的效率比低素质开发人员的效率要高几倍到几十倍;另一方面,开发工作中犯的错误也要少的多。当开发小组为N人时,可能的通讯信道为N(N-1)/2,可见随着人数N增大,通讯开销将急剧增大。⑦承认不断改进软件工程实践的必要性上述六条原理只是对现有经验的总结和归纳,并不能保证赶上技术不断前进发展的步伐。而根据第七条原理,不仅要积极采纳新的软件开发技术,还要注意不断总结经验,收集进度和消耗等数据,进行出错类型和问题报告统计。这些数据既可以用来评估软件技术的效果,也可以用来指明必须着重注意的问题和应该优先进行研究的工具和技术。41.3软件工程的目标软件工程是一门工程性学科,目的是成功地建造一个大型软件系统。所谓成功,主要达到以下几个目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护用费;能按时完成开发任务,及时交付使用;以及开发的软件可靠性高等等。1.4软件工程的主要内容软件工程研究的主要内容是指软件开发技术和软件开发管理两个方面。在软件开发技术中,它主要研究软件开发方法、软件开发过程、软件开发工具和环境。在软件开发管理中,它主要研究软件管理学、软件经济学和软件心理学等。1.5软件工程的生存周期如同任何事物一样,软件也有一个孕育、诞生、成长、成熟和衰老的生存过程,因此称其为软件工程的生存周期。其主要包括以下六个过程:1.5.1计划计划主要包括确定要开发软件系统的总目标,给出它的功能、性能、可靠性以及接口等方面的要求,这可由系统分析员通过对用户和使用部门负责人的访问和调查,讨论来完成;分析员和用户合作,研究完成该项软件任务的可行性,探究问题的可能方案,并对可利用的资源、成本、可取得的效益、开发的进度做出估计,制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。1.5.2分析和定义分析和定义指待开发软件提出的需求进行分析并给出详细的定义。软件人员和用户共同讨论哪些需求是可以满足的,并对其加以确切地描述。然后编写软件需求说明书或系统功能说明书以及初步的系统用户手册,提交管理机构评审。1.5.3软件设计软件设计的根本任务是将分析时期得出的逻辑模型设计成具体计算机软件方案。具体来说,主要包括设计软件的总体结构和设计软件具体模块的实现算法。软件设计结束之前,也要进行有关评审,评审通过后才能进入编程时期。软件设计时期也可以根据具体软件的规模、类型等决定是否细分成概要设计和详细设计两个阶段。1.5.4程序设计这个阶段主要是把每个模块的控制结构转换成计算机可接收的程序代码,即写成以某特定程序设计语言表示的“源程序清单”。当然,写出的程序应是结构好,清晰易读,并且与设计相一致。51.5.5软件测试软件测试是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检验软件的各个组成部分。测试分为模块测试、组装测试和确认测试。模块测试是查找各模块在功能结构上存在的问题。组装测试是将各模块按一定顺序组装起来进行的测试,主要是查找各模块之间接口上存在的问题。确认测试是按软件需求说明书上的功能逐项进行的,发现不能满足用户需求的问题,决定开发的软件是否合格、能否交付用户使用等。1.5.6运行与维护已交付的软件投入正式使用,便进入运行阶段。这一阶段可能持续若干年甚至几十年。软件在运行中可能由于多方面的原因,需要对它进行修改。其原因可能有:运行中发现了软件中的错误需要修正;为了适应变化了的软件工作环境,需做适当变更;为了增强软件的功能需做变更等。2系统开发的方法2.1生命周期法生命周期法是普遍使用的信息系统开发方法,在系统开发中得到了广泛的应用和推广。尤其是在开发复杂的大系统时,显示出了较大的优越性。它将信息系统开发的全过程严格划分为六个阶段,即上述的软件生命的6个阶段。生命周期法要求系统开发工作必须分阶段、分步骤地逐步进行,每一阶段都有明确的任务、原则、方法,并形成相应的文档资料。这就保证了系统分析与设计人员能充分了解系统状况和用户需求,对系统开发工作进行有效的组织和控制。软件生命周期的瀑布图系统调查(可行性研究)系统分析(需求分析)系统设计程序设计系统测试运行、维护和评估需求分析阶段软件开发阶段运行维

1 / 83
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功