第01章 计算机软件技术基础.ppt_第1页
第01章 计算机软件技术基础.ppt_第2页
第01章 计算机软件技术基础.ppt_第3页
第01章 计算机软件技术基础.ppt_第4页
第01章 计算机软件技术基础.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机软件技术基础导论,樊江,Tel:82313841Mobilemail:fanjiang,第一章导论,软件改变了我们的生活(生活、工作、娱乐)的内容和态度工作生活娱乐在国防科研领域专业软件的不足专业软件发展的形势,第一章导论,软件的分类系统软件(通用)操作系统语言编译和解释系统网络软件数据库管理系统(DBMS)各种服务程序界面工具箱,应用软件业务软件科技计算软件嵌入式软件实时软件个人计算机软件人工智能软件,常用软件,操作系统数据库管理系统群件系统办公软件套件多媒体处理软件开发工具环境Internent工具软件系统工具软件其他常用软件,软件开发,应用软件开发=专业知

2、识+编程技术+系统软件技术,软件的发展(编程语言的发展),机器码汇编高级语言高级语言的种类高级语言向机器语言的转换编译及原理连接,编译原理,词法分析语法分析语义分析中间代码生成优化代码生成,执行程序的生成,源程序编译目标程序连接(库、资源)可执行文件连接dll,软件的发展(编程技术的发展),结构化设计-面向对象设计模式面向对象-面向构件软件工程Rational的统一建模过程极限编程(XP)敏捷建模结对编程测试驱动开发重构,软件的发展(软件技术的发展),算法与数据结构操作系统多媒体数据库技术网络,哪些技术?,计算机软件技术不断推陈出新、新技术层出不穷、如何才能跟上软件技术发展的潮流?要把握软件的

3、本质特性什么是软件的本质特性。首先要讲的是程序的本质特性,程序是软件,但软件可不仅是程序,程序的特性,程序是用计算机来解决现实问题的工具。包含了三个方面的意思:现实世界、计算机世界以及从现实世界到计算机世界的映射。研究的关键是映射。程序是计算机指令的序列。(计算机世界、微观的概念)程序由子程序分层嵌套组成。(计算机世界),程序的特性,从现实世界到计算机的映射来看:程序是对解决问题的计算机描述。这是一种映射。首先,要解决描述的问题。就是用计算机语言。(因此有程序设计语言一章)其次,如何描述的问题。(映射是一对多的)(数据结构和算法问题),软件,软件是程序+说明信息(从内容上说)具有使用性能的程序

4、(从性能上说)软件是商品(从本质上说)。与其他商品比较,研制开发是主要的生产方式。(软件工程)软件只有过时而无“损耗”的商品。注重软件的柔性或有机性。软件的演化。,学习方法,必要的准备熟悉工具(常用软件)掌握至少一种程序设计语言注重分析(最重要的是解决问题)THINK!写文档(写具有自描述性质的代码)方法:抽象能力建模能力系统的思考方法形式化、结构化和一致性和规范性,软件是我们的工具,需要不断打磨,真正伟大的程序员是懒惰、缺乏耐心和傲慢十足的Perl的发明者LarryWall,工作常用软件,操作系统Office套件开发环境(IDE、版本控制、测试等)图像处理(Photoshop、画图)CAD(

5、UG、Pro/E、CATIA、Inventor)CAE(Ansys、Nastran、Marc)CFD(CFX、Numeca、Fluent),航空发动机三维实体建模装配,整体叶盘优化设计工具,面向组件的分布式优化设计和数据管理系统,娱乐,游戏视频音乐电子书,面向对象的程序设计方法,解决程序设计的臭味问题(程序腐化)僵化性(Rigidity):很难对系统进行改动,因为每个改动都会迫使很多对系统其他部分的其他改动。脆弱性(Fragility):对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出现问题。牢固性(Immobility):很难解开系统的纠结,使之成为一些可在其他地方重用的模块。,

6、面向对象程序设计,面向对象的程序设计的三个主要特征:封装继承多态,封装,电视机的例子只把与外界交互的部分暴露出来,隐藏内部的细节面向对象语言从语言上提供了这种机制。方法和数据集成在一起权限的限制publicPrivate类,类与对象,从计算机世界理解:类提供了封装数据的模板对象是根据模板而实现的实体(内存空间)封装保证了程序的模块独立性从现实世界类表达了一种概念对象是具体的事物抽象类(蔬菜有颜色,蔬菜是什么颜色?)例子:电视机,17寸,20寸,继承,从现实世界的概念很多事物之间具有Is-a的关系计算机世界的概念封装保证了模块的独立性,但对于很多有相同操作的模块,就很繁杂。节省了设计重复程序的时

7、间相同的不写,不同的再写可见性的变化ProtectedInternalProtectedinternal,多态性,函数的多态性(重载)抽象类(蔬菜)不同的蔬菜有不同的颜色计算机世界的观点,动态绑定,classFruitGardenerpublic:Fruit*Product();classFruitpublic:voidPlant();voidGrow();voidHarvest();classApple:publicFruitpublic:voidPlant()coutApplePlantendl;voidGrow()coutAppleGrowendl;voidHarvest()coutAppleHarvestendl;classStrawberry:publicFruitpublic:voidPlant()coutStrawberryPlantendl;voidGrow()coutStrawberryGrowendl;voidHarvest()coutstrawberryHarvestPlant();intmain()FruitGardener*pGardener1=newApp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论