信息系统监理师教程

上传人:n**** 文档编号:53425392 上传时间:2018-08-31 格式:PPT 页数:344 大小:1.88MB
返回 下载 相关 举报
信息系统监理师教程_第1页
第1页 / 共344页
信息系统监理师教程_第2页
第2页 / 共344页
信息系统监理师教程_第3页
第3页 / 共344页
信息系统监理师教程_第4页
第4页 / 共344页
信息系统监理师教程_第5页
第5页 / 共344页
点击查看更多>>
资源描述

《信息系统监理师教程》由会员分享,可在线阅读,更多相关《信息系统监理师教程(344页珍藏版)》请在金锄头文库上搜索。

1、信息应用系统建设监理课程计划,第一讲 信息应用系统建设基础知识 第二讲信息应用系统监理工作 第三讲准备阶段的监理工作 第四讲分析设计阶段监理 第五讲实施阶段监理 第六讲验收阶段的监理工作,第一讲 信息应用系统建设基础知识,在本讲中您能了解如下知识点:第一章软件的概念、特点和分类 第二章软件工程 第三章软件配置管理 第四章软件测试 第五章软件评审 第六章软件维护 第七章软件工程标准 第八章软件开发文档 第九章软件工业化生产时代的基础技术和方法,第一章 软件的概念、特点和分类,“确立并使用正确的工程原理和方法,以便能够经济地获得可靠而有效的软件”。Friedrich I. Bauer,软件的概念,

2、软件是与计算机系统的操作有关的程序、规程、规则及与之 有关的文档。 软件是计算机系统中与硬件相互依存的另一部分,它是包括 程序,数据及其相关文档的完整集合。其中,程序是按事先 设计的功能和性能要求执行的指令序列;数据是使程序能正 常操纵信息的数据结构;文档是与程序开发,维护和使用有 关的图文材料。,软件的构成要素,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、软件需求。编写出软件需求说明书及初步的用户手册,提交管理机构评审。,软件需求分析,概要设计,把已确定了的各项需求转换成一个相应的体系结构,以结构设计和数据设计开始,建立程序的模块结构,定义接口并建立数据结构。此外,要使用一些设计准则来判断软件的质量。 详细设计,考虑设计每一个模块部件的过程描述,对每个模块要完成的工作进行具体的描述。编写设计说明书,提交评审。,软件设计分为概要设计和详细设计,系统设计是把需求转化为软件系统的最重要的环节。系统设计的优劣在根本上决定了软件系统的质量。就象“一切帝国主义都是纸老虎”那样可以断定“差的系统设计必定产生差的软件系统。”所以我们要努力保证系统设计“根正苗红

11、”,把一切左倾、右倾的设计思潮消灭在萌芽状态。,保证系统设计“根正苗红”,Windows NT的一位系统设计师拥有8辆法拉利跑车,让Microsoft公司的一些程序员十分眼红。但你只能羡慕而不能愤恨,因为并不是每个程序员都有本事成为复杂软件系统的设计师。系统设计要比纯粹的编程困难得多。即便你清楚客户的需求,却未必知道应该设计什么样的软件系统既能挣最多的钱又能让客户满意。,神气的软件设计师,用一种适当的程序设计语言把软件设计转换成计算 机可以接受的程序代码。应当就风格及清晰性对代 码进行评审,而且反过来应能直接追溯到详细设计 描述。,程序编码,软件测试,软件测试的主要任务是发现并排除在软件需求分

12、析、设计和实现阶段产生的各种错误,以保证交付软件的质量。 软件测试目的是“在一定的开发时间和经费的限制下,通过执行有限个测试过程,尽可能多的发现软件中的错误。,单元测试检查每一单独的模块部件的功能和性能。 组装测试提供了构造软件模块结构的手段,同时测试其功能和接口。 确认测试检查所有的需求是否都得到满足。 在每一个测试步骤之后,要进行调试,以诊断和纠正软件的故障。,软件测试,软件测试的基本原则,1、程序员或程序设计机构不应测试自己设计的程序 2、在设计测试用例时,不仅要确定输入数据,还要确定预期的输出结果 3、在设计测试用例时,不仅要考虑合理的输入数据,还要考虑不合理的输入数据。 4、除了检查

