软件文档之我见

利用AIGC生成软件的设计文档 通过AI大模型,我们确实可以利用文档的自动生成来减少文档工作。然而软件的文档并不是独立的,而是一组相关文档的集合。这就需要大量的AI提示词,并且这些提示词之间具有一定的逻辑关系。因此我们可以建立一个软件的设计元模型,充当AI提示词的作用,生成一致的文档体系。 阅读详情
对于文档知识的了解

在我看来,软件文档是由不同的软件制作的不同形式的对于项目的解释说明,软件文档有很多分类,开发人员要根据实际情况决定都需要写什么类型的文档。

自己的开发实践中文档编写的情况

第一次写文档是在软件需求工程这门课上,它的理论课作业和实验课作业都包含了大量的文档写作内容,对于当时没有任何项目开发经验的我来说是一个不小的挑战,好在这些文档基本上都是关于软件需求的,没有很强的硬性指标,简单构思一下项目需要什么功能,根据功能就可以大概确定需求。由于当时只是凭空想象,文档没有实际应用的机会,所以一定存在着很多潜在的漏洞,也更不用说重要性了,当时完成作业也是不够认真。

后来大三上学期的软件综合能力开发训练和软件项目管理让我渐渐从实际上认识到了软件开发的条理性,它的管理、进度、规划安排都是非常重要的,每天都在关心着进度,也会经常性地检查一下文档是否更新、是否保持与现在的进度同步,回看我们写过的文档,发现软件文档确实具有比较强的规范能力和约束能力,让很多不断被讨论的问题成为了所有开发人员的共识,我们能将精力更多地投入在开发上。

综合开发训练的时候,每天要开一次站立会议,并且记录会议内容,我作为组长,时常觉得其实进度规划在一开始就商量好了,干嘛还要开这个会议,每天开会大家也不知道说什么,我就安排分别汇报一下自己小组昨天的进度和遇到的问题、我们今天的规划和目标、小组之间的沟通有没有存在误解等等,聊起来了之后发现能说的还确实不少,于是这个站立会议我们也就认真记录着。还有当时的软件需求说明,一开始做的时候确实是什么也想不出来,在写的时候又是挤牙膏似的,想一点写一点,内容不全面,条理不清晰,往往在开发的时候才查缺补漏,发现漏掉某个需求或是某个需求代码不好实现只是理想太丰满这种情况。不过不得不说,软件需求说明书在开发的时候所起到的效果是很大的,任何开发人员不可能记住所有的需求和功能,包括建立数据库、建立逻辑关系这些前期准备工作,他们在写代码的时候只能按照需求说明书来一步步照做,当时怎么想的,现在就得怎么来,不能出现有一个好点子就加上,觉得某个点不好就删去这种主观因素,否则团队协作就会出现很大的问题,就要用更多的时间去弥补。开发阶段主观因素要尽可能减少,保持团队的一致性。

前文提到的软件项目管理这门课,文档更加多、更加繁琐和规范,我们小组十四个人,我负责管理文档写作的分配,当时写了一些对于项目开发没有太大意义的文档,比如硬件报价和薪资统计等等,实现文档的方式也更多,包括但不限于Excel表格、MS Project等等,虽然这些文档看似意义不大,但我明确感觉到它们的重要性,在真正开发项目的时候这些文档缺一不可。

再后来就是临近寒假和一位校内的老师达成了雇佣关系给他做一个教学网站,这才开始了我的第一个实际项目。我们这次的态度很认真,因为团队成员都明白这不同于平时交的作业,这是真正要用到实处的项目,如果前期准备不认真、不充分,后期会损失很多的时间和精力去修补。我们与老师不断地商量并确认需求,并且严格按照文档上的要求去执行,因为开发时间很长,很容易忘记之前口头约定好的事情,所以一定要有记录,这便是软件文档写作存在的意义。

自己对于软件开发活动中写文档的态度

我的态度就是,文档写作必不可少。虽然代码中可以用注释解释清楚,但代码和注释不能完全取代文档,代码中的注释,通常只属于对它所在的那个源文件,通常是一个方法、属性的注释与说明,这些说明的内容通常是局部性的,它们只属于当前的类文件,所以代码+注释有比较大的局限性。

其实反过来想,文档对于项目的作用恰恰就是注释对于代码的作用,通常我们实现一个复杂的算法后,都会在关键步骤上加上注释和说明,并且还会在文件头加上算法的功能及其标准输入和预期输出,这都能体现出开发人员对于写过的代码容易忘记,对于复杂的逻辑容易混淆,就像笔记一样,清晰的条理能使开发人员更快捷地想起来之前写过什么,之前是怎么做的,还有将要实现什么功能(如注释中的"//TODO"),软件文档也是同样的道理,一套规范的软件文档就等价于代码文件里完整的注释一样。注释使得代码更容易阅读和套用,软件文档使得软件项目更容易被接入,被理解。

