软件工程第一次作业

软件工程第一次作业

- *这个作业属于哪个课程*:[软件工程基础](https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFoundation)
- *这个作业要求在哪里*:[要求](https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFoundation/homework/4517)
- *我在这个课程的目标是*:学习软件工程的基础,了解编程思想
- *这个作业在哪个具体方面帮助我实现目标*:那些先进的编程思想

正文

一 . 自我介绍

    我叫金忠仪,18级计科的学生,现在前来学习软件工程基础[这是我的博客](https://www.cnblogs.com/PrincessViolet/)。我的话,算是属于那种悟性比较高,反应比较快的学生,但随之的问题就跟大家常说的聪明的学生注意力不集中。在我不感兴趣的方向,我很难集中自己注意力,我现在也在努力克服之一缺点,比如听歌。我一定会努力学习取得好成绩的。

二 . 阅读与思考

读后感

    计算机编程在我看来是一门手艺,程序员赖以生存的手艺。而这门手艺,是有自学的可能。我也见过许多在大学之外自学编程并取得成功的程序员。在我看来,大学对于我的意义在于这是一个平台,在这里我们能受到更良好的教育和机会。这好比古时候自学的匠人和有师父有门第的匠人。以后找工作,我们的大学将是一块敲门砖,是我们能力的一种凭证。所以我们在大学更应该发奋努力,学习本领,而不是以自学成才麻痹自己。

思考

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

- 我从小就喜欢电脑,在高中的时候略微接触过编程,比较喜欢这方面,然后毕业我选择了这个专业。
- 在过去一年的学习中,我觉得学的知识还是比较符合这个专业的,编程语言,数据结构什么的,唯一不解的是我不明白为什么必须要学物理。
- 这是我感兴趣的专业,我当然喜欢,我也容易在这方面的学习上沉下心来;然后因为从小接触电脑,经验带给我不少帮助。
- 将来的工作岗位我还是有个目标,就是担任在上海的BILIBILI的程序员。

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

- 现在我的能力距离我的目标还差点很远,专业能力还不够,代码量也少,做个最复杂的项目还只是贪吃蛇游戏。
- 距离毕业生,我还差一个编程能力,编程思想,相关知识储备,项目开发经验,还有成熟的心。

(3)目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向

- 我选择考研,然后有机会就出国进修,没有条件就选择工作,为出国创造条件。
- 考研的话,我的优势在于学历肯定占优,在找工作更方便,但相比选择出国的,专业能力和眼界必然会低一些。
- 所以到大三的时候,当然是努力学习,为考研做准备,如果有多余时间,考一个教师资格证说不定是个比较好的选择。
- 至于实现我的梦想的准备,最明显的当然是考上了这所大学,这是巨大的一步。

有质量的问题

(1):软件可维护性的问题(教材章节1.2.4)

    一个“完美的软件”正如教程所言是没有bug的。但软件都会有bug,所以需要经常进行维护。但在修复bug的时候,“**按下葫芦浮起瓢**”,这种情况我经常遇见~~点名批评育碧游戏~~。一个典型例子就是育碧游戏《彩虹六号:围攻》在第二年时,游戏积累的bug已经严重影响玩家游戏体验,以至于第二赛季被替换为“健康行动”,停止所有应有的内容更新,来集中“repair and fixing”。所以我的疑问在于,什么时候应该推翻重做软件,以及如何去避免育碧这种“修复了没有bug的bug”的问题。我觉得作为优秀的程序员应该考虑这些问题。

(2):软件优化问题(教程2.3)

    教程表2-2中给出了软件工程师的任务清单。上面具体的给出了软件开发流程。但我并没有看见有优化流程。我所以很疑惑软件优化这一步骤在软件开发中占据什么样的地位,以及其优先级别。在平时使用软件的过程中,有时候会听到“这次更新这东西优化变好,使用更流畅了”之类的说法,所以我好奇软件优化是怎样的,怎么做的。

(3):技能反面(教材3.4)

    教材在这方面用还原魔方举例。我对于例子中3个区域理论的理解是:舒适区是刚刚**学会**技能,能够用技能解决实际问题,而学习区是尝试**理解**技能,思考技能的原理。但我不理解例子中的恐慌区。书上是指自己实力不足,心理准备不充分,却要求自己达到最高层次。我疑惑的地方在于,如果我没有这样急功近利的思想,我专注我手头的学习,还会进入恐慌区嘛?如果这样跳过了恐慌区,后面的学习之路还是什么?

(4):用户体验(教材12.1.1)

    在软件用户体验上我算是有所体会。教材用电视遥控器的例子我觉得很恰当。我疑惑的是,我对比了国内外不同的软件,发现了一个共同问题:**国外流行的软件绝大多数都是界面简介干净,国内的软件界面就很花里胡哨各种推广广告,甚至还有捆绑软件,哪怕像腾讯这样互联网大头公司也不例外。**问题来了,是什么样的理念使得国内软件开发公司变得这样畸形,最讽刺的是这些用户体验不好的软件理应竞争不过同类简洁干净的软件,但偏偏这些好软件很难入主流用户的法眼。如果我将来从事软件开发,我不知道走这样的老路,还是说追求用户体验。

(5):软件工程师的职业道德(教材17.8)

    作为软件工程师,如果自己设计的软件,被其他人恶意盗版,该怎么办?走法律程序的话又如何挽回损失。然后还有个就是,自己的软件应该怎么向用户销售才能尽可能使大众接受。有谁是真正为正版软件,尤其是专业软件逃过腰包呢?大多数人都被其高昂的价格劝退了,所以我想知道如何做好这个平衡。

**源程序版本管理工具

(1)GitHub

    最大的开源管理平台之一,用户能找到海量的开源代码并使用,能不同的开发者之间工作冲突问题。但界面全英语,非英语用户使用难度较大。
  
**(2)Microsoft TFS**
    集成了项目管理、版本控制、BUG 跟踪,功能强大,能很好兼容VS。缺点在于能完全使用的团队和公司很少。

**(3) Apple Xcode**
    基于苹果系统的集成开发环境,通过支持Swift软件包,其允许开发者在所有应用程序之间共享代码或使用社区创建的软件包。缺点在于没有中文界面,使用难度大。

你可能感兴趣的:(软件工程第一次作业)