第一次作业
阅读与准备作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience |
---|---|
这个作业的要求在哪里 | https://www.cnblogs.com/harry240/p/11469058.html |
我在这个课程的目标是 | 1.掌握软件工程的基础知识和开发理论。 2.学习团队合作开发出实用的软件。 3.锻炼自己的代码能力,学习更多的知识,开阔自己的视野。 |
这个作业在哪个具体方面帮助我实现目标 | 1.课堂教学可以实现第一目标。2.后期的小组团队开发能够帮助完成第二目标。3.平时的作业可以锻炼我的代码能力实现第三目标。 |
1.介绍自己
我是2017级地理信息科学1班的学习委员雷槟源,我喜欢听音乐,但是却没有音乐的才华;我喜欢自然,在嘈杂的环境中能够静下心来做自己的事情,我动若脱兔,静如处子,个性随和容易相处;我喜欢看散文杂文,花费了我许多时间,我想这影响是潜移默化的;对于落实在我身上事情,我会尽力并且准时的完成;我责任感的比较强,乐于助人。
2.阅读与思考
(以下内容参考和转载于 北航助教 陈彦吉的 博客 http://www.cnblogs.com/ChildishChange/p/7363123.html )
阅读以上材料,并回答下面几个问题:
(1)回想一下你初入大学时对你所在专业的畅想
初入大学时,我搜索了地理信息科学专业,了解了地理信息科学是以GIS为主,当时的专业映像局限于搞地质,学地理,听着老师说着本专业的各种好处,畅想自己以后定能出人头地。
当初你是如何做出选择你所在专业的决定的?
我报考了西南石油大学,选择的都是西南石油的王牌或知名专业,但最终因为分数过低被调剂到了本专业。
你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
我有点失望,学习了两年,我感觉自己没有可以拿出来展示的硬实力。专业课程的吸引力也太小,干劲也提不起来,再加上老师能教会的有限,更多的在于自己动手,所以难免有些怠惰。当然,本专业也教会了我许多课本知识以外的东西,这算是大学回应了我的期待吧,我对本专业并不抱多大的希望。
你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
本专业并不是我喜欢的领域,也不是我所擅长的领域,因为各种原因没有转专业。两年里我也收获了很多,学好跟兴趣其实没多大关系,关键看自己。
将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
就目前而言,我不想从事和专业相关的工作。
原因:对于本专业的工作我并不感兴趣,作图的技能我也没有掌握,没有对应的能力去找相关的工作,此外我在打算考研或者考公务员,但愿这门课程会改变我的想法。
(2)对照前人们走过的路和描述未来发展,现在的你
自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
自我感觉我掌握了大部分的基础知识理论,至于实际操作能力,我个人感觉是没有任何东西拿得出手的。当然应试能力我是具备的。我的代码量局限于老师布置的作业,已经写过的代码大概是500多行;最复杂的是面向对象程序设计作业中的设计一个银行存取系统的代码。
离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
专业知识上大多已经具备,技能上有所欠缺,至于专业能力个人认为属于中等,不拔尖也不落后。
(3)目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
对照以上你阅读的前人们的经历,你的选择是什么?
我看了一下他们的事迹,萝卜青菜各有所爱,我个人是没有方向的,目前倾向于考公务员。
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
对于选择公务员的人来说,工作稳定性肯定高于其他的同学,此外我有从政的想法,所以兴趣是在这里的,干劲也会比其他的同学更强;但是目前我并没有入党或者参加党课,公务员的敲门砖还没有拿到,所以落后于已经开始学习的其他同学。
针对你的选择,你给自己的大三设定的规划安排是什么?
对于大三上学期,找到自己今后的方向,迷茫中确定出自己喜欢的或者擅长的事情,根据科学的理论分析自己的出路;大三下学期敲定自己的奋斗目前,为之制定详细的计划,开始朝着目标前进。
你对于实现自己的梦想已经做了或者计划做什么样的准备?
博客【H】的作者提出了对新手程序员的八条建议:
在大学的时候尽量多地进入公司参与实际工作,一方面积累工作经验,另一方面,提前认识工作和自己,以便毕业时更准确地把握自己的方向。
从毕业开始到毕业后至少5年内,踏踏实实地专研技术,这是一个积累过程,千万不要把心思放在钱和职位上。钱和职位只是能力的附属品,不要让其喧宾夺主。
从毕业后3年到7年的时间,注意学习工作当中的方法以及相关的管理和流程,不但要知其然,还要知其所以然。
30岁以前,踏踏实实地学习。学技术,学做人,学做事。30岁以后再谈自己的发展。
毕业后的前5年主要是量的积累,要不停地积累知识和方法。毕业后的5到10年主要是质变,应该着重于思维和想法的更新。后五年应该有很强的包容能力和接受新东西的能力,千万不要太过固执和坚持自己的想法。
换工作要“承前启后”,前面的工作会成为后面工作的一个基础,而后面的工作又会成为前面工作的一个很自然的延续。
不要只把心思放在技术上,技术是hard skill,只要下工夫就一定会掌握。更要注意与人沟通等为人处事的soft skill上。hard skill像一个大树的根,而soft skill则像一个大树的枝叶。树根是你的根基,能让你站得很稳,而枝叶能让你向天空伸展,获得发展。
对于程序员来说,应该始终记住,技术不是主要的,主要的是通过技术能够解决什么样的问题。一定经常想要解决什么的问题,要满足什么样的需求,而不是要用什么样的技术。
原文链接:https://blog.csdn.net/haoel/article/details/1688104
博客【D】的作者却认为:“企业要的应届毕业生就是一张白纸,这些白纸吸墨能力的高低决定你能否找到好的工作,而吸墨能力高则主要是基本功扎实、自学能力强的体现,并非我一直以为的丰富的‘实习经验’。”
原文链接:https://www.cnblogs.com/xiaozhi_5638/p/4485805.html
在我看来,实习经验是很重要的,也就是我同意H的观点。我去参观过双选会,我知道很多IT企业招人要求中总是出现“有工作经验者优先”字样,一张白纸,需要公司去教会你如何胜任你的工作,势必更多花费公司的人力物力,这对于一些中小型企业来说是他们重点考虑的,但对于大型企业来说,他们资金雄厚,对白纸的喜爱程度可能会高一点,但是仍然是以有经验者优先的标准来选人。当然最重要的选人标准是你是否具有该职位的专业能力,所以归根到底,大学要把基础打好,在基础上去拓展自己的能力,去开阔自己的视野,一方面积累实习经验,一方面精进学习,掌握更多与职业相关的能力,不要局限于眼前,目光要放长远。
3.提有质量的问题
1.对于5.3.5老板驱动的流程及5.36渐进交付的流程的问题讨论
①我对于老板驱动流程中笔者谈及的四方面里的第二点:“大型企业内部,软件功能往往由行政体系来决定”有疑惑,因为就我接触或者看到的软件公司,大部分都是以用户的需求为功能的开拓方向,所以我认为行政体系只是帮助服务运营的构架体系,是侧面推动的,有很大的作用但是并不是决定性的。
②渐进交付关于mvp(最小可行产品)的探讨中提及了设置一个链接,让用户去点击是否想要VIP服务,来测试这个VIP是否可以做。如果点击率低,就不做。这里有一个问题,对于那些有开通VIP想法的顾客,在点击你的VIP链接时就代表了感兴趣,可是后来因为小众就搁置了,对于想开通的用户来说,这无疑时对其使用该软件的兴趣大打折扣,势必损失现有的客户。所以我觉得这个方法可有可无,要么就做,受众少,就想法设法改进吸引更多的用户,要么不做,保持用户的受益一致性。
2.对于6.2敏捷流程的问题和解法的问题讨论
笔者在叙述时说已经花了的时间固然重要,但那不是关键,关键是看我们最后里目标有多远。我觉得对于那些训练有素的程序猿来说是比较适用,但对于我们新手来说,回顾过去的任务总结经验教训,对于把握进度和提升速度方面来说是优先于后面任务的。
3.关于8.4竞争性需求分析的框架问题讨论
关于笔者提到了‘NABCD模型’我认为还可以完善,NABCD是由Need、Approach、Benfit、Competitors、Delivery五个单词的首字母组成,分别指需求、做法、好处、竞争、推广五部分,个人认为可以在末尾加上一个S,service,这个理由可以在“电梯演说”中体现出来,既然我们已经完成了前面5个部分,用户面积已经扩大了,那么巩固用户数量就是我所提出S所要做的事情了,因为一个软件的可持续性必然是挂钩于软件的服务上,对于用户反映的软件问题或者一些小功能的使用不能让用户满意(但不会断了其使用软件的兴趣),也许这些会在软件的使用中慢慢出来,那么做好这一部份,对于软件的持续发展是很有益的。所以我认为可以加上一个S。
4.对于9.2.1交流成本问题的问题谈论
按照笔者说到,查尔斯建议把程序员分成,MP(Master Programer)和SP(Slave Programer)两类,我同意这个理论上确实大大减少了交流的成本,笔者说这样的想法最终落败与没人想去当SP而不了了之。我觉得这可以应用于我们小组的团队合作,在5-8人的小组,按照查尔斯的成本计算来说,过多的依赖路径导致了我们的交流成本增加,所以设置SP对于小组的团队合作和软件的开发质量有一定的帮助。
5.关于17.4猪、鸡和鹦鹉的故事问题讨论
笔者将团队中的人比作了不同动物,使我立刻对些类别的人物有了一个鲜明认识,在研发和市场第一线的“猪”,坐办公室的“鸡”,还有空降的“鹦鹉”,这些都是企业类的典型例子,我觉得还可以加一个“啄木鸟”,这一类的人总是在企业危机时空降下来,对企业进行整改,他即满足了自身的需要的同时,也救助企业,虽然这一类人很少,我也是跟着笔者玩玩比喻的乐趣,我很欣赏这样的解释模式,让人一目了然。
4.了解和调查源程序版本管理工具
上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些,列举至少三个或以上的版本管理软件各有什么优缺点?
Apple XCode|优点:在使用时可以多项目同时进行,项目接线分明;模块分类非常清晰;管理系统非常强大,操作快速核心功能强大|缺点:本土化软件适应与平台兼容度不高;使用条款非常霸道,对用户定制度不高;
-|-|-
Github|优点:错误跟踪,此功能属于协作功能,可以通过在项目中检测到的软件错误记录来提高代码质量。快速搜索,存储库提供方便的项目结构,允许有效的搜索和排序。此外,功能良好的SEO允许用户在公共存储库中找到任何代码字符串;截至2017年4月,GitHub的用户数量已经超过2000万;GitHub为团队管理提供了高效的功能。.具有兼容性,源代码位于GitHub的项目可以轻松地定制到任何云主机服务。|缺点:GitHub的服务不是完全免费的,如果想要享受GitHub提供的所有功能,需要付费;大小限制:文件大小不能超过100Mb,存储库可以托管信息1Gb。
Bugzilla |优点:在window平台下依然可以使用;强大的检索功能;历史变更记录;通过跟踪和描述处理Bug。|缺点:只能管理缺陷;已经停止更新。
Microsoft TFS|优点:任务版上能将需求、项目进度一览无余;集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM;能与 VS 无缝接合|缺点:整个系统是用 asp 实现的,所以用浏览器访问相当慢
5. 这篇博客的编写花费我一定的时间,也许内容上有很多瑕疵,但我相信,这里面一定有闪光点,每个人的视角不一样,我相信多看一些别人的博客,总会给你一些额外的惊喜奖励。