第一次作业
第一次作业
一、
这个作业属于哪个课程 | <课程的链接> |
---|---|
这个作业要求在哪里 | <作业要求的链接> |
我在这个课程的目标是 | 认识软件工程,学会正确的软件开发方式,理解软件工程的思想,将学到的能够灵活的在实际开发中运用出来 |
这个作业在哪个具体方面帮助我实现目标 | 规划好自己的学习方向,找到自己未来的就业方向 |
个人博客主页 | 我的博客 |
在看了陈老师提供的几篇博客中的故事后,我有些羞愧,自己已经大三了,可是在大学前几年的生活中,没有一点的动力,找不到自己的方向,不知道为什么而奋斗,突然回想自己的学习生涯,好像一直就是这样,按部就班,没人给我压力,自己也感觉不到压力,从来不怎么去做选择,只是按着好像已经被人安排好的去生活一样,黯淡无光,可以用这样的词来形容,我想是时候做出一定的改变了,不能再这样下去了,那就从现在开始,努力的去成为一个合格的软件工程师,为人们做出有用的软件或者项目。
简单的自我介绍:
谭伟,软件工程卓越班一名普通的同学,通往程序猿之路的小白,一个希望不加班的小程序猿(hhhh~).
我自己的闪光点的话,我觉得最大的就是懂得如何调节自己的心情和状态,在失败和挫折的时候能以最快的速度来适应并且调整好状态来面对其他的,就是猫咪一样,默默的舔着自己的伤口,消化一起不好的。
二、阅读与思考
-
对所在专业的畅想
(1). 当初在选择专业时,父母给予了我最大的自由,他们选择默默支持地态度对待我所选择地专业,而我在当时对于电脑地一起都很感兴趣,尤其是在高一还是高二的时候,4G技术普及之后,各种新奇软件都在萌生,我对于互联网以及软件产生了浓厚的兴趣,于是便选择了软件工程这样一门学科。
(2). 我觉得过去两年所接触到的课程,符合一定程度上我对于软件工程的想象,有像C语言程序设计基础这样入门的课程,又有面向对象这样的软件开发方式,选择更有系统分析与设计这样系统的课程,可是,在一定程度上,反而是关于实战的课程较少,也有可能是我自己的原因,自己练得少,所以在一定方面,实际的设计软件自己反而欠缺。
(3). 我所在的专业是我所喜欢的专业,可是在一定程度上来说,我却不是很擅长它,因为我的理解能力以及惰性,导致我在这个专业上并不是顺风顺水的前进,反而是磕磕绊绊的,希望能在大三这一年尽量的提升自己的编程能力。
(4). 将来我会从事和软件工程相关的专业,我想留在成都,可能的话,希望去网易去做一个简单的程序员,因为我是从心理上认可和喜欢软件工程的,而成都,作为天府之都,我是喜欢这座生活了两年并且还有两年的城市,我已经习惯了这里,也希望留在这里,而网易则是我喜欢的一个公司,因为我喜欢很多网易的游戏,如大话西游,阴阳师,第五人格等等。 -
对自己的评价
(1).我对于C语言,Java有了一定的经验,能用这些语言写出一些简单的代码,而数据结构,面向对象这样的技能,自己则是有一定的困难,虽然学过,但是让自己应用还是很难的;已经写过的有效代码量大概有几千行;我现在做的最难的一个项目大概是一个开放性实验,关于图书挂占座系统的,对于实际有一定的帮助,可是当时我们都很菜,没能完成全部的工作。
(2).在算法,数据库,以及编程能力上我都有一定的差距。 -
对于未来的选择
(1). 我的选择是工作
(2). 劣势的话就是在知识储备上不如其他继续学习的同学。
(3). 利用大三这一年多找机会进行实战练习,多进行编程,多与他人进行项目合作,进行软件的开发,多进行软件完整的开发过程。
(4). 我计划在大三这一年多进行实战练习,在大四的时候尽可能地找到实习地点,更好的接触软件行业。
三、提出的问题
在第一章概论中提到了一个目标,“足够好”的软件是软件工程的目标,确实完美的软件可以说是并不存在的,想要发布一款“足够好”的软件是相对而言比较简单的,可是什么样的软件才叫“足够好”呢?在实际运用中存不存在一个边界或者说是概念来定义本书所谓的“足够好”呢?
在第三章软件工程师的成长中,有软件工程师的职业发展等级,5个等级,有临时的寄托或工作,工作,职业,投身的事业,理想的呼唤,那么,怎么样才能从低等级转变为高等级呢?比如说,我想将一份临时的寄托转换为工作或其他的,具体应该怎么样来施舍呢?
在第四章两人合作中,有一个结对编程的概念,确实,在一定程度上,结对编程能够让编程变得更有效率,可是当两人的能力有差距,或者说两人的能力与想象中的有一定的差异怎么办,就像一个领航员给了驾驶员一个高难度的任务,可是驾驶员的技术达不到要求,在这个过程中该怎么办?更不要说在结对编程中,如果说两个人的能力有一定的差距,困难结对编程对于能力强的人来说反而是一种折磨。
在第七章实战中的软件工程中,我有一个疑问,既然作者认为“最好的编程软件是什么”,这句话是一个意见,那么对于在实际开发中到底以什么样的标准去判断一个对一个项目来说,什么对于它来说是最好的编程语言,什么样的工具对于它又是最好的工具?有没有什么样的办法去测定。
在第十二章用户体验中,不同的软件给予用户最要的用户体验是不一样的,每个软件侧重的用户体验不一样,软件需要优化的用户体验也不尽相同,书中的针对用户体验的调查方法都能在实际的项目中应用吗?
四、管理工具
- Git
优点:(1)速度快、灵活 (2)可以离线工作 (3)对于公共服务器来说,压力和数据量都不会太大。
缺点:(1)代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。(2)学习资料少。 (3)学习周期相对而言比较长
-
GitHub
优点:比较好的支持Mobile;功能设计简洁实用,可用性好
缺点:对中文不够友好;国内访问速度太慢,经常超时连接;基于git,学习难度大。 -
Trac
优点:有良好的扩充性;权限体系比较完备;非常灵活
缺点:不支持多项目;需求和缺陷没有分离;核心功能少,不安装插件基本上没法用。