第一周作业——自我总结

2018年系统分析与设计——第一周博客作业

题目来自:https://www.cnblogs.com/xinz/p/9660404.html

1.自我介绍,创建博客

       我的博客地址:https://www.cnblogs.com/moxxxmo/

       我叫张雨竹,现在就读于西南石油大学软件工程专业,于今年上了系统分析与设计这门课。在课堂上用到的教材《构建之法》的原作者邹欣老师,发布了这次作业。所以在邹欣老师的引导下,我来完成这篇博客。

       我认为每个人都有不为他人所知的本事,这其实就是一个人比较擅长的但是没有机会让他人知道的一个特长。对于我来说,除了是一名看似很宅的软件工程的学生外,我还是院排球队的成员,参加过学校的排球比赛。我从小就比较喜欢排球这项运动曾经也是学校的排球队队员,中学期间因为忙于学习,没有太多的时间进行专业的学习。上了大学之后,为了把自己的兴趣发展成自己的特长,我两次报名了排球体育课。从掌握简单的垫球开始到配合进攻,这个过程我自己也付出了很多努力。一开始,垫球不超过10个,在课后加班练习后垫球可以上到100个。在我看来,不论是练习排球还是学习,都需要一个熟能生巧的过程,需要不断地练习才能掌握技巧。对于一个将从事IT工作的人来说,练习探索的过程很重要,工程的形成源于不断地尝试去找到并形成的一套适合特定项目的解决方案,只有真正的做过了项目了,才能积累下经验,变成一个合格的软件工程师。

2.现状、经验和计划

    (1)现状

       在高中的时候经常看一些计算机方面的电影和电视剧,对那种高科技所带来的科幻感很着迷,还有就是那时候App在手机上的风行,让我感受到了科技真的可以改变我们的生活,所以就希望有一 天也能成为一名软件开发人员,做自己想做的App。除此之外,就是高中的计算机课上,老师做了一个小游戏,让我们感受到了计算机带来的乐趣,也在我选择专业做决定的时候影响到了我。现在我已经大三了,接触和学习这个领域已经整整有两年的时间了。自我评估,我认为我离成为一个合格的IT专业毕业生还有一定的差距。首先,我觉得自己缺乏项目经验,这两年的时候里除了学习课程上的知识外,我还在学习Web前端的知识。但是到现在只做过一些小的项目,在技能上还有差距。专业知识上,我对算法、数据结构的掌握也非常的浅,只有当时上这两门课的时候学过,但是没有深入地去研究过。能力上,我学习过了系统分析和设计这门课,我知道了一个软件工程师的能力应该是全方面的,而不是单纯地编码能力高,所以对我自己来说,这两年的时间里只是在发展自己的编码能力,其他方面的能力仍待提高。

       技能调查表:

技能

自我评估目前水平

课程结束后水平

提高手段和方法

语言

 对HTML/CSS+Javascrpit的基础知识的掌握,c语言的掌握

可以做一些小型的项目,会使用一些框架。

 对语言有了更深层次的理解。  阅读了大量的书籍,去做算法和数据结构方面的题目,总结错误点和知识点。
需求分析  对项目的需求分析做到了功能分析。  不仅对一个项目的需求分析做了更加完善的功能分析,还学会了对可行性进行分析,以及需求的验证与确定。  请教更有项目经验的人,多做项目,学会将学习到的知识运用于实践。
软件实现  软件实现的效率不高,并且很多功能都不能实现,没有一个结构,编写时比较随意。  编程之前能对自己所要实现的功能做个详细的设计,对要实现的功能能有一个结构,不会导致功能缺失。  学习关于软件设计方面的知识,多做项目,找到自己经常犯错的地方,积累经验。
项目管理  做过项目小组组长,但是没有系统地学习过管理方面的知识。  知道了项目管理是怎么个流程,并知道了项目管理成功的一些关键点。  在项目中充当管理人员,学会比较理论和实际的区别,总结经验。
理论素养  学校里开设课程的理论知识的掌握,和自己看过的一些参考书知识的掌握。  知道了如何梳理自己学习过的理论知识,构成一个系统化的知识框架。  不断地总结和巩固知识。

    (2)心得分享

      首先,我想分享的是我为何要上课并且认真参与。大学里面开设的课程,我觉得不同于高中里面开设的课程。高中的课程让我觉得很枯燥和无聊。但是大学里的课程更加的多元化,更加地实用贴近于生活、社会。这一方面就很大地提高了我对学习这些知识的兴趣,所以我想上课去感受这些知识带来的魅力,认真地参与其中也是感受的一部分。除此之外,认真的上课不仅可以培养我的专注力还能提高我学习的效率。一般我上课认真听讲后,课后就不用怎么复习,就能记住那些知识点。如果我没有认真听讲,我课下又要花大部分的时间去消化知识。认真参与的过程中我的专业技能和文化素养也得到了很大提高。总的来说,我认为上课并认真参与给我带来了很多益处。 然后,就是我在大学里感受到的不同的师生关系,高中里老师更像父母,过多地关心,不论是学校里还是学校外。但是大学里师生关系更像是朋友关系,彼此之间有更多自己的空间,但是在我们在学习上需要帮助的时候,老师也会第一时间帮助我们。当老师布置的作业对我来说有些难度的时候,我会选择向老师和同学请教,花更多时间,把作业全部完成。因为我觉得大学里上课讲的知识,大多数涉及的范围比较广而且很杂。老师布置的作业,一般都会是上课知识点的复习,认真地完成作业有利于我们巩固和总结知识。

     最后再回答一下,作业中提出的关于参考他人的文献资料和抄袭、剽窃的区别。抄袭和剽窃就是原封不动地把别人的知识成果复制一遍,可能修改一下个别名词啊什么的,并且抄袭者对其抄袭的内容也是不清楚的。而参考他人的文献资料,在其基础上继续开发,是我们已经掌握了他人的知识成果,并且这基础上能自己提出创新点或者进行优化,从而产生属于自己的新的知识成果。

    (3)自我规划

      今年已经是大三了,这一年对于我说是最关键的一年,因为我在这一年里,要做好对自己以后道路的决定。前面两年其实能谈规划,但是今年要谈到如何对自己的规划做出决定。大学毕业之后,我希望能够出国深造,所以今年我要准备国外大学的申请材料,与其他同学相比,我觉得我的优势是成绩到达了申请要求,但是我的劣势是我没有参加过什么比赛,也没有做过什么大型的项目。在这种选择下,我今年的规划是首先考过我的语言成绩,所以现在我已经开始在备考托福了,另外就是去增加自己的项目经验,但是想要开发大型的项目,我认为我还需要把我在软件工程方面的技能提高。我属于那种胆子很小的人,不敢勇于接受那些挑战。我觉得我今年要改变自己的这种心态,要学会迎难而上。把自己投入高压的状态里,才能发挥出无限的潜能。

    (4)课程规划

      我对这门课的规划是,在听老师讲解知识点的同时将这些知识点能够快速地在项目中去体会,并且在课后去阅读大量的学习资料,多去撰写博客,能在博客上与有经验的人进行交流互动。前两年的课程里,我们都在学习提高我们的编码能力,打基础。这门课程让我认识到了,这只是软件工程中的一小部分,整个软件工程是包含了分析、设计、测试等多个过程的,我对这门课程的期待就是,能系统和正确地知道什么是软件工程,如何运用软件工程开发一个项目,而不再像我们现在开发项目采用的写了再改这种开发过程模式,希望能学习到更多的开发模式。对于这门课,除了要阅读完教材还要阅读大量的课外资料,还要投入实践。所以我认为我一周应该要花12个小时在这门课上。平均下来一天必须要花两个小时学习这门课。

    

  我的代码量
