阅读与准备
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFoundation |
这个作业要求在哪里 | https://www.cnblogs.com/harry240/p/11469058.html |
我这个课程的目标是 | 对软件工程基础这门课程完成基本的了解 |
这个作业在哪个具体的方面帮助我实现目标 | 信息检索以及自我思考 |
1.介绍自己
你好,我叫陈星鑫,是一名物联网工程大四学生。前三年的时光仿佛白马过隙,在我指尖匆匆流逝,这三年时光我认识了很多人
,结交了很多志同道合的朋友,我把大量的时间投入到我所热爱的事情上去了,平时留给提升自己学习境界的时间很少。这我心里
都有数,我承认我不够努力,但我并不后悔,我觉得除了学习之外,还有很多美好的事物值得我去追寻。这三年,我把以前想做而
不敢做的事做了个遍,一个人去旅游,去那广阔的大草原,骑上高过我半头的马背的马,在广袤的草地上飞奔。去陌生的国度,领
略那里的风土人情,体验用一把当地货币买一个小物件的震撼。身在异地,手机丢失,身无分文的绝望。这三年,我计划游遍祖国
大好河山,可是那又谈何容易,一是学业问题,二是金钱问题。大部分还是金钱问题,父母挣钱不易,所以我很少向他们要钱,自
己旅游大部分的钱也是平时兼职赚的,旅游是我最大的爱好,可是很耗费钱财,不然我也不会选择兼职。大一刚入校的时候我立志
努力学习C语言,我想赚钱,我想编写游戏外挂软件来赚钱,于是自学了课程以外的C语言知识,我在游戏辅助软件还是小白,我以
为把C语言学好了就没问题,当我真正入手去制作的时候才发现,原来如此难,面对生涩的汇编语言,我就是一阵头疼,我选择了
放弃,我第一次意识到程序员这个不当人的职业。经过那次经历,我对自己的信心大减,我怀恋高中的学习,没那么多套路,每一
步都清晰明朗,而程序员的生活仿佛把自己的眼睛蒙上,靠自己的双手去艰难的摸索,恐怖如斯!所以我放逐了自己,开始不太把
这一行抱太大信心,现在想起来也是遗憾不已。现在我大四了,我说什么也不可能像前两年一样放浪了,至少是为了毕业,也是完
成对自己的救赎,我选择了软件工程基础,希望能在这门课中留下属于自己的一点点印记。
2.阅读与思考
1)回想一下你初入大学时对你所在专业的畅想
- 当初你是如何做出选择你所在专业的决定的?
- 你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
- 你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
- 将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
答:我的专业是物联网,挺起来挺酷的,况且高中老师在我高二的时候就跟我提过这个专业,所以就报考了这个专业;
过去的两年接触的课程多是软件方面的,这并不符合我心目中的物联网。我理解的物联网那定然是万物与网络相连,虽
然这个过程软件肯定是主打核心,但是主要还是嵌入式方面更符合物联网的中心思想;刚开始的时候物联网就是我心目
最完美的专业,我喜欢动手,我喜欢研究电路,可是到头来还是研究一些冰冷的代码,我并不擅长;我会选择从事和我
专业相关的工作,我想留在成都,最近已经着手准备了。
(2) 对照前人们走过的路和描述未来发展,现在的你
自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
答:我觉得信息检索能力以及总结能力很重要,专业知识方面擅长C语言、JAVA以及一些常规的单片机知识。已经完成的项目不管大小有10个左右,这些项目代码的总量也有4万到5万了,再加上平时没事乱敲敲加起来也有6万左右了吧。最复杂的完成一个智能家居系统,对CC2530单片机连接到ZOC开发板上,进行分开编码,实现手机WIFI对开发板进行开关、检测温湿度等功能。我觉的我离一个合格本科毕业生,差距不小 ,专业知识以及技能虽然不完善,但是计科专业可以进入工作慢慢磨砺。
(3)目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
对照以上你阅读的前人们的经历,你的选择是什么?
答 :我想工作,在工作中里找到自己的定位,目前学习太广泛,没有一个大致的方向,我需要工作找到真正适合自己的方向。
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
答: 对于考研的同学,我多了一些实战的经验,提早进入了社会,经验更强,劣势是学习的知识没有他们系统。
针对你的选择,你给自己的大三设定的规划安排是什么?
答:我已经经历过一次大三了,大三的我是很迷茫的,无所适从,我希望在最后一年做出改变,放弃一些我感兴趣的事情,尽快完成学业要求。
你对于实现自己的梦想已经做了或者计划做什么样的准备?
答:对于我的梦想,不如说是理想抑或是目标,谈梦想太遥远,不如脚踏实地完成每一件小事,不要好高骛远,不骄不躁才是最重要的。
计划的话至少精通一门编程语言,我的选择是JAVA语言,也是我一直在用的语言。
3.提出有价值的问题
Q1 : 教材P51关于软件工程师毕业就职问题,若只是把这个专业当作临时寄托或者工作,在进入社会工作两年后可能换其他工作,以这种心态
如何看待自己的专业呢?如果不能换工作,而目前这个工作自己又不喜欢,我们该做什么呢?
Q2: 教材p53讲述了软件工程师考证方面的问题,可总所周知的是,相关方面的技能考试很少,也不全面,国家为什么不完善这方面的考证制度,
对于一些毫无方向的人也有指引作用。
Q3 : 教材P108 关于现有做法和敏捷做法的区别,他们各自的优点和缺点是什么,开发什么类型的软件需要使用敏捷流程,敏捷的适用范围是什么。
Q4:P154需求分析,软件也确实是为了解决用户的需求,但从对软件艺术的观点来看,当我们觉得自己的做法或者改进比用户需求的更好时,
或者说我们对用户需求的软件在某些观点有相悖时,我们应怎样与客户沟通?如何权衡软件质量和价值。
Q5:p195关于PM和项目风险,如何定义PM的位置,项目核心技术员还是指导者?如果核心技术员,利益如何分配,指导者呢?
四、了解和调查源程序版本管理工具
Microsoft TFS:
优点:
任务版上能将需求、项目进度一览无余,同时可以与 VS 无缝接合
缺点:
个人使用TFS成本较高
TFS通过复杂的看似功能强大配置管理,将联机看做是整个项目周期的常态,这在实际使用中造成极大的不便。
整个系统是用 asp 实现的,用浏览器访问时相当慢
GitHub:
优点:
基于web,所以使用浏览器访问方便
同时又是全球著名的“同性交友网站”,开源的程序可以让更多人看到,同时自己也可以借鉴他人的思维,相互学习
github的公开项目是免费的,对我们这些经济能力不高的学生友好
缺点:
学习,熟练操作的周期较长
因为是开源的,所以保密性差,有得必有失
Git:
优点:
git是一种开源的分布式的vcs(version control system)版本控制系统。分布式的版本管理,对比集中式的版本管理系统来说不会出
现中心服务器死机就影响工作,而是可以先存储在本地,等服务器修改好还可以接着进行工作,并且git的社区灵活,拥有丰富的
资料来进行学习查阅,并且git是开源的,它强调个体,并且对于公共服务器压力不会太大,大小项目均可管理,拥有良好的分支
机制,git的分支只要不提交合并,对其他人没有任何影响,并且git是统一管理元数据,存放在称为.git的文件目录里面。
缺点:
git的版本之间的兼容性不好,可能在上个版本的项目内容放到另一个git版本会出错
学习的周期较长