一步一步教你如何写开发文档

2023-05-16

已剪辑自: https://icocos.github.io/2017/01/02/%E4%B8%80%E6%AD%A5%E4%B8%80%E6%AD%A5%E6%95%99%E4%BD%A0%E5%A6%82%E4%BD%95%E5%86%99%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3/

你有没有遇到过,突然老板或者老大跟你说,你根据项目或者根据功能写一份开发文档,当时很开心的答应了,后来想想,既然懵了。

开发文档是什么鬼?写了这么多年代码都没写过什么开发文档,最多也就只是产品的需求文档,说明文档,代码的注释与规范文档,或者说过苹果的开发文档,因为之前刚好写过一次很简单的,最近公司又开始要写上面开发文档了,而且发现确实很多同学都不会,我在想,我是不是该做点什么……。

前言

App开发过程中的文档分为很多种,比如最常见的就是官方的开发文档,这种比较倾向代码和接口,但是你可能还见过或者听过其他文档。

比如,这里根据个人理解整理了几个。

  1. 开发文档
  2. 需求(原型)文档
  3. 需求(说明)文档
  4. 技术方案文档
  5. Bug修复文档
  6. 注释文档
  7. 代码与UI规范文档
  8. 性能优化文档

是不是有点晕了,哪有这么多鬼,其实按照之前的习惯,我都是一份开发文档就够了,基本上包含上面的东西,只是看你怎么细分。

开发文档概述

实际开发中如果真的遇到要写上面开发文档可以从下面几个角度写。

  • 一. 开发环境及工具
  • 二. 项目或功能(需求)描述(最好有流程图或者UML)- 需求文档
  • 三. 编写目的(用户特征和水平)
  • 四. 项目或功能背景
  • 五. 模块与关系
  • 六. 类或术语说明
  • 七. 参考资料(网络或公司内部资料,UI,原型,说明文档)
  • 八. 项目进度预估
  • 九. 难点预估(条件与限制)
  • 十. 功能与所计划采用的技术 - 技术方案文档
  • 十一. 用户界面与交互
  • 十二. 软件(代码)接口 - 注释文档
  • 十三. 通信(网络)接口 - 接口文档
  • 十四. 问题与修复说明 - Bug修复文档
  • 十五. 性能分析与优化

当然也不是说这些全部要写,可以根据项目或者功能适当编写。

下面大概一个个的说明一些每一个步骤是什么意思,需要怎么写,这里主要以iOS开发中App开发文档为规范,并使用苹果最新的语言Swift作为唯一语言。

  • 一. 开发环境及工具
    • Mac OX 10
      • iPhone或者iPad 5+ 2+ 必须真机
      • iOS 8+
      • Xcode 8+
      • 其他工具:Tower,cornerstone

主要指明开发在工具,开发平台,开发版本的支持。描述软件的运行环境,包括硬件平台、硬件要求、操作系统和版本,以及其他的软

件或与其共存的应用程序等。

  • 二. 项目或功能(需求)描述(最好有流程图或者UML)- 需求文档
    • 顶层数据流图;
    • 用例UseCase图;
    • 系统流程图;
    • 层次方框图。

主要根据产品给出的需求结合原型进行描述,并适当给出相应的图。

  • 三. 编写目的(用户特征和水平)
    • 描述最终用户应具有的受教育水平、工作经验及技术专长。

次软件或者功能编写的目的,对项目,对用户,对公司有什么好处。

  • 四. 项目或功能背景
    • 标识待开发软件产品的名称、代码;
    • 列出本项目的任务提出者、项目负责人、系统分析员、系统设计员、程序设计员、程序员、资料员以及与本项目开展工作直接有关的人员和用户;
    • 说明该软件产品与其他有关软件产品的相互关系。

此项目或功能编写之前市面上的情况,公司和用户的情况

  • 五. 模块与关系

项目或功能对应模块在位置,入口,和其他模块的关系

  • 六. 类或术语说明

项目或功能对应类的说明,和开发中使用到的一些相关的术语的说明

  • 七. 参考资料(网络或公司内部资料,UI,原型,说明文档)
    • 列举编写软件需求规格说明时所参考的资料,包括项目经核准的计划任务书、合同、引用的标准和规范、项目开发计划、需求规格说明、使用实例文档,以及相关产品的软件需求规格说明。
    • 在这里应该给出详细的信息,包括标题、作者、版本号、发表日期、出版单位或资料来源。

网络资料,尤其是苹果的,也可以群里或者博客,文章等。公司内部的UI,原型,说明,网络接口资料

  • 八. 项目进度预估

预计从上面开始到指定的时间节点完成任务或者完成对应的部分

  • 九. 难点预估(条件与限制)

