个人第1次作业:阅读与准备作业
个人博客地址:https://www.cnblogs.com/liyuangang/
我是地理信息科学专业2017级的一名学生,喜欢上网听歌,看小说经常跑步,喜欢交朋友。
当初你是如何做出选择你所在专业的决定的?
我是笨调剂到这个专业的没什么感觉。
你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
在过去两年的学习中对专业课基本上符合自己的期待,因为感觉有些课很有意思,课程不是很难,感觉学到了一些知识。
你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
不是喜欢的领域,不擅长
将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
根据情况而定,如果专业知识学习的好,就去从事相关专业工作,不过目前感觉应该不会,
自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目
我所学习的本专业的知识、技能、能力基本上都是考试前掌握较多。
本专业代码量1000+行?差不多吧,还都是学C和C#的占100%
本专业最复杂的项目是c#最后一次窗口设计的项目
离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
理论知识的原理还需要加强,对于许多经典算法的思想还不够了解
ArcGIS使用还不熟练,这个在毕业要求是要非常熟悉的。
对于地理信息系统的模块化开发还写不出多少代码。
对照以上你阅读的前人们的经历,你的选择是什么?
基本现在选择是考研了,希望在研究生阶段提高自己对某一领域的熟悉程度,同时提高自己英语和数学方面的素养,还是比较想成为一个算法大佬
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
自己通过跨考,能更加贴近一点自己喜欢的邻域,做事也会更有动力吧。而且比本科出来找工作有了更多的准备时间,最重要的是能在某一领域拓展自己的视野,能比其他人看得更高一点。劣势就是花费3年的时间,而这三年如果不考研能而且能进入大厂的话,自己能获得更多的工程经验。
针对你的选择,你给自己的大三设定的规划安排是什么?
英语不太好四级还没过,大三准备一定把四级过了,准备考研。
你对于实现自己的梦想已经做了或者计划做什么样的准备?
没什么梦想,毕业找工作。
【5章,5.1非团队和团队】在整体看了这一章后,我有了以下疑问,软件工程实践分团队和非团队,那么作为初学者的我们,在初次进行实验,团队成员能力不明确,实验内容不明确,我们应如何进行分工,如何合理的安排软件团队的模式。
【7章,7.4过程模型】在这一章中MSF过程模型认为每一个项目都有一个生命周期,MSF过程模型是从传统的软件开发瀑布模型和螺旋模型发展而来的,它把瀑布模型中增量迭代的长处结合起来了。
这句话不太理解…在书中5.3.2中提到了瀑布模型,那我就归纳一下:这个模型意思就是说瀑布倒流是不可能存在的,就类似于返回修改最初的软件也是很困难的。所以这个模型要求在项目的流程中,每个阶段都需要循环测试反馈,确保无误之后再继续下一个流程,那么获得最后的产品将会是一个漫长的过程。如果用户试用这个产品又提出新的需求,那么这就很尴尬了,时间上就来不及调整(比如预定几个月内完成)。但我依然不理解瀑布增量迭代的长处是什么意思,所以我就上百度搜索了。
搜索结果
原来增量迭代是指很好的控制前期风险并解决这些风险(就是书上解释的东西),我觉得可以加上这个解释比较好理解
【16章,IT行业的创新】在16.1.5中提到索尼公司单放机文章中又提到索尼公司的单放机这个成功的创新的例子,提出为什么邻域的专家有时候没有领域外的创新者那么有创意?的问题,这也是我的问题。我也有一点自己的想法,不知道是否可取。我认为,创新是一种让已有生活更简单方便的一种手段,非专业领域人的想法往往被采取,是因为他们以“门外汉”的角度用更简单的方式让其可行,这也恰好契合受众的想法。所以他们的创新更容易接受。而专业领域的人创新大多以已有的技术为基点,开发更强大的技术,这种接受范围相对狭窄,受众较小,因为方式过于复杂。
但是这种可能无法推行,无法盈利的创新,按文章中的话来说应该是“科研”,文章中提到杰弗里·尼克尔森对两者做了明确的区分(创新和科研),他认为“科研是将金钱转换为知识的过程”,而“创新则是将知识转化为金钱的过程”可能在商业角度杰弗里·尼克尔森说的没错,但我觉得两者没必要明确区分,对于创新的态度,我们是否应该多一些不为什么的坚持,少一些功利主义的追求?
个人复杂的技术社会接受和普及的时间周期会更长,因为复杂的技术掌握的人毕竟是少数,所以需要长时间去证伪。而简单的技术可以让大众在短时间内形成对其的主观认识,所以一个简单的技术在应用阶段如果可以快速获得市场的认可,再加之技术简单易于实现,所以短时间内就可以大面积普及。
【9章,项目经理】在9.4高效的团队讨论中我产生的如下疑问,什么是高效,如何来用个团队的讨论结果确认讨论的过程是高效的?
高效团队必备:目标与价值观 ,人,团队之所以组建,是为了一个目标的完成,而目标又分为长期目标、中期目标与短期目标。短期目标与中期目标,是长期目标的分解。这一目标的定的好不好,格局如何,前景如何,是否能够凝聚认可这一目标与价值观的人。目标,是我们团队做事情的结果,是梦想的实现。但目标的实现是需要我们的付出才可以。所以,因为目标的聚集来自四方八方,认可目标与价值观的人,才可以最终走在一起,并持续地进行优化中。对于团队中的人员结构来说,也是需要在建立信任的基础上才可以使得目标完成更有效率。只有确定目标解决目标问题才能认为是高效的讨论。
【17章,17.7】萝卜与白菜
阿超最后说了:我们要胡萝卜和大棒并用。我们的大棒就是“小强地狱”(Bug Hell)
这个我不懂,例子中提到萝卜做事很快,但是功能不够严谨,出现的“菜虫”多,后期花很多时间在修复“菜虫”。白菜做事慢,但是慢工出细活。我认为这两类人都需要再提升,胡萝卜个需要的是在写功能的同时不断测试功能,以减少不必要的困扰。白菜就需要提高速度,提高编程能力,可以请教胡萝卜,慢慢锻炼。这两类人不能绝对地说哪一方表现得更好。而阿超说的胡萝卜和“菜虫”一起又是什么意思?
这些问题可能都是小问题,对书中的内容还不是完全理解,自己的能力还有待提高。
1.Microsoft TFS:
优点: 任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用,集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM,能与 VS 无缝接合。
缺点: 搭建、维护tfs比较复杂,硬件要求也比较高。
2.GitHub:
优点:GitHub是一个非常万能的工具。对于任何大小的项目,他都是理想的工具;他也是伟大的web工作流工具。首先,他可以作为一个版本控制系统和协作工具,用它来发布工作。
利用GitHub,你可以将项目存档,与其他人分享交流,并让其他开发者帮助你一起完成这个项目。优点在于 ,他支持多人共同完成一个项目,因此你们可以在同一页面对话交流。 创建自己的项目,并备份,代码不需要保存在本地或者服务器,GitHub做得非常理想。 学习Git也有很多好处。他被视为一个预先维护过程,你可以按自己的需要恢复、提交出现问题,或者您需要 恢复任何形式的代码,可以避免很多麻烦。Git最好的特性之一是能够跟踪错误,这让使用Github变得更加简 单。Bugs可以公开,你可以通过Github评论,提交错误。在GitHub页面,你可以直接开始,而不需要设置主机或者DNS。
缺点:如果,你是Github使用新手,首先的挑战就是摆正心态——需要不断实践和时间。他可能不是捕捉创意过程和记录创意点子的最佳工具。对于这种特殊功能模拟可以选择LayerVault 或其他相 似工具。 之前,我们已经强调过Github非常适用代码跟踪,但是却不是最好的设计跟踪工具。将图片内容转 化为代码,或者将设计用于产品设置,看起来依旧不是那样顺利。这是由设计者决定的,然而,一些人发现 GUI 有点混乱,选择CLI代替。一些开发人员学习主要使用Git命令 ,这样可以解释为什么他们不太喜欢GUI的原因了。稍加练习,命令的学习是不太困难的。然而,你喜欢天天 写命令吗?特别是跟踪项目历史或解决冲突的时候。所以就有了另外一群喜欢GUI的人们。将提交、修改、移 动文件等操作可视化,会有一个更好的体验。而这些,就如之前提到的,需要时间来适应。 如果,你专门在GIthub上工作,版本控制存储库就值得你拥有,也需要你长期付出。
3.Trac:
优点:Trac做一个SCM配置管理平台,意味着它有良好的扩充性 Trac的权限体系是比较完备的设计非常灵活,可以随心所欲的定制,可以和TortoiseSVN集成。
缺点:不支持多项目, 需求和缺陷没有分离, 用 wiki 来替代 Word 等工具编写文档对于产品策划来说门槛太高了, 中文化不完整,美术人员接触起来困难重重,
不显示中文名,本地化做得很差,核心功能很少,不安装插件基本上没法用。
4.BUGZILLA:
优点:BUGZILLA不收费, BUGZILLA现在有中文版支持
缺点:BUGZILLA只能管理缺陷
5.Apple XCode:
优点:可以自动创建分类图表。自动提供撤消、重做和保存功能,无需编写任何编码。
缺点:更新版本后,某个插件可能会失效。