基本完成 “软件与软件学科”

This commit is contained in:
Xiaoxing Ma 2019-10-12 14:31:59 +08:00
parent 2819b8144b
commit 9ea0065d3b
2 changed files with 69 additions and 17 deletions

View File

@ -1,5 +1,6 @@
% !TEX root = main.tex
%\chapter[软件科学与工程学科发展战略(摘要)]{ 软件科学与工程学科\\发展战略(摘要) }
\epigraph{\emph{软件承载着我们的文明。\\Our civilization runs on software.}}{Bjarne Stroustrup}
@ -21,9 +22,10 @@
因此,软件科学与工程学科(以下简称软件学科)本质上是一门具有高度综合性的方法论学科。
60余年的发展历史表明软件学科具有独特的发展规律其内涵与外延随着计算平台的与应用范围
的不断拓展而迅速发展。当前,随着物联网、云计算、大数据和人工智能技术的进一步发展,
软件及软件学科面临着前所未有的系统复杂性和可信要求的重大挑战,也孕育着新的范式转换的重大机遇。
软件及软件学科面临着前所未有的系统复杂性、适应性和可信要求的重大挑战,也孕育着新的范式转换的重大机遇。
本报告回顾总结软件学科的发展历程和发展规律,进而针对以人机物三元融合、软件定义一切的发展趋势,展望学科发展的关键问题和重要研究方向,并给出学科领域未来发展的政策建议。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{软件与软件学科}
\subsection{软件}
@ -31,21 +33,63 @@
人们通常把软件理解为计算机系统中与硬件相对的部分,包括程序及其文档,以及相关的数据。
但这只是软件的存在形式,其所表达和实现的实质内容是以计算为核心手段实现应用目标的解决方案。
不同于一般物品,软件是一种人工制品,同时也是一种纯粹的逻辑制品。
作为一种人工制品,其需以适应其所处环境的方式完成应用目标;作为逻辑制品,其困难不在于物理限制而在于逻辑构造。因此,软件开发活动本质上不同于传统工程制造:后者在于“造物”,前者可谓“拟人”—即表达人脑思维形成的问题解决方案;后者可有规模效应,而对前者而言,每一个软件系统都是独一无二的创造。
软件既不同于自然物;又不同于人造物;
软件暨受刚性约束,又能柔性适应。软件以计算为实现手段,受图灵可计算性、计算复杂性和逻辑正确性的刚性约束。软件作为逻辑制品,其本身没有任何物理意义的弹性。
而通用图灵机模型和存储程序式计算机架构又使得软件具有无与伦比的灵活性,在前述刚性约束下,可以表达千变万化的计算解决方案。
这是其他任何种类的制品所不具有的巨大优势。
软件是人类所制造的最复杂的一类制品。软件作为逻辑制品不受物理限制,其规模原则上可以无限扩展。
其高度灵活性也使得软件不仅仅是系统中的信息处理工具,也是管理各类资源、融合人机物的“万能集成器”。
这就使得整个人工系统的复杂性向软件集中。
纵观软件的发展历程,其复杂性呈爆炸性增长趋势。
当前一辆汽车所涉及的软件代码已达上亿行的规模而谷歌所有的网络服务涉及的代码达到20亿行。
对复杂性的驾驭成为软件开发和运维的核心挑战。
\subsection{软件的重要地位}
进入21世纪以来信息技术及其应用飞速发展已经广泛覆盖并深入渗透到了社会生活的方方面面。
特别地,近年来,以云计算、大数据、移动互联网、物联网、人工智能为代表的新一代信息技术推动信息技术应用进入跨界融合的繁荣期,
开始呈现出“网构化、普适化、智能化”的新趋势,并不断催生新平台、新模式和新思维。
可以说,信息技术及其深度应用已经推动人类社会步入到一个新的发展阶段。
%对这样一个新的发展阶段,可以从不同的视角去考察和认知。
%例如,从基础设施视角,可视为是以互联网为核心主干,移动网、广电网、物联网等多种网络融合形成新型泛在化基础设施,并支撑规模化跨界创新应用服务模式为特征的“互联网+”时代;
%从计算模式视角,可视为是以支持计算、存储、网络、数据、应用等资源的集约式管理和服务化使用为特征的云计算时代;
%从信息资源视角,则可视为是将数据作为新型战略资源并以数据的深度挖掘和融合应用为特征的大数据时代;
%从信息应用视角,则可视为是以人工智能技术为基础,支持感知、认知到决策为特征的智能化时代。
%然而,如果
从使能技术的视角看,软件技术在信息技术中则始终处于“灵魂”地位,所有新的信息技术应用、平台和服务模式,均离不开软件技术作为基础支撑。
更为重要的是,软件技术不仅引领信息技术产业的变革,在很多传统领域(如汽车、能源、制造、零售等)中的存在比重和重要性也在不断加大,
在支持这些传统领域产业结构升级换代甚至颠覆式创新的过程中起到核心关键作用,并进一步加速重构了全球分工体系和竞争格局。
例如作为新一轮科技革命和产业变革的标志德国的“工业4.0”和美国的“工业互联网”以及我国的“中国制造2025”均将软件技术作为发展重点。
无所不在的软件,正在走出信息世界的范畴,开始深度渗透到物理世界和人类社会,开始扮演着重新定义整个世界的重要角色。在这个意义上,我们正在进入一个“软件定义一切”的时代!
\subsection{软件学科}
软件学科是研究以软件求解应用问题的理论、原则、方法和技术,以及相应的工具支持和生态环境的学科。
也就是说,软件学科本质上是一门方法论学科。
%其带来的是一种人类思维的创新,以人机共融方式延伸了单纯人脑思维,形成了一种前所未有的创造力。
%
软件学科在整个计算机学科中占有举足轻重的核心地位。从1966年首届图灵奖至2018年的53次颁奖中属于软件领域的有37次69.8\%其中以程序设计语言、编译和操作系统为主获奖的有22次获奖还有4次数据库获奖。
软件学科是研究以软件求解应用问题的理论、原则、方法和技术以及相应的工具支持和生态环境的学科。也就是说软件学科本质上是一门方法论学科【cite N. Wirth】。其带来的是一种人类思维的创新以人机共融方式延伸了单纯人脑思维形成了一种前所未有的创造力。随着软件应用范围的扩张,软件的计算平台的泛化和软件方法技术的发展,软件学科的边界不断拓展,内涵不断深化。
作为一门相对年轻而又发展迅速的学科,软件学科的内容一直在不断深化、边界一直在不断扩展。
从学科内容看,作为方法论的软件学科其总目标在于帮助开发者驾驭以计算为手段解决应用问题的复杂性。
而抽象是驾驭负责性的基本手段。若采用以软件抽象为中心的视角,软件学科包含三个核心子领域,即程序设计语言与理论、系统软件、软件工程。
其中,程序设计语言与理论的核心任务是建立通用的抽象,系统软件的核心任务是高效实现通用的抽象,而软件工程的核心任务是使用通用抽象完成特定应用目标。
由于应用范围的迅速拓展,软件抽象中用于表述现实世界的数据抽象日益重要,数据量及其复杂性迅猛增长,数据管理逐渐从上述三个子领域中分离出来成为一个单独的子领域。
随着软件学科的不断拓展,它也逐渐成为一门基础学科,并向其他学科渗透。
从目前我国人才培养一级学科划分看,软件学科横跨了计算机科学与技术,软件工程、网络空间安全等三个一级学科,特别是与计算机软件与理论二级学科和软件工程一级学科关系密切。
与本国际本科计算教育学科划分相比软件学科横跨了ACM/IEEE计算教程等五个学科即计算机科学、计算机工程、软件工程、信息技术、信息系统。
随着软件学科的快速发展,软件学科也逐渐成为一门基础学科,并向其他学科渗透。
所谓基础学科,是指某个拓展人类可认识改造的世界疆域之不可替代知识体系,具有独特的思维方式与方法论,为其他学科发展提供不可或缺的支撑。
其一个标志是其基础内容进入国民基础教育课程体系。软件学科日益呈现出这些特征:软件是把物理世界拓展为信息-物理-社会融合世界的主要手段;与此同时,“软件定义”赋能的计算思维有可能成为继实验观察、理论推导、计算仿真、数据密集型科学之后的新的研究手段,尤其是为以信息-物理-社会融合系统为对象的科学研究提供赖以运作的理论基础和实践规范。而以软件知识为主体的计算机教育已经成为包括我国在内的多个国家的国民基础教育课程体系的主要内容之一。
\section{学科发展历程与规律}
\section{发展历程与发展规律}
\subsection{软件学科发展驱动力}
作为一门方法论学科,软件学科拓展的驱动力来自软件应用范围扩张、计算平台的泛化和软件方法技术本身发展三个方面。
@ -56,11 +100,8 @@
当前,计算的泛在化和软件定义一切的发展趋势使得软件成为信息社会的基础设施,软件学科也进入了一个新的阶段。
“计算的泛在化”是指计算变得无处不在而又无迹可寻。万物数字化、万物互联使得计算无处不在,形成了“人-机-物” 三元融合的发展趋势。
计算自然融入人类 生产、生活活动的环境和过程之中,无需关注,不着痕迹。
“软件定义”是指软件以平台化的方式,向下管理各种资源,向上提供编程接口,其核心途径是资源虚拟化以及功能可编程。
“软件定义一切”则将软件平台所管理的资源和提供的编程抽象泛化到包括计算、存储、网络、软件服务等在内的各类计算资源,
包括各种数字化机电设备和可传感物体对象在内的各类物理资源,乃至可通过激励机制调配的人力资源。
所谓“计算的泛在化”是指计算变得无处不在而又无迹可寻。万物数字化、万物互联使得计算无处不在,形成了“人-机-物” 三元融合的发展趋势。计算自然融入人类 生产、生活活动的环境和过程之中,无需关注,不着痕迹。
所谓“软件定义”是指软件以平台化的方式,向下管理各种资源,向上提供编程接口,其核心途径是资源虚拟化以及功能可编程。而“软件定义一切”则将软件平台所管理的资源和提供的编程抽象泛化到包括计算、存储、网络、软件服务等在内的各类计算资源,包括各种数字化机电设备和可传感物体对象在内的各类物理资源,乃至可通过激励机制调配的人力资源。
软件的基础设施地位具体表现为四个方面。首先,一大批基础软件本身就是信息基础设施,支撑各种应用软件的运行。
其次,一大批嵌入式软件已成为掌控并支撑物理基础设施运行的关键系统。
@ -279,15 +320,24 @@
软件价值
\subsection{软件教育政策建议}
推行以“计算思维 + 创新思维”为核心的普及教育,包括软件学科核心认知能力的成长模型和规律及其知识体系、以计算思维为核心,融合创新思维的系统化认知能力培养方法和适应不同认知水平且贯穿终生的软件学科普及教育方法。
推行以“多学科交叉融合知识体系+系统能力和解决复杂工程 问题能力培养”为核心的专业教育,包括建立面向多学科交叉融合的软件学科专业教育的知识体系和软件学科专业教育核心能力的培养方法。
推行以“专业学科知识 + 软件学科知识”为基础,实现复合型、创新型和跨界人才培养的其他学科专业教育,建立基于“专业学科知识 + 软件学科知识”的其他学科专业教育知识体系和具有软件学科知识和能力的复合型、创新型和跨界专业人才培养方法。
开展以“探究成才规律 + 寻求理念创新 + 开发支撑软件”为 核心的教育方法改革,探索软件学科人才培养模型及规律、研究软件学科资源在人才培养中的应用,推进群体化学习和大规模在线开放实践 MOOP研发软件学科教育的支撑软件。
\begin{enumerate}
\item 推行以“计算思维 + 创新思维”为核心的普及教育,包括软件学科核心认知能力的成长模型和规律及其知识体系、以计算思维为核心,融合创新思维的系统化认知能力培养方法和适应不同认知水平且贯穿终生的软件学科普及教育方法。
%
\item 推行以“多学科交叉融合知识体系+系统能力和解决复杂工程 问题能力培养”为核心的专业教育,包括建立面向多学科交叉融合的软件学科专业教育的知识体系和软件学科专业教育核心能力的培养方法。
%
\item 推行以“专业学科知识 + 软件学科知识”为基础,实现复合型、创新型和跨界人才培养的其他学科专业教育,建立基于“专业学科知识 + 软件学科知识”的其他学科专业教育知识体系和具有软件学科知识和能力的复合型、创新型和跨界专业人才培养方法。
%
\item 开展以“探究成才规律 + 寻求理念创新 + 开发支撑软件”为 核心的教育方法改革,探索软件学科人才培养模型及规律、研究软件学科资源在人才培养中的应用,推进群体化学习和大规模在线开放实践 MOOP研发软件学科教育的支撑软件。
\end{enumerate}
\subsection{软件产业政策建议}
\begin{enumerate}
\item 建立有针对性的知识产权保护、投融资政策环境,培育健康发展的软件产业生态。
\item 建立数据开放机制和平台,鼓励围绕大数据聚集、管理、分析和应用的大规模协作制定数据开放的相关政策,开放地理、气候、统计、环境、交通等政府数据,并建立基于互联网的大数据开放共享平台,以及开放的数据分析工具库,鼓励不同的组织和个人基于此平台开展数据聚集、管理、分析和应用的大规模协作,挖掘数据蕴含的价值,提供高附加值的数据类软件产品和服务。
\item 面向智慧城市、移动互联网应用等热点领域加大投入,支持高附加值的新型网络计算操作系统和应用支撑工具平台的技术创新和产品推广
针对智慧城市、移动互联网应用等当前需求迫切且应用价值高的热点领域,加大投入力度,把握互联网、移动互联网、物联网等平台深度普及所带来的发展契机,支持产学研用相结合的技术创新和成果转化,建立自主可控的新型网络计算操作系统和应用支撑工具平台,打造针对热点应用领域的高附加值基础软件产品。
\end{enumerate}
\section{小结}

View File

@ -1,3 +1,5 @@
% !TEX program = xelatex
\documentclass[b5paper, oneside]{ctexbook}
\usepackage{graphicx}