第一次阅读和准备作业
一.博客地址以及个人简介
It's my blog:https://www.cnblogs.com/rikoprpo/
我是来自西南石油大学2017级软件工程2班的刘豪,平时喜欢踢足球,打游戏。这是我第一次在网上发文章,可以说是十分紧张,请多关照。
二.阅读与思考
阅读以上材料,并回答下面几个问题:
(1)当初你是如何做出选择软件工程专业的决定的?
- 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?
- 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?
这两个问题我一起回答,从最初的对软件工程的简单理解,将游戏制作和自制软件当成学习的动力。在这逝去的一学年里,我渐渐地对软件工程有了不一样的理解,它并不是简单的想法构成,是一串串代码,一串串思想的构造。在慢慢的接触过程中,急于求成的思想被慢慢地否决,代码在于严谨的思想深深地埋在了心中。以前玩游戏总是跟风说育碧买bug送游戏,殊不知自己来敲了一敲才发现bug真的是出现的突突然然,毫无防备。但是如此超过我当初想法的软件工程,却在不知不觉间深深地吸引着我,有时会因为写出奇思妙想的算法而高兴的手舞足蹈,并且在我看来擅不擅长是一方面,喜不喜欢才是最重要的。
- 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
说到将来对于软件工程的打算,我认为软件开发是当前社会的大热行业,优质的软件更是极度缺少的。我觉得我会从事软件开发的行业工作,并且我希望能在成都一带发展,虽然比不上深圳以及北上广的发达,但我相信成都的持续发展正是适合于我的模式,慢慢进步,提升自己,完善技术。希望以后自己也能成长成为一名合格的软件工程师。
(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你
- 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?
- 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?
即将大三,我觉得对于编码的能力还是没达到相对水平,这个相对自然是对比于一名合格的软件开发团队成员。对于软件工程的认知也只是皮毛,能力还不合格是当前需要提示的重大板块。在今后的学习中要不断找出自身缺陷,一步一个脚印。多向老师请教经验,在我看来经验是这个行业的关键。在今后的学习中,专业知识上攻坚,技能能力上求精,力争成为一名合格的软件工程专业本科毕业生。
(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
- 对照以上你阅读的前人们的经历,你的选择是什么?
- 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
对照以上的前人们的选择,有的是从就业后开始慢慢积累,成长;有的选择读研深造,毕竟软件工程的前景还是个未知量,很多新的东西值得我们去探索。在很多博客中也看到了出国留学的字眼,、。首先就我而言,我会选择就业,并且会参考一个博主的经验,在就业的过程中学习团队领导的知识技能。不断完善自我,但也不能固于一门,要时刻关注软件趋势。学习更深一步的软件开发工具以及技巧,提示软件质量。在我看来这样的选择相对于考研来讲,多了很多实际的工作经验,在上面我也提到对我而言我认为软件开发经验很重要,并且在我心中,考研只是一种提升自己内涵深度的途径。如果我在工作中有空余,我也会去试着继续深造来进一步提升自己。就业有优势自然优劣势,首先目前的大学生就业前景堪忧,其次如果拿研究生与本科生作比较,自然落后很多。就业是一个方面,另一个方面就是专业知识深度的不够,或许很多企业不愿意接纳。在快节奏的社会前提下,有更多知识的人理应获得更多的选择,作为企业的管理者,自然更加接受更有深度的员工入职。所以就业需要拼搏,需要更多汗水。
- 针对你的选择,你给自己的大三设定的规划安排是什么?
在大三中我计划是,首要的必须搞懂软件工程,因为它不是一门简单的学科。它不是编代码就完事的职业。其次要提升自己的创新思想,乐于尝试新的方法。再有便是熟悉各类软件开发工具。
三.提有质量的问题
1.这里第一个问题是陈老师刚开课的时候讲到的软件危机问题
我的疑惑是,譬如支付宝与手机淘宝等软件是否也会面临软件危机,自从它们诞生便一直占据着市场经济与支付方式的主导地位,多如NFC,APPLEPAY,SAMSUNPAY等诸多支付方式的崛起也依旧无法动摇其地位,那么是否软件危机一说依然要建立在选择上,而非仅仅落后的软件生产方式无法满足迅速增长的计算机软件需求这一说,是否会有不会经历软件危机的软件存在。
2.第五章:团队和流程 P97
我的疑惑有两点:第一,软件团队中当然模式不同分工不同,我假设一种情形,就是团队对于客户需求了解后,讨论出结果之后。在开发过程中,某一模块的队员对另一块模块的功能产生了新的认知,这时团队是为了保证更好的质量来重写模块成本提升(假设商家不愿意加大预算),还是依旧按原计划继续运作?因为老师强调了软件工程师注重于写出高质量软件为目标,但在社会背景下,到底该如何抉择。第二,在软件过程模型中,团队如何选择出效率最高,成本最低的过程模型,是否建议作用在小型开发的模型便不能进行自我改进而运作于大型开发?是否可以模型与模型之间进行融合运行?是否只能严格按照工程模型运作?比如原型模型的增量模型,我觉得可以加入很多过程模型的环节中。
3.第九章:项目经理 P182
这一章我发现,对我在校的大学生来讲,如何做到对于产品的定位,市场的发展前景的预估,毕竟在校学习再多在我看来也只是纸上谈兵。对于一位合格的软件工程学生来讲,是否需要对社会经济类学科进行较高的掌握度?毕竟预估错误可能便是毁掉一个项目,造成不可估量的损失。
4.第四章:两人合作 P62
这一章讲的是两人合作,其实我有个疑问就是真的大型软件公司都放心一个人做一个模块吗?这样犯错概率感觉挺大的。针对前面的注释问题,我认为注释和代码复审不是重合了吗?是否可以省去代码复审?因为注释的过程就该明白该行代码的具体效能,缺陷部分应该在这个过程就能发现吧。
5.第十四章:质量保障 P303
其实疑问不单单只在于这一章。首先软件开发要求质量,但是我始终相信高质量的软件开发成本不可能低,如某老师讲到的在多年前的生物识别技术,便是因为对于软件的质量度要求特别高,开发成本大造成很多软件公司望而却步。那么一个长周期的软件开发对于一个新生的软件公司而言是否就意味着成本过高的问题?那么刚起步的软件工程师要跟随的是开发周期短,开发成本低,开发质量相对差一点的项目,还是跟大型软件的开发学习?哪一份对于能力的培养要高一点
四.了解和调查源程序版本管理工具
上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些,列举至少三个或以上的版本管理软件各有什么优缺点?
这里我例举了3大源程序版本管理工具分别是TFS,GitHub,XCode
GitHub变得越来越流行是大家有目共睹的,并且之前发布的Github for Windows更是深受喜爱,从使用难度的降低再到成本的降低,它足够成为微软放下Microsoft TFS向他专业的动力,TFS在于团队需求的工具,它建立在团队开发、测试、发布的自动化流程,但在源代码管理上却输给Github不是一星半点。Git的分支能力强大,大众体验特别好,而它还能针对多人进行复杂繁多的开源代码的维护。Git的小细节譬如离线提交,使得整个软件对比TFS更加瞩目。
这里还要说一款APPLE公司的XCode,苹果的确是自乔布斯那时至今对整个手机行业,软件系统行业产生了很大的冲击。XCode在我了解到,它是为了苹果一切设备的软件体验,打造出色app的资源器,一切资源都包含其中。在2016年的XCode8中苹果公司引入了强大的可视化编辑工具以及预览功能。
XCode的前身是NeXT的Project Builder,在Xcode的不断完善中,它向我们展示了更加友好,更加简洁以及更加安全的语言。众所周知,苹果的系统是相当安全的,这便是源于它的封闭开发,以及开发工具的安全程度,显然XCode做到了安全这一点,但就目前而言,于我切身生活中,用IOS电脑的系统的不占多数,这可能便是它不能大热的原因吧,很多人都是要从事该方向软件开发,才开始摸索这款做工可以说很别致的工具。