软件研发 --- 应用程序开发流程(大白话版)
想象一下你要盖一栋梦想中的房子,开发一个App也差不多是这个意思,只不过盖的是一个能在手机或电脑上运行的程序。下面是主要的步骤:
应用程序开发流程总览表
| 阶段 | 关键角色 | 核心内容 | 主要输出物 | 常用工具 |
|---|---|---|---|---|
| 1. 想要啥(需求调研) | 客户经理 / 产品经理 | 明确做什么、给谁用、痛点在哪、竞品分析、法律合规初评 | 需求文档、市场分析报告、风险说明文档 | 飞书文档、问卷星、百度指数/七麦数据、ProcessOn |
| 2. 画草图(出方案) | 产品经理 / 项目经理 | 功能列表、界面草图、用户流程、MVP设计、盈利模式、排期计划 | 设计线框图、业务流程图、设计方案 | Axure RP/墨刀/摹客/Balsamiq、Visio/draw.io(流程图)、飞书项目 |
| 3. 出设计(视觉设计) | UI/UX 设计师 | 界面美化(颜色/图标/字体)、交互体验优化、开发路线图 | UI/交互原型图、UI规范文档、切图素材 | Figma/Sketch/Adobe XD/Photoshop/Illustrator、蓝湖/摹客(设计交付)、IconFont(图标库) |
| 4. 开干(开发实现) | 前后端工程师 / 架构师 | 前端界面开发、后端逻辑开发、前后联调、数据库搭建 | 源代码、接口文档、菜单设计、功能模块清单、研发任务清单、部署软件包、单元测试报告 | 前端: VS Code、Android Studio、Xcode、Flutter/React Native 后端: IntelliJ IDEA、PyCharm、Node.js 数据库: MySQL、PostgreSQL、Redis、MongoDB、Navicat 接口: Swagger/Apifox/Postman 代码管理: Git、GitHub/GitLab/Gitee |
| 5. 挑毛病(测试验证) | 测试工程师 | 功能测试、兼容性测试、性能测试、安全测试、用户体验测试 | 测试计划、测试用例、测试报告、渗透测试报告 | Jira/禅道(Bug管理)、Selenium/Appium(自动化测试)、JMeter/LoadRunner(性能测试)、Charles/Fiddler(抓包)、TestFlight(iOS测试分发)、蒲公英/fir.im(Android测试分发)、OWASP ZAP、Burp Suite、Nessus、Vault(密钥管理) |
| 6. 交钥匙(上线部署) | 运维工程师 | 部署服务器、生产环境安全管理、CI/CD流水线、配置域名证书、备案审核、应用商店上架 | 上架材料、环境配置文档、运维手册、账号交接清单、备案证明 | 阿里云/雨云、Nginx(反向代理)、Docker/Kubernetes(容器化)、Jenkins/GitHub Actions(CI/CD)、Let's Encrypt/阿里云SSL(证书)、ICP备案系统、Ansible、Terraform |
| 7. 试运行(持续运营) | 运营 / 市场 / 开发 | 收集反馈、修复Bug、数据分析、版本迭代、推广拉新、留存裂变 | 更新日志、数据分析报告、A/B测试报告、下一版迭代计划 | 友盟+/神策数据/GrowingIO(数据埋点分析)、Firebase Analytics、Grafana/Prometheus(监控告警)、ELK Stack(日志)、热云/AppsFlyer(广告归因)、微信公众平台/抖音开放平台(推广渠道) |
| 8. 拆机(产品下线) | 全团队 | 下架通知、用户迁移、数据归档、项目复盘 | 下线计划、用户告知公告、数据归档方案、项目复盘报告 | 飞书/钉钉(团队协作通知)、数据库备份工具(mysqldump/pg_dump)、OSS/S3(归档存储)、Confluence/语雀(复盘文档沉淀) |
1.想要啥(收需求)客户经理
-
要干啥
-
是想做个游戏App?还是购物App?或者是能帮人解决某个问题的工具App?比如,你想做一个能帮你记录每天喝了多少水的App。
-
-
给谁干,有价值?
-
确定App的核心价值。是给年轻人用,还是给老年人用?是给上班族用,还是给学生用?了解你的用户,才能做出他们喜欢的东西。
-
-
找同款
-
看看别人是怎么做的,有哪些优点可以学习,有哪些缺点可以避免。
-
你的App要有啥不一样的地方,才能吸引人?
- 法律合规初步评估: 确认项目在法律上可行。
- 输出物:需求文档、 市场分析(用户分析,竞品分析,市场分析)、
2. 画草图(出方案)产品经理
-
设计图
-
啥功能?(功能列表)
-
比如记录喝水App,可能需要的功能有:记录每次喝水的量、设定每日目标、提醒喝水、查看历史记录等。把这些功能都列出来。
-
-
长啥样? (界面草图/线框图)
-
不用太漂亮,用笔在纸上画出来就行,哪个按钮放哪里,哪个信息显示在哪里。
-
比如,首页显示今日喝水进度,一个“+”号按钮用来添加喝水记录。
-
-
怎么用? (用户流程图)
-
想象一下用户打开App后,先点哪里,再点哪里,一步一步怎么操作。
-
-
-
MVP(最小可行产品)设计是互联网产品开发的关键理念:
-
先做出一个最小版本测试市场反应,防止投入过大却没人用。比喻:就像先搭一个样板间,看看用户喜欢不喜欢再决定全面开工。
-
-
怎么挣钱
-
是否内购、广告、会员制、增值服务等
-
免费用户与付费用户的设计差异。
-
比喻:房子是租给人住?卖给人?自己住?模式不一样,设计结构就不同。
-
输出产物:设计方案(线框图 & 用户流程图 、MVP、资源预算 )
怎么干(项目经理角色)
-
-
制定时间表和里程碑
-
管理项目进度和团队协作
-
控制预算与风险
-
跨部门沟通协调
-
-
比喻:就像盖房子的工地负责人,保证施工顺利进行,按时交付。
- 输出物:研发计划、任务管理
3.出设计(设计阶段)设计师
-
UI (User Interface - 用户界面)
-
画平面图: 把草图细化,设计出App的正式样子,包括颜色搭配、图标样式、字体选择等等。要看起来舒服、美观。
-
-
UX (User Experience - 用户体验)
-
画交互图: 考虑用户用起来顺不顺手,操作方不方便,逻辑清不清晰。目标是让用户用得爽,不想卸载。
-
比如,添加喝水记录的按钮是不是足够显眼?查看历史记录是不是很容易找到?
- 开发线路图,制订开发任务,表示从哪里开发基础功能,然后逐步深入。
- 输出物:
-
- 平面图 通俗讲就是ps设计的海报,为后面提供图片素材等
- 原型图 (例如在Figma, Sketch, Adobe XD中制作) 通俗讲就是 可交互的ui设计稿
- UI设计规范文档 包含颜色、字体、图标、按钮、表单等所有UI组件的样式和使用规范,是保证开发一致性的“零件库”。
- 切图及设计资产 (Sliced Assets & Design Resources): 提供给开发人员的、各种分辨率下的图标、图片等素材文件。
4.开干(开发阶段)程序员
-
-
前端开发 (盖房子的外壳和内部装修): 就是用户能看到和操作的部分,比如按钮、图片、文字显示等。安卓App用Java或Kotlin语言,苹果App用Swift或Objective-C语言。也可以用一些跨平台技术,一套代码两边用。
-
后端开发 (盖房子的地基和水电煤气管道): 用户看不到的部分,负责处理数据、用户账号管理、消息推送等等。比如你记录的喝水数据,就存在后端服务器上。后端开发会用到像Java, Python, Node.js, Ruby, Go等语言。
-
前后联调: 编写接口文档,这里有个矛盾点,到底是前端还是后端出文档,我在开发时常常发现是后端出文档,前端对接接口,但是也有前端出文档后端对接,不管是谁出文档另一个必然要付出开发工作,没有人愿意给自己增加工作量的。前端和后端之间沟通的桥梁。好比服务员,前端告诉服务员要什么(比如获取喝水记录),服务员去后端厨房拿来给前端。
-
数据库 (存放家具和物品的仓库): 用来存储App里的各种数据,比如用户信息、喝水记录等。
- 输出物:
- API文档 现在也可以 使用Swagger (OpenAPI) 这样的工具,后端工程师在写代码的同时就可以自动生成标准化的、可交互的API文档,前端可以直接在线调试,大大减少了沟通成本和扯皮。所以,这份文档是 后端的核心输出物。、
- 源代码库 (Source Code Repository): 托管在Git(如GitHub, GitLab)等平台上的完整前后端代码。
- 可执行的应用程序包 (Executable Application Package): 即编译好的测试版本,如安卓的
.apk或苹果的.ipa文件。数据库文件。 - 单元测试与集成测试代码/报告 (Unit & Integration Tests): 开发者编写的用于保证代码质量的自动化测试脚本及其运行结果。
- 构建与部署脚本 (Build & Deployment Scripts): 用于CI/CD流水线的自动化脚本。
-
5.挑毛病(测试阶段)测试工程师
-
-
功能测试: App的各个功能是不是都能正常工作?点这个按钮有没有反应?数据保存对不对?
-
兼容性测试: 在不同品牌、不同型号的手机上,App能不能正常运行?会不会变形或者卡顿?
-
性能测试: App运行快不快?占不占内存?耗不耗电?
-
用户体验测试: 找一些真实用户来试试,看看他们觉得好不好用,有没有不明白的地方。
- 安全测试/渗透测试。
-
发现Bug(程序里的错误或问题)就要赶紧告诉程序员去修改。
- 输出物:
-
- 测试计划 (Test Plan): 定义测试范围、策略、资源和时间表的纲领性文件。
- 测试用例 (Test Cases): 您已列出,这是执行测试的具体步骤清单。
- 缺陷/Bug报告 (Defect/Bug Reports): 在Jira等缺陷管理系统中创建的、详细描述每个Bug的报告。
- 各类测试报告 (Various Test Reports):
- 功能测试报告 (Functional Test Report)
- 性能测试报告 (Performance Test Report)
- 兼容性测试报告 (Compatibility Test Report)
- 安全测试报告 (Security Test Report)
- 测试总结报告 (Test Summary Report): 在上线前,对整个测试活动进行的总结,包含测试结果、遗留Bug风险评估等,是决定“能否上线”的重要依据。
-
6.交钥匙(上线阶段) 运维工程师
部署服务器、配置域名、配置证书、提交备案审核材料
-
上架到各大应用商店。
-
比如苹果的App Store,安卓的Google Play Store,还有国内的各种安卓应用市场(华为、小米、应用宝等)。
-
需要准备App的介绍、截图、宣传视频等资料。
-
应用商店会对App进行审核,通过了才能上架。
- 输出物:
-
- 应用商店上架材料 (App Store Submission Materials): 包括应用图标、截图、宣传视频、应用描述、隐私政策URL等。
- 服务器与环境配置文档 (Server & Environment Configuration Document): 生产环境的详细配置记录,是未来运维和排错的依据。
- 运维手册 & 紧急预案 (Operations Manual & Emergency Plan): 指导运维人员进行日常维护、监控、备份和处理突发事件(如宕机)的操作手册。
- 账号与密钥交接清单 (Credentials & Keys Handover List): 您提到的“密码本”的正式、安全版本,包含服务器、数据库、第三方服务、应用商店等所有相关账号和密钥。
- 备案证明文件 (Filing/ICP License Documents): 在中国大陆等地区上线所必需的法律文件。
7. 试运行 (运营阶段) 运营人员
-
App上线了不是结束,而是新的开始:
-
收集用户反馈: 看看用户在应用商店的评论,或者通过App内的反馈渠道了解用户怎么说。
-
修复Bug: 即便测试再仔细,也可能有些隐藏的Bug在用户使用过程中才暴露出来,需要及时修复。
-
数据分析: 看看哪些功能用户用得多,哪些用得少,用户从哪里来等等,帮助你改进App。
-
版本更新: 根据用户反馈和市场变化,可能需要增加新功能,优化旧功能,不断推出新的版本。
-
推广运营: 想办法让更多人知道和使用你的App,比如做广告、搞活动等。
-
留存与裂变:
-
埋点分析、A/B测试、邀请机制、积分奖励等
-
-
比喻:房子建好后不仅要有人住,还要让大家介绍朋友来一起住。
- 输出物:
- 更新日志 (Changelog): 您已列出,向用户说明每个版本的新增和修复内容。
- 用户手册/帮助中心 (User Manual/Help Center): 您已列出,供用户查询使用。
- 用户反馈分析报告 (User Feedback Analysis Report): 定期整理和分析来自各渠道的用户声音。
- 数据分析报告 (Data Analytics Report): 基于埋点数据,分析用户行为、功能使用率、留存率等关键指标的报告。
- A/B 测试结果报告 (A/B Test Result Report): 对比不同方案优劣的实验结论。
- 运营活动总结报告 (Campaign Summary Report): 对拉新、促活等运营活动的效果复盘。
- 下一版本迭代计划 (Next Version Iteration Plan): 基于数据和反馈,形成的新的产品需求,开始新一轮的循环。
-
-
8 拆机
- 当App完成历史使命,规划如何下架、迁移用户和数据、关闭服务。
- 比喻:规划房子的拆迁或重建方案。
- 输出物:
-
- 产品下线计划 (Product Sunsetting Plan): 包含详细时间表、用户沟通策略、数据处理方案和技术步骤的完整计划。
- 用户告知公告 (User Notification Announcements): 用于邮件、App内推送、官网公告的文案。
- 数据迁移或归档方案/报告 (Data Migration/Archiving Plan/Report):* 如何处理用户数据的技术方案,以及完成后的确认报告。
- 项目复盘总结报告 (Post-Mortem/Retrospective Report): 对项目从诞生到结束的全过程进行回顾,总结经验和教训,为未来的项目提供宝贵财富。
还有一个角色是架构师
主要作用是:
-
设计App的技术蓝图(地基和承重墙):
- 决定App的整体技术结构,比如是采用前后端分离的模式,还是微服务架构等等。
- 选择合适的技术栈,比如用什么编程语言、什么数据库、什么服务器、什么框架。这就像总工程师决定房子的主要承重结构用什么材料(钢筋混凝土还是木结构),水电煤气管道怎么走最合理。
- 他们要确保App的“骨架”是稳定、可靠并且能够支撑未来的发展。
-
保证App的性能和可扩展性(房子能住多少人,以后能不能加盖):
- 架构师需要考虑,当用户量暴增或者数据量变大时,App还能不能流畅运行,会不会崩溃。
- 他们设计的系统要能够方便地在未来增加新功能或者容纳更多用户,就像房子设计时要考虑到以后可能加盖楼层或者扩建房间。
-
制定技术规范和标准(施工标准):
- 架构师会制定一些开发规范、编码标准,确保开发团队写出来的代码质量高、易于维护,大家用的“砖”和“水泥”都是合格的。
-
解决复杂的技术难题(攻克技术难关):
- 在开发过程中遇到的一些棘手的技术问题,架构师通常会带领团队去攻克。
-
沟通协调:
- 架构师需要和产品经理、项目经理、开发团队、甚至客户进行沟通,确保技术方案能够满足业务需求,并且在技术上是可行的。
其他可选流程
避风险(法规审核、隐私协议)
-
-
数据隐私保护(如《GDPR》、中国的《个人信息保护法》)
-
用户协议、隐私政策编写
-
第三方服务授权(如微信登录、支付SDK合规)
-
-
比喻:就像房子盖好后要通过消防、质量验收;App也要通过法律合规审查。
防黑客(安全设计)
-
-
如何防止用户信息被盗
-
如何防止服务器被攻击(如SQL注入、XSS、DDoS)
-
支付相关接口如何加密传输
-
-
比喻:房子要有防盗门、防火设计;App也要有安全设计。
国际化 (本地化 / 多语言支持)
-
若目标用户包括国际市场,需要考虑语言翻译、时间格式、本地支付、法律等适配。
-
比喻:房子要建在不同国家,还得符合当地的建筑规范和风格。
加速大型项目非开发性的工作 。持续集成 / 持续交付(CI/CD)
-
没有提及 DevOps 工程实践:
-
自动化构建、自动化测试、自动化部署
-
常用工具:Jenkins、GitHub Actions、Docker、Kubernetes
-
-
对于中大型项目非常重要,能大幅提升开发效率和上线速度。
-
比喻:像建筑工地引入了机械化施工流水线。
补充:
1. 开发方法论:敏捷开发 (Agile Development)
您的流程描述了工序,但没有定义“施工节奏”。现代App开发很少采用“把所有图纸画完再一口气盖到顶”的瀑布模式(Waterfall),而是普遍采用敏捷开发(Agile),最常见的是Scrum框架。
- 核心理念:将一个大的开发周期(比如3个月)拆分成多个短的、固定的“冲刺”周期(Sprint),通常为1-2周。每个Sprint结束时,都要交付一个可用的、增量的新版本。
- 如何融入您的流程:
- 冲刺规划会 (Sprint Planning): 每个Sprint开始时,团队从产品需求(您的阶段1&2的产物)中挑选出这个周期内要完成的最高优先级任务。
- 每日站会 (Daily Stand-up): 团队成员每天快速同步进度、计划和遇到的障碍。这是您阶段2中项目经理角色的日常实践。
- 冲刺评审会 (Sprint Review): Sprint结束时,开发团队向产品经理、设计师等所有干系人演示已完成的功能(可工作的软件,是阶段4的产物)。
- 冲刺回顾会 (Sprint Retrospective): 团队复盘这个Sprint的协作流程,讨论哪些做得好,哪些可以改进。这是持续优化的核心。
- 比喻:敏捷开发就像分单元、分楼层精装修。你不是等整栋楼毛坯都盖好再从一楼开始装修,而是在盖好一二层并通过验收后,马上开始精装修,并邀请一小批“体验官”入住。根据他们的反馈,你可能会微调三四层之后的户型设计。这使得房子能更早产生价值,并及时应对需求变化。
2. 以用户为中心的持续验证 (Continuous User-Centric Validation)
您在测试阶段提到了“用户体验测试”,但现代开发强调将这个环节“左移”,即在开发全周期中持续验证。
- 核心理念:在投入大量开发资源前,通过低成本的方式不断验证你的设计和功能是否真的为用户所需。
- 如何融入您的流程:
- 阶段3 (出设计) 之前: 进行用户访谈 (User Interview),深入理解用户痛点,验证阶段1的需求假设。
- 阶段3 (出设计) 之中: 对产出的交互原型 (Interactive Prototype)进行可用性测试 (Usability Testing)。找5-8个目标用户,观察他们如何操作你的原型,看他们是否能顺利完成核心任务,是否存在困惑。这个成本极低,但能避免大量后续的开发返工。
- 比喻:可用性测试就像在房子刚搭好框架、墙壁都还是木板的时候,就请未来的住户进来走一圈,模拟从客厅到卧室的路线,看看动线是否合理,门的位置是否别扭。这样在“砌砖”前就能发现设计缺陷,而不是等“精装修”完了再敲墙。
3. 技术债务管理 (Technical Debt Management)
这是一个在您**阶段4 (开干)和阶段7 (试运行)**中非常关键,却常常被忽视的隐性流程。
- 核心理念:在开发过程中,为了追求速度,有时会采用一些非最优的、临时的技术方案(“走捷径”)。这些“捷径”就像欠下的技术债,短期内能快速上线,但未来会导致系统维护困难、扩展性差、Bug频出。
- 如何管理:
- 识别与标记: 团队要有意识地识别和记录技术债。
- 定期偿还: 在每个Sprint或每个版本迭代中,规划出一部分时间来进行代码重构 (Refactoring),即在不改变外部功能的情况下,优化内部代码结构,偿还技术债。
- 比喻:技术债务就像为了赶工期,你用了质量稍差但能用的水管接头,或者电线排布得比较杂乱。房子能用,但漏水和短路的风险更高。定期“偿还债务”就是安排专门的工时,系统性地更换那些劣质接头,重新规整电线,消除隐患,保证房子的长久稳固。
4. 可观测性体系建设 (Building an Observability System)
这是您**阶段7 (试运行)**中“数据分析”和“修复Bug”的进阶版和技术保障。
- 核心理念:不仅要“监控”到系统出问题了(比如服务器CPU 100%),更要具备“可观测性”,能够快速、深入地探究“为什么出问题”。
- 三大支柱:
- 日志 (Logging): 记录离散的、具体的事件。好比工地的施工日志,记录了“几点几分,哪个工人,在哪面墙上,刷了什么漆”。
- 指标 (Metrics): 可聚合的、周期性的数值。好比房子里的水电总表,告诉你每小时的用电量、用水量。
- 追踪 (Tracing): 记录一个请求在整个系统中的完整调用链。好比给一滴水装上GPS,看它从自来水厂出发,经过了哪些主管道、分管道,最终从哪个水龙头流出。
- 比喻:传统的监控告诉你“地下室漏水了”(警报)。而可观测性则通过水管各处的压力指标、关键节点的日志和水的流动追踪,让你能立刻定位到是“三楼厕所的冷水管接头因老化破裂”,而不是两眼一抹黑地到处砸墙找漏点。
📁 ProjectName/ │ ├── 📄 README.md # 项目总览说明 ├── 📄 CHANGELOG.md # 版本更新日志 ├── 📄 .gitignore # Git忽略配置 ├── 📄 LICENSE # 开源许可证(如适用) │ │ │ ═══════════════════════════════════════════════════ │ 阶段1:想要啥(需求调研) │ ═══════════════════════════════════════════════════ │ ├── 📁 01-需求调研/ │ ├── 📁 需求文档/ │ │ ├── 📄 项目立项书.docx │ │ ├── 📄 业务需求文档(BRD).docx │ │ ├── 📄 产品需求文档(PRD).docx │ │ ├── 📄 功能需求清单.xlsx │ │ ├── 📄 非功能性需求说明.docx # 性能/安全/可用性等 │ │ ├── 📄 用户故事地图(User-Story-Map).md │ │ └── 📄 需求变更记录.xlsx │ │ │ ├── 📁 市场分析/ │ │ ├── 📄 市场调研报告.docx │ │ ├── 📄 目标用户画像(Persona).docx │ │ ├── 📄 用户访谈记录/ │ │ │ ├── 📄 访谈提纲.docx │ │ │ ├── 📄 访谈记录-用户A.docx │ │ │ ├── 📄 访谈记录-用户B.docx │ │ │ └── 📄 访谈分析总结.docx │ │ ├── 📄 问卷调查/ │ │ │ ├── 📄 问卷设计.docx │ │ │ └── 📄 问卷数据分析报告.xlsx │ │ ├── 📄 竞品分析报告.docx │ │ ├── 📄 SWOT分析.docx │ │ └── 📄 行业趋势分析.docx │ │ │ ├── 📁 风险评估/ │ │ ├── 📄 项目风险评估报告.docx │ │ ├── 📄 法律合规初步评估.docx │ │ └── 📄 技术可行性分析.docx │ │ │ └── 📁 会议纪要/ │ ├── 📄 需求评审会议纪要-v1.docx │ └── 📄 需求确认签字单.pdf │ │ │ ═══════════════════════════════════════════════════ │ 阶段2:画草图(产品方案) │ ═══════════════════════════════════════════════════ │ ├── 📁 02-产品方案/ │ ├── 📁 功能设计/ │ │ ├── 📄 功能列表(Feature-List).xlsx │ │ ├── 📄 功能优先级矩阵.xlsx # MoSCoW / ICE评分 │ │ ├── 📄 MVP功能范围定义.docx │ │ ├── 📄 信息架构图(IA).png │ │ └── 📄 功能模块说明书.docx │ │ │ ├── 📁 原型设计/ │ │ ├── 📁 手绘草图/ │ │ │ ├── 📄 首页草图.jpg │ │ │ ├── 📄 记录页草图.jpg │ │ │ └── 📄 个人中心草图.jpg │ │ ├── 📁 低保真线框图/ │ │ │ ├── 📄 线框图-首页.png │ │ │ ├── 📄 线框图-记录页.png │ │ │ ├── 📄 线框图-历史记录.png │ │ │ ├── 📄 线框图-设置页.png │ │ │ └── 📄 线框图源文件.axrp # Axure源文件 │ │ └── 📄 原型在线链接.md # 墨刀/摹客在线链接 │ │ │ ├── 📁 业务流程/ │ │ ├── 📄 核心用户流程图.png │ │ ├── 📄 用户注册登录流程.png │ │ ├── 📄 核心业务流程图.png │ │ ├── 📄 异常流程处理.png │ │ └── 📄 流程图源文件.vsdx # Visio/draw.io源文件 │ │ │ ├── 📁 商业模式/ │ │ ├── 📄 盈利模式设计.docx # 内购/广告/会员/增值 │ │ ├── 📄 免费vs付费功能对比表.xlsx │ │ └── 📄 商业画布(Business-Model-Canvas).docx │ │ │ └── 📁 设计方案输出/ │ ├── 📄 产品设计方案书(总).docx │ └── 📄 资源预算估算表.xlsx │ │ │ ═══════════════════════════════════════════════════ │ 阶段2.5:项目管理 │ ═══════════════════════════════════════════════════ │ ├── 📁 03-项目管理/ │ ├── 📁 计划与排期/ │ │ ├── 📄 项目总体计划书.docx │ │ ├── 📄 里程碑计划表.xlsx │ │ ├── 📄 研发排期表(甘特图).xlsx │ │ ├── 📄 Sprint计划/ │ │ │ ├── 📄 Sprint-01-计划.md │ │ │ ├── 📄 Sprint-02-计划.md │ │ │ └── 📄 Sprint-03-计划.md │ │ └── 📄 资源分配表.xlsx │ │ │ ├── 📁 敏捷管理/ │ │ ├── 📄 Scrum流程规范.md │ │ ├── 📄 产品待办列表(Product-Backlog).xlsx │ │ ├── 📁 Sprint回顾/ │ │ │ ├── 📄 Sprint-01-回顾总结.md │ │ │ ├── 📄 Sprint-02-回顾总结.md │ │ │ └── 📄 Sprint-03-回顾总结.md │ │ ├── 📁 Sprint评审/ │ │ │ ├── 📄 Sprint-01-评审记录.md │ │ │ └── 📄 Sprint-02-评审记录.md │ │ └── 📁 每日站会记录/ │ │ ├── 📄 2024-01-15-站会.md │ │ └── 📄 2024-01-16-站会.md │ │ │ ├── 📁 风险与问题/ │ │ ├── 📄 风险登记册.xlsx │ │ ├── 📄 问题跟踪表.xlsx │ │ └── 📄 技术债务登记表.xlsx # 技术债务管理 │ │ │ ├── 📁 沟通管理/ │ │ ├── 📄 干系人沟通计划.docx │ │ ├── 📄 项目周报模板.docx │ │ └── 📁 会议纪要/ │ │ ├── 📄 项目启动会纪要.docx │ │ ├── 📄 需求评审会纪要.docx │ │ └── 📄 技术方案评审会纪要.docx │ │ │ └── 📄 项目成员通讯录.xlsx │ │ │ ═══════════════════════════════════════════════════ │ 阶段3:出设计(视觉设计) │ ═══════════════════════════════════════════════════ │ ├── 📁 04-UI-UX设计/ │ ├── 📁 设计规范/ │ │ ├── 📄 UI设计规范文档.docx │ │ ├── 📄 色彩规范(Color-Palette).png │ │ ├── 📄 字体规范(Typography).png │ │ ├── 📄 图标规范(Iconography).png │ │ ├── 📄 间距与栅格规范(Spacing-Grid).png │ │ ├── 📄 组件库规范(Component-Library).png │ │ ├── 📄 暗黑模式规范(Dark-Mode).png │ │ └── 📄 无障碍设计规范(Accessibility).docx │ │ │ ├── 📁 UI设计稿/ │ │ ├── 📁 iOS/ │ │ │ ├── 📄 启动页(Splash).fig │ │ │ ├── 📄 登录注册.fig │ │ │ ├── 📄 首页(Home).fig │ │ │ ├── 📄 记录页(Record).fig │ │ │ ├── 📄 历史记录(History).fig │ │ │ ├── 📄 个人中心(Profile).fig │ │ │ └── 📄 设置页(Settings).fig │ │ ├── 📁 Android/ │ │ │ ├── 📄 启动页(Splash).fig │ │ │ ├── 📄 登录注册.fig │ │ │ ├── 📄 首页(Home).fig │ │ │ ├── 📄 记录页(Record).fig │ │ │ ├── 📄 历史记录(History).fig │ │ │ ├── 📄 个人中心(Profile).fig │ │ │ └── 📄 设置页(Settings).fig │ │ ├── 📄 Figma项目在线链接.md │ │ └── 📄 设计稿版本更新记录.md │ │ │ ├── 📁 交互设计/ │ │ ├── 📄 高保真交互原型.fig # 可交互的Figma原型 │ │ ├── 📄 核心交互流程说明.docx │ │ ├── 📄 动效设计说明(Motion-Design).docx │ │ ├── 📄 手势交互说明.docx │ │ └── 📄 交互原型在线链接.md │ │ │ ├── 📁 可用性测试/ # 设计阶段的用户验证 │ │ ├── 📄 可用性测试计划.docx │ │ ├── 📄 测试任务脚本.docx │ │ ├── 📄 可用性测试记录/ │ │ │ ├── 📄 用户A测试记录.docx │ │ │ └── 📄 用户B测试记录.docx │ │ └── 📄 可用性测试分析报告.docx │ │ │ ├── 📁 切图素材/ │ │ ├── 📁 icons/ │ │ │ ├── 📁 1x/ │ │ │ ├── 📁 2x/ │ │ │ ├── 📁 3x/ │ │ │ └── 📁 svg/ │ │ ├── 📁 images/ │ │ │ ├── 📁 1x/ │ │ │ ├── 📁 2x/ │ │ │ └── 📁 3x/ │ │ ├── 📁 illustrations/ # 插画素材 │ │ ├── 📁 lottie/ # Lottie动画文件 │ │ └── 📁 app-icon/ │ │ ├── 📄 app-icon-1024x1024.png # iOS │ │ ├── 📄 app-icon-512x512.png # Android │ │ └── 📄 app-icon.svg │ │ │ ├── 📁 应用商店素材/ │ │ ├── 📁 screenshots/ │ │ │ ├── 📁 iOS/ │ │ │ │ ├── 📄 screenshot-01-6.5inch.png │ │ │ │ ├── 📄 screenshot-02-6.5inch.png │ │ │ │ └── 📄 screenshot-03-6.5inch.png │ │ │ └── 📁 Android/ │ │ │ ├── 📄 screenshot-01.png │ │ │ ├── 📄 screenshot-02.png │ │ │ └── 📄 screenshot-03.png │ │ ├── 📄 feature-graphic.png # Google Play特征图 │ │ ├── 📄 promotional-video.mp4 # 宣传视频 │ │ └── 📄 应用商店素材清单.xlsx │ │ │ ├── 📁 设计交付/ │ │ ├── 📄 蓝湖/摹客项目链接.md # 设计标注交付平台 │ │ └── 📄 设计走查清单(Design-QA-Checklist).xlsx │ │ │ └── 📄 开发线路图(Development-Roadmap).xlsx │ │ │ ═══════════════════════════════════════════════════ │ 阶段3.5:技术架构设计(架构师) │ ═══════════════════════════════════════════════════ │ ├── 📁 05-技术架构/ │ ├── 📄 技术选型方案.docx # 语言/框架/数据库/云服务 │ ├── 📄 系统架构设计文档.docx │ ├── 📄 系统架构图(Architecture-Diagram).png │ ├── 📄 技术栈说明(Tech-Stack).md │ ├── 📄 微服务/模块划分说明.docx │ ├── 📄 数据库设计文档/ │ │ ├── 📄 ER图(Entity-Relationship).png │ │ ├── 📄 数据字典.xlsx │ │ ├── 📄 数据库表结构设计.docx │ │ └── 📄 数据库索引策略.docx │ ├── 📄 缓存策略设计.docx │ ├── 📄 消息队列设计.docx │ ├── 📄 第三方服务集成方案.docx # 微信登录/支付/推送/OSS等 │ ├── 📄 容量规划与扩展方案.docx # 高并发/扩容策略 │ ├── 📄 容灾与备份方案.docx │ ├── 📁 安全架构/ │ │ ├── 📄 安全架构设计文档.docx │ │ ├── 📄 认证授权方案(Auth).docx # JWT/OAuth2/SSO │ │ ├── 📄 数据加密方案.docx # 传输加密/存储加密 │ │ ├── 📄 API安全规范.docx # 防SQL注入/XSS/CSRF │ │ ├── 📄 DDoS防护方案.docx │ │ └── 📄 支付安全方案.docx │ ├── 📄 编码规范(Coding-Standards).md │ ├── 📄 Git工作流规范(Git-Workflow).md │ ├── 📄 Code-Review规范.md │ └── 📄 技术方案评审记录.docx │ │ │ ═══════════════════════════════════════════════════ │ 阶段4:开干(开发实现) │ ═══════════════════════════════════════════════════ │ ├── 📁 06-开发/ │ │ │ ├── 📁 frontend/ # ===== 前端代码仓库 ===== │ │ │ │ │ ├── 📁 mobile-app/ # 移动端App │ │ │ ├── 📄 README.md │ │ │ ├── 📄 .gitignore │ │ │ ├── 📄 pubspec.yaml # Flutter示例 / package.json (RN) │ │ │ ├── 📁 lib/ # Flutter源码 / src/ (RN) │ │ │ │ ├── 📁 main.dart # 入口文件 │ │ │ │ ├── 📁 config/ # 配置文件 │ │ │ │ │ ├── 📄 app_config.dart │ │ │ │ │ ├── 📄 routes.dart # 路由配置 │ │ │ │ │ └── 📄 theme.dart # 主题配置 │ │ │ │ ├── 📁 models/ # 数据模型 │ │ │ │ │ ├── 📄 user_model.dart │ │ │ │ │ └── 📄 water_record_model.dart │ │ │ │ ├── 📁 views/ # 页面/视图 │ │ │ │ │ ├── 📁 splash/ │ │ │ │ │ ├── 📁 auth/ │ │ │ │ │ │ ├── 📄 login_page.dart │ │ │ │ │ │ └── 📄 register_page.dart │ │ │ │ │ ├── 📁 home/ │ │ │ │ │ │ └── 📄 home_page.dart │ │ │ │ │ ├── 📁 record/ │ │ │ │ │ │ └── 📄 add_record_page.dart │ │ │ │ │ ├── 📁 history/ │ │ │ │ │ │ └── 📄 history_page.dart │ │ │ │ │ ├── 📁 profile/ │ │ │ │ │ │ └── 📄 profile_page.dart │ │ │ │ │ └── 📁 settings/ │ │ │ │ │ └── 📄 settings_page.dart │ │ │ │ ├── 📁 widgets/ # 公共组件 │ │ │ │ │ ├── 📄 custom_button.dart │ │ │ │ │ ├── 📄 water_progress_ring.dart │ │ │ │ │ └── 📄 bottom_nav_bar.dart │ │ │ │ ├── 📁 controllers/ # 控制器/ViewModel │ │ │ │ │ ├── 📄 auth_controller.dart │ │ │ │ │ ├── 📄 home_controller.dart │ │ │ │ │ └── 📄 record_controller.dart │ │ │ │ ├── 📁 services/ # 服务层 │ │ │ │ │ ├── 📄 api_service.dart # API请求封装 │ │ │ │ │ ├── 📄 auth_service.dart │ │ │ │ │ ├── 📄 storage_service.dart # 本地存储 │ │ │ │ │ ├── 📄 notification_service.dart # 推送通知 │ │ │ │ │ └── 📄 analytics_service.dart # 埋点服务 │ │ │ │ ├── 📁 utils/ # 工具类 │ │ │ │ │ ├── 📄 constants.dart │ │ │ │ │ ├── 📄 validators.dart │ │ │ │ │ ├── 📄 date_utils.dart │ │ │ │ │ └── 📄 logger.dart │ │ │ │ ├── 📁 network/ # 网络层 │ │ │ │ │ ├── 📄 http_client.dart │ │ │ │ │ ├── 📄 api_endpoints.dart │ │ │ │ │ └── 📄 interceptors.dart │ │ │ │ └── 📁 l10n/ # 国际化/多语言 │ │ │ │ ├── 📄 app_zh.arb │ │ │ │ ├── 📄 app_en.arb │ │ │ │ └── 📄 app_ja.arb │ │ │ ├── 📁 assets/ # 静态资源 │ │ │ │ ├── 📁 images/ │ │ │ │ ├── 📁 icons/ │ │ │ │ ├── 📁 fonts/ │ │ │ │ └── 📁 lottie/ │ │ │ ├── 📁 test/ # 前端单元测试 │ │ │ │ ├── 📁 unit/ │ │ │ │ │ ├── 📄 user_model_test.dart │ │ │ │ │ └── 📄 api_service_test.dart │ │ │ │ ├── 📁 widget/ │ │ │ │ │ └── 📄 home_page_test.dart │ │ │ │ └── 📁 integration/ │ │ │ │ └── 📄 app_test.dart │ │ │ ├── 📁 android/ # Android原生配置 │ │ │ │ ├── 📁 app/ │ │ │ │ │ ├── 📄 build.gradle │ │ │ │ │ └── 📁 src/main/ │ │ │ │ │ └── 📄 AndroidManifest.xml │ │ │ │ └── 📄 build.gradle │ │ │ └── 📁 ios/ # iOS原生配置 │ │ │ ├── 📁 Runner/ │ │ │ │ ├── 📄 Info.plist │ │ │ │ └── 📄 AppDelegate.swift │ │ │ └── 📄 Podfile │ │ │ │ │ └── 📁 web-admin/ # 管理后台前端(如有) │ │ ├── 📄 README.md │ │ ├── 📄 package.json │ │ ├── 📁 src/ │ │ │ ├── 📁 pages/ │ │ │ ├── 📁 components/ │ │ │ ├── 📁 api/ │ │ │ ├── 📁 store/ │ │ │ ├── 📁 router/ │ │ │ ├── 📁 utils/ │ │ │ └── 📁 assets/ │ │ ├── 📁 public/ │ │ └── 📄 vite.config.js # 或 webpack.config.js │ │ │ ├── 📁 backend/ # ===== 后端代码仓库 ===== │ │ ├── 📄 README.md │ │ ├── 📄 .gitignore │ │ ├── 📄 .env.example # 环境变量示例 │ │ ├── 📄 docker-compose.yml # 本地开发Docker编排 │ │ ├── 📄 Dockerfile │ │ ├── 📄 Makefile # 常用命令快捷方式 │ │ │ │ │ ├── 📁 src/ # 后端源码 │ │ │ ├── 📁 config/ # 配置管理 │ │ │ │ ├── 📄 database.config.js │ │ │ │ ├── 📄 redis.config.js │ │ │ │ ├── 📄 app.config.js │ │ │ │ └── 📄 logger.config.js │ │ │ ├── 📁 controllers/ # 控制器层 │ │ │ │ ├── 📄 auth.controller.js │ │ │ │ ├── 📄 user.controller.js │ │ │ │ ├── 📄 water-record.controller.js │ │ │ │ ├── 📄 notification.controller.js │ │ │ │ └── 📄 admin.controller.js │ │ │ ├── 📁 services/ # 业务逻辑层 │ │ │ │ ├── 📄 auth.service.js │ │ │ │ ├── 📄 user.service.js │ │ │ │ ├── 📄 water-record.service.js │ │ │ │ ├── 📄 notification.service.js │ │ │ │ ├── 📄 payment.service.js │ │ │ │ └── 📄 analytics.service.js │ │ │ ├── 📁 models/ # 数据模型/ORM │ │ │ │ ├── 📄 user.model.js │ │ │ │ ├── 📄 water-record.model.js │ │ │ │ ├── 📄 notification.model.js │ │ │ │ └── 📄 payment.model.js │ │ │ ├── 📁 routes/ # 路由定义 │ │ │ │ ├── 📄 index.js │ │ │ │ ├── 📄 auth.routes.js │ │ │ │ ├── 📄 user.routes.js │ │ │ │ ├── 📄 water-record.routes.js │ │ │ │ └── 📄 admin.routes.js │ │ │ ├── 📁 middlewares/ # 中间件 │ │ │ │ ├── 📄 auth.middleware.js # JWT验证 │ │ │ │ ├── 📄 rate-limiter.middleware.js # 限流 │ │ │ │ ├── 📄 validator.middleware.js # 参数校验 │ │ │ │ ├── 📄 error-handler.middleware.js # 全局错误处理 │ │ │ │ ├── 📄 cors.middleware.js │ │ │ │ └── 📄 logger.middleware.js # 请求日志 │ │ │ ├── 📁 utils/ # 工具函数 │ │ │ │ ├── 📄 encryption.js # 加密工具 │ │ │ │ ├── 📄 validator.js │ │ │ │ ├── 📄 response.js # 统一响应格式 │ │ │ │ ├── 📄 date-helper.js │ │ │ │ └── 📄 file-upload.js │ │ │ ├── 📁 jobs/ # 定时任务 │ │ │ │ ├── 📄 reminder.job.js # 喝水提醒推送 │ │ │ │ ├── 📄 data-cleanup.job.js │ │ │ │ └── 📄 report-generation.job.js │ │ │ ├── 📁 events/ # 事件/消息队列 │ │ │ │ ├── 📄 event-emitter.js │ │ │ │ └── 📄 handlers/ │ │ │ │ ├── 📄 user-registered.handler.js │ │ │ │ └── 📄 record-added.handler.js │ │ │ └── 📄 app.js # 应用入口 │ │ │ │ │ ├── 📁 database/ # 数据库相关 │ │ │ ├── 📁 migrations/ # 数据库迁移文件 │ │ │ │ ├── 📄 001_create_users_table.sql │ │ │ │ ├── 📄 002_create_water_records_table.sql │ │ │ │ ├── 📄 003_create_notifications_table.sql │ │ │ │ └── 📄 004_create_payments_table.sql │ │ │ ├── 📁 seeds/ # 数据填充/种子数据 │ │ │ │ ├── 📄 001_seed_users.sql │ │ │ │ └── 📄 002_seed_test_data.sql │ │ │ └── 📄 schema.sql # 完整建表脚本 │ │ │ │ │ ├── 📁 tests/ # 后端测试 │ │ │ ├── 📁 unit/ │ │ │ │ ├── 📄 auth.service.test.js │ │ │ │ ├── 📄 user.service.test.js │ │ │ │ └── 📄 water-record.service.test.js │ │ │ ├── 📁 integration/ │ │ │ │ ├── 📄 auth.api.test.js │ │ │ │ ├── 📄 user.api.test.js │ │ │ │ └── 📄 water-record.api.test.js │ │ │ ├── 📁 e2e/ │ │ │ │ └── 📄 full-flow.test.js │ │ │ └── 📁 fixtures/ # 测试夹具/模拟数据 │ │ │ ├── 📄 users.fixture.js │ │ │ └── 📄 records.fixture.js │ │ │ │ │ ├── 📁 docs/ # 后端文档 │ │ │ └── 📄 swagger.yaml # OpenAPI/Swagger定义 │ │ │ │ │ └── 📁 scripts/ # 运维脚本 │ │ ├── 📄 backup-db.sh │ │ ├── 📄 restore-db.sh │ │ ├── 📄 init-db.sh │ │ └── 📄 deploy.sh │ │ │ │ │ ├── 📁 api-docs/ # ===== 接口文档 ===== │ │ ├── 📄 API接口文档(总).md │ │ ├── 📄 Swagger-OpenAPI在线链接.md │ │ ├── 📄 Apifox项目链接.md │ │ ├── 📁 postman-collections/ # Postman导出集合 │ │ │ ├── 📄 Auth-APIs.postman_collection.json │ │ │ ├── 📄 User-APIs.postman_collection.json │ │ │ ├── 📄 Record-APIs.postman_collection.json │ │ │ └── 📄 environment.postman_environment.json │ │ └── 📄 接口变更日志.md │ │ │ └── 📁 build-output/ # ===== 构建产物 ===== │ ├── 📁 android/ │ │ ├── 📄 app-debug.apk │ │ ├── 📄 app-release.apk │ │ └── 📄 app-release.aab # Android App Bundle │ ├── 📁 ios/ │ │ └── 📄 app-release.ipa │ └── 📄 构建版本记录.md │ │ │ ═══════════════════════════════════════════════════ │ 阶段5:挑毛病(测试验证) │ ═══════════════════════════════════════════════════ │ ├── 📁 07-测试/ │ ├── 📁 测试计划/ │ │ ├── 📄 总体测试计划.docx │ │ ├── 📄 测试策略说明.docx │ │ └── 📄 测试环境配置说明.docx │ │ │ ├── 📁 测试用例/ │ │ ├── 📄 功能测试用例.xlsx │ │ ├── 📄 接口测试用例.xlsx │ │ ├── 📄 兼容性测试用例.xlsx # 设备/系统版本矩阵 │ │ ├── 📄 性能测试用例.xlsx │ │ ├── 📄 安全测试用例.xlsx │ │ ├── 📄 UI走查测试用例.xlsx │ │ ├── 📄 回归测试用例.xlsx │ │ └── 📄 冒烟测试用例.xlsx │ │ │ ├── 📁 自动化测试/ │ │ ├── 📁 ui-automation/ # UI自动化 │ │ │ ├── 📄 README.md │ │ │ ├── 📁 test-scripts/ │ │ │ │ ├── 📄 login_test.py # Appium脚本 │ │ │ │ ├── 📄 add_record_test.py │ │ │ │ └── 📄 history_test.py │ │ │ └── 📁 page-objects/ # 页面对象模式 │ │ │ ├── 📄 login_page.py │ │ │ └── 📄 home_page.py │ │ ├── 📁 api-automation/ # 接口自动化 │ │ │ ├── 📄 README.md │ │ │ └── 📁 test-scripts/ │ │ │ ├── 📄 auth_api_test.py │ │ │ └── 📄 record_api_test.py │ │ └── 📁 performance-test/ # 性能测试脚本 │ │ ├── 📄 README.md │ │ ├── 📄 load-test.jmx # JMeter脚本 │ │ ├── 📄 stress-test.jmx │ │ └── 📄 concurrent-users-test.jmx │ │ │ ├── 📁 安全测试/ │ │ ├── 📄 安全测试方案.docx │ │ ├── 📄 渗透测试报告.docx # OWASP ZAP / Burp Suite │ │ ├── 📄 漏洞扫描报告.docx # Nessus等 │ │ ├── 📄 代码安全审计报告.docx │ │ └── 📄 安全加固建议.docx │ │ │ ├── 📁 测试报告/ │ │ ├── 📄 功能测试报告-Sprint01.docx │ │ ├── 📄 功能测试报告-Sprint02.docx │ │ ├── 📄 接口测试报告.docx │ │ ├── 📄 兼容性测试报告.docx │ │ ├── 📄 性能测试报告.docx │ │ ├── 📄 安全测试报告.docx │ │ ├── 📄 用户体验测试报告(UAT).docx │ │ └── 📄 测试总结报告(上线评审).docx # 上线决策依据 │ │ │ ├── 📁 缺陷管理/ │ │ ├── 📄 Bug管理规范.docx │ │ ├── 📄 Bug统计分析报告.xlsx │ │ ├── 📄 遗留Bug风险评估.xlsx │ │ └── 📄 Jira/禅道项目链接.md │ │ │ └── 📁 测试分发/ │ ├── 📄 TestFlight配置说明.md # iOS测试分发 │ ├── 📄 蒲公英/fir.im分发说明.md # Android测试分发 │ └── 📄 测试版本发布记录.xlsx │ │ │ ═══════════════════════════════════════════════════ │ 阶段6:交钥匙(上线部署) │ ═══════════════════════════════════════════════════ │ ├── 📁 08-部署上线/ │ ├── 📁 基础设施/ │ │ ├── 📄 服务器架构图.png │ │ ├── 📄 服务器配置清单.xlsx # 阿里云/雨云实例配置 │ │ ├── 📄 网络拓扑图.png │ │ ├── 📄 域名配置说明.docx │ │ ├── 📄 SSL证书配置说明.docx # Let's Encrypt / 阿里云SSL │ │ ├── 📄 CDN配置说明.docx │ │ └── 📄 负载均衡配置.docx │ │ │ ├── 📁 IaC-基础设施即代码/ # Infrastructure as Code │ │ ├── 📁 terraform/ # Terraform配置 │ │ │ ├── 📄 main.tf │ │ │ ├── 📄 variables.tf │ │ │ ├── 📄 outputs.tf │ │ │ └── 📄 terraform.tfvars.example │ │ ├── 📁 ansible/ # Ansible配置管理 │ │ │ ├── 📄 playbook.yml │ │ │ ├── 📁 roles/ │ │ │ │ ├── 📁 nginx/ │ │ │ │ ├── 📁 docker/ │ │ │ │ ├── 📁 mysql/ │ │ │ │ └── 📁 app/ │ │ │ └── 📄 inventory/ │ │ │ ├── 📄 production.ini │ │ │ └── 📄 staging.ini │ │ └── 📁 docker/ │ │ ├── 📄 docker-compose.prod.yml │ │ ├── 📄 docker-compose.staging.yml │ │ ├── 📄 Dockerfile.backend │ │ ├── 📄 Dockerfile.frontend │ │ └── 📄 nginx.conf │ │ │ ├── 📁 kubernetes/ # K8s编排(如使用) │ │ ├── 📁 manifests/ │ │ │ ├── 📄 namespace.yaml │ │ │ ├── 📄 deployment-backend.yaml │ │ │ ├── 📄 deployment-frontend.yaml │ │ │ ├── 📄 service-backend.yaml │ │ │ ├── 📄 service-frontend.yaml │ │ │ ├── 📄 ingress.yaml │ │ │ ├── 📄 configmap.yaml │ │ │ ├── 📄 secret.yaml.example │ │ │ ├── 📄 hpa.yaml # 自动扩缩容 │ │ │ └── 📄 pvc.yaml # 持久化存储 │ │ └── 📁 helm/ # Helm Chart(如使用) │ │ ├── 📄 Chart.yaml │ │ ├── 📄 values.yaml │ │ └── 📁 templates/ │ │ │ ├── 📁 CI-CD/ # 持续集成/持续交付 │ │ ├── 📄 .github/ │ │ │ └── 📁 workflows/ │ │ │ ├── 📄 ci-backend.yml # 后端CI流水线 │ │ │ ├── 📄 ci-frontend.yml # 前端CI流水线 │ │ │ ├── 📄 cd-staging.yml # 预发布环境CD │ │ │ ├── 📄 cd-production.yml # 生产环境CD │ │ │ └── 📄 security-scan.yml # 安全扫描 │ │ ├── 📄 Jenkinsfile # Jenkins流水线(二选一) │ │ └── 📄 CI-CD流程说明.docx │ │ │ ├── 📁 环境配置/ │ │ ├── 📄 环境配置对比表.xlsx # 开发/测试/预发/生产 │ │ ├── 📄 环境变量配置说明.docx │ │ ├── 📄 Nginx配置文件/ │ │ │ ├── 📄 nginx-production.conf │ │ │ └── 📄 nginx-staging.conf │ │ └── 📄 防火墙规则配置.docx │ │ │ ├── 📁 备案与合规/ │ │ ├── 📄 ICP备案证明.pdf │ │ ├── 📄 ICP备案申请材料/ │ │ │ ├── 📄 营业执照.pdf │ │ │ ├── 📄 法人身份证.pdf │ │ │ └── 📄 网站备案真实性核验单.pdf │ │ ├── 📄 公安备案证明.pdf │ │ └── 📄 等保测评报告.pdf # 如适用 │ │ │ ├── 📁 应用商店上架/ │ │ ├── 📁 iOS-AppStore/ │ │ │ ├── 📄 App-Store-Connect配置说明.docx │ │ │ ├── 📄 应用描述文案(中文).txt │ │ │ ├── 📄 应用描述文案(英文).txt │ │ │ ├── 📄 关键词列表.txt │ │ │ ├── 📄 隐私政策URL.txt │ │ │ ├── 📄 审核备注.txt │ │ │ └── 📄 App审核指南对照检查表.xlsx │ │ ├── 📁 Android-各市场/ │ │ │ ├── 📁 Google-Play/ │ │ │ │ ├── 📄 上架配置说明.docx │ │ │ │ └── 📄 内容分级问卷.docx │ │ │ ├── 📁 华为应用市场/ │ │ │ │ └── 📄 上架配置说明.docx │ │ │ ├── 📁 小米应用商店/ │ │ │ │ └── 📄 上架配置说明.docx │ │ │ ├── 📁 OPPO-VIVO应用商店/ │ │ │ │ └── 📄 上架配置说明.docx │ │ │ ├── 📁 应用宝/ │ │ │ │ └── 📄 上架配置说明.docx │ │ │ └── 📄 各市场账号与费用汇总.xlsx │ │ ├── 📄 应用商店素材清单.xlsx │ │ ├── 📄 版本发布检查清单(Release-Checklist).xlsx │ │ └── 📄 应用审核被拒处理记录.docx │ │ │ ├── 📁 运维手册/ │ │ ├── 📄 运维操作手册.docx │ │ ├── 📄 日常巡检清单.xlsx │ │ ├── 📄 数据库备份恢复手册.docx │ │ ├── 📄 紧急预案(Emergency-Plan).docx # 宕机/数据泄露/DDoS等 │ │ ├── 📄 服务扩容缩容指南.docx │ │ ├── 📄 故障排查手册(Troubleshooting).docx │ │ └── 📄 值班轮换表.xlsx │ │ │ └── 📁 账号交接/ │ ├── 📄 账号与密钥交接清单.xlsx # 加密存储 │ ├── 📄 服务器SSH密钥管理说明.docx │ ├── 📄 第三方服务账号清单.xlsx # 云服务/CDN/SMS/支付等 │ ├── 📄 应用商店开发者账号清单.xlsx │ └── 📄 Vault密钥管理配置说明.docx │ │ │ ═══════════════════════════════════════════════════ │ 阶段7:试运行(持续运营) │ ═══════════════════════════════════════════════════ │ ├── 📁 09-运营/ │ ├── 📁 监控与可观测性/ # 三大支柱 │ │ ├── 📁 监控配置/ │ │ │ ├── 📄 Grafana-Dashboard配置.json │ │ │ ├── 📄 Prometheus告警规则.yml │ │ │ ├── 📄 告警通知渠道配置.docx # 钉钉/飞书/企微/邮件 │ │ │ └── 📄 监控指标清单.xlsx # 关键监控指标定义 │ │ ├── 📁 日志管理/ # Logging │ │ │ ├── 📄 ELK-Stack部署配置.docx │ │ │ ├── 📄 日志级别与格式规范.md │ │ │ └── 📄 日志保留策略.docx │ │ ├── 📁 链路追踪/ # Tracing │ │ │ └── 📄 链路追踪配置说明.docx # Jaeger / SkyWalking │ │ └── 📄 可观测性体系建设方案.docx │ │ │ ├── 📁 数据分析/ │ │ ├── 📄 埋点方案设计.xlsx # 事件名/参数/触发条件 │ │ ├── 📄 埋点实施清单.xlsx │ │ ├── 📄 核心指标定义(北极星指标).docx # DAU/MAU/留存率/转化率 │ │ ├── 📁 数据报告/ │ │ │ ├── 📄 周数据报告-W01.docx │ │ │ ├── 📄 周数据报告-W02.docx │ │ │ ├── 📄 月度数据分析报告-M01.docx │ │ │ └── 📄 季度数据分析报告-Q1.docx │ │ ├── 📁 AB测试/ │ │ │ ├── 📄 A-B测试方案-首页改版.docx │ │ │ ├── 📄 A-B测试结果报告-首页改版.docx │ │ │ └── 📄 A-B测试记录汇总.xlsx │ │ └── 📄 数据分析工具配置说明.docx # 友盟+/神策/GrowingIO/Firebase │ │ │ ├── 📁 用户反馈/ │ │ ├── 📄 用户反馈收集渠道汇总.docx │ │ ├── 📄 应用商店评论监控记录.xlsx │ │ ├── 📄 用户反馈分析报告-M01.docx │ │ ├── 📄 NPS调查结果.xlsx # 净推荐值 │ │ └── 📄 用户FAQ常见问题库.docx │ │ │ ├── 📁 运营活动/ │ │ ├── 📁 拉新活动/ │ │ │ ├── 📄 活动方案-春节拉新.docx │ │ │ ├── 📄 活动执行清单.xlsx │ │ │ └── 📄 活动总结报告.docx │ │ ├── 📁 留存活动/ │ │ │ ├── 📄 签到打卡功能方案.docx │ │ │ └── 📄 积分奖励体系设计.docx │ │ ├── 📁 裂变活动/ │ │ │ ├── 📄 邀请机制设计.docx │ │ │ └── 📄 分享裂变活动方案.docx │ │ └── 📁 推广渠道/ │ │ ├── 📄 推广渠道策略.docx │ │ ├── 📄 广告投放计划.xlsx # 热云/AppsFlyer归因 │ │ ├── 📄 ASO优化方案.docx # 应用商店搜索优化 │ │ ├── 📄 微信公众号运营计划.docx │ │ ├── 📄 抖音推广计划.docx │ │ └── 📄 渠道ROI分析报告.xlsx │ │ │ ├── 📁 版本迭代/ │ │ ├── 📄 版本迭代路线图(Roadmap).xlsx │ │ ├── 📁 v1.0/ │ │ │ ├── 📄 v1.0-需求清单.xlsx │ │ │ ├── 📄 v1.0-发布说明(Release-Notes).md │ │ │ └── 📄 v1.0-上线复盘.docx │ │ ├── 📁 v1.1/ │ │ │ ├── 📄 v1.1-需求清单.xlsx │ │ │ ├── 📄 v1.1-发布说明(Release-Notes).md │ │ │ └── 📄 v1.1-上线复盘.docx │ │ ├── 📁 v2.0/ │ │ │ ├── 📄 v2.0-需求清单.xlsx │ │ │ └── 📄 v2.0-发布说明(Release-Notes).md │ │ └── 📄 技术债务偿还计划.xlsx # 技术债务管理 │ │ │ ├── 📁 用户支持/ │ │ ├── 📄 用户手册.docx │ │ ├── 📄 帮助中心内容.md │ │ ├── 📄 视频教程脚本.docx │ │ └── 📄 客服话术模板.docx │ │ │ └── 📁 运营报告/ │ ├── 📄 月度运营报告-M01.docx │ ├── 📄 季度运营报告-Q1.docx │ └── 📄 年度运营总结报告.docx │ │ │ ═══════════════════════════════════════════════════ │ 阶段8:拆机(产品下线) │ ═══════════════════════════════════════════════════ │ ├── 📁 10-产品下线/ │ ├── 📄 产品下线决策评估.docx │ ├── 📄 产品下线计划书.docx # 时间表/步骤/责任人 │ ├── 📁 用户告知/ │ │ ├── 📄 下线公告文案-App内推送.txt │ │ ├── 📄 下线公告文案-邮件通知.txt │ │ ├── 📄 下线公告文案-官网.txt │ │ └── 📄 下线公告文案-社交媒体.txt │ ├── 📁 用户迁移/ │ │ ├── 📄 用户迁移方案.docx │ │ ├── 📄 数据导出工具使用说明.docx │ │ └── 📄 用户迁移执行报告.docx │ ├── 📁 数据归档/ │ │ ├── 📄 数据归档方案.docx │ │ ├── 📄 数据库备份清单.xlsx # mysqldump/pg_dump记录 │ │ ├── 📄 OSS/S3归档存储配置.docx │ │ ├── 📄 数据保留与销毁策略.docx # GDPR/个保法合规 │ │ └── 📄 数据归档完成确认单.pdf │ ├── 📁 服务关闭/ │ │ ├── 📄 服务器资源释放清单.xlsx │ │ ├── 📄 域名处理方案.docx │ │ ├── 📄 第三方服务关闭清单.xlsx │ │ ├── 📄 应用商店下架确认记录.xlsx │ │ └── 📄 账号注销清单.xlsx │ └── 📁 项目复盘/ │ ├── 📄 项目复盘总结报告.docx │ ├── 📄 经验教训清单(Lessons-Learned).xlsx │ ├── 📄 技术沉淀文档.docx # 可复用的技术方案 │ └── 📄 项目归档索引.docx # 指向所有历史文档 │ │ │ ═══════════════════════════════════════════════════ │ 法律合规 & 安全(贯穿全程) │ ═══════════════════════════════════════════════════ │ ├── 📁 11-法律合规/ │ ├── 📄 用户协议(Terms-of-Service).docx │ ├── 📄 用户协议(Terms-of-Service).html # 线上版本 │ ├── 📄 隐私政策(Privacy-Policy).docx │ ├── 📄 隐私政策(Privacy-Policy).html # 线上版本 │ ├── 📄 儿童隐私保护政策.docx # 如适用 │ ├── 📄 Cookie政策.docx # Web端如适用 │ ├── 📄 个人信息保护影响评估报告(PIA).docx # 中国《个保法》 │ ├── 📄 GDPR合规检查清单.xlsx # 如涉及欧盟用户 │ ├── 📄 数据处理协议(DPA).docx # 与第三方数据处理方 │ ├── 📄 第三方SDK合规审查记录.xlsx # 微信/支付宝/推送等 │ ├── 📄 著作权登记证书.pdf # 软件著作权 │ ├── 📄 商标注册证书.pdf │ ├── 📄 知识产权清单.xlsx │ ├── 📄 开源协议合规审查.xlsx # 使用的开源组件License │ └── 📄 法务审核记录.xlsx │ ├── 📁 12-安全管理/ │ ├── 📄 安全管理制度.docx │ ├── 📄 安全开发生命周期(SDL).docx │ ├── 📄 安全基线配置标准.docx │ ├── 📄 安全事件应急响应预案.docx │ ├── 📄 安全培训记录.xlsx │ ├── 📁 安全审计/ │ │ ├── 📄 代码安全扫描报告.docx # SonarQube / Snyk │ │ ├── 📄 依赖漏洞扫描报告.docx # npm audit / OWASP │ │ ├── 📄 渗透测试报告.docx │ │ └── 📄 安全整改跟踪表.xlsx │ └── 📁 密钥管理/ │ ├── 📄 密钥管理规范.docx │ ├── 📄 证书到期监控表.xlsx │ └── 📄 密钥轮换记录.xlsx │ │ │ ═══════════════════════════════════════════════════ │ 国际化(如需要) │ ═══════════════════════════════════════════════════ │ ├── 📁 13-国际化(i18n)/ │ ├── 📄 国际化方案设计.docx │ ├── 📄 多语言翻译管理.xlsx # 源语言 → 各目标语言 │ ├── 📁 翻译文件/ │ │ ├── 📄 zh-CN.json # 简体中文 │ │ ├── 📄 zh-TW.json # 繁体中文 │ │ ├── 📄 en-US.json # 英语 │ │ ├── 📄 ja-JP.json # 日语 │ │ └── 📄 ko-KR.json # 韩语 │ ├── 📄 本地化适配清单.xlsx # 时间/货币/日期/支付 │ ├── 📄 各地区法律合规对照表.xlsx │ └── 📄 各地区应用商店上架差异说明.docx │ │ │ ═══════════════════════════════════════════════════ │ 团队协作 & 知识库 │ ═══════════════════════════════════════════════════ │ ├── 📁 14-团队知识库/ │ ├── 📁 新人入职/ │ │ ├── 📄 新人入职指南.docx │ │ ├── 📄 开发环境搭建指南.md │ │ ├── 📄 项目架构介绍.pptx │ │ ├── 📄 代码规范速查手册.md │ │ └── 📄 常用工具账号申请流程.docx │ ├── 📁 技术文档/ │ │ ├── 📄 技术方案沉淀-消息推送.md │ │ ├── 📄 技术方案沉淀-支付系统.md │ │ ├── 📄 技术方案沉淀-文件上传.md │ │ ├── 📄 踩坑记录.md │ │ └── 📄 最佳实践总结.md │ ├── 📁 培训资料/ │ │ ├── 📄 Flutter开发培训.pptx │ │ ├── 📄 Git工作流培训.pptx │ │ └── 📄 安全开发培训.pptx │ └── 📁 模板库/ │ ├── 📄 需求文档模板.docx │ ├── 📄 技术方案模板.docx │ ├── 📄 测试用例模板.xlsx │ ├── 📄 Bug报告模板.md │ ├── 📄 上线检查清单模板.xlsx │ └── 📄 项目周报模板.docx │ │ │ ═══════════════════════════════════════════════════ │ 合同与商务(如涉及外包/客户项目) │ ═══════════════════════════════════════════════════ │ └── 📁 15-合同商务/ ├── 📄 项目合同.pdf ├── 📄 保密协议(NDA).pdf ├── 📄 服务级别协议(SLA).pdf ├── 📄 项目报价单.xlsx ├── 📄 付款里程碑与发票记录.xlsx ├── 📄 项目变更单记录.xlsx ├── 📄 项目验收确认单.pdf └── 📄 售后维保协议.pdf
App 开发流程地图(角色+阶段)如下:
| 阶段 | 关键角色 | 核心内容 |
|---|---|---|
| 1. 需求调研 | 客户经理 / 产品经理 | 确定做什么,给谁用,痛点在哪 |
| 2. 市场分析 | 产品经理 | 竞品调研、定位差异化 |
| 3. 原型设计 | 产品经理 | 画原型、设计用户流程、确认MVP |
| 4. 视觉设计 | UI/UX设计师 | 完成界面、交互、用户体验设计 |
| 5. 技术架构 | 架构师 | 决定技术蓝图、架构风格、选型 |
| 6. 项目管理 | 项目经理 | 制定计划、协调人力、管理风险 |
| 7. 开发实现 | 前后端工程师 | 编码实现、前后联调、接口设计 |
| 8. 数据库设计 | 数据库管理员 | 建表、建索引、数据模型设计 |
| 9. 自动化部署 | DevOps工程师 | 配置CI/CD、测试环境、发布流程 |
| 10. 测试验证 | 测试工程师 | 功能、性能、安全、兼容性测试 |
| 11. 法律合规 | 法务/合规专员 | 隐私协议、版权、合规审核 |
| 12. 上线部署 | 运维工程师 | 部署服务器、申请域名/备案 |
| 13. 上架发布 | 运维 / 产品 | 提交应用商店、审核资料准备 |
| 14. 用户运营 | 运营 / 市场 | 反馈收集、数据分析、增长策略 |
| 15. 安全保障 | 安全工程师 | 加密、权限控制、防攻击 |
| 16. 持续更新 | 开发+产品 | 版本迭代、功能优化、bug修复 |
浙公网安备 33010602011771号