第一次作业——《构建之法》

|
:---😐:---:
这个作业属于哪个课程|https://edu.cnblogs.com/campus/xnsy/2019autumnsystemanalysisanddesign/
这个作业要求在哪里|https://www.cnblogs.com/harry240/p/11469058.html/
我在这个课程的目标是|学会如何进行软件工程管理
这个作业在哪方面帮助我实现目标|进行课程理解,并且加深对软件工程对印象
我的博客地址|https://home.cnblogs.com/u/charming0011//

1、我的博客开通了!

      在老师的要求下,我开通了自己的博客,从一个以前只是浏览别人博客,学习别人知识的小白转变成一个也会自己写一些技术文章的IT领域的普通一员了,心里还是很激动的,像是打开了新世界的大门,这是我的第一篇博客,当然并不涉及技术方面,以后也会努力学习写一些技术文章,知识共享!

      简单的自我介绍——秦傲明,熟的人都叫我乔明,西南石油大学17级软件工程卓越班的普通一人,成绩平平,在大学之前连电脑的基本使用都不怎么弄的明白,但是一些简单的游戏还是能打的😂,在选择这个专业后其实并没有什么天赋,只是在跟着教学进度走,但是自己也并不讨厌,觉得很有兴趣,以后也会一直努力学习,争取作为一个技术达人,然后提升全面素质,不仅仅是敲代码的能力,其他方面的比如管理、配合、市场等也能有所提升!

2、阅读与思考

  • 对所在专业的畅想
  •       当时选择专业的时候,考虑到整个社会发展的大趋势,而且考虑到计算机行业非常好就业,所以就在所有专业中选择了软件工程,当时对于什么计算机科学与技术、网络工程等专业也没有一个概念,只是觉得软件好像离我很近,然后做一个自己喜欢的软件很有意思,但是当时对于计算机一窍不通,想着随便选一个专业也都是大学来重新学,所以勇敢地选了软件工程。然后能对于这个专业也有去网上了解过一下,当时想的就是我可以写一个软件,特别是一个游戏,想着能玩自己的游戏也非常的激动,还有就是以前看一些电影一些黑客很厉害,想着自己也能坐在电脑面前能够敲代码就能渗透进别人的电脑也非常激动;所以当时也是一个无知的少年。

  • 目前为止的水平
  •       然而现在已经学习了两年了,已经大三了,这个专业的专业课也学的非常多了,事实是以前期望的那样吗?当然不是!以前想着能做一些很厉害的游戏,能够给朋友们炫耀这是我自己做的游戏,现在好像也只能自己用C#拖控件勉强写一个打飞机的游戏出来,也就能自己欣赏一下;以前想着能够随便几行代码就能入侵别人服务器,能够获得全部的数据,现在也就只能用kali带的一些工具破解一下wifi密码、最多内网进行渗透测试等,也就只有这个水平。所以说专业知识符合我当初的猜想吗?我想在一定程度上是符合的,但是要满足所有的畅想也必须自己学,只有自己多学知识,补充课外知识,也才能更好地满足自己的需要。而想设计模式、计算机系统基础这样的理论较多的课也是为更好地进行软件开发打基础,但是代码能力还是得自己练,很大程度上也是因为自己练少了,所以代码能力并不是很强,并不能满足自己的开发需要,很多时候也是力不从心,所以也需要继续学习以及实践。

  • 以后会从事专业领域吗?
  •       对于以后的工作,我也一定会从事IT行业,因为自己也还是比较喜欢这个行业。看了博客【J】,就像作者一样,因为在学校里面可能技术比较突出,然后学校能就分配了一份看似比较不错的工作,但是这并不是作者想要的,所以他做出了自己的选择,面对所有人的质疑,努力做好自己想做的事情,最后也能获得成功。而反观现在的我,虽然现在代码能力实在是不咋地,然后最大的项目也是做了一个完整的网站,然而前端方面还很丑,现在也在做一个系统,但是对于这个行业来说是远远不够的。

  • 离一个合格本科毕业生的差距
  •       现在也已经大三了,本科生涯也过去了一半多,审视自己,除了在教学范围内的比如一些实验报告之类的有时候需要敲一些代码,还有就是参加了一些项目需要敲一些代码,平时自己做一些东西的时候很少,但是自己对网络空间安全方面也挺感兴趣的,所以这方面的东西以前也有所研究,但也仅限于看别人写的一些渗透测试自己照着弄一遍而已。而对于软件开发而言,现在也只能做一些程序,最多比程序好一点的就是能够写一些质量不是那么好的文档,因为练的少,这种机会也不是很多,我想如何认识软件工程这门专业也还需要多多修炼。

  • 今后规划
  •       感觉自己还年轻,能够再继续多读一些书还是很好对,所以还是决定考研,因为自己技术不行,也还想再学校里面多研究一下,将来在社会上能够轻松一点。虽然知道可能以后就算出去了也会遇到很多困难,还是想考研。

