一个虚构的CMM改进实例

CMMI认证:软件公司的“生存游戏“,你玩到第几关了? 说到底,质量管理就是要让软件开发从"艺术创作"变成"工业生产"。虽然过程可能让人抓狂(尤其是当你在赶工期时还要写文档),但它确实能减少"昨天还能跑,今天就挂了"的灵异事件。记住,在这个认证为王的时代,没有CMMI认证的软件公司就像没有文凭的求职者——能力再强,也可能连展示的机会都没有。所以,要么玩转这套"生存游戏",要么...考虑转行卖奶茶?(不过听说奶茶店也要ISO认证了) 阅读详情

一个虚构的CMM改进实例

某系统集成企业(简称A公司),在电信计费/业务支撑行业小有名气,业务开展得相当成功,但是在进一步发展的过程中,遇到了以下几个问题:

 

1.       公司目前在独立开发和维护多个功能大体相似,却又有相当差别的系统版本,这些版本之间的关系“剪不断,理还乱”,公司试图引用一些业界标准的系统架构,比如J2EE,试图实现部分软件重用。但是却发现情况并不能够得到多少改善。

2.       公司常年有大批的开发人员被派驻到客户方,导致了高昂的人力资源成本。这些开发人员难以管理,对公司的认同感差。

3.       公司制定了一定的项目管理规范,但是在推行过程中却不尽如人意。项目不断延期,事故不断。

4.       公司没有正规的培训体系,软件技术人员在需求,分析,设计和测试的技能不足。

 

鉴于现在行业软件的严峻形势,A公司要求改变这一现状,加强管理,提高效率,减少派驻在客户方的人数。A公司和小有名气的C咨询公司签订了合同,要求C帮助A公司完成这项变革。C公司的张顾问具体负责这个项目。根据自身丰富的经验,张顾问立刻意识到:

 

1.       这是一个管理和技术相互缠绕的问题,必须结合两方面的手段,综合进行解决。

2.       A公司意识到这个问题其实不是一天两天了,以前也曾经想了很多解决方案,但是为什么这些方案会失败?查找以前这些努力的历史,将有助于问题的解决。

3.       任何一项变革,必须获得公司高层的明确和实质性的支持否则难以成功。

 

根据自身的经验,张顾问拟定了一个工作规划:

 

1.       推动客户方成立一个“行动小组”并获得高层的明确授权。

2.       在“行动小组”的主持下,了解客户方曾经进行这方面版本规范化的努力的历史以及失败的原因。

3.       和客户方共同分析A公司的电信业务系统的架构。

4.       在客户方展开访谈,了解项目管理和质量管理的现状。

5.       在了解现状的基础上,对客户的现状进行诊断,对用户高层和C公司进行报告。

 

“联合行动小组”很快成立起来了,小组由精干的人员组成,在张顾问的特别要求下,小组的成员不仅仅来自于管理部门,也增加了来自于项目管理部,技术开发部,和特地从现场工程部门抽调出来的人员。经过小组成员的努力,首先整理出了上一次努力失败的历史:

 

A公司的最近一次“产品化”努力开始于2年以前,当时A公司的想法是,抽调一批精干的技术人员,准备开发一个全新的版本以替换公司过去分布在全国不同地点的所有老板本。但是在计划执行1年之后,在毫无成果的情况下,此项目最终被取消。

 

张顾问认为这个项目注定是失败的,目标定得太高,相关条件不具备,他用鱼骨图分析如下:

图表 1对A公司上次失败的原因分析

接下来,行动小组对整个公司的现状进行了分析,问题还出现在“人-过程-技术”这个铁三角上,这些因素之间相互影响和制约。

图表 2  A公司内部“人-过程-技术”三种因素的相互影响

 

同时,信息化基础的建设也不容忽视:

 

