问题清单
| 软件工程 | [17级计科一班](https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/) |
| :----------: | :----------------------------------------------------------: |
| 作业要求 | <https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10618> |
| 作业目的 | 记录和解答学习这门课程时的提问 |
| 作业正文 | 如下 |
| 其他参考文献 | <www.baidu.com> |
Q:软件工程应该重点学习哪些知识?
A:
- 第一部分:基础学科部分。不论是软件工程专业还是计科、物联网、大数据等计算机相关专业,基础学科都是一个重点内容,其中包括高等数学、线性代数、概率论、离散数学、物理等内容,数学相关内容的学习始终是计算机专业的重点,数学知识的掌握情况直接决定了研发人员未来的成长高度。
- 第二部分:计算机专业课程。计算机专业课程包括操作系统(体系结构)、电子电路、计算机网络、算法设计、数据结构、数据库、编程语言(C、Java等)等内容,另外软件工程专业还会安排软件工程管理方面的专业课,比如建模语言、项目管理等方面的课程。
- 第三部分:项目实践。项目实践是软件工程专业的特点,同时软件工程的项目实践往往与当前流行的技术有密切的结合。最近几年我在参加软件工程专业本科生答辩的时候,往往能发现不少毕业课题与大数据、机器学习等内容关系密切,这就说明软件工程专业非常注重市场的流行趋势。
Q:软件工程对我们今后就业有哪些影响?
A:
- 就业形势好:随着软件业的快速发展,我国软件开发专业人才的需求增长已经超过了国内的软件人才的增长。有句话说得好:“用电脑就是用软件”。谷歌、微软等大型IT企业无不是从软件起家,经过逐步的发展才形成目前庞大的规模。因此,从某种程度来说,靠软件这门专业生活,是一辈子的事情。所以学好软件工程这门专业,就业是没有问题的。
- 就业工资高:软件工程师的平均工资一直处于前列,在一线城市初——高级软件工程是的待遇在4000——9000之间;内地其他省会城市一般在2000——6000之间。软件工程这门专业,只要你的技术够硬,能力够强,达到月薪一万至两万之间也不是什么奇怪的事情(研究生毕业工资更高)
- 就业方向广:毕业生可以在国内外知名IT企业、航空航天企业、服务外包企业、移动和电信等国有大型企业、科研院所等领域从事软件开发及管理等工作。在以后的就业中,软件人才尤其是高层次的软件人才将供不应求。在中国十大IT职场人气职位中,软件工程师位列前头。
Q:软件工程对我们现在学习其他专业课有何铺垫作用?
A:
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。软件工程是计算机专业 的一门重要的专业基础课,它对于培养学生的软件素质,提高学生的软件开发能力与软件项目管理能力具有重要的意义
Q:使用Python语言对学习软件工程的作用?
A:
它可以处理大量的任务,再加上它实际上是一种非常适合初学者的语言。Python的语法使用英文关键字,这使任何人都可以轻松理解并开始使用该语言。
Q:学习Python的就业前景?
A:
1、相关岗位多,人才就业率高
Python由于其简洁优美和极高的开发效率,得到了越来越多公司的青睐,公司选用Python进行网站Web、搜索引擎(Google)、云计算(OpenStack)、大数据、人工智能、科学计算等方向的开发。Python或将成为继C++和Java之后的第三个主流编程语言,因此,Python的人才就业率高。
2、就业方向广
Python强大之处就是应用比较广泛,广泛应用于:Web应用开发、图形界面开发、系统网络运维、网络编程、科学与数字计算、3D游戏开发等,其应用领域足以说明Python很牛,不得不让人感到它的强大。从事Python开发,工作机会和工作岗位及工作内容可选择的余地很多,未来发展的空间也很大。
3、人才需求量大
据统计,Python人才需求量每日高达5000+,但目前市场上专业Python程序员供不应求, 竞争小,很容易快速高薪就业。
4、薪资待遇好
Python是所有语言中,唯一一个可以处理几乎所有业务逻辑的语言。(因为拥有大量的三方库,所有业务无所不能)。从招聘网站上我们可以看出Python现在的平均月收入最少1W+,收入还是相当可观的。
Q:模块化设计的优劣性?
A: 优点:
可维护性
1.灵活架构,焦点分离
2.方便模块间组合、分解
3.方便单个模块功能调试、升级
4.多人协作互不干扰
缺点:
性能损耗
1.系统分层,调用链会很长
2.模块间通信,模块间发送消息会很耗性能
Q:今后的工作中,结对编程的实用性?
A: 1、互相鼓励,不容易沮丧:团队工作能增加成员的工作积极性。因为在面对问题的时候,会有人一起分担,共同尝试新的策略。
2、互相监督,不容易偷懒:两个人一起工作需要互相配合,如果想偷懒去干别的,就会拖延工作进度。
3、互相学习编程技巧:在编程中,相互讨论,可以更快更有效地解决问题,互相请教对方,可以得到能力上的互补。
4、可以培养和训练新人:让资深开发者和新手一起工作,可以让新人更快上手。
5、多双眼睛,少点 bug:两人互相监督工作,可以增强代码和产品质量,并有效的减少 BUG。
Q:什么是列表解析和生成器表达式?
A:
列表解析能够帮助我们动态地创建列表,核心是用for迭代循环。生成器表达式(generator expression)相当于对列表解析的扩展,它是对内存有好的,因为他只是生成了一个生成器,当我们需要使用该生成器对应的逻辑目标数据时,它才会通过既定逻辑去生成该数据,所以不会大量占用内存。
Q:什么是Backup?
A: 备份