电子政务系统中的软件基础_第1页
电子政务系统中的软件基础_第2页
电子政务系统中的软件基础_第3页
电子政务系统中的软件基础_第4页
电子政务系统中的软件基础_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子政务系统中的软件基础第1页,课件共105页,创作于2023年2月2南京大学软件学院第5章:电子政务系统中的软件基础在本章中了解如下主要知识点软件工程和软件生存周期电子政务系统中的软件工程详细设计软件开发程序编制(C语言部分)电子政务系统软件平台的选型第2页,课件共105页,创作于2023年2月3南京大学软件学院软件工程的定义鲍姆(B.W.Boehm)为软件工程下的定义是:运用现代科学技术知识来设计并构造计算机程序,并为开发、运行和维护这些程序所必需的相关文件资料说明软件工程是计算机科学中的一个分支,其主要思想是在软件生产中用工程化的方法代替传统手工方法。工程化的方法借用了传统的工程设计原理的基本思想,采用若干科学的、现代化的方法技术来开发软件,这种工程化的思想贯穿到需求分析、设计、实现直到维护的整个过程第3页,课件共105页,创作于2023年2月4南京大学软件学院软件工程的定义(续1)1983年IEEE的定义是:软件工程是开发、运行、维护和修复软件的系统方法。其中,软件的定义为:计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必需的数据软件工程具有性质是一门综合性的交叉学科,涉及计算机科学、工程科学、管理科学、数学等领域。计算机科学中的研究成果均可用于软件工程,但计算机科学着重于原理和理论,而软件工程着重于建立建造软件系统第4页,课件共105页,创作于2023年2月5南京大学软件学院软件工程的定义(续2)要用工程科学中的观点来进行费用估算、制定进度、制定计划和方案要用管理科学中的方法和原理进行软件生产的管理要用数学的方法建立软件开发中的各种模型和各种算法,如可靠性模型,说明用户需求的形式化模型等第5页,课件共105页,创作于2023年2月6南京大学软件学院软件工程研究的内容主要内容是软件开发技术和软件开发管理两个方面软件开发技术中主要研究软件工程方法、软件工程过程、软件开发工具和环境。其中软件工程方法为软件开发提供了“如何做”的技术。包括了多方面的任务,如项目计划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法的设计、编码、测试以及维护等常采用某种特殊的语言或图形的表达方法,及一套质量保证标准软件工程过程是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的第6页,课件共105页,创作于2023年2月7南京大学软件学院软件工程研究的内容(续1)定义了方法使用的顺序、要求交付的文档资料,为保证质量和协调变更所需要的管理,软件开发各个阶段完成的里程碑软件开发工具和环境为软件工程方法提供了自动的或半自动的软件支撑环境已经开发出了许多软件工具支持上述的软件工程方法。而且已经有人把诸多软件工具集成起来,使得一种工具产生的信息可以为其他的工具所使用,这样建立起一种称之为计算机辅助软件工程(CASE)的软件开发支撑系统。CASE将各种软件工具、开发机器和一个存放开发过程信息的工程数据库组合起来形成一个软件工程环境软件开发管理主要是研究软件管理学、软件经济学、软件心理学等内容第7页,课件共105页,创作于2023年2月8南京大学软件学院软件工程项目的目标软件工程项目是一门工程性学科,目的是成功地建造一个大型软件系统,所谓成功要达到以下目标付出较低的开发成本达到要求的软件功能取得较好的软件性能开发的软件易于移植需要较低的维护费用能按时完成开发任务,及时交付使用开发的软件可靠性高第8页,课件共105页,创作于2023年2月9南京大学软件学院软件工程项目的目标(续1)在实际开发中,要想让以上几个目标都达到理想的程度往往是困难的,甚至上述目标很可能互相冲突如果只降低开发成本,很可能同时也降低了软件的可靠性如果过于追求提高软件的性能,可能造成开发出的软件对硬件有较大的依赖,从而直接影响到软件的可移植性软件工程项目之间的相互关系图第9页,课件共105页,创作于2023年2月10南京大学软件学院软件工程项目的目标(续2)易于维护和高可靠性之间,低开发成本与按时交付之间为互补关系低开发成本和易于维护、低开发成本和高可靠性、低开发成本和高性能、高可靠性和高性能、高性能和按时交付之间为互斥关系第10页,课件共105页,创作于2023年2月11南京大学软件学院软件工程面临的问题软件费用软件是知识高度密集的技术的综合产物,软件人力资源不能适应软件迅速增长的社会要求。软件费用上升是必然趋势软件可靠性软件可靠性是指软件系统能否在既定的环境条件下运行并实现所期望的结果。软件开发中通常要花费40%的代价进行测试和调试软件维护软件维护费用占整个软件系统费用的2/3。已上线的软件还需排除隐含错误,新增的功能要加入,而维护工作是困难且效率较低的。因此要考虑提高软件的可维护性第11页,课件共105页,创作于2023年2月12南京大学软件学院软件工程面临的问题(续1)软件生产率软件的生产处于手工开发的状态,低下,软件开发人员的素质会严重影响软件生产率。要考虑如何提高软件生产率软件重用提高软件的重用性,对于提高软件生产率、降低软件成本有重要意义。软件重用有各种级别,软件规格说明、软件模块、软件代码、软件文档等都可以是软件重用的单位第12页,课件共105页,创作于2023年2月13南京大学软件学院软件生存周期及其模型软件生存周期:是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。可划分为六个阶段,即:制定计划、需求分析、软件设计、程序编码、软件测试及运行维护制定计划目的是确定要开发软件系统的总目标,给出功能、性能、可靠性以及接口等方面的要求。由系统分析员和用户合作,研究完成该项软件任务的可靠性,探讨解决问题的可能方案,并对可利用的资源(计算机硬件、软件、人力等)、成本、可取得的效益、开发的进度做出估计,制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查第13页,课件共105页,创作于2023年2月14南京大学软件学院软件生存周期及其模型(续1)需求分析目的不是具体地解决问题,而是准确地确定软件系统必须做什么,确定软件系统必须具备哪些功能。软件开发人员要和用户密切配合,充分交流各自的理解,充分理解用户的业务流程,完整地、全面地收集、分析用户信息和处理,从中分析出用户要求的功能和性能,并对其加以确切地描述;然后编写出软件需求说明书或系统功能说明书,提交管理机构评审软件设计:是软件工程的技术核心,可分为概要设计和详细设计两个阶段概要设计阶段,开发人员要把确定的各项功能需求转换成需要的体系结构。在该体系结构中,每个成份都是意义明确的模块,即每个模块都和某些功能需求相对应第14页,课件共105页,创作于2023年2月15南京大学软件学院软件生存周期及其模型(续2)概要设计的主要任务是设计软件结构明确该结构由哪些模块组成确定模块的层次结构和调用关系设计系统的总体数据结构和数据库结构详细设计阶段,为每个模块完成的功能进行具体描述,要把功能描述转变为精确的、结构化的过程描述。即该模块的控制结构是怎样的,应该先做什么,后做什么,有什么样的条件判定,有些什么重复处理等等,并用相应的表示工具把这些控制结构表示出来程序编码把每个模块的控制结构转换成计算机可以接受的程序代码,即写成从某一种特定程序设计语言表示的“源程序清单”。程序应是结构好,清晰易读,并且与设计相一致的第15页,课件共105页,创作于2023年2月16南京大学软件学院软件生存周期及其模型(续3)软件测试是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检验软件的各个组成部分。测试分为单元测试,集成测试、有效性测试单元测试是查找各模块在功能和结构上存在的问题集成测试是将各模块按一定顺序组装起来进行测试,主要是查找各模块之间接口上存在的问题有效性测试是按需求说明书上的功能逐项测试,决定开发的软件是否合格,能否交付用户使用运行/维护软件投入正式使用后进入运行与维护阶段。在运行过程中软件可能由于各方面原因需要进行修改,原因可能是:运行中发现了软件隐含的错误而且需要修改;为了适应变化了的软件工作环境而需要做适当变更;为了增强软件的功能需做变更第16页,课件共105页,创作于2023年2月17南京大学软件学院软件生存周期及其模型(续4)软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。它确立了软件开发中各阶段的次序限制以及各阶段活动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理软件生存周期模型有:瀑布模型、演化模型、螺旋模型、喷泉模型、智能模型第17页,课件共105页,创作于2023年2月18南京大学软件学院软件生存周期及其模型(续5)瀑布模型:将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型包括:制定开发计划、需求分析、软件设计、程序编码、软件测试及运行维护。规定了由前至后、相互衔接的固定次序软件生存周期的瀑布模型图说明从上一项活动接受该项活动的工作对象,作为输入利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,作为输出传给下一项活动对该项活动实施的工作进行评审第18页,课件共105页,创作于2023年2月19南京大学软件学院软件生存周期及其模型(续6)瀑布模型为软件开发提供了一种有效的管理模式。根据它制定开发计划、进行成本预算、组织开发力量,以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,从而保证软件产品及时交付,并达到预期的质量要求优点是:在消除非结构化软件、降低软件的复杂性、促进软件开发工程化方面起了很大作用缺点是:缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。这些问题对软件开发带来严重影响,最终可能导致开发出的软件并不是用户真正需要的软件演化模型:是一种非整体开发的模型软件在该模型中是“逐渐”开发出来的,开发出一部分向用户展示一部分,让用户及早看到部分软件及早发现问题。也可以先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善第19页,课件共105页,创作于2023年2月20南京大学软件学院软件生存周期及其模型(续7)演化模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目螺旋模型:将瀑布模型与演化模型结合起来,并且加入了风险分析将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合。沿着螺线旋转,在每个螺旋周期内分为四个方面的活动制定计划:确定目标,选定实施方案,明确开发限制条件风险分析:分析所选方案,识别风险,通过原型消除风险开发实施:实施软件开发用户评估:评价开发工作,提出修改意见,建立下一个周期的计划适合于大型软件的开发。吸收了软件工程“演化”的概念,使开发人员和用户对每个螺旋周期的风险有所了解,并可以作出相应反应第20页,课件共105页,创作于2023年2月21南京大学软件学院软件生存周期及其模型(续8)螺旋模型的使用有两点不足使用需要有相当丰富的风险评估经验和专门知识,这使该模型的应用受到一定限制对软件复用和生存期中多项开发活动的集成并未提供支持,因而难于支持面向对象的开发方法喷泉模型:是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法克服了瀑布模型不支持软件重用和多项开发活动集成的局限性,使开发过程具有迭代性和无间隙性系统某些部分常常重复工作多次,相关功能在每次迭代中随之加入演化的系统无间隙是指在分析、设计、实现等开发活动之间不存在明显的边界第21页,课件共105页,创作于2023年2月22南京大学软件学院软件生存周期及其模型(续9)智能模型:也称为基于知识的软件开发模型,把瀑布模型和专家系统结合在了一起在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作,使维护在系统需求说明一级上进行。为此建立了各阶段所需要的知识库,将模型、相应领域知识、软件工程知识分别存入数据库,以软件工程知识为基础的生成规则构成的专家系统与含有应用领域知识规则的其他专家系统相结合,构成了该领域开发系统第22页,课件共105页,创作于2023年2月23南京大学软件学院软件开发方法和开发工具软件开发方法软件开发的目标是在规定的投资和时间内,开发出符合用户需求的高质量的软件。为达到此目的,需要选择成功的软件开发方法软件开发方法有:结构化方法、Jackson方法、维也纳开发方法、面向对象的开发方法结构化方法由结构化分析、结构化设计、结构化程序设计构成,是一种面向数据流的开发方法。简单实用,应用较广,技术成熟第23页,课件共105页,创作于2023年2月24南京大学软件学院软件开发方法和开发工具(续1)结构化分析:是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模块,从而完成需求分析工作结构化设计:是根据模块独立性准则、软件结构准则将数据流图转换为软件的体系结构,用软件结构图来建立系统的物理模型,实现系统的概要设计结构化程序设计:是根据结构程序设计原理,将每个模块的功能用相应的标准控制结构表示出来,从而实现详细设计总的指导思想是自顶向下、逐步求精。基本原则是功能的分解与抽象,是软件工程中最早出现的开发方法,特别适合于数据处理领域的问题对于规模大的项目,对于特别复杂的项目不太适应,难于解决软件重用问题,难于适应需求变化的问题,难于彻底解决维护问题第24页,课件共105页,创作于2023年2月25南京大学软件学院软件开发方法和开发工具(续2)Jackson方法是一种面向数据结构的开发方法。首先描述问题的输入、输出数据结构、分析其对应性,然后推出相应的程序结构,从而给出问题的软件过程描述根据一个问题的数据结构与处理该问题数据结构的控制结构的相似性原理形成了最初的JSP(JacksonStructureProgramming)方法JSP方法是以数据结构为驱动的,适合于小规模的项目。当输入数据结构与输出数据结构无对应关系时,难于应用,基于JSP方法的局限性,又发展了JSD(JacksonSystemDevelopment)方法第25页,课件共105页,创作于2023年2月26南京大学软件学院软件开发方法和开发工具(续3)JSD方法是一个完整的系统开发方法。是以事件为驱动的,是一种基于进程的开发方法。适合应用于时序特点较强的系统,包括数据处理系统和一些实时控制系统JSD方法的系统开发步骤建立现实世界的模型确定系统的功能需求对需求的描述特别强调操作之间的时序性JSD方法的缺点对客观世界及其同软件之间的关系认识不完整所确立的软件系统实现结构过于复杂软件结构说明的描述采用第三代语言,不利于软件开发者对系统的理解以及开发者之间的通信交流第26页,课件共105页,创作于2023年2月27南京大学软件学院软件开发方法和开发工具(续4)维也纳开发方法(VDM)是一个基于模型的方法,主要思想是将软件系统当作模型给予描述。把软件的输入、输出看作是模型对象,把这些对象在计算机内的状态看作该模型在对象上的操作。目的是从软件系统最高一级抽象直到最后生成目标的每一步都给予形式说明,以此提高软件的可靠性面向对象的开发方法以对象作为最基本的元素,是分析问题、解决问题的核心包括面向对象分析、面向对象设计、面向对象实现。面向对象开发法有Booch方法、Coad和OMT方法等为了统一各种面向对象方法的术语、概念和模型,1997年推出了统一建模语言,即UML(UnifiedModelingLanguage),它是面向对象的标准建模语言,通过统一的语义和符号表示,使各种方法的建模过程和表示统一起来,成为面向对象建模的工业标准第27页,课件共105页,创作于2023年2月28南京大学软件学院软件开发方法和开发工具(续5)软件开发工具指为了支持软件人员开发和维护活动而使用的软件。如项目估算工具、需求分析工具、设计工具、编码工具、测试工具和维护工具等。使用软件工具可以提高软件生产率工具箱最初的软件是以工具箱的形式出现的。一种工具支持一种开发活动,然后将各种工具简单组合起来就构成工具箱。工具箱的界面不统一,内部无联系,切换由人工操作。因此对大型软件的开发和维护的支持能力有限,即使可以使用众多的软件工具,但由于工具之间相互隔离,独立存在,无法支持一个统一的软件开发和维护过程第28页,课件共105页,创作于2023年2月29南京大学软件学院软件开发方法和开发工具(续6)软件开发环境针对工具系统的整体化及集成化,使之形成完整的软件开发环境。目的是使软件工具支持整个生存周期,不仅支持软件开发和维护中的个别阶段,而且支持从项目开发计划、需求分析、设计、编码、测试到维护等所有阶段;不仅支持各阶段中的技术工作,还支持管理和操作工作,保持项目开发的高度可见性,可控制性和可追踪性计算机辅助软件工程可简单定义为软件开发的自动化,称为CASE(ComputerAidedSoftwareEngineering)。对软件生存周期的概念进行了新的建立在自动化基础上的探讨。CASE的实质是为软件开发提供一组优化集成的且大量节省人力的软件开发工具,目的是实现软件生存周期各环节的自动化并使之成为一个整体第29页,课件共105页,创作于2023年2月30南京大学软件学院软件开发方法和开发工具(续7)CASE技术是软件工具和软件开发方法的结合。不同于以前的软件技术,它强调了解决整个软件开发过程的效率问题,而不是解决个别阶段的问题。跨越了软件生存周期各个阶段,着眼于软件分析和设计以及实现和维护的自动化,从软件生存周期的两端解决了生产率问题CASE工具不同于以往的软件工具主要体现在:支持专用的个人计算环境;使用图形功能对软件系统进行说明并建立文档;将生存周期各阶段的工作连接在一起;收集和连接软件系统中从最初的软件需求到软件维护各个环节的所有信息;用人工智能技术实现软件开发和维护工作的自动化第30页,课件共105页,创作于2023年2月31南京大学软件学院软件开发方法和开发工具(续8)一个软件项目的开发中,要采用一种生存周期模型,按照某种开发方法,使用相应的工具系统,如结构化方法:使用瀑布模型、演化模型、螺旋模型进行开发Jackson方法:使用瀑布模型、演化模型进行开发面向对象的开发方法:一般采用喷泉模型,也可用瀑布模型、演化模型进行开发形式化的VDM方法:只能用变换型进行开发变换模型是一种适合于形式化开发的模型。从软件需求形式化说明开始,经过一系列变换,最终得到系统的目标程序第31页,课件共105页,创作于2023年2月32南京大学软件学院软件生存周期过程在1998年制订和公布的国家标准《GB8566-88计算机软件开发规范》将软件生存周期划分为八个阶段,即:可行性研究和计划、需求分析、概要设计、详细设计、实现、组装测试、确认测试、使用和维护该标准为每个阶段规定了任务、实施步骤、实施要求以及完成的标志八个阶段的划分大致符合也适应瀑布模型第32页,课件共105页,创作于2023年2月33南京大学软件学院软件生存周期过程(续1)20世纪90年代初软件工程过程的概念出现。软件工程过程规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。目的是为各种人员提供一个公共的框架,以便用相同的语言进行交流框架由几个重要的过程组成,这些主要过程含有用来获取、供应、开发、操作和维护软件所用的基本的、一致的要求框架还有用来控制和管理软件的过程第33页,课件共105页,创作于2023年2月34南京大学软件学院软件生存周期过程(续2)1995年ISO在此基础上对生存期过程作了调整,即《ISO/IEC12207信息技术——软件生存期过程》全面、系统地阐述了软件生存期的过程、活动和任务。定义的17个过程分别属于:主要过程,支持过程和组织过程第34页,课件共105页,创作于2023年2月35南京大学软件学院软件生存周期过程(续3)软件生存期过程的17个主要活动和任务描述主要生存期过程(primaryprocess)包括5个过程,它们供各主要当事方(如需方、供方、开发者、运行者和维护者)参与或完成软件产品开发、运行或维护时使用获取过程:需方获取系统、软件产品或软件服务的活动供应过程:供方向需方提供系统、软件产品或软件服务的活动开发过程:开发者定义并开发软件产品的活动运行过程:运行者在规定的环境中为其用户提供计算机系统服务的活动维护过程:维护者提供维护软件产品服务的活动第35页,课件共105页,创作于2023年2月36南京大学软件学院软件生存周期过程(续4)支持生存期过程(supportingprocess)包括8个过程,每个过程均有明确的目的支持其他过程,帮助软件项目获得成功及良好的产品质量文档编制过程:记录生存期过程中产生的信息所需的活动配置管理过程:实施配置管理活动质量保证过程:为确保软件产品和软件过程符合规定的需求并能坚持既定计划所需的活动。联合评审、审核、验证与确认可作为质量保证技术使用验证过程:为确保一个活动的产品满足前一活动对它的要求和条件的活动确认过程:为确保最终产品满足预期使用要求的活动联合评审过程:评审方与被评审方共同对某一活动的状态和产品进行评审的活动审核过程:审核项目是否按要求、计划、合同完成的活动问题解决过程:分析和解决在开发、运行、维护或其他过程中出现的总是不论其性质和来源如何的活动第36页,课件共105页,创作于2023年2月37南京大学软件学院软件生存周期过程(续5)组织生存期过程(organizationalprocess)包括4个过程,它们被某个机构用来建立和实现与生存期过程相关的基础结构,甚至人事制度,并使其不断得到改进管理过程:规定生存期过程中的基本管理活动,包括项目管理基础设施过程:建立生存期过程基础结构的基本活动改进过程:某一机构(需用、供方、开发者、运行者、维护者或其他过程的管理者)为建立、测量、控制和改进其生存期过程需开展的基本活动培训过程:对人员进行适当培训所需的活动第37页,课件共105页,创作于2023年2月38南京大学软件学院电子政务系统的详细设计说明软件详细设计说明书数据结构设计第38页,课件共105页,创作于2023年2月39南京大学软件学院软件开发程序编制(画面部分)画面上各个项目的排列位置,应该遵循以下原则项目按行、列位置,上下、左右对齐每行之间的间隙,和一行之中项目之间的间隙应该相同静态文本、编辑框、组合框、按钮、检查框、圆形按钮等各个类型的项目的高度原则上应该相同。当无法保证全部相同时,至少应该保证同一类型的项目的高度完全相同画面总体效果清晰、明朗,画面重心合适第39页,课件共105页,创作于2023年2月40南京大学软件学院软件开发程序编制(续1)画面项目的控制机能应该遵循以下原则TAB键不停留在静态项目上,而是按从上到下、由左至右的次序在用户可操作的控制项目上移动组合框的拉下宽度应该与被选择的项目的个数相适应,被选择的项目的个数为10个以内时,拉下组合框时应该不出现竖滚动条,而其最大时不应超过画面的高度任何时候画面的控制焦点不应丢失,应能通过键盘改变焦点画面控制焦点的转移应该尽量做到“自动”和“智能”第40页,课件共105页,创作于2023年2月41南京大学软件学院软件开发程序编制(续2)画面项目的ID命名规范应该遵循以下原则画面本身的ID应该以IDD_Dialxxxx的方式命名,8个字符的前、D­_Dial固定不变、随后跟的字符串应该为该画面在开发项目中预定的编号,整个项目中的各个画面ID的长度原则上应该相同画面中其他各个项目的ID命名由“前缀+画面编号+顺序号”组成第41页,课件共105页,创作于2023年2月42南京大学软件学院文件编制、管理的一般要求按软件工程的技术和方法规范软件开发过程,加强软件开发全过程的质量控制,是保证软件开发质量的关键软件技术文档是计算机软件的重要组成部分,在开发的相应阶段及时形成软件文档并通过评审是非常重要的:软件文档是软件开发、设计、实现的依据和准则;是对软件开发过程及开发成果进行有效管理的手段;是对软件进行评审、验证和确认的依据;是使用、维护、修改的指南。软件文档应按有关标准和规范的要求进行编写;软件文档的完整性及质量应是衡量软件开发成果和其质量的重要标志之一第42页,课件共105页,创作于2023年2月43南京大学软件学院范围要求为承担软件开发的组织提供编制、管理软件文档的一般方法,适用于计算机软件文档的编制与管理注:软件文档就是指软件文件第43页,课件共105页,创作于2023年2月44南京大学软件学院引用标准GB/T8567,计算机软件产品开发文件编制指南GB9385,计算机软件需求说明编制指南GB9386,计算机软件测试文件编制指南GB11457-1995,软件工程术语GB/T15532-1995,计算机软件单元测试GB/T1900.3(ISO9000-3),质量管理和质量保证标准;第三部分:GB/T19001(ISO9001),在软件开发、供应和维护中的使用指南GJB437,军用软件开发规范(可参照)GJB,军用软件文档编制规范(可参照)第44页,课件共105页,创作于2023年2月45南京大学软件学院文档分类和组成文档分类:一般分为两类一类是开发过程中填写的标志软件开发进程的工作表格,如:开发计划,进度月报另一类是开发各阶段应编制的体现软件技术内容及指导软件开发的技术性和管理性文件文档的组成软件开发过程中一般编制14种文档文档的剪裁和合并一项软件在开发过程中,可根据项目的规模大小和复杂程度对14项文件进行剪裁和合并第45页,课件共105页,创作于2023年2月46南京大学软件学院文档分类和组成(续1)软件规模分级:按源程序的行数可分为4级小规模软件,源程序行数小于5000的软件中规模软件,源程序行数为10,000-50,000的软件大规模软件,源程序行数为100,000-500,000的软件特大规模软件,源程序行数为大于500,000的软件第46页,课件共105页,创作于2023年2月47南京大学软件学院文件的详细程度14种文件在GB8567中都有相应的编写提示供参考,各条款可根据实际情况进行增加、合并、删改。按同一份提示起草的文件其详细程度取决于项目的规模、复杂性和项目负责人及项目管理部门对该软件的开发过程、运行环境、技术关键问题的诠释、维护和使用要求的判断第47页,课件共105页,创作于2023年2月48南京大学软件学院文档的编制要求和方法可行性研究报告说明该软件开发项目在技术、经济和社会条件等方面实现的可行性,评述可能选择的各种方案,说明并充分论证所选定的方案项目开发计划把对开发过程中各方面工作的负责人、开发进度、所需开发经费的预算所需的硬件及软件资源等问题做出安排,用文件的形式记载下来,以便根据本计划开展和检查项目的开发工作第48页,课件共105页,创作于2023年2月49南京大学软件学院文档的编制要求和方法(续1)软件需求说明书(ISO9000-3中称为软件需求规格说明)是软件开发文档中最重要、最关键的文档,软件系统的全部功能、性能、用户接口、环境要求、安全性、可靠性、保密性应在软件需求说明中详细的得到体现,这些需求应该精确到足以成为产品测试,验收确认的依据,是软件设计实现的依据,整个开发工作的基础,也是与用户进行交流的指南第49页,课件共105页,创作于2023年2月50南京大学软件学院文档的编制要求和方法(续2)数据要求说明书应完整地说明在整个开发时期必须处理的所有数据元素,并向用户说明输入数据的采集要求概要设计说明书应说明对程序系统的设计考虑,包括基本流程、组织结构、模块划分、功能分配、接口设计、运行环境、数据结构设计和出错处理设计等,为详细设计提供基础,需要时也可与详细设计说明合在一起第50页,课件共105页,创作于2023年2月51南京大学软件学院文档的编制要求和方法(续3)详细设计说明书详细设计说明书可根据需要与概要设计说明书合在一起编写。应详细说明程序中各个成分(每个模块或子程序)的设计细节,以利于程序员编制程序数据库设计说明书详细规定待设计数据库的所有标识、逻辑结构和物理结构,通常是为很多软件人员编写各种程序时用到的同一批数据而准备的第51页,课件共105页,创作于2023年2月52南京大学软件学院文档的编制要求和方法(续4)用户手册应采用比较通俗的语言,清楚地说明该软件所具有的功能和使用方法,使用户能够了解软件的用途、使用环境、各种限制,及输入输出要求操作手册向计算机操作人员或维护人员提供该软件各种可能情况的运行过程,包括操作方法的细节。着重帮助他们理解从输入数据到输出信息的数据处理过程,而不是程序的内部逻辑流程第52页,课件共105页,创作于2023年2月53南京大学软件学院文档的编制要求和方法(续5)模块开发卷宗记录和汇总低层次开发的进度和结果,编写模块结构说明(附程序框图),便于对模开发工作进行管理和复审,并为将来的维护提供有用信息测试计划(大纲)主要指组装和确认测试计划,提供测试活动的内容和进度安排、测试设计考虑、测试过程、测试方法、测试用例等测试方案,以及整理测试结果的方法和评估准则,应按需求说明记录测试结果第53页,课件共105页,创作于2023年2月54南京大学软件学院文档的编制要求和方法(续6)测试分析报告把组装测试和确认测试的每一项结果,问题及其分析写成文档,说明被测试软件经过验证的性能和缺陷开发进度月报及时向项目主管部门汇总进展情况,以便及时发现问题和处理问题项目开发总结报告总结本项目开发经验,说明实际开发结果,全面评估整个开发工作第54页,课件共105页,创作于2023年2月55南京大学软件学院文档的编制要求和方法(续7)文档编制和管理的一般要求受控文档一般都是受控的软件配置项,文档控制与配置管理目的基本一致,因此可以把这两项任务结合起来,由同一个机构或人员负责按统一的计划进行,对文件的管理必须贯穿于整个开发过程,才能使所编制的文件真正发挥作用文档的形成项目负责人制定计划,明确何时形成何文档,由谁负责;内容要求;审批手续;全组分工完成;及时组织内部的和正式的评审或审查;必须有编写者、评审者和批准者签署,并说明相应日期第55页,课件共105页,创作于2023年2月56南京大学软件学院文档的编制要求和方法(续8)文档的分类与标识:应由技术部门对文档的分类与标识做出统一规定,划定文档的密级和具体的放范围。相关人员应严格按规定对文档进行标识文档的控制开发部门设专职文档管理人员,集中保管两套主文本及源程序执行程序载体,源程序文件名清单(标出字节数和日期),并经文档管理人员确认是可执行程序,检查无病毒后填写软件文件履历表(其格式尚待讨论),方可归档交给文档管理人员的每份文档必须签署齐全两套主文本内容必须完全一致,其中一套绝对不出借,另一套借、还要执行一定手续开发组成员可拥有所需或所编制的文档作为个人应用文档,但必须是主文本的复制品,与主文本一致,若需修改,先改主文本第56页,课件共105页,创作于2023年2月57南京大学软件学院文档的编制要求和方法(续9)开发组成员的个人文档组成子集,文档管理人员有各子集清单,并按清单把有关文档及时分发给有关人员及时注销已被新文档替代的原文档(注销必须办理审批手续);随时整理主文档,及时反映变化情况,并及时分发在软件开发的每个阶段结束时,应将该阶段经过评审的技术文档及时交文档管理人员归档开发工作结束时(或软件确认测试通过,作为正式产品发放),应将本软件有关的全部文档及开发成果(含完整的源程序,执行程序载体,全部文字性材料)交文档管理员归档。文档管理员认真检查其内容,发现与主文本不一致时,必须监督有关人员修正。文档归档应履行严格的交接手续,对归档材料的完整性,一致性,正确性应经过评审,验证,确认后交接双方签字第57页,课件共105页,创作于2023年2月58南京大学软件学院文档的编制要求和方法(续10)文档的修改:由于软件在开发过程中修改频繁,且一处修改可能影响到其它多处也要作相应修改,所以GB8567指出按步骤提议:向项目负责人提出建议,说明修改的文档部位、内容及理由评议:由项目负责人审查修改的必要性,确定影响范围,研究修改方法和具体步骤审核:由项目负责人负责批准:由主管部门负责人批准实施:由项目负责人组织实施修改,直到最后取代原文档,并写出修改更新说明,交文档管理员第58页,课件共105页,创作于2023年2月59南京大学软件学院软件开发程序编制(C语言部分)目的是为了使软件可读性好、兼容性好、易维护等第59页,课件共105页,创作于2023年2月60南京大学软件学院程序的构成C语言程序是由各种说明和定义组成,具体来说要素包括包含文件说明#include〈…〉常数定义#define…宏定义#define”类型说明typedef…外部变量说明extern…全局变量定义外部函数引用说明内部函数引用说明函数描述第60页,课件共105页,创作于2023年2月61南京大学软件学院源文件的命名规则及构成①文件扩展名XXXXXXXX.h用于记载说明、定义的源文件XXXXXXXX.C用于记载函数描述的源文件②文件名文件应当按照它所记载的内容来命名。源文件若只包含一个函数描述,则应当用函数名来命名文件。从可移植性的角度考虑,文件名的长度一般应在8个字符以内。同时字母的大小写应该是有区别的③源文件的构成关联性很强的函数、变量应集中在同一源文件中描述。源文件中共同的定义和说明应集中在一个头文件中描述源文件的大小一般应控制在1000行以内第61页,课件共105页,创作于2023年2月62南京大学软件学院各语句的书写格式及留空对语句的书写格式及语句前的留空进行明确的规定,目的是使程序具有良好的可读性。程序的相邻层次的语句之前的留空个数一般为4个空格,但SWITCH/CASE语句和函数形参定义语句前只留2个空格①一行的文字数程序的一行的字符个数应在72之内,以便于程序的阅读和输出②SWITCH语句的书写格式第62页,课件共105页,创作于2023年2月63南京大学软件学院各语句的书写格式及留空(续1)③IF语句的书写格式④WHILE语句的书写格式⑤FOR语句的书写格式⑥函数的书写格式第63页,课件共105页,创作于2023年2月64南京大学软件学院函数名和变量名自定义函数名应当与系统函数、标准函数名区分开来,除专用目的的函数外,函数名应当以大写字母开头常数名(#define)必须大写全局变量应尽量按它所表示的内容来命名所有的变量名应一律以小写字母开头(切忌使用ppp、aaa、ii之类的不明意义的单词)变量、函数的命名可书中规定第64页,课件共105页,创作于2023年2月65南京大学软件学院条件编译语句的使用DEBUG语句的使用与环境相关的部分第65页,课件共105页,创作于2023年2月66南京大学软件学院其他注意事项①对OS的系统调用的使用应尽可能集中在一个文件中,这样使系统的错误处理和移植变得容易②错误处理函数应集中放在一个文件中第66页,课件共105页,创作于2023年2月67南京大学软件学院注释的书写格式及内容注释的书写格式及内容请参见《电子政务系统建设与实施》第1版的第5章5.5.7注释的书写格式及内容第67页,课件共105页,创作于2023年2月68南京大学软件学院文件的变更格式文件提交以后,文件的内容的变动请参见《电子政务系统建设与实施》第1版的第5章5.5.8文件的变更格式第68页,课件共105页,创作于2023年2月69南京大学软件学院电子政务系统软件平台的选型软件平台的选型这对系统建设的成败有着决定性的作用现在对软件平台的要求是联网上网后如何开发网络应用?要求跨工作平台(支持NT、NIX、OC/390)具有高可靠性、高伸缩性、高度安全、易于管理高效复制和移动计算、开发效率高、支持快速实施等为远程信息服务和教学、实时服务提供一个完整的知识管理平台,核心是通讯(Communication)、协作(collaboration)、协调(Coordination)、也称为软件集成平台的3C功能第69页,课件共105页,创作于2023年2月70南京大学软件学院软件平台的功能要求一个系统集成商给用户考虑软件平台时应考虑以下功能要求完全支持Internet标准的通讯强劲的可伸缩的目录服务目录服务也称为公共地址簿,其中包含了所有有关目录服务的资源信息:从各个用户的邮件地址到服务器的联接记录,定义在网络上何时、怎样复制信息。继承原有文档库的结构,公共地址簿通过一个单一的集成的目录,使系统管理员可以方便地管理用户、数据库和服务器公共地址簿是一个数据库,这就使得它的职能不仅可用于管理系统资源,开发者还可用它记录职员的姓名和住址等信息。由于企业的网络中心应当包容全部信息资源:人员、场所、文档和应用程序,所以公共地址簿在信息资源管理方面扮演着重要的角色第70页,课件共105页,创作于2023年2月71南京大学软件学院软件平台的功能要求(续1)公共地址簿管理的资源包括系统。对有些应用程序来说,电子邮件的终点不是某个人,而是某个服务器、传真机、电话或其它电子“终点”。这些资源的地址均可以在公共地址簿中找到传递表。电子邮件的收件人可以记录在公共地址簿中,可用于E-mail或传真机发送信息邮件路由。邮件的邮路通常取决于邮路的可用性和开销,因此,路由可以由时间、邮件的急迫程度和其它标准确定。公共地址簿可以包含涉及路由逻辑和描述信息,由此确定的邮路可以适合及时和高效的要求格式文本。公共地址簿可以包含用户图像,嵌入的对象和表格用户定义的。公共地址簿的内容不仅仅限于通常的目录文件格式,它可以包含管理员定义的字段链接文档。由于公共地址簿本身是一个数据库,它可以包含指向其它数据库的指针。这样,管理员可以增加对某个字段的描述信息,而不增加公共地址簿的大小目录服务在公共地址簿中已包括了企业目录功能、可修改的结构、开放的界面和强劲的复制功能第71页,课件共105页,创作于2023年2月72南京大学软件学院软件平台的功能要求(续2)管理非结构化数据的文档数据库数据库是文档数据库,最基本的元素就是文档。这里的文档和关系数据库中的记录类似,文档的结构是由表单定义的,而表单由一组字段组成因为文档为数据库的基本元素(就是文档本身),而文档可以同时包含结构化的和非结构化的信息,所以能够相邻和管理类似文档这样的非结构化数据。众所周知,对于非结构化信息的管理,通常的数据库管理系统是无能为力的,因此还应该向用户提供大量有用的管理非结构化信息的工具格式文本/多媒体全文搜索版本控制文档链接第72页,课件共105页,创作于2023年2月73南京大学软件学院软件平台的功能要求(续3)用于信息共享的复制技术电子政务系统支持工作组成员跨越时空界限共享信息,每一个工作地点通常都需要配置本地服务器利用利用复制技术将位于远程(例如北京)服务器上的数据库“拷贝”到本地(上海)服务器上。无需连接到远端服务器,复制技术即可保持信息的同期更新。在功能和效率方面,复制技术是无可比拟的,其特征表现为双向复制高效客户端复制选择复制后端复制第73页,课件共105页,创作于2023年2月74南京大学软件学院软件平台的功能要求(续4)完成协同工作的工作流、日历、群组日程安排协同工作应用的主要构成是工作流、日历和群组日程安排。将企业内部各部门、不同的工作环节很好地结合起来,形成协同的工作模式,大大提高企业的工作效率工作流。用户可以很容易的定义流程,工作流自动发送和跟踪文档,帮助您在企业内外进行协同工作。大多数工作流系统都需要根据工作流程的某种状态或数据字段的某种值,决定是否向某人发出警示或更新某个数据库日历和群组日程安排。提供日历和群组日程安排工作,使用户能够更有效地安排自己的工作时间,了解其他群组人员的时间安排,提高工作效率。其主要功能在客户机上得以体现第74页,课件共105页,创作于2023年2月75南京大学软件学院软件平台的功能要求(续5)行业标准的安全机制:应提供四级安全措施,即验证、存取控制、字段级加密和电子签名验证。验证是保障某一用户身份被可靠认定的手段。验证过程是双向进行的,即,服务器要检验用户的身份,用户也要检验服务器的身份。无论何时用户和服务器或两个子服务器之间开始通讯之前,系统都需要进行验证存取控制。存取控制表(ACL)规范了什么人可以以什么方式(例如,创建、读、写、删除等)访问什么样的资源。ACL控制的资源包括服务器、数据库、数据库内的文档和文档的字段。包括下列级别存储者。只能向数据库内写内容读者。只能读数据库的内容作者。可以创建新的文档和读其他文档,但是不能修改数据库中已经存在的文档第75页,课件共105页,创作于2023年2月76南京大学软件学院软件平台的功能要求(续6)编辑者。可以读、写和修改数据库中的文档设计者。可以更新改变数据库的设计和结构管理者。“拥有”数据库,并且可以对ACL增加或删除用户字段级加密。有时用户需要将文档的某些字段与一部分用户共享,而限制另一部分用户对这些字段的访问。加密采用了编码技术使得被限制的用户无法理解文档相应字段的意义,在四个层次上进行邮件级。个人邮件可以被加密网络级。网络侵入者看到的数据将是杂乱无章、无法理解的字段级。数据库可以设计成加密某些字段。这样只有指定的用户才能看到这些字段的正确内容第76页,课件共105页,创作于2023年2月77南京大学软件学院软件平台的功能要求(续7)数据库级。数据库的加密可以保护存放在本地硬盘上的文件信息不被别人窃取,因为只有持合法用户ID和口令的人才能正常地打开该数据库文件电子签名。用户希望收到的邮件确为邮件上的作者所发出,电子签名可以保障这一点。是一种用户对用户的授权机制,还保障了邮件在传输过程中未被篡改对实时访问企业数据的支持具有与后台数据库和业务处理系统的集成的能力。使用户可以利用已有系统的投资,将丰富的信息安全地发送到Intranet或Internet之上多平台支持:服务器可以运行在绝大部分流行的系统操作平台之上,包括第77页,课件共105页,创作于2023年2月78南京大学软件学院软件平台的功能要求(续8)MicrosoftWindowsNT4.0(Intel)IBMAIX4.3.1HP-UX11.0SunSolaris2.6(SPARC)IBMOS/2WarpServer4IBMAS/400V4R2以上IBMS/390V2R6以上可靠、可用、可伸缩的服务器结构能够通过对服务器基本结构的改进和优化,有效地提高了数据库的稳定性和服务器的效率。优化了服务器内存的使用,输入/输出及其它一些性能,如索引、邮件路由、姓名查找等,改进了系统的可用性和可伸缩性第78页,课件共105页,创作于2023年2月79南京大学软件学院软件平台的功能要求(续9)无限制的数据库容量。数据库应具有可伸缩性,大小被设计为无限制。事务处理日志。支持事务处理日志是保证数据稳定存储的行业标准技术。事务处理日志为每一个写操作提供了一个连续的文件。事务处理日志记录了每一次对磁盘的写操作(并不仅是对内存)。还可以在系统故障时执行系统重启并仅对那些在故障后有改动的数据库运行,而不是针对所有数据库快速重启和恢复。由于在服务器重启之前数据库不再需要修补,在系统故障后能够快的重新启动。改进的可伸缩性。伸缩性方面的改进包括:数据库的大小限制和每个服务器支持的用户多种开发工具的选择:能够为不同层次的用户提供不同层面的开发工具第79页,课件共105页,创作于2023年2月80南京大学软件学院软件平台的功能要求(续10)简单、方便和系统管理能够提供多种系统管理方式,包括UNIX工作站使用的服务器终端命令方式。提供一个直观的、容易使用的界面,一般的管理任务如移动一个用户等,均可通过拖放完成。新的服务器监控功能帮助用户有效地监控和管理整个系统,使系统管理员可以集中配置、管理和强制用户界面的设置。表现为安装/设置的改进。服务器的安装与设置更加简化,只需几分钟即可完成安装界面提供行业标准的安装特性。包括允许修改、提供标准安装和用户自定义安装选项等注册的升级用户。在用户使用注册对话框进行注册时将用户E-mail系统自动升级自动的客户端设置。系统管理员可以集中设置客户端连接的服务器并配置用户的桌面第80页,课件共105页,创作于2023年2月81南京大学软件学院软件平台的功能要求(续11)增强的服务器设置简表。允许系统管理员生成服务器简表,并将其放到远程站上,从而可以远程控制服务器设置和运行多样的系统管理。系统管理方式更加多样化基于游览器的管理。用户可以使用Web游览器来管理服务器,管理员可以检查服务器状态、启动和停止服务器上运行的服务,或者统计工作有一个直观的、面向任务的界面,通过窗口方式全面执行系统管理员的所有任务Telnet上服务器控制台。对于UNIX服务器,支持Telnet上服务器的控制台,从远程键入服务器命令控制和管理服务器控制台批处理命令。可以从一个批处理文件中给出多条服务器命令第81页,课件共105页,创作于2023年2月82南京大学软件学院电子政务系统平台选型在电子政务系统应用的发展过程中,先后出现过:主机模式(M/T模式)、文件服务器模式(F/W模式)、客户/服务器(C/S模式)、浏览器/服务器模式(B/S)主机模式基于多用户主机,主要由主机和终端组成。从20世纪60年代到20世纪80年代期间占据应用的主导地位文件服务器模式基于PC机组成的局域网络,是由一个文件服务器和网络工作站构成一个分散的、文件共享的网络平台。在20世纪80年代较为流行第82页,课件共105页,创作于2023年2月83南京大学软件学院电子政务系统平台选型(续1)客户/服务器模式是20世纪90年代推出的。是由不同机型通过局域网互联构成的分布式系统平台,适用于小型、中型和大型MIS系统浏览器/服务器模式(Browser/webServer,B/S)是20世纪90年代末推出的,是分布式处理方式,基于web浏览器、web服务器、数据库服务器,由网络的表示层、应用层和数据链路层组成。目前已成为应用的主流电子政务系统平台平台选型分析,是在客户/服务器(Client/Server)、浏览器/服务器环境下对网络操作系统、基于网络的数据库管理系统和网络服务器进行的选型分析第83页,课件共105页,创作于2023年2月84南京大学软件学院电子政务系统平台选型(续2)C/S结构与B/S结构C/S结构:CIient/Server结构即客户/服务器结构,是网络软件运行的一种形式。通常采用C/S结构的系统,有一台或多台服务器以及大量的客户。服务器配备大容量存储器并安装数据库系统,用于数据的存放和数据检索;客户端安装专用软件,负责数据的输入、运算和输出。客户/服务器计算模式定义了台式机如何与服务器相连,以实现数据和应用的共享,并利用台式机的处理能力将数据和应用分布到多个处理机上,这种模式被用于工作组和部门的资源共享第84页,课件共105页,创作于2023年2月85南京大学软件学院电子政务系统平台选型(续3)客户/服务器体系结构可用于局域网、广域网和因特网,这三种网络用途迥异,却具有一个共同特点,即工作负载在服务器和客户机之间进行分配。每种网络中,客户机实际上是一个“需要什么”的程序,一般要求服务(包括打印、信息检索和数据库访问);服务器则是“提供什么”的程序,负责处理客户机的要求。一个客户机可以向许多不同的服务器请求,而一个服务器也可以向多个不同的客户机提供服务客户机只负责发送请求,显示结果,所以工作负荷较轻,通常用“瘦客户”来描述客户机相对较少的工作负荷。服务器的工作负荷却很重,除了接受和解释客户机的请求外,还要寻找信息、重新处理信息、要求对资源进行初始化,所以通常要求服务器是可靠的、配置高端的,有巨大的磁盘容量、容错的处理器和巨大的存储器第85页,课件共105页,创作于2023年2月86南京大学软件学院电子政务系统平台选型(续4)采用这种结构的系统目前应用非常广泛。如宾馆、酒店的客房登记、结算系统、银行、邮电的网络系统等。C/S结构的系统一般都是非开放的优点是数据具有很高的稳定性和可靠性缺点是发展难度大,实用性、可移植性差,客户端软件和服务器端软件只能工作在特定的硬件平台和操作系统环境下,开发、维护成本高昂第86页,课件共105页,创作于2023年2月87南京大学软件学院电子政务系统平台选型(续5)B/S结构:Browser/Server即浏览器/服务器结构,该结构在20世纪90年代末期开始盛行,是目前最流行的网络软件系统结构随着因特网上的多媒体技术越来越来成熟、交互性越来越强,浏览器功能越来越强大,在许多场合下,浏览器可以取代C/S结构中的客户端软件。也就是说,开发商可以遵循一定规则,开发一套运行于服务器的网络软件,在客户端可以直接使用浏览器进行数据的输入和输出,而不必为客户端开发特定的软件,C/S结构就演变成为B/S结构由于因特网是一个开发的网络环境,只要软件开发商遵循因特网允许的数据格式(HTML,XML,ASP,CCI等)开发软件,该软件则在任何一台能够运行浏览器的客户机上都能够使用第87页,课件共105页,创作于2023年2月88南京大学软件学院电子政务系统平台选型(续6)网上炒股或者是电子商务是典型的B/S系统最大的好处是用户不需要安装专用程序,只需要具备上网的条件即可B/S技术的优势在于:基于开放的、非专用的标准:B/S技术所基于的标准是经标准化组织指定而非单一厂商指定的较低的应用开发及管理成本:B/S技术的成本较为低廉,一般只需安装、配置在服务器上,在客户机上的工作较少对信息及应用系统的自由访问:信息和应用系统可通过WWW浏览器进行访问,几乎所有的客户均可自由地、主动地访问信息和系统主动服务的信息系统:每个用户在信息系统上可以各取所需,自由地访问信息和系统较低的培训成本:浏览器的技术简明易用,一旦用户掌握了,也就掌握了运用系统上各种信息资源的钥匙第88页,课件共105页,创作于2023年2月89南京大学软件学院电子政务系统平台选型(续7)两层客户机/服务器结构:早期网络应用中,表示层和业务逻辑层没有分开,都位于客户端,数据层位于服务器端,逻辑上是两层的,即所谓的两层客户/服务器结构客户机方软件的主要功能是处理与用户的交互、按照某种应用逻辑进行处理和发送数据库访问请求;服务器端软件的主要功能是根据客户方软件的请求进行数据库操作,然后,将结果传送给客户方软件客户方软件与服务方软件之间的通信主要是通过数据库查询语言(SQL)优势在于对数据集中处理,用户之间可以共享数据库资源第89页,课件共105页,创作于2023年2月90南京大学软件学院电子政务系统平台选型(续8)但是也存在缺点:两层结构应用软件的开发工作主要集中在客户端,客户端软件不但要完成用户交互和数据显示的工作,而且还要完成对应用逻辑的处理工作,即用户界面与应用逻辑位于同一个平台上。带来了两个突出的问题:系统的可伸缩性较差和安装维护困难在一个系统中并不是所有用户的需求都相同,因此要求程序的功能也不尽相同,开发人员提供给所有用户的两层结构应用软件却是相同的。除非开发人员根据不同用户的需求将软件裁剪成不同的小软件分发系统开发完成整个系统的安装也非常复杂。在某一台客户机上不但要安装应用程序,而且必须安装相应的数据库连接程序,还要完成系统配置工作。如果系统有大量用户,并且用户是分布的和流动的,如广域网环境下的应用系统,那么整个系统的安装将非常困难。而系统修改后,所有客户机上的应用软件都会受到影响第90页,课件共105页,创作于2023年2月91南京大学软件学院电子政务系统平台选型(续9)三层客户/服务器结构:为克服两层客户/服务器结构的缺陷,将业务逻辑层与表示层分离,在数据库服务器和客户端之间增加应用服务器,既是中间层,构建三层客户/服务器结构真正实现逻辑上的三层将有效地提高大型系统的可扩展性与可靠性。三层结构的业务逻辑层可以实现对其他两层——客户机与服务器端的通讯管理,从而迅速合理地满足系统负载均衡、分布处理,也减轻了客户机的负担负载均衡就是如何将客户机的服务请求均匀地分配到各个服务器上,使服务器的计算能力得到均匀的利用将应用服务器作为中间层组件,称为中间件。这是解决大容量复杂业务应用的有效手段,是提高系统容错能力和扩展能力的保证。对于复杂的业务应用处理,中间件技术可将其进行逻辑和物理分割,分成一个个组件,并根据系统资源的使用情况分配到不同的接点上执行,实现分布式并开发处理和负载均衡第91页,课件共105页,创作于2023年2月92南京大学软件学院电子政务系统平台选型(续10)通过逻辑分割可将复杂的业务应用分成多个可重复使用的对象和组件,分别完成一个个单独的功能,使业务处理的每个功能软件的开发和设计相互独立,程序管理简单,对某个对象的修改不影响其他对象应用,运行时还可以统一调度并同时运行。可以对系统的性能动态配置、监视和管理表述逻辑(客户)为第一层表现层。主要功能是实现用户交互和数据表示,为以后的处理收集数据,向第二层的业务逻辑请求调用核心服务处理,并显示处理结果。功能的实现以使用图形化的工具软件为主业务逻辑(服务器组件)为中间层。这些组件由中间件管理,实现核心业务逻辑服务,管理并接受客户的服务请求,向资源管理器提交数据操作,并将处理结果返回请求者——客户或其他服务器数据构成模型的第三层数据层,比如关系型数据库,负责管理应用系统的数据资源,完成数据操作。服务器组件在完成服务的过程中通过资源管理器存取它管理的数据,或者说请求资源管理器的数据服务第92页,课件共105页,创作于2023年2月93南京大学软件学院电子政务系统平台选型(续11)三层客户/服务器结构具有以下优点具有灵活的硬件系统构成:对于各个层可以选择与其负载和处理特性相适应的硬件,这是一个与系统可缩放性直接相关的问题。如最初用一台UNIX工作站作为服务器,将数据层和中间层都配置在这台服务器上,随着业务发展、用户数和数据量逐渐增加,就可以将UNIX工作站作为中间层的专用服务器,追加一台专用于数据层的服务器。若业务进一步扩大,用户数进一步增加,则继续增加中间层的服务器数目,用以分割数据库。清晰、合理地分割三层结构并使其独立,可以使系统构成的变更非常简单,被分成三层的应用基本上不需要修正提高了程序的可维护性:各层的应用可以并行开发,各层也可以选择各自最适合的开发语言第93页,课件共105页,创作于2023年2月94南京大学软件学院电子政务系统平台选型(续12)可以进行严密的安全管理:在三层应用中,对应用的使用和对数据的存取权限可以按层进行设定。假设入侵者突破了表示层的安全防线,如果在中间层中备有另外的安全机构,也可以防止入侵者进入其他部分多层B/S结构是由三层C/S结构转化而来的,将WWW浏览器作为表示层,将大量的业务处理程序放在应用服务器上作为中间层,而将数据库放在数据库服务器上作为数据层。WWW服务器在逻辑上是独立的,但在物理上它既可以是一个独立的服务器,也可以与应用服务器一起放在同一个服务器中,构成多层B/S结构第94页,课件共105页,创作于2023年2月95南京大学软件学院电子政务系统平台选型(续13)C/S、B/S、B/S与C/S混合模式分析C/S模式的优点与缺点C/S模式可以实现分布的处理与集中的数据管理相结合,同时数据安全强,通讯速度快;人机交互灵活方便,并可以实现数据的快速传递和安全存储,但在远程管理方面存在不足B/S模式的优点与缺点B/S模式有利于系统集成与扩展,处理数据量大、数据查询灵活、可提供远程的数据服务和管理,但在数据的交互性、安全性、动态服务和图形显示方面有所不足第95页,课件共105页,创作于2023年2月96南京大学软件学院电子政务系统平台选型(续14)B/S与C/S混合模式如果把两种模式结合起来,那么如果MIS系统对安全性高、交互性强、处理数据量大、数据查询灵活、地点固定的小范围内使用时,应首先考虑C/S模式如果在安全性和交互性要求不高,地点灵活的广域范围内,应首先考虑使用B/S模式将二者结合,发挥各自的长处,是目前应用的趋势第96页,课件共105页,创作于2023年2月97南京大学软件学院网络操作系统选型分析目前较为流行的三种网络操作系统是UNIX、Netware和WindowsNT,从体系结构、操作能力、优先任务能力、网络协议支持、安全性、兼容性、语言处理能力、产品成熟性、产品市场占有率方面的比较这三种网络操作系统任何一种系统平台的优势都是相对的。平台选型正确只能保证软硬件投资方向正确,并不意味着应用系统开发的最终成功一个选型正确的平台,能否在电子政务系统中真正发挥优势,还取决于系统功能结构、数据结构、平台结构和网络体系结构的整体设计水平第97页,课件共105页,创作于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论