开发流程_开发流程图 - CSDN
精华内容
参与话题
  • 一个完整的软件项目开发流程

    千次阅读 2018-02-28 09:24:16
    在我转产品之前,虽然我混迹IT行业,做过实施和售前,也跟研发打过交道,但我一直都不知道一个软件是怎么开发出来的。直面客户,扛着压力,在对程序一无所知的情况下,很容易产生一些想法:为什么产品的结果是这样?...

    在我转产品之前,虽然我混迹IT行业,做过实施和售前,也跟研发打过交道,但我一直都不知道一个软件是怎么开发出来的。直面客户,扛着压力,在对程序一无所知的情况下,很容易产生一些想法:为什么产品的结果是这样?为什么产品开发的速度不能再快一点?为什么程序员经常加班?他们都在忙些什么?测试是不是就是每天忙着点点程序看会不会报错?

    所以本文面向的对象是,适合和我当初一样对软件开发一无所知的IT从业者(或者有兴趣者),另外也欢迎我的程序员小伙伴和测试小伙伴,因为你们也懂这个过程,所以我们可以作更多探讨,这个过程中我们可能会发现大家对同一件事的理解并不一致,也许经过碰撞,我们能共创智慧的果实。

    一、开发流程图

    为使流程更清晰,本图省略了各环节的评审,如有更好的表现形式,欢迎提出建议。

    二、过程产物及要求

    本表主要列出开发阶段需要输出的过程产物,包括产物名称、成果描述、负责人及备注,即谁、在什么时间、应该提供什么内容、提供内容的基本方向和形式是什么。


    三、过程说明

    项目启动

    产品经理和项目干系人确定项目方向,产品型项目的干系人包括公司领导、产品总监、技术总监等,项目的话则包括客户方领导、主要执行人等。

    公司领导确认项目组团队组成,包括产品经理、研发项目经理、研发工程师、测试团队等。

    明确项目管理制度,每个阶段的成果产物需要进行相应的评审,评审有相应的《会议纪要》;从项目启动起,研发项目经理每周提供《项目研发周报》;测试阶段,测试工程师每周提供《项目测试周报》。

    产品经理进行需求调研,输出《需求调研》文档。需求调研的方式主要有背景资料调查和访谈。

    产品经理完成《业务梳理》。首先,明确每个项目的目标;其次,梳理项目涉及的角色;再来,每个角色要进行的事项;最后,再梳理整个系统分哪些端口,要有哪些业务模块,每个模块再包含哪些功能。

    需求阶段

    进入可视化产物的输出阶段,产品经理提供最简单也最接近成品的《产品原型》,线框图形式即可。在这个过程中还可能产生的包括业务流程图和页面跳转流程图。业务流程图侧重在不同节点不同角色所进行的操作,页面跳转流程图主要指不同界面间的跳转关系。

    产品经理面向整个团队,进行需求的讲解。

    研发项目经理根据需求及项目要求,明确《项目里程碑》。根据项目里程表,完成《产品开发计划》,明确详细阶段的时间点,最后根据开发计划,进行《项目任务分解》,完成项目的分工。

    研发工程师按照各自的分工,进入概要需求阶段。《概要需求》旨在让研发工程师初步理解业务,评估技术可行性。

    设计阶段

    UI设计师根据产品的原型,输出《界面效果图》,并提供界面的标注,最后根据主要的界面,提供一套《UI设计规范》。UI设计规范主要是明确常用界面形式尺寸等,方便研发快速开发。UI设计常涵盖交互的内容。

    研发工程师在界面效果图,输出《需求规格》,需求规格应包含最终要实现的内容的一切要素。

    研发工程师完成《概要设计》、《通讯协议》及《表结构设计》,及完成正式编码前的一系列研发设计工作。

    开发阶段

    研发工程师正式进入编码阶段,这个过程虽然大部分时间用来写代码,但是可能还需要进行技术预研、进行需求确认。

    编码过程一般还需进行服务端和移动端的联调等。

    完成编码后需要进行功能评审。

    测试阶段

    测试工程师按阶段设计《测试实例》,未通过的流程测试提交至Jira,分配给相应的开发人员调整。

    研发工程师根据测试结果修改代码,完成后提交测试,测试通过后完成。

    测试工程师编写《测试结果报告》,包括功能测试结果、压力测试结果等。

    测试工程师编写系统各端口的《操作手册》、维护手册等。

    系统上线

    与客户或者上级达成一致后,系统进行试运行,稳定后上线。

    最后,以上内容仅限于我所在公司,不代表绝对专业意见,不知道其他行业的IT小伙伴和我们是否一样呢,欢迎与我交流

    本文转自:人生如轻尘栖弱草

    以上内容为原创,转载请标明来源,谢谢。

    展开全文
  • 一个软件完整的开发流程介绍

    万次阅读 多人点赞 2018-06-21 14:21:02
    刚开始写博文的时候就应该将这个文章更新一下,虽然不是什么大牛,但是对于软件的开发流程还是比较了解的,毕竟大大小小做过了好几个项目了,今天就大概的说一下,用我做过的一个项目来说吧,写的不好的,请多多见谅...

    刚开始写博文的时候就应该将这个文章更新一下,虽然不是什么大牛,但是对于软件的开发流程还是比较了解的,毕竟大大小小做过了好几个项目了,今天就大概的说一下,用我做过的一个项目来说吧,写的不好的,请多多见谅,毕竟小生不才。

    开发流程百度的解释是:


    不是我懒得写,而是觉得写出来也不是自己的,还不如直接告诉你们我是百度的概念...但是下面的我们就不要百度了,因为百度说的太专业,让你看了很烦,最起码我是很烦(都是些什么玩意).


    进入正题

    我们分公司性质来说一个软件的开发流程,

    软件公司和非软件公司

    非软件公司

    需求分析-概要设计-程序编码-程序测试-软件交付-客户验收-码农维护

    软件公司

    需求分析-概要设计-详细设计-程序编码-程序测试-软件交付-客户验收-码农维护

    我们一步一步的说:

    需求分析

    一个软件没有出现之前,只是有一部分人有一个想法,我需要一个这样的东西(想要一个孩子了)用来管理我的什么什么,这个时候一个想法出现了,就会有这个需求,他会找软件公司需求分析师来商量,这个时候一个软件就怀孕了,相当于开始发育了.需求分析是听完要求以后会将大概的功能描述一下,用Word或者Axure画出一个简单的Demo给用户看,经过几次确认以后需求分析师会最后确认功能是不是完善的,确认了以后进行我们的下一步,概要设计

    概要设计

    这个功能主要是干嘛的呢?很多的公司觉得没必要,其实是很有必要的,这个就是相当于先规划一下怎么平安度过怀孕期,对于软件来说就是软件的处理逻辑,大概的一个流程是怎么走的,大概需要哪些模块,怎么运行,需要大概多少接口,后期怎么维护等问题,做这些干呢吗?为了下一步-详细设计

    详细设计

    有人说,详细设计是很麻烦的一步,其实不是很麻烦的一步,我觉得是最难的一步,详细设计主要是用来确认细节的,接口的名字啊,控制器的名字啊,多少个控制器,谁来调用谁,这个不可以有错,因为后期码农是需要看这个开发的,你怎么起名字,他们就怎么写,所以这里出错也就意味着编码的时候也会错,最后会有一份详细设计书出现,这个就是告诉孕妇具体吃什么,怎么吃,多少量。

    码农编码

    很多人觉得这个就是搬砖,看着设计书就直接写就可以了,理论是这样的,但是为什么还有很多的bug出现呢?很大一部分原因并不是设计的原因(当然也有可能),很大原因是不规范造成的,还有就是是不是一个项目组的人可以协作处理代码,怎么做可可以提高编码的效率,这些问题都是在编码的时候出现的问题。这个是相当于孕妇实施那一套套餐的时候具体是不是按规范来吃的。

    程序测试

    这一步是里面很重要的一步,测试,我们不可能说写好直接就给用户用了,这个是不现实的,我们需要做的是先给测试部门进行系统的测试,当然这个测试不是按照用户的想法来的,他们会很暴力,举个栗子,一个按钮,正常的用户使用的时候会直接点击一次,看到效果就可以了,但是测试的时候不是,他们会疯狂的点击,知道他们觉得这个世界上不会有人比他们暴力的时候他们会停止,当然这是一个好的测试人员,很多的测试不会是这样的,他们觉得正常使用没问题就是没事的,其实一个软件好不好,很大一部分在于测试人员的测试力度。最后写一份测试报告就可以了。

    软件交付

    测试结束以后没有任何的问题的话,就可以写安装手册了,这个其实就是用户使用指南。

    客户验收

    交付后客户简单的测试以后觉得是和自己想的一样的,就收货,交钱.

    码农维护

    是不是验收以后就没事了呢?当然不是,一个软件很多时候是在用一段时间以后才会出问题的,所以会一直需要人来维护他们,当然不是说只是出问题才会维护的,主要的原因是软件会根据不同的需要更改功能,这样的过程也是维护的过程,QQ已经更新多少代了,是不是,这也是一个维护的过程。

    项目重构

    这个是一个项目如果出现了新的技术,功能没有改变的时候,为了用户体验,例如之前是SSH写的,但是运行的速度很低,用SpringBoot,大家都在用,用户反映很好,那么这个时候就需要项目重构了,用新的技术将之前的功能重新实现。

    基本那就是这些了,另外细心的人也看到了非软件公司是没有详细设计的,这个解释一下,为什么呢?很简单,其实详细设计是和耗费时间的,非软件公司的人不会花费这个时间在设计上,他们就是直接告诉你需求,码农只需要直接编码就可以了,一般这样的对你用什么技术,什么框架是没有要求的。




    展开全文
  • 开发流程

    2020-05-06 07:57:43
    1.在实际开发过程中,遇到的项目大致分为两种 外包: 外包型的项目 自研: 公司本身的产品 2.和开发相关的岗位 项目经理 当前项目的甲方是其他公司或者企业,做为甲方和本方程序员中间桥梁,...

    一.工作的一些基本概念

    1.在实际开发过程中,遇到的项目大致分为两种
    • 外包:
      • 外包型的项目
    • 自研:
      • 公司本身的产品
    2.和开发相关的岗位
    • 项目经理
      • 当前项目的甲方是其他公司或者企业,做为甲方和本方程序员中间桥梁,对整个开发的周期时间进行把控
    • 产品经理
      • 当前项目甲方就是公司本身,产品经理主要是对公司本身的产品提供市场需求,进行市场调研
    3.外包的概念
    • 项目外包
    • 人力外包

    二.开发流程

    需求设计->实际开发->部署测试->上线运营

    1.需求设计
    • 需求设计书:
      • 描述当前项目具体要实现的功能(和技术无关)
    • 概要设计文档:
      • 原型图
      • 数据库设计文档
      • UML建模
    • 详细设计文档
      • 实现的技术细节,伪代码
    • 接口说明文档
      • 服务端开发者提供,对客户端调用服务的接口
      • url,type,参数列表,请求案例,返回结果类型,返回案例,返回参数说明
      • Swagger可以直接在controller上面添加注解,然后通过命令直接生成接口
    实际开发
    • 架构搭建
      • 通常由架构师完成,或者技术总监,团队负责人
      • 然后上传到Git或者SVN上
    • 团队人员checkout,分模块开发
      • 分模块开发(领功能/接口,方案的评审,通过以后再进行代码的编写)
    • 单元测试,交叉测试
    • 提交SVN/Git
    • 部署测试环境(人工/自动化部署)
    部署测试
    • 分类
      • 黑盒测试:功能测试,点就可以了;
      • 白盒测试:压力测试,边界测试,性能测试,需要脚本自动化测试工具等…
    • 在设计需求文档的时候就根据需求设计文档,编写测试用例
    • 测试人员根据测试用例开始逐条测试测试环境部署的项目
    • 测试人员会将测出的BUG提交到一个BUG系统
    • 开发人员根据自己的bug列表进行复现和修改
    • 测试完成
    上线运营
    • 维护阶段

    项目分析

    P2P理财平台

    什么是P2P理财?

    P2P理财就是通过互联网理财,点对点网络借贷,是指公司为中介机构,把借贷双方法对接起来实现各自的借贷需求,借款方可以是无抵押贷款或是有抵押贷款,二中间一般是收取双方或者单方的手续费为盈利目的的或者是赚取一定利息差为盈利目的的新型模式

    项目结构分析

    对于P2P理财平台来说,功能模块并不复杂,其核心就是"投资赚收益",核心业务就是投资,资产管理和放贷,还款

    一般现在所有的P2P项目政府都强制要求有银行监管资金流,所以项目大致的结构可以分为两部分,一部分就是公司开发的理财平台,一部分就是对接监管银行的存管系统

    具体流程通常是平台掌握业务信息,存管系统掌握资产现金

    核心业务
    用户注册实名开户
    1.用户前端

    1)注册->3)实名页面并绑卡->4)填写信息

    2.业务平台

    2)注册平台账户->5)获取用户实名信息,银行卡信息调用存管系统接口
    ->8)未通过->9)获得错误返回->10)认证未通过

    3.存管系统(银行端) webService调用

    武汉众邦银行

    ->6)接受用户信息,执行开户流程->7)认证->8)通过->9)建立存管系统账户->10)绑定资金出入银行卡->11)获得开户结果->12)实名开户成功

    业务细节

    1.用户在业务平台和存管系统分别开立账户,开立存管系统账户的活动可以隐藏在实名绑卡的步骤中完成,一般情况下,这一步骤需要跳转到银行页面来完成,也有部分银行彻底将所有业务的步骤均隐藏在平台的页面内,全部的数据通过接口方式传递(平台->银行),在一定程度上提升了体验,可以做到用户的无感知;

    2.实名信息的认证,同样,不同银行有不同的认证方式,有的银行依托公安机关的户籍系统(比如国政通),仅需进行身份证认证即可完成开户,开户完成后由用户进行资金出入银行卡的绑定

    充值
    1.用户前端

    1)用户选择充值->4)跳转到实名开户流程
    ->7)充值验证页面
    ->11)结果展示

    2.业务平台

    2)验证是否绑卡->3)未绑定
    ->5)接收到用户充值的金额
    ->10)返回充值结果并返回给用户

    3.存管系统(银行端) webService调用

    ->3)已绑定->4)跳转到实名开户流程
    ->6)调用存管银行的支付接口
    ->8)支付验证->9)用户账户金额增加

    业务细节

    判断是否绑卡的步骤需要根据存管系统要求来设计可能有的银行并不会给平台返回用户是否绑卡信息,name这一步就需要存管系统来判断,业务系统只需要进行充值转发

    标的的管理

    1.标的是合同当事人双方权利和义务所共同指向的对象,这里表示一个投资产品
    2.标的的管理可以分为 标的发布 和 标成和出账 两部分
    3.标的发布时,存管系统接入较少,仅仅只需要业务平台将标的信息发送给存管系统存储管理即可
    4.成标和出账,涉及较多资金操作,需要和存管系统交互

    投资
    1.用户前端

    1)选择投资->3)展示标的列表->4)选择标的进行投资
    ->11)投资结果反馈

    2.业务平台

    ->2)查询标的列表
    ->5)验证标的是否投满
    ->7)冻结失败->9)记录结果并返回给用户->10)如果可投金额为0,调整标的状态

    3.存管系统(银行端) webService调用

    ->6)冻结用户账户金额
    ->7)冻结成功->8)减少用户资金

    业务细节
    标的的金额验证过程需要保证数据一致性的安全性,防止溢标,类似于秒杀

    提现
    展开全文
  • 项目开发流程

    千次阅读 2019-06-18 16:23:51
    注:方框为项目流程步骤,实线箭头代表开发流程方向,虚线箭头代表两个步骤之间存在多次反复确认的过程。 流程图各环节点说明 业务调研 参与人员:产品经理、业务人员(或用户) 环节任务:产品经理了解业务人员...

    应BOSS要求,整理一个项目流程,便于各节点人员了解并知悉自己的职责。

    略粗糙,供参考

    项目开发流程

    注:方框为项目流程步骤,实线箭头代表开发流程方向,虚线箭头代表两个步骤之间存在多次反复确认的过程。

    流程图各环节点说明

    1. 业务调研

    参与人员:产品经理、业务人员(或用户)

    环节任务:产品经理了解业务人员提出需求的项目背景、方向,进行业务梳理,对项目功能阐述,制作思维导图等。

    1. 需求设计

    参与人员:产品经理

    环节任务:根据业务调研产生的用户需求,针对不同的菜单、角色、具体功能点进行设计体现到需求文档上,制作需求文档、原型图、流程图等。

    未确定,不明确,没把握的需求需要跟业务人员反复确认,写在需求设计文档上的需求须是明确的。

    1. 需求评审

    参与人员:产品经理、业务人员、开发人员、测试人员

    环节任务

    业务人员,确认需求逻辑正确,符合自己预期设想;

    开发人员,熟悉新需求,并对需求进行梳理理解,查看需求设计是否在项目设计上存在有冲突、未完善等地方。评审后整理需求设计存在的问题,进行需求设计调整,多次评审确认,由产品经理交付给开发人员进行开发。

    1. 制定开发计划

    参与人员:开发人员

    环节任务了解开发难度,评估开发工作量,任务分解,拆分模块,功能点划分,制作开发计划,完成的时间节点。

    1. 系统集成测试

    参与人员:测试人员、开发人员

    环节任务项目打包,发布版本到测试服务器,测试人员根据需求文档测试项目,数据是否显示正确,数据是否有缺失,校验是否通过及流程是否通畅等,未通过的流程测试提交到禅道,分配给相应的开发人员调整。

    开发人员根据测试反馈修改代码,完成后再次提交给测试,直到测试通过。

    1. 产品验收

    参与人员:产品经理

    环节任务根据需求文档进行验收,是否程序实现与需求设计无差。

    1. 项目实施

    参与人员:产品经理、业务人员

    环节任务

    项目打包发布正式环境,

    产品经理整理此次项目上线的改动记录,比如实现了哪些功能,做了哪些变更,告知业务发起人,

    产品经理编写用户手册,给业务人员进行电脑使用培训等。

    1. 上线后系统维护与运维

    参与人员:业务人员、产品经理、开发人员

    环节任务业务人员使用过程中出现的系统异常,数据缺失等bug性问题,反馈给开发人员,开发人员及时修复,反馈给产品经理进行验收,发布上线,由产品经理或开发人员告知用户问题已解决;

    业务人员在使用过程中对系统产生新的需求或需求变更,由产品经理进行需求确认,参照从1步骤开始,进行开发排期。

     

    泳道图:

    展开全文
  • 软件开发流程简介

    千次阅读 2017-07-17 01:05:42
    ”,其定义过程如下图所示。    此产品需求定义包括:软件+硬件。   2. 结构化设计方法的基本思路  按照需求,将软件逐级细化,分解为不必再分解的的模块,每个模块完成一定的功能,为一个或多个父模块服务...
  • web项目开发的一般流程

    万次阅读 2018-07-16 11:28:34
    文档编纂各个阶段过程都是有文档的,需求有需求的文档,设计有设计的文档,测试也有测试的文档. 首先来看需求确定:需求确定通过各种手段确定系统的功能与性能 功能:用户维护、物料维护…. 性能...
  • 软件项目开发基本流程详解

    万次阅读 2018-03-15 09:30:29
    软件项目开发流程图是用来详细描述了软件在开发过程中产品调研、设计、开发、测试等各个阶段中各个角色,包含产品经理、研发、测试、用户等需要处理的事情,以及在不同阶段可以达到哪种效果。那么,一款软件从研发到...
  • 软件开发基本流程概述

    千次阅读 2019-05-13 10:12:40
    在很多人看来,计算机软件开发主要就是开发人员的工作,只要把想法告诉他们,他们就能把软件开发出来,这种情况是存在的,要不这个软件非常简单,要不有这样能力的开发人员综合能力是非常强的,但这种认知也是片面的...
  • 软件开发基本流程【一】

    万次阅读 2019-02-14 10:45:49
    它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写...
  • 1)确定项目需求--------拿下一个项目 2)编写《需求说明书》--------不涉及技术,只涉及业务需求 3)编写《概要涉及说明书》-------涉及技术的宏观性内容 4)编写《详细涉及说明书》--------相对于伪代码 ...
  • 如何开发一款游戏:游戏开发流程及所需工具

    万次阅读 多人点赞 2018-01-16 08:48:17
    本文来自作者 goto先生 在 GitChat 上分享 「如何开发一款游戏:游戏开发流程及所需工具」,「阅读原文」查看交流实录。「文末高能」编辑 | 哈比游戏作为娱乐生活的一个方面,参与其中的人越来越多,而大部分...
  • IT项目开发流程

    万次阅读 多人点赞 2019-07-17 21:59:42
    项目开发流程: 一、需求分析: 相关系统分析员向用户初步了解需求,然后用相关的工具软件列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以...
  • 嵌入式软件开发流程

    万次阅读 2019-06-02 15:07:16
    根据使用的开发工具套件不同,软件开发流程会有差异,但主要步骤大致相同。对于使用宿主机(PC)的集成化开发环境,软件开发流程一般包括创建项目、添加文件、编译连接、下载调试等步骤,如下图所示。 图1:...
  • Android蓝牙开发—经典蓝牙详细开发流程

    万次阅读 多人点赞 2018-07-25 15:43:09
    Android蓝牙开发前,首先要区分是经典蓝牙开发还是BLE(低功耗...本文是针对经典蓝牙开发的,如果是BLE(低功耗)蓝牙开发,可以看Android蓝牙开发—BLE(低功耗)蓝牙详细开发流程 开发流程 开启蓝牙 扫描蓝牙 ...
  • 什么是敏捷开发流程

    千次阅读 2019-05-11 19:34:29
    【什么是敏捷开发流程 】 这个词猛一听起来感觉很高大上,其实现在已经是主流的团队开发流程 了。 一. 先说一下官方的定义: 敏捷不是指某一种具体的方法论、过程或框架,而是一组价值观和原则。符合敏捷价值观....
  • 嵌入式产品开发流程

    万次阅读 2017-04-21 10:11:14
    但是,与普通电子产品相比,嵌入式产品的开发流程又有其特殊之处。它包含嵌入式软件和嵌入式硬件两大部分,针对嵌入式硬件和软件的开发,在普通的电子产品开发过程中,是不需要涉及的。嵌入式产品的研发流程具体如下...
  • [敏捷开发]研发管理 开发过程管理

    千次阅读 2020-04-29 16:05:35
    开发过程管理,主要面向开发人员的管理。其核心目的,是通过一个项目管理软件,来管理不同项目,然后通过项目的里的工作项,了解开发人员的工作量,效率,从而来管理开发人员,合理调配开发人力。 名词解释 项目...
  • 游戏产品开发流程

    千次阅读 2019-10-14 17:25:58
    游戏产品开发流程 通常开发一款新游戏大体上会按照如下流程来进行: 1)概念阶段– Concept 主策根据产品创意,确定游戏策划草案,包括游戏的形态、游戏概述、游戏核心玩法、市场定位、特色及卖点等。然后,...
  • 软件开发过程模型综述

    千次阅读 2018-10-28 19:25:44
    软件开发过程模型综述 软件开发过程模型的含义; 软件过程模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发过程,明确规定要完成的主要活动、任务和开发策略。   各种典型软件开发过程...
  • 1.一个WEB应用的开发流程 先说项目开发过程中团队人员的分工协作。  一、人员安排  毕业至今的大部分项目都是独立完成,虽然也有和其他同事协作的时候,但自认为对团队协作的了解和认知都还有所欠缺。很清楚...
1 2 3 4 5 ... 20
收藏数 2,661,477
精华内容 1,064,590
关键字:

开发流程