第一次作业

 

  课程名:《软件工程原理和方法》 课程链接 <https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/>

 

  作业要求链接<https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/2706>

 

 课程目标:培养我们的软件工程能力,熟悉开发流程,学会团队协作,并且开发出“足够好的软件”

<即1.研发出符合用户需求的软件。2.功过一定软件流程开发出足够好的软件。3.开发出的软件是可以维护可继续发展的。>

 

作业帮我实现目标的方面:

这个作业<让我提高思维能力,能加清晰的认识到软件工程究竟是什么,究竟要做什么,让我专业目标不那么模糊,让我有自己的想法和为之而努力的方向。说通俗一点就是给我领进了“软件工程”这个行业的门,以后的修行,还得靠我个人。>

 

 我的博客链接<https://www.cnblogs.com/Xl2248570171/>

 

<自我介绍>

       我的名字叫肖磊,家乡是四川凉山。现在就读于西南石油大学成都校区2017级软件工程专业。说实在的,我觉得目前为止我并不是一个称职的,合格的学生,可能是因为刚刚年满19岁,不太懂事,按道理来说也不算小了,但是还是没学会管理自己,管理自己的时间,自己的未来,甚至还没有一个清晰地目标和打算。我已经就读于这个大学一年半有余了,但是,好像什么东西都没有学到一样,甚至,甚至来说,还退步了。过去的一年半,心里一直愧疚,觉得,自己来到大学,没有学好本事,对不起爸妈,但是我堕落的思想,懒惰的身体依旧没有行动。越是这样,心里的愧疚感就越严重,知道哲学期,开学临行前,看着年过半百还有余的爸妈头发确实已经花白,我觉得要是在不做出一些改变的话,可能真的就来不及了,我不想让他们失望。

      我最大的优点,也是最大的缺点就是太过聪明。也许说这话确实有些自大了,但是我却不想这样。高中时期身处于当地很一般的高中很一般的班级,甚至可以说是比较差了(当然这是因为家乡地理位置的原因),差到什么程度呢,我居然是作为我们班第一名考上西南石油大学,而且我们当地高中可能十几年也出不了一个清华北大的学生。说的远了,我一直相信是金子总会发光的,这句话一直埋在我的心中,一直被压抑在我懒惰的身躯之下,时至今日。过去的三个学期我挂了4科,并且都是专业课,我感到担忧,我必须要改变。纵使我校有绩点1.08考上北大研究生的传闻,纵使还有比我更差的同学,但是我却真真实实的不想就这样过完大学三年。我要加油!

    我平时兴趣爱好很多,弹吉他,唱歌,健身,运动......可以说很多方面都有涉猎。但是每一项跟独钻一项的同学比起来,却并没有太拿得出手的本事来。但是我最自信的就是我的学习能力,我有信心学号任何学科,在我努力的前提下。

    像曹禺写给黄永玉的书信中那样:

    “ 我一定!!但是我仍在朦胧半醒中,心里又很清楚我迷了路。但愿迷途未远,我还有时间能追回已逝去的光阴。”

二。

  1.(1):从小学开始第一次接触计算机就对这个四四方方的东西产生了浓厚兴趣,后来初中高中迷上了游戏,就想着以后去做这方面的东西,可以一直玩游戏,确实这种想法现在看来很天真。当时高考填志愿第一个就是软件工程。渴望着编出一个自己喜欢的游戏程序,自己就是游戏中的大佬。

      (2):过去两年中有一些符合我对这个专业的期待,比如编程,学习程序语言,因为开发游戏软件就要用到这种东西。有一些不符合,比如数据结构,离散结构,心里想着编程为什么还要依靠这些东西。

      (3):软件工程是我比较喜欢的专业,但是它并不是我擅长的领域,我在这方面还欠缺的非常非常多,假如这是一座喜马拉雅山,我仍然处于尚未攀登或者刚好迈出第一步的阶段。

      (4):我当然会选择与自己所学专业相关的工作,但是觉得目前起点还不够高,有很大可能考研继续学习本专业。以后我想在一线城市,当然北上广深是每个人都想要去的,但是就业压力也会很大。我希望在互联网巨头公司里工作,一是因为有丰富的资源供我学习,二是有良好的工作学习环境,。也许            一开始我达不到理想的起点,但是身处于这样的大环境下有助于我的进步。我渴望项目经理或者初级软件工程师的岗位。

