第一次作业

张卓鑫的第一次作业

>这个作业属于哪个课程:[课程的链接](https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFoundation/homework/4517)
>这个作业的要求在哪里:[课程要求](https://www.cnblogs.com/harry240/p/11469058.html)
>我在这个课程的目标是:了解软件工程的重要性并学习Markdown
>这个作业在哪个具体方面帮助我实现目标:学习前辈的成长经历并且了解到将来会面临到的一些问题

我的自我介绍

我是来自计科四班的张卓鑫,对计算机有自己的向往,参与到广大程序员的人群中也并非为了更好的工作机会,希望能够靠自己的努力用代码和计算机去做一些足够酷的事。虽然专业技术学的不是很好,但总得乐观一点,以后会学好的哈哈哈。平时的话喜欢打打游戏,还喜欢乒乓球健美操等运动。希望在不远的将来自己也能成为一个计算机的大佬,有梦想总是好的呀。

(1)回想一下你初入大学时对你所在专业的畅想

  • 当初你是如何做出选择你所在专业的决定的?
    答:当初也对自己的未来没什么确切的规划,对当时的热点行业不是很了解,但是我觉得我一定会去一个有技术含量的行业,这个行业一定是有个人色彩的,于是我找到了计算机科学。
  • 你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
    答:我认为符合我的期待,我也明白任何专业的入门都可能只是简单的去学习一些小技能,而这个入门也许还十分困难,但不管是代码的思想和实现方式还是数据结构算法的研究都让我觉得这很棒。
  • 你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
    答:我觉得是我喜欢的领域,但现在应该不是我擅长的。
  • 将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
    答:我会的,希望能够从事人工智能的工作,因为我觉得人工智能是解放劳动力的伟大行业。

(2)对照前人们走过的路和描述未来发展,现在的你

  • 对照以上你阅读的前人们的经历,你的选择是什么?
    答:我的选择是继续努力的学习,充实完善自己。
  • 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
    答:我觉得我的优势大概是心无旁骛,在学习上有更多的自主时间。
  • 针对你的选择,你给自己的大三设定的规划安排是什么?
    答:大三的话,我希望能够接触到一些工作上的事情,就是以后自己将要面临的工作,并在大三时解决发现的问题。
  • 你对于实现自己的梦想已经做了或者计划做什么样的准备?
    答:计划就是好好学习,准备考研吧,我想考研或许是一个跳板。

提有质量的问题

  • (1)在书中第三章3.34中,文章提到“没有人能在学校里掌握所有的‘将来会用到得到的知识’才离开学校,随后马上把技术运用在实践中。工程师应该在实践工作中不断学习和不断成长”可我们现在这么努力学习的C语言c++,到了将来已经淘汰了,并且出了更容易编程的一套东西,导致所有人都可以参与过来,也就是说随时都可以有人代替我们,那我们又该何去何从?就如同现在的Python和go语言一样。
  • (2)在书中第四章4.6中,说在工程中几乎都要与他人合作,在团队中几乎肯定会和他人发生矛盾,我以前一直以为计算机是个人色彩浓重,是可以一个人单打独斗的事情,可我又是一个很强势的人,这在我将来的发展中会不会给他人造成麻烦,以后的工作中又该如何面对自己团队里的队友?
  • (3)如何才能知道自己是否适合做PM,如果是,我应该在大学里如何准备?
  • (4) 在设计软件时,总会面临不同的用户,比如游戏,有些用户比较看重画面,有些看重游戏机制,在时间和成本有限的时候,我们该如何权衡?
  • (5)计算机是个发展日新月异的行业,如何把握住自己的核心竞争力,保证自己不被时代所淘汰?

了解和调查源程序版本管理工具

  • GitHub的优点:1、直接记录快照,而非差异比较
    2、近乎所有操作都是本地执行
    3、时刻保持数据完整性
    4、多数操作仅添加数据
  • GitHub的缺点
    1、学习周期相对而言比较长。
    2、不符合常规思维。
    3、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
  • SVN的优点
    1、 管理方便,逻辑明确,符合一般人思维习惯。
    2、 易于管理,集中式服务器更能保证安全性。
    3、 代码一致性非常高。
    4、 适合开发人数不多的项目开发。
  • SVN的优点缺点:
    1、 服务器压力太大,数据库容量暴增。
    2、 如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等。
    3、 不适合开源开发(开发人数非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。
  • Trac的缺点
    1、不支持多项目,
    2、需求和缺陷没有分离,
    3、用 wiki 来替代 Word 等工具编写文档对于产品策划来说门槛太高了
    4、中文化不完整,美术人员接触起来困难重重
    5、不显示中文名,本地化做得很差
    6、核心功能很少,不安装插件基本上没法用。
posted @ 2019-09-12 13:34  醉死的乌鸦  阅读(216)  评论(2编辑  收藏  举报