第一次作业——阅读与准备作业
软件工程基础第一次作业
个人第一次作业:阅读与准备作业
这个作业属于那个课程 | [软件工程基础](http://首页 - 2019秋计科18级软件工程基础 - 西南石油大学 - 班级博客 - 博客园 https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFoundation "软件工程基础") |
---|---|
这个作业要求在哪里 | [第一次个人作业:阅读与准备](http://个人第1次作业:阅读与准备作业 - 作业 - 2019秋计科18级软件工程基础 - 班级博客 - 博客园 https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFoundation/homework/4517 "第一次个人作业:阅读与准备") |
我在这个课程的目标是 | 了解软件的开发该过程,为以后从事该行业打下基础 |
其他参考文献 | 参考文献 |
一、个人介绍
我叫司昊,来自四川南充,目前是一名大二的学生,来学习计算机是因为自己对这一方面很感兴趣,但是后来我发现,计算机并没有想象中的那么简单,可以说很难了,借用网上说的一句话,这已经触及到我知识的盲区了,但不管怎么说,既然已经选择了计算机,那就跪着学完,我个人没什么闪光点,比较好相处不知道算不算,希望我们能够成为朋友,在学习的路上越走越远。
二、回答问题
(1)回想一下你初入大学时对你所在专业的畅想
- 当初你是如何做出选择你所在专业的决定的?
当初选择这个专业就是因为个人兴趣,从小就对这个有兴趣。 - 你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
目前已经学习计算机一年多了,我发现这些课程都很有意思,都符合我的预期,但也有超出我预料的地方,那就是太难了!虽然知道计算机可能会比较难,但我也没想到会这么难,单着依旧不会成为我学习路上的绊脚石。 - 你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
就目前来讲,在这个领域算不上擅长,甚至可能只是刚刚踏进计算的大门,但我觉得任何事情都不可能一蹴而就的,现在不擅长并不能代表我以后不擅长。 - 将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
既然选择了计算机,那么我以后肯定就打算从事相关工作的,个人比较钟情于游戏开发或者软件卡开发,二者选其一皆可,就我个人而言我更希望留在四川,进什么公司目前还没有具体的概念,因为我现在也才上路,未来能走多远一切都是未知数。
(2)对照前人们走过的路和描述未来发展,现在的你
- 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
就目前来说我所具备的专业知识、技能、能力都属于刚入门,代码量估计不到十万吧(具体!2000多吧),做过最复杂的项目/作业就是贪吃蛇了(手动狗头)。 - 离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
作为一个大二学生,距离一个合格的计算机专业毕业生,还有很长的一段路要走,除了代码量的积累,还有许许多多的编程思想算法需要我去深入学习、深入思考,还有许多与本专业相关的知识。
(3)目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
- 对照以上你阅读的前人们的经历,你的选择是什么?
按照个人意愿来看,我会选择考研。 - 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
优势的话就是能够更加深入的学习计算机知识,了解更多自己感兴趣的东西,以后在找工作过程中也会有优势。劣势的话因为程序员吃的都是青春饭,如果再继续读研的话,可能就会浪费掉几年工作时间。 - 针对你的选择,你给自己的大三设定的规划安排是什么?
既然选择了考研,那么大三的时候就会多去了解自己的理想院校,及其专业将会考试什么,为考研做准备。 - 你对于实现自己的梦想已经做了或者计划做什么样的准备?
就目前来说的想法,就是努力学好自己的专业课,为之后考研打下厚实的基础(手动滑稽)。
三、提有质量的问题
Q1:在书上p48到p49页中讲了许多软件工程师的误区,其中说过早的优化是一切罪恶的根源。对此我有一些疑问,为什么过早优化会是罪恶的,虽然他有举例子证明,但我认为有的时候提前发现问题或者找到更高效的办法提前优化难道不好吗?
Q2:在第5章中讲了许许多多的团队模式和团队开发模式及其他们的优缺点。在现实生活中我们会接到不同的项目,他们的要求大小都不尽相同,那么我们该如何选择我们我们的团队模式和团队开发模式呢,需要从几方面来看呢?还是说都固用一套团队模式和开发模式呢?除却书中提到的团队模式,能否有我们自己的模式(就是根据需要自己组建)?
Q3:在软件测试这一章节中,讲了许许多多的测试方法,在这里我想问我们在进行具体操作的时候,是只测试一次吗?还是各种方法都需要去测试?还是说选择其中的几种去测试?会不会出现一种测试达标,另一种未达标呢?
Q4:在软件质量一章讲到了成本问题,在之前也讲到过,没有百分之百完美的软件,我们只能够做出“足够好”的软件,那么这个“足够好”是以达到了用户的要求为准还是以在该成本下做出了最优软件为准?如果以前者为准那么如果成本不够时该如何处理?
Q5:在IT行业的创新一章中,关于技术的创新是关键中,他所举的例子中,铱星手机很明显有着技术,但是因为这项技术的收益用户只限于一些特定的用户所以它走向了破产(可能通俗点来说就是研发成本远远大于收益),在现实中生活中同样也存在这样的情况,那如果该技术具有革命性的意义,但是对于普通用户作用不,哪还有必要进行技术的创新吗?
四、源程序代码管理工具
1、Git
优点:
(1)、免费。
(2)、分布式的版本管理。
(3)、功能丰富
缺点:
(1)、有的功能使用复杂,想学会有一定难度
(2)、操作界面不是很友好
2、GitHub
优点:
(1)、适合分布式开发,强调个体
(2)、离线工作,管理代码成本低,不依赖与服务器
(3)、速度快、开发灵活
(4)、良好的分支机制,使主代码保持干净
缺点:
(1)、资料少,学习成本大
(2)、保密性差
(3)、不支持中文,图形界面差
3、Microsoft TFS
优点:
(1)、易于使用
(2)、支持分布式代码库
(3)、修改代码方便
缺点
(1)、难以完全利用起来。