信息系统监理师教程PPT(第三篇19-24章).ppt
《信息系统监理师教程PPT(第三篇19-24章).ppt》由会员分享,可在线阅读,更多相关《信息系统监理师教程PPT(第三篇19-24章).ppt(345页珍藏版)》请在三一办公上搜索。
1、信息应用系统工程监理,报告人:王宝会信息产业部信息化专家,信息应用系统建设监理课程计划,第一讲 信息应用系统建设基础知识第二讲信息应用系统监理工作第三讲准备阶段的监理工作第四讲分析设计阶段监理第五讲实施阶段监理第六讲验收阶段的监理工作,第一讲 信息应用系统建设基础知识,在本讲中您能了解如下知识点:第一章软件的概念、特点和分类第二章软件工程第三章软件配置管理第四章软件测试第五章软件评审第六章软件维护第七章软件工程标准第八章软件开发文档第九章软件工业化生产时代的基础技术和方法,第一章 软件的概念、特点和分类,“确立并使用正确的工程原理和方法,以便能够经济地获得可靠而有效的软件”。Friedrich
2、 I.Bauer,软件的概念,软件是与计算机系统的操作有关的程序、规程、规则及与之有关的文档。软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。,软件的构成要素,1、程序2、规程3、规则4、文档,软件的特点,具有抽象性、严密性、“一次性”、智能性、持久性、依赖性、复杂性、难以度量、易出错、必须维护、成本昂贵等特点。(1)软件是一种逻辑实体,具有抽象性。(2)对软件的质量控制:必须着重在软件开发方面下功夫。(3)软件没有老化问
3、题:然而它存在退化问题。(4)软件的开发和运行存在:移植的问题。(5)软件的开发方式:手工。(6)软件本身是复杂的:实际问题,程序逻辑结构所决定的。(7)软件成本昂贵:投入大量、复杂、高强度的脑力劳动。,源程序、执行程序,高级语言源程序经编译后,得到的目标模块还需进行连接。连接程序(即Linker)找出需要连接的外部模块并到模块库中找出被调用的模块,调入内存并连接到目标模块上,形成可执行程序。,软件的分类方法,按软件的功能进行划分:系统软件 支撑软件 应用软件在信息系统工程建设中,系统软件和支撑软件通常为外购软件,应用软件通常为承建单位自主开发或分包开发的软件。按软件服务对象的范围划分:项目软
4、件 产品软件 按软件规模进行划分:按开发软件所需的人力、时间以及完成的源程序行数,可确定六种不同规模的软件。按软件工作方式划分:实时处理软件 分时软件 交互式软件 批处理软件按使用的频度进行划分:一次使用 较高的使用频度按软件失效的影响进行划分:影响不大 影响酿成灾难性后果,软件的分类方法,按技术特点的角度进行划分:业务软件:处理日常业务,已成为管理信息系统MIS科技计算软件:注重数值算法的速度和精度。目前转向多机协作计算、并行计算、可视计算等嵌入式(embeded)软件:使工业产品自动化、智能化实时(real-time)软件多用于工业控制系统个人计算机软件:字处理、报表、制图、多媒体写作、娱
5、乐游戏、个人数据库、个人财务、联机上网等人工智能软件:以非数值算法解题,一般有一知识库存放知识和规则。,软件工程是一类求解软件的系统工程的派生,软件工程是一门交叉性学科。软件工程这一概念,主要是针对20世纪60年代“软件危机”而提出的。其主要成果有:提出了瀑布模型,开发了一些结构化程序设计语言、结构化方法等。并且围绕项目管理提出了费用估算、文档复审等方法和工具,第二章 软件工程概述,70年代初,自“软件工厂”这一概念提出以来,其主要成果有:提出了应用广泛的面向对象语言以及相关的面向对象方法。尤其是近几年来,针对软件复用及软件生产,软件构件技术以及软件质量控制技术、质量保证技术得到了广泛的应用。
6、,软件工厂,软件工程框架,软件工程的框架是由软件工程目标、软件工程活动和软件工程原则三个方面的内容组成。,由上图可以看出软件工程可定义为三元组:目标,原则,活动 其中目标定义为:正确性:软件产品达到预期功能的程度。可用性:软件基本结构、实现及文档为用户可用的程度。开销适宜性:软件开发、运行的整个开销满足用户要求的程度。这三方面的特性决定了软件过程、过程模型和工程方法的选择。,软件工程目标,选取适宜开发范型。对需求定义的易变性,采用适宜的开发范型予以控制,以保证软件产品满足用户的要求。采用合适的设计方法。合适的设计方法有助于这些特征的实现,以达到软件工程的目标。提供高质量的工程支持。在软件工程中
7、,软件工具与环境对软件过程的支持颇为重要。重视开发过程的管理。当软件过程得以有效管理时,才能实现有效的软件工程。,软件工程原则,软件工程活动是“生产一个最终满足需求且达到工程目标的软件产品所需要的步骤”。主要包括需求、设计、实现、确认以及支持等5个活动。需求活动包括问题分析和需求分析。问题分析获取需求定义。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件体系结构。详细设计产生程序员可用的模块说明。实现活动CODING AND TESTING。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。支持活动包括修改和完善。维护。,软件工程活动,需求
8、:定义问题,即建立系统模型,主要任务包括:需求获取需求定义,系统功能的一个正确的陈述 需求规约系统需求规格说明,其主要成分:系统模型、系统功能的一个精确、系统的描述及需求验证。设计:在需求分析的基础上,给出系统的软件解决方案。1)总体设计:系统的软件体系结构 2)详细设计:针对总体设计结果,给出每一构件的详细描述。实现:选择可用的构件或语言,对每一构件进行编码。确认:贯穿软件开发的整个过程,主要任务是:软件测试。支持:完善性维护、纠错性维护。,软件工程流程,软件生存周期,软件生存周期是“从设计软件产品开始到软件产品不能再使用为止的时间周期。软件生存周期典型地包括项目计划阶段,需求阶段,设计阶段
9、、实现阶段、测试阶段、安装和验收阶段、运行和维护阶段,有时还包括引退阶段。,确定要开发软件系统的总目标,给出它的功能、性能、可靠性及接口等方面的要求;根据有关成本与进度的限制分析项目的可行性,探讨解决问题的可能方案;制定完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。,软件项目计划,需求分析和定义方式:需求明确的:用正式的信息域分析,可用于建立信息流和信息结构的模型,然后逐渐扩充这些模型成为软件的规格说明。需求非明确:用软件原型化方法,即建立软件原型,并由用户进行评价,从而确定软件需求。编写出软件需求说明书及初步的用户手册,提交管理机构评审。,软件需求分析,概要设计,把已确定了的
10、各项需求转换成一个相应的体系结构,以结构设计和数据设计开始,建立程序的模块结构,定义接口并建立数据结构。此外,要使用一些设计准则来判断软件的质量。详细设计,考虑设计每一个模块部件的过程描述,对每个模块要完成的工作进行具体的描述。编写设计说明书,提交评审。,软件设计分为概要设计和详细设计,系统设计是把需求转化为软件系统的最重要的环节。系统设计的优劣在根本上决定了软件系统的质量。就象“一切帝国主义都是纸老虎”那样可以断定“差的系统设计必定产生差的软件系统。”所以我们要努力保证系统设计“根正苗红”,把一切左倾、右倾的设计思潮消灭在萌芽状态。,保证系统设计“根正苗红”,Windows NT的一位系统设
11、计师拥有8辆法拉利跑车,让Microsoft公司的一些程序员十分眼红。但你只能羡慕而不能愤恨,因为并不是每个程序员都有本事成为复杂软件系统的设计师。系统设计要比纯粹的编程困难得多。即便你清楚客户的需求,却未必知道应该设计什么样的软件系统既能挣最多的钱又能让客户满意。,神气的软件设计师,用一种适当的程序设计语言把软件设计转换成计算机可以接受的程序代码。应当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详细设计描述。,程序编码,软件测试,软件测试的主要任务是发现并排除在软件需求分析、设计和实现阶段产生的各种错误,以保证交付软件的质量。软件测试目的是“在一定的开发时间和经费的限制下,通过执行
12、有限个测试过程,尽可能多的发现软件中的错误。,单元测试检查每一单独的模块部件的功能和性能。组装测试提供了构造软件模块结构的手段,同时测试其功能和接口。确认测试检查所有的需求是否都得到满足。在每一个测试步骤之后,要进行调试,以诊断和纠正软件的故障。,软件测试,软件测试的基本原则,1、程序员或程序设计机构不应测试自己设计的程序2、在设计测试用例时,不仅要确定输入数据,还要确定预期的输出结果3、在设计测试用例时,不仅要考虑合理的输入数据,还要考虑不合理的输入数据。4、除了检查程序是否做了它应当做的事情之外,还应检查它是否做了不应当做的事5、应保留所有的测试用例,以便软件维护和回归测试6、模块中存在错
13、误的概率与已发现的错误数成正比7、严格执行测试计划,排除测试的随意性,例:Outlook溢出,起源于vCard(一种电子名片)Outlook直接打开并运行附件中的vCards而不提示用户vCards存储于.vcf文件中,也是没有提示而直接运行的当vCards的生日字段(BDAY)超过55字符时,就会出现溢出对策:应用IE 5.5 sp2,已交付的软件投入正式使用,并在运行过程中进行适当的维护。为改正错误,适应环境变化及功能增强而进行的一系列修改活动。与软件维护相关联的那些任务依赖于所要实施的维护的类型。,运行维护,软件开发模型是软件建设过程的结构框架。软件开发的承建单位必须首先制定出适宜的开发
14、策略和软件工程模型,以便对要交付的软件的开发过程实施有效的控制和管理。监理单位应该根据承建单位选定的模型制定自己的监理策略。承建单位可根据软件开发项目的具体情况选择采用何种开发策略、方法和模型,并要在有关文档中(例如在“项目开发计划”中)对所采用的软件工程方法与模型加以说明。,软件开发模型,规定了各项软件工程活动,包括:制定开发计划,进行需求分析和说明,软件设计,程序编码.测试及运行维护,并且规定了它们自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落,瀑布模型,瀑布式生存周期模型,软件开发的实践表明,上述各项活动之间并非完全是自上而下,呈线性图式。实际情况是,每项开发活动均处于一个质量环(
15、输入-处理-输出-评审)中。只有当其工作得到确认,才能继续进行下一项活动 瀑布模型的开发策略是要求软件开发组织在进行软件开发时,要严格划分开发过程的每一个阶段,并根据工程化的有关规定,在“软件开发计划”及“软件质量保证计划”中反映每个阶段的活动。对每阶段的工作要进行认真的评审。只有在某个阶段的目标确实达到后,才能进入下一阶段的工作。瀑布模型为软件开发和软件维护提供了一种理想情况下的管理模式,从理论上讲,对需求能严格地进行预先定义的软件开发项目是合适和有效的。然而在软件工程实践中,这一开发策略一旦遇到与假设不相符合的情况,就容易导致失败。尽管如此,该模型仍不失为一个很好的基准模型。事实上,在今天
16、的软件工程实践中常常都是以瀑布模型为基础综合采用其它各种模型的优点,以改善软件开发过程对现实情况的适应性。,瀑布模型,原型模型也称演化模型,此方法主要针对所要开发的系统的需求不是很清楚,需要一个可实际运行的工作演示系统,即原型,作为软件开发人员和用户学习、研究、试验和确定软件需求的工作平台。原型模型又可细分为增量模型和渐进模型。,原型模型,快速分析。快速确定软件系统的基本要求。构造原型。尽快实现一个可运行的系统。运行和评价原型。验证原型的正确程度,根据用户的新设想,提出全面的修改意见。修正和改进。首先修改并确定需求规格说明,然后再重新构造或修改原型。判定原型是否完成。如果用户认可,迭代过程可以
17、结束。否则,继续迭代。判断原型细部是否说明。原型细部的说明。判定原型效果。整理原型和提供文档。,原型化开发方法步骤,对于需求不能很快全部明确的系统,软件开发项目难于做到一次开发成功,可使用此模型。此时,应尽可能明确已知的软件需求,完成相应的需求分析,并按瀑布模型的方法进行第一次开发工作。在系统集成时,通过实验找出需求中的欠缺和不足之处,明确那些未知的软件需求,再迭代进行增加部分的需求分析和开发。对有些系统这种反复可能要进行几次,但尽可能不要超过两次,否则难以控制软件的结构规模、开发质量和进度。,增量模型,此模型主要是针对部分需求尽管明确但一时难以准确进行定义的系统设计。如:用户的操作界面等。使
18、用此模型时,可以先做初步的需求分析,之后立即进行设计和编码,随后与系统进行第一次集成(不作或少作测试)。根据集成后反映的问题,进一步做更全面的需求分析、设计、编码、测试和集成,渐进模型,对于复杂的大型软件,开发一个原型往往达不到要求。螺旋模型将瀑布模型与演化模型结合起来,并且加入两种模型均忽略了的风险分析。螺旋模型沿着螺线旋转,如下图所示,在笛卡尔坐标的四个象限上分别表达了四个方面的活动,即:制定计划确定软件目标,选定实施方案,弄清项目开发的限制条件;风险分析分析所选方案,考虑如何识别和消除风险;实施工程实施软件开发客户评估评价开发工作,提出修正建议。沿螺线自内向外每旋转一圈便开发出更为完善的
19、一个新的软件版本。,螺旋模型,螺旋模型,螺旋模型是软件开发的高级策略,它不仅适合结构化方法而且更适合面向对象方法。它的实施将对软件开发组织的工作模式、人员素质、管理和技术水平产生深远的影响,是最有前途的过程模型之一。(适用于产品开发),螺旋模型,喷泉模型对软件复用和生存周期中多项开发活动的集成提供了支持,主要支持面向对象的开发方法。“喷泉”一词本身体现了迭代和无间隙特性。系统某个部分常常重复工作多次,相关功能在每次迭代中随之加入演进的系统。所谓无间隙是指在开发活动,即分析、设计和编码之间不存在明显的边界,喷泉模型,配置管理项在软件生存周期内所产生的各种管理文档和技术文档、源代码列表,及其可执行
20、代码,以及运行所需的各种数据,构成软件配置管理项。配置管理库各系统应在其所属各级中建立下列各库:开发库(DL)通常,开发库可仅在项目开发组内设立,并由其负责维护。受控库(CL)通常,受控库以软件配置项为单位建立并维护。产品库(PL 通常,产品库可在系统、子系统级上设立并维护。各类库中应存放哪些软件成分,应视所开发软件的实际情况酌定。,第三章 软件配置管理,质量要求软件配置管理项是该软件的真正实质性材料,因此必须保持正确性、完备性和可追踪性;任何软件配置管理项都必须做到“文实相符、文文一致”。以满足“有效性”、“可见性”和“可控性”要求。管理规程软件配置项不论大小都必须实施软件配置管理。但所管软
21、件实体的多少,实施控制的方式和投入人力多少则与软件配置项的规模等级、安全性关键等级,以及风险大小有关。必须指出,对于安全性关键等级为A、B级的软件配置项的管理必须从严。每个计算机系统均应制定软件配置管理规程,至少应明确规定:各级、各库中所管的软件实体的清单;保证安全性、可靠性、保密性、正确性、完备性、一致性和可追踪性的具体措施;入库控制办法和审批手续;出库条件及其必备的手续;变更控制办法和审批手续。工具为了严格、有效地实施软件配置管理,承建单位应使用软件配置管理工具,以满足上述质量要求。(VSS),第三章 软件配置管理,第四章 软件测试,测试目的:通过测试,发现软件错误;验证软件是否满足软件需
22、求规格说明和软件设计所规定的功能、性能及其软件质量特性的要求;为软件质量的评价提供依据。软件测试技术:虽然软件测试技术在不断地发展,但传统的分类方法仍然适用。按使用的测试技术不同可以将测试分为:静态测试:静态分析和代码审查动态测试:白盒测试和黑盒测试。,静态分析主要对程序进行控制流分析、数据流分析、接口分析和表达式分析等。静态分析一般由计算机辅助完成。目前具备静态分析功能的软件测试工具有很多。白盒测试是一种按照程序内部的逻辑结构和编码结构设计并执行测试用例的测试方法。根据覆盖准则使程序中的每个语句、每个条件分支、每个控制路径都在程序测试中受到检验。主要以LOG。黑盒测试是一种着重于验证软件功能
23、和性能的正确性,它的典型测试项目包括功能测试、性能测试、边界测试、余量测试、强度测试等。,软件测试方式,制定“软件测试计划”。编写“软件测试说明”。对各测试用例所需的测试环境、测试软件的准备工作给予说明。对于软件安全性关键等级为A、B级或软件规模等级为A、B级的软件,软件开发单位必须组织此测试阶段的准备就绪评审,以审查测试用例、环境、测试软件、测试工具等准备工作是否全面、到位。测试用例设计要求:测试用例的设计应包括该测试用例的测试过程、测试输入数据、期望测试结果和评价测试结果的标准等;测试用例的输入应包括合理的(有效等价类)值、不合理的(无效等价类)值和边界值输入;为每个测试用例规定测试规程,
24、包括运行测试用例的准备、初始化、中间步骤、前提和约束;,软件测试工作规程,把全部测试用例写入“软件测试说明”。执行软件测试。按照“软件测试计划”和“软件测试说明”对软件进行测试。在测试过程中,应填写“软件测试记录”。如果发现软件问题,应填写“软件问题报告单”。测试记录包括测试的时间、地点、操作人、参加人、测试输入数据、期望测试结果、实际测试结果及测试规程等。编制“软件测试报告”。具体的软件测试工作完成之后,依照“软件测试计划”、“软件测试说明”、“软件测试记录”对测试结果进行统计、分析和评估,在此基础上编制“软件测试报告”。修正软件测试过程中发现的问题。修正软件问题要有受控措施,应先填写“软件
25、变更变更报告单”,在得到同意的答复之后进行软件的修改(包括软件文档、程序和数据的全面修改),修改完成之后,必须进行回归测试。软件测试阶段评审:测试阶段工作全部完成之后,应组织本测试阶段的评审。,软件测试工作规程,在软件生存周期各阶段应开展的软件测试活动,软件测试应由独立于软件设计开发的人员进行,根据软件项目的规模等级和安全性关键等级,软件测试可由不同机构组织实施。软件单元测试由承建单位自行组织,一般由软件开发组实施测试。软件集成测试由承建单位自行组织,软件开发组和软件测试组联合实施测试。软件确认测试由承建单位自行组织,软件测试组实施测试。系统测试应由业主单位组织,成立联合测试组(一般由专家组、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息系统 监理 教程 PPT 第三 19 24

链接地址:https://www.31ppt.com/p-2696576.html