初识《构建之法》

作业属于哪个课程 <课程的链接>
这个作业要求在哪里 <作业要求的链接>
我在这个课程的目标是 掌握到如何有效的将软件工程在实际项目开发中与其他各个部分联系起来,掌握加快项目开发效率的方法,了解未来在项目开发工作中的主要流程
这个作业在哪个具体方面帮助我实现目标 认清自己的强弱项,前辈们心得分享,学习源程序版本管理工具
个人博客主页 [https://www.cnblogs.com/sunnyyt/]

1.建立博客并介绍自己

大家好,我是大三软件工程卓越班的一个爱笑的女同学,平时生活中在熟悉的人面前大大咧咧的,在不熟悉的人面前会比较拘谨。大一大二的时候比较贪玩,没有把好好学习的意识根深固地在脑海中,所以现在作为一名大三学生的我有点慌张呀。平时闲暇时间喜欢打乒乓球、看电影、听听歌、偶尔想起会去操场跑跑步、喜欢和朋友们一起在饭后逛逛校园,感觉是一件很棒的事情,放假了就比较喜欢出去旅游,高三毕业后一个人去了厦门,一边旅游一边找暑假工,那时候的自己好像什么都不怕一样。在技术方面个人比较喜欢web网页开发,自己目前也在学习相关方面的知识,希望自己以后可以从事相关方面的工作。
说到闪光点,我自己觉得更多像是生活中自己比较擅长的东西。很多这种后面变成闪光点都来自己的热爱。就像我从小学就喜欢打乒乓球,为了放学后多玩一会还骗家长说在学习大扫除,后面初中了则是每天中午吃完午饭就跑到乒乓球台占位置,感觉乒乓球已经成为了我小时候回忆的很大一部分了可能就是这样每天的练习,才会让我的技术好那么些吧。然后就是觉得自己唱歌还行,有那么一点点能听,嘻嘻。

2.阅读与思考

(1)回想一下你初入大学时对你所在专业的畅想

Q:当初你是如何选择你所在专业的决定的?

A:其实对我自身来讲,我喜欢建筑方面的东西,报专业时也想报相关专业,但是当时家长并没有同意,还一味的想让我报师范专业,但是我自己也不喜欢当教师,所以就听了我姐姐的建议,报了现在比较热门的软件工程专业。

Q: 你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?

A:在近两年的课程学习中,所接触的课程例如设计模式、计算机系统基础等都挺符合我的期待的,但同时我感觉有些课程授课时间太短,就导致讲解的核心内容较少,同时由于课程顺序的不同,很多专业核心课程都是在大三的时候才开。

Q:你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?

A:其实最开始并不是很喜欢,觉得很难,不大适合女生,但随着后面的学习感觉里面的东西非常的有意思,就会越来越喜欢,也不能说是擅长,好像就是找到了学习的兴趣了,相信通过我的坚持不懈会把这件事做好的。

Q:将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因

A:会,因为自己现在学习的东西还是很喜欢的,就想以后能够做这方面的工作。目前想去的城市是厦门,就感觉那座城市很美,希望能够在一家互联网公司做一个前端开发人员。
(2)对照前人们走过的路和描述未来发展,现在的你

Q: 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。

A:因为对前端方面的知识比较感兴趣,所以目前有自己自学过html、css、javascript、jquery、bootstrap、ajax、包括接触过一些例如Vue、React等前端框架。关于代码量,由于平时都是写一些网页相关的,并没有具体统计过自己的代码量。团队项目有做过一些类似于图书馆占座系统,自己在团队里面主要从事的部分就是做相关功能的相关页面的书写。

Q:离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?

A:现在的自己还处于一个学习的阶段,要学习的东西还很多。在专业知识方面,要学习的课程还很多,要做到每堂课认真听讲,做到不仅仅是通过课程的考试,而是真正的在课程上学习到知识;在技能方面,要更深层次的学习前端方面的知识,提升自己;在能力方面,要不断去尝试新的东西,学习新的东西,能力这个东西是不断实践得出来的东西。
3)目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。

Q:对照以上你阅读的前人们的经历,你的选择是什么?

A:我可能会选择考研。其实以前并不是很想考研,觉得这个过程太艰难了,怕自己不能坚持下来,但是后面冒出新的想法想去更好的学校学习,想去尝试一下新的东西,虽然知道这个过程会很痛苦,但想想别人都坚持下来了,我又有什么坚持不下来的呢。

Q:在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?

A:其实好像自己并没有什么优势,感觉好像很多同学都一样,到大三了就意识到自己该为自己的未来好好的努力一番了,所有好像很多人的状态都比较相似,同时相比其他人,感觉自己在专业知识方面比较劣势,所有后期需要下更多的功夫去复习相关的内容。

