网易首页 > 网易号 > 正文 申请入驻

IDD是引入交互驱动的设计

0
分享至

IDD是一种基于外部开发的软件设计和开发的迭代方法,它侧重于根据系统的外部使用来建模行为,同时保持业务组件的内部表示。

在阅读本文之前,我强烈建议您阅读以前的两篇博客文章:MVC,交付机制和领域模型以及外部开发案例。

大部分软件项目经过一段时间后很难维持和发展。企业不断抱怨,事情需要永远交付。开发人员抱怨代码是一团糟,他们很难理解它。他们说代码设计不好,不能反映业务概念和流程。更多的时候,他们自己编写代码。

开发团队通常没有一种有效的方法来分割业务功能和设计软件,以便可以递增地交付软件,同时使代码库与业务流保持一致并易于维护。

一个好的软件设计过程应该可以帮助开发人员清楚地表示其应用程序中的功能区域和业务流程,并将业务变化与各自的软件组件进行对比。业务领域的变化不应该导致系统的多个领域发生变化。识别系统中的行为应该是直截了当的,新开发人员不应该有任何问题来理解代码。

交互驱动设计(IDD)

IDD是一种基于Outside-In Development的软件设计和开发的迭代方法,它侧重于根据系统的外部使用进行建模行为,同时保持对内聚业务组件的内部表示。

IDD的前提是,应用程序只能存在以满足用户或服务的外部需求 - 称为角色。参与者和应用程序之间的每个交互表示对应用程序必须满足的参与者的需求。IDD的目标是反复设计和构建满足这些需求的应用程序。

IDD的影响

在坚实的软件设计基础的基础上,IDD受到了责任驱动设计,领域驱动设计,行为驱动开发以及其他许多设计原则,模式,方法和方法的启发。

国际发展研究所汇集了一整套新的和现有的方法,为软件设计和开发创造了一个更具说明性,但灵活的方法。

IDD范围

IDD专注于系统功能方面的设计和开发,包括架构,宏观和微观设计。

IDD方法总结

IDD专注于角色与应用程序之间的交互,以及应用程序内部不同行为之间的交互。内部行为是通过分解行为者触发的行为来发现的。对于每个被识别的行为重复这个过程,把它们分解成更小的行为,直到没有更小的行为。粗粒行为成为细粒行为的客户。每个行为都是为满足现有行为或外部需求的需求而创建的。这就是我们所说的外部设计。

行为发现

行为发现发生在五个层次上:跨应用程序功能,应用程序,应用程序功能,组件和单元。

  • 交叉应用特性:由一组应用提供的行为,通常在分布式(微)服务体系结构中。
  • 应用程序:将单个应用程序提供的行为收集到外部参与者。提供给外部世界的每个行为都被认为是一个特征。
  • 应用程序特征:满足演员单一需求的行为。通常,一个功能编排不同组件(或功能区域)的行为。
  • 组件:收集与单个功能区域有关的行为。
  • 单位:不可分解的行为,组成部分。

功能区域

术语功能区域用于定义我们业务领域的一个区域。职能领域的例子将是产品,付款,客户或订单等。根据所使用的大小,复杂性和架构风格,功能区域可以映射到单个应用程序内的独立应用程序(服务)或业务组件。

外在行为发现

不管级别如何,行为发现主要是在外部进行的。唯一的区别是使用的抽象层次。

对于微服务环境中的交叉应用功能,我们首先会选择一些由主角触发的主要流程(用户旅程,业务流程)。对于每一个流程,我们都做到以下几点:

  1. 1. 定义将处理演员请求的应用程序(服务)。这是将“拥有”跨应用程序功能的应用程序。
  2. 2. 然后,我们将主要行为分解成更小的行为,确保它们都处于相似的抽象层次。
  3. 3. 下一步是定义哪些功能区将拥有较小的行为。
  4. 4. 如果一个合适的功能区域已经存在,那么行为就被添加到它。如果不是,我们需要创建一个,因为在我们的域中可能缺少一个域概念。
  5. 5. 对每个较小的行为重复这个过程,直到我们不能分解更多,或者我们到达一个不相关的抽象层次。

