已阅读5页,还剩89页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
房地产信息管理,第五章系统实施、维护与评价,系统分析与系统设计阶段的工作完成以后,开发人员的工作重点就从分析、设计阶段转入实践阶段。在此期间,将投入大量的人力、物力及占用较长的时间进行程序设计、程序和系统调试、人员培训、系统转换及系统评价等一系列工作,称之为系统实施。,第一节程序设计第二节调试第三节编写系统说明文件第四节系统转换第五节系统维护第六节系统评价,第一节程序设计,一、编程方法介绍二、程序设计语言的选择三、程序设计的风格四、程序设计的技巧五、管理信息系统的基本程序模块,一、编程方法介绍,用计算机对任何问题进行求解,都要把问题转化成计算机能够识别的语言程序,即进行程序设计。程序设计方法指的是按一定的规则书写程序结构,研究的是程序设计的有关原则和方法。,1结构化程序设计方法,目前软件设计中,广泛采用结构化程序设计方法,这是一种公认的较好的程序设计方法。其主要思想可以概括为:自顶向下、逐步求精和模块化。,结构化程序设计方法是一种面向数据处理过程的方法,它把数据和过程分离为相互独立的实体。而面向对象的程序设计方法是在本质上不同于结构化方法的一种新方法。面向对象程序设计既吸取了结构化方法的优点,又考虑了现实世界与对象空间的映射关系。,2面向对象的程序设计方法,面向对象的基本程序结构被称为对象。面向对象方法将客观世界看成由许多不同种类的对象构成的。每个对象都有自己的内部状态和内部运动规律,不同的对象之间相互联系相互作用,构成了完整的客观世界。通常用数据描述对象的内部状态,并规定了对数据的操作。当对象接受到其他对象发送来的消息时,可进行相应的操作,从而改变其内部状态。性质相同的对象称为类。类具有封装性、继承性和多态性。,程序员在程序设计时,将所要解决的问题分解为若干个类和对象,定义对象的属性和功能,再用消息来描述对象之间的相互联系。将问题中相互联系、相互作用的实体用对象和消息在程序中反映出来,这就是面向对象程序设计方法的主要思想。现在已经有多种语言支持面向对象的程序设计方法。而且每种语言都有完善的软件开发工具。面向对象的设计方法具有抽象性,可重用性等特点。在今后的程序设计中将逐步占据主导地位。,3.C/S结构和B/S结构,随着网络技术,特别是国际互联网技术的发展,计算机的应用已经从单机环境发展到网络上的应用。越来越多的软件要求在网络环境下运行。管理信息系统也经历了从单机向网络环境发展的过程。更多的管理信息系统是在网络环境下实现信息的收集、传递和加工等功能的。管理信息系统的软件结构应充分考虑到在网络环境下的运行效率、可扩展性和可维护性等指标。即使最初开发的系统不需要在网络环境下运行,也应考虑到将来系统扩展或向网络环境移植的可行性。在系统实现阶段,选择程序设计方法和程序设计语言时都应考虑到系统的运行环境和移植的问题。,3.C/S结构和B/S结构,目前,应用比较多的网络化软件结构有C/S结构和B/S结构两种。某些情况下,B/S结构具有比C/S结构更好的优势,但在某些情况下,C/S的特殊优势还无法被取代。很多情况下,B/S和C/S需要协同使用.,3.C/S结构和B/S结构,C/S结构指的是客户机服务器(Client/Server)模式的软件结构。产生于九十年代前期,当时是局域网环境中MIS应用系统的主流结构。应用程序分为服务器端程序和客户机端程序。服务器程序负责管理数据资源(如数据库等),并接受客户机的服务请求(如数据的查询或更新等),向客户机提供所需的数据或服务。客户机程序面向用户,接受用户的应用请求,并通过一定的协议或接口与服务器进行通信,将服务器提供的数据等资源经过处理后提供给用户。ClientNetworkDBServer,3.C/S结构和B/S结构,C/S结构能够通过网络环境完成数据资源的共享,适合管理信息系统的一般应用,并且系统的开发费用较低、开发周期短。同时,它也存在很多的缺点。使得C/S结构的应用受到了很大的限制。1)C/S结构只能适用于中、小规模的局域网。对于大规模的局域网和广域网就不能胜任了。这就限制了这种软件结构的普遍适用性。2)当局域网中的用户数量增加,频繁访问服务器中的数据资源时,服务器的负载急剧增加。系统性能明显下降。3)由于C/S结构的应用程序存在于服务器端和客户机端,并且二者要协同工作。这就给系统的维护工作带来了很多麻烦。通常在对应用程序进行修改、升级时,必须同时对两端的应用程序做出相应的修改,还要更新所有客户端的应用程序。使系统管理和维护工作难以进行。,3.C/S结构和B/S结构,B/S结构指的是浏览器服务器(Client/Server)模式的软件结构:由于Web技术迅速发展,C/S体系结构由单一的两个层次,扩展到由表示层(Browser)、功能层(WebServer)与数据库服务层(DBServer)构成的三层分布式结构,简称浏览器服务器(Browser/Server,B/S)模式的软件结构。B/S结构采用Internet/Intranet技术,使用统一的通信协议TCP/IP和统一的基于Web浏览器的用户界面,适用于广域网环境。一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,这种结构通常设有数据库服务器、Web服务器、应用服务器等。应用程序主要存放在服务器中,客户端只需要配置标准的浏览器。,network,Database,WebServer,AppServer,浏览器,3.C/S结构和B/S结构,由于B/S结构采用Internet/Intranet技术,以TCP/IP作为通信协议,可以适用于局域网和广域网环境,具有普遍适用性。由于客户端都是标准的浏览器,各服务器分工明确,所以,整个系统易于扩展,容易管理。业务逻辑在服务器端实现,在变化时只要修改服务器端即可,易于维护由于业务逻辑都在服务器端实现,容易造成服务器端负荷过大,二、程序设计语言的选择,自60年代以来已出现了数千种不同的程序设计语言,其中有一小部分得到了广泛的应用。随着计算机技术的发展和对计算机软件需求的不断增长,程序设计语言也不断更新换代。开发人员所能够使用的程序设计语言越来越多,从中选择一种合适的语言就显得尤为重要。程序设计语言的选择直接关系到新系统的质量。程序员应该了解各种常用高级语言的特点,掌握选择语言的标准,以便根据问题的需要,合理地选择适当的程序设计语言。,语言的结构化机制与数据管理能力语言可提供的交互功能有较丰富的软件工具开发人员的熟练程度软件可移植性要求系统用户的要求,常用以下几项作为语言选择的标准,1)应用领域每种语言都有自己的适用领域。FORTRAN适用于科学领域;C语言适用于系统软件的开发;汇编语言适用于系统软件的开发或实时处理程序.一般的通用语言都具有进行简单的计算和事务处理能力。,2)运行环境新系统的运行环境包括硬件环境和软件环境。硬件环境是指计算机的处理速度、硬盘空间、显示器的分辨率、外部设备的配备情况等。对于档次较低的计算机只能使用对硬件要求不高的语言。同时还要考虑到该语言在今后硬件升级时,是否容易用更好的语言对程序进行改写。软件环境是指新系统在运行时所需要的支持软件。如操作系统、软件开发工具等。,3)程序员是否熟悉程序设计中应选用有发展前途的语言,但也不能一味追求流行的语言。要根据程序员的知识结构,若能在短时间内熟悉一门新语言,则应选用公认的好语言。否则应优先选用程序员比较熟悉的语言。另外,在语言的选择中还要考虑计算的复杂性,执行效率等。,MASMBasic/TrueBasic/TurboBasic/VisualBasicFortranPascal/TurboPascal/DelphiC/C+/TurboC/BorlandC/MSC/VC/BCBJava/Asp/Jsp/PHP.NET(VC.Net,VB.Net,C#,J#)dBase/FoxPro/VFPInfomix/DB2/Oracle/SQLServerPowerBuilder,AutoCADMicroStationGeoMediaMapInfo/MapX/MapXtremeArcView/MapObjects/ArcObjects/ArcMap/ArcSDE/MOIMS/ArcIMSSuperMap/SuperMapIS/,三、程序设计的风格,结构化程序设计的基本思想是按由顶向下逐步细化的方式,由三种标准控制结构(顺序、选择、循环)反复嵌套来构造一个程序。大多数高级语言都支持结构化程序设计方法。用该方法产生的程序由许多“块”组成,每个模块只有一个入口和一个出口,程序中一般没有GOTO语句,这种程序称为结构化程序,结构化程序有易于阅读和维护的优点。,由于程序的可读性对于软件质量有重要影响,因此在程序设计过程中应当充分重视。为了提高程序的可读性,在编程风格方面应注意以下几点;注释书写格式变量名慎用Goto,1.程序的注释,注释原则上可以出现在程序中的任何位置,但是如果使注释和程序的结构配合起来则效果更好。注释一般分为两类;序言性注释描述性注释,序言性注释出现在模块的首部,内容应包括:模块功能说明;界面描述(如调用语句格式、所有参数的解释和该模块需调用的模块名等);某些重要变量的使用、限制;开发信息(如作者、复查日期、修改日期等)。描述性注释嵌在程序之中,用来说明程序段的功能或数据的状态。,书写注释时应注意:(1)注释应和程序一致,修改程序时应同时修改注释。(2)注释应提供一些程序本身难以表达的信息。(3)为了方便用户今后维护,注释中尽量多用汉字。,2.程序的书写格式,结构化程序设计中一般采用所谓“缩排法”来写程序,即把同一层次的语句行左端对齐,而下一层的语句则向右边缩进若干格书写,它能体现程序逻辑结构的深度。此外,在程序段与段之间,程序与注释行之间安排空白行,也有助于阅读。,3.变量名的选择,变量是由程序员在程序中定义的一些符号,虽然变量名称原则上是在一定规则内由程序员任意定义的,但不主张使用类似于a、b、a1、b1等这样的变量名,变量的命名应选用一些有实际意义的名词。例如将数据库学生字段的结构定义为如下形式:s(c,n,x,s)。在没有任何说明的情况下,几乎无法知道这个数据库字段的确切含义。但若把该数据库的字段改写为:s(code,name,sex,score),则几乎无需什么说明就能知道字段所代表的含义。,变量名应适当选取,使其直观、易于理解和记忆。采用有实际意义的变量名;不用过于相似的变量名;同一变量名不要具有多种含义。此外,在编程前最好能对变量名的选取约定统一的标准,以后阅读理解就会方便得多。,例如,以i,f,c,s等作变量前缀分别表示该变量的类型,如以下变量:iTempfTempcTempsTemp,4.慎重使用GOTO语句,使用GOTO语句将引起程序的控制路径迂回曲折,使程序难以理解。在Basic、C等语言中仍保留了GOTO关键字,使用时注意:(1)要避免不必要的GOTO;(2)在迫不得已使用GOTO时,则不要使GOTO相互交叉。,四、程序设计的技巧,程序设计的主要目的是解决问题,为了更好地解决问题,在进行程序设计过程中应该掌握一定的程序设计技巧,包括对系统分析与设计的充分理解,熟练运用编程语言,综合运用文字、声音、图像,并彼此协调。应能对所用算法进行优化,使程序有较高的效率。,1.选择好的算法2.算法的优化3.充分利用语言特点4.模块化与重复使用,1.选择好的算法,算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗地说,就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。,一个算法应该具有以下五个重要的特征:有穷性:一个算法必须保证执行有限步之后结束;确切性:算法的每一步骤必须有确切的定义;可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身限定了初始条件;输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;,算法是程序设计的灵魂。可以说,无论是在结构化程序设计中,还是在面向对象的程序设计中,没有算法的程序不可能是一个好的程序。-窗体的形状、大小涉及到算法;-控件自身以及与其它控件的诸多关系需要计算;-字符串的查找、截取和替换更离不开算法。求解问题的算法可能有多种,而采用哪种算法则直接影响到程序的执行效率,好的算法可以有效地使用系统资源并且提高执行效率。,2.算法的优化,改用一条语句来表达,比如该过程可以表示为:for(i=1,fact=1;i=n;fact=fact*i,i=i+1);,3.充分利用语言特点,4.模块化与重复使用,结构化程序设计方法中的模块化,主张将程序分解为能完成独立功能并具有清晰界面的程序片断。这样就有利于将大型程序分解为一个个小的相互独立,但又密切相关的功能模块。模块化也为模块的重复使用提供了可能,例如前面的求最大公约数的程序,就可以将其写为一个独立函数,供需要用此算法的程序调用。这样可以大大提高程序开发速度。,五、管理信息系统的基本程序模块,一个管理信息系统的软件往往由很多程序模块组成,这些程序模块可以归纳成为几种基本类型,包括控制模块、输入及校验模块、修改或更新模块、分类合并模块、计算模块、查询、检索模块、输出模块和预测、优化模块等。,1.控制模块,控制模块包括主控模块和各级控制模块。控制模块的主要功能是根据用户要求信息,由用户的确定处理顺序,然后控制转向各处理模块的入口。如:形式1:Switch(功能选择ID)case1:;case2:形式2:从菜单(或按钮)选择功能,2.输入模块,输入模块主要用来输入数据。输入方式有直接用键盘输入和软盘(文件)录入两种。,3.输入数据校验模块,对已经输入计算机中的数据进行校验,以保证原始数据的正确性。例如,某系统中有很多数据的输入框,如学号、姓名、年龄,可单独编写一个校验模块StructCHECKMSGintCorrectID;AnsiStringErrorMSG;StructCHECKMSG*CheckData(AnsiStringS,intVarNo),4.输出模块,输出模块用来将计算机的运行结果通过屏幕、打印机或磁盘等输出给用户。在管理信息系统中,一般都有大量的表格、图表需要输出,因此输出模块的质量直接关系到整个系统的性能。,5.处理模块,(1)文件更新模块程序(2)分类合并程序(3)计算程序(4)数据检索程序(5)预测或优化程序,(1)文件更新模块程序,当系统应用的数据发生变化时,需要修改数据文件,如增加、修改、删除记录。,(2)分类合并程序,分类合并程序的主要功能是对已经建立的文件,按某关键字进行分类合并。如耗材按其类别进行合并;两个或几个报表进行合并(合并为1张表,字段不变;合并为1张表,字段分别来自两张表)。,(3)计算程序,进行计算机处理,包括同类记录和不同类记录中各数据项的运算。如某一张表按行或列进行统计。,(4)数据检索程序,是为用户提供查询有关信息的程序,包括输入查询要求和输出特定的查询结果。,(5)预测或优化程序,使用预测或优化的数学模型,利用管理信息系统提供的有关数据,进行计算和分析并输出结果,用来辅助企业或部门的管理人员进行决策。如单纯形法线性规划程序、最短路径(最小成本)计算程序。,第二节调试(体现编程水平),一、调试过程与原则二、模块调试三、分调四、总调五、系统测试,一、调试过程与原则,在管理信息系统开发周期的各个阶段都不可避免地会出现差错,调试的目的在于发现其中的错误并及时纠正。这是保证系统质量的关键步骤,对于一些较大规模的系统来说,系统调试的工作量往往占系统开发总工作量的40以上。,1.调试步骤,一个管理信息系统通常由若干子系统组成,每个子系统又由若干模块(程序)组成。所以通常把调试工作分为模块(程序)调试、分调(子系统调试)和总调(系统调试)三个层次,调试过程依次是模块调试、分调、总调。,2.调试原则,要想通过彻底的测试并找出全部错误几乎是不可能的例如一个最简单的程序,计算两个整数的和:intx,y,z;scanf(“%d%d”,看看会有什么错误?,可能出现的错误:1.输入数据非整数程序中没有检验2.输入数据格式有问题如输入“32,29”、“32;29”3.输入两个数超出范围4.输入的两个数都在范围内,但两数的和超出范围;,调试的目的在于发现程序中的错误并及时纠正,所以在调试时应想方设法使程序的各个部分都投入运行,力图找出所有错误。错误多少与程序质量有关。即使这样,调试通过也不能证明系统无误,系统交付用户使用以后,在系统的维护阶段仍有可能发现少量错误。因此,调试阶段要考虑的基本问题就是“经济性”,在一定的开发时间和经费的限制下通过进行有限步骤操作或执行调试用例,尽可能多地发现一些错误。调试阶段应注意以下基本原则:,(1)调试用例应该由“输入数据”和“预期的输出结果”组成。在执行程序之前应该对期望的输出有很明确的描述,以便调试时将程序的输出与预期结果对照检查。(2)不仅要选用合理的输入数据进行调试,还应选用不合理的甚至错误的输入数据。为了提高程序的可靠性,应该认真组织一些异常数据进行调试,并仔细观察和分析系统的反应。,(3)除了检查程序是否做了它应该做的工作,还应检查程序是否做了它不该做的事情。如计算一个职工的工资单,程序可能计算全部工资单;程序中多出一段毫无意义的代码;(有人甚至为了某种目的,故意降低可读性,在程序中随机插入一些毫无意义的代码,例如,你可以编写一个类似工具程序,将一些语法上正确的程序随机插入另一程序)(4)应该长期保留所有的调试用例,直至该系统被废弃不用为止(以备以后调试或其他测试场合重新利用),二、模块调试,模块(程序)调试的目的是保证每个模块本身能正常运行,在该步调试中所发现的问题大都是程序设计或详细设计中的错误。模块调试一般分成人工走通和上机调试两步进行。,三、分调,分调也称子系统调试,就是把经过调试的模块放在一起形成一个子系统来调试。主要是调试各模块之间的协调和通信,即重点调试子系统内各模块的接口。如数据穿过接口时可能丢失;一个模块对另一个模块可能存在因疏忽而造成的有害影响;把若干个子功能结合起来可能不产生预期的主功能等等。,例:1.A模块会调用B模块,需要测试调用中参数传递(输入、输出参数)是否正确?2.A调用了B,C,同时A、B、C可能使用过某全局变量,如果B或C执行过程中修改过该全局变量,可能导致A的异常。3.A调用B,A运行过程中使用过临时文件tmp.txt,模块B也使用临时文件tmp.txt(用完删除),这可能导致A的异常。,四、总调,也称系统调试,它是将经过调试的子系统装配成一个完整的系统来调试,用以发现系统设计和程序设计中的错误,验证系统的功能是否达到设计说明书的要求。,五、系统测试,总调完成后就可将原始系统手工作业方式得出的结果正确的数据作为新系统的输入数据进行“真实”运行,这时除了将结果与手工作业进行校核外,还应考察系统的有效性、可靠性和运行效率。系统测试最好请用户一起参加,力求做到“真实”和全面。,第三节系统说明文件的组成,系统调试完成后应编写一份详细和全面的系统说明文件。该文件可提交用户作为今后使用、维护新系统的指导性文档,也是鉴定和验收新系统时的技术资料。,1.系统一般性说明2.系统开发报告3.程序资料4.操作说明,1.系统一般性说明2.系统开发报告3.程序资料4.操作说明,(1)用户手册。给用户介绍系统全面情况,包括系统目标、功能和性能的简要说明等。(2)特殊说明。随着外部环境的变化而使系统作出相应调整等,这些是不断进行补充和发表的(如补丁程序说明)。,1.系统一般性说明2.系统开发报告3.程序资料4.操作说明,(1)系统分析说明书;(2)系统设计说明书;(3)系统实施说明。主要涉及到系统分调、总调过程中某些重要问题的回顾和说明;人员培训、系统转换的计划及执行情况等;(4)系统效益分析报告。,1.系统一般性说明2.系统开发报告3.程序资料4.操作说明,(1)整个系统程序的说明;(2)系统流程图/程序流程图;(3)源程序清单;(4)输入输出样本;(5)程序所有检测点的说明;(6)修改程序的手续规定,1.系统一般性说明2.系统开发报告3.程序资料4.操作说明,(1)系统规程。包括系统技术标准、编程/操作规程等。(2)操作说明。系统的操作顺序,各种参数输入条件,数据的备份和恢复方法以及系统维护的有关注意事项。,第四节系统转换,系统总调、测试系统转换系统转换就是按预定计划用新系统代替原有系统的一系列过程,它的最终目的是将全部控制权移交给用户。,一、人员培训,主要有以下三类人员:1事务管理人员(业务管理者)2系统操作员(直接使用者)3系统维护人员,二、系统转换,1直接转换,直接转换就是在原有系统停止运行的其一时刻,新系统立即投入远行,中间没有过渡阶段。这种方式省时省力,适用于新系统不太复杂或原有系统完全不能使用的场合,但新系统在转换之前必须经过详细调试并经严格测试,同时,转换时应做好准备,万一新系统不能达到预期目的时,须采取相应措施。,2平行转换,平行转换就是新系统和原有系统平行工作一段时间,经过这段时间的试运行后,再用新系统正式替换原有系统。通常可分两步,首先以原有系统作正式作业,新系统的处理结果作为校核用,当新系统运行正常后,第二步即可以新系统处理作为正式作业,而原有系统的结果作为校核用,直至最后原有系统退出运行。,优点是风险较小,在转换期间还可同时比较新旧两个系统的性能,并让系统操作员和其他有关人员得到全面培训。对于一些较大的管理信息系统,平行转换是一种最常用的转换方式。缺点是在平行运行期间,两种处理方式并存,人力和费用消耗较大。,3分段转换,这是一种分期分批逐步转换的转换方式,确定子系统的转换步骤通常可采用以下策略:按功能分阶段逐步转换。按部门分阶段逐步转换。按机器设备分阶段逐步转换。,第五节系统维护,一、定义及类型二、系统的可维护性三、维护内容,一、定义及类型,系统维护是指在系统已经交付使用以后,为了改正错误或满足新的需要而修改系统的过程。根据维护活动的目的不同,可把维护分成三类:改正性维护适应性维
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 标准论文格式及字体
- 本科生外语学位论文写作规范
- 供水管理论文范文
- 企业盈利能力分析以北京小米科技有限责任公司为例
- 西南大学本科毕业论文(设计)规范化要求【模板】
- 毕业论文评阅书评语(标准版)
- 历史学毕业论文怎么写(全面分析)
- 工程合同一般是几分(3篇)
- 文献检索期末复习选择题
- 企业财务管理存在的问题及对策的研究意义
- 2025年网格员笔试真题及答案解析
- 2025青岛高新区投资开发集团有限公司人员招聘总及考察环节笔试历年备考题库附带答案详解试卷3套
- 完整版考试人工智能训练师三级题库练习试卷附答案
- 可能性的概念课件
- 2025品质工作总结
- 2025年大学《林学-森林经理学》考试模拟试题及答案解析
- 中国球墨铸铁管配件行业市场规模及未来投资方向研究报告
- 高一历史上学期期末冲刺模拟卷02-统编版高一《历史》上学期期末考点大串讲
- 2025眼科行业发展前景研究报告
- 工厂天然气安全培训课件
- 2025秋南水北调生态环保工程有限公司招聘(15人)笔试考试备考试题及答案解析
评论
0/150
提交评论