4计算机软件系统_第1页
4计算机软件系统_第2页
4计算机软件系统_第3页
4计算机软件系统_第4页
4计算机软件系统_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

1、第四章 计算机软件系统,2,纲要,4.1 软件的性质及发展史 4.2 操作系统 4.3 应用软件 4.4 程序设计语言与语言处理 4.5 软件工程及其标准,一、教学要求,1.了解计算机软件的基本知识和基本概念。 2.掌握计算机软件的构成及操作系统的主要功能。 二、重点、难点 1重点:计算机软件的构成及操作系统的主要功能。 2难点:操作系统的分类。,3,4,4.1 计算机软件概述,4.1.1 对计算机软件的理解 1. 软件的定义 软件是指在计算机上运行的程序及其数据和维护文档的总和。 程序是软件的主体。 数据是程序运行过程中处理的对象和参数。 文档指的是与程序开发、维护及其操作有关的一些资料。

2、2. 软件的分类,软件,系统软件,应用软件,操作系统,系统实用程序,通用应用软件,专用应用软件,网络系统,数据库管理系统,程序语言处理系统,5,4.1.2 软件的性质,软件同传统的工业产品相比,有其独特的性质: 1.表现形式不同 2.生产方式不同 3.维护方式不同 4.软件的复杂性和规模不断增加,6,4.1.3 软件技术的进化史,事实: 硬件技术的发展速度远远高于软件技术的发展 原因:人们很长时间内没有找到有效构建软件的方法。 1. 软件技术发展的初期(20世纪50年代到70年代) 2. 软件技术发展的中期(20世纪80年代) 3. 网络计算时代的开始 (20世纪90年代至今) 4. 软件之变

3、-21世纪的软件技术,7,软件技术发展的初期(20世纪50年代到70年代),50年代前后,程序员主要使用机器语言编程-称为软件设计的“石器时代”。为便于阅读,后来将机器代码以英文字符串来表示,出现了汇编语言。 1956年,FORTRAN语言(主要用于:科学和工程计算)标志着高级语言时代的到来。 60年代-70年代,结构化软件技术(以Pascal/COBOL/C/SQL关系数据库为标志)-设计思想:采用模块分解与功能抽象和自顶向下、分而治之的方法,有效地将一个复杂的程序系统设计任务分解成许多易于控制和处理的子程序,便于开发和维护。,8,两位人物,Bill Gates,Denis Ritchie,

4、9,Denis M. Ritchie,DenisM.Ritchie1967年加入贝尔实验室。 1971年,DenisM.Ritchie和KenL.Thompson两人共同设计并实现的C语言改变了程序设计语言发展的轨迹,是程序设计语言发展过程中的一个重要里程碑。 与此同时,他们两人还设计并实现了UNIX操作系统。 正是由于这两项巨大贡献,DennisM.Ritchie于1983年获得了计算机界的最高奖图灵奖。 DennisM.Ritchie还获得了ACM、IEEE、贝尔实验室等授予的多种奖项。,10,Bill Gates,1955年10月28日出生于美国西雅图。 13岁时开始计算机编程。 197

5、3年,盖茨考进哈佛大学.在那里他和现在微软的首席执行官史蒂夫鲍尔默住在一起。,1975年,盖茨和保罗.艾伦(PaulAllen)为当时的微型计算机MITSAltair(牛郎星)开发了世界上第一套标准的微型计算机编程语言-BASIC。 大三时,盖茨离开了哈佛并把全部精力投入到他与好友PaulAllen在1975年创建的微软公司中。在计算机将成为每个家庭、每个办公室中最重要的工具这样信念的引导下,他们开始为个人计算机开发软件。盖茨的远见卓识以及他对个人计算的先见之明成为微软和软件产业成功的关键。盖茨的至理名言:“微软离破产永远只有18个月”,11,结构化软件技术,20世纪60年代,曾出现严重软件危

6、机。 为提高软件质量,伴随着结构化软件技术而出现的软件工程方法,使软件工作的范围从只考虑程序的编写到考虑从定义、编码、测试到使用、维护等整个软件生命周期。 软件不仅包括程序,还包括分析、设计、实现、维护和所有文档,使编程工作只占软件开发工作量的20-30%。,12,软件技术发展的中期(20世纪80年代),图形技术有了迅速发展(图形用户界面GUI,从Apple公司Lisa、Macintosh到Microsoft公司Windows,1985、1987、1990、1995、1998、2000,到UNIX/Linux系统的XWindows) 面向对象技术(SmalltalkC+)的出现与发展。 -现实

