系统设计的本质
•系统设计的本质是寻找隐藏于应用背后抽象
•需求和用例不会表述或提及这些抽象,它们太过专注细节以至于不能表达底层抽象的一般性
如何抽象
•抽象需要根据需求的全局来展开
•不能只按个别用例来展开
•抽象就是归纳、总结,并提炼需求的共同逻辑
关于数据库
•数据库是实现细节!应该尽可能的推迟考虑数据库。有太多的应用程序之所以和数据库绑定在一起而无法分离,就是因为一开始设计时就把数据库考虑在内了。请记住抽象的定义:“本质部分的放大,无关紧要部分的去除。”在项目的分析设计阶段数据库就是无关紧要的,它只不过是一项用来存储和访问数据的技术而已!
面向对象的分析和设计
•面向对象的分析和设计应从用户或系统的行为模型展开,而不是数据库。
•用户故事描述的就是行为
用户故事->用例->设计
•用户故事->用例->设计。用例不需要陷入过多细节,只要有助于代码设计即可;设计不用太详尽彻底,应从简单开始,以小步增量的方式前进。
•源代码是最终的设计文档
分享到:
相关推荐
Linux笔记——vim常用操作及扩展补充[手册] Linux笔记——linux常用命令集合 Linux笔记——命令:awk Linux笔记——命令:sed Linux笔记——命令:grep Linux笔记——命令:find Linux笔记——命令:Sort,uniq,join,...
Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip ...
FPGA自学笔记——设计与验证公开版;十分适合初学者使用
Python学习笔记——运算符 运算符: 赋值运算符 算术运算符 关系运算符 逻辑运算符 位运算
——————————————————————————————————————————————
考研热门专业读书笔记及内部资料汇编:通信工程与电子工程分册,通信和电子考研必备
jBPM-jPDL学习笔记——流程设计与控制
个人整理的嵌入式系统设计师教程读书笔记——帮我低空飞过考试.doc
数字图像处理笔记⑥——图像分割.pdf 数字图像处理笔记⑥——图像分割.pdf 数字图像处理笔记⑥——图像分割.pdf 数字图像处理笔记⑥——图像分割.pdf 数字图像处理笔记⑥——图像分割.pdf 数字图像处理笔记⑥——...
学生读书笔记共享-学生读书笔记共享系统-学生读书笔记共享系统源码-学生读书笔记共享管理系统-学生读书笔记共享管理系统java代码-学生读书笔记共享系统设计与实现-基于springboot的学生读书笔记共享系统-基于Web的...
上海初三英语阅读精讲笔记1——阅读A篇题型-原创.pdf
上海初三英语阅读精讲笔记1——阅读A篇题型-原创.rar
操作系统复习笔记2——进程管理,涵盖进程、线程、CPU调度、进程同步和死锁
S7-200 Smart入门笔记1——流水灯 按钮 S7-200 Smart入门笔记1——流水灯 定时器 S7-200 Smart入门笔记2——读时钟 S7-200 Smart入门笔记3——呼吸灯 S7-200 Smart入门笔记4——全局变量和局部变量 S7-200 Smart入门...
学生读书笔记共享-学生读书笔记共享系统-学生读书笔记共享系统源码-学生读书笔记共享管理系统-学生读书笔记共享管理系统java代码-学生读书笔记共享系统设计与实现-基于springboot的学生读书笔记共享系统-基于Web的...