版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试基础知识(软件工程概述)
(实训指导)一、本课程学习目的消除错误地认识学习软件工程基本理论学习主流的软件开发方法熟悉软件开发过程掌握软件开发全过程中的各重要阶段的任务及相关描述方法;如何分析问题并设计出合理的解决方案如何保证软件质量培养软件工程师的基本素质2可执行部分不可执行部分文档1文档2文档3一、软件的定义、特点
1软件的定义
程序+数据+文档与计算机系统操作有关的程序、数据以及任何与之相关的文档的集合。程序3一、软件的定义、特点
1软件的定义:什么是程序(1/2):程序:由程序设计语言所描述的、能为计算机所识别、理解和处理的语句序列程序例子Main(){inti,j;
//变量定义
charStr[10];i=i+j;//语句说明
……}4一、软件的定义、特点
1软件的定义:什么是程序(2/2)程序设计语言具有良好、严格语法和语义目前程序设计语言主要有以下几种类型面向机器:如汇编语言、机器语言等面向过程:如Fortran,Pascal,C等等面向对象:如Java等等面向问题:如结构化查询语言SQL等等5一、软件的定义、特点
1软件的定义:什么是文档:文档:记录软件开发活动和阶段性成果、理解软件所必需的阐述性资料需求分析文档、软件设计文挡、用户文档等编写文档目的促进对软件的开发,管理和维护;便于各种人员(用户,开发人员)的交流6一、软件的定义、特点2软件的特点不会老化逻辑产品(智力,无形)维护困难和复杂(完善,纠错,…...)生产只需复制软件开发性质如成本、进度等难以估计软件的开发更加依赖于开发人员的业务素质、智力、人员的合作、组织和管理
7二、软件的发展过程1、20世纪50年代—60年代初:程序设计阶段
特点:个体化;只有程序清单;以硬件发展为主2、20世纪60年代初—70年代初:程序系统阶段
特点:作坊式;软件数量剧增;软件维护费用惊人;提出“软件工厂”概念;出现软件危机3、70年代—90年代:软件工程阶段
软件成本剧增;硬件技术(微电子学)日趋成熟;软件工程时代4、90年代至今:
现代信息技术飞速发展(并行计算机处理、三层处理模式、数据仓库、多媒体技术、网络技术、电子商务等)称为:网络时代8三、软件危机1、软件危机定义:
软件在开发和维护过程中遇到的一系列问题困扰学术界和工业界用户对软件开发缺乏信心软件开发的高投入和高风险
Crisis!9三、软件危机
2、软件危机的表现(1of3)成本高IBM360OS,5000多人年,耗时4年(1963-1966),花费2亿多美元美国空军:1955年软件占总费用(计算机系统)的18%,70年60%,85年达到85%美国全球军事指挥控制系统,硬件1亿美元,软件高达7.2亿美元计算机软件和硬件费用比10三、软件危危机2、软件危机机的表现(2of3)软件质量得得不到保证证软件应用面面的扩大::科学计算算、军事、、航空航天天、工业控控制、企业业管理、办办公、家庭庭软件越来越越多的应用用于安全犹犹关(safetycritical)的系统,对对软件质量量提出更高高的要求80年代代欧洲亚亚丽安娜娜火箭的的发射失失败,原原因是软软件错误误美国阿托托拉斯火火箭的发发射失败败,原因因是软件件故障英国1986年年开发的的办公室室信息系系统Folios经4年,,因性能能达不到到要求,,1989年取取消日本第5代机因因为软件件问题在在投入50亿美美元后于于1993年下下马由于软件件质量问问题导致致失败的的软件项项目非常常多11三、软件件危机2、软件危危机的表表现(3of3)进度难以以控制项目延期期比比皆皆是由于进度度问题而而取消的的软件项项目较常常见只有一小小部分的的项目能能够按期期完成维护非常常困难软件维护护的多样样性软件维护护的复杂杂性软件维护护的副作作用12三、软件件危机3、软件危危机包含含两方面面问题一、如何何开发软软件,以以满足不不断增长长,日趋趋复杂的的需求;;二、如何何维护数数量不断断膨胀的的软件产产品。4、软件危危机产生生的原因因逻辑产品品,不同同于物理理产品复杂性高高逻辑产品品,逻辑辑复杂性性,远高高于硬件件复杂性性软件的复复杂性随随规模呈呈指数级级上升规模大应用扩大大,代码码量,1000万行,,仍在不不断膨胀胀影响软件件生产率率和质量量的因素素比较复复杂人员的能能力和水水平团队合作作缺乏有效效、系统统原理、、原则、、方法和和工具的的指导和和辅助:13三、软件件危机5、对软件件开发的的深层次次认识::开发一个个具有一一定规模模和复杂杂性的软软件系统统与编写写一个简简单的程程序不一一样正如建设设一个平平房和高高楼大厦厦建造房屋屋的过程程确定和分分析需求求房子的总总体设计计(建筑筑平面图图和建筑筑透视图图)房子的详详细设计计(建筑筑平面图图的细化化以及规规格说明明)识别并设设计房子子的组成成部分建造房子子的每一一个组成成部分测试房子子的每一一个组成成部分把房子的的各个部部分集成成在一起起,在住住户搬进进来之前前作最后后的修改改大型、复复杂软件件系统的的开发是是一项工工程,必必须按照照工程化化的方法法组织软软件的生生产和管管理,必必须经过过分析、、设计、、实现、、测试、、维护等等一系列列软件过过程和活活动146、解决危危机的技技术途径径20世纪60年代爆发发,然而而实际上上软件危危机随着着计算机机软件的的产生而而产生,,只是在在此之前前其问题题的严重重性没有有引起人人们的关关注和重重视提出有效效的方法法和工具具支持软软件开发发1968年提出出软件工工程概念念和思想想20世纪70年代的结结构化软软件开发发方法20世纪80年代的面面向对象象的软件件开发方方法新的技术术:软件重用用、快速速原型、、需求工工程典型技术术:COM,Java,C++,J2EE,.Net,…….支撑工具具和环境境:Jbuilder,VisualStudio,WebLogic,…三、软件件危机15三、软件件危机7、技术手手段不能能完全解解决软件件危机到了20世纪90年代,软软件危机机依然存存在,甚甚至更为为严重应用变得得越来越越大和复复杂,技技术变得得更加力力不从心心错误的观观念“只只要有好好的软件件开发方方法和工工具就能能高效率率地开发发出高质质量的软软件”16三、软件件危机8、解决危危机的管管理途径径问题出在在哪里??20世纪80年代末,,美国工工业界开开始认识识到管理理的重要要性美国的一一项研究究表明,,70%的项目目由于管管理不善善导致难难以控制制进步、、成本和和质量;;进一步的研究究发现:管理理是影响软件件项目成功开开发的全局性性因素,而技技术只影响局局部如果软件开发发组织不能对对软件项目进进行有效管理理,就不能充充分发挥软件件开发方法和和工具的潜力力,也就不能能高效率地开开发出高质量量的软件产品品17四、软件工程程的提出解决软件危机机?硬件发展?开开发人员增加加?软件开发发工具的发展展?软件工程!由于认识到软软件的设计、、实现、维护护和传统的工工程规则有相相同的基础。。1967年NATO的研究组织首首次提出“软软件工程”1968年NATO软件工程会议议正式提出““软件工程””概念1968-至今,40余年18四、软件工程程的提出2、软件工程定定义1968年NATO(北大西洋公约约组织)会议上首次提提出软件工程程:给出了软件工工程的早期定定义:软件工程是为为了经济地获获得可靠的和和能在实际机机器上高效运运行的软件而而建立和使用用的好的工程程原则。(强强调软件工程程的目标)IEEE:软件工程是((1)将系统化的的、规范的、、可度量的方方法应用于软软件的开发、、运行和维护护的过程,即即将工程化应应用于软件中中;(2)(1)中所述方法法的研究。计算机科学技技术百科全书书:所谓软件工程程就是指导计计算机软件开开发和维护的的工程学科。。采用工程的的概念、原理理、技术和方方法来开发与与维护软件,,把经过时间间考验而证明明正确的管理理技术和当前前能够得到的的最先进的技技术方法结合合起来。思考:其它更更准确的定义义?19五、软件工程程的发展1、传统软件工工程管理:希望实现软软件开发过程程的工程化。。这方面最为为著名的成果果就是提出了了大家都很熟熟悉的“瀑布布式”生命周周期模型。它它是在60年代末“软件件危机”后出出现的第一个个生命周期模模型。如下所所示:分析→设设计→编编码→测测试→维维护后来,,又有有人针针对该该模型型的不不足,,提出出了快快速原原型法法、螺螺旋模模型、、喷泉泉模型型等对对“瀑瀑布式式”生生命周周期模模型进进行补补充。。现在在,它它们在在软件件开发发的实实践中中被广广泛采采用。。认识到到了文文档的的标准准以及及开发发者之之间、、开发发者与与用户户之间间的交交流方方式的的重要要性。。方法::侧重与与对软软件开开发过过程中中分析析、设设计的的方法法的研研究。。这方方面的的重要要成果果就是是在70年代风风靡一一时的的结构构化开开发方方法,,即PO(面向向过程程的开开发或或结构构化方方法))以及及结构构化的的分析析、设设计和和相应应的测测试方方法。20六、软软件工工程的的发展展2、现代代软件件工程程方法::面向对对象的的分析析、设设计方方法((OOA和OOD)的出出现使使传统统的开开发方方法发发生了了翻天天覆地地的变变化。。随之之而来来的是是面向向对象象建模模语言言(以以UML为代表表)、、软件件复用用、基基于组组件的的软件件开发发等新新的方方法和和领域域。管理::从企业业管理理的角角度提提出的的软件件过程程管理理。即即关注注于软软件生生存周周期中中所实实施的的一系系列活活动并并通过过过程程度量量、过过程评评价和和过程程改进进等涉涉及对对所建建立的的软件件过程程及其其实例例进行行不断断优化化的活活动使使得软软件过过程循循环往往复、、螺旋旋上升升式地地发展展。其中最最著名名的软软件过过程成成熟度度模型型是美美国卡卡内基基梅隆隆大学学软件件工程程研究究所((SEI)建立的的CMM(CapabilityMaturityModel),即能力力成熟熟度模模型。。213
软件程是一种层次化的技术。包含了一个观点,和三要素,如下图:
工具+方法+过程软件件工工程程包包括括两两方方面面内内容容::软件件开开发发技技术术包括括软软件件开开发发方方法法学学、、软软件件工工具具和和软软件件工工程程环环境境。。软件件项项目目管管理理包括括软软件件度度量量、、项项目目估估算算、、进进度度控控制制、、人人员员组组织织、、配配置置管管理理、、项项目目计计划划等等。。软件件工工程程技技术术有有两两个个明明显显的的特特点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国人民大学财政金融学院现面向社会公开招聘非事业编制工作人员备考题库及参考答案详解1套
- 2025年中建三局北京公司总部职能管理岗位校园招聘备考题库完整答案详解
- 2025年济南政金投资有限公司公开招聘10人备考题库附答案详解
- 2025年广东省广播电视网络股份有限公司茂名分公司招聘劳务派遣人员备考题库及答案详解1套
- 2025年上海工艺美术职业学院招聘工作人员备考题库及参考答案详解
- 成都市实验中学教师招聘20人备考题库及答案详解(易错题)
- 2025年河北省定向北京外国语大学招录选调生683人备考题库及一套完整答案详解
- 2025年湖南蓉园集团有限公司公开招聘备考题库(含答案详解)
- 2025年四川建强鑫建筑有限公司招聘项目聘用制人员备考题库及答案详解一套
- 2025年广西农业科学院玉米研究所玉米抗逆育种研究团队公开招聘编制外工作人员备考题库完整参考答案详解
- 腋嗅知识培训课件
- 2026年及未来5年市场数据中国桥梁缆索市场深度分析及投资战略咨询报告
- 班组长煤矿安全培训课件
- 无人机航拍测量施工方案
- 2026年山东理工职业学院单招综合素质笔试模拟试题带答案解析
- 2026年苏教版五年级英语上册期末真题和答案
- 供电所安全大讲堂课件
- 放射护理继续教育
- 游泳救生培训课件
- DB11∕T 2447-2025 村庄雨水排除与内涝防治技术规范
- 家纺用品采购合同范本
评论
0/150
提交评论