软件与程序是什么关系?
软件工程主要是设计,就象盖大楼之前画那个设计图 软件技术主要是编程,就象盖大楼的人 软件工程是理论,是总纲,是思想,是经验 软件技术是实践,是工具,是技巧,是经验 经验很主要 如果只会软件工程,那是永远的纸上谈兵 如果只会软件技术,那是永远的卖命小卒
系统软件和应用软件的区别是什么?
1. 系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。
系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
2. 应用软件(application software)是和系统软件相对应的,是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。
应用软件包是利用计算机解决某类问题而设计的程序的集合,供多用户使用。
应用软件是为满足用户不同领域、不同问题的应用需求而提供的那部分软件。
它可以拓宽计算机系统的应用领域,放大硬件的功能。
进程和程序的关系?
EXE File(可执行程序),一种可在操作系统存储空间中浮动定位的可执行程序。
MS-DOS和MS-WINDOWS下,此类文件扩展名为.exe 2.WINDOWS操作系统中的二进制可执行文件,可执行文件分两种一种是后辍名为.COM另一种就是.EXE 。
应用程序是指为了完成某项或某几项特定任务而被开发运行于操作系统之上的计算机程序。
应用程序与应用软件的概念不同,但常常因为概念相似而被混淆。
软件指程序与其相关文档或其他从属物的集合。
一般的我们视程序为软件的一个组成部分。
计算机程序与软件的关系是什么?
一个类比可以使我们更容易理解这一点。
想象一位有一手好厨艺的计算机科学家正在为他的女儿烘制生日蛋糕。
他有做生日蛋糕的食谱,厨房里有所需的原料:面粉、鸡蛋、糖、香草汁等等。
在这个比喻中,做蛋糕的食谱就是程序(即用适当形式描述的算法),计算机科学家就是处理机(CPU),而做蛋糕的各种原料就是输入数据。
进程就是厨师阅读食谱、取来各种原料、以及烘制蛋糕的一系列动作的总和。
现在假设计算机科学家的儿子哭着跑了进来,说他被一只蜜蜂螫了。
计算机科学家就记录下他照着食谱做到哪儿了(保存进程的当前状态),然后拿出一本急救手册,按照其中的指示处理螫伤。
这里,我们看到处理机从一个进程(做蛋糕)切换到另一个高优先级的进程(实施医疗救治),每个(进程)拥有各自的程序(食谱和急救书)。
当蜜蜂螫伤处理完之后,计算机科学家又回来做蛋糕,从他离开时的那一步继续做下去。
这里的关键思想是:一个进程是某种类型的一个活动,它有程序、输入、输出、及状态。
单个处理机被若干进程共享,它使用某种调度算法决定何时停止一个进程的工作,并转而为另一个进程提供服务。
算法与程序的关系
程序包含算法,算法就是程序的灵魂,一个需要实现特定功能的程序,实现它的算法可以有很多种,所以算法的优劣决定着程序的好坏。
程序员很熟练的掌握了程序设计语言的语法,进行程序设计,软件开发的时候就是设计好的算法,加上软件工程的 理论才能做出较好的系统。
算法是指解决问题的一种方法或一个过程。
算法是若干指令的有穷序列,满足性质: (1)输入:由外部提供的量作为算法的输入。
(2)输出:算法产生至少一个量作为输出。
(3)确定性:组成算法的每条指令是清晰,无歧义的。
(4)有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的。
3.程序是算法用某种程序设计语言的具体实现。
程序可以不满足算法的性质。
例如操作系统,是一个在无限循环中执行的程序,因而不是一个算法。
操作系统的各种任务可看成是单独的问题,每一个问题由操作系统中的一个子程序通过特定的算法来实现。
该子程序得到输出结果后便终止。
...