个人第一次作业:阅读与准备
第一次作业 | 回答 |
---|---|
这个作业属于哪个课程 | 课程链接 |
这个作业要求在哪里 | 作业要求 |
我在这个课程的目标是 | 1.练习编写代码并且熟悉代码 2.锻炼团队合作能力 3.能在老师帮助下能和队友完成简单的软件开发 |
这个作业在哪个具体方面帮我实现目标 | 1.阅读优秀的博客借鉴别人的方法 2.学习如何写博客并且慢慢优化自己博客3.阅读教材熟悉所学内容 |
一、我的博客以及自我介绍
1.个人博客介绍:博客链接
2.个人介绍:我是2017级地理信息科学专业的一名学生,喜欢养花草,喜欢小动物,也喜欢慢跑,很多时候喜欢独处。从小到大自己其实对代码并不是很感兴趣,即使上了大学,就读现在的专业,仿佛自己还是对代码没怎么开窍,希望这学期能够在这方面有所进步吧!
二、阅读与思考
1.回想一下你初入大学时对你所在专业的畅想
•当初你是如何做出选择你所在专业的决定的?
大一入校就读于英语专业,但发现自己过的很不开心于是决定转专业,选择地理信息科学专业的时候是有些草率了解不够深入,但既来之则安之。
•你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
不完全符合,本来以为偏文科,结果对计算机能力要求较高,计算机类课程也较多,自己感觉有些力不从心。
•你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
不是我所喜欢的领域,之前有些不了解这个专业,没想到这个专业和计算机的关系那么密切,我不擅长计算机,关于代码,自己真的学得有些吃力了。
•将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
应该不会,因为本专业对计算机掌握的程度有一些要求,要么就和测绘有一定联系,均不是我所喜欢的方向。
2.对照前人们走过的路和描述未来发展,现在的你自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
目前为止对C语言,C#,数据库,数据结构,gis,地质地貌学,地图学有了一定的初步的了解。
代码量不多,可能几百行。
最复杂的一次作业应该就是,用c#编写一个学生管理系统。
•离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
我认为在对代码编写能力这一方面自己非常欠缺,对程序的理解能力感觉不太好,相关的专业软件自己也不太熟悉。
3.目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
•对照以上你阅读的前人们的经历,你的选择是什么?
也许会考公务员吧,努力准备考公务员。
•在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
优势:可能不会去再深造吧,也许会少花时间在学校早一点多社会阅历,其实也并不觉得这是优势。
劣势:结果未知,不知道到底能不能上,如果没上,以后有该走哪一条路,都是未知的。
•针对你的选择,你给自己的大三设定的规划安排是什么?
在保证不影响专业课学习的前提下努力考证,教师资格证之类的,努力学好英语,为考公务员做准备。
•你对于实现自己的梦想已经做了或者计划做什么样的准备?
了解公务员要求,每天坚持学习英语,练习考题,多放心思在学习上,别贪玩。
三、提有质量的问题
1、在第五章《团队和流程》中,有种模式叫做明星模式,明星的光芒盖过了其他所有人,但明星也会犯错,所以怎样才能让团队利益最大化?
2、第九章《项目经理》中,是不是所有好的功能都是由PM主导,一步一步根据客户需求,按照用户场景设计,然后进行可用性测试等等步骤之后得来的呢?
3、在第十一章《软件设计与实现》中,书中提出了思维导图、形式化的方法,文学化编程者三种,那是否可以在大数据的支持下,将众多数据进行线性规划,然后以数学公式的形式来表达呢?
4、在第十三章《软件测试》中,"探索式测试",是指为了某一特定目的而进行的测试,而且只有一次,一般不会重复测试,为什么不会重复测试呢?
5、第十四章《质量保障》中,“软件的开发过程有三个主要的特性:“好”、“快”、“便宜” 。通俗的理解是“软件在功能、成本、时间三方面满足利益相关者的需求”,但如何才能确保在工期的情况下,控制软件成本,做出功能齐全的软件?
四、了解和调查员程序版本管理工具
Git | Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 |
---|---|
优点 | 1.适合分布式开发,强调个体;2.公共服务器压力和数据量都不会太大;3.速度快、灵活;4.任意两个开发者之间可以很容易的解决冲突;5.离线工作。 |
缺点 | 1.资料少(中文资料很少);2.学习周期相对而言比较长;3.不符合常规思维;4.代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。 |
Github | GitHub是一个面向开源及私有软件项目的托管平台,只支持git作为唯一的版本库格式进行托管。 |
---|---|
优点 | 1.错误跟踪,此功能属于协作功能,可以通过在项目中检测到的软件错误记录来提高代码质量。2.快速搜索,存储库提供方便的项目结构,允许有效的搜索和排序。此外,功能良好的SEO允许用户在公共存储库中找到任何代码字符串。3.社区,截至2017年4月,GitHub的用户数量已经超过2000万。这个世界范围内极大的开发团队是共享经验和技能的重要来源。用户可以进行沟通,评论,编辑和跟踪新闻。4.共享,项目源代码不仅可以使用Git进行复制,还可以作为归档下载。5.协作开发,GitHub为团队管理提供了高效的功能。6.兼容性,源代码位于GitHub的项目可以轻松地定制到任何云主机服务。7.支持Git,SVN,HG,TFS导入 |
缺点 | 1.GitHub的服务不是完全免费的,如果想要享受GitHub提供的所有功能,需要付费。2.大小限制:文件大小不能超过100Mb,存储库可以托管信息1Gb。 |
Bitbucket | BitBucket 是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户。 |
---|---|
优点 | 1.对于小团队免费,这意味着最多5名成员的团队将获得无限数量的免费存储库。2.一个集成的查询管理系统。3.通过社交媒体和GitHub认证。4.集成Jira工具。BitBucket和Jira在整个开发阶段都做了整合,通过集成的错误跟踪组件,JIRA自动更新有关检测到的问题的信息。5.导入现有Git项目。6.支持Git,CodePlex,Google Code,HG,SourceForge,SVN导入 |
缺点 | 1.不开源。2.系统不稳定。 |
Trac | Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;Trac应用力求不影响现有团队的开发程。 |
---|---|
优点 | 1.Trac做一个SCM配置管理平台,意味着它有良好的扩充性。2.Trac的权限体系是比较完备的设计。3.非常灵活,可以随心所欲的定制,可以和TortoiseSVN集成。 |
缺点 | 1.不支持多项目。2.需求和缺陷没有分离。3.用 wiki 来替代 Word 等工具编写文档对于产品策划来说门槛太高了。4.中文化不完整,美术人员接触起来困难重重。5.不显示中文名,本地化做得很差。6.核心功能很少,不安装插件基本上没法用。 |