行动小组对原有的“缺陷跟踪流程”进行了分析,发现以前的流程没有自动化工具的支持,基本通过手工填写Word文档的模版,如果需要相关人员签字,就打印出来,然后通过转真的格式相互传递,效率极低。A公司的大量过程都是这种手工的过程,没有计算机信息系统的支持,这些过程的可执行性非常的差。

 

张顾问在考虑的诊断报告的时候,颇有些踌躇,对于这样的“技术-管理”相互缠绕的现状,应该用什么样的方法来解决问题?

 

企业的变革一般是采用“过程改进”的方法,针对企业的开发过程进行变革,现在最流行的是卡内基·梅隆大学软件工程研究所的“软件能力成熟度模型”,但是此模型偏重的是“过程”,对于“人”和“技术”考虑得还不够。但是,另外一个方面,如果仅仅从技术方面来进行变革,又缺乏相应的模型指导。

 

如何找到连接技术和过程之间的桥梁,张顾问考虑了以下两个模型。

 

行动小组决定以“架构”为核心,来协调和平衡“人-过程-技术”之间的关系。

“行动小组”对旧有的软件架构进行了检讨,并根据各方面的要求,对旧有软件架构进行了整改。

图表 3 对新的软件架构的需求

但是,仅仅有一个架构和相关定义是不够的,如果不建立一系列的相关过程规范,并且有相关的机构保证实施,还是不会奏效。

 

1.       为此,行动小组决定借鉴CMM模型的相关成果,建立了质量保证机构,并首先制定了架构的定义和工程师的相关指导手册,并首先进行了SCM(软件配置管理)RM(需求管理)QA(质量保证)3方面的工作,并加强了测试工作,作为企业内部的一个KPA进行改进。

2.       在实施对相关的KPA的时候,也是有针对性的,比如SCM和RM就加强了异地协同开发的方面,特别进行了自动化工具的实施。

3.       同时,A公司也加强了对开发人员和项目经理的培训宣传工作,并严肃纪律。

 

通过上上下下半年的努力,改革初步取得了成效:

 

1.       建立了顺畅的异地开发的自动化协同工具,开发人员只要登陆公司的网站就可以提交需求,系统的缺陷等等。

2.       重要模块的源代码由公司的配置服务器统一保管,而且由于架构充分做到了模块化,之间采用统一定义的标准接口,使得开发和测试都非常容易,彼此之间可以独立工作。

3.       不同的用户的“版本差别”被局限于独立的配置项中,标准化的模块可以通用,这样显著降低了开发成本。

4.       大批的开发人员回到公司工作,这样一方面节约了成本,另一方面便于对员工的管理和培训。

 

“行动小组”此基础上,制定了下一阶段的目标:

 

1.       进一步深化以CMM的过程改进工作,加强SPP/SPTO方面的工作,争取通过SW-CMM 2级评估。“特别工作小组”就成为了软件工程过程组(SEPG)的前身。

2.       引进先进技术,进一步优化现有的架构。经过“行动小组”整改的软件架构仅仅只是一个过渡,在现有成果的基础上,完全可以采用业界先进的技术来进行改进。

3.       经过改进的软件架构,就成为了进行软件工程培训的基础和标准。

 

张顾问的工作圆满完成。为C公司赢得了信誉。完成任务之后,他总结了以下几点心得体会:

 

1.       现实企业中的问题是复杂的,单纯依赖SW-CMM/CMMI这些理论框架往往是不够的,通常要按照现实情况采用综合手段进行解决。

2.       在软件过程改进中,循序渐进是必需的手段,切忌“拔苗助长”,脱离了企业现有的技术和管理水平。

3.       面对企业的现实情况,不能完全照搬CMM中的条文,而要依照实际情况,有选择地实施。

 

CMM文档案例(内容多,资料丰富,英文) 立即下载

相关推荐

CMM各种标准文档(具体例子)

CMM标准文档模板,其中包括:(配置过程域文档)、(系统测试过程域的文档)、产品规格说明书、体系结构文档,其中每个文档都根据不同的项目填写了具体的内容以方便大家理解。

