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

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

一、开发流程图

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

开发流程图

二、过程产物及要求

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

开发过程产物

三、过程说明

(一)项目启动

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

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

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

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

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

(二)需求阶段

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

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

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

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

(三)设计阶段

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

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

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

(四)开发阶段

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

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

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

(五)测试阶段

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

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

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

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

(六)系统上线

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

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

原文链接:

https://blog.csdn.net/pingdouble/article/details/78497262

软件开发软件开发,到底怎么开发出来的?相关推荐

  1. 程序员开发软件的意义到底在哪?

    有一篇热文<写了 8 年的代码,做过的项目都下线了,程序员的意义在哪里!>,作者 8 年工作和业余时间开发几十个项目,几乎都关闭了. 想当初,很用心的去开发每一个项目:如今,这些项目只能一 ...

  2. 软件工程到底能不能教会不怎么写程序的人开发软件?

    我的观点是,不能 不能是因为,软件工程的开发需要一定的写程序的基础和经验,不可能不怎么积累经验就能够去开发软件,软件的初期开发靠的就是我们的积累和经验,凡事都是学中做,做中学,竟然都不怎么写程序,&q ...

  3. 为什么那么多公司在用快速开发平台开发软件?下表说明了一切

    快速开发平台是近年来比较流行的一种软件开发工具,她是一种配置型开发工具,不需要编程,直接配置一下业务参数就可成为一个应用系统,且一次配置,BS(WEB).CS(WIN).APP等均可以同时生成,多种方 ...

  4. delphi还有人用吗?delphi过时了吗?为什么还有人使用Delphi开发软件?一文说清Delphi的领先一个时代的开发工具DNA

    我正在和一个不太熟悉Delphi的人聊天.他问Delphi到底是什么使很多人继续喜欢它?delphi还有人用吗?delphi过时了吗?为什么还有人使用Delphi开发软件?我以为我会分享我的答案,看看 ...

  5. ZYNQ之路--搞清楚Xilinx开发软件之间的关系

    各位大佬晚上好,最近刚刚开始学习ZYNQ-7000系列的开发,很快就遇到了第一个困难:Xlinx的开发软件,实在是,太,多,了!我很疑惑什么 Vivado,VivadoHLS,Vitis,Vits A ...

  6. 一个软件公司需要多少前端_开发APP软件需要多少钱?

    简介:开发APP软件需要多少钱?很多人不太理解,为什么做一个在手机上买东西的app,就像网站一样,找人外包开发价格怎么要花十几万?app开发成本是如何计算的?到底需要多少钱呢?app的开发价格并没有一 ...

  7. 开发软件项目为什么要写项目规格书

    为什么软件项目开发要写规格书呢 开发软件项目为什么要写规格书 为什么人们不写? 没有规格书的项目什么样子 ? 有规格书的项目是什么样子? 开发软件项目为什么要写规格书 以前内容,纯是个人的观点,全局默 ...

  8. 为什么那么多公司在用快速开发平台开发软件?

    快速开发平台是近年比较流行的一种软件开发工具,以编码少,效率高而著称.使用快速开发平台可以直接配置业务参数就可以生成一个业务系统,同时可以在BS(WEB).CS(WIN).APP等自动生成,多种方式均 ...

  9. QMS-云质-质量管理软件-QMS软件-应该自己开发,外包还是购买软件产品?

    - 云质QMS 原创文章,转载请注明来源- 阅读关键词:QMS,质量管理软件,质量软件,质量软件品牌,质量软件厂商,企业数字化转型,数字化质量管理平台, 企业在明确要上质量管理系统(QMS)后,必然要 ...

  10. JAVA软件工程师必备开发软件搭建、破解、注册

    JAVA软件工程师必备开发软件搭建.破解.注册 java: 按一个Editplus也行,按一个eclipse也行,Editplus可以让你更好的记住代码,掌握语法规则,eclipse自带联想功能和检测 ...

最新文章

  1. POJ1067_取石子游戏_威佐夫博弈
  2. maven工程插件配置
  3. 召唤超参调优开源新神器:集XGBoost、TensorFlow、PyTorch、MXNet等十大模块于一身...
  4. 曾经我也迷茫,你还在迷茫吗?写给像我一样的在校计算机专业学生作者:Cat_Lee 来源:博客园 发布时间:2009-05-30 20:25 阅读:1104 次 原文链接 [收藏]
  5. SpringBoot 集成 clickhouse + mybatis-plus 配置及使用问题说明(含建表语句、demo源码、测试说明)
  6. boost::math模块使用二项分布复制 NAG 库调用的测试程序
  7. 每日程序C语言47-找到年龄最大的人并输出
  8. 可能是全网首个前端源码共读活动,诚邀加入学习
  9. python中list是什么类型_Python中的list数据类型
  10. Vue.js学习总结(1)——Windows下Vue.js开发环境搭建
  11. java 线程的理解_浅谈对多线程的理解(一)
  12. 添加Maven(mvn)、sbt的国内仓库
  13. 【个人笔记】OpenCV4 C++ 图像处理与视频分析 01课
  14. linux重启oracle 各种方法
  15. python计算正方形、立方体、圆、球的面积和体积
  16. Java的8种基本数据类型
  17. 摄像机镜头的视场角、焦距、光圈和景深的关系
  18. feign调用不通问题,JSON parse error: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r
  19. C#学习笔记 正则表达式
  20. 用python批量修改图片名称!超级简单

热门文章

  1. python legend函数_legend()函数
  2. FATE框架实战(一)
  3. MATLAB | 那些你不得不知道的MATLAB小技巧(二)
  4. ISO14000系列标准特点(转载)
  5. Tomcat架构--知其然,知其所以然
  6. 网络字节顺,大头,小头
  7. 如何快速阅读英文文献
  8. redis 使用 及 获取当前时间到今天截止的秒数
  9. 递归神经网络之父讲述现代人工智能简史
  10. rpm 与deb转换