7、世界中的事物抽象到问题空间,称为“对象”。对象被定义为“对一组信息和在其上的操作”,其中信息就是数据,它反映的对象的属性状态,操作则是对对象的处理。引入了类、对象、继承、封装、重用等概念,对象与对象之间的相互作用是通过消息来实现的。 -随着分析和建模技术的发展,面向对象技术形成了OOAOODOOP,形成了完整的软件开发方法学。,13,网络计算时代的开始(20世纪90年代至今),1993年,美国纽约人杂志上的漫画:说明网络社会是一个虚拟的空间,同时也表明我们正处于网络计算的时代。,14,Internet的普及,提供了一个基本的网络计算结构,即计算模式从集中式的主机环境转变为分布式的C/S(客户/

8、服务器)环境。 WWW的普及,软件架构从C/S模式向B/S(浏览器/服务器)模转变。用户使用浏览器软件就可以访问文本、图像、声音等信息,用户端无需专用软件,减轻了系统维护和升级的成本和工作量。 信息搜索引擎,彻底改变了人们获取信息的方式。 统一的软件开发方法UDP(UnitedSoftwareDevelopmentProcess),以用例(UseCase)作为系统需求的核心表示,并驱动整个开发过程的完成,从而保证最终得到的系统正是用户所需产品。,15,UML -Unified Modeling Language,1997年,OMG组织(ObjectManagementGroup)发布了统一建模

9、语言UML。UML的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。UML提出了一套统一的标准建模符号。通过使用UML,IT专业人员能够阅读和交流系统架构和设计规划-就像建筑工人使用的建筑设计图一样。 UML成为标准建模语言的原因之一在于,它与程序设计语言无关 UML符号集只是一种语言而不是一种方法学。因为语言与方法学不同,它可以在不做任何更改的情况下很容易地适应任何公司的业务运作方式。 UML的主要创始人是JamesRumbaugh、IvarJacobson和GradyBooch,他们最初都有自己的建模方法(OMT、OOSE和Booch),彼此之间存在着竞争。最终,199

10、5年,他们联合起来创造了一种开放的标准。,16,James Rumbaugh,JamesRumbaugh博士是享誉全球的软件开发方法学家。Jim一直是引导UML未来开发的领袖,他提出了许多有关UML的概念。他与Rational的其他软件领袖一起工作在各个领域,比如Rational统一过程和实时开发方法学。自从2003年IBM收购了Rational之后,Jim就一直致力于推动IBM建模工具的开发。 Jim已经研究软件方法学、工具和概念35年多了。他是对象建模技术(ObjectModelingTechnique,OMT)的首席开发人员,OMT是一流的面向对象分析和设计方法,也是UML的前身。,17

11、,Ivar Jacobson,IvarJacobson博士是Objectory方法的发明者,也是瑞典ObjectoryAB公司的创始人。他曾担任RationalBusinessEngineering部门的副总裁,在那里他负责UML的开发。 Jacobson博士是两本影响深远的畅销书的主要作者:面向对象的软件工程一种用例驱动方法(1992年计算机语言生产力奖获得者)和对象的优势采用对象技术的业务过程再工程。他还写过有关软件重用的书。另外,他发表过一些有关对象技术的广为引用的论文。其中最有名的是他的第一篇OOPSLA87论文,题为“工业环境中的面向对象开发”。IvarJacobson的用例驱动方法

12、对整个OOAD行业影响深远,他因此而成为业界的一面“旗帜”。,18,Grady Booch,Grady(IBMfellow)因其在软件架构、软件工程和软件建模方面的杰出贡献而在国际上享有盛名。自Rational于1981年创建以来,他就一直担任IBMRational的首席科学家。Grady于2003年3月荣获IBM首席技术官(IBMfellow)的称号。Grady是统一建模语言(UML)的最初开发人员之一。 Grady是六本畅销书的作者,包括UML用户指南和应用程序的面向对象分析。Grady发表过数百篇有关软件工程的技术文章。他还在全球发表演讲和提供顾问。,19,软件之变-21世纪的软件技术,

