作业描述 |
|
这个作业属于哪个课程 |
课程链接 |
这个作业要求在哪里 |
作业要求 |
我在这个课程的目标是 |
1、能够熟练地发布博客 2、提高编程能力 3、对软件开发有一定的认识并提升相关能力 4、提高团队协作能力,完成好团队项目 |
这个作业在哪个具体方面帮助我实现目标 |
1、通过在博客园阅读大佬的博客,能够学到技巧和知识 2、明确了学习方向和未来规划 |
一、个人介绍
二、阅读与思考
1)回想一下你初入大学时对你所在专业的畅想
- 1、当初你是如何做出选择你所在专业的决定的?
这是我第二个志愿,第一志愿是英语专业但没被录取。我理科不好,所以优先选择了不学物理和化学的专业。老实说我填志愿时以为这是个纯地理专业,没想到和计算机息息相关。
- 2、你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
不完全符合。因为最开始我对我们专业的期待是偏文科,结果需要学习运用各种专业软件以及学习编程。起初很不适应甚至想转专业或跨考,觉得自己以后干不了gis软件开发这一行业。但经过大二的专业课学习之后,对制图这一方向产生了兴趣,于是决定坚持下去。
- 3、你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
算不上喜欢也算不上讨厌,一般般吧。地理还算擅长,加上计算机就不擅长了。
- 4、将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
会。以后想在成都考跟地信专业相关领域的公务员,例如自然资源局等等。
2)对照前人们走过的路和描述未来发展,现在的你
- 1、自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
①掌握了专业软件arcgis的一些基础操作,具备的专业知识局限于考试内容。
②只在完成作业和上机实验的时候写过代码,可能几百行吧,不太多。
③做过的最复杂的项目是面向对象程序设计(C#)的最后一次上机实验,要求我们做出一个较完整的学生信息管理系统,是在老师的帮助下完成的。
- 2、离成为一个合格的本科毕业生,在专业知识、技能、能力上还有哪些差距?
编程能力还有待提高,需要大量练习;对专业软件的操作不太熟练;对专业知识的掌握不够深入,浮于表面。
3)目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
- 1、对照以上你阅读的前人们的经历,你的选择是什么?
我的选择是考研。
- 2、 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
优势是:学历提高了,将来有更好的工作平台,更有竞争优势。
劣势是:与工作的同学相比,少了几年工作经验。
- 3、针对你的选择,你给自己的大三设定的规划安排是什么?
首先要通过英语六级和计算机二级;然后开始准备考研数学和英语的复习;跟着科研导师完成一些小项目;有机会的话要去参加跟专业相关的比赛并争取获奖。
- 4、你对于实现自己的梦想已经做了什么计划或者什么样的准备?
计划考研,具体计划如上题回答。
三、提有质量的问题
- 1、【第5章、5.2软件团队的模式】:5.2.6小节的特工团队中提到“能在某一领域达到专家、高手的地位,一出手就能解决难题,这也是对技术人员非常有吸引力的。”
固然这种团队模式在解决特殊任务时非常优秀,但我联想到了班级中的团队,都说强强联合是无敌的,但是剩下的“弱者”怎么办呢,菜鸡互啄?所以我疑惑的是在班级组队时到底应该强强联合还是应该以优带弱?
- 2、【第5章、5.3开发流程】:这里面提到了典型的软件过程模型,如瀑布模型等。
我的疑惑是,时代和信息在变化,我们的需求也会变化,我们应该选择合适的开发流程才能开发出适应时代的软件,而每个模型都有各自的局限性,有的并不能满足所有需求,那么问题就是应该选择怎样的开发流程才是最合适的呢?
- 3、【第8章、8.3获取用户需求——用户调研】:“软件开发的过程,就是用户最需要的东西在一条链条中传送、转换、实现。扭曲”
在开发过程中,如果有客户提出不太切合实际的想法或是无理的要求,应该怎样跟客户进行沟通,委婉让客户知道他的想法或要求是没有意义的?
- 4、【第14章、14.1.2软件工程的质量】:“一个团队也许可以靠一些特殊的办法来提高程序的质量,但是软件工程的质量需要长期的过程来提高。”
那么我想问如果一个团队项目在规定时间内无法完成,或者是bug还是很多该怎么办?专业人士会如何避免、处理?
- 5、【第16章、16.1.5迷思之五:要成为领域的专家,才能创新】:“为什么领域的专家有时候没有领域外的创新者那么有创意?”
我认为“有没有创意”存在两面性,有的创意点子可能并不可行。领域内的专家在专业知识上肯定是非常严谨的,因此有些与专业知识相悖的创意是会被否决的,而领域外的创新者可能并不能考虑的那么全面,所以他们的点子看似更多更新颖,实则可行的点子或许并不多。所以我觉得这个问题很难做定论。
四、了解和调查源程序版本管理工具
- 1、GitHub:GitHub是一个面向开源及私有软件项目的托管平台。
|
|
优点 |
1、GitHub提供Git存储库服务,基于web,允许你使用Git的源代码管理功能,或者其特性。 2.支持直接复制图片到页面,会自动上传图片。3.比较好的支持Mobile。 |
缺点 |
1、国内访问速度太慢,经常出现connect time-out。 2、没有集成社交分享功能。 3、wiki功能太弱,直接导致文档(对于开源项目很重要)经常被分离到一个独立站点。 |
- 2、Trac:Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台。
|
|
优点 |
1、Trac做一个SCM配置管理平台,意味着它有良好的扩充性。 2、Trac的权限体系是比较完备的设计。 3、非常灵活,可以随心所欲的定制,可以和TortoiseSVN集成。 |
缺点 |
1、不支持多项目。 2、需求和缺陷没有分离。 3、核心功能很少,不安装插件基本上没法用。 |
- 3、Apple XCode: Xcode 是运行在操作系统Mac OS X上的集成开发工具(IDE),由Apple Inc开发。
|
|
优点 |
1、可以自动创建分类图表。 2、自动提供撤消、重做和保存功能,无需编写任何编码。 |
缺点 |
更新版本后,某个插件可能会失效。 |