第一次作业
课程名 | 软件工程基础 |
---|---|
作业要求 | 作业要求 |
我的课程目标 | 明白一个优秀的软件是如何一步一步做出来的的 |
作业对我实现目标的具体帮助 | 驱动自己有目标地去摸索 |
一、自我介绍
我的博客:https://i.csdn.net/#/uc/profile
喜欢运动,最喜欢的运动是篮球。闪光点的话,动手能力强。最近有段时间挺浮躁的,做这件事的时候想着其他的事情,结果就是一样也做不好,所以啊,不骄不躁才是王道。
二、阅读材料回答问题
(1)回想一下你初入大学时对你所在专业的畅想
<1>当初你是如何做出选择你所在专业的决定的?
答:喜欢敲击键盘的声音,幻想自己能成为一个给我台电脑就能有无限可能的人,喜欢动手操作,在这个专业自己能够动手操作的机会和时间很多。
<2>你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
答:大部分符合,因为计算机科学与技术专业就是偏向于计算机理论方面的专业,所以对一些基础理论和编程语言就学的比较多。
<3>你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
答:是我喜欢的领域,但是目前为止还不是最擅长的领域,但是会成为我最擅长的领域。
<4>将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位否的话给出原因
答:会,没有想去的城市,想去网易,因为个人比较喜欢网易云音乐。
(2)对照前人们走过的路和描述未来发展,现在的你
<1>自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
答:能熟练使用C/C++语言编程,了解部分计算机组成原理,掌握基本的数据结构,几千行的代码量,做过最复杂的东西是C语言大作业做的京东购物系统,将商品信息,购物车,订单以及用户信息存储在不同的文件中,系统提供两种模式,用户登录模式以及管理员登陆模式,支持商品的删除、修改、添加,添加购物车,生成订单并购买。
<2>离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
答:还没有精通一门计算机编程语言,缺乏项目经验。
(3)目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。
<1>对照以上你阅读的前人们的经历,你的选择是什么?
答:最开始想的是工作之后再考研,后来想了想,找到工作后自己可能心思很难静下来再准备考研,所以大三还是准备考研吧。
<2>在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
答:优势就是自己肯多花时间在这上面吧,自己也比较感兴趣,毕竟大家都是以几乎差不多的成绩考进这个学校的。劣势的话,自己对电脑没那么熟悉,需要时间去熟悉电脑,要不然效率很低。
<3>针对你的选择,你给自己的大三设定的规划安排是什么?
答:把更多的时间花在专业知识的学习上,做几个有意义的项目。
<4>你对于实现自己的梦想已经做了或者计划做什么样的准备?
答:通过阅读让自己拥有尽量多的专业知识储备,通过实践让自己在实践中成长。
三、快速阅读全书提出问题
问题 1、软件工程师在写程序时对一个问题的过早优化是否也算是未雨绸缪,该如何判断?(3.2章软件工程师的思维误区)
在问题出现之前提前去对其进行优化,如果是简单的问题优化还好,但是如果是复杂的问题优化的话难免会因此拖延整个项目,最后导致成本增加,那么如果肯定这个问题是今后肯定会出现的呢?如何进行选择?
问题 2、软件中的各个模块是怎样连接到一起并正常运行的,比如说软件的界面,还有那些需要联网才能使用的软件,是靠什么让他们能在同一个软件中运行?(11.2.2章表达数据的流动)
问题 3、如何自己动手实践单元测试?还有如何进行对API的测试?(2.1章单元测试)
就我们目前使用的VS来说,如何去实验一个单元测试,以及对API的测试。
问题 4、就在校大学生而言,如何把自己往软件工程师方向培养?
书上第3章是关于软件工程师的成长,在第一节给出了一些初级软件工程师的成长,但是是否适合在校大学生吗?
问题 5、每个人难免会有一些想法,比如说某天突然有了一个自己认为比较好的软件创意,那么该怎么去处理这些想法呢?(16.1.3迷思之三:好的想法会赢)
四、了解和调查源程序版本管理工具
参考文章:https://www.cnblogs.com/qianzui/p/5399525.html
GitHub
优点:支持多人共同完成项目,开源项目可以免费托管。
缺点:学习成本比较大,学习周期比较长,要求人员素质比较高,新用户学习使用花费的时间长。
GitHub使用方法:https://blog.csdn.net/codechelle/article/details/52305593