13、“随需应变”的面向构件的软件开发。-打破了原有软件基于代码层开发的固有模式,采用“搭积木”方式生成软件的构件技术可以实现软件复用、快速实现像硬件那样的任意装配定制,以满足各种业务需求。 以Internet/Intranet技术为主的网络软件,以及数据挖掘、人工智能、网格计算、云计算,中间件技术、面向构件技术、面向对象的数据库等软件新技术层出不穷。软件工具不断出现和完善、软件过程正在逐步成熟。 内容处理成为瓶颈、语义处理成为需要突破的关键技术。语义研究的目标是在整个网络上实现将程序视同为数据。目前的浏览器已能做到不区分本地和远程的数据,将来可能实现的基于语义的操作系统应做到不区分本地和远程的程序

14、,即广义冯.诺依曼机。(冯.诺依曼结构最大的贡献是提出了单机上把程序视为数据的存储式计算机模型),20,4.1.4 软件系统的分层结构,计算机软件系统是一个分层的软件结构,包括系统软件层、支持软件层和应用软件层,其最底层是计算机硬件(图4-6)。 1.系统软件 2.支持软件 3.应用软件 4.软件分类的国家标准,21,4.1.4 软件系统的分层结构,计算机软件的分类及代码可参照国家标准计算机软件分类与代码(GB/T13702-1992)有关规定确定,如表4.1所示。,22,4.2 操作系统,计算机系统是由硬件和软件两部分组成。软件系统包括系统软件和应用软件,其核心是操作系统。操作系统是系统软件

15、中一个最基本的、最重要大型软件,是全面地管理计算机软件和硬件的系统程序,是用户与计算机之间的接口。对于我们日常使用的微型计算机来说,操作系统可分为两大类: 面向字符的操作系统,如DOS操作系统; DOS操作系统只能通过键盘输入命令来操作计算机 面向图形的操作系统,如Windows操作系统。而Windows不但可以用键盘来操作计算机,还可以通过更加直观的图形界面,用鼠标来操作计算机。,23,4.2.1 操作系统的任务及功能,1. 操作系统的概念 操作系统是一组程序的集合,它是系统软件的主要组成部分。一方面它直接管理和控制计算机的所有硬件和软件,使计算机系统的各部件相互协调一致地工作;另一方面,它

16、向用户提供正确地利用软硬件资源的方法和环境,使得用户能够通过操作系统充分而有效地使用计算机。 因此,操作系统是用户与计算机系统之间的接口。它好似个不可逾越的计算机管理中心,任何用户都必须通过它才能操作和使用计算机系统的各种资源。,24,2. 操作系统的作用,操作系统的主要作用有三个。 一是提高系统资源的利用。通过对计算机系统的软、硬件资源进行合理的调度与分配,改善资源的共享和利用状况,最大限度地发挥计算机系统工作效率,即提高计算机系统在单位时间内处理任务的能力(称为系统吞吐量)。 二是提供方便友好用户界面。通过友好的工作环境,改善用户与计算机的交互界面。有了操作系统,用户才可能方便有效的同计算

17、机打交道。 三是提供软件开发的运行环境。在开发软件时需要使用操作系统管理下的计算机系统,调用有关的工具软件及其它软件资源。因为任何一种软件并不是在任何一种系统上都可以进行的,所以操作系统也称为软件平台。,25,操作系统是怎样引导和控制计算机的呢?,从资源管理的角度来看,操作系统的功能分为处理机管理、存储管理、I/O设备管理、文件系统和用户接口等。,26,4.2.2 处理机(CPU)管理,又叫进程管理:解决程序在处理器上的有效执行问题 进程管理的功能:进程调度、进程控制、进程通信 进程是程序的一次执行。 进程调度则解决处理器的分配问题,它决定在多个进程请求运行时,选择或调度哪个进程,将处理器分配