2.(1)我觉得我具备的专业知识有数据结构,离散结构,面向对象程序设计基础,会编译很简单的小程序。基本就是大学课程里所讲的内容。写过的代码量不清楚,反正不是很多,应该是同届学生中中下水平。

      (2)假如我要成为一个合格的软件工程学生,我还欠缺很多东西,我刚刚说了,我现在处于尴尬的起步阶段,还需要强大的编程能力,遇到BUG的解决能力,构造能力,团队协作能力等等,因为学的不够好,所以还不清楚自己究竟欠缺了什么,但是我会努力弄清楚的。

3.(1)对照前人的经历和自己的能力,目前所处的境况与家庭情况来看,我的选择是考研,出国和工作几率不高。

       (2)就像上面自我介绍说的,我没有什么专业技能的优势,要说有的话就是学习能力还不错,更同专业学习较好的同学比较我处处都是劣势。

        (3)用一句我们高中老师的励志名言:只要学不死就往死里学。具体方向,下来再考虑。只要努力总有办法。

三。前面说到,自己的编程经验十分有限,所以对不太熟悉的编程方面不敢妄言,根据题目的引导我仔细阅读了《现代软件工程构建之法》的低16章内容 《IT行业的创新》,结合我的思考提出了以下几个问题

(1)根据书347页的16.1.5迷思之五中第二段所说“但是数据统计表明,70%的创新者说,他们最成功的创新,是在他们拿手的领域之外发现的”,我们为了创新成为了某个领域的专家,然而就在此时我们所在的领域却被一个类似门外汉的人而创新了或者说发生了翻天覆地的变化。这究竟是为什么?

    后来我自己思考之后觉得可能有以下几方面的原因:

1.根据我们老祖宗的说法这叫:“当局者迷,旁观者清”,加入我们开发了一个软件,根据自己的思维经过一系列设计,开发,测试过后,产品成功研制,正是因为所有的东西都按照我们自己的所想而自己发现不了缺点或者说找不出还需要创新的地方,然而当旁人按照他们的想法来使用的时候却能看出一些端倪,提出新的想法和建议,这便是创新。

2.当我们成为了某个领域的大师,专家,当然这个过程中经历了太多的磨砺和挫折,正因如此,我们形成了一个“定式思维”,遇到问题便按照老方法老套路来,我举一个例子,小学的时候大家都学过一篇文章《牧童与画》,大致是说:一个叫戴嵩的著名画家画了一幅斗牛图,大家都都拍手称好,纷纷赞扬这幅画,然而一个牧童却指出斗牛时牛尾巴时夹紧的,并不是画中所说朝上的那样,这就像我们平时按照自己的惯式思维来却满足不了一些很普通的,基础的用户需求或者创新,而有的人站在用户的角度上就能够取得创新,改进产品,乃至取得翻天覆地的变化。

(2)作者在书350页提到“科研是将金钱转化为知识的过程,而创新是将知识转化为金钱的过程”,我在思考过后,个人认为科研和创新其实有时候是一码事,很多创新其实就是科研的成果,而创新和科研同时也都需要金钱,比如上世纪70年代,面对严峻的现实,世界陷入了粮食恐慌,人们连连发问谁来养活中国?谁来养活世界?袁隆平在这时通过对杂交水稻的千万次实验,最终将水稻亩产量从300公斤提高到了800公斤,并推广到23亿亩,使中国粮食产量增加了200多亿公斤。这便是科研的成果既是创新。同样有投入也有收获。

