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

下载本文档

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

文档简介

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

2、t工具软件 系统工具软件 其他常用软件,软件开发,应用软件开发=专业知识+编程技术+系统软件技术,软件的发展(编程语言的发展),机器码 汇编 高级语言 高级语言的种类 高级语言向机器语言的转换 编译及原理 连接,编译原理,词法分析 语法分析 语义分析 中间代码生成 优化 代码生成,执行程序的生成,源程序 编译 目标程序 连接(库、资源) 可执行文件 连接dll,软件的发展(编程技术的发展),结构化设计-面向对象 设计模式 面向对象-面向构件 软件工程 Rational的统一建模过程 极限编程(XP) 敏捷建模 结对编程 测试驱动开发 重构,软件的发展(软件技术的发展),算法与数据结构 操作系统

3、 多媒体 数据库技术 网络,哪些技术?,计算机软件技术不断推陈出新、新技术层出不穷、如何才能跟上软件技术发展的潮流? 要把握软件的本质特性 什么是软件的本质特性。首先要讲的是程序的本质特性,程序是软件,但软件可不仅是程序,程序的特性,程序是用计算机来解决现实问题的工具。包含了三个方面的意思:现实世界、计算机世界以及从现实世界到计算机世界的映射。研究的关键是映射。 程序是计算机指令的序列。(计算机世界、微观的概念) 程序由子程序分层嵌套组成。(计算机世界),程序的特性,从现实世界到计算机的映射来看:程序是对解决问题的计算机描述。这是一种映射。 首先,要解决描述的问题。就是用计算机语言。(因此有程

4、序设计语言一章) 其次,如何描述的问题。(映射是一对多的)(数据结构和算法问题),软件,软件是程序+说明信息(从内容上说) 具有使用性能的程序(从性能上说) 软件是商品(从本质上说)。与其他商品比较,研制开发是主要的生产方式。(软件工程) 软件只有过时而无“损耗”的商品。注重软件的柔性或有机性。软件的演化。,学习方法,必要的准备 熟悉工具(常用软件) 掌握至少一种程序设计语言 注重分析(最重要的是解决问题)THINK! 写文档(写具有自描述性质的代码) 方法: 抽象能力 建模能力 系统的思考方法 形式化、结构化和一致性和规范性,软件是我们的工具,需要不断打磨,工作常用软件,操作系统 Offic

5、e套件 开发环境(IDE、版本控制、测试等) 图像处理(Photoshop、画图) CAD(UG、Pro/E、CATIA、Inventor) CAE(Ansys、Nastran、Marc) CFD(CFX、Numeca、Fluent),航空发动机三维实体建模装配,汽车发动机装配动态仿真,整体叶盘优化设计工具,面向组件的分布式优化设计和数据管理系统,娱乐,游戏 视频 音乐 电子书,面向对象的程序设计方法,解决程序设计的臭味问题(程序腐化) 僵化性(Rigidity):很难对系统进行改动,因为每个改动都会迫使很多对系统其他部分的其他改动。 脆弱性(Fragility):对系统的改动会导致系统中和改

6、动的地方在概念上无关的许多地方出现问题。 牢固性(Immobility):很难解开系统的纠结,使之成为一些可在其他地方重用的模块。,面向对象程序设计,面向对象的程序设计的三个主要特征: 封装 继承 多态,封装,电视机的例子 只把与外界交互的部分暴露出来,隐藏内部的细节 面向对象语言从语言上提供了这种机制。 方法和数据集成在一起 权限的限制 public Private 类,类与对象,从计算机世界理解: 类提供了封装数据的模板 对象是根据模板而实现的实体(内存空间) 封装保证了程序的模块独立性 从现实世界 类表达了一种概念 对象是具体的事物 抽象类(蔬菜有颜色,蔬菜是什么颜色?) 例子: 电视机

7、,17寸,20寸,继承,从现实世界的概念 很多事物之间具有Is-a的关系 计算机世界的概念 封装保证了模块的独立性,但对于很多有相同操作的模块,就很繁杂。 节省了设计重复程序的时间 相同的不写,不同的再写 可见性的变化 Protected Internal Protected internal,多态性,函数的多态性(重载) 抽象类(蔬菜) 不同的蔬菜有不同的颜色 计算机世界的观点,动态绑定,class FruitGardener public: Fruit* Product(); ; class Fruit public: void Plant(); void Grow(); void Har

8、vest(); ; class Apple : public Fruit public: void Plant()coutApple Plantendl; void Grow()coutApple Growendl; void Harvest()coutApple Harvestendl; ; class Strawberry : public Fruit public: void Plant()coutStrawberry Plantendl; void Grow()coutStrawberry Growendl; void Harvest()coutstrawberry Harvesten

9、dl; ;,class AppleGardener : public FruitGardener public: Fruit* Product()return new Apple(); ; class StrawberryGardener : public FruitGardener public: Fruit* Product()return new Strawberry(); ; void PlantFruit(FruitGardener* pGardener) Fruit* pFruit = pGardener-Product(); pFruit-Plant(); int main() FruitGardener* pGardener

温馨提示

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

评论

0/150

提交评论