【软件工程】第1次我的做业

项目 内容
做业属于哪一个课程 北航软件工程
做业要求 做业要求
课程目标 熟悉软件编写过程,锻炼编程能力
这个做业如何帮我实现目标 阅读基本构建的理念,加深理解

1、快速看完整部教材,列出你仍然不懂的5到10个问题。

1. 第三章 软件工程师的成长-软件工程师的职业发展

工程师应该在实际工做中不断学习和不断成长,根据本身的状况选择在哪一个方面追求“专和精”,在哪几个方面达到“知道就好”的水平。git

· 不断学习和不断成长显然是必要的,可是真的只须要根据本身的状况来决定吗?我的认为须要结合多方面来进行决定哪一个方面须要追求到专和精,例如当今社会的热点,以及目前的发展状况等等。程序员

2. 第三章 软件工程师的成长-软件工程师的职业发展

最好的编程语言是什么,这是一个意见,并非事实,不要混淆。编程

· 最好的编程语言真的存在吗?做者在书中提到Google公司认为PHP不是最好的语言,所以有计算机的语言专家为此发明了新的语言Go语言。可是另外一些专家以为Go语言缺乏一些必不可少的元素,达不到登堂入室的要求,因此对于软件工程来讲,是否只存在最合适的语言,而不是最好的语言?架构

3. 第四章 两人合做-不间断的复审

结对编程中驾驶员和领航员的角色要常常互换,避免长时间紧张工做致使观察力和判断力降低。app

· 这是最让我感到疑惑的问题,对于已分配好的工做,好比驾驶员和领航员,两人对于本身的分工已经有了独到的看法和进步,造成了属于本身的思惟模式和解决问题的方式,那么互换角色真的可以作好对方的工做吗?在计算机领域难道不该该更难以互换?如何理解对方的代码和思路,这须要花大量的时间进行沟通交流,互换角色是否真的有必要?编程语言

4. 第四章 两人合做-代码设计规范

函数最好有单一的出口,为了达到这一目的,可使用goto。分布式

· 目前在学习历程中,全部编写的程序中,goto函数应该是没有使用过的,可是并无影响程序的运行或者是效率下降的表现。goto函数和单一出口是不是必要的?有何突出的优势?函数

5. 第十一章 软件设计与实现-图形建模和分析方法

可以对一个问题创建模型的确很是好,可是咱们不要忘记软件开发的目的是要经过写代码解决用户的问题。微服务

· 做者在书中举例,说有公司对客户的问题建好了模型,可是不知道如何去实现。所以咱们如何将一个优秀的模型,经过写代码的方式表现出来,解决用户的需求和问题。在我看来建模的难度和代码实现的难度都是很大的,如何将这两个工做很好地衔接起来呢?书中没有提到具体作法。学习

6. 第十六章 IT行业的创新

· 做者在书中提到了不少创新的例子。在现实生活中也有,例如风靡一时的诺基亚手机,就是由于没有创新的科技来吸引顾客,最后落到被收购的下场。可是对于目前咱们所学的知识来讲,几乎都是一些旧的基本知识,确实基本知识是十分重要的,基础能力也是逐渐培养的,可是并无接触到一些前沿的创新理念,这是为何?

2、“软件”和“软件工程”这些词汇是如何出现的?

· 软件一词最先出如今1953年Richard R.Carhart的研究备忘录中,也有人说是同年图灵提出的。但第一次做为术语出如今论文中是在1958年,John W. Tukey撰写科学文章时使用。
· 在1968年的德国的NATO会议上,提出了软件工程的概念。

3、你们知道了软件和软件工程的起源,请问软件工程发展的过程当中有什么你以为有趣的冷知识和故事?

大师级人物Martin Fowler在他谈论微服务的我的主页上提到,微服务并无一个很是明确的定义。事实上有不少种分布式系统的实现均可以被当作(或者说勉强当作)是面向微服务架构的。

--来自于百度百科

因为这次bug太过严重,致使影响了用户的实际体验,咱们在这次更新前已杀了一个程序员祭天。

--某app的更新日志

4、当前主要使用的源程序版本管理软件和项目管理软件的优缺点

git
优势:1. 开源、处理速度快、灵活性高
2. 离线工做,完成后将代码push到网页上
缺点:必须和特定的编译器相结合使用,例如dev 和code blocks好像就不能push到git上。
用户量:网上统计的数据预计在3000万左右,是最多的。
Mercurial
优势:兼容性好,扩展性强,有便捷的快速指令
缺点:功能单一,效率低
用户量:预计在50万之内
Trac
优势:系统完善性高,扩展性强
缺点:基本功能少,须要插件
用户量:预计在200万左右
Bugzilla 优势:具备强大的搜索功能 缺点:国内速度慢,上传文件步骤繁杂

相关文章
相关标签/搜索