#2、关于教材的一些问题       1、在第六章讲到了敏捷流程开发,让我知道了可以把一个软件分成很多个不同的版本,每次交付一个有价值的版本给用户以满足需要,不断迭代不断发布新版本。但是就这样的话虽然可能在编码上比较方便,每一次不会将全部功能开发出来,也给用户实实在在的软件在用,但是就这样而言的话就需要项目组成员的高素质以及高沟通能力而且测试人员也会过早地参与测试工作,导致一个不稳定的版本漏洞百出,给测试人员带来极大压力。并且还有为了实现功能而做,在整个软件没有设计一个很好的架构,后期的代码堆砌也会非常严重。不仅这样,也会对开发人员带来极大对压力,经常都需要发布新版本而且越快越好也会带来更大的工作量。 参考:[敏捷开发流程总结](https://www.cnblogs.com/mengfanrong/p/3764735.html)       2、在12章中提到了用户体验,其中12.1说到了用户体验的要素,姑且不说我们能不能和用户想一不一样,就算一样的话,人的心理也是花最少的钱买最好的东西,但是我们软件服务行业不像其他行业,我们的工作量非常的大,一个项目周期可能会按年算,这个时候我们如何在成本以及用户体验之间权衡呢?       3、并且在12.1.6中提到了用户体验与质量,里面的杰克这个故事也不是很懂,是牺牲了质量提高了用户体验就占领了大量份额吗?但是对于医学这些专业领域有时候牺牲产品质量可能会引发误诊之类的严重错误,这个时候用户体验还重要吗?       4、在13.3.1中又一个问题说到测试人员是最后一道防线,用以保证产品质量,但是有时候开发人员的代码质量不高,所以需要测试人员的质量高,但是这样的话为何不要测试人员直接参与开发工作?也跟着实现软件功能?       5、在16章中提到了创新,但是就现在软件公司的竞争也十分激烈,但是比如开发流程,开发模型等也都是在那里的,基本上也都是那么些个东西,技术层面的话也是那么些技术,能够用这些技术以及流程开发出用户满意的东西了,我们为什么还要创新?而且就编程语言的话我们也只是拿来用,相对于一些小一点的公司也并没有实力去专门钻研技术,创新是不是会浪费? #3、版本控制工具
  • git
  • 参考于菜鸟教程: Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
  • svn
  • 参考于菜鸟教程: Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统,Subversion 在 2000 年由 CollabNet Inc 开发,现在发展成为 Apache 软件基金会的一个项目,同样是一个丰富的开发者和用户社区的一部分。SVN相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion。
  • VSS-- Visual Source Safe
  • 参考于(http://blog.sina.com.cn/s/blog_5f0e9ca50102v63c.html) 此工具是Microsoft提供的,是使用的相当普遍的工具之一,他可以与VS.net进行无缝集成,成为了独立开发人员和小型开发团队所适合的工具,基本上Window平台上开发的中小型企业,当规模较大后,其性能通常是无法忍受的,对分支与并行开发支持的比较有限。其相关的外挂支持工具为SAW,SOS.

    各个版本控制工具各有优缺点,比如git是分布式的,但是svn就不是,然而VSS非常适合VS.net。所以各个工具的使用也要看项目的实际情况而定。

posted on 2019-09-10 20:44  乔明  阅读(229)  评论(2编辑  收藏  举报