《构建之法》个人第一次作业

这个作业属于那个课程 课程的连接
这个作业要求在哪里 作业要求
我在这个课程上的目标 通过这门课程学习在现代软件工程实践,软件开发所使用的方法,思想。将课堂所讲运用到实践当中去
这个作业在哪个具体方面帮助我实现目标 学习科学的方法与思想,按照所讲的知识实践操作。认识到软件工程的知识体系,认识到自己的不足,为自己下一步的学习找准方向做参考
我的博客,欢迎来踩 AyOh_loop

一、建立博客介绍自己

我的博客AyOh_loop
自我介绍:我是来自西南石油大学软件工程卓越班的一名学生。我对自己的定位还是很准确的,我没有什么特长,普普通通一个人。自己的爱好就是听音乐,最好要是是摇滚的,Old Time rock'N'roll是首选,打彩六,看电影,云骑车😂。然后就是学习了吧,我挺喜欢学习点新东西的不限于自己专业,一般逮到什么,碰到什么学点什么,看我涡轮增压。(什么学习态度🙃)。

二、阅读与思考

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

  • 当初你是如何做出选择你所在专业的决定的?
    高考之前我就思考过要报什么专业。我有考虑过学化学,和我老爸一样,也曾想过学习汽车制造,最终选择软件工程也是当时对计算机感兴趣,认为这个专业的前景应该很好。在具体选择计算机的什么分支专业时是随便选的,也许当时看到的是计算机科学与技术而不是软件工程,我有可能就会选填成计算机科学与技术了。
  • 你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
    还比较符合,上大学之前就稍微了解了计算机专业要学的课程,软件专业要学的课程。当时学习的时候还是很感兴趣的。我认为符合我对软件工程的期待,设计模式教会我21种设计模式,编程范式课程中体验到了泛式编程,同时我信任学校的本科培养教育方案。
  • 你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
    是,我没有后悔选择软件工程专业。我认为自身的学习能力还是可以的,软件工程的擅长程度我会打60分吧,刚刚及格。40分继续努力,前方道路还很曲折,也很长。
  • 将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
    会,我会选择从事IT行业,想去北京,杭州,深圳这样的城市。

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

  • 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
    比较熟悉C语言程序设计,学习过C#,javaweb开发,python科学计算,经典算法的学习。在大一大二的时候在课余主要学习的是经典算法,数据结构。当时对项目开发几乎没有接触过。代码量估计有5000左右。做过最复杂的项目是一个javaweb开发项目的实践作业,当时学习使用spring框架,servlet,做一个学生信息教务系统。
  • 离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
    回答这个问题,就会相形见绌,夸张点一首无地自容。专业知识很欠缺,分布式,高并发,网络体系结构,操作系统工作原理,编译原理,系统优化,系统调度,大型数据库的设计,编码能力的提升,算法功底,高级数据结构,数学功底,编程语言的高级特性,真的是无地自容。

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

  • 对照以上你阅读的前人们的经历,你的选择是什么?
    我选择考研
  • 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
    优势:没有明显的优势,努力实现自己的目标,
  • 针对你的选择,你给自己的大三设定的规划安排是什么?
    学好专业课的同时,复习考研,备战考研。专业知识要在课堂中,课余时打好基础。课下充分利用时间复习考研的各个科目,争取考上一个好的研究院校,为自己在未来的发展中打下更有利的基础,处在更高平台。
  • 你对于实现自己的梦想已经做了或者计划做什么样的准备?
    提前备战考研,针对性的复习。提高自己的专业素养,课堂的知识学习透彻,继续学习算法,算法还有很多没有学习,图论,数论,高级数据结构。多刷题。

三、提有质量的问题

  1. 结对编程真的适合真实的项目开发吗,有存在的必要吗?(第4章,第5节)书中所讲结对编程,一个主代码手作为“驾驶员”,副代码手作为“领航员”,审计主代码手的代码。这种方式我有所体会。在ACM的比赛中,主代码手编写代码,副代码手检查主代码手代码的逻辑有无出错,语法有无出错,并不断提示主代码手下一阶段的逻辑。但这是在算法比赛中,并不是真实的项目开发,同时结对编程要求两人有较好的默契度。在我所看到的资料中,国内环境结对编程的生存空间很少,是否有必要存在呢?是真的适合项目开发吗?
    资料:国内为何很少有人做结对编程呢?是确实不好还是属于中国特色?
    请停止结对编程
    工程师结对编程能否大幅提高工作效率?

2.在第5章中讲述了很多的团队模式和开发流程,在真实的软件开发过程中,难道是在一开始确定团队的时候就要考虑要把团队组建成什么模式吗,还是不知不觉就“对号入座”了,并且该章节中详细的讲解了这些模式的优点缺点,那在实践中存在几种模式混合取长补短吗?

3.第7章第2节重视商业价值,提供渐进的价值。怎样衡量一个项目 的成功?并不是最酷的技术,而是商业的成功。我认为这样说不是特别好。一个项目的成功很大程度上体现在商业价值上,但是,如果一味的追求商业商业利益,我认为不妥。虽然一个项目在商业上失败了,但他的思想,技术,影响了后人的技术开发,软件行业的发展,计算机的发展,人类生活方式的改变,我认为这样的影响远大于商业价值。

4.第8章第6节主要讲了“估计”,在软件开发过程中,强调找到估计背后的假设,然而却没有讲在假设之下如何提高估计。

5.第13章软件测试有讲解软件测试的工具,测试方法,却没有说明测试用例的数量,测试用例是80个就可以比较全面的探测bug,还是200个更好的可以探测bug,或者说越多越好?如何避免测试用例的相一致性?

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

  • Git
    Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。起初,Git 是 Linus 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件,所以说Git的很多命令是Linux命令。
    优点:适合分布式开发,开发者个体可以通过Git把开发所需要的源代码从服务器上克隆到本地,减轻了公共服务器的压力
    缺点:有一定的学习周期,Git的命令大多是Linux命令,这需要用户去学习使用Git的命令来操作Git。Git使得仓库中的代码保密性变得很差,一旦有开发者把所有源代码,版本信息,从仓库克隆到本地,就可以随意散布更改。
  • GitHub
    GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub
    优点:集成Git工具,学习Git过后可以很快上手。支持MarkDown文本编辑,可以很好的书写项目介绍。
    缺点:Git的学习成本比较高,GitHub只支持Git作为唯一的版本库格式进行托管。中国用户访问GitHub容易被“墙”,有时需要魔法。
  • Rational
    IBM Rational 软件交付平台(Rational Software Delivery Platform) 是一个为软件和基于软件系统的开发提供完整解决方案的集成平台。它允许参与者更有效地操作,并且交付令组织区别于其竞争者的创新的产品和服务。
    优点:功能很齐全,软件开发整个流程都可以使用,适合企业级使用。
    缺点:Rational系列的软件功能齐全,但是却比较分散,使用相关的功能,需要下载不同的软件,比较麻烦。
posted @ 2019-09-10 18:58  AyOh_loop  阅读(218)  评论(2编辑  收藏  举报