那怎样的文档才是好的产品文档呢

《软件测试》第十二章 文档测试 《软件测试》第十二章 文档测试12.0 前言12.1 软件文档的类型12.2 文档测试的重要性12.3 审查文档时要找什么12.4 文档测试的实质 12.0 前言 本章讲述测试软件文档的技术,以及如何在整个软件测试工作中将其包含在内。本章重点包括: 软件文档的不同类型 文档测试为什么重要 在测试文档时要找什么 12.1 软件文档的类型 如果软件文档除了简单的readme文件再没有其他内容,测试倒不是什么大事。要保证该文档包含应有的所有材料,全部内容从技术角度讲准确无误,还要进行拼写检查和磁盘病毒扫描(为 阅读详情

看来的一篇文章,挺有意思的,来源于哪,忘记了

那怎样的文档才是好的产品文档呢?

其实,产品文档的作用就是为了高效地传递产品经理对产品功能的描述。

只要是能够顺畅推动项目前进,在产品开发和测试过程中能够大幅度减少工程师和产品经理反复沟通的文档,就是优秀的产品文档。

基于上述标准,好的产品文档应该具备以下的几个特质:

1. 产品逻辑要清晰且流畅

如果产品的大逻辑有硬伤,是没有办法进行研发的。另外,写文档要秉承先整体后局部的原则,先要从全局去定义整体的产品逻辑,再去逐步分解细节,这样研发人员才可以顺畅的开展研发工作。

2. 避免产品功能的疏漏

一个产品功能牵连的信息和逻辑越多,就越会产生考虑不周全的情况,研发人员在写代码的过程中就容易产生问题。所以在描述产品功能时,要考虑到所有的情况,比如会不会对其他模块产生影响?异常流程的描述,边界情况等。

3. 文档的可读性要强

能用图描述的一定不要用文字,多用流程图、用例图、时序图等去描述你的产品。在涉及到很细节的交互时,最好将相关功能做出高保真原型图供研发人员参考。这些图能比文字更好地传达设计思想。

2. 为什么开发说这个功能实现不了?

对于这个问题,大多数没有技术背景的产品经理都会遇到,我们的疑问是开发真的实现不了,还是不想做呢?

我的几个开发好友,坦诚的跟我说过确实存在技术忽悠PM的事情存在,有时真的是任务太重了,或是产品经理的脑洞太大了,不得已而为之。

人人都是产品经理平台中梁锋的文章已经给出很好的答案——《研发说方案无法实现,产品经理怎么办?》 梁锋将方案无法实现归纳为四种情况:

  1. 确实无法实现
  2. 不知道可以实现
  3. 不知道是否可以实现
  4. 可以实现但是就是说不能实现

2.1 确实无法实现

产品经理需要自己想想做这个功能的目的是什么,是否可以通过其他方案来实现,条条大路通罗马。

区别于开发的技术思维,产品经理一定要具有业务思维,不要技术说不能实现或是时间来不及的时候,就无可奈何、束手无策了。

举个真实的例子:在开发多项目并存,资源紧张的情况下,关于点滴日报系统新增下载团队周报功能,开发评估需要两周,并且两周后才可以开工,意思是用户一个月之后才能使用该功能,短期内确实无法完成该任务的开发。

产品经理不能开发一说没办法了,就认为没办法,不能让用户等着呀,产品经理需要另想办法,让用户可以提前使用该功能。

开发只是从技术的角度给PM建议,PM还需要有业务思维,急用户之所急,痛用户之所痛。

我们当时的解决方案是,可以每周五从SQL中导出团队周报发给用户(Manager权限用户),直至这个功能开发好。这样用户的需求就可以提前满足了。

2.2&2.3 不知道可以实现、不知道是否可以实现

这是因为开发人员的水平问题,PM可以咨询技术专家,调研行业和竞品解决方案.

2.4 可以实现但是就是说不能实现

PM可以将这个功能的意义讲给开发听,获得开发的认同感和参与感;亦或是开发任务太重了?

如果真的拿不准开发到底能不能实现,架构好友支了一招:

当开发说功能不能实现时,产品经理可以这样说:我上家公司做过这个功能,要不我帮你问问他们是怎实现的?

当然,产品经理如果能问出开发说需求不能实现背后的原因,双方好好沟通,一起想办法解决问题是更好的解决方案。

另外,产品经理平时需要多多学习技术知识,才能和开发无障碍的沟通

如何为你的客户创建完美的 SaaS 产品文档 对于用户来说,如果没有产品宣传手册或帮助文档,使用产品似乎是一件不太容易的事情,尤其是如果客户对产品一无所知并且完全不知道如何使用它的时候。 在如今这个“智能社会”,如果客户仍旧需要通过电话或电子邮件向客服咨询来解决问题,那么毫无疑问,这将会流失很大一部分客户,因为他们会选择提供更简单方便且实用的产品服务。 那么如何解决这些问题呢?我给出的答案是使用SaaS 产品文档 ,帮助客户自主解决在使用产品时遇到的问题。 以下就是介绍如何创建产品文档: 什么是产品文档 产品文档是一种云信息资源,它解释. 阅读详情

相关推荐

如何写一个好的产品需求文档

如何写一个好的产品需求文档, 这是一个英文文档。 The PRD describes the product your company will build. It drives the efforts of the entire product team and the company’s sales, marketing and customer support efforts. It’s hard to come up with a more important, higher leverage piece of work for a company.

软件测试笔记

软件测试 软件缺陷 软件失败的术语: 缺点defect 偏差variance 故障fault 失败failure 问题problem 矛盾inconsistency 错误error 特殊feature 事件incident 缺陷bug 异常anomaly 软件缺陷 software bug: 软件未实现产品说明书要求的功能 软件...

badw01f电台 664

去哪儿产品总监手把手教你如何撰写一份合格的产品需求文档

怎样写好PRD PRD遇到的挑战? 文档是哪个SB设计出来阻塞项目进展的 产品总监、开发、测试干嘛老不断挑刺 交接一个新产品,翻看原文档发现不知所云

软件测试笔记(十二)- 测试文档

了解如何检查软件的文档的缺陷,例如帮助文档、用户手册,甚至是市场宣传材料。 参考文献 《软件测试(原书第2版)》 《软件测试的艺术(原书第3 版)》 ...

冲鸭^ 968

openEuler 欧拉 安装Oracle19c数据库RPM包安装

欧拉系统安装部署oracle 19c rpm方式

陈苏漾的IT生涯 6893

记二开金蝶云星空动态表单艰辛历程

整个过程,开发接近一周,期间也有做其他事,遇到不会的第一时间也是找金蝶社区,搜索有无相关的解决问题经历。再就是问同事,最终还不能解决就提工单给供应商。响应一般都要大半天(我们公司是有vip,相对大半天能够响应是算好了),虽然有时候有响应,但是会转到其他研发老师,期间可能会是几天!如果是经常开发云星空的二开功能,熟练了速度回很快,但是对于接触不多的,或者刚入门的,会是个漫长的折磨过程。1、重新生产模块的dll.2、退出客户端3、重启iis4、等待五六分钟5、附加到进程6、登录客户端进去操作。

修炼中 3939

长文:一篇"完美"的数据库产品文档都有啥

数据库文档,可以说是数据库的“脸面”,是了解学习数据库的主要手段。近些年国内数据库产品层出不穷,使用者也是眼花缭乱。如何选择、学习掌握一款数据库产品,我的经验就是可以先从文档入手。之前也接触过不少国内数据库产品,在文档上与如Oracle、MySQL等还存在不小差距,这点还需国内厂商更多重视文档工作。毕竟一份文档是否写的完整、详实、准确,关系到用户是否能用好一款产品。下文是我根据之前的观察,总结的一...

杨建荣的学习笔记 732

ollama环境变量配置:修改ollama的数据路径(安装路径)

ollama安装模型,如果很大,会占用C盘空间,影响系统运行速度,通过设置环境变量,来改变ollama放目录的地址。

正经教主是个热衷于正经学习分享的教主。 1万+

《软件测试》[(美)Ron Patton]第十二章阅读总结

第12章 文档测试 一、软件文档的类型 文档的软件组成部分 包装文字和图形。包括盒子,纸箱和包装纸。 市场宣传材料,广告及其它插页。 授权/注册登记表。 EULA(最终用户许可协议),这是要客户同意条款的法律文书。 标签和不干胶条。 安装和设置指导。 用户手册。 联机帮助。可与用户手册互换甚至取代。 指南,向导和CBT(计算机基础训练)。这些工具将编程代码和书写文档融合在一起,它们一般是内容和类似宏的高级编程混合体,通常捆绑在联机帮助系统中,用户可以提出问题,然后由软件一步步引导完成任务。 样例,示例和模

Z1998hx0919的博客 688

QGIS效率提升神器:qgis_mcp插件+VSCode联合工作流配置全解析

本文详细解析了如何通过配置qgis_mcp插件与VSCode的联合工作流,实现语音控制和代码自动化来大幅提升QGIS操作效率。该方案将自然语言交互与现代编辑器生态结合,为地理信息专业人士构建了智能、高效的全新工作模式,彻底改变传统GIS操作方式。

weixin_29228203的博客 191

2025.06.25【微生物】|Emu工具安装与使用详解:全长16S扩增子微生物丰度分析

Emu是一款基于贝叶斯方法的微生物多样性分析工具,专为处理高错误率的长读长16S/18S扩增子数据优化。本文详细介绍了Emu的安装与使用方法:1)通过conda创建独立环境并安装Emu;2)提供SILVA等预构建数据库的下载指南,并说明自定义数据库的构建方法;3)演示单样本和多样本分析流程,解读关键输出文件;4)介绍丰度表合并、分类等级汇总等实用功能扩展;5)建议后续分析方向。文章还附有官方GitHub链接和相关文献资源,为微生物群落结构研究提供了一套完整的分析解决方案。