其中考虑到或者可能会遇到什么技术或者实现难点

  • 十. 功能与所计划采用的技术 - 技术方案文档
    • 将要采用的图形用户界面标准或产品系列的风格;
    • 屏幕布局;
    • 菜单布局;
    • 输入输出格式;
    • 错误信息显示格式;
    • 建议采用RAD开发工具, 比如Visio,构造用户界面。

根据项目或者功能需求,在代码层面所使用的技术或者实现方案,或者比如说ios中布局方式的使用。

  • 十一. 用户界面与交互

根据用户界面和入口说明交互与使用步骤并

  • 十二. 软件(代码)接口 - 注释文档

每一个方法和属性对应的注释,一般是私有的话使用private但是也要注释,公开的都会使用标准的注释说明,苹果有自带的快捷键(command+option+/),之前有个插件叫VVDocument

  • 十三. 通信(网络)接口 - 接口文档

网络请求对应的说明包括对应的参数,字段和返回值,也可以是数据模型层对应的模型属性和方法的说明

  • 十四. 问题与修复说明 - Bug修复文档

开发或者测试的过程中出现了什么比较重要的bug,不要什么bug都写上,然后说明解决的方案

  • 十五. 性能分析与优化
    • 时间特性
      • 响应时间;
      • 更新处理时间;
      • 数据转换与传输时间;
      • 运行时间等。
    • 适应性
      • 在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,软件的适应能力。

到此完成之后,根据实际需求和个人能力,个人理解分析项目或者功能那些地方需要进行优化一下,打算怎么去优化他。

后期会继续完善(根据项目或功能整理一套完整的开发文档)…….

