精华内容
下载资源
问答
  • 这几年开发互联网软件和windows桌面程序,感觉大同小异: 1.首先提取需求中的数据信息,转化为ER后,生成数据库; 2.再将功能梳理,搭建功能逻辑(在技术选型与coding过程需考虑性能需求)。 3.前端部分确认由...

        这几年开发过互联网软件和windows桌面程序,感觉大同小异:

        1.首先提取需求中的数据信息,转化为ER后,生成数据库;

        2.再将功能梳理,搭建功能逻辑(在技术选型与coding过程需考虑性能需求)。

        3.前端部分确认由使用场景和用户体验的因素,确定不同界面的风格与需要显示的信息,再根据实际应用的平台(客户端包括PC、APP(Android\IOS)、微信、印刷及其他感知物(某些语言开发出来并非在电子产品上展示,而是直接输出到最终实物上,入贴纸打印及PLC通讯))进行开发。




        而最近接触的嵌入式软件开发,除了上述的开发工作,还涉及数据存取方案(嵌入式产品不一定使用数据库存取数据,可能直接使用文件的形式进行)、硬件设计与硬件相关的软件控制方案:






        抱着学习的态度,希望和更多软件从业人员交流心得,欢迎狂喷,相互进步!

    展开全文
  • 文章里,当然文章是以测试人员的视角,来写的,但大致把互联网开发和传统软件开发的不同概括的很好了。我在其中增加了,开发者的视角,以供想从传统软件工程师 转型到互联网开发的兄弟姐妹们一些参考。同时也是自己...

    最近,也做了一段时间的互联网开发,感觉转型,不仅仅是技术上的,同时也是工作方式的,工作节奏的改变。我把对公司的一些理解整理在这边网上,我看到很好的

    文章里,当然文章是以测试人员的视角,来写的,但大致把互联网开发和传统软件开发的不同概括的很好了。我在其中增加了,开发者的视角,以供想从传统软件工程师

    转型到互联网开发的兄弟姐妹们一些参考。同时也是自己最近一段时间工作的心得总结。



    互联网软件开发和传统软件开发的不同


    互联网测试有什么不一样(zz)



     最近一直有写这样一篇文章的想法,因为自己工作的变动,都是些零散的思路和想法,这里稍作整理,贴出来。正好假期的时候有朋友问到这方面的话题,希望也是一个参考。


     其实说实话,觉得自己不是很够资格来写这个,毕竟开始做互联网测试的时间不长,很多方面还在摸索和catchup中。但是另一个方面,如果真都习以为常了反倒没有对比的新鲜感了也不想写了。再加之今天看到韩少的那篇写给不一样的自己,觉得把看法写下来,哪怕若干时日之后觉得现在的看法很stupid也无妨,那就是代表进步了。没有进步是最可怕的事情,不是吗?


     当然,这个不代表公司的一些做法,更不能代表很多公司,也不能代表不同人,纯属一个刚开始从事互联网开发(但不是刚开始做Web的人的一些个人观察和思考。


     互联网行业的人有意无意的把非互联网的软件都称为传统软件,也就是说我们这种都是从传统行业,好吧,传统软件行业转过来的。也许在有些人眼里这个带有一些自诩的成分,当然更多人是为了区分。就像我们做IT的把其他比较实体的行业称为传统行业一样,似乎有某种优越感。这里不争论这些称谓,意义不大,有没有价值让市场去决定。如果把一件事情说得玄乎,那么主要有两种可能,没有搞明白,或者装高深。这两种都不太好,所以还不如看看到底有什么不同。


      如果真要用传统软件行业这个词,那么这里是指的那种需要用户去安装客户端,或者需要客户的管理员在机房去部署的那种软件,放在光盘里也好,放到硬件里一起卖也好,又或者是为某客户量身订做的一套系统。


      变和不变总是永恒的主题。先说说我看到的不一样的地方。互联网行业和传统软件的区别:


      1. 最大的不同就是互联网的产品很多都是自己来部署和运营,用户只要用一个瘦客户端就能使用。


      这里的瘦客户端是一个浏览器,一个App,或者一个需要安装的client,但是核心的数据和业务逻辑主要在互联网公司的机房里面,在IDC,在云端。这里和以前的C/S,
    B/S架构的企业系统的主要区别在于为多大范围的人来服务以及谁来运营和运维这样的系统。所以自然的,就多了很多的这方面的工作。


      缩小范围到测试这个方面,就需要考虑生产环境的问题。比如有下面的这些方面:


      a. 如何来监控生产环境功能的可用性。


      这个需要和运维一起来做,但是运维针对的是比较通用的部分,比如机器的资源使用情况、流量和带宽的情况,但是偏产品业务层面的,比如哪些功能是否可用,可能就
    需要业务测试人员来设计和开发自动化的系统来监控了。


      b. 如何来发布功能到正式运行环境(生产环境)


      测试完了一般直接就发布了,所以不像传统的软件有那么长的测试周期,包括internal beta,externalbeta等过程,而且我了解到的情况,很多基于的互联网产品平均一天 有多个发布,可大可小。所以发布可能就成了测试人员的工作,当然有相关的系统的支持。这里还需要考虑的问题是常见的基于各种条件的灰度发布,先让部分用户用起来。 发布完了之后还要做生产环境的验证。


      c. 如何来保证或者验证测试环境和生产环境是同步的


      一旦是互联网的这种模式,测试环境的问题就会变得比较突出,因为常常牵涉的系统比较多,有些和外部系统的接口可能很难以自己搭建或者用mock。另一方面如果保证测试环境是好的,到生产环境也是好的。需要相应的机制和工具来验证和同步。


    缩小到开发这个方面。要考虑到一些互联网的特性,比如有以下这些方面:

    a 如何快速定位,问题在哪个模块或着需求设计哪几个模块,以及给出解决方案。

    一般来讲,新增加的功能或者模块,比较容易像一个传统项目的一样,制定计划,软件设计,到开发,测试。但是如果是生产环境中出现的问题,则需要对原来业务以及软件架构非常熟悉,能够快速定位到问题所在的页面和涉及的页面。在一个从传统软件转过来的互联网工程师来看,其实web程序,是一堆软件的集合。每一个web页面都是一个独立小程序。它们或者十分独立,只是通过一个链接跳转,或者一组页面组成一个程序集合,实现特定的一个功能。终究是多个dll独立的存在。所以,从传统软件工程师的角度出发,应该是以一个管理程序集合的概念来管理一个web程序。具体怎么做呢?首先负责开发技术人员分成3类,一类是高级coder,最好是原有的模块开发者。它们对模块的需求,和设计实现架构非常了解,但他们只对反馈过来CR做需求分析。屏蔽一些不合理的修改意见,对要修改的需求,进行定位分析,设计好修改方式,以及判断修改涉及的范围。二类是 中级coder,中级coder只和高级coder沟通,对高级coder的设想落地,把他的设计思路实现。 三类是初级coder 负责和高级coder沟通需求以及了解判断修改的范围。对中级coder的修改做开发者的自我测试,完成相关文档,由高级coder审核。


     b 如何判断开发好的功能OK了。
     
     在高级coder的审核,通过三类coder的文档,来确认coder实现是否符合原来设计,当然,设计时,最好事先就和二类coder一起沟通。随着小分队的不断默契,可以是初级coder很快掌握,业务逻辑,和自测方法,同时可以熟悉,开发者所使用的工具。不断成长,继而成为中级coder。同事中级coder,在不断实现设计的同时不断成长,到可以胜任需求分析和软件设计的工作,成为高级coder,这样整个小团队就非常厉害了,这个方式类似于抗倭名将戚继光的鸳鸯阵,专门对付,个体比较强大,武艺高强的倭寇。
     
     
     c 如何保证生产环境的web程序的稳定性
     
     减少发布次数是保证web程序的稳定性的最有效措施,但是如果是紧急的问题,可以当天发布。例如,我们是给美国那边做技术支持,中午可以作为测试截至时间,中午2点测试通过的当天下班5点钟发布,如果2点没有通过测试的,即推迟到后一天。
     


      2. 互联网产品的节奏都很快


      不像传统的一个客户端或者服务器的软件产品,可能周期是半年,一年,甚至更长。这样有比较充足的时间来做项目计划,需求评审,然后是概要/详细设计,进而有测试设计测试用例,然后有不同的测试cycle,同时也可以有很多的时间来准备测试环境和自动化测试。
      就目前来看,互联网的产品这样做不太现实。这样对测试人员也是很大的挑战,可能看到一个需求过几天就要开测了,用例是临时开出来的,根本来不及自动化,也没有很多的时间来做测试设计,然后测两天这个功能就上线了。不是切身的感受很难体会到这种速度带来的差异。所以如何在这么短的时间里面来保证测试的覆盖度和质量,如果减少遗漏?这是现实的问题,或者说是要求,有一些措施,但是其实也没有很好的答案。


      3. 有更多的人参与到使用或测试里面来

      互联网公司里面,测试vs开发的比例都很低,1:6,1:7都是很常见的,甚至更高,在这样的配比的情况下,如果来保证质量?必须有更多的方法。比如


      a. 开发人员的自测。


      测试耗费更多时间很多时候是因为代码的质量不够好,有很多,有很多讨论,很多的拉代码的次数。所以提高开发提交的代码质量就是一个很重要的方面。有些公司是通过开发
    人员的强制的单元测试来保证的,有些是通过功能级别的自测来保证的。这些可以借助一些数据来反映,比如同一个版本拉代码的次数,或者测试用例的通过率等等。


      b. 产品或者运营人员的体验。


      很多互联网的产品不像传统软件产品,不是一个产品经理来提所有的需求。产品,或者称为产品经理,是一个团队,每人负责一块来提出需求。另外很多需求可能是来自于运营团队,和business相关,或者是不同系统的打通。每个产品经理或者运营,需要在开发人员实现了相应的功能之后到体验环境里面来试用产品,就是所谓的体验,看这些功能是不是他们想要的。这样就可以在测试人员测试之前保证没有明显的需求理解的问题,避免浪费测试的人力和时间。


      c. 发布之前的评审。

      不同的角色进来看对于一个已经测完的工作还有没有问题,以及发布的时候需要注意的问题,环境的问题,配置的问题,数据的问题等等。上面的一些做法可能都有帮助,但是如何来推动,如果来检验都是需要流程和工具来支撑。


      4. 有一些是免测试的


      不是所有发布到生产环境的东西都需要测试,有些改动是不需要测试的。这个没有一定的标准,取决于具体发布的情况,以及产品和团队的成熟度等因素。比如一些临时活动的页面,一些小的图片或者样式的改动,一些小的修复等等。只需发布完了之后到外网去验证。 


      有哪些可以走免测,这其实是一个很复杂的问题,当然风险也是有的,但是因此而带来的效率的提高也是很明显。


      5. 海量的用户带来的挑战


      其实有很多,这里列举几个:


      a. 如何来保证或者验证性能


      传统软件的性能测试相对要单纯一些,可以比较容易搭建一套环境,流量也比较容易模拟。而互联网的一个产品可能有几百上千台甚至更多的服务器,多地多层部署,受到各种因素的影响,比如广告促销活动,一下子流量可以冲到很高。所以这方面的做法也会有所不同,全量的模拟不太现实,而且如上面所说,发布非常快,也没有那么多的时间去反复的做性能测试。所以如何来做比较轻量级的性能测试也是一个很大的课题。


      b. 浏览器的兼容性。


      用户使用的浏览器种类可能非常多,包括大家都在骂的IE6,还有IE9的n种模式,版本更新速度火箭一般的Chrome和Firefox,以及很多种国产的浏览器。要一一覆盖是一个很大的挑战,其实不可能,但是产品团队肯定希望测试能够覆盖更多。对于一些企业级的产品可以宣称就支持很少的几种,但是互联网产品很难这样做,那就等于放弃一些用户。如何来设计策略?有没有技术手段?


      c.改好的东西,没有输入限制,任意操作,如何保证健壮性。

    一个小的改动引起的问题可以影响到无数的用户,而且很多时候马上会被发现,那个压力还是非常大的。整个修复的过程也是带电操作,没有那么多环境和时间来在内部慢慢调整,如何来保证修复的质量?


      6. 问题的修复


      互联网的产品相比传统的产品的一个优势或者说是特性就是问题的修复比较快,因为很快就可以影响到用户,而不需要等用户一个个去打hotfix或者patch,甚至安装新版本。有很多时候,这种问题的发生到修复的时间很短,真是绝大部分用户都没有感知。有时候这个也会成为quick &dirty的一个借口,不过一般都会把
    生产环境的问题列为一个考核的指标。而且有些问题不是小问题,会构成事故。其实对于这样的产品,测试人员对于漏测的压力就更大了。


      7. 测试工具和技术选择上的差别


      大概是因为互联网自身产品的一些特点,各大公司都在大量的使用开源的,以及内部开发的平台和系统。相应的,测试方面用到的平台和工具主要也是这两种,要么是开源的工具(也可能做一些改造),要么是内部自己开发的工具。相比而言,传统软件行业更会去购买一些商业的测试工具,比如用于性能测试、覆盖率或者代码检查的工具,还有就是测试用例和缺陷的管理平台。
      目前我了解到的情况,国内几大互联网公司都是改造和自研的比较多,所以在简历里面列一堆大的工具的使用经验不一定有多大优势。而对于新人来说需要花不少时间来学习和熟悉这些平台。   


      以上列举了一些相比传统软件行业的不同的地方吧,但是对测试人员来说,互联网行业和传统软件的相似处:


      1. 一样的需要非常了解产品和业务


      对于测试人员来说,如果不了解产品和业务,测试工作很难开展,因为连最基本的对错(是不是bug)都很难判断,当然除了一些明显的错误,比如js出错这样的信息,这种缺陷产品体验的时候就能够发现或者等到被用户发现了。所以我们还是需要花很多的时间和精力来熟悉产品业务。从这个角度看,没有很大的变化,只是换了一个不同的领域而已,这个差别是不同的产品带来的,而不是因为传统软件或者互联网的差别带来的。


      2. 一样的需要了解产品的技术


      这个其实和上面有点类似,测试人员需要去了解产品开发用到的技术,这对深度的测试,甚至和很多测试技术和工具的应用有很大的关于,比如性能分析,内存泄露的发现,覆盖率的分析等等。不去学习和了解这些,很多工作没有办法开展。从方向上来看没有变化,我们也要去学习和实践这些东西才能更好的了解。但是具体的技术可能有所不同,比如互联网web的产品可能会常用到JS,PHP,Java,C++等语言,还有各种web服务器,cache,代理等等。


      3. 具体的测试技术


      上面说到了一些产品开发的技术,其实还有一块是测试方面的技术,其实这一块细化来看和传统的软件开发有很多相似甚至相同的地方。比如如果来做静态代码的扫描、局部的性能测试方法和工具、覆盖率的工具、自动化的一些工具和框架、一些监控的工具等等。


      从这个角度来看,技术的差异并没有很大,当然互联网有一些特别,比如很多基于web的系统、分布式的、多层的,会对工具提出一些要求,这个差别其实倒不是很大,因为很多传统的服务器软件也是这样。


      4. 测试设计的方法


      上面提到,因为产品发布节奏的差异,使得整个流程必须更轻更快,但是针对于一个具体功能的测试的时候,用例的设计和执行上需要考虑的问题其实和传统的没有太大的差别。因为这个时候大家面临的问题是一样的,如何测这个软件的这个功能。所以一些思路和方法还是能用得上。


      综合以上来看,局部的差异反而比较小,但是涉及到大的形态和流程方面的差异就会比较大。
      也可能正是因为这样的原因,很多从传统软件到互联网的人也很快就能够融入并开始发挥作用,而且退回几年来看,现在各大互联网公司里面的人大部分也都是来自于所谓的传统软件企业。
      


      我相信不同的领域的发展速度和机会是不一样的,这也是这几年很多人投身到互联网行业的原因之一,这个就好比经济学上所谓的市场对于资源配置的驱动力一样,很正常。但是另一个方面,会让人有一种错觉,以为换到一个快速发展的行业,自己立马变强了。其实冷静的来看,并不会如此,只是赶了个浪潮,真正的技术和能力不会因为你换了一个领域或者行业就变得强大或者高深了,要获得这样的提高一定是因为更多的学习,实践和思考,以及和别人的交流而慢慢得到的。


      上面提到了互联网产品,其实有些时候,这是一个伪命题,因为在各大互联网公司都有传统软件,比如腾讯百度阿里都有客户端的产品,而且数量还不少,有些还有C/S架构的产品,国外的google也有chrome,picasa这种桌面的产品,facebook也出了IM客户端。所以在很大程度上,还是非常的需要比如GUI产品的开发和测试技术,服务器类似企业级产品的方法和能力。当然,这些产品背后是连到互联网的,所以也有差异的部分,但是没有想象的那么大。 

       另外一个问题,有些时候大家在借互联网软件这个名字来逃避一些东西,比如一些不严谨,或者混乱的地方,就全部归结到这是互联网的特性,这个是一个“度”的问题,要自己去分辨。


      另一个问题,对于初入互联网开发或测试的人有什么建议呢?下面这些也是自勉。


      1. 正视这种差异带来的改变,上面说的一些东西真的也是很大的不同,所以要积极的学习和了解。


      2. 努力的去学习产品相关的知识,包括相关的开发技术,这样才能更好的开展工作。


      3. 要经常反思,之前在一个环境下对一个东西研究得很清楚了,但是换个环境之后可能老的经验和知识并不完全适用。所以少说我们以前是怎么样的?绝不生搬硬套,而是了解了情况,理解了问题之后看哪些做法是可以借鉴的?局部的借鉴可能更靠谱。


      也正是因为这样的原因,大家会发现学习的曲线很陡,而且会乐在其中。

    展开全文
  • 互联网公司的软件开发流程

    千次阅读 2019-07-08 11:30:44
    一个优秀的产品的诞生离不开合理的的研发过程,这里我们介绍一下互联网公司的软件开发流程。 分为七个阶段: 一、需求分析阶段 需求分析阶段主要是产品经理和和项目经理主导,一般是召集开发人员开个需求讨论会,...

    一个优秀的产品的诞生离不开合理的的研发过程,这里我们介绍一下互联网公司的软件开发流程。
    分为七个阶段:

    一、需求分析阶段
    需求分析阶段主要是产品经理和和项目经理主导,一般是召集开发人员开个需求讨论会,根据前沿市场反馈回来的产品需求,进行需求的细化分析,确认需求的可行性、合理性和存在的必要性。最后再确定需求是否实现、怎样实现。

    二、原型阶段
    这个阶段依然由产品经理主导,产品经理根据需求文档设计出产品原型,产品原型经过领导、客户的确认没问题后,交给开发团队,双方讨论功能的合理性以及存在的必要性。然后,产品经理就得确定需求文档(PRD)。

    三、UI设计阶段
    这时候UI设计师,就会根据产品经理出的原型图和需求文档,设计出符合要求的UI效果图。

    四、编码阶段
    这个阶段,主要是由程序员主导,随着互联网多年的发展,这些年流行前端端分离,程序员根据UI设计师提供的UI效果图,前端工程师将UI效果图实现成具体的网页。后端工程师根据UI效果图和需求文档,进行数据库的设计,将功能模块、业务通过代码实现出来,最后编写接口,与前端进行联合调试,这个阶段是整个软件开发最核心的阶段。

    五、测试阶段
    当前端工程师与后端工程师将接口调试完成后,产品基本已经成型了,这个时候交付给测试人员,由测试人员进行软件全流程的测试,将BUG反馈给开发人员,由开发人员修复BUG后,再进行新一轮的测试,如此循环测试多次确定没有问题以后,测试环节结束。

    六、上线阶段
    这个阶段由运维人员进行服务器的环境搭建,由开发人员进行代码的编译打包,部署上线。

    七、维护更新阶段
    上线以后,并不代表软件开发就已经结束,这个时候仍然需要处理生产版本出现的BUG,出现的异常。亦或者需求的变更,
    可能会对业务拓展。以及对代码的优化。以及需求的更改。当然此处是谁写的代码谁就要负责。好了,一般软件的开发就是这些阶段。在这些阶段里面,如何做到工作的协调,以及工作的和谐是至关重要的。

    展开全文
  • 软件开发需要学什么

    万次阅读 多人点赞 2019-05-20 17:07:37
    很多想学软件开发的同学都在问学软件开发需要学什么,今天小编特意咨询了北大青鸟信狮教育软件开发专业的老师,老师是这样说的:软件开发目前涵盖的领域还是比较广泛的,不同的开发方向需要掌握不同的知识结构,开发...

    很多想学软件开发的同学都在问学软件开发需要学什么,今天小编特意咨询了北大青鸟信狮教育软件开发专业的老师,老师是这样说的:软件开发目前涵盖的领域还是比较广泛的,不同的开发方向需要掌握不同的知识结构,开发环境和设备也有所区别。
    在这里插入图片描述
    现在主要的开发方向有:WEB开发、移动端开发、嵌入式开发等。首先要明确要选择哪个开发方向,Web开发是当前一个重要的开发领域;随着移动互联网的发展,目前移动端开发的任务也比较多;随着5G标准的落地应用,未来嵌入式开发领域也将释放出大量的开发任务。
    Web开发分为前端开发和后端开发两大部分,前端开发需要学习三个基本知识,包括Html5、CSS3和JavaScript,其中JavaScript是重点也是难点。后端开发可以采用众多开发语言,其中比较流行的编程语言包括Java、PHP和Python。纵观现在的手机平台,已经可以说是安卓和苹果的天下了,所以Android开发、iOS开发成为了主力,小程序的爆火和流行也有了各种小程序开发。其中Android开发需要学习Java或者kotlin语言,而iOS开发需要学习OC或者Swift,小程序开发则需要掌握其对应的开发语言。嵌入式开发领域包括大量的可穿戴设备开发等等。嵌入式开发涉及到三方面内容,分别是设备(各种传感器等)、网络和平台,编程语言通常可以从C语言开始学起。
    最后,不论从事哪个领域的开发,都应该具备扎实的计算机基础知识,包括操作系统(体系结构)、计算机网络、数据库等。想走捷径可以考虑考虑上培训班。其实,现在很多职业培训班已经具备比较成熟的教学方法,有经验实力的知名培训机构培训出来的学生更能受用人单位的认可。

    展开全文
  • 什么互联网项目适用敏捷开发

    千次阅读 2018-10-09 17:08:50
    上面一篇文章我们提过为什么分布式需要做前后端分离,今天这篇我们从开发模式来详解为什么...瀑布开发模式是由W.W.Royce在1970年最初提出的软件开发模型,瀑布式开发是一种老旧的计算机软件开发方法。 瀑布模型...
  • 随着互联网的快速发展,教育机构也纷纷改变了发展模式,教育APP软件开发大受欢迎,司科认为教育软件开发不仅能让教学资源共享,更能促进教育行业的发展。  为什么教育类APP软件值得开发  1、使用教育APP的...
  • 软件开发常见的开发方向

    千次阅读 2019-05-11 16:01:58
    说起软件开发,现在是无人不知,无人不晓。好多人可能以为软件开发就是做一样工作的,其实不然,软件开发也分很多种类型,很多方向。做为一个过来人,简单介绍一些常见的开发方向。 1.桌面程序:Java、C++、C#、VB、...
  • 互联网后台开发需要掌握什么

    万次阅读 2018-11-01 09:05:05
    本文内容仅针对互联网后台开发从业人员。 互联网后台开发,通常意味着分布式、大数据,涉及到高性能、系统容灾、数据容灾、高可用性、数据一致性等。自从2008年Hadoop在华夏大地蓬勃发展,开源如火山爆发在业界...
  • 软件开发流程规范

    千次阅读 2020-04-11 14:02:34
    为了规范互联网软件产品开发项目管理过程,指导开展项目研发、管理等活动,缩短开发周期,提高软件开发质量,降低开发成本,提高开发效率和效益,制定软件开发流程管理规范。     本规范的作用...
  • 软件开发报价的计算方法

    千次阅读 2015-10-27 14:10:33
    1.软件开发价格估算方法  软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式: 软件开发价格 = 开发工作量 × 开发费用/人·月 1.1开发工作量  软件开发工作...
  • 1 关键字 为了便于搜索引擎收录本文,特别将本文的关键字给强调一下: python,互联网,自动化测试,测试开发,接口测试,服务测试,api测试,分层测试,分层... 同时能够将 Google 这样的大的互联网公司的软件开发模式向中
  • 软件开发需要学习什么

    千次阅读 2015-08-12 15:31:57
    IT行业人才市场前景看好随着市场经济的高速发展,中国IT业步入了一个人才稀缺的时代,那么大学生怎么样进行学习呢?...一个软件开发高手非常注重程序效率,而效率却往往与计算机硬件知识是紧密相关。 因此高等数学、离
  • 每天看很多博客,但是互联网上的东西太多太杂,往往很艰难才能找到几个自己喜欢的、自己需要的东西。 但是大量的阅读,也很可能会碰上两个问题: (1)知识离散化,不成体系 (2)有用的信息比例不高,造成...
  • 软件开发模式之敏捷开发(scrum)

    万次阅读 多人点赞 2018-08-08 19:18:20
    简介 这几年关于敏捷开发在互联网企业中越来越广泛被使用到,运用的比较多的当属scrum敏捷开发... 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。 在敏捷开发中,软件项目在构建初期被...
  • 移动软件开发定制那些事

    千次阅读 2019-03-19 16:17:41
    随着移动互联网时代的发展,近些年,移动应用开发或移动端软件开发成为软件行业发展的一大趋势。但对软件开发公司来说,移动应用开发相比普通的PC端软件系统开发更复杂。下面,为大家介绍下关于移动端软件开发的那些...
  • 项目管理和软件开发的边界

    千次阅读 2017-10-21 16:21:21
    程序员的人生就是和一个个的软件项目打交道的人生。 不能管理好项目过程的程序员不是好的开发人员。...所以如何区分好项目管理和软件开发的边界,统筹好二者才是一个好的互联网项目管理和软件开发过程。
  • 软件开发都需要哪些岗位参与?

    千次阅读 2019-04-08 20:21:33
    由于参照汽车ECU软件开发的各个岗位职责,这与互联网行业/软件行业的分工还是有些区别,但大体岗位一致,供大家参考。 角色介绍 根据岗位划分,软件开发的需要项目经理、系统工程师、硬件工程师、软件开发工...
  • 软件开发中的瀑布模型

    千次阅读 2017-07-04 14:30:02
    软件开发的流程 软件开发的流程有很多种模型,这里讲的一种软件开发的流程是瀑布模型  瀑布模型是将软件生存周期的各项活动规定为固定顺序的若干阶段工作,最终得到软件产品。 他的核心思想是按工序将问题化繁为...
  • 软件开发中的需求种类

    千次阅读 2018-01-10 17:32:13
     软件开发中都会有哪些种类的需求:  1、功能性需求  这是最主要也是最常见的需求。这类需求是要求实现某一项实际功能的,这个功能一般都会通过某种形式展现出来。一个软件最基本的就是功能性需求。在...
  • 互联网软件技术培训,靠谱吗?

    万次阅读 多人点赞 2021-01-30 18:59:34
    至于培训的效果外界众说纷纭,有人住高楼,有人在深沟,例如,2020年受到疫情影响,某位培训结束的朋友,所在班级至今有一半以上的同学未找到软件开发类工作,一言难以蔽之。 就我个人观点:技术培训未尝不是入门...
  • 软件开发项目流程 - 立项

    千次阅读 2017-06-16 12:11:09
    互联网行业从事开发工作三年余,虽然时间不长,但对于开发流程也有一定的认识,写一篇关于这方面的内容,以记录自己的成长历程。
  • 软件开发行业中,软件定制开发和软件外包是经常被提到的两个词,很多人可能对这两种的区别不是很清楚,或者很少人会去分析软件定制开发和软件外包的关系与差异,下面,给你简单的介绍一下。  软件外包  软件...
  • sdk - 软件开发工具包

    千次阅读 2016-12-05 23:52:17
    中文: 软件开发工具包 介绍: 软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。软件开发工具包是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的...
  • 互联网公司JAVA开发都使用什么工具?使用什么技术?
  • 软件开发中的QA主要做什么

    万次阅读 2019-01-02 21:28:22
    在项目开发过程,会由QA进行全程的监督,查看是否按照CMMI的标准进行软件开发。 文档是否齐备,开发基线是否明确,是否存在风险,BUG的削减是否能够完成目标之类的。 该职位的好处是加班没有那么多,有经验的QA能够...
  • 软件开发项目经理职责

    万次阅读 2018-03-22 16:55:37
     a)项目范围、项目质量、项目时间、项目成本的确认,软件开发项目经理岗位职责。  b)项目过程/活动的标准化、规范化。  c)根据项目范围、质量、时间与成本的综合因素的考虑,进行项目的总体规划与阶段计划。  d)...
  • 但作为一个软件开发人员,我觉得也是有必要了解一下。尤其是在某次面试过程当中,被面试官问起后,感觉回答的不是很好,导致面试扣分。所以今天,带着学习和分享的想法,一起扒一扒网关的秘密。 2.网关 2.1 什么是...
  • 软件测试与软件开发比较?

    千次阅读 2017-07-04 17:17:33
    软件测试和软件开发什么样的区别和联系?在职业转行的过程中,如何来考虑转行做软件测试还是软件开发?等等,诸如此类问题,一一解答比较麻烦,现专门写下如下博文一篇,从多个维度来比较软件测试与软件开发,具体...
  • 互联网公司的“敏捷开发”流程是怎么样的,每个职位的角色和分工是什么?】 前言================================================ 1.本回答从属于“IT修真院”收藏夹系列第二篇,第一篇是IT职业介绍。 第一...
  • 软件开发的8大主流方法介绍

    万次阅读 2018-11-20 11:21:35
    软件开发方法是一种使用早已定义好的技术集及符号表示习惯,来组织软件生产的过程。 软件开发需要严谨工作方法。软件开发的方法有很多,不同的开发方法适用于不同的软件项目,具体使用哪种方法,还需要根据软件情况...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 333,572
精华内容 133,428
关键字:

互联网软件开发是什么