第一次作业:阅读与准备
所属课程 | 课程的链接 |
---|---|
作业要求 | 要求链接 |
课程目标 | 深入了解并区分程序、软件、软件工程、如何将开发软件工程化。 |
课程受益 | 让我明白了程序与软件的区别,以及软件开发工程化的历史。 |
一、个人介绍
1、个人信息 |
姓名 | 潘伟键 |
---|---|
学号 | 201831061312 |
博客地址 | 博客地址 |
2、自我介绍 |
我是西南石油大学2018级计算机科学与技术专业的潘伟键,其实上我感觉自己仿佛昨天还是一个高中生,完全没有对大学生活做好准备,就浑然不知的成为了大二的“学长”,我十分清楚我性格十分消极,明明心中早已暗自绘出人生大好蓝图,但却发现自己不可力及,而又不想出力,这也许就是我大一的迷茫。。。但是我也不想大学过后,空留遗憾,计算机专业是需要实践和代码量的,内向、消极是改不了了,但是我会努力将大学内的学好,努力扩展大学外的知识.
二、阅读与思考
###1.当初是如何做出选择现在专业的决定的
这个问题其实我很早的时候就多次问过了自己,高考结束后,如同紧绷的弹簧,突然被放开,自然就是一天都在玩,哪有什么心思想什么该选那个专业,并且在高中哪有时间了解这些专业具体是什么,当然是凭看到这个专业名字的第一感觉了,“计算机科学与技术”,我乍一看就觉得很高大上,黑客什么的,什么靠研发一个软件就资产过百万的,并且听亲朋好友说这个专业目前十分热门,这也是个促因。
2.你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
比较符合,大一这一年,通过对c语言的学习,我也明白了计算机是如何运行的了,通过语法编写程序,对计算机下达指令,我们平时那些那些所见的游戏程序也是多条指令有序运行的结果,并非我所现象的那样神秘。作为一个十分热爱游戏的人,当我也编写好一个程序能正常运行的时候,我十分有成就感。我也十分期望之后能编写出一个自己的游戏。
3、你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
可以说我对这个专业还是比较喜欢的,目前来说擅长还差得远,但是我认为爱好是最好的老师,我相信不久之后就能。
4、将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因。
当然,从事一个自己喜欢的行业,是每个人都梦寐以求的,以后我如可可以我想在成都找一份软件工程设计师。
5、自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
个人感觉我只是处于入门阶段,也就了解一下c语言的基本,感觉代码量也只有2、3千,没错,最复杂的项目也就是我c语言最后的实践作业,贪吃蛇,也只不过是按照代码抄一遍。
6.离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
可以说判若云泥,我也就对c语言比较了解,也不能说精通,也没有什么比较突出的技能,我觉得一个合格的毕业生应当有比较灵敏的思维,能写出高效率的算法。
7、对照以上你阅读的前人们的经历,你的选择是什么?
我打算考研,进一步深造,争取能考一个更好的学校,提升自我的技能。
8、在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
我个人虽然不是那种十分积极的人,但是我只有认定要做一件事,我就不会放弃。
9.针对你的选择,你给自己的大三设定的规划安排是什么?
大三自然就应该开始为考研做准备了,多刷刷往年的考研题,争取能一次性考到满意的学校。
10.你对于实现自己的梦想已经做了或者计划做什么样的准备?
我计划将设计到考研内容的学科着重学习,不仅要做到不挂科,还要能拿高分。
三、提出问题
1.问题一 我们是科学家?还是工程师?(第一章)
我认为软件工程虽然是一门工程,但它又与其他工程差别较大,我们不仅需要考虑结构,又要考虑逻辑算法,甚至有些时候我们还会牵扯到物理学、数学等其他科学,材料学、所以我认为我们既是科学家又是工程师。
2.问题二 创新是独辟蹊径,还是改良改优?
我们这个行业创业精神是必须的,但是我们该如何创新,是创造?还是改良?我们it行业发展日新月异,我个人认为it行业的创新是一小步一小步快速的移动而不是猛地一大步,所以我们的创新应当更加注重对以往的改良.
3.问题三 是当猪、还是鸡、还是鹦鹉?
我是否可以理解成码农是猪,软件工程师、设计师是鸡,老板或者用户是鹦鹉?
4.问题四 软件工程师和基层写代码的各占一个软件工程的多少?
我认为工程师和基层人员64分,所谓上梁不正下梁歪,现在已经有许多能自动填充代码的软件,所以我认为只要工程师充分分析客户需求打好框架,一个工程大多都能完成。
5.问题五 用户体验,和编程进度两难是,哪个更重要?
我们是否把用户的一切要求都满足,当两者两难是,我们应当优先考虑哪一方?
四、了解和调查源程序版本管理工具
Git.
优点:
1. 适合分布式开发,强调个体。
2.公共服务器压力和数据量都不会太大。
3.速度快、灵活。
4.任意两个开发者之间可以很容易的解决冲突,离线工作。
缺点:
1. 模式上比SVN更加复杂。
2.不符合常规思维。
3.代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
GitHub.
优点:
1. 完整的支持Markdown语言,而且支持Emoji表情
2.支持直接复制图片到页面,会自动上传图片(非常好的功能,知乎也支持)
3.比较好的支持Mobile。
4.使用github原生的功能,就可以进行类似评论的功能
5.功能设计简洁实用上手很快,可用性好,已有很多相当质量的各类项目和优秀开发者在上面。
缺点:
1. 国内访问速度太慢,经常出现connect time-out
2.不能很好的解决GB2312/GBK,对中文不够友好
3.wiki功能太弱,直接导致文档(对于开源项目很重要)经常被分离到一个独立站点(对企业而言)
4.免费套餐不支持私有项目,无非解决企业内部的需求,github:fi价格过高
Microsoft TFS
优点:
1. 任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用,集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM,能与 VS 无缝接合。
缺点:
1. 搭建、维护tfs比较复杂,硬件要求也比较高。