精华内容
下载资源
问答
  • 2020-09-19 17:45:07

    从一个文档复制粘贴到另一个文档时把endnote插入的参考文献也复制过去

    之前我因为自己已经写好一小篇文章,想把部分内容直接复制粘贴到自己的论文中去,结果发现参考文献没有跟着进去,就在网上找了各种方法没有成功,只能再一个个对照之前文章的参考文献插入,就很麻烦!
    然后就在解决endnote插入的一个小问题的时候,无意中发现了这个功能,突然就打开了新世界的大门(可能是之前太笨,没有好好读功能键的英文)

    解决办法如下(相当简单):

    首先,找到文档中的endnote x9的工具栏
    在这里插入图片描述

    然后在打开endnote的前提下,把另一个文档(标注了参考文献的)的内容复制粘贴过来,然后在点那个Edit&Manange Citation按钮,就大功告成了。这个时候你再看你的文档下面,就会多了几行参考文献。【欧耶】
    在这里插入图片描述

    更多相关内容
  • 话题:怎么word文档里把很多行一下合并成行回答:选择要选择的内容按f5快捷键或者“”菜单中的“查找”,出现查找与替换对话框,选择“替换”,“查找内容”中输入“^p”,“替换为“^z”。点“确定”即可多行...

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解。

    话题:怎么在word文档里把很多行一下合并成一行回答:选择要选择的内容按f5快捷键或者“”菜单中的“查找”,出现查找与替换对话框,选择“替换”,在“查找内容”中输入“^p”,“替换为“^z”。点“确定”即可多行如何成为一行。网上有这个话题。我已经测试过了,成功!

    参考回答:用替换的方法,把回车符替换为无查找内容里输入^p替换内容里什么都不填,然后点全部替换

    话题:如何把多个word文档合并到一起,并保持原来的格式回答:先将Word文档按照顺序重命名,如W001、W002……Word 2007可以帮助你将多个Word文档合并为一个文档。例如,如果在写作一本书时,每一章都是一个单独的Word文档,可能会希望完成之后将其合并为一个文档,以便一次创建整本书的目录。 Word 2007可以帮助你将多个Word文档合并为一个文档。例如,如果在写作一本书时,每一章都是一个单独的Word文档,可能会希望完成之后将其合并为一个文档,以便一次创建整本书的目录。具体作步骤如下。1.一个文档,并使其页面设置等与要合并的多个文档一致。也可以打开其中一个要合并的文档,然后另存为一个新的文档,并将其中内容全部删除。2.单击功能中的“入”选项卡,然后单击“对象”按钮右侧箭头,并单击出菜单中的“中的文字”命令,如图1所示。3.在“入”对话框中选中要合并的多个文档,如图2所示。4.单击“入”按钮。如果要以链接形式入文档,则单击“入”按钮右侧的箭头,然后单击出菜单中的“入为链接”命令。这样所选的文档就入到新的文档中了,从而轻松实现了合并多个文档。

    参考回答:!也可以用WPS格式保存.还可以放到同一个夹里面.不知道你到底是什么情况

    话题:怎么在word文档里把很多行一下合并成一行回答:1、打开word文档,选中这些文字,按快捷键“Ctrl+h”唤出替换对话框。2、查找内容,输入“^p”(或通过点击“特殊字符”,选择“段落标记”输入);替换为,不填;点击“全部替换”即可。img src="https://pic.wenwen.soso.com/p/20180922/20180922150556-591645835_png_542_359_17823.jpg"/3、出询问是否搜索文档其余部分对话框,点击“否”,关闭替换对话框,完成。img src="https://pic.wenwen.soso.com/p/20180922/20180922150557-950406355_png_471_118_17200.jpg"/

    参考回答:用替换的方法,把回车符替换为无查找内容里输入^p替换内容里什么都不填,然后点全部替换img src="https://pic.wenwen.soso.com/p/20180922/20180922150557-1094007061_jpeg_600_194_25528.jpg"/

    话题:如何将多个夹中的文档合并到一个夹中回答:先把他们移动到一个大的夹下面,然后用搜索,包含文字为 .JPG 也就是你图片的格式,他就会把所有的图片全部找出来,然后一次剪切与粘贴。这样就出来了。

    参考回答:一下Total Commander,这个软件可以一次做到,而且还有很多其他的功能。话题:如何将几个表格中的内容合并到一起回答:你的问题问得有点宽了,最好有图例来说明。 其实大多的表用个笨点的方法就是:在总表单元格内打入“=”号,点击你要录入的分表内容,回车就行了。依次律用excel拖动功能。

    参考回答:在第10行输入=a1amp;a2amp;a3.amp;a9(全部行要写进来)如果行有多个单元格内容,通用的是:假设第1、2行内容需要合并。在第3行第一个格输入=a1amp;a2,回车,然后把公式向右拉。如果不想向右拉,可以先把第1、2行转成列:选中第1行内容(不能全选整行)------选定空列中的第一格---选择粘贴----转置。第2行同样作。假设转置后在第i、j列,在第k列输入=i1amp;j1,回车,双击填充公式。把第k列转换成文本后再转置成行。如果需要合并的行太长,第二种方法比较方便。不明白可以再问。

    话题:如何把WORD中的N个自选图形合并到一起回答:一是按住Shift键一个一个的选,图形重叠时不好选择。二是用“选择对象”工具。在绘图工具栏左边有一个白色向左的箭头,就是选择对象工具,点击它,拖一个大框将所有图形框起来,就一次选中了这些图形,右键——组合——组合。

    参考回答:按住shift键,点选要合并的图形,然后右键组合即可。或者直接做到在此处创建图形,然后都画到里面。话题:word问题求助:怎么把文本中的相似内容一次替换掉或删掉?回答:用替换方法解决:——替换——“查找内容栏”中输入“?”,然后勾选下面的“使用通配符”,“替换为”栏留空,再点击“全部替换”即可。

    话题:如何把几个WORD文档里面的内容一次放在一个文档里面回答:打开文档,拷贝,到新文档,粘贴,结束。还有其他更方便的方法么?

    参考回答:同意 wghua96121 的回答学了不过还有一种方法就是批处理copy 名1+名2…… 〉新名保存为bat运行下就可以这个看起来也不是很便,但也是一种方法呵呵话题:Word中如何一次选择同一文章不同位置的相同内容?回答:1、用查找和替换来实现:Ctrl+H,打开替换对话框,查找栏输入你的关键词,将光标在替换栏,什么也不要填(一定要保持光标不动),点(2007为),点左下的格式-字体,将字体的颜色定义为红色,最后点全部替换,即可将你要的关

    参考回答:展开全部 1、用查找和替换来实现:Ctrl+H,打开替换对话框,查找栏输入你的关键词,将光标在替换栏,什么也不要填(一定要保持光标不动),点(2007为),点左下的格式-字体,将字体的颜色定义为红色,最后点全部替换,即可将你要的关键词定义为红色。2、按你的方法,你可以选定一个关键词,再按住Ctrl,再用鼠标选定其他的词,这样可以不连续选定!另外按住Alt,再用鼠标可能按列选定文本.

    话题:如何一次修改Word文档中相同的字回答:——替换,在上面的框中填入要替换的字,在下面的框中填入你想要的字,点全部替换即可。

    展开全文
  • 计算机、程序员其实是一门“科学”工作,它不只是增删改查,它涉及到很多点。只有“想清了才能少返工”,因此本人以最常碰到以及最实用、马上拿来可以用为出发点讲透篇通用设计文档需要怎么写。

    内容概要

    我们今天先从最最常用的平日工作中经常要用到的你的主管、老板让你留文档这种常用技术文档(含设计文档)入手来入门吧。

    第一大段-虎头

    哎,这个名字起的好。今年是虎年,祝愿各位虎虎生威。

    为什么叫虎头?虎头威武吧?虎头是不是很美?它有金黄色的毛发、额头有着明显的“王”字,用国家地理杂志形容老虎,那真是“一头美丽的动物”。

    从感观上来讲是不是夺人二目

    老虎吼一声,那是自带次声波的,一般狗啊、猫啊、其它食草类动物包括人类听到老虎如果近距离吼直接四脚是“瘫软”的,是不是。。。“先声夺人”啊?

    回到正题来。

    业务需求你要对它进行设计、或者是出于某个创新目的你要做设计,上手先说一下这个需求的背景。

    业务需求背景属于“虎头”。

    你不要无脑只是copy一下业务的需求简介,笔者近10多年来包括接触的好多供应商讲标,一般这个需求背景写的好的往往者是深入研究过业务需求和了解本行业眼下潮流知道基本痛点的,那是一种基于自我理解后对业务需求的“再翻译”

    要写一下:

    1. 业务是出于什么目的出的这个需求;
    2. 这个需求解决了本企业、运营中的什么痛点;
    3. 我是如何理解这个需求的;
    4. 我准备怎么去满足这个需求;

    这个很重要,这就是“业务理解”能力。我是一个搞技术出身的,可是为什么近10年来变得口口声声业务、业务呢

    哎,各位!再回到我在10年前写过的博客里你们可以去翻一下。什么叫业务IT界的业务是运用技术手段去解决企业在运营中的重复工作和痛点,为企业在运营和生意上形成不对称竞争优势的手段而己

    我10年前就写过了,对于科学家来说他的业务可能是:天体运动。对于医生来说它的业务是发现早期癌变组织。

    业务就是“解决方案”,解决方案不纯粹是打单、跟单、做财务,而是一个企业要如何引流、挣钱、增单的一种“实际操作的抽象逻辑”,这个抽象逻辑去用IT的语言再实现。因为业务本身=技术实现+企业运营抽象逻辑一切都是业务方案你把性能提高是为了顶住更多的流量、更多的单量,性能优化其实也是“业务解决方案”,一切都是业务解决方案。

    请自动把业务和解决方案划上等号吧!

    借此多说一句:运营逻辑=市场销售=挣钱手段

    这点很重要,技术团队的“业务方案”都要符合运营逻辑。如果两者大相径庭,你这个方案是不合格的。那么我要做设计前我写一下我对你提出的业务逻辑的理解。这个理解可以错、可以对、可以有偏差、也可以有争议。

    这正是业务和技术相互进一步沟通、融合的手段。我从来没有看到过技术解决方案一次就可以满足业务需求的。

    这本来就是一个团队工作,双方就是就这个业务理解和业务需求进行互相进一步探讨才能形成“接地气的解决方案”。

    技术通过这个“需求理解”的虎头可以借此告诉业务方,你的这个需求有90%可以满足,有10%因为等等诸因素需要另一种满足手法。

    有问题就说,有问题才是好事。碰撞才能出火花!

    业务借着技术写得这个“需求理解”也能知道技术是不是可以100%满足或者是有我不知道的坑存在?业务不是万能,业务的话也不是100%必须听,业务也是人,是人他是想不全,是人都有自己擅长的领域和自己不擅长的领域局限。

    因此,需求理解是非常非常重要的。

    设计原则属于“虎头”

    在上手写完业务背景理解后,写上你的设计原则。

    什么叫设计原则?为什么这篇要写在业务需求理解的后面。

    这叫“因为。。。所以。。。”因为有了这样的需求,所以我准备使用如下的“方法论”来设计,它们分别为1、2、3、4等等等。。。。。。

    不需要多,以1,2,3,4控制在100-150字了不得了。

    需求如果不能满足或者业务提出的这个构思有风险也属于“虎头”

    前面说了,业务也是人、业务有自己的领域局限。比如说业务对于某个需求存在“网络个人信息安全法”上的知识的欠缺,此时IT有Information Security也有架构,一眼看出你这样做的话或者你没考虑这些因素,这种需求做出来后你的网站都要被“干掉”。或者说你这个需求不能找开发而是要去找大数据找BI否则APP或者网站会被你搞垮。

    此时你就需要把这些内容写出来,并且以相关风险,或者是“进一步需要澄清”,或者是“需要业务确认”,然后以1,2,3,4这样的方式列出来就行了。

    虎头的内容不会太多。它起到的作用就是:

    1. 有事拣重点说;
    2. 有问题有风险早点报;
    3. 我想要干什么、怎么干抽象总结一下列在最前面以起到重要告知为目的以引发进一步可能的探讨,不要怕探讨,群策群力才能把方案做了更完善;

    这也是一种向上或者向下管理方法中的“管理心理学“。

    有一些领导或者平级是综合能力专家,有一些是技术专家,它们有时看前面那300来个字就知道你这样走下去是否可行、是否有偏差甚至后面可以不用多看就知道你的思路对不对或者你的方案靠不靠谱,亦或者直接觉得这个需求在眼下来说太占资源又不能带来直接经济效应那也就把优先级降低了。

    说白了一点这叫“不要浪费大家时间”。大家想一下,比如说有一个方案,我看过建筑、造房子的方案还,非常非常有意思,给你们说一下:

    当地要造一幅48层的标志性建筑,设计书BLA BLA BLA说了一堆有140多页,最后两页告诉你地下土质疏松只适合建造不超过4层楼的房子并附上地质探测报告。140多页啊?come on,一群人要看多少时候?你不能把这件事放在一开始就说呢?那边挖土机已经调了15台过来了都,油费,运费,高速公路过关费。。。唉。。。

    还有一件事也是很好玩,一个医生对着家属讲了3小时的近乎于“免疫学入门”级话术,最后只花了1分钟来告诉家属这个人已经救不了了

    你们说,这种“沟通”这种“话术”。。。碰到的很多技术人员如果没有经过专业培训都会陷入这种上手给你BLA BLA BLA,而这样的人如果成为了习惯、不自我认知,随着时间一长、次数一多,领导或者平级的同事真的不需要再多听他说话了或者干脆不再多用他去做设计了。

    因此,虎头的本质是体现让沟通更高效

    第二大段-猪肚

    当然,猪头猪后半部一般我们是不太会去吃的,至少普通大众是不会去吃的。

    大家想想猪肚子,有哪些可以吃的?

    1. 麻酱爆肚;
    2. 上海还有一道本地名菜叫青椒炒肚皮,大火一开、小锅一翻,那叫一个嫩呀,那叫一个爽口呀,就热吃,咪上一口“石库门”,那叫一个鲜呀;
    3. 炒肥肠?霍。。。伴着花椒,炒一大碗,看了口水都流下来了;
    4. 夫妻肺片;
    5. 猪排,淮海路著名的存在了近90年的老克勒炸猪排+罗宋汤;
    6. 里脊肉;
    7. 还有很多很多,能举几十种菜出来;

    猪肚是不是很丰富哈

    因此第二大段内容叫猪肚,是代表了第二大段里的东西绝对少不了、且很丰富还“很好吃”

    因此我们会把如下内容都归于第二大段中,它们分别为:

    1. 技术栈

    准备使用的技术栈,它可以为一个“表格”,分成3列:

    • 第1列为:序号
    • 第2列为:使用的技术栈名如:JDK版本、组件版本
    • 第3列为:技术栈说明或者是为什么要用这个组件,很简要的说明一般不超过20个字;

     

    2. 架构设计

    有些需求、模块会比较复杂,那么你的架构图是需要上的。

    架构图掌握好“组件该有逻辑不该有原则”:

    • 该有,把该有的且一定会用到的按照“上下-南北向”数据流走向、“左右-东西向”横向不同组件间的交互以“概要、粗略”的手法画一下。
    • 不该有,逻辑细节、数据流放到下一章不放在架构图里

    (简单架构图示例)

    (复杂架构图示例)

     

    3. 数据流

    各个需求点每一个需求点的“数据流”,即棱、框、图。数据流很重要很重要,它是代码的一种导读,数据流理解错了开发出来的东西不会好到哪里去的。因此在数据流上是要非常的清晰标注出以下内容:

    • 这个数据来自于前端哪个按钮点下去时触发的然后走到什么地方去。
    • 经过了controller层哪一根api。
    • 落到了哪个service。
    • 在这个service里怎么走的redis、redis里有值如何、没值如何。
    • 匹配逻辑的必要条件Y/N分支。
    • 然后跑到了数据库里哪个表进行了什么样的条件(>1、<1、=101)查询。
    • 图、图片下部居中加括号简要这个图的说明性代表性标题-又叫图标题、图片上完如果这个流程图、逻辑图、数据流比较复杂辅以1、2、3的简要说明
    • 必须对每一个需求点进行数据流的说明
    • 当然后期水平高了可以把数据流+泳道就成了流程图又叫“BPM”或者是“Workflow“图,一张图里表示。当然你也要分情况的。如果系统交互一多导致了你的word在15寸屏幕甚至是投影打出来这个字都要凑到屏幕前5公分才看得清,或者把个文档的局部放大300%以后才看得清,这种效果就不好了。
    • 适当切割、适当合并你的图。

     (简单数据流图-其实是一种逻辑图)

    (复杂逻辑图)

     

    4. 核心技术/算法

    有些系统、模块是含有比较复杂的算法的如:卷积神经网络-CNN算法或者是“希尔排序”或者是“令牌环桶限流”。你要写出这个算法、或者是你使用的第三方开源的算法库的调用是什么、为什么、原理、使用场景在哪些地方;

    5. POC

    poc不是说要求把每个代码都写出来,如果是每一行代码都写出来这就变成了直接上代码了不用设计了。POC指的是一些影响面非常大的、核心的框架级别、原理验证报告放在设计文档上。POC、POC,即Proof Of Concept的缩写。有时一个模块看看很大其实它的核心原理和技术点只有3个POC,那么每个POC不会消耗你3个例子-5天时间的。

    举例来说支付超时后的补偿,它可以有周期性跑JOB来补偿也可以有“延时队列”来跑补偿,那么这两者的优缺点是肯定有的。

    • 一个容易造成并发场景下的数据库锁。
    • 另一个高效当然增加了额外的MQ组件但是不会存在数据库在多个应用服务器跑批时互锁的问题。

     (POC结果-两种注册中心的POC结果对比)

    为了证明这两个优缺点和性能,你是不是需要做一个POC,这个POC当然也要涵盖这两种技术呢?

    当然此时因为是POC,你可以模拟数据、模拟场景、代码和工程甚至可以unit test case级别的就可以了;

    6. 数据库表设计

    请把每一个涉及到的数据库表以如下形式列出

    字段名类型长度是否必填默认值字段涵义
    xxxxint8Y-主键,使用分布式自增主键
    xxxxnumber
    xxxxvarchar32Y-
    xxxxtimestamp-Ycurrent_timestamp()

    如果表和表之间(物理上或者逻辑上)存在ER,那么你必须要画ER关系图,如果你的ER图有多达几十张表,那么请根据“业务领域”分类分开成一个个ER图附上(太多开源工具可以根据数据库表逆向生成ER图,我就不一一介绍了,我还真没看到过有人用手把几十个、上百个表手绘的)。

     (ER图示例)

    7. 网络拓扑设计图

    到了这点我又要说了。我不知道为什么现在的“程序猿”们从不关心网络结构设计的。这个点我不想展开了,TCP导论、TCP概要、TCP原理、网络基础,这些大学都是学的。IP隔离、IP分层、这些是计算机大一、大二的课程,是基础。

    至少。。。哎。。。兄弟,你把这些点写了,就是这个组件要用到以下:

    • 几号端口
    • 只进不出还是只出不进还是in & out
    • TCP还是UDP还是Both

    为什么要画这个呢?我看到太多太多。。。真的。。。我这边能看到50%左右的猿或者是一些公司给到的网络拓扑设计上写的是“开放所有端口”。没有分层概念都放在一起好了。没有告诉我哪个部件是最吃流量。也没有告诉我需要百兆、千兆、万兆带宽的。

    对于Mbps、Gbps甚至TPS和QPS都搞不清的。

    一个正规的企业它至少有“南北向、东西向”的网络分层原则,这是等保2的内容啊更不要说是做电商、零售类的是需要等保三级证书的啊,如果等保证书拿不到这个公司就直接可以“被关门”了。

    因此,都是有:“原则上close to all”,而需要时:再“按需开放端口”的。

    一个典型的基本防火墙申请是有如下内容:

     所以网络拓扑图里至少要包括:

    1. 网络的分层设计
    2. 防火墙端口列表

     (简单的网络结构拓扑图)

    要不然:IT运维、DEVOPS自己去设计这个结构喽?那要你架构干什么?要你研发、开发干什么?

    要是你防火墙端口来个open to all,直接公司里搞IT Security也会把你“毙”了。

    8. 模块、系统达到的性能指标

    从不考虑的?是吧?我们坚持的是要“程序员”不要“猿”。

    你的设计或者要求达到24*7?10*5?每个接口、API响应时间、多少个CPU、峰值使用内存,这你必须要写的吧?

    不写,运维说我给你一台2核2G内存的VM你去用好了。

     (一个简单by门店商品查询的性能要求设计例子)

    9. 安全设计

    • 非法字符要不不要过滤?你准备怎么过滤?使用前端的javsscript、APP、小程序前端过滤?过滤方法使用“黑名单过滤”还是“白名单过滤”。
    • 验证码重试次数?4位字符还是6位字符?底图打斜杠还是数字错位显示还是点选文字?
    • 至少不要有log4j漏洞吧?
    • 权限矩阵,就是到菜单级别还是按钮级别+角色?还是+用户还是到字段级别权限并且要把敏感字段内容mask掉?
    • 数据查看权限是by省、by市、by部门?
    • 需要对哪些db schema是读还是需要写还是both需要开发?
    • https还是http就够用?泛域名证书还是单域名证书?
    • 有没有跨域问题?
    • 用jwt还是web basic authentication(用户名密码登录)就够了?
    • 加解密你用bouncycastle还是jdk标准的?密钥算法?长度?

    猪肚!对吧?很丰富!

    以上9大点把它们写清了。有些图我是有颜色的,甚至画的有点“beautiful”,这些都只是“浇头”,刚开始写根本不需要关注这些beautiful。如何beautiful我会在后续的章节特别花费时间传授。你甚至可以用文字、表格+黑白图,1、2、3、4的讲清,enough了。

    第三大段-豹尾

    哎,这个“豹尾”很好玩,为什么叫豹尾呢?

    大家注意看哈,豹子的尾巴一般是翘起来的,它的尾尖指向了它的“头”。

    这叫“点题”、“回到主题”。即:总结啊

    各位看我在写“猪肚”部分时,列了很多点,每一点下面我都会有“说白了。。。”,“总结一下。。。”,“敲黑板。。。”一类的话术对吧?这种就是总结。

    你不要写了一堆,最后没有结论。这就不是豹尾了,这是“蛇尾”甚至“没尾”,你以为是诺兰的“烧脑片”留给观众的是一个“开放式结局”呢?

    要总结,因为。。。所以。。。因此。。。

    这边就是“因此。。。这个东西怎么怎么样,可以怎么怎么怎么满足你的需求”。

    千万记得,不要把风险或者根本不可行的这样的内容放于“豹尾”处

    豹尾处可以放上这样的一层意思:“因为基于上述需求、设计。因此我需要多少硬件、开发、资源,甚至需要买点什么样的工具、商业组件”。

    所以在豹尾处,我们经常会放什么知道吧?

    1. 放项目计划、甘特图;
    2. 放财务计划(预算);
    3. 人员或者是团队的组成;
    4. 甚至也有一同放上的招聘计划;

    领导、董事会、或者相应的leader看完。。。嗯嗯。。。写了不错,不过有几个错别字(领导很喜欢挑错别字)。。。然后拿出笔或者是私人图章来,哈一口气,“梆”一声,那这就给确认了。或者邮件回一个“go”。

    这事就搞定了。

    总结

    当然,上面有一些半开玩笑的话术(当然平时大家也碰到很多哈),设计文档的主要目的就是:

    1. 形成团队知识库的积累;
    2. 使得企业、团队可持续发展;
    3. 想清楚再做(这点是最最重要的);

    因此,一个标准的程序员所需要涉及到的知识、技能点其实也无外乎上述这些“小标题”,可惜的是很少有人并且在我看来少于10%的市面上的公司、团队是这样操作的。

    但是我告诉你们呀,BAT等一些公司对于碰到“汇战”、“攻坚战”、“重大项目”、“中型模块开发”时就是需要这些设计的。

    并且,一点不夸张的告诉大家:为什么一些公司面试有6-8轮,每一轮就是在面这些不同的点。

    随便举例来说,鹅厂的面试好了:socket通讯、TCP原理、C++、数据结构、基本OWASP TOP10、百万级并发秒杀场景设计、4亿条URL里去重。唉。。。就是这些技能点的集中表现。

    这是“基本”,基本中的基本。

    95-2010年间的“中国程序员”分为4个级别考核,用现在的话说这个证放在现在的作用就是如果你拿到高级等级证书,那么你在北京、上海居住证申请时是可以加分的(现在已经没有了,主要是因为技术已经普及了)。4个等级里的程序员第二个级别(中级)时已经要求到了DB设计、程序设计、数据结构设计、网络TCP原理设计这些基本要求了。

    如果还只是认为程序员是增、删、改、查。。。我建议你快点改行去。

    现在明白了我说的:计算机、程序员其实是一门“科学”工作,它并不是像现在外面的“沦为了X农”这种东西。你一直以来觉得是“X农”只是因为你没有看到正规的操作而己。

    最后是结束本篇内容。后面会进一步讲文档能力=软实力的另外一种表现手法。

     

     

     

     

    展开全文
  • 一个项目需求文档怎么写?

    千次阅读 2020-12-16 10:47:09
    一个产品一个需求文档,就像平台上可以搜到很多关于需求文档的文章;看了这么多文章,就没有一个需求文档是统一的,这是为什么?我觉得可能还是要根据需求的实际情况以及当时开发紧急程度来定需求文档的合理格式...



    前言

    很多产品新人,入门产品时,最想先了解的都是如何画原型,如何写需求文档,这很奇怪。
    一个产品一个需求文档,就像在平台上可以搜到很多关于需求文档的文章;看了这么多文章,就没有一个需求文档是统一的,这是为什么?我觉得可能还是要根据需求的实际情况以及当时开发紧急程度来定需求文档的合理格式以及是否使用需求文档会比较好。不管怎么讲需求文档作为一款产品的传承文件,非常重要!
    告诉大家需求文档要怎么写,却很少有说为什么这样写的?大家把关注点都在放在如何实现,如何呈现,却没有关注为什么这么写?像很多大咖常说的术与道,术重要,道更重要,知其然更要知其所以然!






    一、万物起源

    故屿

    碰到任何问题,最长见的思维方式即为:问题三要素——是什么、为什么、怎么做。这是几乎所有行业、所有人群面对事情时,最常见的思维方式。

    笔者认为基于最经典、高效、实用的思维方式的基础上,可以每个人针对不同的知识体系、思考方式、经验总结等维度,总结出自己的思维方式。

    笔者常使用的方式为多年前从社会经济学老师那里学来的,做了补充和优化,分享给大家:

    在特定的时间、特定的地点、特定的人群因为特定的原因而做了特定的事件。达成该特定事件前,有哪些预期,实际达成的效果是什么样的,中间有怎么的落差,以后处理该类事件时,如何优化方式。

    故屿

    按照上述思维方式,我们将要写的需求文档当做一个特定的事件,通过剖析该特定事件被触发的前置条件、后置补充内容,来实现对需求文档的分析。




    二、什么是需求文档?

    笔者将需求文档定义为:用于阐述产品,满足协同人员开发的内容文档。该定义中有两个重要点:


      1. 阐述

    即为说明要开发的产品是什么。此处的“是什么”区别于产品说明文档,产品说明文档类似于商品说明书,用于告知使用者我的产品该怎么使用。
    而此处的“是什么”是告知该产品的相关人员,该产品有哪些功能,这个功能要怎么呈现,该怎么实现。具体包含以下几个方面:

    (1)为什么要做这个产品?
    该产品是来自哪里的需求,是内部版本迭代优化、Bug修复、新增功能点,还是来自业务部门的需求,或者来自用户的反馈需求。
    必须交代清楚做该产品的项目背景,一方面有利于开发人员更好的了解整体项目,从而更顺利地制定项目计划、项目进度、项目达成;
    另一方面,产品开发完成后存档的文档,有助于后续对该产品的复盘、版本迭代,Bug问题溯源,甚至对出现人员异动时,有助于接盘人员快速了解项目,熟悉产品整体的前因后果。

    (2)该产品要解决哪些冲突?
    需求来自于用户的冲突,用户在使用中遇到了什么困难、疑惑、焦虑等不可调和的问题等待被解决。
    在与用户开展调研、访谈等沟通时,充分了解用户的冲突,及急需解决的痛点,有助于产品经理在产品规划阶段,更精准地把握好方向,做出更符合用户诉求的产品。
    同时,在了解冲突的沟通中,除了精准获取到用户的核心诉求,还会得到很多非核心诉求,这些来自于用户潜意识中的需求,为以后产品的发展提供了很好的帮助。
    将这些需求罗列出来,整理到需求池,有助于以后与用户、业务进行再次沟通时作对比,从而去伪存真,对需求池中的需求做好优先级排序,并根据实际业务发展阶段和公司整体要求,划分好产品阶段,对需求池中的需求进行实现,从而促使产品朝向更好的方向发展。

    (3)该产品实现了哪些目的?
    任何产品的实现,不仅仅要满足用户的需求,更要在解决冲突时达成更多的目的。而这个目的分为物质层面和精神层面两个维度。
    1)物质层面
    产品的上线,解决了公司业务层面的流程,满足了业务需要,满足了用户的使用,这是产品首要,且是最核心的目的。
    而在满足最核心目的之后,是否有一些延伸的产品需求——减少了操作步骤、优化了交互流程,为实现公司层面的获客、激活、留存、转化、二次推广等各环节起到促进作用。
    2)精神层面
    产品的上线,解决了用户的困难、疑惑和焦虑,解决了业务部门无法正常使用过程中的烦躁不安,这是产品最核心的目的在用户心里的反馈。
    同时,在解决用户优先级最高的负面情绪的前提下,使得用户对产品的感官,对企业品牌的好感度提升,是产品上线所能达成的最好效果了。


      1. 满足协同人员

    即该需求文档是给哪些协同人员看的。此处的“协同人员”不仅仅是开发人员,而是产品从交付原型至最终上线,过程中所涉及的所有参与者。

    这些协同人员基于各自岗位和职责,对需求文档的要求也是不一样的,这是所有产品经理在编写需求文档时应尤为注意的点。

    故屿

    以笔者当前的公司为例,协同人员包括以下群体:
    产品经理:大部分公司都会有不止一个产品经理。每个产品经理在负责自己的产品线时,所输出的需求文档对其他产品经理的工作是有必要性的。
    设计师:以做静态页面、gif图、交互设计等视觉体验的专业人员。
    前端开发:以输入静态页面、交互动效为主,包含各类判断逻辑,最终以HTML为输出样式的专业人员。
    APP开发:用户能看到的APP的页面样式、交互样式、逻辑输出的专业人员。
    后台开发:后台建表、设定逻辑规则,接口传输数据、字段的专业人员。
    测试工程师:检测产品在常规环境、非常规环境,检测所有存在因素及隐患的专业人员,是确保产品上线无Bug的最后一道防线。


      1. “阐述”与“满足协同人员”间的关系

    故屿

    凡事的存在,皆存在因果。满足协同人员,此为因,而为了满足协同人员,输出的需求文档,即为果。因果之间互相作用,促成了产品最终的交付及上线。




    三、需求文档的意义是什么?

    把正确的东西交给正确的人,满足协同人员的诉求,即是需求文档存在的意义。

    如何写出满足协同人员诉求的需求文档?首先,需要观察不同的协同人员具体的工作场景,基于他们工作场景中的冲突,发现他们的需求,从而输出的解决方案,就是最好的需求文档。

    故屿


      1. 产品经理的诉求

    (1)产品部门的版本需求讨论、需求评审会。

    在版本任务的讨论中,在与其他产品经理讲述所规划的功能时, 版本记录、项目背景、项目框架图、流程图,可以快速让其他产品经理了解整体项目,并根据项目背景,给出意见。

    (2)与其他产品经理所负责的内容有交叉点。

    当一个完整项目,每个产品经理负责部分内容的时候,各自负责部分功能的需求文档有助于其他产品经理从文档中发现交叉点中的衔接是否合适,各功能模块的整体融合性。

    (3)Bug处理。

    再厉害的程序员也不敢保证产品上线后不出现任何问题,当产品上线后出现问题,需求文档有助于产品经理快速找到规划的初衷,根据之前的情境给出精准的解决方案。

    (4)版本迭代。

    当产品在不同时期,做不同的版本迭代时,之前的需求文档尤为重要,有助于负责该项目的产品经理快速熟悉往期规划的初衷、目的和当前的效果及不足,并在迭代版本中对往期问题进行修复,在新的规划中避免不必要的坑。

    (5)人员异动。

    如果出现人员异动(人员项目变更、人员离职等),有助于新接手的产品经理快速熟悉项目,确保项目规划不会因个人经验、个人喜好、习惯等原因,出现太大的偏差。

    基于以上场景和目的,其他产品经理对需求文档的诉求需要得到的信息:谁、在什么时间、因为什么原因,做了什么内容,满足了什么人的需求,变动内容及节点、阶段性规划。


      1. 设计师的诉求

    设计师是项目实施阶段的第一步。确定版的需求在落地执行时,首先是由设计师开始制作设计图。项目的整体功能有哪些、基于什么背景、未来的规划方向,需要在文档中给出建议和说明,有助于设计师按照产品经理的设想,设计出符合或高于期待的产品设计图。

    基于上述场景和目的,针对设计师角色,产品经理在编写需求文档时,需要告知的信息:因为什么原因,给什么特点的群体,做什么图,当前竞品什么情况、公司什么情况、市场什么情况,想达到什么效果,后期发展方向(业务、功能、设计方向等)。


      1. 开发人员的诉求(前端、APP、后台、测试)

    前端开发:开发过程中,侧重了解涉及前端部分的页面功能、交互效果、交互逻辑;
    APP开发:开发过程中,侧重了解页面元素、页面样式、功能、与后台间的接口参数传递;
    后台开发:开发过程中,侧重了解功能、这些功能在后台的数据结构搭建、如何建表、功能逻辑、与前台兼的接口参数传递;
    测试工程师:在产品实现过程中,侧重从产品规划中了解整体功能,从而写测试用例,以及产品上线前根据设计图的样式、文档表述的功能规则,做功能测试。
    基于删除场景,产品经理在编写需求文档时,需要告知开发人员的信息:因为什么原因,针对什么项目,做什么功能,包含哪些页面元素、页面样式、交互逻辑、实现效果。


      1. 注意事项

    故屿

    尽信书不如无书。各公司的组织架构、部门角色划分、业务开展的推动因素、公司发展所处的阶段均不相同,虽大道同源,但总有差异化表现。

    需要产品经理针对协同人员做好分层、分类,切实与相关人员深入沟通,了解他们的习惯,了解他们的认知,输出他们需要的需求文档,才能够确保信息的透明化,保证开发人员全面了解规划的内容。

    同时,辅助以良好的沟通机制和技巧,则有助于开发效率的提高和产品上线的进度保障。




    四、如何写需求文档?

    故屿


      1. 写文档先看人

    需求文档与产品经理前期做用户调研时的用户画像很相似。

    在做用户画像时,通过与目标群体各种方式的沟通,获取用户的基本信息、兴趣、习惯、家庭情况、对产品相关业务的了解程度、接受程度、烦恼和期待等等,从而建立用户档案,输出用户的判断结果。

    在写需求文档前,面对我们的用户——相关协同人员,产品经理需要去了解他们。了解他们的工作方式、工作习惯、工作态度、工作认知、工作能力等与工作相关的内容,同时,对他们与人相处的方式、生活习惯、兴趣爱好等等的了解,有助于产品经理更全面的了解,从而建立更加立体的用户画像。

    在输出判断结果时会更准确,写需求文档会更有侧重点——哪些是他们需要知道的,哪些是他们需要特别详细表述的,哪些是需要特殊标注的,哪些是省略表述即可的。


      1. 文档规范

    故屿

    (1)版本记录
    谁:该文档是谁编写的,便于快速找到对应的负责人员,同时,后期有助于在需求文档库中建档分类。
    时间:什么时间编写的该文档,旨在告知该功能是什么时间要开始做,便于后期溯源时,快速定位。
    事件:针对什么产品、什么功能做的规划,其实就是文档标题。
    版本号:便于记录产品不同版本的节点做了什么内容及调整,同时,针对不同的系统,有助于使用统一的版本号做管理。
    上线计划:依据上线计划倒推测试周期、开发周期、设计周期,从而给参与该项目的协同人员约定好时间,便于更好的把控项目进度。
    评审及修改:项目完成后的需求评审建议和结果,针对初稿内容做了哪些修改。此处一定要详细,后续调整内容时,评审建议和修改事项是很重要的可参考的细节点。

    (2)版本说明
    项目背景:清楚地写出为什么要做该项目,谁要求做的。
    核心需求:为了解决什么冲突。
    预期目的:想达到什么结果,后续有什么进一步的规划。
    详细的项目背景有助于所有参与人员快速地了解项目是怎么回事。

    (3)设计规范
    设计规范来源于产品经理对该产品的整体了解:在做完市场分析、行业分析、竞品机构分析、用户调研之后,针对自己要做的产品,产品经理会形成自己的整体构思和产品走向模型。

    而这个构思就是需要表达给设计师的理念——要做一款什么样的产品,要达到什么效果。

    关于设计理念的表达,不同的公司有很大的差别,以及整个行业对这块内容都没有统一的观点。

    一种观点认为,产品经理只需要输出黑白灰原型图即可,其他的都交给设计师处理,给设计师足够的发挥空间;

    另一种观点认为,设计师对要做的产品,不了解缘由,直接去设计会有偏差,最终交付的产品大部分都不符合;

    还有种观点认为,要看设计师的水平再来决定,水平高的不需要产品经理说什么,都可以交付足够让人惊艳的设计,水平低的说再多,也做不出效果,而大部分公司都属于第二种情况。

    综上所述,岗位不同、职位不同、个人认知的不同,以及最重要的信息接收到处理个人间都是有差异的,最终呈现在产品上的内容就会有很大的差异。

    而规避这类问题,最好的方式还是沟通。充足且有效的沟通,确保产品经理与设计师间的已知信息达到一致,双方的理念、想法、建议等越碰撞越容易做出更好的产品。

    主要对接的内容包含两个部分:
    信息与意向:传递产品信息,告知设计师关于该产品的设计原因、行业情况、要做的产品对标竞品是哪些,以后对产品的规划是什么、产品经理的意向是什么。
    基础设计理念:产品主题、整体色调、各样式的字号、色号、全局页面的建议等。

    (4)功能列表
    功能列表为产品经理在经过足够多的调研和分析,从汇总的产品需求池中筛选出的当前应处理需求列表。

    功能列表的作用为便于相关人员全面了解产品的功能,从而评估项目周期、处理优先级等。

    功能列表主要表述都做什么功能,哪些重要且紧急。列表参数包含:
    模块
    功能点
    功能点描述(详细)
    优先级(高、中、低)

    (5)角色列表
    角色列表为表述清楚该产品上线后,参与到该产品中的群体有哪些。列表参数包含:
    角色名称
    职责:在产品参与中的简要说明
    备注:特殊情形

    (6)框架图
    框架图为该产品包含什么内容:模块、功能。便于开发人员快速、便捷的了解产品全局。

    框架图没必要做的很高大上,高大上固然很好,会让使用的人赏心悦目。但是,功能介绍简单易懂和开发人员能看懂、看明白更重要,千万不能舍本逐末。

    (7)流程图
    流程图分两个部分:
    整体流程图:整体流程为将产品各大模块之间的交互流程,一般做正向流程居多,辅助以部分判断流程和异常处理机制
    功能流程图:功能流程为涉及到具体的功能点的交互流程,包含:正向流程、规则、判断流程、异常流程。

    (8)功能需求

    故屿

    功能需求为具体的各功能点,是需求文档的核心。主要是详细的分解各功能点,包含两个方面:

    前端:针对前端部分,页面如何来、页面元素、各功能点的规则、交互、跳转规则、非常规流程的页面元素、交互、跳转规则等等。
    后台部分:前端功能的实现,依靠后台的哪些逻辑和数据,是否需要做新功能模块、新功能模块的内容、数据的调用、存储、接口数据传值等等。

    (9)非功能需求
    非功能需求为用户常规操作产品时的极端情况,涉及很多内容,以下列举几个比较重要且常规规划中需要考虑的点:
    产品性能:产品对用户操作的响应、对群体操作的并发预防等。
    安全性:公司数据、用户信息的保密性处理,不同角色的权限设置、使用中的限制等。
    可靠性:用户操作中出现异常情况,是否可继续操作,遇到异常情况时数据或使用状态是否可被恢复等。
    拓展性:拓展性主要针对公司内部而言,产品完成后,无论是设计师、开发人员,还是测试人员,针对产品所做的工作,是否可以被复用到其他地方。用户在产品中的使用情况是否可被系统获取后用作不同维度的分析等。




    五、多说一句

    故屿

    需求文档中,对于功能的表述是尤为重要的,针对各功能点考虑的越详细,越有利于开发人员评估实现难度、评估时间、顺利达到所要的效果。




    六、最后一句

    需求文档不是越详细越好,很多没必要的说明,不用耗费大量时间去编写,最核心的依旧是:让自己公司的相关人员能快速看懂,全面了解。

    尽信书不如无书,各公司均不一样。产品经理应更多的站在自己公司的角度,在对相关协同人员充分了解后,输出他们需要的需求文档。



    本文由 @kuang 原创发布于人人都是产品经理。
    题图来自Unsplash,基于CC0协议















    Note:
    欢迎点赞,留言,转载请在文章页面明显位置给出原文链接
    知者,感谢您在茫茫人海中阅读了我的文章
    没有个性 哪来的签名!
    详情请关注点我
    持续更新中

    扫一扫 有惊喜!
    © 2020 12 - Guyu.com | 【版权所有 侵权必究】
    展开全文
  • word文档添加多目录

    千次阅读 2020-04-12 20:13:13
    .想添加如图所示总目录 总目录共有三级结构,所以假设总目录...“总目录”:是展示目录的字符,如果要带空格,必须要引号,不用空格可以不用 \f a:a表示某个目录的种类,将需要产生目录的地方用同样的...
  • 如何设置将word文档的字符间距加宽

    千次阅读 2021-02-05 11:54:37
    2. 我们可以选择打开想要设置的文档,小编这里打开一个空白文档,然后输入一些文字以便演示;3. 然后我们将输入的文字选中后,右键,菜单中选择【字体】选项;4. 打开的字体窗口中,切换到【高级】选项下,找到...
  • 暴力破解word文档限制编辑加密保护

    万次阅读 多人点赞 2019-01-10 10:56:54
    为了测试效果,新建两个word文档一个有保护,一个没有保护 有保护文档设置为限制编辑 可以看到有保护的文档可以打开,但编辑选项均为灰色 如何取消保护(不知道密码的情况下) 打开后分别另存为html格式(注意...
  • 如何word文档中添加两目录

    万次阅读 2019-04-16 09:55:08
    由于需要在一个word文档中添加两个目录,第一个目录表示文章前半部分的内容,第二个目录表示后半部分的内容,对于word不太熟悉的我经过一番折腾之后终于搞定了,此记录一下。 原理:将word文本划分成两个域,而每...
  • 需求文档

    千次阅读 多人点赞 2019-03-29 18:10:18
    2018年03月05日 22:11:21 zhangbijun1230 阅读数:40947 产品设计是一个由抽象的概念到具体形象化的处理过程...
  • word文档小方格怎么打勾

    千次阅读 2021-01-14 12:37:42
    回答:方法11按住键盘上的ALT键不放,然后小键盘区输入“9745”这几个数字,最后松开 ALT 键,...END方法31Word文档中输入一个大写字母“R”2然后将“R”选中,将字体设置为“Wingdings 2”,R 就会变成方框...
  • docfx 做一个和微软一样的文档平台

    千次阅读 热门讨论 2017-11-29 08:54:36
    开发中,有句话叫 最不喜欢的是写文档,最不喜欢的是看别人家代码没有文档。那么世界上文档写最 la 好 ji 的就是微软了,那么微软的api文档是如何做的?难道请了很多人去写文档?实际上微软有工具用来生成 api ...
  • 文章目录 、访问网址 二、纠错排查 、访问网址 http://localhost:8080/swagger-ui.html 切记要加上端口号8080 二、纠错排查 我开始没有8080,是访问 http://localhost/swagger-ui.html 然后被重定向都登录...
  • 接口文档与接口文档管理工具

    千次阅读 2021-07-12 11:16:45
    (1)项目开发过程中前后端工程师有一个统一的文件进行沟通交流开发 (2)项目维护中或者项目人员更迭的时候,方便后期人员查看、维护 3.接口文档规范: 首先了解一下接口,接口分为四部分:请求方法、url、请求...
  • ps:只读:加密后他人仍可以复制文档里的内容 填写窗体:他人无法复制任何文字。(图片还是可以右键另存的) 解除保护 记得密码 记得密码的情况下解密十分简单,按上面的步骤找到点击“限制编辑”后点击“停止保护...
  • 默认的情况下,在一行中间输入的新文字会插入到原有文字当中。如果您键入的时候,原有的文字消失了,改写模式可能被打开了。三选 1、“工具”菜单上,单击“选项”,单击“编辑”选项卡,然后清除“改写...
  • 怎样Word文档中插入空白页

    千次阅读 2021-10-26 14:23:09
    编辑Word文档时,如果想光标插入处插入空白页,该怎样操作呢?下面用我常用的speedoffice分享一下我的经验。 方法1 1,打开要编辑的word文档,将光标移到需要插入空白页的地方。点击工具栏“插入”,单击...
  • 软件开发文档模板

    千次阅读 2020-01-22 11:18:09
    XH 干啥呢 是不是想我 转自:https://blog.csdn.net/eaglewood2005/article/details/4076494/ 目录 1. 范围 2. 总体要求 2.1 总体功能要求 2.2 软件开发平台要求 2.3 软件项目的开发实施过程管理要求 ...
  • word文档怎么插入下一页

    千次阅读 2020-12-20 20:44:33
    1.word编辑的时候下一页 怎么弄啊word文档增加新页主要有以下几个...将光标移至要添加新页的位置,按Ctrl+Enter键,程序会插入当前位置一个分页符。如果后面没有文本内容,该动行就完成了追加新页的目的;如果后面...
  • 展开全部准备工具/材料:windows10...2、windows10Build10158版本创建新的Word文档32313133353236313431303231363533e78988e69d8331333431353430文档中输入演示数据,并操作如何Word文档中设置数字的千位分...
  • 技术文档系列之架构设计文档模板

    千次阅读 2019-09-12 22:57:52
    本文是对专栏文章架构设计文档模板的学习记录,可以购买以支持原作者 首先是备选方案模板 需求介绍 主要介绍需求的背景,目标与范围 随着xxx业务不断发展,业务拆分的子系统越来越多(阐述现有系统的问题),由此带来...
  • word文档基本操作

    千次阅读 2021-06-28 10:27:22
    新建文档 (电脑入门到精通网 www.58116.cn)我们讲了Word...你可以Word里面关掉已经打印出来的文件,然后新建一个文档或者打开另外的文档,同时打开几个文件也可以。 (电脑入门到精通网 www.58116.cn)怎么做呢?很...
  • 有可能很多人看了小编这题目之后很不以为然,不就是选择文档吗?有什么大不了的,但是,你看完小编写的经验之后,来进行评价。选择Word文档内容说白了就是选择文字,当中存在哪些技巧,听小编给你一一道来。word...
  • 因一些需要可能会需要借鉴一些文档内容,但是文档被加密了会很难受,本文提供种亲试可行的解决方案,因博主电脑用的是office2016,至于该方法是否适用于WPS不得而知,因未亲测,不敢妄言。 首先将限制编辑、...
  • 然而,随着项目的演进,需求的变更,导致数据库表结构发生了比较大的变化(表,字段,该类型等),对于大多数小公司的项目,由于项目管理流程的不规范,时候大概率是数据库设计文档没有同步跟进而过时;...
  • Arthas 看了官方文档还不会用?进来了解哈~

    万次阅读 多人点赞 2021-05-20 00:10:19
    本文隶属于专栏《100问题搞定Java虚拟机》,该专栏为笔者原创,引用请注明来源,不足和错误之处请评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见100问题搞定Java虚拟机 解答 Arthas 是Alibaba开源的...
  • 文章目录下载地址:使用文档一.加密操作二.解密操作特别注意 下载地址: https://download.csdn.net/download/weixin_44009447/18160763 使用文档 一.加密操作 1.新建秘钥对: 2.创建个人OpenPGP秘钥对: 3....
  • 输入三英文输入法下的下划线 _ ,然后按 Enter 键: 3 " _" 1.2 细体单实线: 输入三减号 -,然后按 Enter 键: 3 " -" 1.3 细体双实线: 输入三等于号 =,然后按 Enter 键: 3 " = " 1.4 粗体...
  • tkinter 中文文档

    千次阅读 2020-11-26 07:16:15
    电脑上文档文件被流氓软件加密,文档打开后乱码,听说通过重命名将文件类型更换为*.js然后更成原来的文件类型后缀可以实现解密,于是用tkinter写了一个简单的gui程序方便此操作。 既可以单独对一个文件,也可以对...
  • 部署文档

    千次阅读 2020-08-10 14:25:47
    部署文档 部署分为前端和后端的部署,前六步为前端的部署,后五步为后端的部署 前端部署第步:安装ngnix软件 (备注:ngnix基本都是32位,可32位机和64位机上使用。可以自己电脑上下载好ngnix然后复制上去) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 593,574
精华内容 237,429
关键字:

如何在文档里再加一个文档