您好,欢迎访问三七文档
信息系统监理师教程PPT信息应用系统建设监理课程计划??????第一讲信息应用系统建设基础知识第二讲信息应用系统监理工作第三讲准备阶段的监理工作第四讲分析设计阶段监理第五讲实施阶段监理第六讲验收阶段的监理工作第一讲信息应用系统建设基础知识在本讲中您能了解如下知识点:第一章软件的概念、特点和分类第二章软件工程第三章软件配置管理第四章软件测试第五章软件评审第六章软件维护第七章软件工程标准第八章软件开发文档第九章软件工业化生产时代的基础技术和方法第一章软件的概念、特点和分类―确立并使用正确的工程原理和方法,以便能够经济地获得可靠而有效的软件”。FriedrichI.Bauer软件的概念软件是与计算机系统的操作有关的程序、规程、规则及与之有关的文档。软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。软件的构成要素1、程序2、规程3、规则4、文档软件的特点具有抽象性、严密性、“一次性”、智能性、持久性、依赖性、复杂性、难以度量、易出错、必须维护、成本昂贵等特点。(1)软件是一种逻辑实体,具有抽象性。(2)对软件的质量控制:必须着重在软件开发方面下功夫。(3)软件没有老化问题:然而它存在退化问题。(4)软件的开发和运行存在:移植的问题。(5)软件的开发方式:手工。(6)软件本身是复杂的:实际问题,程序逻辑结构所决定的。(7)软件成本昂贵:投入大量、复杂、高强度的脑力劳动。源程序、执行程序?高级语言源程序经编译后,得到的目标模块还需进行连接。连接程序(即Linker)找出需要连接的外部模块并到模块库中找出被调用的模块,调入内存并连接到目标模块上,形成可执行程序。源程序.C目标程序可执行程序.obj连接.exe编译执行结果软件的分类方法按软件的功能进行划分:系统软件支撑软件应用软件在信息系统工程建设中,系统软件和支撑软件通常为外购软件,应用软件通常为承建单位自主开发或分包开发的软件。按软件服务对象的范围划分:项目软件产品软件按软件规模进行划分:按开发软件所需的人力、时间以及完成的源程序行数,可确定六种不同规模的软件。按软件工作方式划分:实时处理软件分时软件交互式软件批处理软件按使用的频度进行划分:一次使用较高的使用频度按软件失效的影响进行划分:影响不大影响酿成灾难性后果软件规模的分类类别参加人数研制期限产品规模(源程序行数)微型11~4周0.5k小型中型大型12~55~201~6月1~2年2~3年4~5年5~10年1k~2k5k~50k50k~100k1M(=1000k)1M~10M甚大型100~1000极大型2000~5000软件的分类方法按技术特点的角度进行划分:业务软件:处理日常业务,已成为管理信息系统MIS科技计算软件:注重数值算法的速度和精度。目前转向多机协作计算、并行计算、可视计算等嵌入式(embeded)软件:使工业产品自动化、智能化实时(real-time)软件多用于工业控制系统个人计算机软件:字处理、报表、制图、多媒体写作、娱乐游戏、个人数据库、个人财务、联机上网等人工智能软件:以非数值算法解题,一般有一知识库存放知识和规则。第二章软件工程概述?软件工程是一类求解软件的系统工程的派生,软件工程是一门交叉性学科。软件工程这一概念,主要是针对20世纪60年代“软件危机”而提出的。其主要成果有:提出了瀑布模型,开发了一些结构化程序设计语言、结构化方法等。并且围绕项目管理提出了费用估算、文档复审等方法和工具软件工厂?70年代初,自“软件工厂”这一概念提出以来,其主要成果有:提出了应用广泛的面向对象语言以及相关的面向对象方法。尤其是近几年来,针对软件复用及软件生产,软件构件技术以及软件质量控制技术、质量保证技术得到了广泛的应用。软件工程框架?软件工程的框架是由软件工程目标、软件工程活动和软件工程原则三个方面的内容组成。软件工程目标由上图可以看出软件工程可定义为三元组:目标,原则,活动其中目标定义为:1.正确性:软件产品达到预期功能的程度。2.可用性:软件基本结构、实现及文档为用户可用的程度。3.开销适宜性:软件开发、运行的整个开销满足用户要求的程度。这三方面的特性决定了软件过程、过程模型和工程方法的选择。软件工程原则1.选取适宜开发范型。对需求定义的易变性,采用适宜的开发范型予以控制,以保证软件产品满足用户的要求。2.采用合适的设计方法。合适的设计方法有助于这些特征的实现,以达到软件工程的目标。3.提供高质量的工程支持。在软件工程中,软件工具与环境对软件过程的支持颇为重要。4.重视开发过程的管理。当软件过程得以有效管理时,才能实现有效的软件工程。软件工程活动软件工程活动是“生产一个最终满足需求且达到工程目标的软件产品所需要的步骤”。主要包括需求、设计、实现、确认以及支持等5个活动。1.需求活动包括问题分析和需求分析。问题分析获取需求定义。需求分析生成功能规约。2.设计活动一般包括概要设计和详细设计。概要设计建立整个软件体系结构。详细设计产生程序员可用的模块说明。3.实现活动CODINGANDTESTING。4.确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。5.支持活动包括修改和完善。维护。软件工程流程需求:定义问题,即建立系统模型,主要任务包括:需求获取―-需求定义,系统功能的一个正确的陈述需求规约―-系统需求规格说明,其主要成分:系统模型、系统功能的一个精确、系统的描述及需求验证。设计:在需求分析的基础上,给出系统的软件解决方案。1)总体设计:系统的软件体系结构2)详细设计:针对总体设计结果,给出每一构件的详细描述。实现:选择可用的构件或语言,对每一构件进行编码。确认:贯穿软件开发的整个过程,主要任务是:软件测试。支持:完善性维护、纠错性维护。产品开发阶段产品开发项目流程开始产品评估阶段产品评估项目规划阶段产品开发工作规划需求访谈系统分析阶段软件品保阶段(一)软件设计阶段系统设计软件品保阶段(二)程序撰写系统分析程序撰写与单元测试阶段整合测试阶段软件品保阶段(三)系统测试统计技术统计技术应用阶段系统保固维护服务阶段系统维护阶段问题追踪与矫正阶段结束软件生存周期?软件生存周期是“从设计软件产品开始到软件产品不能再使用为止的时间周期。软件生存周期典型地包括项目计划阶段,需求阶段,设计阶段、实现阶段、测试阶段、安装和验收阶段、运行和维护阶段,有时还包括引退阶段。软件项目计划确定要开发软件系统的总目标,给出它的功能、性能、可靠性及接口等方面的要求;根据有关成本与进度的限制分析项目的可行性,探讨解决问题的可能方案;制定完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。软件需求分析需求分析和定义方式:需求明确的:用正式的信息域分析,可用于建立信息流和信息结构的模型,然后逐渐扩充这些模型成为软件的规格说明。需求非明确:用软件原型化方法,即建立软件原型,并由用户进行评价,从而确定软件需求。编写出软件需求说明书及初步的用户手册,提交管理机构评审。软件设计分为概要设计和详细设计?概要设计,把已确定了的各项需求转换成一个相应的体系结构,以结构设计和数据设计开始,建立程序的模块结构,定义接口并建立数据结构。此外,要使用一些设计准则来判断软件的质量。?详细设计,考虑设计每一个模块部件的过程描述,对每个模块要完成的工作进行具体的描述。编写设计说明书,提交评审。保证系统设计“根正苗红”?系统设计是把需求转化为软件系统的最重要的环节。系统设计的优劣在根本上决定了软件系统的质量。就象“一切帝国主义都是纸老虎”那样可以断定“差的系统设计必定产生差的软件系统。”所以我们要努力保证系统设计“根正苗红”,把一切左倾、右倾的设计思潮消灭在萌芽状态。神气的软件设计师?WindowsNT的一位系统设计师拥有8辆法拉利跑车,让Microsoft公司的一些程序员十分眼红。但你只能羡慕而不能愤恨,因为并不是每个程序员都有本事成为复杂软件系统的设计师。系统设计要比纯粹的编程困难得多。即便你清楚客户的需求,却未必知道应该设计什么样的软件系统——既能挣最多的钱又能让客户满意。程序编码用一种适当的程序设计语言把软件设计转换成计算机可以接受的程序代码。应当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详细设计描述。软件测试?软件测试的主要任务是发现并排除在软件需求分析、设计和实现阶段产生的各种错误,以保证交付软件的质量。?软件测试目的是“在一定的开发时间和经费的限制下,通过执行有限个测试过程,尽可能多的发现软件中的错误。软件测试?单元测试检查每一单独的模块部件的功能和性能。?组装测试提供了构造软件模块结构的手段,同时测试其功能和接口。?确认测试检查所有的需求是否都得到满足。在每一个测试步骤之后,要进行调试,以诊断和纠正软件的故障。软件测试的基本原则1、程序员或程序设计机构不应测试自己设计的程序2、在设计测试用例时,不仅要确定输入数据,还要确定预期的输出结果3、在设计测试用例时,不仅要考虑合理的输入数据,还要考虑不合理的输入数据。4、除了检查程序是否做了它应当做的事情之外,还应检查它是否做了不应当做的事5、应保留所有的测试用例,以便软件维护和回归测试6、模块中存在错误的概率与已发现的错误数成正比7、严格执行测试计划,排除测试的随意性例:Outlook溢出?起源于vCard(一种电子名片)?Outlook直接打开并运行附件中的vCards而不提示用户?vCards存储于.vcf文件中,也是没有提示而直接运行的?当vCards的生日字段(BDAY)超过55字符时,就会出现溢出?对策:应用IE5.5sp2运行维护已交付的软件投入正式使用,并在运行过程中进行适当的维护。为改正错误,适应环境变化及功能增强而进行的一系列修改活动。与软件维护相关联的那些任务依赖于所要实施的维护的类型。软件开发模型?软件开发模型是软件建设过程的结构框架。?软件开发的承建单位必须首先制定出适宜的开发策略和软件工程模型,以便对要交付的软件的开发过程实施有效的控制和管理。监理单位应该根据承建单位选定的模型制定自己的监理策略。?承建单位可根据软件开发项目的具体情况选择采用何种开发策略、方法和模型,并要在有关文档中(例如在“项目开发计划”中)对所采用的软件工程方法与模型加以说明。瀑布模型规定了各项软件工程活动,包括:制定开发计划,进行需求分析和说明,软件设计,程序编码.测试及运行维护,并且规定了它们自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落计划定义阶段需求分析设计开发阶段编码测试维护阶段运行.维护瀑布式生存周期模型用户需要系统分析系统规格说明书,可行性分析报告硬件需求分析软件需求分析软件规格说明书,软件项目计划,初步用户手册概要设计概要设计说明书详细设计设计说明书,测试大纲模块测试报告,源程序文档编程与测试测试各种测试报告使用维护退役瀑布模型?软件开发的实践表明,上述各项活动之间并非完全是自上而下,呈线性图式。实际情况是,每项开发活动均处于一个质量环(输入-处理-输出-评审)中。只有当其工作得到确认,才能继续进行下一项活动?瀑布模型的开发策略是要求软件开发组织在进行软件开发时,要严格划分开发过程的每一个阶段,并根据工程化的有关规定,在“软件开发计划”及“软件质量保证计划”中反映每个阶段的活动。对每阶段的工作要进行认真的评审。只有在某个阶段的目标确实达到后,才能进入下一阶段的工作。?瀑布模型为软件开发和软件维护提供了一种理想情况下的管理模式,从理论上讲,对需求能严格地进行预先定义的软件开发项目是合适和有效的。然而在软件工程实践中,这一开发策略一旦遇到与假设不相符合的情况,就容易导致失败。尽管如此,该模型仍不失为一个很好的基准模型。事实上,在今天的软件工程实践中常常都是以瀑布模型为基础综合采用其它各种模型的优点,以改善软件开发过程对现实情况的适应性。原型模型原型模型也称演化模型,此方法主要针对所要开
本文标题:信息系统监理师教程
链接地址:https://www.777doc.com/doc-2692882 .html