第一次作业

这个作业所属课程

<软件工程原理与方法>

这个作业的要求

<作业的链接>

我在这个课程的目标是

了解软件工程与程序及所学课程的联系

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

读到前面有很多别人的博客,很有帮助

 

 

 

 

 

 

 

 

 

我的博客是https://www.cnblogs.com/jhm12345678/。

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

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

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

        我是转专业到软件工程的,当时选专业的时候就是想报一个计算机类的或者是经济类的专业。

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

         大致符合。大一学了C语言和大二的C#,就是在写作业,尤其是和一些实际问题相关的时候让我体会到了所学课程与生活的一些软件,机器的关系,感觉挺有用的,而且虽然代码写得不好,但是敲书上的例子的时候还是挺喜欢的。

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

         软件工程是我喜欢的领域,因为初中的时候就有亲戚是学计算机相关的专业,然后看他在电脑上做东西就觉得特别喜欢; 但是到现在我觉得在技能,专业知识方面还不是很擅长,希望以后可以慢慢弥补。

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

         应该会的。以后想去一个沿海的城市,至于公司和岗位暂时还没有太清楚的规划,最好能工作强度不要太大的。

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

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

         专业知识总共学过C语言和数据结构、C#、数据库等。能力方面就是能写稍微规范点的代码 。已经写过的代码差不多就是布置的作业。                                                                                          

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

         主要是专业知识学得太少了,而且平时的练习也不够,而且看过前面的博客我觉得如果平时加强练习、多看这方面的书并敲出代码的话同时在技能和能力方面就也会有一定层次的提高的。

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

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

          经过我的阅读,我觉得我应该要考研,这样多读点书的同时会提高自己的专业技能,而且做的实战项目也会有增加,这些经验运用到以后的工作的肯定的·大有利的。而且在读研的同时也可以找工作,既增加自己的经验让自己在专业的路上成长,又不会觉得考研浪费了时间。

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

        在决定了考研的时候,我觉得劣势就是在之前学的时候没有认真,都是想着考试能过就行,这样在准备的时候无疑要花比其他人更多的精力与时间,与不考研的同学来比,他们将在这些时间在专业技能方面更专一的锻炼自己,提高自己的能力。优势就是会有一套更系统的知识体系,而且读研后找工作也相对要容易一些。

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

        针对我的选择,我给大三的自己设定了这样的规划:大三上开的课认真的学,争取在考研复习的时候在那些课上少花点时间;学习英语,通过英语六级;平时再深入的学习一边以前学过的专业知识,尤其是几种语言。大三下开始集中复习,加强记忆考研科目,尤其是那些非专业的东西和数学,同时最好能坚持每天写代码,定期完成一个东西。

 

三.提有质量的问题

 

  1. 快速看完整部教材,列出你仍然不懂的5到10个问题,发布在你的个人博客上。注明是哪一章哪一节。要有观点、有证据或分析。字数不是直接的考核标准,但是要求篇幅长到能把观点表述清楚。

 

1. 书中1.2节讲到其实每个学校对计算机科学和软件工程学生的培养都是从不同的初衷出发的,两个专业的偏向也不同,但不少院校计算机科学学生毕业后还是从事解决具体的工程问题,与软件工程的系的培养方向雷同,那这两个专业的人做同一项目时想法是否会有偏差,并且如何解决这种现状?

2. 6.3敏捷流程部分表6-2提到把好的做法推到极致,要求有“每时每刻都....”、“从一开始就...”这些是可以提供产品的质量,但也加长了产品的开发时间,在高效与快速之间应怎样控制;而且一个敏捷团队需要多功能型的成员,要写规格说明书、测试等多个方面的事,这样一个人做几件事会不会不精?

3. 3.2软件工程师的思维误区一节,软件模块之间存在着各种复杂的依赖关系,总是很难划分清楚这可能会让工程师走向错误的思考方向,那初级的软件工程师要如何避免这种情况的发生?

4. 4.7中提到,“人和人不一样,......MBTI类型,讨论不同性格类型对合作有多大的影响,在合作的各个阶段应如何应对?”这就是说团队成员的性格可能会影响团队合作项目的质量,而且我认为性格差距大的两个人思考问题的方式也有差别,那是否应在成立团队前做MBTI测试从而更完美的组合成一个团队

5. 13.1提到了“要在软件开发的适当阶段——基本功能完成后再来做这些非功能测试”,同时第12章,12.1.2有"从用户的角度考虑问题",提出“光吃狗食也不够”,我觉得可以把两者结合起来,在软件测试的阶段加入用户测试的模块,让客户或者有代表性产品使用者进入测试,对就觉得可以改进或不好的体验提出想法。

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

   1.  Microsoft TFS 

      优点:为需求、开发、测试各个流程提供自动化工具;

                 无限制专用存储库存储并协作编写代码;

                 通过持续集成在早期发现问题;

                可使用开放标准将第三方服务与TFS进行集成。

       缺点:搭建、维护过程较为复杂;

                 对硬件的要求高。

   2.    Rational:   

         优点:专注于构架,

                   在需求随时变化的时代,让企业拥有更快的反应,更弹性的运营策略和更明确的发展方向;

                    标准的跨平台解决方案。

          缺点:产品套装价格昂贵;

               用户体验不佳;

             

   3. Bugzilla(免费开源的Bug追踪):

       优点:有完善的Bug跟踪体系;

                 版本间向下兼容;

                 安全的审核机制及完备的产品分类方案。

        缺点: Windows平台配置复杂;  

                 Bugzilla的界面不稳定。

posted @ 2019-03-21 00:06  jmdd  阅读(169)  评论(2编辑  收藏  举报