【软件工程】第一次阅读做业

这个做业属于哪一个课程git

<课程的连接>算法

这个做业要求在哪里编程

<做业要求的连接>服务器

我在这个课程的目标是数据结构

了解专业知识,学习软件开发方法工具

这个做业在哪一个具体方面帮助我实现目标 学习

自我评价,了解前人经历,总结经验测试

一.创建博客并介绍本身命令行

    我来自软件工程3班,属于慢热型;喜欢玩魔方,听音乐;情绪常常写在脸上,不善言辞。blog

    个人博客地址: https://home.cnblogs.com/u/3451ymx/

二.阅读与思考

(1)回想一下你初入大学时对软件工程专业的畅想

  • 当初你是如何作出选择软件工程专业的决定的?

         当时填志愿时间紧张,来不及深思熟虑就选了软件工程这个专业

  • 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为何?
    还算符合吧。学了C语言、C#,数据结构与算法等基础课程,为往后的核心课程、实践打下基础
  • 你以为软件工程是你喜欢的领域吗,它是你擅长的领域吗?

         不喜欢也不讨厌,不擅长

  • 未来你会选择从事软件开发相关的工做吗?是的话给出你想去的城市、公司和岗位,否的话给出缘由

          不必定。目前学的东西很少,基础不是很好,对计算机行业也不是很感兴趣,还没想好

(2)即将大三的你,对照前人们走过的路和描述将来发展,如今的你

  • 自我感受你已经具有的专业知识、技能、能力有哪些?已经写过的代码量是多少?

          目前我具有的专业知识、技能、能力只能说是入门,要达到大佬级别,还有很长很长的路要走;写过的代码也很少

  • 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?

         目前,可能连一个码农都称不上,对于软件开发也仅仅知识了解点点理论知识,各方面的综合能力,如合做能力、沟通能力、管理能力都有所欠缺

(3)大三是一我的生选择的十字路口,考研、工做、考公、出国,不一样的选择在大三就有不一样的努力方向。而不管考研仍是工做的每条路径,也有许多不一样的分支。

  • 对照以上你阅读的前人们的经历,你的选择是什么?

          考研

  • 在这种选择下,你认为你相比其余同窗来讲有何优点,有何劣势?

          优点:首先,当前大学生愈来愈多,含金量也不是那么高,并且有的企业要求就会高些,因此研究生会在学历上赛过一筹;其次,也存在不少本科毕业就工做的,最终仍是走上了考研之路;再次,对于我我的而言,还没想好是否要从事本专业工做,也许会跨考。

          劣势:本科毕业就工做的通常都比考研的实战经验丰富、人脉广。

  • 针对你的选择,你给本身的大三设定的规划安排是什么?

          既然目前还没想好,就先学好当前的课程,尤为是专业课程。

 

三.提有质量的问题

    问题一:

         代码复审 4.4

         文中提到代码复审有三种形式:自我复审、同伴复审和团队复审。

         个人疑问:最好是有经验、熟悉代码的人来复审,而代码做者必定是最熟悉本身代码的,但他本身复审,会有思惟的局限性;若是同伴复审,就不存在思惟的局限性,那么是选择一个同伴复审,仍是两个同伴复,甚至更多呢?若是是团队复审,最大的局限是效率不高。那么三种方式该如何抉择?

    问题二:

         结对编程  4.52

         书中举有例子:越野赛车和驾驶飞机,二者共同特色是在高速度中完成任务,任务有较高的技术要求,任务失败的代价很高。

         个人疑问是,开发程序时,什么样的状况是相似于文中举的例子,须要进行结对编程?是否有公司实行过结对编程?效果如何?对于合做的两人,是两人水平至关,仍是一高一低?有什么特别的具体的要求吗?合做两人的适应期通常是多长时间呢?

    问题三:

        与顾客合做 7.2.9

        文中提到MSF强调产品团队与顾客的交流合做,由于“我以为”和“用户以为”是两码事。

        个人疑问:那么遇到那种类型的问题须要与顾客交流?大概多久进行一次呢?如果交流时遇到“对牛弹琴”的状况该如何处理、如何交流?

    问题四:

        目标、估计和决心 8.6.1

        文中提到若是咱们混淆了目标估计和决心,那就会犯错。其中软件时间的估计是多个估计值的乘除法(估计的需求、估计的复杂度等等)。

        个人疑问:那么,究竟每一项估计该怎么估计才比较准确呢?

    问题五:

        PM作开发测试外的全部事情 9.3

        文中提到微软公司有好几类PM,以及一名优秀的PM应有的能力。

        个人疑问:不管是哪一类PM,是都必需要拥有文中所列举的那些能力吗?仍是说负责内容不一样,有不同的要求?

 

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

      

git的优缺点【1】:
  • 优势:
    • 公共服务器压力和数据量都不会太大。
    • 速度快、灵活。
    • 任意两个开发者之间能够很容易的解决冲突。
    • 离线工做。
  • 缺点:
    • 资料少(起码中文资料不多)。
    • 学习周期相对而言比较长。
    • 不符合常规思惟。
    • 代码保密性差,一旦开发者把整个库克隆下来就能够彻底公开全部代码和版本信息。

mercurial优缺点【2】:

  • 优势:
    • 命令行简单,容易上手。
    • 简洁优雅。
    • 服务器部署相对容易。
  • 缺点:
    • 改写历史麻烦,易致使版本库混乱,也易出错致使丢失历史。
    • 没有命名空间,易致使本身与别人的代码混成一团。
    • 每种分支方式都有许多缺点及不便之处。

Bugzilla优缺点【3】:

  • 优势:
    • 定制功能较强,能知足用户的差别化需求
    • 安装较简单。
  • 缺点:
    • 界面不友好。
    • 语言单一。
    • 更新慢。

 

【1】博客园

【2】【3】知乎

相关文章
相关标签/搜索