目前的代码量

C语言:2000行左右

c#:800行左右

java:500行左右

html+css+javascript:4000行左右

入职公司所需代码量 10000-20000行
高效科研工作 至少20000行
课程结束,完成代码量 至少1000行
每周代码量 至少200行

   (4)感想

       选择的博客文章:https://www.cnblogs.com/geniusalex/p/4928713.html

      这篇文章所讨论的话题也是我比较感兴趣的话题同时也是一个我正在找寻答案的问题,培训学校出来的程序员和大学里出来的程序员到底有什么区别?博主在博客中提出了两个观点,让我印象比较深刻,他指出了我们为什么要上大学很关键的两点。第一就是我们心态的变化,学习如何去适应社会。这一点我很有感触,因为我觉得我成长得最迅速的两年,就是大学的这两年。大学就是个小型社会,也是与社会接轨的地方。我上了大学后,心态转变也很大,我开始想要如何独立,如何能靠自己的努力来得到成功。第二点,就是学习方式的转变,我也十分认同,因为我觉得大学里很多知识都需要自己的学习,因为知识面的广泛,老师上课只能讲到一小部分。很多知识都需要我们下去学习,所有这就是大学为何认真学习了,会比高中还会感到充实。

3.提高质量问题

     我看了秋千图后,虽然觉得有点可笑,但是我觉得这幅图真实地反应除了现在软件开发的真实情况。在我看来,现在市面上的软件公司,由于大的竞争压力,如果想要吸引用户,首先一点就是他能很好的满足用户的需求,这是一个得到用户信任的过程。就我一个软件专业的大学生来看,如果一家公司能够很好地理解和完成我的需求,那么他就是我心仪的公司。但是我们要知道,想要很好地分析用户的需求,是一件很难的事情,所以有些公司为了获得顾客,会夸大自己公司的实力和出现在没有真正的确定用户需求时,就接受用户的订单。这就是秋千图上,项目经理描述的是多么地完美,结果最后的成品差距是多么大。

      最近我也遇到了这样的一件事,母亲从事的医院雇了公司做一个医院办公系统,花了大概7位数的价格。一开始,软件公司承诺了可以完成的一些功能,并且这些功能在大多医院都已经在使用(说明了功能的可行性)。但是当他们拿到软件后,由于医院里的人也没有使用过这个软件,所以需要花一段时间去了解软件才能真正找出一些问题。但是这时负责维护的人已经离开了。后来当医院的人发现了当初明确要求了的并且公司保证实现的那些功能并没有实现时,要求公司派维护人员来维修的时候,那边公司的人已经不想再继续管了还呈现出了一种消极的态度,最后导致医院的人(客户)和软件公司出现了矛盾。

      我觉得这个软件公司存在着一种双向欺骗,一是欺骗了顾客,二是欺骗了程序员。过高要求的功能,对于达不到要求得程序员来说也是一种负担。所以我想知道如何避免这种欺骗的情况出现,并且在争取顾客和自身实力与需求存在差距时而放弃,应该如何抉择,对于一个软件公司来说。还有就是如何安排软件的维护和跟进维护? 是一旦将软件交于顾客后,就开始跟着维护,还是当用户使用出现问题时才进行维护,在这过程中怎么避免维护人员的消极情绪和调节公司当时保证的与顾客要求不符合所产生的矛盾?

猜你喜欢

转载自www.cnblogs.com/moxxxmo/p/9705595.html