18、给它,并使它运行。 进程控制是指对进程活动进行控制,包括创建进程、撤销进程、阻塞进程、唤醒进程等。 进程通信是指进程之间的信息交换。在同一个系统中运行着的多个进程,它们之间存在有相互制约的关系,为保证进程能有条不紊地执行,须设置进程同步机制。相互合作的进程之间往往需要交换信息,于是,系统要提供进程通信机制。,27,4.2.3 存储管理,存储器管理的任务是解决内存空间的分配问题 存储管理的主要功能包括: 存储分配 存储共享。 存储保护。 存储扩充。,28,4.2.3 存储管理,存储器是计算机系统的重要资源之一。存储管理是指存储器资源(主要指内存和外存)的管理。 存储管理主要功能如下: 存储分配。

19、根据用户程序需要给它分配存储器资源 存储共享。让内存中的多个用户程序实现存储资源的共享,以提高存储器的利用率。 存储保护。把不同用户程序相互隔离起来互不干扰,更不允许用户程序访问操作系统的程序和数据,从而保护用户程序存放在存储器中的信息不被破坏。 存储扩充。物理内存容量有限,难以满足用户程序的需求,存储管理从逻辑上来扩充内存储器,为用户提供一个比内存实际容量大得多的使用空间。,29,4.2.4 设备管理,设备管理用于管理计算机系统中所有的外围设备 设备管理的主要任务有: 1选择和分配输入/输出设备以便进行数据传输操作; 2控制输入/输出设备和CPU(或内存)之间交换数据; 3为用户提供一个友好

20、的透明接口,把用户和设备硬件 特性分开,使得用户不心考虑设备的硬件差异; 4. 提高设备和设备之间、CPU和设备之间的并行性。,30,4.2.5 文件管理,文件是在逻辑上具有完整意义的并赋有名称的信息集合体。 文件系统,就是操作系统中负责操纵和管理文件的一整套设施,它实现文件的建立、读写、修改、共享和保护等操作,还负责完成对文件的按名存取和进行存取控制。如FAT(32KB),FAT32(4KB),NTFS(4KB)。 具有对文件存储空间的管理、目录管理、文件的共享和保护、以及实现对文件的各种操作等功能。,31,(一) 文件和文件夹,1. 文件 1)文件的概念 按一定格式存储在外存储器上的信息集

21、合称为文件。文件可以是程序、数据、文字、图形、图像、动画或声音等。文件具有驻留性和长度可变性,是操作系统管理的信息和能独立进行存取的最小单位。磁盘为存储文件所分配空间的基本单位是“簇”,一个簇由一个或若干个磁盘扇区组成,一个文件再小,也起码要分配一个簇。 2)文件系统 操作系统中负责管理和存取文件的软件机构称为文件管理系统,简称文件系统。文件系统负责为用户建立文件,存取、修改和转储文件,控制文件的存取,用户可对文件实现“按名存取”。,32,(一)文件和文件夹,3)文件的命名 每个文件都必须有一个文件名。文件全名由盘符名、路径、主文件名(简称文件名)和文件扩展名4部分组成。 其格式如下所示。 盘

22、符名: 路径.扩展名 4)文件名通配符 通配符也称为统配符、替代符、多义符,即可以表示一组文件名的符号。通配符有两种,即星号“*”和问号“?”。 5)文件类型 文件名中的扩展名用于指定文件的类型,用户可以根据需要选择,但某些扩展名系统有特殊规定,用户不可以乱用或更改。一些流行的软件还可以自动为文件加扩展名。,33,(一)文件和文件夹,2. 标准文件夹的树结构及路径 为了防止不同的人使用相同的文件名存储文件而引起的冲突,可以使用操作系统的文件夹和路径。其目的是将不同类别不同用户的文件保存到不同的文件夹中,这样,具有相同文件名的文件就可以被保存在同一台计算机中,而且互不干扰。 只用来放置子文件夹和

23、文件的文件夹称为标准文件夹。 没有特别说明,文件夹都是指标准文件夹。,34,(二)路径,1)磁盘文件夹的树结构 磁盘可以划分成许多文件夹 2)路径和路径名 路径是文件夹的字符表示, 3)当前盘和当前文件夹 在指定一个文件时,可以用路径来指定。,35,4.2.6 操作系统的主要特性,1. 并发性 并发性(Concurrence)是指两个或两个以上的运行程序 在同一时间间隔段内同时执行。 2. 共享性 共享指操作系统中的资源(包括硬件资源和信息资源)可被多个并发执行的进程所使用。 3. 异步性 在多道程序环境中,允许多个进程并发执行,由于资源有限而进程众多,多数情况,进程的执行不是一贯到底,而是“

