精华内容
下载资源
问答
  • 互联网软件开发是什么
    千次阅读
    2019-07-08 11:30:44

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

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

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

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

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

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

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

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

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

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

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

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

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




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






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

    展开全文
  • 互联网公司的完整开发流程是怎样的?

    (一)前言

    对于很多还没进入社会或者之前没有在互联网公司呆过的人来说,会很好奇互联网企业的开发流程是怎样的,正好借着我最近这段时间的经历写下这一篇介绍开发流程的文章。

    (二)开发流程

    对于有自研系统的企业,程序员往往是和产品经理在battle。整体的开发流程涉及到的人员角色有:项目经理、产品、设计、后端开发、前端开发、运维、测试。

    2.1 需求调研

    首先是需求调研阶段,这阶段由项目经理和产品经理全权负责,产品经理会针对老板或者客户提出的要求,进行需求调研,功能要不要做,要怎样做。最后整理出一套需求文档,和整个项目的项目经理。

    2.2 产品文档产出

    需求调研结束后,产品需要将调研到的需求整理成产品文档。

    2.3 产品文档评审

    这里是需要所有人员参与的第一个会议,产品会聚集所有项目人员进行产品文档评审,主要是介绍产品要做什么,要怎么做,每个页面要实现什么功能。在这个阶段往往是产品和开发人员争论最大的阶段。产品的思维有时会天马行空,想的很美好,但是在技术人员眼里实现极其不靠谱,或者无法实现。在这段battle过程中,有些需求会被砍,有些功能会做调整。

    2.4 设计出设计稿

    产品文档评审结束并二次修改完成后,设计会根据产品文档出具体的设计稿。

    2.5 设计评审

    这里是需要全项目人员聚集的第二个会议,设计会根据设计稿并结合产品文档介绍每一个功能点,这里如果和产品预期有差异,设计需要根据产品的想法进行调整。

    2.6 技术方案产出

    设计完成后开发人员需要根据产品以及设计稿去思考技术选型,最后给出一份比较完整的技术方案,这一步往往是在产品文档确定后和设计同步进行。这一步也是整个开发流程中技术人员最难的时候,对于核心内容需要对多种技术进行选型,对后端来说:数据库用什么?是否引入缓存?现有选型能否满足数据量和性能的需求?都需要考虑在内,接着要把表结构设计出来,接口设计,形成一份完整的技术方案文档。前端也同样需要给出实现方案。

    2.7 技术方案评审

    技术方案产出之后,接下来就是对技术方案进行评审,这一次参会的是技术人员,在这个阶段往往技术负责人会参与进来一起讨论技术的可行性以及稳定性。在技术方案评审中,前后端要针对接口达成一致,后续基本上以这一次定下的接口分别开发。技术方案评审后需要前后端分别给出开发的排期,没有问题后进入开发联调环节。

    2.8 开发联调

    接下来就是前后端分别开发,并在deadline前联调,并将联调完成后的项目发到测试环境中。

    2.9 测试

    测试人员会在test环境对系统进行测试,并将测试结果反馈给开发人员,开发人员针对测试提出的bug进行修复。测试需要对修改后的问题进行再次测试。

    2.10 线上发布

    待测试没有任何问题后,由运维人员协助开发将test环境上的系统版本发布到生产环境。

    2.11 版本迭代

    一般来讲如果没有重大bug,在一段时间内都不会动生产环境的系统,接下来的改动会按照版本进行迭代,这里刚好和第一步形成了一个闭环。

    (三)总结

    总体来讲,开发人员越多的公司往往整体的流程会越规范,对企业来说肯定是好事,但对个人来说也要看两面。流程越来越规范,能让你在开发方面的能力越来越强,但让你遇到问题解决问题的场景也就变少了,运维人员会帮你解决运维上的问题,产品会帮你对需求。如果你是在初创公司或者是面向客户的软件行业,往往是一个人一手抓,也能锻炼自己各方面的能力。

    具体如何选择,看你自己对未来的规划如何。我是鱼仔,最近真的好忙,我们下期再见。

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

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

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

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



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


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


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

    展开全文
  • 浅谈软件开发的四大要素

    万次阅读 2021-11-04 18:49:21
    这学期在上《软件质量保证与测试》这门课,对于软件测试前的前导课,软件开发的过程有所感悟,在此记录一下; 对于软件开发的过程,不可谓不熟悉,真的是爱恨交织,第一次自己头铁当队长做服创,也没有学长学姐带着...
  • 软件开发需要学什么

    万次阅读 多人点赞 2019-05-20 17:07:37
    很多想学软件开发的同学都在问学软件开发需要学什么,今天小编特意咨询了北大青鸟信狮教育软件开发专业的老师,老师是这样说的:软件开发目前涵盖的领域还是比较广泛的,不同的开发方向需要掌握不同的知识结构,开发...
  • 在移动互联网时代,这里就以App软件开发为例,为大家详细介绍APP软件开发流程: 开发一款软件,不仅仅是一个单纯的敲代码阶段,一个详细的App开发流程通常分为: 1、软件开发方可与客户进行沟通,确定项目的可行性...
  • 软件开发中的角色分工

    千次阅读 2022-04-22 14:37:23
    软件开发中的角色分工 文章目录软件开发中的角色分工一、项目经理二、产品经理三、UI设计师四、架构师五、开发工程师六、测试工程师七、运维工程师 一、项目经理 对整个项目负责,任务分配,把控进度 二、产品经理 ...
  • (四)工作内容的区别 在软件行业中,作为Java开发工程师你可能还需要会运维、软件安装、前端、测试,甚至是和客户的交流之道。 在互联网行业中,往往职责区分是比较明显的,后端一般情况下只会干后端的活,运维、...
  • 软件开发过程模型——喷泉模型

    千次阅读 2021-10-16 23:19:26
    软件开发活动的多样性决定了软件开发过程模型的多样性,开发技术和工具的发展页推动着软件开发过程中模型的更行和发展。选择一个合适的软件开发过程模型,对于软件开发的质量和效率有着重要的意义。 一、喷泉模型的...
  • 什么互联网项目适用敏捷开发

    千次阅读 2018-10-09 17:08:50
    上面一篇文章我们提过为什么分布式需要做前后端分离,今天这篇我们从开发模式来详解为什么...瀑布开发模式是由W.W.Royce在1970年最初提出的软件开发模型,瀑布式开发是一种老旧的计算机软件开发方法。 瀑布模型...
  • 软件开发常见的开发方向

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

    千次阅读 2022-01-11 16:07:58
    互联网不断发展,诸多APP软件出现在人们生活中,由于人们生活节奏不断加快,很多人的工作难免需要应酬,这对于有车一族而言十分不便,为了给人们生活提供方便,代驾APP软件开发出现在人们生活中,用户在线即可寻找...
  • 软件开发都需要哪些岗位参与?

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

    千次阅读 多人点赞 2019-12-23 20:58:00
    这种方式颇为适合大型组织的软件开发模式,由高级工程师设计出基本的模型与软件架构,生成对应的方法名称,以及其所需要的返回结果。这种模式事实上在过去已经有了,剩下的就是普通的开发人员去填充对应的代码。再...
  • 软件开发部门人员考核表

    热门讨论 2010-05-13 09:45:23
    软件部人员考核表,包含了:部门经理、项目经理、开发人员、测试人员等岗位
  • 现在以手机app为代表的移动互联网已经超过传统的PC,成为企业营销创业赚钱不可忽视的重要渠道,手机软件开发app成为传统企业转型的关键。app开发具体需要哪些流程和周期呢?今天给大家分享一下app开发流程的6个步骤...
  • 软件开发流程规范

    万次阅读 多人点赞 2020-04-11 14:02:34
    为了规范互联网软件产品开发项目管理过程,指导开展项目研发、管理等活动,缩短开发周期,提高软件开发质量,降低开发成本,提高开发效率和效益,制定软件开发流程管理规范。     本规范的作用...
  • 互联网公司的“敏捷开发”流程是怎么样的,每个职位的角色和分工是什么?】 前言================================================ 1.本回答从属于“IT修真院”收藏夹系列第二篇,第一篇是IT职业介绍。 第一...
  • 软件测试是互联网技术中一门重要的学科,它是软件生命周期中不可或缺的一个环节,担负着把控、监督软件的质量的重任.....
  • 但作为一个软件开发人员,我觉得也是有必要了解一下。尤其是在某次面试过程当中,被面试官问起后,感觉回答的不是很好,导致面试扣分。所以今天,带着学习和分享的想法,一起扒一扒网关的秘密。 2.网关 2.1 什么是...
  • 如今互联网+时代,app开发异常火爆,很多人都想自己自学app开发,但是学习APP开发并非是一件容易的事,例如目前主流操作系统-IOS开发。 如果你想开发一个ios app,需要有一定的编程基础,学会各种IOS APP开发环境的...
  • 项目管理和软件开发的边界

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

    千次阅读 2021-11-12 17:56:35
    软件测试和软件开发互联网行业都是非常吃香的岗位,针对于这个问题,要看大家的学习能力了,软件测试学习起来相对简单些,软件开发要比较难一点,具体来看看下面的详细介绍吧。  软件测试培训分享:软件测试和...
  • 软件开发中产品与项目区别

    千次阅读 2018-06-17 14:09:24
    然而有很多人在软件行业待了多年,却可能从头至尾都没有整明白软件开发这个行业。现在我们就来聊一聊软件开发行业的一个概况。随着社会的发展,人们对于科技的依赖性越来越严重,这也就意味着需要我们程序人员开发...
  • 希望我能帮助你:关于软件开发的建议

    万次阅读 多人点赞 2021-02-23 12:52:10
    文章目录关于学习方法、动手能力和职业发展给A同学的话给B同学的话给C同学的话关于软件发布工程实践的要求磨刀不误砍柴工:设计先行软件开发的分工我是谁 题图来源:...
  • 软件开发项目流程 - 立项

    万次阅读 2017-06-16 12:11:09
    互联网行业从事开发工作三年余,虽然时间不长,但对于开发流程也有一定的认识,写一篇关于这方面的内容,以记录自己的成长历程。
  • 互联网软件与传统软件在开发流程、开发周期、系统架构、基础软硬件、使用用户、团队组成等方面都存在很大差异。相应地,对于这两种不同的软件来说,测试也存在很大差异,本 Chat 将主要介绍互联网软件与传统软件的...
  • 一文带你搞懂什么是测试开发

    千次阅读 2019-10-15 10:35:31
    需要说明的是,原文发表于作者的公众号中,文章篇幅虽长,但内容朴实、且能帮助读者进一步理解测试开发工作,请读者耐心品完~ 01 开始前说点什么 1. 自我反省 公众号开通了也有两年多了,除了刚开通的那段时间发文...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 378,836
精华内容 151,534
热门标签
关键字:

互联网软件开发是什么