1256

产品文档

产品文档 1. 明确受众、目的和形式 好的产品文档应该有非常强的针对性。 第一步,明确文章的目标受众是谁。 他们的思考维度,才能知道用什么样的语言、逻辑和形式。 第二步,需要清楚每个文档的目的,而不是把写文档本身当做目的。 去设想一个文档的读者在读之前的状态和读完之后的状态,你希望他能获得什么信息,做出什么决定,以及有些什么后续的动作。 弄清楚受众和目的之后,你就可以判断用什么形式来呈现文档,是静...

jeikerxiao 1477

基于STM32、HAL库的 CH9102X USB转UART收发器 驱动程序设计

/ 或 UART_HWCONTROL_RTS_CTS。// 其他函数实现类似,使用HAL_UART_Transmit_IT, HAL_UART_Receive_IT等。UART_TXD <---> USARTx_RX (STM32接收)UART_RXD <---> USARTx_TX (STM32发送)* @param huart: UART句柄指针。* @param huart: UART句柄指针。* @param huart: UART句柄指针。* @param huart: UART句柄指针。

corlin6688的博客 506

产品文档概述

1. 为什么需要产品文档? 1.1. 解决利益相关者的问题 1.2. 更多分散的原因 2. 什么是产品文档? 2.1. 产品文档应当包含什么? 2.2. 什么是好的产品文档? 2.3. 常见的文档 3. 产品文档的成型过程? 1. 为什么需要产品文档? 1.1. 解决利益相关者的问题 自己 思考、发散、规整 未来的自己 回溯、复盘、学习 别人 设计 开发 我要做什么 我为什么要做这个 我做的东西会被怎么用 我要做多久 测试...