(3)同样是在书16章的16.1.7.3,353页,有的公司为了减少降低成本而大大缩短了软件的研发时间,如“自2005年开始,一些新的挑战者开始做中文输入法,他们的更新频率是多少?是一个月,甚至半个月”。那么我有个疑惑,在这本书的15页第一章的1.2.4中提到我们这门课的目的就是开发“足够好”的软件,“足够好”在这里的意思就是在考虑成本,时间以及质量,可维护性,用户的满意度等等综合起来的软件,那么上述的输入法仅仅半个月就更新一次确实很快,但是是否能令用户满意呢,可维护性又是怎么样的?我们不得而知,我真正想问的就是创新究竟是否应当把质量放在一个足够重要的位置上去考虑?

(4)同样在书16章16.1.7.5,354-354页中提到“这些高校都是喊着培养创新人才,创新型大学的口号和企业合作的”以及“在一个有着悠久历史的稳定单位(例如大学)中,它有固有的流程,价值观,文化都在自觉或不自觉地反对改变,反对创新”,我觉得作者在后续阐述的不太能让我理解清楚,作者说需要创新却又反对创新,原因是有的“有最上层的支持,但是如果自下而上搞创新,“文化”未必会喜欢你,说不定会出人命的”其实很多发生的例子并不是这样,比如历史上著名的“陈胜吴广起义”,两个农名揭竿而起,自下而上的推翻了秦朝的统治。又比如我们熟悉的八小时工作制和五一国际劳动节就是在1886年5月1日由芝加哥20万工人举行声势浩大的游行罢工而争取来的。这些都是自下而上的创新改革,这是我想说明的。

(5)在书357-358页的16.2中作者提到了一条“大众对新技术的接受曲线”,而这条曲线当中有一条鸿沟,我不禁想问,这条鸿沟是什么,我们应当怎么去跨越这条鸿沟,我相信这是每一位学生都可能会面对的问题。

我查阅资料了解到这条鸿沟是“企业与消费者之间存在的鸿沟”,解决方式大致是“创新营销方式”。但是我依然不太清楚具体应当怎么做,这是我想知道的。

(6)在书370页的16.5中提到一个新的概念那就是“软件作坊”,在前面351页中提到“小市场满足不了大公司的胃口”、“所有颠覆性的技术在开始的时候市场都不大”,我看到这里不禁想问,是否“软件作坊”能更好的去创新,去尝试颠覆性的技术?因为成本和代价并不高。或者说那些互联网商业巨头例如Amazon,Google,Microsoft等等是否能创立许许多多类似的“软件作坊”去创立新的东西,加之自身庞大的资源及商业背景就能够很好地将这些成功的创新或者颠覆性技术推广出去产生更大的效益。

     我不禁想起了国内的阿里巴巴以及腾讯,他们确实有很多旗下的子公司,我们是否也能将之看成“软件作坊”呢?

(7)晚上我整理笔记,看到了老师所讲的“软件过程模型”,其中有瀑布模型,原型模型等等,各有各的优缺点,当我看到原型模型的流程是“被开发的软件原型交付给用户使用....”我在思考稍如果软件规模较大,软件原型会不会也很大,也需要用到软件过程模型?

我在网上没有找到具体说明,这是我提出的问题。

四.

(1)GitHub:GitHub 是一个面向开源及私有 软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。

      优点:1.  非 Windows 环境下的开源项目,GitHub 是一个理想选择。2.   pull request,issue都是杀手级的feature    3.强调个人,符合hacker更看重名誉/成就感的天性

      缺点1.  国内访问速度太慢,经常出现connect time-out(非GFW所为)2.不能很好的解决GB2312/GBK,对中文不够友好 3.wiki功能太弱,直接导致文档(对于开源项目很重要)经常被分离到一个独立站点

(2)Microsoft TFS

      优点:1. 任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用 2. 集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM  3. 能与 VS 无缝接合

      缺点:TFS 定位并不是源代码管理,而是一个团队工具,贯穿需求,开发,测试,发布各个流程提供自动化工具。

(3)Trac

     优点:良好的扩充性,非常灵活,可以随心所欲的定制,可以和TortoiseSVN集成。
     缺点:不支持多项目,不显示中文名,本地化做得很差,核心功能很少,不安装插件基本上没法用。

       

转载于:https://www.cnblogs.com/Xl2248570171/p/10541567.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值