1、软件基础知识的认知,主讲人:,软件基础知识的认知,监理的感受 软件工程基础知识,监理的感受,(一)监理活动主要要求 (二)监理主要内容 (三)信息系统工程监理的作用,(一)监理活动主要要求,1、信息系统工程监理可由业主单位直接委托具有资质的监理单位承担,也可以采用招标方式选择监理单位。 2、监理单位承担监理业务,应当与业主单位签订信息系统工程监理合同,监理合同中应当明确监理的范围、内容和标准,合同双方的权利和义务,监理费用计取与支付,违约责任及争议处理方式等。 3、监理单位应当在实施监理活动前,依据合同约定的监理范围和内容,编制监理计划,并经业主单位确认后实施。 4、监理单位应当将监理活动的情
2、况,按计划、分阶段或者定期向业主单位提交监理报告,重大情况应当及时报告。 5、业主单位、承建方等被监理单位和监理单位在监理活动中产生的争议,可以依据合同相关条款协商解决,或者依据合同申请仲裁,或者向人民法院起诉。 6、信息产业部对开展信息系统工程监理业务的单位实施资质,(二)监理主要内容,监理的主要内容是对信息系统工程项目的质量、进度、投资和变更进行监督,对项目合同、安全和文档资料进行管理,协调有关单位间的工作关系,(三)信息系统工程监理的作用,在信息系统工程建设中实施监理可以为工程建设提供更合理、更专业、更全面的保证。 1、信息系统工程监理可以帮助业主单位更合理的保证工程的质量、进度、投资,
3、并合理、客观的处理好它们之间的关系。监理是由第三方独立的依据相关技术标准来对工程建设进行监督,这样尤其是对政府信息系统工程的建设质量更能起到保驾护航的作用。在项目建设全过程中,监理单位要依据国家有关法律和相关技术标准,遵循守法、公平、公正、独立的原则,对信息系统建设的过程进行监督和控制,其实就是要在确保质量、安全和有效性的前提下,合理的安排进度和投资。其实,监理单位是帮助业主单位对工程有关方面控制的再控制,就是对承建单位项目控制过程的监督管理。,(三)信息系统工程监理的作用,2、监理可以合理地协调业主单位和建设单位之间的关系,其实这也是监理的一项主要工作。在信息系统工程建设中,很多时候业主单位
4、和承建单位有许多问题存争议,业主单位和承建单位都希望由第三方在工程的立项、设计、实施、验收、维护等的各个阶段的效果都给予公正、恰当、权威的评价,这就需要监理单位来协调和保障这些工作的顺利进行。 3、信息系统工程监理可以有助于第三方的专业化服务功能。由于业主单位在信息技术等相关领域普遍存在缺乏人才和经验不足的问题,实践证明业主单位自行管理对于提高项目投资的效益和建设水平是无益的。通过第三方的专业服务,帮助业主单位对项目实施控制,并对业主单位和承建单位都做出约束,是监理作用的一个重要的体现。,软件工程基础知识,一什么是软件 二软件危机以及产生软件危机的原因 三有哪些软件工程方法学及其要素 四软件工
5、程项目管理基本知识 五软件工具 六软件质量管理基础知识 七软件测试,一什么是软件,1.满足功能要求和性能的指令或计算机程序集合; 2.处理信息的数据结构; 3.描述程序功能以及程序如何操作和使用所要求的文档;,二软件危机以及产生软件危机的原因,软件危机 1.软件开发生产率提高的速度,远远跟不上计算机迅速普及的趋势。软件产品“供不应求”。 2.软件成本在计算机系统总成本中所占的比例逐年上升。 3.软件开发人员和用户之间的信息交流往往很不充分,用户对“已完成的”的软件系统不满足的现象经常发生。 4.软件产品的质量不容易保证。 5.软件产品常常是不可维护的。,软件危机以及产生软件危机的原因,6.软件
6、产品的重用性差,同样的软件多次重复开发。 7.软件通常没有适当的文档 产生软件危机的原因可归结为两个重要的方面: 1.软件生产本身存在的复杂性; 2.软件开发所使用的方法和技术。,三有哪些软件工程方法学及其要素,1.使用最广泛的软件工程方法学是结构化方法学和面向对象的方法学。 2.要素:方法、工具和过程。,四软件工程项目管理基本知识,软件项目管理开始于任何技术活动之前,并且贯穿于整个的软件生命周期。 软件工程项目管理一般分为时间管理、成本管理、人力资源管理、风险管理。,五软件工具,软件工具是指用于辅助软件开发、运行、维护、管理、支持等过程中的活动的软件。通常也称为CASE(Computer A
7、ided Software Engineering,计算机辅助软件工程)工具。 按软件过程的活动分为软件开发工具、软件维护工具和软件管理工具等。,六软件质量管理基础知识,1 软件质量软件质量模型可从软件功能性、可靠性、可用性、效率、可维护性、可移植性6个方面来衡量。 (1)功能性与功能及其指定的性质的一组软件属性。 (2)可靠性软件在规定的一段时间内和规定的条件下保持其性能水平有关的一组软件属性。也可以称为在规定的条件下和规定的时间间隔内,软件实现其规定功能的概率。 (3)可用性与使用的难易程序及规定或隐含用户对使用方式所做的评价有关的软件属性。 (4)效率与在规定条件的性能水平与所用资源量之
8、间的关系有关的一组软件属性。,六软件质量管理基础知识,(5)可维护性与软件维护的难易程序有关的一组软件属性。 (6)可移植性软件可从某一环境转移到另一环境的能力有关的一组属性。即软件从一个计算机系统转换到另一个计算机系统运行的难易程度是指软件的可移植性。为了提高可移植性,应注意提高软件的设备独立性。采用表格驱动程序有助于提高设备独立性。为了提高可移植性,还应有完备的文档资料。使用C语言开发的系统软件具有较好的可移植性。,六软件质量管理基础知识, 软件质量保证软件质量保证的主要困难表现在以下几个方面: () 软件开发的管理人员往往关心项目开发的成本与进度。因为成本和进度是显而易见的,而软件质量则
9、难以度量。 ()如果软件开发的管理人员对交付的软件含有多少隐患并不必负什么责任,他们必定没有太高的热情去控制开发的质量,更不必说保证质量并不容易且代价昂贵。 ()开发人员的习惯一旦形成难以改变,他们的形为也难于控制,而高质量的软件产品,又主要取决于参与开发的人员。 ()复杂的软件项目需要许多技术人员和管理人员参与,对问题的不同认识和误解如不能及时消除必然影响软件质量。 ()软件开发人员的频繁流动,特别是骨干开发人员的流失,也会使软件质量受到一定的影响。,六软件质量管理基础知识,软件质量的保证手段: ()开发初期制定质量保证计划,并在开发中坚持实行。 ()开发前选定或制定开发标准或开发规范,并遵
10、照实施。 ()从开始就选择分析设计方法和工具,形成高质量的分析模型和设计模型。 ()严格执行阶段评审,以便及时发现问题。 ()各个开发阶段的测试。 ()对软件的每次“变动”都要经过申请、评估、批准、实施等步骤。 ()软件质量特性的度量化。 ()软件生存期的各阶段都要完整的文档。,七软件测试,软件测试的费用已经超过软件开发费用的30左右。“高产”测试是指用少量的测试用例,发现被测试程序尽可能多的错误。 .1 软件测试经过的步骤单元测试集成测试确认测试系统测试. 2 测试与软件开发各阶段的关系 单元测试对程序中每一个程序单元进行测试,检查各个模块是否争取实现规定的功能,从而发现模块在编码中或算法中的错误,该阶段涉及编码和详细设计文档。 集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。 确认测试主要是检查已实现的软件是否满足需求规格说明书中已确定了的各种需求。 系统测试是把已确认的软件与其他系统元素(如硬件,其他支持软件、数据、人工等)结合在一起进行测试,以确定软件是否可以支付使用。,谢谢!,