刘京城:我的《软件方法》学习经历(有彩蛋)

DDD领域驱动设计批评文集

做强化自测题获得“软件方法建模师”称号

《软件方法》各章合集


写在前面(潘加宇)

下面是刘京城写的关于他学习《软件方法》的经历。我在前面啰嗦几句。

我做软件建模方面的研究和普及工作已经24年了,和各行各业各种类型软件组织的软件开发人员都有过接触,而且我们也很注意维护和大家的联系。

这些年,经常有人找上门来让我“推荐人才”,甚至鼓动我们开展“猎头”业务,我们都没有往这方面走——以后应该也不会开展这方面业务。甚至,我们在网站上都没有发布过客户名单以及各种“UMLChina成功为**公司提供服务!”的大标语。

今天是一次破例,我推荐一下刘京城。

刘京城非常优秀(此处作者删除未写过的3251字)。如果您相信我的推荐,有产品经理、架构师、企业应用开发等机会需要和他合作,可以联系我(文章最后二维码)获得他的联系方法——眼见为实嘛。

非诚勿扰!

******正文开始******

图片

刘京城

我从2016年首次接触到《软件方法》,一开始就被其前面所说内容及其要解决的问题所吸引,不过那时项目忙着上线所以并没投入太多精力就放下了。

到了2017年,自己在做项目过程中尤其是写代码上越来越觉得困难,代码越来越复杂且难以维护,故又重新想起软件方法,想起它好像就是为了解决这些问题而存在的,这时才真正开始沉下心来学习《软件方法》。

《软件方法》这本书(包括网上的下册内容我也打印了出来)我仔仔细细阅读了有四遍。

第一遍阅读就觉得很有道理,其所要解决的正是我当前的痛点,但是真正理解起来还是比较困难,软件开发的固有思维还没开始扭转;

到了第二遍,思维也还没扭转过来;第三遍时开始有种豁然开朗的感觉,一下子觉得很多都真正开始理解和明白了,这一遍我在阅读时还详细做了一遍笔记大纲,便于我后面进行复习。

第四遍大概是过了一两年后又再读进行巩固的。总结下来每一遍阅读都是有新的很多收获,当然自知也还并没有完全理解和吸收并内化成自身的技能。

我深知要想把软件方法的知识内化成自己真正掌握的技能,还需要不断地进行思考和实践。我在读完书第三遍后自己就开始试着推荐在项目中实践,但现实却很残酷,我发现自己很难真正将软件方法的思想落地,中间碰过好几次壁。最后我决定还是先不动手实践,因为自己大脑里的知识还没有融会贯通。

从那时起我又开始认真做书上的自测题以及网上的建模竞赛题(我全部都打印了出来),每一道题都要做到全对,这很困难,因为老师没给标准答案,只会给一个最终评分,不是满分时自己也不知是哪道题错了,所以只能对每道题进行重新思考,这个过程很磨人。

经过很长时间的磨砺,最终100多道自测题和100多道竞赛题我都做到了全部正确,也因此得到了“软件方法建模师”称号。在这个过程中我的成长也是很大的,对很多知识点的理解开始了融会贯通。期间,我还陆续参加了潘老师的多次培训课程以及学习了建模示范视频,

2020和2021这两年我结合自己所学所思所想,重新开始对软件方法进行实践,先从小的案例开始,再到大一点的案例,最后再到拿项目中的实际业务作为案例来实践,过程中深刻领会到实践落地的难度,真的不小。总的来讲有一定的实践,但最终还是很遗憾并没有真正在工作的项目中使用起来并用到生产环境。

个中原因,主要还是团队成员除我之外对软件方法的知识知道得太少,理解得太少。

这时我想起了《软件方法》第1章里的内容以及老师的提醒:

在基本共识上沟通、只有少数有“冠军的心”的团队能用好、三个臭皮匠弄死诸葛亮,等等。

总而言之,前路漫漫,欣慰的是我知道前路漫漫,没有像老师批评的拥抱“简单易学”的伪创新来欺骗自己。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/99931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springboot学习笔记——3

Springboot学习笔记——3 一、热部署1.1、手动启动热部署1.2、自动启动热部署1.3、热部署范围配置1.4、关闭热部署 二、配置高级2.1、第三方bean属性绑定2.2、松散绑定2.3、常用计量单位应用2.4、bean属性校验2.5、进制数据转换规则 三、测试3.1、加载测试专用属性3.2、加载测试…

TLR4-IN-C34-C2-COO,一种结合了TLR4抑制剂TLR4-IN-C34的连接器

TLR4-IN-C34-C2-COO是一种结合了TLR4抑制剂TLR4-IN-C34的连接器,在免疫调节中发挥重要作用,它通过抑制TLR4信号通路的传导,从而达到降低炎症反应的目的。TLR4是Toll样受体家族中的一员,它主要识别来自细菌和病毒的保守模式&#x…

红队专题-Cobalt strike4.5二次开发

红队专题 招募六边形战士队员IDEA 自动换行原版CS反编译破解jar包反编译拔掉暗桩初始环境效果 stageless beacon http通信协议 过程分析上线&心跳get请求teamserver 处理请求 参考链接 招募六边形战士队员 一起学习 代码审计、安全开发、web攻防、逆向等。。。 私信联系 …

vue:权限绑定菜单(全局引入,在template内用v-if调用)

登录成功后,将返回的权限保存到缓存 sessionStorage:浏览页面期间保存,关闭浏览器后丢掉数据 在utils内index.js内定义isAuth方法 在main.js内引入,并挂载全局 在vue页面内,在template内用v-if调用

