《计算机软件技术基础课件优秀PPT.ppt》由会员分享,可在线阅读,更多相关《计算机软件技术基础课件优秀PPT.ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机软件技术基础课件现在学习的是第1页,共19页软件技术基础涉及的主要内容:软件及其实现软件开发方法与技术计算机软 件技术程序设计语言编译技术操作系统数据库技术软件工具及其实现技术软件工程程序设计方法数据结构与算法现在学习的是第2页,共19页第一章 计算机软件基础概述一、计算机系统组成计算机系统硬件软件主机电源外设等系统软件应用软件支撑软件现在学习的是第3页,共19页二、程序和软件1、程序:为完成某一任务的若干指令的有序集合。指令是指示计算机进行某一工作的命令。程序具有以下属性:n能完成某一确定的任务n由一种计算机语言描述n能在一定的计算机系统下运行现在学习的是第4页,共19页2、软件:程序
2、、数据及其相关文档统称为软件。n具有两方面含义 个体含义 整体含义n具有两种属性 静态属性 动态属性现在学习的是第5页,共19页3、软件的特征与类型l特征a 智能性 b 抽象性 c系统性d 依附性 e 非损性 l类型类型按功能分按规模分系统软件支撑软件应用软件微型小型中型大型超大型从开发人数,开发周期,源程序行数几方面考虑,有相对性。现在学习的是第6页,共19页4、软件的产生与发展1)软件的产生:伴随计算机产生而产生,伴随计算机发展而发展我国早期算盘口诀艾达.拉夫拉斯伯爵夫人二进制存储思想程序伴随计算机的出现而出现现在学习的是第7页,共19页(1)程序设计时期(19461955)此时人们关心的
3、是硬件系统的性能和指标,软件技术处于从属地位。此时程序设计个体为主、手工操作。(2)软件行业化时期(19551970)程序不再是硬件的附属,有软件的概念。这一时期在程序设计自动化方面取得较大发展,但对于设计方法和开发技巧没有大的突破,以至于出现软件需求与开发能力之间的尖锐矛盾,即所谓的“软件危机”2)软件的发展过程现在学习的是第8页,共19页(3)软件工程化时期(1970年至今)1968年、1969年北大西洋公约组织成员国的软件工件者召开了两个研讨会,提出了“软件工程”这一术语,根本目的在于克服“软件危机”中所遇到的困难问题,从此进入软件工程时代。三、软件危机 软件危机是指计算机软件开发和维护
4、过程中所遇到的一系列严重问题。概括说包含两个方面:l如何开发软件以满足对软件日益增长的需求l如何维护数量不断膨胀的软件现在学习的是第9页,共19页1、软件危机的主要表现1)软件开发成本和进度无法控制。2)用户往往对已完成的软件不满意。3)软件的质量得不到保证。4)软件开发成本不断提高。5)软件极难维护。6)软件开发生产率的提高跟不上应用需求的增长。现在学习的是第10页,共19页2、软件危机产生的原因1)软件规模越来越大,结构越来越复杂2)软件开发过程缺乏管理3)软件开发技术落后4)软件开发工具和生产方式落后3、解决软件危机的途径、解决软件危机的途径 要充分吸取和借鉴人类长期以来从事各种工程项目
5、所积累的行之有效的原理、概念、技术和方法,并应用于软件开发的实践中,将软件开发变成一种组织良好、管理严密、各类人员协同完成的工程项目现在学习的是第11页,共19页四、软件工程 软件工程是开发、运行、维护和修复软件的系统方法1、软件工程学的多个分支 (1)软件工程方法学 主要研究软件构造技术的学问。一个软件从定义、开发到维护,都需要有适当的方法。(2)软件工程环境 对最终用户而言,环境就是他们运行程序所使用的计算机系统。对于软件开发人员,环境是开发活动的舞台。现在学习的是第12页,共19页(3)软件工程管理 软件工程管理的目的,是为了按照软件的预算和进度完成项目计划,实现预期的经济和社会效益。2
6、、软件的生命周期 软件的生存周期是指一个软件从提出开发要求到该软件报废为止的整个时期。l传统软件周期模型瀑布模型 瀑布模型是将软件生存周期各活动规定为依次联结的若干阶段。一般将其分为定义、开发、维护三个阶段。现在学习的是第13页,共19页问题定义可行性研究需求分析设 计编 程测 试运行与维护(目标与范围说明)(可行性论证报告)(需求说明书)(设计文档)(程序)(维护报告)定义阶段开发阶段维护阶段传统软件生命周期模型传统软件生命周期模型瀑布模型瀑布模型现在学习的是第14页,共19页3、软件测试l软件测试是为了发现错误而执行程序的过程。l软件测试分为:单元测试和综合测试。1)软件测试的目标 测试是
7、为了发现软件中的错误而去运行软件的过程,因此软件测试的目标是尽可能地发现至今尚未发现的错误。2)软件测试的原则(1)测试用例应由输入数据和输出数据两部分组成(2)测试用例不仅要选用合理的输入数据,还要选择不合理的输入数据现在学习的是第15页,共19页(3)除了检查软件是否做了该做的事,还应该检查其是否做了不应做的事(4)应制定测试计划并严格执行,排除随意性(5)保留测试用例(6)对发现错误较多的地方要进行深入测试(7)程序员要避免测试自己的程序3)软件测试方法(1)静态测试:被测程序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程序进行检测(2)动态测试:指通过运行程序发现错误现在
8、学习的是第16页,共19页 根据动态测试中测试用例的设计方法不同,其又分为黑盒法和白盒法。l黑盒法:该种方法是把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,检查程序是否满足预定的功能要求。l白盒法 该方法是将测试对象看成打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查程序结构和数据结构是否有错,实际运行状态与预期是否一致。现在学习的是第17页,共19页4、程序的调试 程序调试的任务是诊断和改正程序中的错误。由两部分组成:1)确定程序中错误的性质、原因和位置 2)对程序进行修改,排除错误 软件测试与程序调试 软件测试找错 程序调试纠错现在学习的是第18页,共19页程序调试的基本步骤:(1)错误定位 (2)修改设计和编码 (3)进行回归测试程序调试的原则(P46)软件调试方法 (1)强行排错法 (2)回溯法 (3)原因排除法 现在学习的是第19页,共19页