这个过程应该与整个团队合作完成,包括产品所有者和测试人员。表示此发现过程的最佳方法是在白板上绘制序列图。探索几个主要流程后发现的功能区域可以被合并,并成为自然人选,成为独立的应用程序(或服务)。

上述相同的过程可以用于较低级别的行为,如组件。不同之处在于,我们不是谈论高层次的行为,职能领域和服务,而是谈论低层次的行为,阶级和方法。

更多有关不同级别的行为发现的详细信息。

IDD迭代开发

IDD建议一个软件团队一次只能工作一个主题(史诗)。这最大限度地减少了团队之间的依赖关系,使团队专注于交付,并保持应用程序不同领域的设计稳定一致。

每个工作主题都被分解为特征,这些特征在团队的积压中排列优先级。该团队一次一个迭代地工作,一个功能。每个功能分为垂直切片,从传送机制一直到持久性或与其他应用程序的集成。简单的特征具有单个切片,其中复杂的特征可以被分成许多切片。该团队一次只能在一个切片上工作,只有切片部署到生产环境后才能切换到下一个切片。

在提交功能之前,团队必须了解演员如何与应用程序进行交互以从功能中受益。在将特征划分成小垂直切片之前,必须对投递机制进行水平探索。特征切片应该从外部到内部,换句话说,从传递机制到持续或集成点。

切片功能的不同策略将在以后的文章中介绍。

国际直拨发展进程和优先次序

使用IDD构建软件时,首先要确定将从我们的应用程序的功能中受益的参与者(用户或其他系统或服务)。每个功能都应该满足一个或多个参与者的需求。

一旦我们确定演员,我们分析演员将与系统的交互。在这个分析中,我们不会深入到应用程序的内部行为。我们保持肤浅,纯粹关注演员和应用程序之间的对话。actor和应用程序之间的每个交互都是一个特性。我们把这一步称为横向探索。

通过手头的功能列表,我们优先考虑它们,并垂直划分最高优先级功能。

从交付机制(用户界面,入站队列,API端点,控制器等)开始,逐渐向内部开发切片,直到整个切片被实现为止。

IDD设计和测试指导

在IDD,我们开始从输入(外部)到输出(内部)的设计和测试,以满足用户或其他系统的外部需求。

IDD将设计和测试驱动开发(TDD)与执行流程对齐。

概要

IDD是一种外在的软件设计方法,可帮助开发团队根据参与者与应用程序之间的交互以及应用程序中的行为来设计和构建软件。

IDD促进了开发人员和业务部门之间的迭代开发和紧密协作。软件的可持续发展和持续交付是IDD的一些主要目标,都是通过强调应用程序的设计和将工作分解成小的垂直切片来实现的。

在以后的文章中,我将详细描述IDD中的所有元素,包括需求收集,架构,测试,代码组织,需求分割等等。同时,您可以观看专注于IDD更多技术方面的演示。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
一季度数据出来了,深圳依然是那个最靓的仔

一季度数据出来了,深圳依然是那个最靓的仔

今纶财经
2024-04-25 12:49:32
一个女人有多“干净”,你只需要看这个地方,答案一清二楚

一个女人有多“干净”,你只需要看这个地方,答案一清二楚

此处已无情
2024-04-22 20:40:05
詹库杜被肖华打压,尼克杨提议下赛季三人抱团,统治联盟夺冠

詹库杜被肖华打压,尼克杨提议下赛季三人抱团,统治联盟夺冠

阿雄侃篮球
2024-04-25 17:33:19
个人垫资再报销被查!即日起,费用报销这些操作不要再有!

个人垫资再报销被查!即日起,费用报销这些操作不要再有!

时尚的弄潮
2024-04-25 16:05:40
时间定了!国内油价调整,油价第二降,4月26日柴油汽油今日价格

时间定了!国内油价调整,油价第二降,4月26日柴油汽油今日价格

有料财经
2024-04-26 00:05:22
广西一女副校长与校长吵架,因随口说出9个字,生命葬送在38岁

