OmniGroup的软件都不便宜,但OmniOutliner算是里边的最便宜的一款了,人民币195就可以到手了。
OmniOutliner在你没有纸笔的情况下,可以快速地让你想到什么就整理什么,这样对于我们天天面对着需求不断需要变更的研发同事来说,简直是一个福音。
给大家看看最近的一次提过来的需求(最近发现别人提给我的需求都是很紧急的类型…)
这样子其实很方便,在你在大脑过程中,只要想什么就填写什么就好了,这比Markdown方便一些。
同时你直接拷贝文本的时候,是可以直接放到Markdown里边使用的。
以下拷贝出来的内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
- Pro APK插件自升级管理
- 第 1节 背景来源
- 1A 初步来源
- Pro 支持人工智能团队研发的人脸识别功能
- 此功能是一个APK插件
- 跟随系统升级节奏较慢,又或者比较重量级,又或者不符合现在的快速迭代节奏
- 期望可以提供一个较快的升级方式
- 1B 其他信息
- 此需求是合理的,因为APP的升级管理功能始终还是需要实现的,以方便我们内部或ToB业务进行使用
- 第 2 节 APK升级方式与原理
- 2A 简单原理
- Android系统自带的pm工具,正如其名,package manager,专门负责管理安装包的
- pm install 可以直接安装
- pm install -r 可以覆盖进行安装(若已安装的话)
- Android系统自带了am工具,可以使用am start -n ‘package_name/activity_name’拉进进程
- 附加问题:调用时需要提供一个启动的入口名字,如”MainActivity”,这需要开发者提交到我们平台
- 如有更好am start方式,请告知一下(考虑一个App可能会注册多个Launcher入口)
- 待验证问题
- 针对系统签名应用,第一次直接使用pm install是否可以正常使用app?(曾经做Android系统移植时遇到类似问题)
- 第3节 开发内容
- 客户端Agent
- 功能描述
- 定期查询apk列表(细节:将自己SN发给服务器,由服务器下载APK列表)
- 与本地的版本进行比对→升级→启动应用程序于后台运行
- 安全需求
- 对APK重新签名,以保证APK是通过我们渠道进行下发的
- 一些细节疑点
- 考虑卸载的机制(不在apk列表是否立即进行卸载?)
- 停止APK的机制
- 启动APK的机制
- 外网服务器(公网使用)
- 简要需求:
- 依据SN号获得apk列表信息
- 定时同步内网设置的灰度规则、APK信息
- 附加需求:
- Agent请求时是否需要附加其他的信息,如已安装app列表?
- 此App的launcher入口信息
- 此App的是否应该启动(start)
- 不在列表内的App是否应当被卸载?
- 其他需求:
- 目前从研发角度考虑的是这些信息,其他需求如有可以一并提出,预留占坑
- 内网服务器(对内管理)
- 提供灰度机制
- 批量SN号灰度导入
- 提供APK上传
- 提供APK自动签名
- 权限管理(谁可以操作APK发布以及灰度 )
- 展示APK应用程序使用的权限
- 第4节 北京方面的应用商店
- 共同部分
- 升级仓库 → 外网服务器
- 规则服务器 → 内网服务器
- apk应用商店 → 客户端agent
- 待定部分
- Apk管理器
- 以接口形式提供对app管理,主要服务于kjapi的接口调用时使用(针对主动升级模式)
- 第5节 开发排期
- 初步排期
- 初步可能需要排到5月底才能启动
- 若排期暂时跟不上,可以随整包固件升级一起将APK插件进行升级
- 哪些事情阻碍了排期?——现阶段同样重要的事情
- 紧急:Pro基础数据采集(涉及结算因子的一些数据采集,以及数据加密)
- 紧急:将Pro采集的Agent平移至一代,以代换systeminfo,以提高安全性
|
当然,色彩就没有那么好看了,最重要的是PM小姐姐看到你的文档会更想和你了解一下细节。~