构建之法第一次作业

构建之法第一次作业

这个作业属于那个课程 系统分析与设计
这个作业的要求在那里 作业要求
我在这个课程的目标是 提高自身能力,增加项目团队开发经验
这个作业在哪个具体方面帮助我实现目标 清晰的认识课程的具体内容,更好的自我刨析,认清楚现实的残酷

1.建立博客并介绍自己

我的博客: 鑫懿
自我介绍:我是一个带有一点孤僻的大学生,因为家庭和年龄原因,我童年的几乎所有时间都是一个人度过的,养成了一点点孤僻的性格。我在刚刚上大学时,对于我即将要学习的专业了解几乎是零基础,但是经过两年的学习,我还是对于专业产生了极大的兴趣,可是我一直十分迷茫,不知道自己应该学习什么,怎么去开始学习,一直困扰着我。平时我就喜欢象棋、乒乓球、羽毛球等,可惜就是不喜欢打篮球。我个人从初中开始特别喜欢看小说,它给予我无限的想象空间。我个人特别喜欢数学方面的计算问题,兴趣使然。

2.阅读与思考

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

当初你是如何做出选择你所在专业的决定的?
当初高中刚刚毕业,有过许多的想象,本来想去学习水电专业,第二志愿才是软件工程,对于这个专业没有什么了解,就是感觉以后人类离不开电脑,所以就选择了软件工程。
你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?
说实话,刚刚开始上课和我上大学之前想象的内容不一样,内心还是有一点点的落差感。但是随着学习的深入,对于专业的兴趣越来越大,越来越感受到了软件工程专业的神奇和神秘。
你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?
开始不感兴趣,但是学习的深入,兴趣越来越高,感受到了软件的奇妙和刺激。现在还不是很擅长,找不到学习的思路和学习的开始。
将来你会选择从事和你专业相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因
不出意外的话,应该会从事本专业。先想去见识见识大城市深圳(腾讯等),然后回成都发展,到最后回到家乡梓潼(自营)。

(2)对照前人们走过的路和描述未来发展,现在的你

自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。
软件工程基础的逻辑思维和基础编程知识,C语言、java的基础了解开发,基础网页开发知识,基础数据库运用,对于23种设计模式的基础了解。4000行,暑假团队游戏的开发。
离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?
对于专业知识的学习,知识的储备不足。在软件开发的过程,不能够全部的了解和认知。专业技能的还需要提高。
(3)目前是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支.
对照以上你阅读的前人们的经历,你的选择是什么?
工作
在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
优势:可以更早的接触的社会,将专业知识学以致用,拥有良好的工作经验。
劣势:没有更高学历和更深入的专业知识,与对于专业更深的认知。
针对你的选择,你给自己的大三设定的规划安排是什么?
更多的学习计算机的内部基础操作,例如:操作系统,汇编、数据库原理等。更加偏向于理论性知识,当然也一定要做大量的编码和设计操作。
你对于实现自己的梦想已经做了或者计划做什么样的准备?
没有什么好说的,只有努力、努力再努力。不让自己后悔,青春无悔。

3.提有质量的问题

1.在每个问题后面,请说明哪一章节的什么内容引起了你的提问,提供一些上下文。
2.列出一些事例或资料,支持你的提问 。
3.说说你提问题的原因,你说因为自己的假设和书中的不同而提问,还是不懂书中的术语,还是对推理过程有疑问,还是书中的描述和你的经验(直接经验或间接经验)矛盾?
1、在第四章《两人合作》中:
我看了在结对编程中,因为可以随时的交流和复审,程序各方面的质量取决于一对程序员中各方面水平较高的哪一位,这样程序中的错误就会少好多,就会省下很多修改和测试的时间,我有一个问题,我们都知道每个程序员都多多少少有一些个人的怪癖,那么在交流中,一旦两个人的观点发生了极大的冲突,两人各不相让,那么便会极大的影响程序的进度,这样做别说更好的完成程序,可能连程序的完成都是一个问题。人人不同,我们不能保证每一个人都能够做到倾听他人意见,及时认识到错误。
2.在第五章《团队和流程》中:
在团队的组建时,就一定要确定工程模式吗?不是应该根据具体的项目,在来确定团队应该使用什么样子的工程模式。而且在新的敏捷开发中,它是先做出效果,不重视文档,那么便会要求团队每一个队员要对于程序的需求了解清晰,不然没有具体的文档,便会造成程序的需求编写错误,南辕北辙。
3.在第10章《典型用户和场景》中:
在了解用户的需求过程中,总会遇到许多的用户需求不稳定的情况,遇到这些情况我们应该深入了解用户的情况,还是应该根据他模糊的需求描述,先通过敏捷开发开发出一个简易模板,让用户看看效果,在进行迭代,达到用户的需求。
4.在第11章《软件设计与实现》中:
实战中实现源代码的管理,一定要一个人管理与维护到最后吗?因为一旦有新人来进行管理与维护,他不了解源代码的需求和具体的代码实现功能,就可能会出现不可挽回的损失。
5.在第13《软件测试》中:
所谓的软件测试就一定是bug越少越好吗?我个人认为不一定,所谓的bug要针对不同的用户的实际情况,来应对和处理这个问题。还是对于bug的测试,怎么做才能减少bug的重复性。

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

Git
优点:分布式的版本管理,对比集中式的版本管理系统来说不会出现中心服务器死机就影响工作,而是可以先存储在本地,等服务器修改好还可以接着进行工作,并且git的社区灵活,拥有丰富的资料来进行学习查阅,并且git是开源的,它强调个体,并且对于公共服务器压力不会太大,大小项目均可管理,拥有良好的分支机制,git的分支只要不提交合并,对其他人没有任何影响,并且git是统一管理元数据,存放在称为.git的文件目录里面。
缺点:git的版本之间的兼容性不好,可能在上个版本的项目内容放到另一个git版本会出错。
GitHub
优点:GitHub 提供在线编辑文件的功能,不熟悉 Git 的用户也可以直接通过浏览器修改版本库里的文件。项目的 Fork 和 Pull Request 构成 GitHub 最独具一格的工作模式。对提交代码的逐行评注及 Pull Request 构成 GitHub 特色的代码审核。GitHub 对 Git 版本库提供了完整的协议支持,支持 HTTP 智能协议、Git-daemon、SSH 协议。项目的 Fork 和 Pull Request 构成 GitHub 最独具一格的工作模式。对提交代码的逐行评注及 Pull Request 构成 GitHub 特色的代码审核。
缺点:动态程序的部分相当局限,基于Git,很多东西需要动手,不像Wordpress有强大的后台。
Rational
优点: 既适用小的开发团队也适合大型开发组织, 建立简洁和清晰的过程结构为开发过程家族提供通用性。并且,它可以变更以容纳不同的情况。它还包含了开发工具包,为配置适应特定组织的开发过程提供了支持。
缺点:用户界面做的也不太方便。对报表自动生成、模型管理做的也不太好。

posted @ 2019-09-12 23:47  鑫懿  阅读(123)  评论(1编辑  收藏  举报