![ch8-管理信息系统实施-管理信息系统课程课件_第1页](http://file4.renrendoc.com/view/cc274025179b76e7e550195ed9c1a5e7/cc274025179b76e7e550195ed9c1a5e71.gif)
![ch8-管理信息系统实施-管理信息系统课程课件_第2页](http://file4.renrendoc.com/view/cc274025179b76e7e550195ed9c1a5e7/cc274025179b76e7e550195ed9c1a5e72.gif)
![ch8-管理信息系统实施-管理信息系统课程课件_第3页](http://file4.renrendoc.com/view/cc274025179b76e7e550195ed9c1a5e7/cc274025179b76e7e550195ed9c1a5e73.gif)
![ch8-管理信息系统实施-管理信息系统课程课件_第4页](http://file4.renrendoc.com/view/cc274025179b76e7e550195ed9c1a5e7/cc274025179b76e7e550195ed9c1a5e74.gif)
![ch8-管理信息系统实施-管理信息系统课程课件_第5页](http://file4.renrendoc.com/view/cc274025179b76e7e550195ed9c1a5e7/cc274025179b76e7e550195ed9c1a5e75.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
管理信息系统
ManagementInformationsystem
合肥学院管理系李晓燕Chapter8:管理信息系统的系统实施©Lethbridge/Laganière20011Chapter1:SoftwareandSoftwareEngineering管理信息系统
ManagementInformation本章内容8.1概述8.2系统平台实施8.3程序设计8.4软件开发工具8.5程序与系统调试8.6系统切换、运行及维护©Lethbridge/Laganière20012Chapter1:SoftwareandSoftwareEngineering本章内容8.1概述©Lethbridge/Laganièr8.1概述系统实施的内容系统实施是开发信息系统的最后一个阶段。这个阶段的任务:实现系统设计阶段提出的物理模型,按照实施方案完成一个可以实际运行的信息系统,交付用户使用。设备的购置与安装程序的编制与测试数据的录入人员的培训系统的测试、调试与转换©Lethbridge/Laganière20013Chapter1:SoftwareandSoftwareEngineering8.1概述系统实施的内容©Lethbridge/Lagan编程准备编制新系统实施计划硬件准备计算机硬件安装与调试程序的编制、测试与调试数据的收集和准备业务人员培训新系统调试建立文件(DB)老文件转换编写系统操作使用手册系统转换新系统维护与评价验收系统软件准备系统软件的消化与调试系统实施的内容及流程提前或并行将大大缩短周期©Lethbridge/Laganière20014Chapter1:SoftwareandSoftwareEngineering编程准备编制新系统实施计划硬件准备计算机硬件安装与调试程序的本章内容8.1概述8.2系统平台实施8.3程序设计8.4软件开发工具8.5程序与系统调试8.6系统切换、运行及维护©Lethbridge/Laganière20015Chapter1:SoftwareandSoftwareEngineering本章内容8.1概述©Lethbridge/Laganièr某企业决策支持系统的网络结构©Lethbridge/Laganière20016Chapter1:SoftwareandSoftwareEngineering某企业决策支持系统的网络结构©Lethbridge/Lag本章内容8.1概述8.2系统平台实施8.3程序设计8.4软件开发工具8.5程序与系统调试8.6系统切换、运行及维护©Lethbridge/Laganière20017Chapter1:SoftwareandSoftwareEngineering本章内容8.1概述©Lethbridge/Laganièr8.3程序设计概述程序设计是系统实施阶段的主要工作。程序设计是根据系统设计报告中模块处理过程描述以及数据库结构,选择合适的程序设计语言和软件开发工具,编写出正确、清晰、容易理解、容易维护、工作效率高的程序源代码。衡量编程工作的指标可靠性(Reliability)可靠性指标可以包含安全可靠性和运行可靠性两方面的内容。系统的安全可靠性反映在多个方面,如操作人员的安全可靠问题,系统运行时数据存取的安全可靠问题,进行网络通信时数据信息传递的安全可靠问题,等等。系统的安全可靠性一般都要通过系统分析与设计过程来严格定义。系统的运行可靠性只能通过高质量的程序设计、仔细周到的程序调试、详尽严格的系统测试等工作过程来把关。©Lethbridge/Laganière20018Chapter1:SoftwareandSoftwareEngineering8.3程序设计概述©Lethbridge/Laganièr8.3程序设计规范性(Standardability)规范性就要求系统的划分、书写的格式、变量的命名等等都有统一的规范要求。程序设计的规范化,对今后的阅读、修改、维护等都会带来便利。因而在编程时走规范化的道路是十分必要的。可读性(Readability)程序设计人员所编写的程序应该是条理清晰,结构清楚,他人易于理解。要使程序具有可读性,除了结构清晰以外,还需要在程序中插入必要的注释性语句,如说明程序的功能、解释变量的含义、描述特殊处理的细节等等,这将为今后他人阅读该程序、修改程序提供很大的方便。©Lethbridge/Laganière20019Chapter1:SoftwareandSoftwareEngineering8.3程序设计规范性(Standardability)©L8.3程序设计可维护性(Maintainability)当程序各部分相互独立时,在维护过程中可以将牵一发而动全身的现象基本消除或是降低到最低限度。如果程序做到了编程规范、结构清晰、可读性强,那么它的可维护性也是比较好的,否则将会大大增加维护的工作量。健壮性能够识别并禁止错误的操作和数据输入,不会因错误操作、错误数据输入及硬件故障而造成系统崩溃。高效率即运行速度快,占用存储空间少。©Lethbridge/Laganière200110Chapter1:SoftwareandSoftwareEngineering8.3程序设计可维护性(Maintainability)©8.3程序设计程序设计方法结构化程序设计方法在运用这种方法进行程序内部设计时强调的是自顶向下的过程,而在程序设计的外部则强调的是自底向上的实现整个系统。当某些系统开发过程不够规范,特别是模块划分不够细,或者是由于特殊业务处理的需要而使程序模块较大时,结构化的程序设计方法不失为一种有效的方法。因为结构化的程序设计方法所要强调的是:模块内部程序的各部分要自顶向下地结构化划分;各程序部分应按功能组合;各程序部分的联系尽量使用调子命令的方式实现,少用或不用跳转语句,即要尽量使用程序设计中类似CALL-RETURN语句,不用或少用GOTO语句。©Lethbridge/Laganière200111Chapter1:SoftwareandSoftwareEngineering8.3程序设计程序设计方法©Lethbridge/Laga8.3程序设计结构化程序设计方法(StructuredProgramming)的程序结构顺序结构顺序结构表示含有多个连续的处理步骤,按照书写的先后顺序执行。入口AB出口Inti=0Ints=1S=100+i©Lethbridge/Laganière200112Chapter1:SoftwareandSoftwareEngineering8.3程序设计结构化程序设计方法(StructuredP8.3程序设计循环结构循环结构是由一个或几个模块构成,程序运行时重复执行,直到满足某一条件为止。PS入口出口TFInti=1Ints=0DoWhile(i<=100)s=s+ii=i+1EndDo©Lethbridge/Laganière200113Chapter1:SoftwareandSoftwareEngineering8.3程序设计循环结构PS入口出口TFInti=1©Le8.3程序设计选择结构由某个逻辑表达式的取值决定选择两个处理加工中的一个。PAB入口出口TF©Lethbridge/Laganière200114Chapter1:SoftwareandSoftwareEngineering8.3程序设计选择结构PAB入口出口TF©Lethbrid8.3程序设计速成原型式的程序设计方法速成原型式的基本步骤:将HIPO图中类似带有普遍性的功能模块集中,如菜单模块、报表模块、查询模块、图形生成模块等等,这些模块几乎在每个子系统中都是必不可少的;将有普遍性的功能模块集中以后,就可寻找相应的、可用的软件工具。如果寻找无果,则可考虑开发一个能够适合各子系统情况的通用模块;用这些软件工具来生成这些程序模型的原型。如果在HIPO图中有一些特定的处理功能或特殊的处理模型,而这些功能或模型又无法通过现有的软件工具来生成,那么就需要程序设计人员专门编制一段程序添加到系统中去。©Lethbridge/Laganière200115Chapter1:SoftwareandSoftwareEngineering8.3程序设计速成原型式的程序设计方法©Lethbridg8.3程序设计面向对象的程序设计方法面向对象的程序设计方法一般应与面向对象设计OOD所设计的内容相对应。它是一个简单、直接的映射过程,就是将OOD中所定义的范式直接用面向对象的OOP来取代即可。在系统的实现阶段,面向对象的程序设计方法具有相当大的潜在优势,也是其它的程序设计方法所无法取代的。©Lethbridge/Laganière200116Chapter1:SoftwareandSoftwareEngineering8.3程序设计面向对象的程序设计方法©Lethbridge8.3程序设计可视化的程序设计技术可视化的程序设计技术的主要思想是,用图形工具和可重用部件来交互地编制程序。它把现有的或新建的模块代码封装在标准接口封包内,作为可视化程序设计编辑工具中的一个对象,有图符来表示和控制。可视化程序设计技术中的封包可能由某种语言的一个语句、功能模块或数据程序组成,由此获得的是高度的平台独立性和可移植性。在可视化程序设计环境中,用户还可以自己构造可视控制部件,或引用其他环境构成的符合封包接口规范的可视部件,增加了程序设计的效率和灵活性©Lethbridge/Laganière200117Chapter1:SoftwareandSoftwareEngineering8.3程序设计可视化的程序设计技术©Lethbridge/学习编程语言的一些经验之谈如果您想学习编程,却又不知从何入手,那么您不妨看看下面的几种学习方案,可能会给您一些启示吧!
方案一Basic语言&VisualBasic
方案二Pascal语言&Delphi
方案三C语言&VisualC++
方案四C++语言&C++Builder
方案五SQL语言&PowerBuilder
方案一Basic语言&VisualBasic
优点(1)Basic简单易学,很容易上手。(2)VisualBasic提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序。(3)众多的控件让编程变得象垒积木一样简单。(4)VisualBasic的全部汉化让我们这些见了English就头大的人喜不自禁。©Lethbridge/Laganière200118Chapter1:SoftwareandSoftwareEngineering学习编程语言的一些经验之谈如果您想学习编程,却学习编程语言的一些经验之谈缺点
(1)VisualBasic不是真正的面向对象的开发文具。
(2)VisualBasic的数据类型太少,而且不支持指针,这使得它的表达能力很有限。
(3)VisualBasic不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码。它需要一个动态链接库去解释执行,这使得VisualBasic的编译速度大大变慢。
综述:方案一适合初涉编程的朋友,它对学习者的要求不高,几乎每个人都可以在一个比较短的时间里学会vB编程,并用VB做出自己的作品。对于那些把编程当做游戏的朋友来说,VB是您最佳的选择。
方案二Pascal语言&Delphi
优点
(1)Pascal语言结构严谨,可以很好地培养一个人的编程思想。(2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化。(3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。(4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库。©Lethbridge/Laganière200119Chapter1:SoftwareandSoftwareEngineering学习编程语言的一些经验之谈缺点
(1)VisualBas学习编程语言的一些经验之谈缺点
Delphi几乎可以说是完美的,只是Pascal语言的过于严谨让人感觉有点烦。
综述:方案二比较适合那些具有一定编程基础并且学过Pascal语言的朋友。方案三C语言&VisualC++
优点
(1)C语言灵活性好,效率高,可以接触到软件开发比较底层的东西。
(2)微软的MFC库博大精深,学会它可以让随心所欲地进行编程。
(3)VC是微软制作的产品,与操作系统的结合更加紧密。
缺点
对使用者的要求比较高,既要具备丰富的C语言编程经验,又要具有一定的WINDOWS编程基础,它的过于专业使得一般的编程爱好者学习起来会有不小的困难。
综述:VC是程序员用的东西。如果你是一个永不满足的人,而且可以在编程上投入很大的精力和时间,那么学习VC你一定不会后悔的。©Lethbridge/Laganière200120Chapter1:SoftwareandSoftwareEngineering学习编程语言的一些经验之谈缺点
Delphi几乎可以说是完学习编程语言的一些经验之谈方案四C++语言&C++Builder
优点
(1)C++语言的优点全部得以继承。
(2)完全的可是化。
(3)极强的兼容性,支持OWL、VCL和MFC三大类库。
(4)编译速度非常快。
综述:我认为C++Builder是最好的编程工具。它既保持了C++语言编程的优点,又做到了完全的可视化。
方案五SQL语言&PowerBuilder
对于一些传统的数据开发人员来说,Foxpro系列也许让他们感到更加熟悉。但是对于初学者来说,PowerBuilder也许是最好的数据库开发工具。各种各样的控件,功能强大的PowerBuilder语言都会帮助你开发出自己的数据库应用程序。©Lethbridge/Laganière200121Chapter1:SoftwareandSoftwareEngineering学习编程语言的一些经验之谈方案四C++语言&C++B本章内容8.1概述8.2系统平台实施8.3程序设计8.4软件开发工具8.5程序与系统调试8.6系统切换、运行及维护©Lethbridge/Laganière200122Chapter1:SoftwareandSoftwareEngineering本章内容8.1概述©Lethbridge/Laganièr8.4软件开发工具软件开发工具的定义“可用来帮助和支持软件需求分析、软件开发、测试、维护、模拟、移植或管理而编制的计算机程序或软件。”软件工具是能支持软件生存周期中某一阶段,如需求分析、系统定义、设计、编码、测试和维护等的需要而使用的软件系统,例如编辑器、编译器、连接程序等。如系统分析工具、系统设计工具、编程工具、测试工具、项目管理工具等©Lethbridge/Laganière200123Chapter1:SoftwareandSoftwareEngineering8.4软件开发工具软件开发工具的定义©Lethbridge8.4软件开发工具一些开发工具简介电子表格软件如EXCEL数据库管理数据库是管理信息系统最重要的组成部分,它是系统中数据存放、数据传递、数据交换的中心和枢纽。数据库管理系统是管理和操作数据库的主要工具。目前市场上提供的数据库管理系统大致有两类,一类是微机数据库管理系统,如DBASE、FOXBASE、FoxPro等等;另一类是大型数据库管理系统,如ORACLE、SYBASE、、INFORMIX、SQLSERVER等等。©Lethbridge/Laganière200124Chapter1:SoftwareandSoftwareEngineering8.4软件开发工具一些开发工具简介©Lethbridge/8.4软件开发工具编程工具Visual
Basic:它是以Basic语言作为其基本语言的一种可视化编程工具。可视化编程入门首选。PowerBuilder:是开发MIS系统和各类数据库跨平台的首选,从事信息管理系统的开发或各类数据库的跨平台开发都可以选用此工具,在开发速度上也可得到一定的保障。
Delphi(ObjectPascal):可视化开发工具,它在组件技术的支持、数据库支持、系统底层开发支持、网络开发支持、面向对象特性等各方面都有相当不错的Visual
C++:可视化的开发工具,在网络、系统底层、多媒体开发等领域应用较广。(类似的有C++Builder)©Lethbridge/Laganière200125Chapter1:SoftwareandSoftwareEngineering8.4软件开发工具编程工具©Lethbridge/Laga8.4软件开发工具Java编程工具JBuilder:目前比较出名的是Borland出的JBuilder和IBM出的VisualAgeforJavaMicrosoft推出的Visual
S,相应的有ASP.net
、VC.net、VB.net、C#等正逐渐成为流行编程工具。项目管理工具:如微软的project2003项目管理工具分析设计工具:如ROSE、PowerDesigner集成化CASE:如PlayCase等©Lethbridge/Laganière200126Chapter1:SoftwareandSoftwareEngineering8.4软件开发工具Java编程工具JBuilder:目前比较本章内容8.1概述8.2系统平台实施8.3程序设计8.4软件开发工具8.5程序与系统调试8.6系统切换、运行及维护©Lethbridge/Laganière200127Chapter1:SoftwareandSoftwareEngineering本章内容8.1概述©Lethbridge/Laganièr8.5程序与系统调试程序的调试程序的调试过程程序的调试一是对错误定位,二是改正所发现的错误。具体的执行步骤是:从错误的表现形式入手,分析判断,以确定程序中出错的位置;研究分析相关部分的程序,找出错误的内在原因;修改代码,以排除这个错误;重复对修改之处进行测试,以确认修改的结果。©Lethbridge/Laganière200128Chapter1:SoftwareandSoftwareEngineering8.5程序与系统调试程序的调试©Lethbridge/La8.5程序与系统调试程序调试方法正确性证明利用数学方法证明程序的正确性,该技术还处于初级阶段。静态测试人工评审软件的文档或程序,发现其中的错误。手续简单,是一种行之有效的检验手段。代码审查:通过阅读程序发现软件错误和缺陷。静态分析:主要对程序进行控制流分析、数据流分析、接口分析和表达式分析。©Lethbridge/Laganière200129Chapter1:SoftwareandSoftwareEngineering8.5程序与系统调试程序调试方法©Lethbridge/L8.5程序与系统调试动态检查即测试,有控制地运行程序,从多种角度观察程序运行时的行为,发现其中的错误。(测试就是为了发现错误而执行程序)测试只能证明程序有错误,而不可能证明程序没有错误。20次BA520条路径。©Lethbridge/Laganière200130Chapter1:SoftwareandSoftwareEngineering8.5程序与系统调试动态检查测试只能证明程序有错误,20次B8.5程序与系统调试黑箱测试
不考虑系统内部结构而运行系统,以检查在一定的输入下,系统的输出是否与期望相同。白箱测试
不仅要完成前者的内容,还要检查输入的数据是如何通过系统内部设定的结构,达到输出的。A黑箱测试B白箱测试©Lethbridge/Laganière200131Chapter1:SoftwareandSoftwareEngineering8.5程序与系统调试黑箱测试
不考虑系统内部结构而8.5程序与系统调试系统的测试单元测试单元测试也叫模块测试。测试的内容主要是对模块的几个方面测试:接口、局部数据结构、边界条件、出错处理、控制逻辑等。系统测试在完成单元测试以后,还将各个单元连接起来起先测试。这个过程不断地重复进行,最后可以组成一个完整的系统,然后对整个系统进行测试。连接测试系统测试体系结构测试©Lethbridge/Laganière200132Chapter1:SoftwareandSoftwareEngineering8.5程序与系统调试系统的测试©Lethbridge/La8.5程序与系统调试基于非执行的测试测试的工作不应是一个独立的过程。在整个生命周期中都要进行测试。仅仅在实施时才安排一个测试阶段,或者在某个阶段结束时才对该阶段做测试是不够的。在测试时往往注重基于执行的测试,如比较关注软件是否符合需求、可靠性如何、性能如何等等。其实这种测试只能保证软件在正常环境、正常操作步骤时不出问题,但不能保证软件在特定环境、或是非正常操作时也能正常运行。如果某个设计描述被误解或忽略、程序的流程和分支判断太多发现不了某个分支的错误、数据类型不合理、取值范围太小导致变量越界或溢出,等等,所有这些问题只有在基于非执行的测试时才有可能被检测出来。基于非执行的测试必须由不同的人员进行,他们各有不同的技能,他们必须对各种文档、图表、程序代码进行仔细阅读、静态测试。他们的经验应该非常丰富,每个人能从不同的角度去测试。对于非执行的测试有两种方式:走查和审查。两者的区别是走查的步骤比审查要少,而且没有审查那样正规。©Lethbridge/Laganière200133Chapter1:SoftwareandSoftwareEngineering8.5程序与系统调试基于非执行的测试©Lethbridge信息系统测试过程©Lethbridge/Laganière200134Chapter1:SoftwareandSoftwareEngineering信息系统测试过程©Lethbridge/Laganière软件测试与软件开发过程的关系©Lethbridge/Laganière200135Chapter1:SoftwareandSoftwareEngineering软件测试与软件开发过程的关系©Lethbridge/Lag本章内容8.1概述8.2系统平台实施8.3程序设计8.4软件开发工具8.5程序与系统调试8.6系统切换、运行及维护©Lethbridge/Laganière200136Chapter1:SoftwareandSoftwareEngineering本章内容8.1概述©Lethbridge/Laganièr8.6系统切换、运行及维护系统运行准备工作场所准备场所准备就要准备好新系统的实际工作场所。数据准备数据准备就是将原手工处理的文件转换成系统文件的过程。如果是对原系统进行重新开发,则要将原系统中的数据整理出来,并转换成新系统文件。系统安装将计算机及各种设备真正地放置到工作场所,并使它开始运行,这就是系统的安装。安装完成后的各项测试,包括如单元测试、系统测试、容量测试、综合测试等等,其目的一是验证安装的各种设备都能正常进行工作,二是确保所开发的系统能够在安装完成的设备上正常运行。©Lethbridge/Laganière200137Chapter1:SoftwareandSoftwareEngineering8.6系统切换、运行及维护系统运行©Lethbridge/8.6系统切换、运行及维护系统试运行对系统进行初始化处理,并输入各原始数据记录。如会计信息系统中,除了进行初始化外,还需要输入各账户的期初数据,并要确保借贷平衡。在试运行过程中,详细记录系统运行的数据和状况。将新系统的输出结果与原系统的处理结果进行仔细核对。对系统的实际运行指标进行测试,如测试其运算速度、传输速度、查询速度、输出速度等,还要测试系统的安全可靠性指标,特别是通过网络传输数据信息的系统,更应注意这个问题。系统转换©Lethbridge/Laganière200138Chapter1:SoftwareandSoftwareEngineering8.6系统切换、运行及维护系统试运行©Lethbridge8.6系统切换、运行及维护系统转换的方法直接转换法在指定的时间点,停止原系统的使用,启动新系统。老系统新系统转换简单,费用最省风险较大©Lethbridge/Laganière200139Chapter1:SoftwareandSoftwareEngineering8.6系统切换、运行及维护系统转换的方法老系统新系统转换简单8.6系统切换、运行及维护并行切换法新系统投入运行时,老系统并不停止运行,而是与新系统同时运行一段时间,对照两者的输出,利用老系统对新系统进行检验。并行切换法的特点是风险小、安全系数大开销大(需要同时运行2套系统)用户随着并行期的延长而失去热情,甚至拒绝使用新系统隐含假设:原系统是正确的老系统新系统并行运行©Lethbridge/Laganière200140Chapter1:SoftwareandSoftwareEngineering8.6系统切换、运行及维护并行切换法老系统新系统并行运行©8.6系统切换、运行及维护试运行转换法前面2种方法的综合。老系统新系统新系统的部分采取并行方法并行方法,保险系数大©Lethbridge/Laganière200141Chapter1:SoftwareandSoftwareEngineering8.6系统切换、运行及维护试运行转换法老系统新系统新系统的部8.6系统切换、运行及维护试点过渡法(逐步转换法)新系统一部分一部分地替换老系统,直到全部替代老系统。老系统新系统1新系统2新系统n避免了直接转换法的危险性,费用也比并行转换法省这种转换方式借口复杂,当新老系统差别太大是不宜
采取该方法©Lethbridge/Laganière200142Chapter1:SoftwareandSoftwareEngineering8.6系统切换、运行及维护试点过渡法(逐步转换法)老系统管理信息系统
ManagementInformationsystem
合肥学院管理系李晓燕Chapter8:管理信息系统的系统实施©Lethbridge/Laganière200143Chapter1:SoftwareandSoftwareEngineering管理信息系统
ManagementInformation本章内容8.1概述8.2系统平台实施8.3程序设计8.4软件开发工具8.5程序与系统调试8.6系统切换、运行及维护©Lethbridge/Laganière200144Chapter1:SoftwareandSoftwareEngineering本章内容8.1概述©Lethbridge/Laganièr8.1概述系统实施的内容系统实施是开发信息系统的最后一个阶段。这个阶段的任务:实现系统设计阶段提出的物理模型,按照实施方案完成一个可以实际运行的信息系统,交付用户使用。设备的购置与安装程序的编制与测试数据的录入人员的培训系统的测试、调试与转换©Lethbridge/Laganière200145Chapter1:SoftwareandSoftwareEngineering8.1概述系统实施的内容©Lethbridge/Lagan编程准备编制新系统实施计划硬件准备计算机硬件安装与调试程序的编制、测试与调试数据的收集和准备业务人员培训新系统调试建立文件(DB)老文件转换编写系统操作使用手册系统转换新系统维护与评价验收系统软件准备系统软件的消化与调试系统实施的内容及流程提前或并行将大大缩短周期©Lethbridge/Laganière200146Chapter1:SoftwareandSoftwareEngineering编程准备编制新系统实施计划硬件准备计算机硬件安装与调试程序的本章内容8.1概述8.2系统平台实施8.3程序设计8.4软件开发工具8.5程序与系统调试8.6系统切换、运行及维护©Lethbridge/Laganière200147Chapter1:SoftwareandSoftwareEngineering本章内容8.1概述©Lethbridge/Laganièr某企业决策支持系统的网络结构©Lethbridge/Laganière200148Chapter1:SoftwareandSoftwareEngineering某企业决策支持系统的网络结构©Lethbridge/Lag本章内容8.1概述8.2系统平台实施8.3程序设计8.4软件开发工具8.5程序与系统调试8.6系统切换、运行及维护©Lethbridge/Laganière200149Chapter1:SoftwareandSoftwareEngineering本章内容8.1概述©Lethbridge/Laganièr8.3程序设计概述程序设计是系统实施阶段的主要工作。程序设计是根据系统设计报告中模块处理过程描述以及数据库结构,选择合适的程序设计语言和软件开发工具,编写出正确、清晰、容易理解、容易维护、工作效率高的程序源代码。衡量编程工作的指标可靠性(Reliability)可靠性指标可以包含安全可靠性和运行可靠性两方面的内容。系统的安全可靠性反映在多个方面,如操作人员的安全可靠问题,系统运行时数据存取的安全可靠问题,进行网络通信时数据信息传递的安全可靠问题,等等。系统的安全可靠性一般都要通过系统分析与设计过程来严格定义。系统的运行可靠性只能通过高质量的程序设计、仔细周到的程序调试、详尽严格的系统测试等工作过程来把关。©Lethbridge/Laganière200150Chapter1:SoftwareandSoftwareEngineering8.3程序设计概述©Lethbridge/Laganièr8.3程序设计规范性(Standardability)规范性就要求系统的划分、书写的格式、变量的命名等等都有统一的规范要求。程序设计的规范化,对今后的阅读、修改、维护等都会带来便利。因而在编程时走规范化的道路是十分必要的。可读性(Readability)程序设计人员所编写的程序应该是条理清晰,结构清楚,他人易于理解。要使程序具有可读性,除了结构清晰以外,还需要在程序中插入必要的注释性语句,如说明程序的功能、解释变量的含义、描述特殊处理的细节等等,这将为今后他人阅读该程序、修改程序提供很大的方便。©Lethbridge/Laganière200151Chapter1:SoftwareandSoftwareEngineering8.3程序设计规范性(Standardability)©L8.3程序设计可维护性(Maintainability)当程序各部分相互独立时,在维护过程中可以将牵一发而动全身的现象基本消除或是降低到最低限度。如果程序做到了编程规范、结构清晰、可读性强,那么它的可维护性也是比较好的,否则将会大大增加维护的工作量。健壮性能够识别并禁止错误的操作和数据输入,不会因错误操作、错误数据输入及硬件故障而造成系统崩溃。高效率即运行速度快,占用存储空间少。©Lethbridge/Laganière200152Chapter1:SoftwareandSoftwareEngineering8.3程序设计可维护性(Maintainability)©8.3程序设计程序设计方法结构化程序设计方法在运用这种方法进行程序内部设计时强调的是自顶向下的过程,而在程序设计的外部则强调的是自底向上的实现整个系统。当某些系统开发过程不够规范,特别是模块划分不够细,或者是由于特殊业务处理的需要而使程序模块较大时,结构化的程序设计方法不失为一种有效的方法。因为结构化的程序设计方法所要强调的是:模块内部程序的各部分要自顶向下地结构化划分;各程序部分应按功能组合;各程序部分的联系尽量使用调子命令的方式实现,少用或不用跳转语句,即要尽量使用程序设计中类似CALL-RETURN语句,不用或少用GOTO语句。©Lethbridge/Laganière200153Chapter1:SoftwareandSoftwareEngineering8.3程序设计程序设计方法©Lethbridge/Laga8.3程序设计结构化程序设计方法(StructuredProgramming)的程序结构顺序结构顺序结构表示含有多个连续的处理步骤,按照书写的先后顺序执行。入口AB出口Inti=0Ints=1S=100+i©Lethbridge/Laganière200154Chapter1:SoftwareandSoftwareEngineering8.3程序设计结构化程序设计方法(StructuredP8.3程序设计循环结构循环结构是由一个或几个模块构成,程序运行时重复执行,直到满足某一条件为止。PS入口出口TFInti=1Ints=0DoWhile(i<=100)s=s+ii=i+1EndDo©Lethbridge/Laganière200155Chapter1:SoftwareandSoftwareEngineering8.3程序设计循环结构PS入口出口TFInti=1©Le8.3程序设计选择结构由某个逻辑表达式的取值决定选择两个处理加工中的一个。PAB入口出口TF©Lethbridge/Laganière200156Chapter1:SoftwareandSoftwareEngineering8.3程序设计选择结构PAB入口出口TF©Lethbrid8.3程序设计速成原型式的程序设计方法速成原型式的基本步骤:将HIPO图中类似带有普遍性的功能模块集中,如菜单模块、报表模块、查询模块、图形生成模块等等,这些模块几乎在每个子系统中都是必不可少的;将有普遍性的功能模块集中以后,就可寻找相应的、可用的软件工具。如果寻找无果,则可考虑开发一个能够适合各子系统情况的通用模块;用这些软件工具来生成这些程序模型的原型。如果在HIPO图中有一些特定的处理功能或特殊的处理模型,而这些功能或模型又无法通过现有的软件工具来生成,那么就需要程序设计人员专门编制一段程序添加到系统中去。©Lethbridge/Laganière200157Chapter1:SoftwareandSoftwareEngineering8.3程序设计速成原型式的程序设计方法©Lethbridg8.3程序设计面向对象的程序设计方法面向对象的程序设计方法一般应与面向对象设计OOD所设计的内容相对应。它是一个简单、直接的映射过程,就是将OOD中所定义的范式直接用面向对象的OOP来取代即可。在系统的实现阶段,面向对象的程序设计方法具有相当大的潜在优势,也是其它的程序设计方法所无法取代的。©Lethbridge/Laganière200158Chapter1:SoftwareandSoftwareEngineering8.3程序设计面向对象的程序设计方法©Lethbridge8.3程序设计可视化的程序设计技术可视化的程序设计技术的主要思想是,用图形工具和可重用部件来交互地编制程序。它把现有的或新建的模块代码封装在标准接口封包内,作为可视化程序设计编辑工具中的一个对象,有图符来表示和控制。可视化程序设计技术中的封包可能由某种语言的一个语句、功能模块或数据程序组成,由此获得的是高度的平台独立性和可移植性。在可视化程序设计环境中,用户还可以自己构造可视控制部件,或引用其他环境构成的符合封包接口规范的可视部件,增加了程序设计的效率和灵活性©Lethbridge/Laganière200159Chapter1:SoftwareandSoftwareEngineering8.3程序设计可视化的程序设计技术©Lethbridge/学习编程语言的一些经验之谈如果您想学习编程,却又不知从何入手,那么您不妨看看下面的几种学习方案,可能会给您一些启示吧!
方案一Basic语言&VisualBasic
方案二Pascal语言&Delphi
方案三C语言&VisualC++
方案四C++语言&C++Builder
方案五SQL语言&PowerBuilder
方案一Basic语言&VisualBasic
优点(1)Basic简单易学,很容易上手。(2)VisualBasic提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序。(3)众多的控件让编程变得象垒积木一样简单。(4)VisualBasic的全部汉化让我们这些见了English就头大的人喜不自禁。©Lethbridge/Laganière200160Chapter1:SoftwareandSoftwareEngineering学习编程语言的一些经验之谈如果您想学习编程,却学习编程语言的一些经验之谈缺点
(1)VisualBasic不是真正的面向对象的开发文具。
(2)VisualBasic的数据类型太少,而且不支持指针,这使得它的表达能力很有限。
(3)VisualBasic不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码。它需要一个动态链接库去解释执行,这使得VisualBasic的编译速度大大变慢。
综述:方案一适合初涉编程的朋友,它对学习者的要求不高,几乎每个人都可以在一个比较短的时间里学会vB编程,并用VB做出自己的作品。对于那些把编程当做游戏的朋友来说,VB是您最佳的选择。
方案二Pascal语言&Delphi
优点
(1)Pascal语言结构严谨,可以很好地培养一个人的编程思想。(2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化。(3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。(4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库。©Lethbridge/Laganière200161Chapter1:SoftwareandSoftwareEngineering学习编程语言的一些经验之谈缺点
(1)VisualBas学习编程语言的一些经验之谈缺点
Delphi几乎可以说是完美的,只是Pascal语言的过于严谨让人感觉有点烦。
综述:方案二比较适合那些具有一定编程基础并且学过Pascal语言的朋友。方案三C语言&VisualC++
优点
(1)C语言灵活性好,效率高,可以接触到软件开发比较底层的东西。
(2)微软的MFC库博大精深,学会它可以让随心所欲地进行编程。
(3)VC是微软制作的产品,与操作系统的结合更加紧密。
缺点
对使用者的要求比较高,既要具备丰富的C语言编程经验,又要具有一定的WINDOWS编程基础,它的过于专业使得一般的编程爱好者学习起来会有不小的困难。
综述:VC是程序员用的东西。如果你是一个永不满足的人,而且可以在编程上投入很大的精力和时间,那么学习VC你一定不会后悔的。©Lethbridge/Laganière200162Chapter1:SoftwareandSoftwareEngineering学习编程语言的一些经验之谈缺点
Delphi几乎可以说是完学习编程语言的一些经验之谈方案四C++语言&C++Builder
优点
(1)C++语言的优点全部得以继承。
(2)完全的可是化。
(3)极强的兼容性,支持OWL、VCL和MFC三大类库。
(4)编译速度非常快。
综述:我认为C++Builder是最好的编程工具。它既保持了C++语言编程的优点,又做到了完全的可视化。
方案五SQL语言&PowerBuilder
对于一些传统的数据开发人员来说,Foxpro系列也许让他们感到更加熟悉。但是对于初学者来说,PowerBuilder也许是最好的数据库开发工具。各种各样的控件,功能强大的PowerBuilder语言都会帮助你开发出自己的数据库应用程序。©Lethbridge/Laganière200163Chapter1:SoftwareandSoftwareEngineering学习编程语言的一些经验之谈方案四C++语言&C++B本章内容8.1概述8.2系统平台实施8.3程序设计8.4软件开发工具8.5程序与系统调试8.6系统切换、运行及维护©Lethbridge/Laganière200164Chapter1:SoftwareandSoftwareEngineering本章内容8.1概述©Lethbridge/Laganièr8.4软件开发工具软件开发工具的定义“可用来帮助和支持软件需求分析、软件开发、测试、维护、模拟、移植或管理而编制的计算机程序或软件。”软件工具是能支持软件生存周期中某一阶段,如需求分析、系统定义、设计、编码、测试和维护等的需要而使用的软件系统,例如编辑器、编译器、连接程序等。如系统分析工具、系统设计工具、编程工具、测试工具、项目管理工具等©Lethbridge/Laganière200165Chapter1:SoftwareandSoftwareEngineering8.4软件开发工具软件开发工具的定义©Lethbridge8.4软件开发工具一些开发工具简介电子表格软件如EXCEL数据库管理数据库是管理信息系统最重要的组成部分,它是系统中数据存放、数据传递、数据交换的中心和枢纽。数据库管理系统是管理和操作数据库的主要工具。目前市场上提供的数据库管理系统大致有两类,一类是微机数据库管理系统,如DBASE、FOXBASE、FoxPro等等;另一类是大型数据库管理系统,如ORACLE、SYBASE、、INFORMIX、SQLSERVER等等。©Lethbridge/Laganière200166Chapter1:SoftwareandSoftwareEngineering8.4软件开发工具一些开发工具简介©Lethbridge/8.4软件开发工具编程工具Visual
Basic:它是以Basic语言作为其基本语言的一种可视化编程工具。可视化编程入门首选。PowerBuilder:是开发MIS系统和各类数据库跨平台的首选,从事信息管理系统的开发或各类数据库的跨平台开发都可以选用此工具,在开发速度上也可得到一定的保障。
Delphi(ObjectPascal):可视化开发工具,它在组件技术的支持、数据库支持、系统底层开发支持、网络开发支持、面向对象特性等各方面都有相当不错的Visual
C++:可视化的开发工具,在网络、系统底层、多媒体开发等领域应用较广。(类似的有C++Builder)©Lethbridge/Laganière200167Chapter1:SoftwareandSoftwareEngineering8.4软件开发工具编程工具©Lethbridge/Laga8.4软件开发工具Java编程工具JBuilder:目前比较出名的是Borland出的JBuilder和IBM出的VisualAgeforJavaMicrosoft推出的Visual
S,相应的有ASP.net
、VC.net、VB.net、C#等正逐渐成为流行编程工具。项目管理工具:如微软的project2003项目管理工具分析设计工具:如ROSE、PowerDesigner集成化CASE:如PlayCase等©Lethbridge/Laganière200168Chapter1:SoftwareandSoftwareEngineering8.4软件开发工具Java编程工具JBuilder:目前比较本章内容8.1概述8.2系统平台实施8.3程序设计8.4软件开发工具8.5程序与系统调试8.6系统切换、运行及维护©Lethbridge/Laganière200169Chapter1:SoftwareandSoftwareEngineering本章内容8.1概述©Lethbridge/Laganièr8.5程序与系统调试程序的调试程序的调试过程程序的调试一是对错误定位,二是改正所发现的错误。具体的执行步骤是:从错误的表现形式入手,分析判断,以确定程序中出错的位置;研究分析相关部分的程序,找出错误的内在原因;修改代码,以排除这个错误;重复对修改之处进行测试,以确认修改的结果。©Lethbridge/Laganière200170Chapter1:SoftwareandSoftwareEngineering8.5程序与系统调试程序的调试©Lethbridge/La8.5程序与系统调试程序调试方法正确性证明利用数学方法证明程序的正确性,该技术还处于初级阶段。静态测试人工评审软件的文档或程序,发现其中的错误。手续简单,是一种行之有效的检验手段。代码审查:通过阅读程序发现软件错误和缺陷。静态分析:主要对程序进行控制流分析、数据流分析、接口分析和表达式分析。©Lethbridge/Laganière200171Chapter1:SoftwareandSoftwareEngineering8.5程序与系统调试程序调试方法©Lethbridge/L8.5程序与系统调试动态检查即测试,有控制地运行程序,从多种角度观察程序运行时的行为,发现其中的错误。(测试就是为了发现错误而执行程序)测试只能证明程序有错误,而不可能证明程序没有错误。20次BA520条路径。©Lethbridge/Laganière200172Chapter1:SoftwareandSoftwareEngineering8.5程序与系统调试动态检查测试只能证明程序有错误,20次B8.5程序与系统调试黑箱测试
不考虑系统内部结构而运行系统,以检查在一定的输入下,系统的输出是否与期望相同。白箱测试
不仅要完成前者的内容,还要检查输入的数据是如何通过系统内部设定的结构,达到输出的。A黑箱测试B白箱测试©Lethbridge/Laganière200173Chapter1:SoftwareandSoftwareEngineering8.5程序与系统调试黑箱测试
不考虑系统内部结构而8.5程序与系统调试系统的测试单元测试单元测试也叫模块测试。测试的内容主要是对模块的几个方面测试:接口、局部数据结构、边界条件、出错处理、控制逻辑等。系统测试在完成单元测试以后,还将各个单元连接起来起先测试。这个过程不断地重复进行,最后可以组成一个完整的系统,然后对整个系统进行测试。连接测试系统测试体系结构测试©Lethbridge/Laganière200174Chapter1:SoftwareandSoftwareEngineering8.5程序与系统调试系统的测试©Lethbridge/La8.5程序与系统调试基于非执行的测试测试的工作不应是一个独立的过程。在整个生命周期中都要进行测试。仅仅在实施时才安排一个测试阶段,或者在某个阶段结束时才对该阶段做测试是不够的。在测试时往往注重基于执行的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教部编版历史九年级下册:第11课 《苏联的社会主义建设》 听课评课记录
- 《沟通中外文明的“丝绸之路”》名师听课评课记录(新部编人教版七年级上册历史)
- 生物医药产业园监理合同(2篇)
- 电力价格调整合同(2篇)
- 五年级上册数学听评课记录《7.1 谁先走》(3)-北师大版
- 部编人教版历史九年级上册第15课《探寻新航路》听课评课记录
- 湘教版数学八年级上册《小结练习》听评课记录5
- 人教版数学七年级上册3.2《解一元一次方程(一)-合并同类项与移项》听评课记录1
- 五年级上册数学听评课记录-总复习2-北师大版
- 新版湘教版秋八年级数学上册第二章三角形课题三角形的内角和定理听评课记录
- 必修3《政治与法治》 选择题专练50题 含解析-备战2025年高考政治考试易错题(新高考专用)
- 二零二五版电商企业兼职财务顾问雇用协议3篇
- 课题申报参考:流视角下社区生活圈的适老化评价与空间优化研究-以沈阳市为例
- 《openEuler操作系统》考试复习题库(含答案)
- 17J008挡土墙(重力式、衡重式、悬臂式)图示图集
- 2024-2025学年人教版生物八年级上册期末综合测试卷
- 大数据背景下网络舆情成因及治理
- 道教系统诸神仙位宝诰全谱
- 中国经济转型导论-政府与市场的关系课件
- 新视野大学英语读写教程 第三版 Book 2 unit 8 教案 讲稿
- 村务公开表格
评论
0/150
提交评论