24、走走停停”,36,4.2.7 操作系统的分类,1. 单用户操作系统 2. 批处理操作系统 3. 实时操作系统 4. 分时操作系统 5. 网络操作系统 6. 分布式操作系统 7. 微机操作系统,37,操作系统的发展与分类,(1)单用户单任务的操作系统:主要特征是在一个计算机系统内,一次只能运行一个用户程序,此用户独占计算机系统的全部硬件和软件资源。常用的单用户单任务操作系统有MS-DOS、PC-DOS等。 单用户多任务操作系统也是为单个用户服务的,但它允许用户一次提交多项任务。常用的单用户多任务操作系统有OS2、Windows 3.x、Windows 95/98/2000/NT/XP系列等,这类

25、操作系统通常用于微机系统中。 (2)批处理阶段:其特点说是用户脱机使用计算机、作业成批处理和多道程序运行。,38,操作系统的发展与分类,(3)分时操作系统:是操作系统发展的第二个阶段。所谓分时系统就是在一台计算机上连接若干个终端机,用户可以在终端上向系统发出服务请求,等待机器的处理结果并决定下一步的处理。 分时操作系统主要特点是交互性、多用户同时性和独立性,实现了计算机系统的多用户多任务工作方式。现在流行的操作系统如UNIX、Linux、Windows NT等都是支持多用户多任务的分时操作系统。 (4)实时操作系统:实时操作系统指对随机发生的外部事件做出及时地响应并对其进行处理,换言之,在规定

26、的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。 实时操作系统的主要特点是高响应性、高可靠性和安全性。通常应用于工业过程控制和信息实时处理方面。,39,操作系统的发展与分类,(5)网络操作系统:用于对多台计算机的硬件和软件资源进行管理和控制,提供网络通信和网络资源的共享功能。最有代表性的几种网络操作系统是ovell 公司的 Netware、Windows 2000 Server、Windows XP、 UNIX、Linux等。 (6)分布式操作系统:是多台计算机经网络连接在一起而组成的系统,系统中两台计算机可以通过远程调用交换信息。 (7)微机操作系统:微机常用的操作系统主要有多

27、用户多任务的UNIX、单用户多任务的Windows 9x、 Windows 2000、 Windows XP、以及用于Apple 计算机的MAC OS X。Windows 系统操作系统以及友好的人机界面已成为微机的主要操作系统。,Windows 的特点,直观、高效的面向对象的图形用户界面,易学易用 用户界面统一、友好、美观 丰富的设备无关的图形操作 Windows的图形设备接口(GDI)提供了丰富的图形操作函数。 多任务 每个程序在屏幕上占据一个矩形区域,这个矩形区域称为窗口。窗口可以重叠、移动、在不同应用程序之间切换,甚至可以在程序之间进行手工和自动的数据交换和通信。同一时刻仅有一个处于活动

28、状态,其标题栏呈现高亮颜色。一个活动的程序是指当前能够接受用户键盘输入的程序。,40,UNIX 的特点,1. 技术成熟,可靠性高 2. 极强的可伸缩性 3. 网络功能强 4. 强大的数据库支持能力 5. 开发功能强 6. 开放性好 7. 标准化,41,Linux 的特点,1. 可完全免费得到 2. 可以运行在386以上及各种RISC体系结构机器上 3. Linux是UNIX的完整实现 4. 真正的多任务多用户 5. 完全符合POSIX标准 6. 具有图形用户界面 7. 具有强大的网络功能 8. 是完整的UNIX开发平台,42,43,4.2.8 常见的操作系统,windows,Windows x

29、p,Windows 7,Windows vista,44,4.2.8 常见的操作系统,linux,45,4.2.3 常见的操作系统,Mac OS,46,4.3 应用软件,利用计算机的软、硬件资源为某一应用领域解决某个实际问题而专门开发的软件,称为应用软件。用户使用各种应用软件可产生相应的文档,这些文档可被修改。 应用软件一般可以分为两大类:通用应用软件和专用应用软件。 通用应用软件支持最基本的应用,广泛地应用于几乎所有的专业领域,如办公软件包、数据库管理系统软件(有的把该软件归入系统软件的范畴)、计算机辅助设计软件、各种图形图象处理软件、财务处理软件、工资管理软件等。 专用应用软件是专门是为某