注:这里是按照功能,并不是按照整个项目分,如果要写整个项目的开发文档也可以再根据功能细分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一步一步教你如何写开发文档 的相关文章

  • 演讲的能力

    文章目录 主要形式照读式演讲背诵式演讲提纲式演讲即兴式演讲 提高方法研究对象注意事项语言艺术名言 一 每天三分钟微信语音练习 二 会演讲从写作开始 xff0c 理清思路 xff0c 结构化表达 三 提升内涵 xff0c 让自己有东西可讲 四
  • 专利常见问题汇总

    文章目录 Q1 xff1a 我是职场新人 xff0c 试用期间适合写专利么 xff1f Q2 xff1a 我的第一个专利 xff0c 应该写什么 xff1f Q3 xff1a 撰写专利的 xff0c 有什么优点 xff1f Q4 xff1a
  • 产品设计中关于思考力那些事

    这周的面试 xff0c 对我自己来说 xff0c 更像是一种迭代反思 从做什么怎么做 xff0c 到为什么做 xff0c 的一种强制思考 一方面是入行时间短 xff0c 另一方面是公司产品业务主导 xff0c 相对不需要产品去思考 xff0
  • 【优秀专利】张小龙 | 我在元宇宙里也能收到微信

    已剪辑自 https mp weixin qq com s mOIqPH7hD6ysijJTtV8w9g 引言 前段时间 xff0c 去腾讯参观的时候 xff0c 和一个朋友聊起张小龙 xff0c 他说了一个特别有意思的事情 话说腾讯有一个
  • 使用Python求解方程

    文章目录 Numpy 求解线性方程组 SciPy 求解非线性方程组 SymPy 通吃一切SymPy简介展开与折叠分离与合并简化表达式solve 解方程limit 求极限integrate 求积分diff 求导dsolve 解微分方程矩阵化简
  • 工业应用中如何选择合适的损失函数

    已剪辑自 https mp weixin qq com s 6rSNWz 5ZxNZhR bxU4pWg 直接上结果 xff1a 图片截选自本文末尾 正文 xff1a 无论在机器学习还是深度学习领域中 损失函数都是一个非常重要的知识点 损失
  • 手把手教你搭建一个轻量级电子实验室

    已剪辑自 https mp weixin qq com s 45a7BsvG23tWTfTaMuqlaQ 下面具体分类说一下都需要准备哪些设备 xff1a 仪器类 xff1a 首先是电源 xff0c 首选双路可调稳压电源 xff0c 一般几
  • 无人机飞控技术最详细解读

    已剪辑自 https zhuanlan zhihu com p 64519280 导读 被称作是 飞行器的大脑 的飞控到底是什么 xff1f 以前 xff0c 搞无人机的十个人有八个是航空 气动 机械出身 xff0c 更多考虑的是如何让飞机
  • 你的科研能力从什么时候开始突飞猛进的?

    读博后写青基的时候 xff0c 写青基的时候刻意的思考了 xff0c 我如何写 xff0c 才能引导审稿人理解我的本子 xff0c 评审人读了以后才会觉得我的本子重要 其实在做博后期间科研的很多方面都得到了提升 xff0c 当时留校的师兄指
  • 英文学术论文写作有哪些经验心得?

    文章目录 博士第四年结束 xff0c 还没发表论文 xff0c 心态出了问题 xff0c 怎么办 xff1f 1 博一阶段2 博二阶段3 博三阶段4 博四阶段5 博五阶段6 总结 SCI写作方法总述 一 学术论文的基本组成部分二 学术论文写
  • 一个博士生接受怎样的训练是完整、全面的科研训练?

    我粗算了一下对机器学习 xff08 偏理论和方法论 不偏工程 xff09 大概30个技能点吧 xff08 可能增加 xff09 每个点我分成 高中初 三个级别 即总共90分 为了方便理解 默认本科毕业送基础分10分 凑到100分 解题力 x
  • 科研大牛们怎么读文献?

    我是练习时长一年多一年的博士萌新一个 xff0c 看到很多大佬分享了如何找文献读文献的精彩分享 xff0c 不过很多并没有提到如何针对某一篇论文进行阅读 xff0c 正好我最近看了一个相关的PPT xff0c 觉得对我启发很大 xff0c
  • 作为审稿人,你什么情况下会选择拒稿?

    刚好前不久NIPS给我发了top reviewer award 就来分享一下我的心得 最主要的判断必须是基于文章本身 我认为几个类型 颠覆了我的认知 让人有种脱口而出 卧槽 的冲动 我是肯定给8分起跳 至少strong accept 而且我
  • B端项目整体设计流程

    一 B端产品的能力图谱 1 逻辑思维与抽象能力 2 技术知识储备 3 复杂项目管理能力 xff1a 沟通能力 执行能力 团队协助能力 组织协调能力 4 业务与经营管理知识 二 B端产品设计流程 1 业务调研 a 明确调研目标 战略层 xff
  • 哪些思维方式是你刻意训练过的?

    1 管理记忆 2 贴好标签 3 放大苦难 4 绝对理性 5 自以为是 6 调整尺度 7 等价交换 8 断舍离 脑子只要醒着就不停转 18岁左右开始刻意培养自己的各种思维方式 至今6年了 1 管理自己的脑海 有效的记忆容量是有限的 所以需要管
  • 你的编程能力从什么时候开始突飞猛进?

    在啃掉一本本计算机经典书籍和写下大量代码以后 疫情原因回不去学校 xff0c 作为一个马上毕业 xff0c 即将入职腾讯的大四生 xff0c 分享一下自己的学习历程吧 本人在大学之前从未接触过编程 xff0c 最开始的编程学习还是在高考完后
  • 好用的专利检索推荐

    下面推荐几个我觉得不错的专利检索 谷歌专利 xff08 Google Patent xff09 就像谷歌学术一样 xff0c 谷歌专利也是非常好用 xff0c 无限搜索 xff0c 免费下载 谷歌专利地址 xff1a https paten
  • 软件定义一切?

    梅宏教授的主题报告是 软件定义一切 xff1a 挑战和机遇 主要内容分为三部分 xff0c 无处不在的软件 xff0c 软件定义的时代 xff0c 新时代的机遇和挑战 他从软件从业者的视角 xff0c 将计算机软件发展历程分为三个阶段 xf
  • 首次申上青年基金的一些感悟(综合多位基金评审专家意见)【投稿作品展】

    已剪辑自 https zhuanlan zhihu com p 409740011 各位奋斗在科研一线的朋友们大家好 xff0c 非常荣幸能在此分享一下自己国家自然科学青年基金的申请经历和感悟 本人于2021年1月份毕业 xff0c 耗时2

