1.什么是软件
> 软件是信息系统的灵魂,是世界数字化的直接产物、自动化的现代途径、智能化的逻辑载体。
如今软件应用的触角已经深入我们社会经济生活的方方面面。软件最初是由计算机程序和程序设计的概念发展演化而来的,是在程序和程序设计发展到一定规模并且逐步商品化的过程中形成的。软件开发经历了程序设计阶段、软件设计阶段和软件工程阶段的演变过程。
广义上的“软件”,是指任何构筑在建筑、机械、电子等物理设备之上可灵活调整的流程、规则、服务和各种逻辑。而计算机系统中的(狭义上的)软件是以计算为核心手段实现应用目标的解决方案。也可以认为软件是与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。按应用范围划分,一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。
2.什么是软件工程
软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。简单来说,软件工程可以理解为软件开发的工程化或工程化的软件开发。
3.软件工程要学什么
软件专业要学的内容大致可以分为3类。
专业课:比如数据结构、操作系统、计算机组成原理和计算机网络。
公共基础课:高等数学、大学物理、大学英语、近代史纲要等等。
编程语言:C语言、C++、JAVA、Python。
下图为华南理工大学软件专业具体课程
4.软件工程要培养怎样的人才
软件工程专业是以国际信息技术发展为导向,面向国民经济建设与社会发展需要,培养掌握扎实的计算机软件基础理论和工程专业知识,具有创新潜力和工程实践能力,具备团队协作能力与精神,能够参与国际竞争的工程型、创新型、复合型的软件工程人才。
5.软件工程的就业怎样
软件工程专业的学生毕业之后,可以在科研机构、IT行业、各大企业中发展,可以从事与软件系统相关的一些开发与研制工作,加入到计算机行业中去,担任相关的职位。
很多同学认为软件工程专业毕业后,只能从事程序员工作,只会写代码做开发做测试,其实大家还有很多就业方向可以选择。
除了当程序员之外,还可以选择产品经理、测试工程师、运维工程师、数据分析师、系统架构师、算法工程师、UI设计师、互联网运营等等。就业前景还是较为可观的。
6.软件工程是不是教会不怎么会写程序的人开发软件
不是的,会编写程序是计算机专业最最基本的专业要求,而软件工程的内容更丰富,具有层次性。我们首先要明白编写程序与工程化的软件开发是有很大的差别,编写的程序并没有针对来自现实世界的需求,不考虑相关的质量要求,也没有按照工业化的过程进行开发。软件开发是一个从现实世界到计算机世界的知识转换过程。开发软件只是软件工程的一个层次,软件工程的内容主要包括四个层次,最底层的是软件开发所需要实现的质量目标,在此之上是软件开发的整体过程(也即开发一款软件的流程),再上就是方法支持和自动化工具的支持。由此可见,软件工程并不是单纯的教会学生如何开发软件,更多的是培养学生的系统观和演化观,从工程化的角度去看待软件开发。