我更偏向于开发项目前先约定好并完成一定数量的文档,可以只完成大概框架,文档需要在开发过程中不断进行版本的更新,以保证和项目进度的同步。在项目完成的时候,需要针对项目的文档,也制作一份文档进行梳理和介绍,这样一套软件文档才是完美的。

对于“软件工程文档写作”课程理论与实验教学的建议

理论教学和实验教学只有六周,所以我认为本门课的价值就是在于为我们打开文档写作的大门,让我们心里对文档写作重视起来,把它当回事。我觉得理论课可以给我们在介绍概念的基础上展示一些比较前沿的案例,让我们增长见识,看看那些大厂是怎么规范文档的,还可以多分享一些标准的文档模板,我们下来就可以自己研究写作;实验教学自然是以实践为主,不过可以将要求细化,让我们有目的地写作而不是凭空想象,毕竟大多数学生还是没有实际项目的。


以上就是我对于软件文档写作的全部见解。

软件测试质量和效率评价之我见 写在前面   近期在研究如何提高软件测试质量和效率,发现要完成这个课题,先要搞清楚如何评价软件测试质量和效率?搜罗了不少资料,木有找到权威的说法,于是结合自己的经验进行了总结,便得此文,愿抛砖与业界朋友探讨。   软件测试质量和效率评价的范畴   原本打算将软件测试质量和效率分别评价,但基于软件测试不可穷尽的特点,以及测试时间总是那么紧张的现实,更多的时候我们需要在质量和效率之间 阅读详情

相关推荐

软件开发流程文档

毕业半年,从实习开始算,做安卓开发一年,结合自身,感觉开发报告很是很必要的,但对于各种报告区分还是很混乱。在网上看到在软件项目开发过程中,要求撰写十三类文档,结合自己项目开发中遇到的情况,整理这篇文章,以一个开发者的角度去看待这13种报告 文档   执行人   详情 可行性分析报告    产品经理   项目的实现在技术上、经济

刘米雪的博客 5855

关于软件文档写作

文档写作是一个非常常见的需求。

专注Java(全栈)应用开发,求知若渴,虚心若愚,talk is cheap, show me the code. 841

软件工程文档总结

在学习软工这个阶段的时候,看视频写文档,刚开始真的不知道该如何去写。然后参照模板一个一个的去写,尽量贴合,看别人的博客,看看他们是怎么写的。只要写了一个就感觉后面的很轻松了。下面是对软工文档的总结,欢迎批评指正: 一、总介绍: 软件工程文档是贯穿整个软件工程生命周期的相关记录,在整个软件的定义、开发、维护阶段起着至关重要的总用。我理解的软工文档是为软件设计的计划...

心似烟火 1020

软件文档简介

软件设计文档是我们在软件设计开发过程中形成的,用来在软件设计开发团队内部以及与各干系人之间进行沟通的文档,这些文档记录了软件项目中的各种知识,方案的思路、以及各种决策意见。 通常来说,作为软件项目,我们需要有这几类文档 需求说明文档功能设计文档系统架构说明书模块概要设计文档模块详细设计文档 需求说明文档: 用于描述清楚用户的使用场景,最少需要说清楚几点内容: 所需要开发的软件系统

kylinah的博客 3672

软件开发需要编写的那些文档

转自:http://zz563143188.iteye.com/blog/1835305   对于软件工程学科的同学都知道,软件工程是一门技术含量高设计极其复杂的学科。为了控制好软件产品质量和规范,就必须用大量的文档约束软件工程的进度和状态。浩大的软件工程对于缺少工作和项目经验的人来说,必然是摸不着头脑不知从何开始。为了让大家能够快速适应标准的软件开发过程,今天我为大家粗略的描述开发中需要的...

governlee的博客 8539

电机驱动技术中关于磁阻转矩生成的理解

正交在物理学和数学中指的是两个方向或两个向量之间的夹角为90°(直角)。在图中,当气隙磁场的轴线与转子轴线的夹角为90°时,我们称它们为正交。转子磁极的方向。通常由转子的磁极中心指向另一极的连线表示。转子轴线用图示中的d 轴表示。通过对定子、转子、气隙磁场、磁力线的理解,我们可以清晰地分析不同角度下电磁转矩的方向。这种分析不仅有助于电机的理论学习,还能为实际设计提供重要参考。掌握这些基础知识后,可以更好地理解电机工作原理及优化其性能。

weixin_48327795的博客 2074

软件项目开发过程中应编写的十三类文档

          引用路径:http://www.cnblogs.com/Season-LMZ/archive/2007/09/08/886900.html     在软件项目开发过程中,应该按软件开发要求撰写十三类文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性!            1、可行性分析报告        说明该软件开发项目的实现在技术上

