系统设计的本质
•系统设计的本质是寻找隐藏于应用背后抽象
•需求和用例不会表述或提及这些抽象,它们太过专注细节以至于不能表达底层抽象的一般性
如何抽象
•抽象需要根据需求的全局来展开
•不能只按个别用例来展开
•抽象就是归纳、总结,并提炼需求的共同逻辑
关于数据库
•数据库是实现细节!应该尽可能的推迟考虑数据库。有太多的应用程序之所以和数据库绑定在一起而无法分离,就是因为一开始设计时就把数据库考虑在内了。请记住抽象的定义:“本质部分的放大,无关紧要部分的去除。”在项目的分析设计阶段数据库就是无关紧要的,它只不过是一项用来存储和访问数据的技术而已!
面向对象的分析和设计
•面向对象的分析和设计应从用户或系统的行为模型展开,而不是数据库。
•用户故事描述的就是行为
用户故事->用例->设计
•用户故事->用例->设计。用例不需要陷入过多细节,只要有助于代码设计即可;设计不用太详尽彻底,应从简单开始,以小步增量的方式前进。
•源代码是最终的设计文档
分享到:
相关推荐
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自学笔记——设计与验证公开版 #### 1. FPGA技术背景与发展趋势 随着FPGA技术的不断发展,从最初的简单逻辑粘合逐渐演变为现在的可编程片上系统(SoC),FPGA的应用范围也在不断扩大。例如Altera(现已被...
Python学习笔记——运算符 运算符: 赋值运算符 算术运算符 关系运算符 逻辑运算符 位运算
通过阅读和学习这些JAVA学习笔记,开发者不仅可以掌握JAVA编程的基本技能,还能深入了解其设计理念,从而更好地应对各种实际开发问题。不断更新和完善自己的JAVA知识体系,对于成为一名优秀的JAVA开发者至关重要。
读书笔记:数学之美读书笔记——吴军博士2020年寒假大三上学期
在描述中,“论文笔记模板——自用xmind模板.zip”重复了标题的信息,进一步确认这是一个专为记录和组织论文相关笔记设计的模板,可能包含了特定的结构、主题和样式,适合个人使用。 由于标签为空,我们无法直接...
这篇压缩包文件“上海初三英语阅读精讲笔记1——阅读A篇题型-原创.rar”显然是针对中国上海市初中三年级学生的一份英语学习资料,重点在于提高学生的阅读理解能力。其中包含了一个PDF文档,名为“上海初三英语阅读...
学生读书笔记共享-学生读书笔记共享系统-学生读书笔记共享系统源码-学生读书笔记共享管理系统-学生读书笔记共享管理系统java代码-学生读书笔记共享系统设计与实现-基于springboot的学生读书笔记共享系统-基于Web的...
思源笔记(Siyuan Note)是一款开源的个人知识管理系统,它以其强大的笔记组织功能和灵活的自定义能力受到许多用户的喜爱。在日常工作中,我们常常会创建大量的任务和笔记,这些信息分散在不同的文件夹和子文件夹中...
通过阅读这些笔记,学习者不仅可以掌握前端开发的基本技能,还能了解到实际开发中可能会遇到的问题和解决策略。 文件列表中的"CSS1"和"CSS2"可能包含了一些CSS的实例或练习,"html"文件夹可能包含了HTML页面示例,...
### C语言设计笔记——分享设计思路 #### 软件工程的三要素 - **方法**:提供“如何做”的技术指导,是软件开发的基础。 - **工具**:为软件工程方法提供自动化的或半自动的支持环境,提高开发效率。 - **过程**:...
学生读书笔记共享-学生读书笔记共享系统-学生读书笔记共享系统源码-学生读书笔记共享管理系统-学生读书笔记共享管理系统java代码-学生读书笔记共享系统设计与实现-基于springboot的学生读书笔记共享系统-基于Web的...
S7-200 Smart入门笔记1——流水灯 按钮 S7-200 Smart入门笔记1——流水灯 定时器 S7-200 Smart入门笔记2——读时钟 S7-200 Smart入门笔记3——呼吸灯 S7-200 Smart入门笔记4——全局变量和局部变量 S7-200 Smart入门...