zoukankan      html  css  js  c++  java
  • 系统/产品开发流程

    本文列举一般软件开发流程、互联网产品开发流程以及过往负责过的系统开发流程。

    主要目的在于记录系统/软件/产品从0到1的过程,总结自己的方法论,每个点以后有机会再扩展。


    软件开发流程

    1、需求调研

    • 初步了解用户需求,罗列系统功能模块;

    • 系统功能需求文档,初步给出相关界面及功能;

    • 再次与用户确认需求,

    2、概要设计

    • 系统设计

      • 处理流程

      • 组织结构

      • 模块划分

      • 功能分配

      • 接口设计

      • 运行设计

      • 数据结构设计

      • 出错处理设计

    3、详细设计

    • 每个模块主要算法、数据结构、类的层次结构、调用关系

    • 各层次中每个程序的设计考虑

    • 保证需求完全分配给整个软件

    • 足够详细,能根据详细设计文档进行编码

    4、编码实现

    • 根据详细设计文档,编写程序实现各功能模块,实现对系统功能、性能、接口、界面等要求

    5、测试

    • 对每个功能、接口做好测试

      • 单元测试

      • 功能测试

      • 性能测试

      • 容灾测试

    6、交付

    • 整理提供安装文档、使用文档、需求报告、设计报告、测试报告等

    • 使用文档:

      • 各项功能的使用流程、操作步骤、相应业务介绍、特殊提示和注意事项等方面的内容,在需要时还应举例说明

    7、验收

     


    互联网产品开发流程

     

    主要分为五个阶段:项目启动,需求阶段,产品设计,开发上线,版本迭代

    1、立项 启动 评估

    立项:确定要做一个什么产品

    启动:确定项目相关人员,项目需求,产品原则,时间排期

    评估:评估产品机会

    2、需求阶段

    • 需求收集

    来源:老板提出,项目需求,产品优化,业务需求,用户需求,运营需求,增长需求,商业化需求等

    方式:头脑风暴、用户调研、用户反馈、竞品分析和数据分析

    • 市场分析

    • 盈利分析

    • 需求分析&筛选

    • 需求优先级评审

    3、产品设计

    战略层:产品目标及其目标用户(做什么、为谁而做?) 范围层:功能及其内容需求整合(需要做哪些?) 结构层:交互设计及其信息架构(怎样做?) 框架层:界面设计、导航设计和信息设计(怎样做?) 表现层:视觉设计(要做成什么样子?)

    产品设计过程:

    1. 将需求归纳整理成用户任务

    2. 多个用户任务交织成信息架构

    3. 将信息架构具象化为页面流程图,并通过界面草图的形式表达出来

    4. 接着根据设计原理,让界面草图进化为页面原型

    5. 最后加点调料,通过情感化设计和游戏化设计,赋予产品魔力

    4、开发上线

    • 开发排期

    • 项目跟进

    • 进度管理

    • 团队协作

    • 项目管理

    • 需求管理

    • 测试验收

    5、版本迭代

    流程:

    1. 用户教育

    2. 销售培训

    3. 推广方案

    4. 运营策略

    5. 产品定价

    6. 发布公告

    7. 发布

    迭代

    1. 发现问题&需求收集

    2. 用户反馈

    3. 功能改进

    4. 数据分析

    5. 运营策略调整

    6. 数据挖掘


    以往经验的流程

    基于开源项目的二次开发流程

    • 需求调研

    • 方案对比与选择

    • 详细设计文档

      • 架构设计

      • 核心功能实现方法

    • 系统实现

      • 工期、计划确认

      • 开发资源确认

      • 分任务进行开发

        • 单元测试

        • 功能测试

        • 性能测试

        • 容灾测试

    • 测试服发布

      • 开发过程遇到不确定及时与用户确认改正

    • 架构文档、接口文档、使用文档、部署文档整理

    • 正式服发布

    • 后续

      • 迭代维护

      • 稳定性保证

        • 监控告警


    参考

    https://zhuanlan.zhihu.com/p/26870041

    https://zhuanlan.zhihu.com/p/132285862

  • 相关阅读:
    windows 2008 server下载地址
    C#多线程强制退出程序
    MyBatis insert 返回主键的方法(oracle和mysql)
    JVM内存管理:深入Java内存区域与OOM、深入垃圾收集器与内存分配策略
    xsocket源码解读
    JVM调优总结
    Oracle Exp/Imp 调优
    Oracle create tablespace 创建表空间语法详解
    深入研究java.lang.ThreadLocal类
    oracle 启动关闭以及监听启动关闭命令
  • 原文地址:https://www.cnblogs.com/GO-NO-1/p/14429144.html
Copyright © 2011-2022 走看看