2461

AI人工智能与TensorFlow的教育科技应用

随着科技的飞速发展,AI人工智能在各个领域都展现出了巨大的潜力,教育领域也不例外。本文章的目的在于深入探讨AI人工智能与TensorFlow在教育科技中的具体应用,包括智能教学系统的开发、学生学习情况的评估与预测等方面。范围涵盖了从基础概念到实际项目应用的各个层面,旨在为教育科技工作者和相关研究者提供全面且深入的技术指导。本文将首先介绍AI人工智能和TensorFlow的核心概念及其联系,让读者对相关技术有基本的了解。接着详细讲解核心算法原理和具体操作步骤,并结合数学模型和公式进行深入分析。

AI智能探索者的博客 1693

项目开发文档之我见

       几乎所有的研发人员或者项目管理者都认为文档很重要,但是那么多文档,哪些文档重要? 可能我们都会有不同认识..      但我们都有一个共识,就是严重的文档化,目前也行不通,研发人员几乎每天都在写文档,真正干活的时间就不多了,常常抱怨项目完不成.那么多少的文档量才是合适的呢?我想说,如果研发人员的文档水平很高,尤其是UML水平,那么做UML过程其实就是项目构架和简单编码的过程,...

never stop,just running!!! 233

基因的富集分析

通过RNA_seq差异表达分析等获得一组基因,想要进一步了解这些基因可能参与哪些生物学过程,具有哪些功能,一般就会用到基因的富集分析了。现在小麦基因注释信息已经可以获得,目前来看包括两套。一个是TGACv1,另一个就是IWGSC1.0。需要用到一个叫“clusterProfiler”的R包。下面用到的数据集来自TGACv1。1、安装source("https://bioconductor.org/b

xxxxx 1万+

三菱PLC FX3U温度控制系统案例

U0\G100是平均次数的设置,设置为100个数据取平均,这样数据显示更加稳定,通道1的数据显示再U0\G10里面,温度模块的数据对应是0~150°输出0~10V,对应到0~10000的数据10000是150°的66.667倍,因此把数据传送到D0后转换成浮点数,再去除以66.667,就得到实际的温度了,数据存放到D2。触摸屏软件使用EBpro软件,设计界面如下,右边的是温度的实时曲线图,左边的是温度报警表,当当前温度超过了报警温度这种时,就会在这个表格上显示对应对应的报警。(1)实时显示温度值;

u010670857的博客 4058

软件开发中文档设计之我见

      在国内很少有IT公司把文档设计列为软件设计的一部份,也许很多是出于开发成本的考虑,因为要做文档设计,则必定要耗费更多的人力和时间,也即要付出更多的成本,我也对此曾经感到疑惑,国内IT公司竞争非常剧烈,时间和成本往往是第一考虑要素。其实,这些都是小公司的通病,很多小公司也因此毁于一旦,主要是因为没有做文档设计使得开发陷入混乱直至最后项目无法交付或无法按期交付,或者因为某些关键员工离开导致

Franker的专栏 4152

第33次CCF-CSP认证考试 第一题 词频统计 满分题解

本人小白一枚,抱着学习的态度想到网上找一些csp的参考答案,但由于实力有限,大佬的代码大都看不太懂,于是萌生了想用一些简单,基础的语句完成csp前两题的想法并公开,以便与像我这样实力不强的同学交流学习,如有更好的建议,还请斧正,感谢!

qq_75242106的博客 1869

软件开发文档总结

前言:              最近一个多星期都写在文档,刚开始写文档的时候简直是一头雾水,而且也觉得写文档是一个枯燥乏味的过程。如今已经把文档写完啦,也开始意识到了文档的重要性。下面谈一谈自己对文档的一些理解和看法。 是什么?       软件开发文档是软件开发和维护过程中的必备资料。它能提高软件的开发效率,保证软件的质量,而且在软件的使用过程中有指导、帮助、解惑的作用。尤其是在维护阶段

柠檬树 1万+

Oracle到金仓数据库信创改造迁移实施规划方案

**性能测试和优化**:对金仓数据库的性能进行测试,根据业务负载情况进行必要的调优,确保系统能够稳定高效运行。- **数据兼容性**:评估Oracle数据库中的数据结构和金仓数据库的兼容性,明确需要重构的数据模型。- **性能测试**:通过对金仓数据库的性能测试,预估在实际业务环境下的表现,是否能达到业务需求。- **工具选择**:选择适合的迁移工具,如金仓数据库提供的迁移工具,能够提升迁移效率和准确性。- **全面迁移**:在初步迁移成功后,进行全面数据迁移,确保所有数据完整迁移到金仓数据库上。

hdrhdrjdididrr的博客 480

openEuler 22.03 LTS SP4离线安装UKUI桌面全攻略(附依赖包下载)

本文提供openEuler 22.03 LTS SP4系统离线安装UKUI桌面环境的完整实战指南。针对无网络环境,详细解析了利用dnf工具下载依赖包、配置离线软件源、处理依赖冲突及安装后优化的全流程,并附带了关键依赖包资源,帮助运维人员高效完成图形化部署。

c7d8e9的博客 479

软件工程及其文档汇总

对待开发系统的一个全面、真实、简略的定义性说明文档。引言1.1 文档的范围和目的1.2 概述1.2.1 目标1.2.2 约束条件功能和数据描述2.1 系统体系结构 (结构环境图 ACD)2.2 ACD 描述说明子系统描述3.1 子系统 N 的体系结构图定义3.1.1 体系结构流程图 AFD3.1.2 系统模块描述3.1.3 性能问题描述3.1.4 设计约束3.1.5 系统构件分配3.2 体系结构字典3.3 结构互连图及其描述。

qq_41854911的博客 7575

OpenCV实战系列——图像线条提取

基于内容的图像分析,需要从构成图像的像素集合中提取有意义的特征。轮廓、线条、区域等是基本的图像基元,可用于描述图像中包含的元素。本节将介绍如何提取重要的图像线条特征。

m0_58523831的博客 1万+

软件文档测试

软件产品由可运行的程序、数据和文档组成。文档是软件的一个重要组成部分。在软件的整人生命周期中,会用到许多文档,在各个阶段中以文档作为前阶段工作成果的体现和后阶段工作的依据。软件文档的分类结构图如下图所示:软件文档是在软件开发过程中创建的各种文件和资料,它们对于确保项目的顺利进行、提供必要的信息和支持以及维护软件的长期可靠性至关重要。软件文档分类包括:用户文档、开发文档、管理文档。

weixin_48387686的博客 1699

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

深度学习工具包 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")

【软件工程】写文档真的很重要——文档总结

最近

周洲 (Julie) 5317

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

软件开发文档分类以及和软件生命周期的关系

前一段时间写了初步学习了软件开发文档,虽然耗时不断感觉理解的并不是很深刻,最近我们举行了一次学术交流会,让我们重新认识了软件开发文档。一开始总感觉总是对文档不怎么感什么兴趣,枯燥、冗长、无聊,只是按照固定的模板框框往里添东西,像我们为机房收费系统写文档时我就有这样的感受,许多名词术语下根本不知道写些什么,还有开发进度报告、经费估算,这些都是瞎掰上去的。     可我写完之后就不这么看了,当初的想

周江霄 8485

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

软件需求文档、设计文档、开发文档、运维文档大全

软件开发文档是一种用于记录、沟通和理解软件开发过程的工具。本文将详细介绍软件开发文档的重要性和作用,以及需求分析、软件设计、开发过程、运维管理和项目管理等方面的文档要求。在开发过程中,软件开发文档的主要目标是记录具体的开发过程,包括技术选型、模块开发、集成测试、部署上线等,并给出具体的实践建议。在运维管理阶段,软件开发文档的主要目标是介绍软件开发后的维护和管理,包括系统监控、漏洞扫描、系统安全等,并给出具体的实践建议。在这个过程中,需要明确软件的目标、功能、性能和约束,以便为后续的设计和开发提供依据。

weixin_41039677的博客 2746

软件文档的作用和分类

<br />(1)什么是文档<br />    文档(document)是指某种数据媒体和其中所记录的数据。它具有永久性,并可以由人或机器阅读,通常仅用于描述人工可读的东西。在软件工程中,文档常常用来表示对活动、需求、过程或结果进行描述、定义、规定、报告或认证的任何书面或图示的信息。它们描述和规定了软 <br />件设计和实现的细节,说明使用软件的操作命令。文档也是软件产品的一部分,没有文档的软件就不成其为软件。软件文档的编制(documentation)在软件开发工作中占有突出的地位和相当大的工作量。高质

TopMaxOne的专栏 3322

文档编写软件_编写第一个软件文档的指南

文档编写软件As a developer, your pride and joy is your code. It’s readable, it meets DRY principles, it reflects best practices, and the end product is a great tool that solves some kind of problem for its ...

culi3118的博客 1784

软件工程文档 总结

一、软件工程文档分类: 根据产生和使用的范围,软件文档大致分为:开发文档、管理文档、用户文档三类:   对13种软件工程基本文档的内容做如下区分: 《01 可行性研究报告》 内容:可行性分析(技术上、经济上、社会条件上);实施方案;论证选定方案。 《02 项目开发计划》

拥抱变化 6109
上一篇: 上下文无关文法——形式定义和推导办法
下一篇: Electron.js + React 实现跨平台方案
LP学长
博客等级 码龄8年 12粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LP学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值