30、一个专业领域、行业、单位特定需求而专门开发的软件,如某企业的信息管理系统、高校的学籍管理系统等。,47,4.3 应用软件,1.科学和工程计算软件,如MATLAB 2.字表处理软件,如Word、WPS、Excel 3.图形图像处理软件,如Photoshop 4.网络应用软件,如Internet Explorer 5.应用数据库软件,如Oracle、Access、MySQL,48,4.3.1 办公自动化软件 office,Office 2010主要包括Word 2010 (文字处理软件)、Excel 2010 (电子表格软件)、PowerPoint 2010 (演示文稿制作软件)、Outlook

31、2010 (桌面管理软件)、Access 2010 (数据库管理软件)、还有Publisher 2010 (出版软件)、Microsoft IME(输入法)和PhotoDraw(图形图像处理软件)等应用程序或称组件。 这些软件具有Windows应用程序的共同特点,如易学易用,操作方便,有形象的图形界面和方便的联机帮助功能,提供实用的模板,支持对象连接与嵌入(OLE)技术等。Office 2010为适应全球网络化的需要,它融合了最先进的Internet技术,具有更强大的网络功能。,49,4.3.2 图形图像处理软件,图形软件的功能是帮助用户建立、编辑和操作图片。这些图片可以是用户计划插入一本永久

32、性小册子的照片、一个随意的画像、一个详细的房屋设计图、或是一个卡通动画。 选择什么样的图形软件决定于你所要制作的图片类型。 前最畅销的图形软件包诸如Adobe公司的Photoshop、微软Office套件中的PhotoDraw、Corel公司的Painter、 Photo-Pain和CorelDRAW、ACD公司的ACDSee以及Microsoft Photo Editor,这些图像处理软件功能各有侧重,适用于不同的用户。 当用户知道自己需要的是哪一种类型的图片时,就会根据软件描述和评论找到正确的图形软件。,50,4.3.3 视频处理软件,现在玩DV的人越来越多,他们更热衷于通过数码相机、摄像

33、机摄录下自己的生活片断,再用视频编辑软件将影像制作成碟片,在电视上来播放,体验自己制作、编辑电影的乐趣。 目前,市场上有不少视频编辑软件可供大家选择, Movie Maker是Windows XP的附件,可以通过数码相机等设备获取素材,创建并观看自定义的视频影片,创建自己的家庭录像,添加自定义的音频曲目、解说和过渡效果,制作电影片段和视频光盘,还可以从CD(唱盘)、TV(电视)、VCR(录像机)等连接到计算机的设备上复制音乐,并储存到计算机中。,51,4.4 程序设计语言与语言处理程序,程序设计语言是软件系统的重要组成部分,程序语言的进化史可分为机器语言、汇编语言、高级语言三个阶段(图4-21

34、)。,52,低级语言,机器语言: 由二进制代码组成、面向机器的指令序列 汇编语言 符号化了的机器语言。ADDAL,2,53,高级程序设计语言,接近于自然语言、易于理解、面向问题。 FORTRAN语言,1956年,第一个被广泛使用。 BASIC语言,1964年,较早出现且至今仍有较大影响。 COBOL语言,1960年,面向行业的管理软件开发。 Pascal语言,1970年正式发布,第一个系统地体现结构化程序设计思想的语言。 C语言,1972年,UNIX系统语言工具,至今广泛使用。,54,语言处理程序,语言处理程序是将用程序设计语言编写的源程序转换成机器语言的形式,使计算机能够运行它。 编译程序用

35、来完成这种转换,并进行语法、语义等方面的检查,编译程序统称为语言处理程序,分为: 1.汇编程序 2.编译程序 3.解释程序,55,可视化编程语言,可视化编程语言与工具,目的是利用一系列高效的、具有良好可视化的编程工具去开发各种软件,以达到事半功倍的效果。目前比较流行的有: 1.VisualBasic,易学,开发效率高,但不具备跨平台性质 2.VisualC+,基于MFC类库,功能强大,但难学 3.Delphi,面向对象,适合数据库、网络应用程序开发 4.C+Builder,继承了Delphi特点和C+语言的优点 5.PowerBuilder,适合开发各类管理系统和各类跨平台数据库,易学、易掌握