随机推荐

  • 怎么才能心无旁骛地学习?

    已剪辑自 https www bilibili com read cv7504938 看到这里不要划走 xff01 这个回答一定会颠覆你的学习现状 xff01 靠着这套方法 xff0c 我从一个学习 5分钟 xff0c 走神2小时 的废柴学
  • 示波器串口波形分析

    已剪辑自 https www cnblogs com dongxiaodong p 14163409 html 串口是最常用的外设了 xff0c 串口基本都是单片机的标配 串口通信只需要3条线组成 xff0c 分别为RX TX GND 下面
  • 什么是软件架构?常用的软件架构

    文章目录 软件架构软件介绍种类表现形式具体作用常用的软件架构一 分层架构二 事件驱动架构三 微核架构四 微服务架构五 云架构 软件架构 软件架构 xff08 software architecture xff09 是一系列相关的抽象模式 x
  • 软件工程总结

    文章目录 名称由来与定义软件危机由来定义 软件工程的核心知识 xff08 SWEBOK xff09 软件工程与计算机科学软件工程的现况没有银弹与人月神话软件工程与计算机程序设计软件开发过程方法学软件工程的发展方向 软件工程的最大难题一 引言
  • jupyter notebook打开其他盘

    转载于 xff1a https blog csdn net qq 41238579 article details 101016253 1 juter notebook 默认打开系统盘 2 更换显示盘 1 xff09 打开cmd 2 xff
  • 网监后台管理系统设计思路

    本次做的是网监系统saas服务平台的后台管理系统 xff0c 不涉及复杂功能逻辑 就是从菜单 模板 系 统 组织架构 角色 用户的设计思路 产品需求 xff1a 在各个省市网监系统的数量不断增长 xff0c 且系统逻辑和功能模块大致相同 x
  • 基于模型的系统工程(MBSE)

    文章目录 了解MBSE xff0c 这一篇文章就够了MBSE是什么 有什么用 怎么学习 xff1f 1 MBSE是什么 xff1f 2 MBSE有什么用 xff1f 3 MBSE的方法有哪些 xff1f 4 MBSE怎么学习 xff1f 要
  • 基于模型设计和机载软件

    采用基于模型设计应对机载软件设计中的挑战 已剪辑自 https www jianshu com p a8fb02ce366d 采用基于模型设计应对机载软件设计中的挑战 Model Based Design for Airborne Soft
  • MBSE与MBD的融合

    已剪辑自 https www jianshu com p 9efae90ca0f7 基于模型的设计 xff0c 是美国迈斯沃克公司 xff08 MathWorks xff0c MATLAB软件的开发商 xff09 提出并推广的复杂系统设计方
  • 基于模型的系统工程(MBSE)与设计(MBD)的关系思考

    已剪辑自 http www clii com cn lhrh hyxx 201905 t20190522 3934609 html 导读 xff1a 如何将关于功能知识表达的建议与任何系统工程建模语言的任何部分结合起来 xff0c 确定地
  • 从MBD到MBE的战略转型路径

    已剪辑自 https zhuanlan zhihu com p 58927567 导读 xff1a 企业的不断成功 xff0c 源于在每个关键机遇期做出正确的抉择 对于在国民经济中发挥重要作用的中国制造业企业来说 xff0c 如何面向未来
  • SysML教程

    已剪辑自 https www jianshu com p 6ba96913abcc SysML是一种支持复杂系统分析 规范 设计 验证和确认的通用图形化建模语言 这些系统可能包括硬件设备 软件数据 人员 规程 设施 xff0c 以及其他人造
  • 程序运行原理:程序是如何运行又是如何崩溃的?

    已剪辑自 https time geekbang org column article 166581 软件的核心载体是程序代码 xff0c 软件开发的主要工作产出也是代码 xff0c 但是代码被存储在磁盘上本身没有任何价值 xff0c 软件
  • 分布式系统

    简介 在一个分布式系统中 xff0c 一组独立的计算机展现给用户的是一个统一的整体 xff0c 就好像是一个系统似的 系统拥有多种通用的物理和逻辑资源 xff0c 可以动态的分配任务 xff0c 分散的物理和逻辑资源通过计算机网络实现信息交
  • #如何写好技术文档——来自Google十多年的文档经验

    文章目录 文档的重要性为什么大多数人都不喜欢写文档 xff1f 如何产出高质量文档像管理代码一样管理文档明确你的读者是谁清晰的分类参考文档设计文档引导类文档概念性文档Landing pages 落地页 文档Review 写文档的哲学5W法则
  • 如何写好技术文档?

    文章目录 01为什么需要写文档 xff1f 02写文档的重要性03像管理代码一样管理文档04文档类型05文档Review06文档写作的哲学07结论 已剪辑自 https cloud tencent com developer article
  • 数据库系统原理1

    第一章 数据库管理技术发展的不同阶段形成不同的特点 数据描述经历了三个阶段对应于三个数据模型 第二章 数据库系统的生命周期 xff0c 书中可能和我们学习软工的时候有些出入 xff0c 其实就是不同时间有不同的理解 xff0c 横看成岭侧成
  • ssh 登录时常出现的几种错误以及解决方法(Linux)

    ssh 登录时常出现的几种错误以及解决方法 xff08 Linux xff09 参考网址 xff1a https blog csdn net GX 1 11 real article details 80423409 前言 ssh是Linu
  • 程序员既要写好代码,又要写好文档

    转载于 xff1a https developer aliyun com article 196898 作为一个长期混迹于CSDN社区的人 xff0c 我对很多拥有高访问量的博主钦佩不已 xff0c 特别是在参加了CSDN在举办 2014
  • 一步一步教你如何写开发文档

    已剪辑自 https icocos github io 2017 01 02 E4 B8 80 E6 AD A5 E4 B8 80 E6 AD A5 E6 95 99 E4 BD A0 E5 A6 82 E4 BD 95 E5 86 99