第一次作业

这个作业属于哪个课程 软件工程原理与方法
这个作业要求在哪里

https://edu.cnblogs.com/campus/xnsy/Software

EngineeringClass1/homework/2713

我在这个课程的目标是 了解软件工程师在软件生命周期所要做的工作以及所应该具备的专业基础。
这个作业在哪个具体方面帮助我实现目标 1.接触到了博客园这个聚集了很多计算机专业人士,不仅有有大量专业人士的实践经验与讲解,还有来自世界各地的计算机爱好者可以一同学习和探讨问题。

  2.在对整本教材进行浏览后提出了自己感兴趣的问题,同时也对后续课程的学习有了大致的理论框架。

  3.阅读了15个有着不同经历的程序员的学习方法与态度,对自己的后续的学习有了更加清晰的目标和计划。

作业正文

一.我的博客地址:https://home.cnblogs.com/u/cristiano7/

   自我简介:

   刚入学校时因为专业调剂到了自己不喜欢的专业,于是在确定了对原专业不感兴趣后决定转专业,那个时候美国电影“漫威”给了我很大的启示,在各类人工智能通过人们的想像活跃在影视作品时,忽然就像到:“如果我去学编程,会不会有一天也能有一个属于我的‘贾维斯’呢?”有了这个想法我立刻开始查阅相关资料,虽然现实告诉我那还太远,但各种各样的软件仍然给我打开了新世界的大门,于是我在大一下学期转入了软件工程专业,我自认为还是一个自我管理能力比较强的人,而且比较理智,遇到感兴趣的事不会立刻一头扎进去,而是在具体了解后才决定是否去做。平时除了专业知识之外还自学了摄影和平面设计,摄影让我看到了平时几乎不会注意到的细节的美,也让我在学习之余有了让自己放松和投入的事,开发中我最喜欢网页的开发和设计,更喜欢也更倾向于做可以实际看到并且给人直接的视觉体验的工作,现在正在尝试开发自己的网站。

二.阅读以上材料,并回答下面几个问题:

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

  • 当初你是如何做出选择软件工程专业的决定的?
  • 答:在仔细了解了本专业的就业形势以及未来发展后慎重选择的。
  • 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?
  • 答:基本完全符合。当时是对软件开发非常感兴趣,过去的两年中是在学一些基础知识,对目标有了更加明确地规划。
  • 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?
  • 答:是。不完全擅长,感觉自己的理解不够好,但是会努力。
  • 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
  • 答:会。想去西安,公司的话还没有具体考虑过,岗位的话希望是前端设计开发。

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

  • 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?
  • 答:C语言,C#,数据库的管理。1200行左右
  • 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?
  • 答:专业知识还不完善,对学过的语言和数据库等也没有做到灵活掌握,缺少实践经验以及开发软件的能力。

(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。

  • 对照以上你阅读的前人们的经历,你的选择是什么?
  • 答:考研,可以更加深入的理解和掌握更多的专业知识,提高自身能力。
  • 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
  • 答:有了更加深入学习的机会,知识储备更加丰富,但是欠缺实践经验以及工作经历。
  • 针对你的选择,你给自己的大三设定的规划安排是什么?
  • 答:深刻对本专业基础知识的掌握,坚持每天两个小时的代码量,英语不能放下,不论是考研还是工作都非常重要,另外就是尽可能的参加比赛,在实际中动手操作会让自己提高的更快,对理论的应用更加熟练。

 三.我的问题

  (1):在第六章敏捷流程中虽然细化了各个细节,但是仍然没有对实际的效率做出改善,也并不能缩短项目的完成时间,所以还是不能理解现如今对敏捷流程的推广到底有什么用。

  (2):在第五章团队开发流程中,学习了各种各样的模型,其中瀑布模型在我看来是缺点大于优点的,可是为什么瀑布模型仍然被频繁地使用呢?在团队和项目的规模不同时,怎样选择最合适的流程呢?

  (3):在第三章软件工程师的成长中,提到了作为一个软件工程师所应该具备的能力和素养,那么我们应该如何合理分配时间和精力,哪些是可以被放弃的,从而提高我们的学习效率和质量呢?

  (4):在第三章软件工程师的思维误区中提到过早优化,就是过于重视局部优化而忽略整体,那么什么时候才是优化的最合适时间呢?为了全局而忽视局部的优化就一定是解决问题的唯一方法吗?

  (5):在第八章需求分析——竞争型需求分析的框架中,我们需要有独特的办法来吸引顾客,那么为了区分我们与其他公司,提高我们的竞争力就必然需要创新,但是创新的成果往往是不稳定的,那么我们应该在什么时候选择创新才能带来利益的最大化呢?我们又应该如何提高自己的创新思维呢?

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

Microsoft TFS(Team Foundation Server):

  优点:任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM能与 VS 无缝接合

  缺点:搭建、维护tfs比较复杂,硬件要求也比较高。

GitHub:

  优点:GitHub是一个非常万能的工具。对于任何大小的项目,他都是理想的工具;他也是伟大的web工作流工具。首 先,他可以作为一个版本控制系统和协作工具,用它来发布工作。利用GitHub,你可以将项目存档,与其他人分享交流,并让其他开发者帮助你一起完成这个项目。优点在于 ,他支持多人共同完成一个项目,因此你们可以在同一页面对话交流。创建自己的项目,并备份,代码不需要保存在本地或者服务器,GitHub做得非常理想。学习Git也有很多好处。他被视为一个预先维护过程,你可以按自己的需要恢复、提交出现问题,或者您需要 恢复任何形式的代码,可以避免很多麻烦。Git最好的特性之一是能够跟踪错误,这让使用Github变得更加简 单。Bugs可以公开,你可以通过Github评论,提交错误。在GitHub页面,你可以直接开始,而不需要设置主机或者DNS。

  缺点:需要不断实践和时间。

Trac:

  优点:

    1、Trac做一个SCM配置管理平台,意味着它有良好的扩充性

    2、Trac的权限体系是比较完备的设计

    3、非常灵活,可以随心所欲的定制,可以和TortoiseSVN集成。

  缺点:

    1、不支持多项目,

    2、需求和缺陷没有分离,

    3、用 wiki 来替代 Word 等工具编写文档对于产品策划来说门槛太高了,

    4、中文化不完整,美术人员接触起来困难重重,

    5、不显示中文名,本地化做得很差,

    6、核心功能很少,不安装插件基本上没法用。

BUGZILLA:

  优点:BUGZILLA不收费,BUGZILLA现在有中文版支持

  缺点:BUGZILLA只能管理缺陷

Apple XCode:

  优点:可以自动创建分类图表。自动提供撤消、重做和保存功能,无需编写任何编码。

  缺点: 更新版本后,某个插件可能会失效。

 

posted @ 2019-03-21 08:52  孤傲无碘盐  阅读(190)  评论(1)    收藏  举报