格式描述:
这个作业属于哪个课程 | <课程的链接> |
这个作业要求在哪里 | <课程要求的链接> |
我在这个课程中的目标是 | 能够深入的认识软件工程,在之后的实践项目中切实的体会软件工程 |
这个作业在哪个具体方面帮助我实现目标 |
这个作业使得我能更好的记录一门课程,并养成计划的习惯。 之前我做事总是三分钟热度,但是在这次学习的过程中需要记录我们自己的总结,这将激发我学习的热情。 |
1.建立博客并介绍自己
首先在这里先介绍一下我的个人博客主页:https://www.cnblogs.com/mylovertomylove/
就是这个啦~~ 粉嫩的少女心页面,以后希望大家能够多多的指出我博客中的不足哈@-@~~
我就是我,不一样的烟
大家好!我是软件工程的一个老萌新~感觉出场方式不太对哈……
那就说说我的优点吧!
我有一个比较奇葩的爱好就是每隔一段时间总结我的学习和我的生活,这是我没什么学习成果的生活中的一大乐趣!(姑且算第一个优点……) 因为我深知经历了较长的一段时间后总是会使人懈怠,所以人必须要不断的规划啊~
在学习从过程中,我的记忆力不是很好,但是我在记不住的时候,我喜欢动笔画或者是动嘴说。这可能也是我的一种弥补的措施,俗话说好记性不如烂笔头,做笔记也是一门技术。
我这个人没什么特别值得骄傲的技能,但是我遇到问题总不会太悲观,我相信没有什么问题是无法解决的。只要你不断的寻找方法,然后不断的去尝试,问题就一定会解决,这也是为什么我一直那么嫌弃自己却不放弃自己的原因。专业知识不够好,那么就细心的准备学习计划,我对自己还是有很大信心的!在团队作业中技术上能力不足,那么就在其他事情上竭尽全力,每个人都有他在行的东西。在生活中我乐观、向上,爱笑的人运气总是不会太差~
为什么我总是那么的有活力呢?多听音乐多喝水,多培养兴趣爱好,上课要迟到了就跑起来嘛,脚长肯定就赶得上啦~~
2.阅读与思考
初入大学对专业的畅想
当初的决定——为什么选择这个专业?
在小时候的时候,我记得被哥哥带着打一款汽车的游戏(现在4399小游戏里面一抓一大把),那时候那种游戏是需要下载的。我虽然技术 一般,但是却觉得那游戏特别好玩,但是对于电脑的其他操作还是很懵的,因为上面很多东西是看不懂的。在高中的时候,我对计算机就有了一定的了解。但是在接触过程中却觉得计算机也没什么,因为那个时候老师也没有过多的讲计算机那门课的本质,上课了就打打字,测测速什么的。由于高考失利,最后我选择了复读一年,这也为我之后选择计算机做了一点铺垫。
在应届班上有些同学选择了计算机这个行业,听他们谈吐着专业上的趣事,我的心里就种下了一颗学计算机的小种子。他们自己写着一些小东西,创造出一些属于自己的小玩意儿,在我看来就十分的神奇,原来计算机还有这么多的应用啊~
了解到一些较好的计算机专业只开设在好的大学中,所以在复习的期间我就不断的刷题,最终在看到高考成绩之后选择了现在这个学校。抱着忐忑的心情选择了这个专业,心中带着软件工程的无限好奇。
学习的辛酸历程
我对自己专业的期望
来到大学信心满满,我带着初生牛犊不怕虎的无限激情打算在这个专业好好的做出很好的成绩,也期望在学习的过程中能够做出自己的一些东西。
学习中出现的问题
在大一的时候其实我是很没有计划的意识的,总觉得学好基本的课程就好了,不需要计划那么多。大一大二课程:高数、线代、离散、数据结构、C语言……都取得了较为满意的结果。但是大二的时候我自己开始有一点慌乱了,看着周围的同学在专业课老师布置下作业之后都能找到切入点入手的时候,我觉得自己像是什么也不懂。实际上自己在那个时候是比较懵的,课程不断的累积,实际基础又太烂了,每次刚刚开始入门另外的课程又出来了。在此后也没有认真的深入,没有找到一个固定的学习方向,总是想把什么都学完,最后却是什么也没有学好,总觉得代码就和我八字不合。
但是后来我渐渐的意识到了真正的问题,“闻道有先后,术业有专攻”,计算机不是谁都学的完的,大家都只在自己喜欢的领域中不断的深入。而我们的那些课程,正所谓“师傅引入门,修行在个人”,想要学习好就需要不断的练习深入。大二下半期开始我就慢慢的喜欢上了计划,根据自己所在的阶段制定学习的计划。然而我的计划总是半途而废,最后草草了事,三分钟的热度啊~(PS:热度是在学习过程中不断的被磨灭的!)
其实在我的心中深知自己的学习方式是出现了问题的,所以之后我做出了改变。
如今,问题得到了有效的缓解
没必要抓着所有的问题不放,在实践中学习。之前我们学习都理论上的东西,加上我练习的又少,导致总觉得自己学习的那些东西用不上,问题解决起来也是颇为头痛。遇到了问题就把问题积累起来,然后牢牢的记住并记下来。虽然这样子学习的东西仍旧有限,但是只要你接触了,实践了,学习的效率是很高的。在我看来学习计算机,软件最实用的就是实践,你要动手去做,动手去调试,去解决在实践中的问题。
虽然道路艰辛,但是我仍旧热爱我的专业
可能学业上的收获没那么多,但是我却是越来越不愿意放弃我的专业。没有哪一行是轻松的,学习计算机使我懂得我们需要不断的学习。“读万卷书,行万里路”,也许就是这种不断的学习精神深深地吸引着我,使我觉得人生就该这样,不断的了解到新东西,不断的接受新的东西。
如果你问我今后还做这个行业吗?短时间内应该会的!那会在那里工作?成都吧!
但是如果是长期的做软件,我觉得我不会。我可能会转去其他的方向(管理),但是一定会是和计算机相关的。这些只是我目前的计划,毕竟你不可能一辈子都做软件,当一辈子的程序猿,我的心允许,我的发量也不允许啊(真实内心~)。在有着一定的工作阅历之后,我想我会去做有关教育的事业,虽然起我以前很排斥做教育(老师)这件事,但是现在却有了这方面的打算。原因的话就暂时保密吧,其实我自己在这方面也不太懂,就是想尝试。在进入工作之前,同样都作为大学生,很多人都是没有什么经历经验的,而且很多公司在选择雇用你的时候,看中的也是你的适应能力和学习的能力,以及你处理事务的能力,故:即便前路艰辛,我也会乘风破浪。
成都我的家乡,是个好地方,人多新东西也多,在计算机的领域中也是深受人们的追捧的,我想这也是个我不愿离开地方。今后的工作可能也就定在成都了,范围再大点也就四川,毕竟成都就在四川,而且任何的事也都具有不确定因素。
现在的我
现在我具备了基本的一些专业知识,比如说:数据结构(应用还是太少)、数学(高数、线代、离散结构)、C语言(初学皮毛)……以及一些只是入门的前端知识,但是在长期的学习方法的探索中我找到了自己的方向。在之前的学习中也积累了几千行的代码量了,没有细算,只是这肯定是远远不够的,在今后还需要不断的练习。在代码量的积累中我也遇到过很多的问题。
一次印象深刻的经历
就在这个暑假我们学习了一个棘手的项目(一个课程项目),为什么说它棘手,这就要慢慢道来了。刚开始做项目的时候每个队员都是信心满满的,但是在之后的实际过程中,由于所用到的知识都是我们所没有接触过的(JavaEE、MySQL、前端框架)。由于计划的很好,完成进度却十分的慢,所以落差挺大的,遇到问题的时候解决的效率也是很低的。刚开始是项目根本看不到成果,这一点其实很焦灼的。一个项目看不到进度意味着什么,意味着课程要结束了可能也看不到效果。所以我们开了一个小组会议,最后决定先将实现部分的功能展示出来,其他的功能先不管。这样子经过大家的努力,在最后的课程展示中,我们小组完成了计划的那部分功能,也有着很好的一个展示效果。这也是的我们在这个实践中都受益匪浅。
我距离一个合格本科生的差距
在我看来就我如今的水平较一个合格的毕业生的差距还蛮大的。专业知识上还不够专攻化,解决问题上还效率不高,分析问题还不够全面,但是学习是分阶段性的,现在正是我深入学习的阶段了。既然有了新的计划,那就把它执行下去。软件工程这门课将会记录我的学习,对我的学习起到监督作用,写下学习的过程更是在不断的勉励着我的学习。更重要的是这不仅是一门理论课,我们需要动手实践!我们无法改变之前的学习,但是我们可以做好现在。任何差距都是可以弥补的,只要你愿意为此花时间。
学习计算机的我觉得至少是比其他专业更有一套学习计算机的方法的,毕竟接触的多,对于那些专业知识听着并不陌生,那么这也是我们在无形的学习中get到的技能。所以在计算机的学习中,我们应该是越来越懂得如何解决问题的。
今后的我
看过很多人的经历之后,我觉得考研是一个不错的选择,倘若在工作之后你忽然才想考研,才意识到考研的重要性的话,那个时候考研就变得更加的幸苦了。
我的优势以及大三的规划安排
只要我认定了方向,我就愿意一搏,可能就是这样的心态使得我面对考研越来越大的竞争力也想要奋力一搏。所以在大三的下半期可能我就要为我的考研做准备了,漫长却可以好好的打好基础。因为我的英语确实不太好,加上平时也没怎么接触,如今越发的生疏了,这是需要花很多时间来学习的。
为梦想已经做了的和在计划中的准备
每次我看到有考研的讲座的时候就要去听一听,而且现在我在准备考教师资格证,这也算是一种准备吧,提前的了解这些东西。四六级也在陆续的准备过程中,感觉生活被排的满满的,但是却很充实。我觉得实习的经历也是很重要的,要是有机会的话,我也会选择接触一些这个行业的兼职,毕竟可以学到很多的东西的呢!
3、教材中疑惑
question one :
出处:第五章—团队和流程
困惑:随便找来的七八个人,在这里被称为“乌合之众”,但是真的是这样的吗?什么又才能被算作团队?
我的看法:何为“乌合之众”,就是比喻临时杂凑的、毫无组织纪律的一群人。文中说道的那些人,他们聚在一起工作,各自做自己的,到最后他们共同的完成某个量,他们不存在团队的精神,所以不说他们为一个团队,但是他们却构成的是一个整体,临时的凑在一起,但是却并不全无纪律,我觉得不该称为“乌合之众”。在网上对于团队的定义:团队就是由两个或者两个以上的,相互作用,相互依赖的个体,为了特定目标而按照一定规则结合在一起的组织(百度百科)。在我们的生活中真的找到一个大家相互了解并且很融洽的团队是很不容易的,很多时候都是不认识的人凑在一起,然后组成一个团队去实现一些东西,他们可能此后过程中不断的磨合进步成为一个合格的团队。这些临时组在一起的人也可以算是团队,他们都有相同的目标,相互磨合、分配任务、制定计划,共同的完成一个目标。
question two :
出处:第七章—实战中的软件工程7.2.8
困惑:在讲到学习所有经验的那里,提到在学习过去的经验的过程中要避免让过去的经验妨碍解决现在的问题。是不是就不去学习前人的经验了呢?
我的看法:并不这样的,我们必须去学习前人的经验。之前老师提到过一个类似的案例,就是在我们的生活中存在着很多代码的复用,这些资源是公开共享的,我们该不该用呢?是可以的,之所以可以复用,是因为这些代码被很多人引用过,存在的问题也就会少很多,所以称为经典代码。只是使用别人的东西,那么我们的东西也是需要共享的,这可以很好的促进大家的相互学习和自身不足的发现。所以前人的经验是很有必要的,他们面临的问题比我们多,我们接触面毕竟有限,有时候要解决一些问题需要花 很多时间,甚至单凭本身无法解决。这就需要去搜索查看类似的案例,再分析我们的问题。所有的问题可能都会有所不同,我们不能完全的借鉴,这就需要我们自己去找到一个度量了。我们必须明白,这些网上的经验资源也是由一代又一代的人不断的壮大的。
question three :
出处:教材的十二章—用户的体验
困惑:文中的茶壶问题,用户对于事物的需求?哪种创新设计又才会得到人们的认可呢?是不是创新与设计必须应该根据人们的需求来设计呢?
我的看法:
在十二章文中写到的茶壶问题,这是在十六章最后也提出了的问题。茶壶含有四个必不可少的组件:茶壶盖、茶壶体、茶壶把、茶壶嘴,这四个缺一不可。文中提到了不同款式的茶壶是否满足了用户的需求 ,这一点是肯定的,只要具备这四个基本要素都是能满足用户的需求的。但是为什么每一种茶壶人们的喜爱程度会有所不同呢?这就是它的款式风格的问题了,有人是实用型,只要东西能满足他的需求就可以了,所以他不会花高价去买一个很好看但是很贵的茶壶,但是像喜爱茶道的人来说,他们就会更加的注重茶壶的质量以及茶壶的款式,即便满足他们喜好的茶壶很贵,他们也会花高价去购买。
我们确实需要更具人们的爱好去设计一款软件,并且是人们需要的创新软件是会得到人们的认可的,但是我却觉得我们并不是必须完全根据人们的需求去创新去设计。在之前我听到过这样的说法,需求是创造出来的,人们之前可能没有这个需求,但是有人设计出来了,人们用着很方便就成为需求。如果在人们仅有的需求上面设计,总会达到一个极限,但是创造需求然后创新设计却是值得我们去思考的。(这一点在第八章—需求分析中有所提到)
question four :
出自:教材的十六章16.1.5
困惑:课本中开始写道“要成为领域的专家才能创新”,我们不断的学习拿学位为的是成为某个领域的专家,然后在最后又写道往往很多创意来自于“领域外”的创新者。这不就是矛盾的吗?既然外领域的人比此领域的专家更有创意灵感,那么“只有成为了某个领域的专家,才能创新”又有何意义?
我的看法:在我们的生活中专家是越来越多,什么是专家,就是在学术、技艺等方面有专门技能或专业知识的人(来源于百度解释)。创新呢,在我们的生活中,也是经常听到的词语,我们学校就有着一个双创中心。在这个暑假就看到了西南石油大学南充校区大学生科技创新实验室科研究出技成果“草莓采摘器”,这不就是创新吗?而此项发明是由老师带领着一批学生完成的,所以创新并不是只有成为专家才能进行的。在我看来成为专家的人只是学习到了新的层次,而创新源于对生活的观察而产生的新想法。专家是人们对于学术的不断探寻,只有这样我们学习的那些知识才会不断的提升。
question five :
出自:教材第十六章16.1.6
困惑:书中说道“技术是创新的关键”,在后面提到了有些人把“功能的增加”和“技术的创新等同起来”,那么功能增加了是否就是真的做到了技术的创新了呢?
我的看法:技术的创新确实为我们带来了很多利,这一点我们是不可以否认的,科技领域的不断扩大,技术的不断革新,这些就是体现。但是一些功能的增加是并不能全同技术创新等同起来的。其实在我们的实际实践过程中我们可能有类似的体会,就是你在做一些不同的功能的时候采用的方法是大同小异的,那么这种又怎么称得上是技术的创新呢?这是不能完全否定的,毕竟有一些确实是真的技术创新。
4、源程序版本管理工具
(1)GitHub
GitHub:一个现在很火的并且拥有143万开发者的社区,目前最流行的开源托管服务,越来越多的知名开源项目迁入GitHub。(强调social coding)
如:Google、Apple、Facebook……全球顶尖公司的加入;Linux、Rails、Node js……全球顶级开源项目的迁入。
有一种说法就是:如果你是一名真正的coder,那么你就一定知道GitHub。
那么什么是GitHub呢?(网络定义)
GitHub是一个基于git的代码托管平台,付费的用户可以建私人仓库,一般的用户可以使用公共的仓库,所以一般用户的代码是公开的。(参照百度)
那么大的用户使用量,当然GitHub的优点是响当当的。
优点:
a.它支持Markdown
b.在这有着丰富的资源,我们可以学习优秀的开源项目
c.在这个平台上,我们可以建立Project,进行多人协作
d.在GitHub上可以搭建博客(GitHub Pages),个人网页等
还有很多……
(2)Bitbucket
Bitbucket:一个一直不温不火的并且是针对个人用户的免费托管。
Bitbucket和领域王者GitHub不同的是,它的公司主要靠jira赚钱,而bitbucket托管基本算是完全免费,不炒作,曝光率低,低调的存在。
那么Bitbucket是什么呢?(网络定义)
它是一家源托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费帐户。(来源百度百科)
这样的免费托管其实拥有着很多的优点:
a.它对中文支持良好(对我们来说无疑是一大福利,至少我是这样的~)
b.它提供优美简单的 source tree 工具
c.支持私人项目(GitHub不支持)
……
这里提一下Bitbucket的JIRA,功能强大,建立了支持付费的插件生态环境。
(3)Microsoft TFS
TFS的定位并非源代码的管理,而是一个“团队工具”,贯穿需求、开发、测试、发布各个流程提供自动化工具。(其他人的博客中提到)
这个由微软开发出来的东西,其实存在着很多闪光点的,在查找了一些用户体验之后发现,很多人觉得他的功能还是挺强大的。
a.首先可以清晰的看到需求、项目进度(任务版本)。(这就让我想到了暑假的那个甘特图)
b.他有个特别大的亮点就是与VS无缝衔接。(毕竟都是微软的,这点……)
VS+TFS+SharePoint+Hyper-v 带来了从架构设计到源代码的管理、以及项目管理、自动测试都有着全周期开发覆盖。(知乎上看到的)
c.源代码管理、工作跟踪、自动化生成、敏捷任务版、项目管理、版本控制、bug跟踪、以及有效的实现scrum
d.针对个人和小团队推出了免费的TFS Express
……
5、一些希望
我自己也知道我还有很多地方不够完善的,如今也在不断的改进。
所有的经验都是不断的积累出来的,走好每一步,就是我如今的想法。
正所谓:成功源于不懈的努力!