阅读本文大概需要 3 分钟
1、什么是软件工程
在此之前,除了知道有软件工程这个专业,我并不知道还有软件工程这门课程,因此我不敢凭空妄谈对软件工程这门课有什么理解。当我看到作业是谈谈自己对软件工程这门课的理解时,我是有点惊讶的,这学期刚刚开学两周,课也上了没几节,可以说我对软件工程这个概念完全没有理解。但是我想,既然是作业,我也只能强迫我自己去看书查资料说说我自己的理解和看法了。
首先引用一下百度百科的定义:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
从定义中,我很难区分这门课究竟是一门偏理论类型的课程还是偏实战类型的课程,而且软件工程的课本中讲的基本都是理论,在之前的一次课中,我清楚记得老师说过,软件工程这门课,就是要我们团结协作,然后开发出一个可观的项目来,因此我姑且理解为这门是理论与实践的结合课程吧。
这门课程订的课本叫《现代软件工程构建之法》,从名字理解第一想法就是几个人一起合作开发一个项目工程,其中包括从项目的名字、需求分析到项目的具体实施、团队每个人的任务分配等等,到最终项目的完美展现。翻开这本书的目录,我大概知道了软件工程这么课大概就三个方向的内容:
(1)、软件工程相关概念及概述。简单来讲,就是一堆的概念和理论。对我来讲,我是很难一个一个章节去看这一部分的,或许是性格原因,我难以集中注意力去理解一堆的概念和理论。但同时我也认为,如果对于一个真正想从事编程相关工作的人,偏于实践,这个部分并不太重要。
(2)、个人及团队在项目开发中地位以及作用的概述。这一部分稍微显得有趣些,一个人如何参与到一个项目中去,又如何发挥自己的项目开发中的作用,这个应该是每一个要做编程开发工作的人都要思考的事情。在具体的项目开发中,这也是我们大学生意识最薄弱的部分。我认为大部分的当代大学生也包括我自己,团队合作意识是相当差的,或者说根本没有。要么认为自己一个人能搞定,不需要一起协作完成;要么认为自己无法提供很好的帮助,不想参与到团队中来;要么认为人满为患,人越少越好,等等。对我我自己来说,这几个原因我基本都有,而且也是近期才意识到这个问题以及这个问题的严重性,因此对于这个部分的内容,我可能还会稍微认真去学习并努力去深入探究理解一下。
(3)、从项目的需求分析到项目最终构建的流程概述。这是项目开发最重要的部分,我以为一个项目要想有条不紊的进行开发,团队成员必须对项目的流程以及自己的工作了如指掌。具体如何进行项目需求分析,以及项目构建的具体流程,这个在本文暂不做深入的探讨。
2、我能学会什么
对于软件工程这门课,我无法预测我能学会什么,但我知道我要学什么,也希望自己能坚持。
(1)、知道自己接触过一些软件工程相关的概念,起码看到相关的概念有点印象。
(2)、认真去学习自己如何才能在项目开发当中好好发挥自己的作用,如何才能在项目开发当中快速的成长。
(3)、熟悉项目开发的流程,以及每一个流程的详细操作。
相信学完软件工程这门课,不会再疑惑:
(1)、团队协作开发究竟是如何进行的?
(2)、不同的成员写的项目代码是如何提交到同一个项目中去的?
(3)、一个完整的项目开发究竟经历怎样的过程?
3、我能做什么
目前大三,单看学校开设的哪几门课程,要做一个项目,完全不可能。但庆幸,寒暑假自己也独立去钻研过一些东西,要学的知识大部分已经学了,或者说接触过,已经有了相关的概念。我能做的:就是好好的做一个真正意义上有使用价值的产品。
扫描关注微信公众号,了解更多