敏捷开发的确要求我们只针对眼前的功能进行设计和开发,但是这并不是不要我们统筹全局。只考虑眼前,而不关注未来,会造成设计不足,导致后期变化难以适应。太看重未来,看得太远,会产生设计过度,用现在的成本来换取未来未知的变化,也是得不偿失的。合理的设计就是要满足现在,并兼顾不久的将来。
如果说变化导致结构或者整个体系都要伤筋动骨,其实是我们设计不足造成的。设计的时候你的模块有没有划分清楚,有没有设计可重用的组件,模块之间如何交互,是不是进行进行低耦合的设计,模块和组件之间的接口设计是否通观全局,是否能满足相对的扩展,模块内部是一个有效的整体,变化会导致结构改变,但是这不会对整个系统造成太大影响。总之,模块之间,组件之间,层与层之间需要低耦合的设计,而内部有需要高内聚的设计,我们有没有做到。
而且,现在的开发模式,我认为应该从以数据库设计为核心的设计模式上升到领域驱动设计,专注于领域模型而不是数据模型,数据库只是数据存储的载体和查询的工具,更多的还是在业务层面的抽象,划分合适的领域,建立相对稳定同时又容易扩展的领域模型,这才能适应业务的变化。
敏捷开发的确是拥抱变化,有人说敏捷会牺牲掉架构设计,其实我感觉不是,敏捷其实对架构设计要求更高,需要对系统进行更高层次的抽象。架构设计是演变而成的,不是在开始就设计出来的,敏捷如果不支持这种演变,那就谈不上敏捷了。
分享到:
相关推荐
电信服务质量监督系统数据库设计实例 本系统是一个电信服务质量监督系统,旨在提高电信服务质量和用户满意度。系统包括投诉受理、处理、监控和答复等功能模块,以提高电信服务质量和用户满意度。 系统设计原则: ...
在这个"数据库详细资料课件 对方答复"中,我们可以预期涵盖以下几个关键知识点: 1. **数据库基本概念**:这是学习数据库的起点,包括数据、数据模型、数据库类型(如关系型数据库、非关系型数据库)、数据结构(如...
在Web开发中,确保用户提交的数据安全、有效是至关重要的。PHP作为服务器端脚本语言,可以处理并验证用户通过HTML表单提交的数据。下面将详细讨论PHP验证框的相关知识点。 1. **基本概念** - 验证框:在HTML中,...
Java开发规范是编程实践中至关重要的一个方面,它不仅关乎代码的可读性、可维护性和团队协作效率,也直接影响到软件项目的质量和长期发展。本文将深入探讨Java开发规范中的核心原则,以及如何通过遵循这些规范来提升...
毕业设计,基于SSM+MySql+Bootstrap开发的实训项目管理任务作业批改系统,内含Java完整源代码,数据库脚本等 JSP基于SSM实训项目管理任务作业批改系统可升级SpringBoot毕业源码案例设计 程序开发环境:myEclipse/...
文章从技术角度出发,详细介绍了 PHP 的特点、MYSQL 数据库的选择、AJAX 技术的应用、Zend 平台的使用、页面布局的设计、系统的模块设计、数据库设计等方面的内容,对精品课程网站的设计与开发进行了详细的分析和...
标题中的“答复: 一道经典线程面试题的4种解法”暗示了这是一个关于多线程编程的问题,通常在面试中出现,用于评估候选人的并发处理能力。在这个问题中,可能涉及到同步、线程安全、锁机制等关键概念。 在Java中,...
- **显示时计算**:只在文档打开、编辑或刷新时进行计算,不会将结果保存在文档中。 - **创建时计算**:只在文档创建时计算一次,并将结果保存在文档中。 #### 八、主文档、答复文档与答复的答复文档的介绍 - **主...
数据库设计中,关系模式的定义至关重要。例如,教师文件可能包括教师姓名和性别,课程文件可能有课程号、课程名、教师等字段。而班级文件则可能有班级代号、班主任(外键关联到教师文件)等字段。账目文件则需要记录...
标题中的“答复: 通过代码简单介绍JDK 7的MethodHandle,并与.NET的委托对比(二)”表明本文将深入探讨Java中的MethodHandle概念,并将其与.NET平台上的委托进行对比。MethodHandle是JDK 7引入的一个强大特性,它...
在开发过程中,有时需要直接访问当前运行公式的数据库或视图。Lotus Domino 提供了简单的方法实现这一点: - **直接访问当前数据库**:便捷图标除外,因为它没有数据库环境。 - **直接访问当前视图**:在视图环境中...
- **数据库设计**:根据需求分析结果,设计合理的数据库结构,利用MySQL创建相应的数据表来存储各类信息。 - **安全性设计**:实现用户权限控制,保证不同角色访问不同的资源;对敏感信息进行加密存储,增强系统的...
11. **视图中显示文档层级**:在视图属性中启用“缩进一个层次显示答复文档”,并添加额外列,通过条件公式判断显示不同级别的答复文档,调整列宽以达到缩进效果。 12. **作者域与读者域**:作者域控制文档的作者...
程序开发环境:myEclipse/Eclipse/Idea都可以 + mysql数据库 前台技术框架: Bootstrap 后台架构框架: SSM 实训日志管理系统主要是实现企业老师可以随时对学生提出来问题的反馈进行审批以及答复,提供学员与老师之间...
在本文中,我们将详细探讨如何配置MS SQL SERVER 2005进行数据库邮件的设置。这一功能使得数据库管理员可以通过SQL Server自动发送电子邮件,用于报警、报告或其他通信需求。以下是配置的详细步骤: 首先,需要安装...
【知识点详解】 1. 英语句子改写基础: - 否认句:在英语中,将肯定句变为否定句通常是在动词前加上...在暑假期间进行此类练习,可以帮助孩子们保持学习状态,同时寓教于乐,使他们在轻松愉快的氛围中提升英语水平。
具体实现中,用户可以发表新意见,管理员可以对这些意见进行答复或删除。答复可以设定为公开或私密,公开答复可供所有用户查看,私密答复仅对原提交者可见。用户可以查看自己的意见记录,包括已答复和未答复的,以及...
* 数据库建设阶段:提供数据库建设阶段的全程现场服务,包括数据库全局规划、集中管理规划和设置、备份与恢复方案设计和实施、标准操作流程和运行制度的设计等。 * 安装阶段:提供操作系统安装、数据库安装服务、...
《最新软件合作开发合同》是IT行业中常见的法律文件,用于规范两方或三方在软件开发过程中的权责关系。此合同模板适用于简单的委托开发项目,适用于各种通用场景。以下是合同中涉及的关键知识点: 1. **合同构成**...
因此,这个毕业设计可能涵盖了数据库设计(如使用 SQL Server 或 MySQL)、用户界面设计(使用 Delphi 的可视化组件)、业务逻辑实现(用 Object Pascal 编码)和系统集成等多方面技能的运用。 总的来说,这个...