wwe: ...
wwe: 我这几年的大部分工作也是偏重架构设计
Aim: 有什么感想呢?
wwe: 个人觉得架构设计就像生活中的一部分
Aim: EN..这个怎么讲?
wwe: 架构设计就像规划你的生活一样,都想把它变好、变美
Aim: 但是,你也应该知道。会有很多人、很多因素让生活变得不美好。
wwe: 当然
wwe: 但有一个美好的愿景是很重要的
Aim: 规划就如同畅想,你甚至可以认为:床与床头柜之前应该是U形连结的最为美观,但最后发现那样的一套家俱大概要40平米的卧室,而你现在的卧室只有25平米。
Aim: 客户的需要向来没个定准。而且你又不能指望他在需求说明书签完字之后,就不再变更。我们不能在他变更的时候讲法律、讲合约。那没意义。
Aim: 怎么办呢?设计的弹性需要多大?你如何把握客户的变更,而是不仅是接受他当下的需求?
wwe: 当然首先要满足客户的需求,贴近客户
wwe: 合适的才是美好的
wwe: 我觉得需求的变化是正常的,就像装修房子,我觉得可以尝试拥抱变化,一种方式就是用迭代、增量,快速用户反馈等方法来把握变化
wwe: 还有就是需求一直没有变化过,可能就因为我们自己没有很好的理解需求,这就要求我们多同领域专家多沟通交流了
Aim: 你能让这个拥抱变得快乐些吗?我的意思是说,你认为哪些是不变的,以一个实例来说,你认为一套考试系统中有哪些是不变的?
Aim: 你围绕什么在做、在实施。又为什么能保证在三届学生之后、五年之后、五任教师之后、两套教材之后,这套考试系统是不需要做框架级的变动的呢?
wwe: 通过分层来理清业务模块,比如可以有基础构件层,考试通用构件层,通用构件层,再加上业务流程层
wwe: 考试系统的最终必须可以个性化,通过个人定制流程来符合各种各样人的需求
wwe: 让使用者来制定流程,比如老师等;学生自己也可以制定流程(比如自学等)
Aim: 是吗?我为什么要让考生定制流程?
Aim: 哈哈。
Aim: 第一,你现在已经掉在了一个坑里。
Aim: 第二,你已经被需求淹没了。
Aim: 首先,你现在已经掉在了一个坑里。因为我最开始说是“一套考试系统中有哪些是不变的”。而你并没有明确地问我是什么样的“一套考试系统”。
Aim: 你说“是考试过程管理,考试数据管理,考生成绩管理,还是考场管理等等”
Aim: 所以你接下来的设计“通过分层来理清业务模块,比如可以有基础构件层,考试通用构件层,通用构件层,再加上业务流程层……”这看起来合理,但没有任何的针对性。因为原本需求就不明确,所以你的结构就只能是通用结构,而不是专门的设计。
wwe: 哈哈,是的
wwe: 确实到坑理了,我想起一本书《你的灯还亮着吗》
wwe: 问题是什么,非常重要,:)
Aim: 第二个问题,“你已经被需求淹没了”。当你发现我提了一堆问题“……你围绕什么在做、在实施。又为什么能保证在三届学生之后、五年之后、五任教师之后、两套教材之后,这套考试系统是不需要做框架级的变动的呢?”
Aim: 之后,你给了很复杂的答案:让使用者来制定流程,比如老师等;学生自己也可以制定流程(比如自学等)
Aim: 但事实上,因为你需求并不明确,所以产品的使用角色也就不清晰。所以,你并不知道,可能考生根本不需要参与这个系统。所以我提出的需求中有一部分是“错的”,需要被过滤掉。因此,你无可避免地被淹没了。
wwe: 是的
Aim: 我提出问题时并没想——也就是说,这不是我专门挖的坑。但我看到你的第二个答案时,我便意识到最先的需求描述出了问题。
Aim: 你应该更敏锐一些。因为我出问题时很随意,但你回答则应该更小心。8-|
Aim: 说起来,《你的等还亮吗》这本书我也非常喜欢。在《大道至简》的纸质版中,我还引用过几处呢。
Aim: 我在盛大学到的第一课,就是争论起源于问题的不一致,而不是问题。也就是说,对于两个同样聪明的人来说,如果他们面临的问题一致,那么就不应该有争论。
wwe: 确实,很有可能两个人在讨论“同一个问题”,而实际上“问题”是不一样的
wwe: 另外我觉得波莉亚写的《怎样解题》这本书也非常不错
Aim: 这个我倒没看,哈哈,谢谢推荐,回头找来看看呵。
注:wwe是某公司的架构师与经理。
分享到:
相关推荐
视频对话作为一种重要的即时通讯技术,已经深入到日常生活和工作中,其背后依赖的架构模式对于功能实现和用户体验...对于开发者来说,理解并熟练运用这些架构模式,将是设计高效、稳定且用户友好的视频对话系统的基石。
《构筑大语言模型应用:应用开发与架构设计》是一份深度探讨大语言模型在实际应用中的开发和架构设计的资源集合。这份资料来源于GitHub上的开源项目phodal/aigc,旨在帮助开发者理解和利用大语言模型的技术,提升...
最初,Transformer是在2017年Vaswani等人发表的论文《Attention Is All You Need》中提出的,该架构最初被设计用于解决机器翻译问题,但很快就因其高效性和灵活性而被广泛应用于多种序列建模任务。 #### 二、...
基于百度UNIT的对话式智能导学系统的设计与实现 本文主要讨论了基于百度UNIT的对话式智能导学系统的设计与实现。首先,文章介绍了对话系统的概念、分类和发展历史,然后基于百度UNIT平台实现了初中历史对话式智能...
本文介绍了一种基于客服场景的智能对话系统的设计与实现,该系统采用了检索式、生成式和任务式相结合的方式,能够在真实电商平台上满足大部分用户的需求。通过引入多轮对话机制和先进的自然语言处理技术,该系统在...
实验设计是 ChatGPT 技术对从头开始对话生成的关键一步,主要包括数据集选择、模型架构设计和实验设置。数据集选择是从头开始对话生成任务的关键步骤,需要选择合适的数据集,涵盖不同领域的知识、不同情境下的交流...
这种设计改进了传统聊天机器人的局限性,使得ChatGPT能够更好地理解和回应用户的意图,提供了更为流畅的对话体验。 ChatGPT的个性化回复能力主要源于其训练过程中的大数据处理。它从互联网、社交媒体等多个来源获取...
在这个阶段,设计人员需要完成系统的架构设计,选择合适的设计方法学,例如面向对象设计或结构化设计,并遵循成熟的方法论。概要设计模板通常包括以下几个部分: 1. 引言:介绍项目背景、系统任务和设计依据。 2. ...
在构建大型多人在线角色扮演游戏(MMORPG)服务器端架构时,设计和开发的目标是至关重要的。首先,高稳定性是核心需求,确保服务器能够长时间无故障运行,以满足玩家不间断的游戏体验。高适应性意味着服务器需要应对...
架构选型的目标是选择合适的系统架构风格,同时考虑如何利用构件平台提供的技术支持架构设计。在这一过程中,需要充分考虑多种架构选择及其所面临的约束,并与潜在的需求约束进行对比。 #### 七、业务构件分析 ...
本文将从技术实现的角度,探讨教育领域多轮对话机器人设计与实现的过程,并分析其在教学中的潜在价值。 自然语言处理技术的应用使得对话机器人能够理解用户的输入语句,并作出相应的反馈。对话机器人可以根据对话...
本文详细阐述并设计实现了基于微服务架构的AI生成式文章管理系统,包括用户文章管理和AI智能对话系统。首先,论文介绍了系统的研究背景,其次,探讨了所采用的相关技术、系统可行性、需求分析、系统总体设计、数据库...
1. **深入沟通**:与所有利益相关者保持开放和频繁的沟通,确保需求的全面理解和共识。 2. **需求文档化**:创建详细的需求规格说明书,包括所有功能和非功能需求。 3. **原型与模拟**:利用原型或模型展示需求,...
2. 微服务的理论与实践:微服务架构作为现代软件开发的热点之一,文中通过“恕我直言,你可能误解了微服务”这样的标题表达了对微服务实施过程中可能出现的误解的纠正,强调了微服务架构设计的原则与实践中的注意...
【基于JavaEE架构的AI信息交互系统作业设计框架】是一个旨在帮助学生深入理解JavaEE架构在实际项目开发中的应用的综合训练。这个框架的核心目标是让学生掌握如何利用JavaEE技术来构建一个能够与人工智能(AI)进行信息...
在这篇文章中,作者们从设计与实现主动联想型对话机器人的角度出发,探讨了如何通过结合用户提问与个人特征产生对话内容,从而提升人机交互的个性化程度和满意度。本篇论文的主要内容可以分解为以下几个知识点: 1....
JKHL Bank的业务目标与需求:在与Sandy Osbourne-Archer的对话中,Thomas Arnold概述了公司的长期目标和业务需求。基于2008年全球银行业CEO调研报告的洞察,Thomas指出银行业正进入一个充满波动的时期,为了在长期中...