13、程序是否做了它应当做的事情之外,还应检查它是否做了不应当做的事 5、应保留所有的测试用例,以便软件维护和回归测试 6、模块中存在错误的概率与已发现的错误数成正比 7、严格执行测试计划,排除测试的随意性,例:Outlook溢出,起源于vCard(一种电子名片) Outlook直接打开并运行附件中的vCards而不提示用户 vCards存储于.vcf文件中,也是没有提示而直接运行的 当vCards的生日字段(BDAY)超过55字符时,就会出现溢出 对策:应用IE 5.5 sp2,已交付的软件投入正式使用,并在运行 过程中进行适当的维护。为改正错误, 适应环境变化及功能增强而进行的一系 列修改活动。

14、与软件维护相关联的那些 任务依赖于所要实施的维护的类型。,运行维护,软件开发模型是软件建设过程的结构框架。 软件开发的承建单位必须首先制定出适宜的开发策略和软件工程模型,以便对要交付的软件的开发过程实施有效的控制和管理。监理单位应该根据承建单位选定的模型制定自己的监理策略。 承建单位可根据软件开发项目的具体情况选择采用何种开发策略、方法和模型,并要在有关文档中(例如在“项目开发计划”中)对所采用的软件工程方法与模型加以说明。,软件开发模型,规定了各项软件工程活动,包括:制定开发计划,进行需求分析和说明,软件设计,程序编码.测试及运行维护,并且规定了它们自上而下,相互衔接的固定次序,如同瀑布流水

15、,逐级下落,瀑布模型,瀑布式生存周期模型,软件开发的实践表明,上述各项活动之间并非完全是自上而下,呈线性图式。实际情况是,每项开发活动均处于一个质量环(输入-处理-输出-评审)中。只有当其工作得到确认,才能继续进行下一项活动 瀑布模型的开发策略是要求软件开发组织在进行软件开发时,要严格划分开发过程的每一个阶段,并根据工程化的有关规定,在“软件开发计划”及“软件质量保证计划”中反映每个阶段的活动。对每阶段的工作要进行认真的评审。只有在某个阶段的目标确实达到后,才能进入下一阶段的工作。 瀑布模型为软件开发和软件维护提供了一种理想情况下的管理模式,从理论上讲,对需求能严格地进行预先定义的软件开发项目

16、是合适和有效的。然而在软件工程实践中,这一开发策略一旦遇到与假设不相符合的情况,就容易导致失败。尽管如此,该模型仍不失为一个很好的基准模型。事实上,在今天的软件工程实践中常常都是以瀑布模型为基础综合采用其它各种模型的优点,以改善软件开发过程对现实情况的适应性。,瀑布模型,原型模型也称演化模型,此方法主要针对所要开发的系统的需求不是很清楚, 需要一个可实际运行的工作演示系统,即原型,作为软件开发人员和用户学习、 研究、试验和确定软件需求的工作平台。 原型模型又可细分为增量模型和渐进模型。,原型模型,快速分析。快速确定软件系统的基本要求。 构造原型。尽快实现一个可运行的系统。 运行和评价原型。验证

17、原型的正确程度,根据用户的新设想,提出全面的修改意见。 修正和改进。首先修改并确定需求规格说明,然后再重新构造或修改原型。 判定原型是否完成。如果用户认可,迭代过程可以结束。否则,继续迭代。 判断原型细部是否说明。 原型细部的说明。 判定原型效果。 整理原型和提供文档。,原型化开发方法步骤,对于需求不能很快全部明确的系统,软件开发项目难于 做到一次开发成功,可使用此模型。此时,应尽可能明 确已知的软件需求,完成相应的需求分析,并按瀑布模 型的方法进行第一次开发工作。在系统集成时,通过实 验找出需求中的欠缺和不足之处,明确那些未知的软件 需求,再迭代进行增加部分的需求分析和开发。对有些 系统这种反复可能要进行几次,但尽可能不要超过两 次,否则难以控制软件的结构规模、开发质量和进度。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号