计算机导论(5)

1. 软件

1.软件的定义

软件是用户与硬件之间的接口用户主要是通过软件与计算机进行交流的。
从传统意义上讲,软件是计算机系统中与硬件相互依存的一个部分(非硬件部分)。简单认为:软件=程序+数据+文档(程序是按照事先设计的功能和性能要求执行的指令序列;数据包括使程序能正常运行的参数及程序运行中所处理的对象;文档是与程序开发、维护和使用有关资料的总称)

2.软件的分类

1.按软件的功能分类
(1)系统软件:系统软件为计算机使用提供最基本的功能,可分为操作系统和系统软件,其中操作系统是所有软件运行的基础(DOS、Linux、Mac OS、OS/2、Windows等)
(2)应用软件:应用软件是为了满足某一领域、某类问题的应用需求而提供的软件(用于财务工作的会计软件、用于统计分析的统计软件、用于办公的文字处理软件、用于工程设计的绘图软件等)

2.按软件的工作方式分类
(1)实时处理软件:在事件或数据产生时立即对它们进行处理,并及时反馈信号,以检测和控制软件的执行
(2)分时软件:允许多个用户使用同一台计算机,允许多个程序分时共享硬件和软件资源,或者允许多个联机用户使用同计算机的软件
(3)交互式软件:能实现人—机通信的软件
(4)批处理软件:把一组输入作业或一批数据已成批的方式一次运行,并按照顺序逐个处理的软件

3.软件架构

1.定义

软件架构(software architecture)是有关软件整体结构与组件的抽象模式,用于指导大型软件系统各个方面的设计。从本质上来看,软件架构是属于一种系统的草图。在软件架构所描述的对象就是直接构成系统的抽象组件

2.作用
使设计的目标具有灵活性、可扩充性和可移植性

3.分层

分层表示将功能进行了有序的分组:应用程序专用功能位于高层,跨越应用程序领域的功能位于中层,而配置环境专用功能则位于低层。高层的策略不会因为低层细节的变化而受到影响。

4. 操作系统

1.什么是操作系统
操作系统( operating system,OS)为计算机硬件和应用程序提供了一个交互的界面,并指挥计算机各部分硬件的基本工作。
(1)系统观点——计算机资源处理
操作系统组织和管理整个计算机的硬件和软件资源,在用户和程序之间分配系统资源,直至协调一致地、高效地完成各种复杂的任务。
(2)用户观点——用户使用计算机的界面
通过操作系统,计算机可以通过命令方式、系统调用和图形界面为用户提供服务。
(3)软件观点——程序、数据和文档的集合
操作系统是直接与硬件相连的第一层软件,为其他软件或程序提供开发、运行和应用的环境。

2.DOS
磁盘操作系统(Disk Operating System,DOS)是个人计算机上使用的一种操作系统,通过命令行方式下输入命令对计算机资源进行管理

3.Windows操作系统
Windows采用了图形化模式GUI,比起从前的DOS需要输入指令使用的方式,更为人性化。它不但易用,也当前应用最广泛的操作系统
特点:人机操作性优异、支持的应用软件较多、对硬件支持良好、直观、高效的面向对象的图形用户界面,易学易用、多任务
**Windows的体系结构:**它采用了双模式结构(用户模式和内核模式)

4.UNIX操作系统
NUIX是一个通用的、多任务、交互式的分时操作系统,被认为是开放式系统的代表
特点:良好的用户界面、使用方便、功能齐全、清晰而灵活、易于扩充和修改等

5.Linux操作系统
Linux是自由和开放源代码的类UNIX操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。
特点:模块化程度高、源代码公开、广泛的硬件支持、安全性及可靠性好、完整的网络集成

6.Mac OS
Mac OS是一套运行于苹果Macintosh系列电脑上的操作系统。Mac OS是首个在商用领域成功的图形用户界面操作系统
特点简单易用、稳定可靠

7.智能手机操作系统
智能手机可以像个人电脑一样安装第三方软件,所以智能手机有丰富的功能。智能手机通常使用的操作系统有:Android、iOS、Symbian、Windows Phone和Blackberry OS。

5.软件的开发

1.软件工程
软件工程(Software Engineering,SE )是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。

2.开发过程
(1)问题定义——要解决的问题是什么
(2)可行性研究——对上一个阶段所确定的问题是否有行得通的解决办法
(3)需求分析——为了解决这个问题,目标系统需要做什么
(4)总体设计——概括地说,应该如何实现目标系统
(5)详细设计——如何具体地实现这个系统设计出程序的详细规格说明
(6)程序开发——写出正确且容易理解、容易维护的程序模块
(7)软件测试——通过各种类型的测试(及相应的调试)使软件达到预定的要求
(8)软件维护——通过各种必要的维护活动是系统持久地满足用户的需要。

3.用户界面和用户体验
(1)用户界面
用户界面(User Interface, UI)是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换
三大原则:置界面于用户的控制之下、减少用户的记忆负担、保持界面的一致性

(2)用户体验
用户体验(User Experience,UE)是一种在用户在使用软件过程中所建立起来的主观感受。
设计目标:是有用、易用和友好

6.软件行业职业简介

分类(按需求分)
(1)项目管理类:项目经理、质量保证(QA)工程师
(2)开发类:需求分析师、开发工程师、人机系统开发工程师、系统分析师、系统架构师
(3)测试类:测试工程师、产品测试经理
(4)系统类:网络工程师、基础设施工程师
(5)安全类:网络安全管理员、安全开发工程师
(6)维护类:数据库管理员、系统管理员
(7)销售类:售前工程师、售后工程师、系统集成工程师

2.程序设计语言

1.简介

定义:程序设计语言(Programming Language)是一组用来定义计算机程序的语法规则。

因素:语法、语义和语用(语法指用字符组合成合法语句的规则集合,用于定义语言各种要素之间的形式关系,确定合法语句的结构描述,形成和产生一个合适的程序;语义指一条合法语句的含义。可以定义一个程序的意义的一组规则称为语义规则;语用问题指实现的简易性、应用的效率和编程的方法论,可以吧语用看作是程序与使用者的关系)

2.分类及演化

1.机器语言(第一代机器语言):用二进制代码表示的计算机能直接识别和执行的机器指令的集合(计算机唯一能识别的语言是机器语言)

2.汇编语言(第二代机器语言):汇编语言采用助记符来编写程序,是机器语言的符号化

3.高级语言(第三代机器语言):是面向用户的语言,是一种与自然语言相近并为计算机所接受和执行的计算机语言

4.第四代非过程化语言 :4GL 是非过程化语言,编码时只需说明“做什么”,不需描述算法细节

3.编程模式

按照解决问题的模式来分类:
过程式编程模式:与人们实际思考问题的方式很接近
面向对象编程模式:面向对象编程模式是软件系统设计与实现的新方法
函数式编程模式:在函数式编程模式中程序被看为一个函数
说明式编程模式:说明式编程模式依据逻辑推理的原则响应查询,它是在逻辑推理的基础上发展而来的

你可能感兴趣的:(计算机导论(5))