第一章计算机软件技术概述_第1页
第一章计算机软件技术概述_第2页
第一章计算机软件技术概述_第3页
第一章计算机软件技术概述_第4页
第一章计算机软件技术概述_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章计算机软件技术概述了解以下知名公司的发展历史,掌握公司业务范围及主流产品的应用领域Microsoft、Apple、IBM、Oracle(Sun、Google、Adobe、Amazon、Symbian1.1 软件的组成要素1.2 软件技术的组成体系1.3 软件的主要属性与特点1.4 软件的工作与存储空间1.1 软件的组成要素引子:使用计算机就是使用软件,我们会用到许多感兴趣的应用软件,而应用软件还需要一个“看不见的引擎”的支撑和驱动。我们不能真正看到或触摸这个“引擎”也称软件平台,但在现代产品中它却无处不在,有的甚至家喻户晓1、软件(Software的三要素计算机软件:程序、数据及相关文档

2、组成文档(Document:指软件开发、维护和使用相关的图文资料,包括对软件程序和数据的描述等2、软件与程序软件的组成中,程序和数据是主体,核心是程序。有时软件和程序可以相互替换使用,并不严格区分,也有称软件程序但要了解,两者区别是很明显程序侧重描述软件实现的指令代码,并且源程序中的代码通常是可以阅读的,但是不能被计算机直接执行,而可执行程序的代码通常是无法被阅读的,但可以提交计算机执行。从这个角度,我们所购买的软件只是程序的可执行版本而不是(软件的源代码软件包含程序,其内涵与外延更广泛计算机系统由软件与硬件组成。硬件(Hardware作为有形、可触摸的物理设备构成一个“裸机”,须加载软件(即

3、装入程序才能构成可以运行和发挥功用的计算机系统以服务于用户计算机软硬件协同工作、相互支持、相互制约,推动着计算机应用的发展1.2 软件技术的组成体系计算机软件技术是与软件开发及软件使用相关的理论和技术的总称。软件使用体现软件在各行各业的具体应用从学科角度,软件技术体系非常丰富、广泛,可概括为软件理论、软件系统及软件开发三大组成部分软件系统由系统软件、支撑软件及应用软件组成,涉及软件整体含义的内容组成,不同软件根据其作用按不同的层次环绕硬件。上述也是一种常用软件分类方法1、系统软件系统软件属于基础软件(1面向系统并为整个计算机系统服务(2面向用户的应用软件及中间件等须通过它发挥作用操作系统(Op

4、erating System是主要系统软件(或软件平台,Platform,是最贴近硬件、最基础的一层软件,与具体应用领域无关,其他任何软件都依赖于它OS影响着计算机系统的稳定性、可靠性操作系统或软件平台对计算机(及各种信息设备和产品的运行起着非同寻常的作用,是计算机中的“看不见的引擎”从微处理器的视角看,计算机平台中,操作系统是CPU接收指令的唯一程序,其他任何程序都通过OS与CPU打交道操作系统是非常复杂的软件(程序,通常由一个“内核”和其他程序模块组成,负责计算机软硬件资源的分配与调度、程序的执行,涉及进程管理、内存管理、设备管理、文件管理、网络支持及安全管理等,我们使用计算机时所必须安装

5、和感知的第一个软件即OS(OS界面示例:操作系统(OS是最主要系统软件,用户首先选择和安装的软件语言处理系统也是一类重要的软件,有人将其归类为系统软件,也有单独划为编程软件,是软件开发者所关心的用于创建、调试、维护应用软件的工具,主要涉及:为什么需要语言处理系统?应用软件(程序基于某高级语言编制而成,但要让软件能被计算机理解、执行,就需要借助语言处理系统的翻译处理最常用语言处理系统有:即编译系统(或称为编译程序、编译器及解释系统(或称为解释程序、解释器编译程序(Compiler:将高级语言书写的程序(源程序翻译成等价的低级语言(机器或汇编语言程序(称为目标程序,Object program的计

6、算机程序(软件高级语言程序被处理后生成的目标程序不能直接执行,还需链接程序(Chain Program以生成可执行程序解释程序(Interpreter:直接翻译(转换为机器码并执行某种语言编写的源程序指令的计算机程序与编译程序的工作模式不同,解释程序采用类似外语现场“口译”中的边说边翻译的工作模式,解释程序对源程序处理后并不产生一个独立的目标程序而是输出执行计算结果2、支撑软件:支撑软件开发、维护与运行的一类专业软件。此类软件较广泛的是中间件(Middleware,可理解为介于OS与应用软件之间的软件3、应用软件(Application Software:指面向具体业务和应用领域的软件计算机应

7、用很大程度取决于应用软件为终端用户带来效率的提高,其他的软件都服务于应用软件,提供支持操作系统作为软件平台搭起应用软件与硬件沟通的桥梁软件平台聚集各种应用软件开发者及终端用户,还吸引中间件(开发者为应用软件开发者提供各种支持帮助示例:应用软件可以基于不同的操作系统(软件平台,对比手机和个人电脑平台应用程序编程接口(API,Application Programming Interface:操作系统对终端用户和应用程序(软件支持模式不同应用程序是应用程序(软件开发商提供给终端用户的产品和服务,程序开发人员或者应用程序通过OS所提供的各种应用程序编程接口获取OS服务,以便更有效开发面向终端用户的各

8、种软件产品Java是当今极具竞争力的热门技术,其核心构成包括Java语言、JVM及Java API,Java平台(JVM和Java API能够嵌入所有OS平台中。基于Java平台这种跨平台特点,Java应用程序只需编译一次,即可在各种计算机系统运行,即实现“write once,run anywere”1.3 软件的主要属性与特点软件的抽象性(无形性软件的复杂性(知识性软件的开发模式(手工软件的知识产权(盗版软件项目与产品(群体1、软件的抽象性一方面软件是一种无形的、不可触摸、不会产生“磨损”的信息产品和逻辑产品(“比特bit”集,但通过其载体及运行呈现的界面被用户感知、传播和使用另一方面,软

9、件只有装入计算机中,并运行和使用,才能确定其提供的功能是否满足需要、是否好用(用户体验用户通过软件(界面,Interface使用计算机硬件的功能。软件界面历经不断改进和发展,使用软件使用更容易、更方便、更人性化,促进了计算机的普及示例:不同软件界面展示与启示(图略示例:同一软件界面发展(图略1990年2月Photoshop 1.0正式发布:当时只能运行在苹果的麦金塔电脑上等直到CS、CS2、CS3到CS5(平均1到2年示例:软件程序图标、文件及其运行模式源程序或可执行程序都是以文件的形式存储于计算机存储体中(硬盘如文字处理程序Word 2003、浏览器程序都是最常用的程序文件,它们的文件名分别

10、为winword.exe和iexplore.exe,DOS与Windows下的显示、运行对比如下(图略2、软件的复杂性软件是人们(软件开发团队通过大量的脑力劳动,把知识与技术转化为信息产生的知识性产品,这个转化的过程称为软件开发。软件的复杂性源自于问题和任务本身及软件开发过程的复杂“当越来越多的功能组件加入OS,并且硬件的性能随之逐渐增强时,OS大小和复杂性也在不断升级”3、软件的开发模式迄今软件开发几乎完全依赖人类手工模式完成,尽管有软件工程、自动化工具辅助与支撑,以及软件开发团队协作在一定程度上可以提高开发效率软件开发的工作量大、周期长且成本高昂,工作辛苦乏味,极具挑战性如操作系统(OS:

11、从概念形成、架构、开发实现到发布通常需要历时数年对于应用软件:希望能在连续几代的操作系统上工作,操作系统平台改变必须尽可能保持软件的“后向兼容性”专有操作系统或专有软件(商业软件等开发是采用软件公司团队的集中式、市场与商业利益驱动模式,开发成本用户埋单商业软件价格是个敏感话题。 与硬件价格的不断下降相比, 软件价格 并未同步下降 而开源软件则是基于“软件自由”的信仰和源代码公开, 从而实现“免费 软件”目标,它通常是依赖互联网、吸收全世界各地的程序员的非集 中式软件开发(生产)方式 专有软件如Windows操作系统数千万行代码是一个被严守的商业秘 密, 至今只有被严格审查的少数外部人员在高度机

12、密的条件下才能看 到其源代码。 而开源软件的源代码是完全公开的, 任何人可免费获取 “开源”是指参与者所编写的软件程序的源代码完成后,要公开最后的 程序代码, 用户可免费获取开源软件(包括源代码) 但要受GPL(通用公共许可证)的限制:“如果你发行的工作全部或 者部分包含或来源于开源程序及它的衍生产品,那么 你必须将它免 费授权给任何的遵循这一 协议的第三方”(自由软件基金会FSF) 最成功的开源软件平台:Linux操作系统(最早是由芬兰赫尔辛基大 学的学生Linus Torvalds编写的,1991年),当今OS领域的“没有所 有者的新挑战者” Apache服务器(软件):也是最成功、最著名

13、的开源项目之一、最 流行的Web服务器软件(最早由美国国际超级计算机应用中心NCSA 编写,National Center for Supercomputing Applications) 开源软件是自愿者出于兴趣、 提高编程和开发技能、 对“自由”的向往、 探索、挑战及荣誉等非物质的动机在空闲时间进行的 GPL强制实施机制的意义:“保证了没有人能够通过在集体知识产权 上加上一点私有知识产权就把整个软件变成了私有产品” 基于开源软件的商业模式:如通过支持Linux,增加硬件、专有软件 和服务的销售 4、软件的知识产权(Intellectual Property) 软件一旦开发完成, 可以反复拷贝和使用, 其复制和传播的成本极为 低廉 软件拥有者收益受软件盗版影响很大(还有同类软件市场竞争等因 素) (1)发售难辨认的机器码(反编译困难) (2)版权(授权)、专利等法律形式以 保护合法使用和阻止知识产权 被窃用 5、软件的项目属性和产品属性 软件项目(Project):有的软件将只是针对某个特定用户的开发 软

温馨提示

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

评论

0/150

提交评论