广西一女副校长与校长吵架,因随口说出9个字,生命葬送在38岁

莉雅细细谈
2024-04-08 22:28:38
六年级小学生简历走红,雅思接近满分,教育经历比我一生都精彩

六年级小学生简历走红,雅思接近满分,教育经历比我一生都精彩

红丽说教育
2024-04-23 16:45:03
孟凡利带队访问香港澳门丨香港一日

孟凡利带队访问香港澳门丨香港一日

直新闻
2024-04-24 23:27:39
240万志愿军回来多少人

240万志愿军回来多少人

雷达夜
2024-03-24 14:30:22
五年前购入的俄制防空系统,土耳其恐将部署到伊拉克边境 专家:或与伊朗有关

五年前购入的俄制防空系统,土耳其恐将部署到伊拉克边境 专家:或与伊朗有关

红星新闻
2024-04-23 19:19:55
消息真灵通:一线城市取消限购

消息真灵通:一线城市取消限购

资本百科
2024-04-24 22:57:47
东契奇再获肥约,NBA效力6个赛季,一共赚了多少钱?

东契奇再获肥约,NBA效力6个赛季,一共赚了多少钱?

锅子篮球
2024-04-25 14:10:11
抚州大风,背后有妖

抚州大风,背后有妖

林孤小姐
2024-04-23 12:51:15
证券市场突发王炸消息,券商即将王者归来,明天A股或现百点长阳

证券市场突发王炸消息,券商即将王者归来,明天A股或现百点长阳

一树梨花红
2024-04-25 14:49:18
张国荣是罕见“龙女”童子,白龙王断一只手改命

张国荣是罕见“龙女”童子,白龙王断一只手改命

风月观主
2024-04-10 15:03:05
闹大了,独桥墩高架桥遇上渣土车队,能保证安全?评论区炸锅了!

闹大了,独桥墩高架桥遇上渣土车队,能保证安全?评论区炸锅了!

酷小子玩体彩
2024-04-25 01:36:55
宣布了!刚刚,券业重磅并购出炉!冲击行业前十

宣布了!刚刚,券业重磅并购出炉!冲击行业前十

中国基金报
2024-04-25 23:40:48
四川队庆功宴!李梦韩旭敬酒,坎贝奇耐人寻味,奖金百万+送房子

四川队庆功宴!李梦韩旭敬酒,坎贝奇耐人寻味,奖金百万+送房子

大咖唠体育
2024-04-25 10:39:56
CBA,朱芳雨正式回应广东队中锋周琦被停赛2场

CBA,朱芳雨正式回应广东队中锋周琦被停赛2场

体育哲人
2024-04-25 17:58:06
梅西非常接近破队史进球和助攻纪录!只差9进球4助攻!

梅西非常接近破队史进球和助攻纪录!只差9进球4助攻!

历史第一人梅西
2024-04-25 21:18:00
2024-04-26 01:00:50
爱码农
爱码农
专注前端开发,关注用户体验
82文章数 395关注度
往期回顾 全部

科技要闻

北京车展,被穿红衣服的他们占领

头条要闻

河北一高校学生就读4年无学籍 省教育厅回应

头条要闻

河北一高校学生就读4年无学籍 省教育厅回应

体育要闻

当胜利变成意外,就不要再提未来……

娱乐要闻

心疼!伊能静曝儿子曾被狗仔追到洗手间

财经要闻

24年后再产纯净水 农夫山泉为何要打自己脸

汽车要闻

全新哈弗H9亮相 大号方盒子硬派SUV入列

态度原创

艺术
旅游
本地
公开课
军事航空

艺术要闻

艺术名画︱爱尔兰画家大卫·科因的刀画作品

旅游要闻

京都热门景点一棵樱花树突然倒下 游客被砸成重伤

本地新闻

云游中国|苗族蜡染:九黎城的“潮”文化

公开课

睡前进食会让你发胖吗?

军事要闻

俄美在安理会就外空核武器问题发生冲突

无障碍浏览 进入关怀版