构建之法--第一次作业
这个作业属于哪个课程 | 课程的链接 |
---|---|
这个作业要求在哪里 | 作业要求 |
我在这个课程上的目标 | 在一定程度上了解软件工程,熟悉开发流程 |
这个作业在哪个具体方面帮助我实现目标 | 开发流程 |
个人博客 | 简书链接 |
个人的自我介绍
西南石油大学2017级软件工程卓越班的一名普通的大三学生.没有什么特别的爱好,打打篮球,敲敲代码.上大学之前基本上没摸过键盘,感觉也是挺奇妙的,莫名的选择上了计算机.喜欢规律的生活,会监督自己早睡早起.目前是在创数据团队,助攻Java后端,如果有相同方向或者是有兴趣的朋友可以多交流一下.个人比较喜欢用简书,给个链接增加一下访客.
阅读与思考
回想一下你初入大学时你对所在专业的畅想
-
当初你是如何做出选择你所在专业的决定的?
高考完了之后就想选择工科,个人比较喜欢选择偏向动手的东西.至于选择计算机应该是因为自己喜欢电子类的东西.也没有在乎是什么计算机的具体的哪个专业,反正就是一下子全部选的计算机,好像对这些专业在当时没有一点点概念.😀,想想还是挺刺激的. -
你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
在最开始大一的时候,没有加入什么学习团队,平时玩得厉害,学起C语言来说都是感觉相对困难的.但是对于计算机的兴趣还是很不错的.总体上来说还是很符合我对计算机的期待的. -
你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
喜欢倒是觉得不好说,但是好找可能也是喜欢的原因之一,没有去尝试过其他的专业,所以也就不知道到底是不是.就目前来说,个人觉得并不算是擅长,也就算是比入门多一些吧. -
将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
肯定会,想去杭州的阿里,成都的美团,或者是上海,杭州的一些二线大厂.岗位的话应该就是Java工程师了.
对照前人们走过的路和描述未来发展,现在的你
-
自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
比较熟悉的应该就是Java和C了.在大一的时候感觉还是挺能玩的,在后期进行了Java的学习,目前的话基本的具有了基本的Web后端开发的能力,对于数据结构和基本的算法算是基本的了解,现在基本上只有个大体的印象.代码量应该是在2~3万之间.做过组复杂的项目有应该是一个关于石油的基于Fabric的管理系统. -
离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
计算机网络,操作系统,算法与数据结构.技能方面感觉对数据库设计做的不是很好,能力的话便是底层的一些东西不够熟悉.有些东西甚至一点都不知道.
目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
-
目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
选择工作 -
针对你的选择,你给自己的大三设定的规划安排是什么?
学好专业课的同时积极备战面试 -
你对于实现自己的梦想已经做了或者计划做什么样的准备?
指定了较为周密的面试准备路线,自律.
提有质量的问题
- 第一章1.1 软件工程 = 程序 + 软件工程,这里如何去衡量两者之间的平衡关系,或者是说哪一部分在实际的项目开发当中占主要成分,在有限的时间之内,如何做到两者兼得?
2.第二章2.1 单元测试一定要作者自己写吗?如果是由其他人进行测试,开发人员需要写一份完整的开发文档么?
3.第二章2.12中提到了代码覆盖率,那么什么是代码覆盖率?
4.第三章3.3 职业发展的方式不止一种,如何选择适合自己的一条路,或者是在多种方式之间如何平衡?
5.第九章 9.5中,有这么一句话."没有风险,就是最大的风险".这句话该怎么去理解,在本段之前刚刚对于风险管理水平进行了分层,那这句话是否是可以理解为:风险会从多方向来袭,企图缩短软件的生命周期,而所谓“没有风险”只是没有预见风险,并且没有对其未来的风险情况进行评估呢?
了解和调查源程序版本管理工具
- Git
git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持.
-
SVN
SVN(Apache Subversion),是一个开放源代码的版本控制系统.SVN采用客户端/服务器体系,项目的各种版本都存储在服务器上,程序开发人员首先将从服务器上获得一份项目的最新版本,并将其复制到本机,然后在此基础上,每个开发人员可以在自己的客户端进行独立的开发工作,并且可以随时将新代码提交给服务器。当然也可以通过更新操作获取服务器上的最新代码,从而保持与其他开发者所使用版本的一致性。 -
CVS
CVS是一个C/S系统,是一个常用的代码版本控制软件。主要在开源软件管理中使用。与它相类似地代码版本控制软件有subversion。多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。