weixin_44218060的博客 1096

嵌入式工程师必学(118):MCU的硬件定时器和中断

大多数微处理器都有一个或多个可编程硬件定时器,这些定时器包括对中断的支持。可以有不同类型的计时器,用于不同的应用程序。例如,LPC1768 具有四个 32 位通用定时器、一个看门狗定时器、一个重复中断定时器、一个系统滴答定时器、一个正交编码器接口、6 个 PWM 输出和一个支持中断的实时时钟。硬件定时器用于计时和计数作,允许处理器在 timer 进程运行时继续执行其他进程。硬件定时器是一种使用 clock 信号来增加 register 的电路。

码农17年的博客 211

【git】win 10 / win 11:git 首次拉取云效平台代码详细教程

git 首次拉取云效平台代码详细教程:Git 生成 SSH 公钥、云效工作台添加 SSH 公钥、git 使用 SSH / HTTP 链接拉取云效代码

顾三殇 —— 博客空间(软件测试) 4218

产品文档创建全指南

undefined

Baklib的博客 1020

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

管理 - 产品文档

content {:toc} 概述 产品文档不仅仅可以使得产品有据可依,同时也可以使得项目管理更清晰,有条理。 有了一系列的产品文档还可以为之后的交接和维护带来非常多的便利。 产品文档,我们知晓比较多的需求文档(BRD、MRD 和 PRD)。除此之外技术文档也有着非常重要的作用。 需求文档 BRD、MRD 和 PRD 需求文档BRD、MRD 和 PRD分别代表证不同的含义...

