简介

课程将高效率的软件项目质量管理、UML、重构设计与功能实现、单元测试几个课程合而为一,我们称之为设计匠艺。这几个课程当然可以分开来讲,但是如果把他们组织在一起,将会形成一个有效的开发闭环。事实上,在实际的开发过程中,它们本身就是一个整体,无法分解。我们称之为开发部曲。

课程体系结构图

一、好的设计

“球不是这么踢的”

让目标指导行动

设计已死?

足够好的软件

化整为零,个个击破

先实现后设计

二、别废话,动手!

从你的场景开始

获取需求

场景驱动与故事划分

从测试开始

驱动设计

实现

重构

再设计

结对编程

来,别看着,动手!

三、设计的原本

角色、职责、协作

再看封装、抽象与多态

职责的封装

重构与设计模式是一种封装技术

桩对象

重构技术的变种

TDD、重构导向模式

四、用例驱动设计

用例与功能

用例场景

健壮性分析图

时序图

协作图

类图

包图

逻辑框架和层

模型-视图分离原则

五、领域驱动设计

何为“领域驱动设计”

通用语言

模型驱动设计

面向深层理解的重构

保持模型一致性

六、职责驱动设计

GRASP是什么?

创建者

信息专家

低耦合

控制器

高内聚

多态

纯虚构

间接性

防止变异

七、测试驱动开发

保持节奏:红色、绿色、重构、模式

用ATDD满足客户需求

正确地做事:TDD

做正确的事:ATDD

增量式开发

重构以保持代码的健康

下士!保持绿色!

八、设计模式

设计模式与变迁

行为型模式

创建型模式

结构型模式

九、设计原则

开闭原则

里氏科夫替换原则

单一职责原则

接口隔离原则

依赖倒置原则

不要重复你自己原则

你不需要它原则

KISS原则

十、开发部曲

计划游戏

简单设计

测试驱动开发

重构

团队协作

持续构建

迭代

反思改进

以上大纲仅用于罗列课程中的知识点,在实际授课时将会穿插在实际案例里,并非按时间顺序讲解。

讲师介绍

姜志辉

Jobs,中科院计算所培训中心 高级讲师

国家863项目(国家数字油田)专家,首席架构师

敏捷中国团队持有人;2005年IBM开发者大会最佳讲师、最佳讲义获得者;人民银行技术顾问;国家质量认证中心技术顾问;总参某部技术顾问;国家安全局技术顾问;大庆油田技术顾问;胜利油田技术顾问;鲁能集团技术顾问;2007年度开源项目之一AgileUML的主架设计师。

更重要的是他是一位快乐的实用主义软件工程专家。虽然他热衷于软件开发技术与敏捷开发实践。但是能真正吸引他的是程序与使用者交流和沟通的能力。Jobs是实用开发的“永久消费者”,几乎在任何地方,都可以找到软件开发哲学的灵感.

软件设计能力提升之设计匠艺相关推荐

  1. 程序员自我修炼:《匠艺整洁之道》读书总结

    作为技术人员的我,心中始终有一些困惑和疑虑.我这几天翻看了鲍勃大叔的封山之作<匠艺整洁之道>,其中的部分困惑和疑虑终于得到了部分答案.下面是我的一些总结和思考,如果其中一些观点有失偏颇,欢 ...

  2. [书目20160623]编程匠艺——编写卓越的代码

    本文转自:http://blog.chinaunix.net/uid-13164110-id-3410985.html 编程匠艺--编写卓越的代码  [美]Pete Goodliffe(皮特.古德利弗 ...

  3. 【代码猴子-培养正确的编程态度和方法】--《编程匠艺》

    转来的! [代码猴子-培养正确的编程态度和方法]--<编程匠艺> 从 博客园-首页原创精华区  作者:小伦 有 41 人喜欢此条目 作者: 小伦 发表于 2010-06-16 15:22  ...

  4. 重读《重构》,呼唤匠艺

    2009年,在为<重构>第1版的中译本再版整理译稿时,我已经隐约察觉行业中对"重构"这个概念的矛盾张力.一方面,在这个"VUCA"(易变.不确定.复 ...

  5. 重构20年,呼唤匠艺

    1999年,世界软件开发大师,ThoughtWorks首席科学家马丁·福勒(Martin Fowler)出版<重构:改善既有代码的设计>,读者反馈甚佳,重构(Refactoring)的理念 ...

  6. HTML5期末大作业:个人网站设计——拾艺客个人设计工作室(6个页面) HTML+CSS+JavaScript...

    ​ 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手?网页要求的总数量太多?没有合适的模板?等等一系列问题.你想要解决的问题,在这篇博文中基本都能满足你的 ...

  7. java毕业生设计寻艺画室网站计算机源码+系统+mysql+调试部署+lw

    java毕业生设计寻艺画室网站计算机源码+系统+mysql+调试部署+lw java毕业生设计寻艺画室网站计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B/S架构 开发语言: ...

  8. 用计算机设计软件,平面设计中计算机设计软件的作用

    摘要:计算机平面设计在整个平面作品的设计中扮演着十分重要的角色,通过有效的计算机平面设计能够为人们提供更多的平面设计作品.为此,文章在阐述平面设计中计算机设计软件应用意义的基础上,为如何将计算机设计软 ...

  9. 如何快速掌握Sketch软件,提升设计效率?

    本文由:"学设计上兔课网"原创,图片素材来自网络,仅供学习分享 如何快速掌握Sketch软件,提升设计效率?SKETCH是一款十分优秀的UI设计软件,虽然它不如PS和AI强大,但是 ...

最新文章

  1. 测试Infineon车载LED驱动芯片TLD2131
  2. C#使用xpath简单爬取网站的内容
  3. 「WC2018」即时战略
  4. python运算符括号_Python合集之Python运算符(四)
  5. 手机上的机器学习资源!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现!...
  6. html5 lang en 乱码,CSS中的html [lang =“en”]和html:lang(en)有什么区别?
  7. 小米9震撼发布!米粉大呼价格太良心 2999元起稳了吗?
  8. java数据同步处理_[java数据库同步解决方案]系统间通讯实现数据信息实时同步解决方案...
  9. Android学习---解决Android Graphical Layout 界面效果不显示
  10. python-opencv 图像二值化,自适应阈值处理
  11. 关于前几周项目进行的一些感受
  12. 避免踩坑,数据库主键字段不能为空
  13. oracle新增字段和注释语法
  14. 网站优化排名的5个方法
  15. web注释@WebService,@WebMethod,@Oneway,@WebParam
  16. vue v-if 判断某个元素满足多个条件的写法
  17. redis keys scan筛选
  18. 互联网应用 zzl复习版
  19. 单片机C语言零基础入门05 - 逻辑运算
  20. 数学王子高斯传奇,一路开挂打怪的一生

热门文章

  1. 新手玩转unwallet攻略
  2. cocos2dx的文章
  3. GENI: Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
  4. twrp扩大system分区_TWRP recovery 的备份功能里面有 2 个 system 分区,多占用空间,怎么搞掉?...
  5. vue-devtools安装教程 附各种常见错误处理(图标不显示 图标显示控制台没用Vue选项卡)
  6. linux界面赶不上微软,忘掉微软!其实Linux桌面也能如此美
  7. python爬虫--小白爬取csdn页面题目与链接
  8. UVA10118(记忆化搜索 + 好题)
  9. Linux 系统licence,Linux系统中软件简单License的实现
  10. 安装pandas及相关包的经验(对同款问题有用)