企业信息系统的开发与运行管理.pdf
《企业信息系统的开发与运行管理.pdf》由会员分享,可在线阅读,更多相关《企业信息系统的开发与运行管理.pdf(118页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、企业信息系统的开发与运行管理 The pony was revised in January 2021第六章 企业信息系统的开发与运行管理1 软件工程.软件工程的定义.软件工程的基本原理.软件工程的目标.软件工程的主要内容.软件工程的生存周期.计划.分析和定义.软件设计.程序设计.软件测试.运行与维护.2 系统开发的方法.生命周期法.原型法.面向对象法.3 企业信息系统开发-会计帐务处理系统.第一步:需求搜集分析.第二步:系统调查.第三步:可行性分析.第四步:系统开发详细调查.第五步:系统分析.第六步:系统设计.第七步:C+面向对象程序设计.第八步:系统测试.第九步:企业信息系统的运行管理.1
2、 1 软件工程软件工程软件工程这一概念,主要是针对 20 世纪 60 年代的“软件危机”而提出的,自这一概念提出以来,围绕软件项目,开展了有关开发模型、方法以及支持工作的研究。软件工程的定义软件工程的定义软件工程是指导计算机软件开发和维护的一门工程科学。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。随着软件工程的发展过程,出现过对软件工程的各种各样的定义,其中的一些典型的定义有:1968 年在第一届 NATO 会议上曾经给出了软件工程的一个早期定义:“软件工程
3、就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。”PWegner 和 BBoehm 认为:软件工程是科学知识在设计和构造计算机程序以及开发、运作和维护这些程序所要求的有关文档编制中的实际应用。1983 年 IEEE(国际电气与电子工程师协会)的软件工程术语汇编中,将软件工程定义为:对软件开发、运作、维护、退役的系统研究方法。1993 年 IEEE 进一步给出了一个更全面更具体的定义:“软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;研究中提到的途径。”从以上对软件工程的不同定义中,我们可以看到对其内容的理解
4、是逐步深入的。发展到今天,软件工程已是一门交叉性学科,它运用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法来创建软件,从而达到提高质量、降低成本的目的。软件工程的基本原理软件工程的基本原理1983 年提出了软件工程的七条基本原理,他认为,这 7 条原理是确保软件产品质量和开发效率的最小集合。它们是相互独立、缺一不可的最小集合,同时,它们又是完备的。这七条原理是:用分阶段的生命周期计划严格管理这一条是吸取前人的教训而提出来的。统计表明,50%以上的失败项目是由于计划不周而造成的。在软件开发与维护的漫长生命周期中,需要完成许多性质各异的工作。这条原理意味着,应该把软件生命周期分成若干阶
5、段,并相应制定出切实可行的计划,然后严格按照计划对软件的开发和维护进行管理。在整个软件生命周期中应指定并严格执行六类计划,即项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划和运行维护计划。坚持进行阶段评审统计结果显示,大约 63的错误是在编码之前造成的,错误发现的越晚,改正它要付出的代价就越大。因此,软件的质量保证工作不能等到编码结束后再进行,应坚持进行严格的阶段评审,以便尽早发现错误。实行严格的产品控制在软件开发过程中麻烦的事情之一就是改动需求,因为改变一项需求需要付出较高的代价。但是实践告诉我们:需求的改动往往是不可避免的。由于各种客观的需要,不能禁止用户提出改变需求的要求,
6、而只能依靠科学的产品控制技术来适应这种要求。采纳现代程序设计技术从提出软件工程的概念开始,人们主要的精力都用于研究各种新的程序设计技术。从 20世纪 60 年代的结构化软件开发技术,以及随后发展的结构化分析和结构化设计技术,已成为大多数人认为的先进程序设计技术。再加上后来又提出的面向对象技术,从第一、第二代语言到第四代语言等等。总之采用先进的技术即可以提高软件开发的效率,又可以减少软件维护的成本。结果应能清楚地审查软件产品不同于一般的物理产品,软件是一种看不见、摸不着的逻辑产品。软件开发小组的工作进展情况可见性差,难于评价和管理。为了更好地进行管理,应根据软件开发的总目标及完成期限,尽量明确地
7、规定开发小组的责任和产品标准,从而使所得到的标准能清楚地审查。开发小组的人员应少而精开发人员的素质和数量是影响软件质量和开发效率的重要因素,应该少而精。这一条基于两点原因:高素质开发人员的效率比低素质开发人员的效率要高几倍到几十倍;另一方面,开发工作中犯的错误也要少的多。当开发小组为 N 人时,可能的通讯信道为N(N-1)/2,可见随着人数 N 增大,通讯开销将急剧增大。承认不断改进软件工程实践的必要性上述六条原理只是对现有经验的总结和归纳,并不能保证赶上技术不断前进发展的步伐。而根据第七条原理,不仅要积极采纳新的软件开发技术,还要注意不断总结经验,收集进度和消耗等数据,进行出错类型和问题报告
8、统计。这些数据既可以用来评估软件技术的效果,也可以用来指明必须着重注意的问题和应该优先进行研究的工具和技术。软件工程的目标软件工程的目标软件工程是一门工程性学科,目的是成功地建造一个大型软件系统。所谓成功,主要达到以下几个目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护用费;能按时完成开发任务,及时交付使用;以及开发的软件可靠性高等等。软件工程的主要内容软件工程的主要内容软件工程研究的主要内容是指软件开发技术和软件开发管理两个方面。在软件开发技术中,它主要研究软件开发方法、软件开发过程、软件开发工具和环境。在软件开发管理中,它主要研究软件管理
9、学、软件经济学和软件心理学等。软件工程的生存周期软件工程的生存周期如同任何事物一样,软件也有一个孕育、诞生、成长、成熟和衰老的生存过程,因此称其为软件工程的生存周期。其主要包括以下六个过程:计划计划计划主要包括确定要开发软件系统的总目标,给出它的功能、性能、可靠性以及接口等方面的要求,这可由系统分析员通过对用户和使用部门负责人的访问和调查,讨论来完成;分析员和用户合作,研究完成该项软件任务的可行性,探究问题的可能方案,并对可利用的资源、成本、可取得的效益、开发的进度做出估计,制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。分析和定义指待开发软件提出的需求进行分析并给出详细的
10、定义。软件人员和用户共同讨论哪些需求是可以满足的,并对其加以确切地描述。然后编写软件需求说明书或系统功能说明书以及初步的系统用户手册,提交管理机构评审。软件设计软件设计软件设计的根本任务是将分析时期得出的逻辑模型设计成具体计算机软件方案。具体来说,主要包括设计软件的总体结构和设计软件具体模块的实现算法。软件设计结束之前,也要进行有关评审,评审通过后才能进入编程时期。软件设计时期也可以根据具体软件的规模、类型等决定是否细分成概要设计和详细设计两个阶段。这个阶段主要是把每个模块的控制结构转换成计算机可接收的程序代码,即写成以某特定程序设计语言表示的“源程序清单”。当然,写出的程序应是结构好,清晰易
11、读,并且与设计相一致。软件测试是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检验软件的各个组成部分。测试分为模块测试、组装测试和确认测试。模块测试是查找各模块在功能结构上存在的问题。组装测试是将各模块按一定顺序组装起来进行的测试,主要是查找各模块之间接口上存在的问题。确认测试是按软件需求说明书上的功能逐项进行的,发现不能满足用户需求的问题,决定开发的软件是否合格、能否交付用户使用等。已交付的软件投入正式使用,便进入运行阶段。这一阶段可能持续若干年甚至几十年。软件在运行中可能由于多方面的原因,需要对它进行修改。其原因可能有:运行中发现了软件中的错误需要修正;为了适应变化了的软件工作
12、环境,需做适当变更;为了增强软件的功能需做变更等。2 2 系统开发的方法系统开发的方法生命周期法生命周期法生命周期法是普遍使用的信息系统开发方法,在系统开发中得到了广泛的应用和推广。尤其是在开发复杂的大系统时,显示出了较大的优越性。它将信息系统开发的全过程严格划分为六个阶段,即上述的软件生命的 6 个阶段。生命周期法要求系统开发工作必须分阶段、分步骤地逐步进行,每一阶段都有明确的任务、原则、方法,并形成相应的文档资料。这就保证了系统分析与设计人员能充分了解系统状况和用户需求,对系统开发工作进行有效的组织和控制。生命周期的各生命周期的各主主 要要 任任 务务阶段阶段了解用户需求,确定软件的开发目
13、标,软件的定义摸清现行系统情况,描述原系统的会计数档档系统调查报告;形成的主要文形成的主要文据量和数据流,手工业务处理过程,分析建立新系统的必要性和可行性,确定新系统的目标和规模。可行性研究报告;系统开发计划。在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析,明确系统分析说明系统分析阶段所要设计的新系统应该做什么,具有什么书。功能。改进现行系统,补充新的功能,提出计算机会计信息系统模型。根据系统模型,对系统目标进行逐层分解,进行框架设计,绘制系统模块结构图。定义各模块的功能、算法、输入、输出、所用数据的来源和模块之间的数据传系统设计阶段递关系,给出每一模块的具体实现方法和计步骤
14、等,同时,还要建立包括数据库、基表结构和输入、输出内容在内的系统结构。根据系统的详细设计说明书,用指定的程序设计语言或开发工具予以实现,并进程序编码阶段行反复调试,直至生成计算机可运行的高效源程序代码和可执行代码。源程序清单。程序设计说明书;详细设计。包括:总体设系统设计说明书用模拟数据或系统前期数据对系统各模块进行单项调试和联调,测试系统的正确系统测试阶段性,判别系统功能是否达到要求,并对系统能否正式使用作出判断。系统测试报告;用户使用手册。系统运行日志;对系统设计、程序设计和系统测试中未发现的问题进行修改和补充;对系统由于运行维护阶段内外部环境和需求变化引起的变动进行修补;对系统使用者误操
15、作引起的系统非正常状态和系统意外故障进行维护。系统维护报告。生命周期法的缺点是这种方法基于两个基本的假定,即一是系统的目标能反映用户的要求,二是系统开发的环境是相对稳定的。但是随着企业环境的变化和时间的推移,用户会不断提出新的需求,用户需求的多变性和系统运行环境的不确定性,动摇了该方法的应用前提。使用该方法开发的信息系统是一个固定模式的信息系统,它与用户多变的需求及环境的不确定性产生了尖锐的矛盾,以致使系统开发成功率不高。由于该方法要按步就班地进行开发工作,因此,开发周期长、见效慢。正如瀑布的水不能回流一样,生命周期法也是按部就班地进行开发,这就要求系统分析和系统设计要面面俱到,一旦产生疏漏就
16、会给系统开发带来严重后果。原型法原型法原型即雏形,表示某种产品的原始模型,对于系统开发而言就是该系统的最早期版本。原型法的基本思想是:在获得用户基本需求的基础上快速地构造系统工作模型,即初始模型,然后演示这个原型系统,在用户参与的情况下,按用户合理而又可行的要求,不断地修改这一原型系统。每次修改都使系统得到一个更加完善的新原型,直到用户满意为止。原型法是随着用户和开发者对系统理解的加深而不断地按更明确、更高需求进行补充和细化。系统的定义是在逐步加深认识的过程中进行的,而不是开始就试图预见一切,它是系统模型化和探索性开发方法。原型法具有明显优点,它的开发周期短,见效快,可边开发、边使用,边提高用
17、户的应用水平,能适应多变的开发环境和用户需求。但是,开发系统采用原型法,需要交互式开发环境和先进的开发工具支持,其初始原型设计较为困难,如果初始原型设计不合理,则开发过程容易失控或陷入“头痛医头、脚痛医脚”的被动局面。面向对象法面向对象法面向对象方法是一种以对象为中心来认识客观世界的方法,它从结构组织角度模拟客观世界,把世界看成是由许多不同种类的对象构成。每个对象都有自己的内部状态和运动规律,不同对象间的相互联系和相互作用构成了完整的客观世界。对象由属性集和作用于属性集之上的方法集组成,它把属性和方法封装在一起,是一个动态的概念,属性集反映了对象的当前状态,方法有两类:一是通过返回对象当前的某
18、个属性值来向外界反映对象当前的状态;另一类方法是通过改变对象的某些属性值来改变对象的当前状态。面向对象方法是一种新的软件开发方法,目前,在程序设计中已被广泛采用,并被逐渐应用于系统开发。3 3 企业信息系统开发企业信息系统开发-会计帐务处理系统会计帐务处理系统第一步:需求搜集分析第一步:需求搜集分析用户需求搜集分析就是要了解用户对所要开发系统的基本要求。说得通俗些,就是了解用户到底要建立什么系统,什么对客户来说是重要的,也就是要求所开发软件“做什么,做到什么程度”才能使客户感到满意。需求获取可能是软件开发中最困难、最关键、最易出错及最需要沟通交流的活动。需求搜集分析为什么困难有几种原因使需求分
19、析变得困难:(1)客户说不清楚需求;(2)需求自身经常变动;(3)分析人员或客户理解有误。(1)客户说不清楚需求有些客户对需求只有朦胧的感觉,当然说不清楚具体的需求。例如全国各地的很多政府机构在搞网络建设,这些单位的领导和办公人员大多不清楚计算机网络有什么用,反而要软件系统分析人员替他们设想需求。这类工程的需求是如此的主观,以致产生很多贪污腐败现象。有些客户心里非常清楚想要什么,但却说不明白。读者可能很不以为然。就举日常生活的事例吧,比如说买鞋子。我们非常了解自已的脚,但没法说清楚脚的大小和形状。只能拿鞋子去试,试穿时感觉到舒服才会买鞋(居然也有神通广大的售货员,看一眼客户的手,就知道应该穿什
20、么样的鞋)。如果客户本身就懂软件开发,能把需求说得清清楚楚,这样的需求分析将会非常轻松、愉快。如果客户全不懂软件,但信任软件开发方,这事也好办。分析人员可以引导客户,先阐述常规的需求,再由客户否定不需要的,最终确定客户真正的需求。最怕的就是“不懂装懂”或者“半懂充内行”的客户,他们会提出不切实际的需求。如果这些客户甚至觉得自己是上帝的爸爸,那么沟通和协商都会很困难。(2)需求自身经常变动软件的需求会变化吗?答:据历史记载,没有一个软件的需求改动少于三次。唯一只改动需求两次的客户是个死人。这个可怜的家伙还是在运送第三次需求的路上被车子撞死的。Cline 1995让我们先接受“需求会变动”这个事实
21、吧,免得在需求变动时惊慌失措。明白“需求会变动”这个道理后,在进行需求分析时就要留点神:尽可能地分析清楚哪些是稳定的需求,哪些是易变的需求。以便在进行系统设计时,将软件的核心建筑在稳定的需求上,否则将会吃尽苦头。在合同中一定要说清楚“做什么”和“不做什么”。如果合同含含糊糊,日后扯皮的事情就多。要防止象韩复渠那样,在别人请他喝酒吃饭时他什么都点头(人家就更加献殷勤),吃完了他就宣布刚才答应的事都不算数,便扬长而去。(3)分析人员或客户理解有误有个外星人间谍潜伏到地球刺探情报,它给上司写了一份报告:“主宰地球的是车。它们喝汽油,靠四个轮子滚动前进。嗓门极大,在夜里双眼能射出强光。有趣的是,车里住
22、着一种叫作人的寄生虫,这些寄生虫完全控制了车。”软件系统分析人员不可能都是全才。客户表达的需求,不同的分析人员可能有不同的理解。如果分析人员理解错了,可能会导致开发人员白干活,吃力不讨好。我读中学时候最怕写作文逃题,如果逃题了,不管作文写得多长,总是零分。所以分析人员写好需求说明书后,要请客户方的各个代表验证。如果问题很复杂,双方都不太明白,就有必要请开发人员快速构造软件的原型,双方再次论证需求说明书是否正确。由于客户大多不懂软件,他们可能觉得软件是万能的,会提出一些无法实现的需求。有时客户还会把软件系统分析人员的建议或答复给想歪了。有一个软件人员滔滔不绝地向客户讲解在“信息高速公路上做广告”
23、的种种好处,客户听得津津有味。最后,心动的客户对软件人员说:“好得很,就让我们马上行动起来吧。请您决定广告牌的尺寸和放在哪条高速公路上,我立即派人去做。”为什么软件系统分析员的工资要比普通程序员高?就是因为需求分析困难嘛。第二步:系统调查第二步:系统调查俗话说,知己知彼,百战不殆。系统初步调查1、调查开发内容、企业的内部环境(企业规模、管理体制、生产经营状况、市场销售和盈利水平、经济实力等)、企业外部环境(企业归属、通讯状况、交通状况、市场环境(供需双方)等)、企业会计工作现状和存在的主要问题、企业的计算机应用状况、会计信息系统工作的人员构成和安排、系统的优缺点、需要解决的问题和需求的迫切性等
24、2、调查方法、现场调查、专家座谈会、德尔菲法、查阅文档资料3、调查工具、调查表、调查问卷、组织机构图、收集的文档资料4、调查报告包括初步调查的主要内容,收集的会计资料主要有各种凭证、台账和报表。小企业会计管理问题研究调查表第三步:可行性分析第三步:可行性分析可行性分析是要决定“做还是不做”。做可行性分析不能以偏盖全,也不可以什么鸡毛蒜皮的细节都加以权衡。可行性分析必须为决策提供有价值的证据。联想集团领导人柳传志曾说:“没钱赚的事我们不干;有钱赚但投不起钱的事不干;有钱赚也投得起钱但没有可靠的人选,这样的事也不干。”柳传志为决策立了上述准则,同时也为可以行性分析指明了重点。一般地,软件领域的可行
25、性分析主要考虑四个要素:经济、技术、社会环境和人。1经济经济可行性分析主要包括:“成本收益”分析和“短期长远利益”分析。一、成本收益分析成本收益分析最容易理解,如果成本高于收益则表明亏损了,如果成本大大高于收益那就亏大了。商人都不喜欢做吃亏的事情。有些商店成天贴着“最后一天跳楼大拍卖”的标语,意思是:我准备吃大亏让你占便宜,同志,你快上钩吧。如果是为客户做软件项目,那么收益就写在合同中。如果是做自己的软件产品,那么收益就是销售额。人们在预估产品销售额时常常过分乐观而犯下大错。那些对你的产品说恭维话的人并不见得就是要买货的人,俗话说“嫌货才是买货人”。当你没碰到一个挑刺的人而感觉这产品好得会让你
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业信息 系统 开发 运行 管理
限制150内