一个好用的k8s代理工具——KtConnect

介绍 KtConnect实现了开发者本地运行的服务与Kubernetes集群中的服务之间的双向互通。 核心功能 本地直接访问Kubernetes集群内网 通过KtConnect可以直接连接Kubernetes集群内部网络,在不修改代码的情况下完成本地联调测试 本地解析Kubernetes服务内网域名 直…

大华银行与微软合作:用365 Copilot提升工作效率

微软在官网宣布与新加坡最大银行之一大华银行(United Overseas Bank,简称“UOB”)达成技术合作。大华银行将于今年10月份开始,为300名员工提供Microsoft 365 Copilot服务,以实现降本增效。 Microsoft 365 Copilot是微…

C++三大特性——继承(上篇)

文章目录 目录 一、继承的概念及定义 1.1继承的概念 1.2 继承定义 1.2.1定义格式 1.2.2继承关系和访问限定符 1.2.3继承基类成员访问方式的变化 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 一、继承的概念及定义 1.1继承的概念 继承(inherita…

bin-editor-next实现josn序列化

线上链接 BIN-EDITOR-NEXThttps://wangbin3162.gitee.io/bin-editor-next/#/editor gitee地址bin-editor-next: ace-editor 的vue3升级版本https://gitee.com/wangbin3162/bin-editor-next#https://gitee.com/link?targethttps%3A%2F%2Funpkg.com%2Fbin-editor-next%2F 实现…

47 从前序与中序遍历序列构造二叉树

从前序与中序遍历序列构造二叉树 先序无法确定子树大小,中序找不到根;所以用先序找根,用中序找大小题解1 递归题解2 迭代 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同…

Win11自定义目录安装Linux子系统wsl

1. 启用适用于 Linux 的 Windows 子系统和虚拟机功能 以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后依次输入执行以下命令: dism.exe /online /enable-feature /f…

vue3+ts项目04-国际化

yarn add vue-i18n yarn add js-cookie yarn add types/js-cookiesrc下新建i18n文件夹,该文件夹下新建lang和pages文件夹, lang文件夹下新建en.ts // 定义内容 export default {router: {home: home,system: {system: system,menu: systemMenu,role: sy…

Dremio:新一代数据湖仓引擎

Dremio数据湖引擎 1、什么是Dremio2、什么是数据湖仓2.1、数据湖仓的历史和演变 3、Dremio查询引擎(Dremio Sonar)3、Dremio特点1、唯一具有自助式SQL分析功能的数据湖仓2、数据完全开放,无锁定3、亚秒级性能,云数据仓库成本的1/1…

【JavaEE重点知识归纳】第7节:类和对象

目录 一:了解面向对象 1.什么是面向对象 2.面向对象和面向过程区分 二:类定义和使用 1.什么是类 2.练习:定义一个学生类 三:类的实例化 1.什么是实例化 2.类和对象的说明 四:认识this 1.为什么要有this引用…

国内就能使用的chatgpt网页版,包含AIGC应用工具

Chatgpt的出现在多个领域带来了重要的影响。它能够显著提高我们的工作效率,无论是编写文案代码还是回答常见问题,都能在短时间内完成任务。通过Chatgpt,我们能够迅速获取所需答案。随着人工智能技术的不断发展,相信在未来AI能够带…

elasticsearch 8.5.3问题记录

一:解决 elasticsearch 高版本 warning: ignoring JAVA_HOMEC:\Program Files\Java\jdk-11; using bundled JDK if defined JAVA_HOME (set JAVA_HOME%JAVA_HOME%; )示例版本Elasticsearch 8.5.3 可以与 JDK 11 兼容,但不支持 JDK 17。确保选…

Spring Boot中实现发送文本、带附件和HTML邮件

SpringBoot实现发送邮箱 引言 在现代应用程序中,电子邮件通常是不可或缺的一部分。在Spring Boot中,你可以轻松地实现发送不同类型的邮件,包括文本、带附件和HTML邮件。本博客将向你展示如何使用Spring Boot发送这些不同类型的电子邮件。 步…

详细解说iptables 高阶用法,用来完成哪些高效率网络路由策略场景,iptables 实现域名过滤,Linux如何利用iptables屏蔽某些域名?

详细解说iptables 高阶用法,用来完成哪些高效率网络路由策略场景,iptables 实现域名过滤,Linux如何利用iptables屏蔽某些域名? Linux利用iptables屏蔽某些域名 以下规则是屏蔽以 youtube.com 为主的所有一级 二级 三级等域名。 iptables -A OUTPUT -m string --string &qu…

unocss+vite+vue3初使unocss

一、什么是UnoCss? UnoCSS 是一个即时的原子CSS引擎,而非一款框架,因为它并未提供核心工具类,所有功能可以通过预设和内联配置提供。它可以让你用简短的类名来控制元素的样式 原子样式也有很多选择,最著名的就是 Tail…

019 基于Spring Boot的教务管理系统、学生管理系统、课表查询系统

基于Spring Boot的教务管理系统、学生管理系统、课表查询系统 一、系统介绍 本作品主要实现了一个课表查询系统,采用了SSM(Spring SpringMVC MyBatis)的基础架构。 二、使用技术 spring-bootspring-MVCthymeleafmybatis-plusdruidLombo…

保护 Web 服务器安全性

面向公众的系统(如 Web 服务器)经常成为攻击者的目标,如果这些业务关键资源没有得到适当的保护,可能会导致安全攻击,从而导致巨大的财务后果,并在客户中失去良好的声誉。 什么是网络服务器审核 当有人想要…