CMM的核心

什么是CMM的核心?本人转载了别人在一次CMM培训中准备的案例,希望能够生动而浅显地解释这个问题,如要转载,顺手给原创作者发个Email:JennyLi@netease.com,非常感谢。尊重原创! 案例背景:有一间房子,里面有一些人,一些杯子和水壶,以及用于烧水的用具,所有的人都需要喝开水。CMM 1级:过程:找到杯子和水壶倒水喝问题:找不到杯子,没水喝找不到水壶,没水喝...

weixin_34351321的博客 222

VM与欧姆龙PLC通讯设置实战:Fins TCP/UDP协议详解

本文详细解析了VM(VisionMaster)与欧姆龙PLC通过Fins TCP/UDP协议进行通讯的实战设置。内容涵盖网络配置、协议选择(TCP可靠性与UDP实时性)、VM端地址映射与数据点添加、以及数据接收解析流程,并提供了常见错误排查与高级调试技巧,帮助视觉与自动化工程师快速实现稳定可靠的工业通讯集成。

weixin_29172963的博客 329

CMMI 概述 用实例学 V2.0

今天跟客户介绍CMMI V2.0。其中一大改变,它把以前的通用实践都用治理(GOV)与实施基础条件(II)两实践域取代。V2.0更强调CMMI实践的价值和目的,及过程改进的效果。 我问:过程改进最重要的成功要素是什么? 有一位很资深的经理回答:高层的关注。 我说:很正确,但在V1.3模型没有明确写出来,现在在V2.0的治理 (GOV)实践域中,就明确提出高层应如何支撑整个过程改进。我在美国参...

u011250455的专栏 1422

IFIX5.8在Win10系统下的安装避坑指南

本文提供了IFIX5.8在Windows 10系统下的详细安装教程与避坑指南。针对常见的驱动缺失、UAC拦截及兼容性报错等问题,文章从安装前准备、分步安装流程到安装后配置与驱动修复,给出了系统性的解决方案,帮助工控从业者顺利完成部署。

f6g7h8i9j的博客 364

从Level 1到Level 22:手把手带你用Burp Suite通关burp-labs靶场全关卡(附难点解析)

本文详细解析了如何使用Burp Suite通关burp-labs靶场的22个关卡,从基础爆破到复杂编码绕过,涵盖Intruder配置、响应过滤、POST请求处理、MD5爆破等关键技术。特别针对Level 16的三重编码和Level 20的中文响应处理等难点提供实战技巧,帮助渗透测试工程师提升Web安全实战能力。

weixin_28831461的博客 436

CMM实施经验谈(二):一个虚构的CMM改进实例

某系统集成企业(简称A公司),在电信计费/业务支撑行业小有名气,业务开展得相当成功,但是在进一步发展的过程中,遇到了以下几个问题:  1.       公司目前在独立开发和维护多个功能大体相似,却又有相当差别的系统版本,这些版本之间的关系“剪不断,理还乱”,公司试图引用一些业界标准的系统架构,比如J2EE,试图实现部分软件重用。但是却发现情况并不能够得到多少改善。  2.       公司

876

62. 如何通过增强(Enhancement) 的方式给 SAP ABAP 标准程序增添新功能

本文通过一个实际的例子,介绍了如何不通过修改 SAP 标准 ABAP 程序源代码的方式,对其的功能进行增强,即采取 ABAP 增强开发的方式进行二次开发,这是一种在实际 SAP 项目实施过程中使用非常广泛的技术。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3309

从混沌到卓越:SSE-CMM模型如何重塑企业安全工程能力

本文深入解析了SSE-CMM模型如何帮助企业系统化提升安全工程能力,实现从被动“救火”到主动规划的转变。该模型通过五级成熟度进阶路径、三大支柱和六大过程域,为企业提供了一套结构化的评估与改进框架,指导其构建可量化、可持续的安全管理体系,从而将安全从成本中心转化为核心竞争力。