36、,代码执行效率高。真正的4GL语言。 6.Java,“一次编码,多次运行”。Sun,BorlandJBuilder。面向对象特性全面、支持的组件技术多,跨平台特性好,56,.NET是什么?,.NET是指连接信息、人群、系统和设备的软件。 .NET是Microsoft新推出的用于快速创建和集成XMLWeb服务和应用程序的综合工具,用于解決新一代网络应用程序的需求。 Web Services是.NET的核心技术。那什么是Web Services呢?正如Web是新一代的用户与应用交互的途径,XML是新一代的程序之间通讯的途径一样,Web Services是新一代的计算机与计算机之间一种通用的数据传输

37、格式,可让不同运算系统更容易进行数据交换。,57,从面向过程(OP)到面向对象(OO),软件开发的过程就是人们使用各种计算机语言将人们关心的现实世界(问题域)映射到计算机世界的过程(图4-23)。 ,58,面向过程的程序设计(ProcessOrientedProgramming:PO)是指采用面向过程的程序设计语言进行编程,实现软件设计流程图所描述的信息处理过程的功能。 面向对象的程序设计方法(Object-OrientedProgramming:OO)基于面向对象模型。采用面向对象的程序设计语言编程实现。,59,4.5 软件工程及其标准,4.5.1 “软件之道”软件工程之路 软件工程是将系统

38、化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中,并对以上所述的方法研究,60,软件危机,软件危机(Software Crisis) 是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。概括地说,主要包含两方面的问题: 如何开发软件,怎样满足对软件日益增长的需求; 如何维护数量不断膨胀的已有软件。,61,软件危机的主要表现,1、对软件开发成本和进度的估计常常很不准确。 实际成本比估计成本有可能高出一个数量级,实际进度比预期进度拖延几个月甚至几年的现象并不罕见。这种现象降低了开发组织的信誉。为赶进度和节约成本所采取的权宜之计往往又损害了软件产品的质量,从

39、而不可避免地引起用户的不满。 2、用户对“已完成的”软件系统不满意的现象经常发生。 软件开发人员常常在对用户需求只有模糊的了解,甚至对所要解决的问题还没有确切认识的情况下,就仓促上阵匆忙着手编写程序。软件开发人员和用户之间的交流往往很不充分,“闭门造车”必然导致最终产品不符合用户实际需要。,62,软件危机的主要表现,3、软件产品的质量常常靠不住。 软件可靠性和质量保证的确切定量概念刚刚出现,软件质量保证技术(审查、复审和测试)还没有坚持不懈地应用到软件开发的全过程中,这些都会导致软件产品发生质量问题。 4、软件常常是不可维护的。 程序中的错误很难改正,实际上不可能使这些程序适应新的硬件环境,也

40、不能根据用户的需求在原有程序中增加新的功能。,63,软件危机的主要表现,5. 软件通常没有适当的文档资料。 软件不仅是程序,还应该有一整套文档资料。这些文档资料是在软件开发过程中产生出来的,而且应该是“最新的”(与代码完全一致)。缺乏文档必然给软件的开发和维护带来许多严重的困难和问题。 6. 软件成本在计算机系统总成本中所占比例逐年上升。 随着微电子技术的进步和生产自动化程度的提高,硬件成本逐年下降,然而软件开发需要大量的人力,软件成本随着通货膨胀以及软件规模和数量的不断扩大而逐年上升。美国在1995年的调查表明,软件成本大约已占计算机系统总成本的90%。,64,软件危机 vs 软件工程,软件工程就是为克服软件危机提出的一种概念,并在实践中不断地探索它的原理、技术和方法。 人们研究和借鉴了工程学的某些原理和方法,并形成了一门新的学科,即“软件工程”学。,65,软件工程及软件工程框架,软件计算机系统中的程序及其文档。 程序是计算任务的处理对象和处理规则的描述 文档是为了便于了解程序所需的阐明性资料 工程将理论和所学的知识应用于实践的科学。,66,软件工程软件工程是一门交叉性学科,它应用计算机科学、数学及管理科学等原理,开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。其中, 计算机科学、数学用于构造模型与算法 工程科学用于制定规范、设计范型、评估成

温馨提示

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

评论

0/150

提交评论