第一次作业

这个作业属于哪个课程

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

这个作业要求在哪里

 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2713

我在这个课程的目标是

了解软件工程原理,在编程能力上有所提升

这个作业在哪个具体方面帮助我实现目标 

让我对软件工程有了更深的了解

作业正文 ....

如下

其他参考文献 ...

 

 

一、关于我

      我是西南石油大学2017级软件工程学生王伟。爱好骑行,看电影。没有什么特别的闪光点,对时间比较敏感吧,看重时间观念。我的博客地址是https://www.cnblogs.com/swpu-ww/

二、阅读与思考

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

在最初本不是软件工程专业的学生,也没有接触过编程,但是在原专业学习一段时间后,再加上对专业前景以及将来工作的一些方面有了一些了解后,感觉自己对原专业没有兴趣,决定转专业,几经周转,软件工程专业前景不错,比原专业也更有兴趣,于是选择了软件工程。

  • 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?

在过去的一年多的学习中,接触到的课程都是一些比较基础的,课堂上只能学到一些表面知识,更多的需要自己花时间心思去自己专研,当然这也符合大学的学习情况。但是感觉目前接触到的这些课程不太符合我对软件工程专业的期待,自己在之前对于软件工程专业的认为,以为更多的是学习使用的技术,在学习完课程后可以做出自己满意的东西,但是发现目前学的课程还不足以做到,需要学习更多的知识。

  • 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?

对于软件工程,可以说是有兴趣,但是谈不上非常喜欢,以我目前掌握的知识情况来看的话,它不算是我的擅长的领域。

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

在目前看来将来我会从事软件开发相关工作,但不会一直做下去。毕业后想去深圳或者上海发展,没有具体的公司单位。尽管缺少实战经验,但自己还是想趁着年轻去大城市闯一闯。

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

目前的话,专业知识只掌握了C语言、C#、数据结构、离散数学、数据库等基础知识,会编写简单代码,没有具体的实际项目经验。目前的代码主要是完成编程作业、练习,估计有六七千了,没有具体的计算过。

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

 在专业知识方面还缺乏很多,目前只掌握了C语言、C#、数据结构、离散数学、数据库等基础知识,需要学习的还很多。能力上的话,编程不强,大多只做了一些作业编程,缺乏实际经验。

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

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

在目前来看,我还是会坚持最初的想法,毕业工作。

  • 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?

优势的话,我认为我能更早的接触、融入社会,积累更多社会以及工作经验,人脉。

劣势的话,相对于考研的人们来说,我就缺少了更多的专业知识。

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

在完成课程学习的基础上,再拓展一下自己的知识面,提高自己的专业能力,争取做出一个让自己满意的作品,能够去公司实习积累工作经验,为之后工作打下点基础。

 三、不懂的问题

1.(p111)第六章提到了敏捷流程的问题,提到了“各个需求和任务之间是有种种复杂的依赖关系的,除了优先级之外,我们还要考虑相互的依赖关系”,但是如何才能在计划中体现出依赖关系呢?文中并没有提到这一问题的解决方法,我也不太明白。

2.p115写到“程序员写完功能的时候,感觉项目完成了80%,殊不知后面的20%往往要花费80%的时间,敏捷流程没有明确表明到底何人何时以何种优先级来完成这20%的任务。并且软件项目中常常有一些比较艰难和底层的任务,完成这些任务需要超过Sprint所计划的时间,这时候应该怎么安排呢?”在作者的经验中来看,这些任务往往得不到重视,以致后面需要花很多时间去解决。但是没有说如何去解决这一问题。我的困惑是既然这些问题既困难又重要,是否能在前期就尽早安排相应人员来完成这些任务呢?以免在后期再去解决会耽误更多的时间。

3.在第九章中提到了风险的问题,说到开发人员写入的代码出现了问题,是风险吗?书中说这不是风险,因为代码签入带来的负面影响是软件生命周期的正常事件--是一个常态。但是历史上不乏因为程序员写入的代码出了问题而造成了重大事故,这难道还不算是存在的风险吗?


4.在第十六章IT行业的创新中,提到了创新的迷思、时机和招数,但是创新在软件工程领域里面具体是怎么样的,我还是不太理解。‌

5.(p347)在第十六章IT行业的创新中,谈到了这样一句话,“要成为领域的专家,才能创新。”作者说到这个想法看起来没有什么错,我们不就是为了成为某个领域的专家,才来上学,拿学位,希望拿到学位之后成为专家,然后再开始这个领域的创新。但是数据统计表明,70%的创新者说,他们的最成功的创新是在他们拿手的领域之外的。而且有很多创新的东西或想法都不是由该领域的专家们所提出的,甚至是一些之前大家都不了解的人。所以为什么说非要成为了领域的专家才能创新呢,在前面也说到了大家都喜欢创新,不一定非要是领域内的专家才能创新呀。那还有一个有意思的问题就是,为什么有时候领域内的专家反而没有其他人更能创新呢?

 

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

(以下内容来源百度百科)

GitHub

 

优点:提供Git存储库服务,基于web,允许用户使用Git的源代码管理功能

缺点:比较复杂,需要花时间去学习,适应。

 

Trac

优点:很灵活,可以随意定制。其权限体系是比较完备的设计。有良好的扩充性。

缺点:不显示中文名,本地化做得不好。很多功能需要安装插件。不支持多项目。

 

Apple XCode

优点:编译速度快。自动提供撤销、重做和保存功能,无需编码。

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

posted @ 2019-03-21 14:13  不忘初心Mario  阅读(136)  评论(2编辑  收藏  举报