qsc90123456的博客 207

上线之前多一道闸:业务审核系统的接入定义、双轨状态机与可靠生效闭环

运营后台“保存即生效”,让价格、库存、人群等配置每次修改都相当于一次无评审的上线。本文以至尊会员降价活动为例,系统拆解业务审核系统:用带业务语义的操作编码、规则化审核人与候选人快照、完整的生效回调契约做好接入定义;把业务改造为提交待生效,以不可变快照、字段级差异和唯一约束加幂等号防误配防重复;用审批轨与执行轨双轨状态机、链路式重新提交和以事件为准的审核链路理清状态;最后以发件箱、幂等键、超时先查后试、乐观锁与对账闭合生效环节,并结合两个可运行的Java程序,给出五种生效策略的事故率实测对比。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 6万+

【温室气体数据集】全球总碳柱观测网络 TCCON

【温室气体数据集】全球总碳柱观测网络 TCCON

WW、forever的博客 437

CMMI 2.0新瓶装旧酒,贩卖假酒更难了

看到这个标题,CMMI 2.0新瓶装旧酒?可能有很多人不同意,尤其是那些依靠CMMI吃饭的人。但其实没必要畏惧,实事求是,客观认真的对待比什么都强。如同“茅台”,即便换了n多次新包装,酒依然是好酒,CMMI亦是。 在展开这个话题前,首先阐明下我心目中何谓“新瓶”?何谓“旧酒”?何谓“假酒”? “新瓶”指新的包装、新的名称、新的表现形式、新的内容组合方式、新的载体等外在的那些东西,“旧酒”...

红哥谈测试 1261

1.2 amdgpu_bo的设计分析 — gem层和ttm层

本文分析了AMD KFD的BO设计架构,重点介绍了DRM子系统中缓冲对象的多层继承关系。文章首先展示了核心继承层次图,包括DRM通用层(drm_gem_object)、TTM内存管理层(ttm_buffer_object)、AMD驱动层(amdgpu_bo)和KFD计算层(kgd_mem)。随后详细解析了drm_gem_object结构体的关键功能,包括用户空间接口管理、内存映射支持、引用计数机制以及DMA-BUF导入/导出功能。

图形/计算GPU的驱动与虚拟化技术分享园地 2548

软件项目管理学习之:进度管理,死亡之旅-最后期限

写得非常好,,前面的项目就是这么被人给搞坏的,进度管理:死亡之旅-最后期限   作者:人月神话 出处:新浪博客   摘录的案例:老板BB:今天是1.3日,到10.1我们必须完成AIX新产品的开发,这个产品对公司很重要,具有最高的优先级,这是最后的期限。老板BB:我们分析阶段要用多少时间?项目成员:可是我们还不知道用户的需求,无法确定分析需要时间老板BB:假设需求就在你面前,你需

schulunburg4000的专栏 1195

OceanBase数据迁移(OMS)深度解析:异构数据库迁移方案、核心原理与实战优化指南

OceanBase迁移服务(OMS)提供异构数据库间全量+增量数据迁移与实时同步能力,核心价值在于保障业务连续性、数据一致性和异构兼容性。其分层架构包含服务接入层、流程编排层和组件链路层,支持Oracle/MySQL/DB2等与OceanBase的数据交互。关键技术包括DBCat引擎处理结构转换、并行分片实现全量迁移、以及日志解析保障增量同步。OMS通过类型映射、批量提交和断点续传等优化手段,确保迁移过程高效可靠,典型应用于去O迁移、数据库升级等场景。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 849

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

一次面试经历

