第一次阅读和准备作业
请大家在作业开头添加格式描述:
这个作业属于哪个课程 | |
这个作业要求在哪里 | |
我在这个课程的目标是 | 学习开发软件项目的思想和流程 |
这个作业在哪个具体方面帮助我实现目标 | 阅读前人们的博客能够吸取一些经验 |
一.建立博客并介绍自己
- 在cnblogs.com上注册开设博客。
我的博客:
2. 自我介绍:
我叫张吕月,来自17级软件工程二班,做不到兼顾学生会工作和学习所以专业能力比较菜。从五岁开始就喜欢跳舞,现在也经常参加舞蹈类活动;喜欢旅游,在完全不同的感受中去发现自己内心真正觉得重要的东西;偶尔也喜欢读读写写。
二.阅读与思考
阅读以上材料,并回答下面几个问题:
(1)回想一下你初入大学时对软件工程专业的畅想
- 当初你是如何做出选择软件工程专业的决定的?
因为以前一直比较喜欢玩游戏,所以也想尝试自己写游戏。
- 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?
最开始不符合。因为所学习的c语言和数据结构,可能是因为教授的内容比较少,自己也只是简单地完成考试的内容,所以让我感觉与想象中的有些偏差,甚至觉得无聊。但后来自己也能够写一个简单的管理系统了,让我体会到了编程的成就感。
- 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?
是我喜欢的领域,我也想努力将它变为我擅长的领域。
- 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
会。成都。公司和岗位没有具体了解过,可能在后期的学习中会慢慢有想法。
(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你
- 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?
只是对所学过的c语言、数据结构、c#、数据库有初步涉猎,并不能熟练掌握运用。写过的代码可能只有两三千行。
- 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?
专业知识的学习都还没有完成,技能和能力也都有很大欠缺。
(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
- 对照以上你阅读的前人们的经历,你的选择是什么?
我会选择工作,可能的话边工作边考研。
- 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
优势是更快融入社会,获得更多工作经验,劣势是学历不如考研的同学高,所涉及到的工作领域也会不一样。
- 针对你的选择,你给自己的大三设定的规划安排是什么?
首先是学好学校的专业课程,其次了解一下成都的一些软件公司及岗位的能力要求,尽量学习一些课程以外的有用的专业知识。
三.提有质量的问题
1.第三章
这里谈到了专和精的关系,既然我们更愿意听只研习某一乐器的乐手,那么全栈工程师的存在有何意义?我们到底是应该广泛地学习还是专功某一方面?
2.第四章
在谈到如何结对编程时,提到“驾驶员和领航员不断轮换角色”,我不太明白为什么要这么做,两个人的配合本来就需要投入一定的时间和精力,来达到较为默契的模式和阶段。还有如果双方级别资历不同,就很难做到“双方都拥有平等的决策权力”,那么该如何实现呢?
3.第五章
在明星模式中,团队的利益很大程度上受到“明星”的影响,这样几乎忽视团队而凸显个人的团队模式有何益处?
4.第六章 敏捷流程
敏捷开发的原则里写到“保持简明——尽可能简化工作量的技艺——极为重要”。在开发过程中,代码不断被扩充,势必会使代码变得复杂,那要怎样在使软件不断开发完善的过程中依然保持代码简明?
5.第十六章
“成功的公司有价值观——追逐利润”,既然要创新就需要有新的产品,然而新产品的利润又不如成熟的产品,那么如何衡量这两者?若同时推销两者,那么成熟的产品会不会影响新产品的发展前景?
四.了解和调查源程序版本管理工具
(以下来自百度)
1.Apple XCode
优点:
(1)为各种类型的 Mac OS X软件项目提供项目编辑、搜索和浏览,文件编辑,项目构建和调试设备等功能。
优点:
(1)GitHub是一个非常万能的工具。对于任何大小的项目,他都是理想的工具;他也是伟大的web工作流工具。首先,他可以作为一个版本控制系统和协作工具,用它来发布工作
。(2)利用GitHub,你可以将项目存档,与其他人分享交流,并让其他开发者帮助你一起完成这个项目。优点在于,他支持多人共同完成一个项目,因此你们可以在同一页面对话交流。
(3)创建自己的项目,并备份,代码不需要保存在本地或者服务器,GitHub做得非常理想。
(4)学习Git也有很多好处。他被视为一个预先维护过程,你可以按自己的需要恢复、提交出现问题,或者您需要恢复任何形式的代码,可以避免很多麻烦。Git最好的特性之一是能够跟踪错误,这让使用Github变得更加简单。Bugs可以公开,你可以通过Github评论,提交错误。
(5)在GitHub页面,你可以直接开始,而不需要设置主机或者DNS。
缺点:
(1)如果,你是Github使用新手,首先的挑战就是摆正心态——需要不断实践和时间。
(2)他可能不是捕捉创意过程和记录创意点子的最佳工具。对于这种特殊功能模拟可以选择LayerVault 或其他相似工具。之前,我们已经强调过Github非常适用代码跟踪,但是却不是最好的设计跟踪工具。将图片内容转化为代码,或者将设计用于产品设置,看起来依旧不是那样顺利。
(3)这是由设计者决定的,然而,一些人发现 GUI 有点混乱,选择CLI代替。一些开发人员学习主要使用Git命令,这样可以解释为什么他们不太喜欢GUI的原因了。稍加练习,命令的学习是不太困难的。然而,你喜欢天天写命令吗?特别是跟踪项目历史或解决冲突的时候。所以就有了另外一群喜欢GUI的人们。将提交、修改、移动文件等操作可视化,会有一个更好的体验。而这些,就如之前提到的,需要时间来适应。
(4)如果,你专门在GIthub上工作,版本控制存储库就值得你拥有,也需要你长期付出。
3.BitBucket
优点:
(1)对于小团队免费,这意味着最多5名成员的团队将获得无限数量的免费存储库。
(2)一个集成的查询管理系统。
(3)通过社交媒体和GitHub认证。
(4)集成Jira工具。BitBucket和Jira在整个开发阶段都做了整合,通过集成的错误跟踪组件,JIRA自动更新有关检测到的问题的信息。
(5)导入现有Git项目。
(6)支持Git,CodePlex,Google Code,HG,SourceForge,SVN导入。
缺点:不开源,系统不稳定。