vivian的专栏 323

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

产品文档索引

产品文档索引点击此处阅读全文

904

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

如何创建产品文档

产品文档是一本用户手册,可帮助客户了解产品的内容、功能、故障排除指南以及产品提供的功能更新。一些产品文档还包括用例和示例,以帮助用户了解每个功能的工作原理。

rankbc的博客 1006

【产品经理】如何撰写产品文档

本文系统介绍了产品文档撰写的基本方法和三大核心文档规范。

数据挖掘学习梳理 2237

为客户创建杀手级 SaaS 产品文档

SaaS产品文档至关重要,可节省客户支持成本,减少流失,提高满意度。需关注受众、文档类型、信息架构、内容分块、质量、区分代码文档、托管软件、多格式内容及迭代。文档是提升客户体验和品牌信誉的伙伴。

rankbc的博客 879

业务流程及产品文档

有效的回答读者问题:【为什么】&【这跟我有什么关系】&【我要做什么】清晰、简洁、说人话、有故事性林肯有一次在回信的结尾,说实在很抱歉,我没有时间把事情描述的更简单了。结构清晰,能够快速索引定位;图文并茂,有数字;良好的组织结构持续更新(*)读起来有意思(*)参与者:以某种方式与系统交互的人或事。用例:系统为其参与者所执行的有价值操作。用例不是功能或特性,用例包含一个对参与者来说有完整意义的过程。比如ATM机,取款,转账,存款是有意义的用例。登录、键盘输入等不是。

SDTechnology的博客 1302

产品经理产品文档_您的产品文档是否足够?

产品经理产品文档Βethan thanthan In the real world, when we buy a phone, or a microwave or a washing machine, it comes with a quick start guide, a user guide, some technical documentation, and other similar s...

culi3118的博客 815

创建产品文档的最佳实践

产品文档是产品必不可少的一部分,是一种技术文档,可以解释一个产品或者软件的所有知识,使用户能够从其获得产品的使用方法的深度价值,产品文档涵盖了广泛的信息,例如:产品的规格、使用说明、使用案例、常见问题解答等。

Baklib123的博客 270

产品文档全攻略:分类、价值及创建技巧

系统文档的技术部分针对的是技术含量很高的受众,如研究人员和工程师。:产品需求文档等文档是在对市场进行了大量研究并得到所有产品团队的输入后开发的。无论他们是使用你的产品的新手还是行业专家,都要调整相关的语气,使你的作品对产品面向的任何受众都是可读的。对于开发产品的后续版本的工程师来说,架构也是一个宝贵的资源。文档增强了产品的价值,并列出了产品的使用方式。一份详细的指南,其中包括使用产品的完整方法,也很好地发挥了其在营销中的作用。文档是对产品的补充。使用特定产品的详细指南可以建立用户使用您的品牌和产品的信心。

大龙谈智能内容 2044
上一篇: 远场语音识别的了解知识
下一篇: 软硬件操作示例文案样板
K_Hello
博客等级 码龄12年 33粉丝 115原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值