做完面试题后,正准备离开,接待的妹子把我叫住,说项目经理要带我参观一下公司环境。下一场面试反正要明天,回去也没事可做,就当跟着转转吧。 首先是茶水间,才下午3点,我看到男男女女们十分欢快的坐在里面聊天。还有些年轻小伙子拿着掌机在对战。 “我们公司的企业文化是自由,因此我们没有规定员工的休息时间。只要手上的TASK做好了,随时都可以休息。”项目经理跟我解释道。   然后是市场部。我看

superarhow的专栏 1866

温度PID控制PLC程序

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

双公司记

--摘抄自敏捷软件开发。 --来自:http://blog.youkuaiyun.com/kook_tian/archive/2009/12/27/5087100.aspx 看了以后觉得很有感触,写出来希望更多没有注意过这篇文章的管理者或是想成为管理者的人看到。 (匆匆抄写没有校对,凑合看吧。)        Rufus公司:“日落”项目 你叫Bob。日期是2001

WebWalker 2507

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

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

计算机主机三维模型,三维模型

三维模型是物体的多边形表示,通常用计算机或者其它视频设备进行显示。显示的物体可以是现实世界的实体,也可以是虚构的物体。任何物理自然界存在的东西都可以用三维模型表示。中文名三维模型生成三维建模工具这种专门的软件构成网格 纹理建模范围任何物理自然界存在的东西三维模型介绍编辑语音三维模型经常用三维建模工具这种专门的软件生成,但是也可以用其它方法生成。作为点和其它信息集合的数据,三维模型可以手工生...

weixin_32011209的博客 1707

近乎不朽:Ed Yourdon

                         近乎不朽:Ed Yourdon        Ivar Jacobson曾经不乏自得地提到过一场“方法论之战”和它的休战。的确,上世纪90年代初,“软件工程”领域还处在群雄并起的局面——据OMG组织(UML、CORBA背后的那个帝国)统计,当时仅仅“面向对象”方法论,就有27种之多。“圣人出而黄河清”,Jacobson自诩,他本人、Grady Bo

yzc的专栏 1411

对话:Web技术的思考

    本文的内容来自各种渠道,有朋友非正式的讨论与邮件往来,也有网络上的各种资料,还有开发者们口耳相传的实践经验。为了方便读者,我不揣冒昧将它们整理成对话的形式,并借了两个虚构人物(WebWork的爱好者Weber和Struts的老用户Steven)之口来比较这两种流行的web框架,希望对读者的选择有所帮助。Steven:嘿,Weber,你最近忙什么呢?Weber:哦,我刚做了一个项目,用Web

logic_202的专栏 4497

对谈:WebWork vs. Struts

透明/编著本文的内容来自各种渠道,有朋友非正式的讨论与邮件往来,也有网络上的各种资料,还有开发者们口耳相传的实践经验。为了方便读者,我不揣冒昧将它们整理成对话的形式,并借了两个虚构人物(WebWork的爱好者Weber和Struts的老用户Steven)之口来比较这两种流行的web框架,希望对读者的选择有所帮助。Steven:嘿,Weber,你最近忙什么呢?Weber:哦,我刚做了一个

《优快云社区电子杂志——Java杂志》官方blog 1万+

2025年软考论文最新备考攻略:高分=3分理论+7分实践!

项目概述:介绍项目的基本情况,包括项目名称、自己在项目中的角色和任务。论文的主要论点:概括论文的核心观点和主张。项目实施情况及效果:总结项目实施的过程和取得的成果,特别是论文中提出的论点在项目中的应用效果。本文以 [项目名称] 为实例,探讨了 [论文论题],认为 [论点]。在此项目中,我担任了 [角色],参与了 [任务],实施后 [效果]。[项目名称] 是 [项目说明]。在此项目中,我担任了 [角色],参与了 [任务]。对于项目中的 [论文论题],本文认为 [论点]。实施后 [效果]。

逸尘谈PM 1229
上一篇: 决战系统设计--某CMMI Level3公司系统设计能力评价案例题
下一篇: Struts使用Tiles辅助开发
am2000
博客等级 码龄26年 51粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值