201971010140-魏瑾川 实验一 软件工程准备—软件工程的第一印象
前文
项目 | 内容 |
---|---|
课程班级博客链接 | 2019级卓越工程师班 |
这个作业要求链接 | 实验一——软件工程准备 |
我的课程学习目标 |
|
这个作业在哪些方面帮助我实现学习目标 |
|
任务1:提交课程调查问卷
- 填写了自己的基础信息和软件工程方面的基础。
任务2:注册博客园账号并加入班级博客
- 注册博客园账号,并且加入了课程班级
任务3:注册Github账号
-
此前已注册Github账号,并且使用Github工具进行过项目的开发
-
有过Github的使用经验,对Github的基本操作有一定的基础
任务4:填写博客园、Github账号信息
- 如实填写了自己博客园及Github的账号信息
浅谈对《现代软件工程—构建之法》的理解与看法
- 软件和程序的区别是什么?
在我的认知中,软件是为了完成特定的功能,解决特定的问题而用计算机语言编写的命令序列集合,可以理解为应用程序的集合。而应用程序是软件的一个组成部分,它是软件的必要元素。因此:
软件 = 程序 + 文档 = 数据结构 + 算法 + 文档
而在《现代软件工程—构建之法》一书中,对软件有了如下定义:
软件 = 程序 + 软件工程
程序固然重要,但是真正决定软件质量的却是软件工程,一个复杂的软件不但要有合理的软件架构、软件设计与实现,还要有各种文件和数据来描述各个程序文件之间的依赖关系、编译参数等等,同时,软件的质量和安全也要得到保障,只有这样,软件才能为企业盈利,也能够为用户带来积极的影响。
- 软件工程是什么?
邹欣老师在《现代软件工程—构建之法》对软件工程的定义如下:
软件工程是把系统的、有序的、可量化和方法应用到软件的开发、运营和维护上的过程。
简而言之,人们在软件的开发、运营和维护过程中,不可避免的会使用到各种各样的技术、做法、习惯和思想体系,但是如果任由这些技术随意施展而不加以规范,那么软件的开发势必会受到影响,因此,人们制定了一些列相关的准则来规范和约束在软件开发时所遇到的各种问题的解决方案,来帮助程序员更好更快的进行软件开发工作。值得注意的是,软件工程是一个动态的概念,它存在于软件的生命周期的每一个步骤之中。
3. 软件工程与计算机科学的关系
- 计算机科学中理论研究部分大多可以从形式上证明,与数学、离散数学、数理逻辑密切相关,计算机科学中与实践相关的部分,都和数据以及其他科学发生关系。软件工程则和人的行为有关,软件工程的研究目标(软件的开发与维护)等都与人有关,可能是项目的使用者,也可能是开发者,这是与计算机科学中很不相同的一部分;
- 在任何科学领域都有偏理论和偏实践的部分,当偏应用的部分得到长足的发展时,就会被大家更多地熟知;
- 计算机中的理论发展,比如对程序的正确性分析,会帮助软件工程,反过来,软件工程的发展能够帮助计算机去做更多的探索。