Q:针对你的选择,你给自己的大三设定的规划安排是什么?

A:在学习认真学习专业课的同时,继续深入学习前端web网页开发相关的知识,同时在英语方面开始记单词,数学方面开始复习相关课本。

Q:你对于实现自己的梦想已经做了或者计划做什么样的准备?

A:好好挣钱,好好练习口语。

3.提有质量的问题

(1)第五章在个团队模式中,应该怎样选择适合自己团队的团队模式,团队模式很多,不可能一个一个的尝试,那样会耽误项目进度,但是如何选择才可以最有效的提高项目开发效率呢?
(2)第八章在投资力度和用户满意度的相互关系中,因为很多用户自己的要求都不一样,那么产品生产出来后,或许有些地方就可能令其中一些用户不大满意,所以在开发产品之前,又该怎样评定在哪些部分投入力度大一点,哪些部分较弱一点来平衡每个人的要求,从而提高用户的满意度呢?
(3)第十章典型用户和场景部分,在开发软件之前,需要做一系列的工作定义用户角色,还有定义典型用户的模板,但是在现实生活中是很多变得,为什么要拿一套固定的模板去套用,那就该放弃那部分不符合典型用户模板的人吗?其中在用户调查中,我们所知道的很多用户可能并没有按照自己的真实情况进行填写,那么我们所选择的典型用户中还是会和我们定义的模板要求有差距,那又该如何平衡呢?
(4)第三章的团队对个人期望中,我有的疑问是,如果当个人由于一些原因无法完成团队安排的任务时,团队该如何合理的分配任务,又该如何处理个人的行为呢?怎样才可以使团队以一种最好的状态一起合作呢?如果团队中个人的功能完善后,又该如何帮助其他人做自己不熟悉的部分呢?
(5)第三章在介绍全栈工程师部分,将全栈工程师比作街头卖艺的单人乐队,结合实例我所理解到的意思是全栈工程师就像是即会写乐谱的作曲家还是会满场奔走的演奏家,那么按照这个比喻来看,如果有了全栈工程师那么你就可以把整个项目从头到尾自己一个人完成了,那么那些学习想前端或者后端并非全栈的同学又该如何做选择呢?

4.了解和调查源程序版本管理工具

自己先前有了解过github,但是对其的使用步骤不大熟悉。
以下内容来自与百度

1.SVN

简介:
Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

主要功能:

(1)目录版本控制
(2)真实的版本历史
(3)自动提交
(4)纳入版本控管的元数据
(5)选择不同的网络层
(6)一致的数据处理方式
(7)有效的分支(branch)与标签(tag)
(8)Hackability

优点:

1、采用集中式,易于管理,保证安全性;
2、管理方便,逻辑明确,理念符合常规思维;
3、代码的一致性高;
4、适合人数不多的项目开发;
5、允许一个文件有任意多的可命名属性,会关注所有的文件类型;
6、支持二进制文件,更容易处理大文件;
7、支持空目录。

缺点:

1、服务器压力太大,数据库容量暴增;
2、必须连接在服务器上,否则基本不能工作、提交、对比、还原等;
3、不适合开源开发。

2.git

简介:Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

优点:

1、适合分布式开发,强调个体;
2、公共的服务器压力和数量都不会太大;
3、速度快, 成熟的架构,开发灵活;
4、任意两个开发者之间可以很容易的解决冲突;
5、离线工作,管理代码成本低,不需要依赖服务器;
6、部署方便。基本上下个命令就可以用;
7、良好的分支机制,可以让主干代码保持干净。

缺点:

1、资料少,学习成本比较大,学习周期比较长,要求人员素质比较高;
2、不符合常规思维;
3、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息;

3.CVS

简介:CVS是一个C/S系统,是一个常用的代码版本控制软件。主要在开源软件管理中使用。与它相类似的代码版本控制软件有subversion。多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。但是由于之前CVS编码的问题,现在大多数软件开发公司都使用SVN替代了CVS。

优点:

1.cvs不必担心数据损失,可以手工修改RCS文件。
2.cvs对中文路径名的支持比较好。
3.cvs完全用户可见方式与客户端文件夹结构完全一致(cvs生成文件除外)。

缺点:

1.不支持本地文件重命名提交, 不能删除文件夹。
2.网络传输速度比较慢。
3.只支持文本文件存储。
4.CVS中的“零或一”事务原则根本没有实现。

posted @ 2019-09-11 21:14  sunnyyt  阅读(256)  评论(1编辑  收藏  举报