首页 > 其他分享 >语言沟通中的设计实现

语言沟通中的设计实现

时间:2024-12-19 18:20:01浏览次数:4  
标签:主谓 沟通 用户 签到 业务 建模 设计 语言

系统设计的目的是更好的支持需求

我们常说,只要业务能将你的需求描述清楚,能自圆其说,我们就有办法实现。

这其实是系统设计的最理想的状态,

如果业务没想清楚,那么在系统实现中,一定会把问题暴露出来。很多时候,问题的暴露源于没有考虑周全亦或都没有考虑这种场景!

比如,从业务层面上允许商品超卖,但又没给出超卖了怎么处理,这时候,系统就处理不了。

那么,语言沟通与设计有没有关联性了?

我们设计的系统有一个很有意思的特点,理解成IO+计算,人输入命令,计算机将信息处理完成后输出结果,映射到真实世界。

我用微信聊天、我在淘宝买东西、商家要做活动、下单送礼品、用户写文章发表、闹钟到点提醒、电脑到点自动关机等等

这些一个一个的事件、命令、动作似乎都可以理解成语法中的主谓宾。

如果系统设计也按这种主谓宾结构作为设计思路,那么一切与业务的沟通,就要找出业务需求中的主谓宾,对应到系统中。

例如

业务想在双11做一场活动,活动规则是用户必须每天签到,签到次数到了就可以得到一张大额券。

且不讨论细节规则合理性问题,在这个需求上,我们拆解语法。

1,业务做一场活动

2,用户每天签到

3,签到达到门槛获得一张券

核心逻辑就这三点,先找出需求中的主谓宾

业务(主)建(谓)活动(宾)

用户(主)参与(谓)活动(宾)

用户(主)签到(谓)完成任务(宾)

用户(主)完成活动任务(谓)获得券(宾)

建模

业务和用户为主语,创建、参与、完成、获得为动作谓语,活动、任务、券为宾语

以此得到这个需求的实体模型:活动、任务、券

后续业务认为完成任务不发券,发现金,那此时模型中的实体就不是券,而是现金与券的抽象,比如奖品。

这个思路与最近流行四色建模方式有一曲同工之秒。

四色建模

先了解下四色建模步骤

第一步:寻找要追溯的事件

第二步:识别“时标对象”

第三步:寻找时标对象周围的“人、地、物”

第四步:抽象“角色”

第五步:补充“描述”信息


四色建模思路翻译成主谓宾就是

第一步:找谓语动词,也就是事件

第二步:找宾语,也就是时标对象

第三步:找时标对象的”人、地、物“,其实就是找到主语

第四步:找到主语后,分类、抽象

第五步:补充”描述“信息,就是补充领域属性信息


主谓宾在系统设计中的应用

  1. 分类找出各自的语义

  1. 建模板

  1. 建实例

举例流程并非线上真实流程,而是推演的过程,在此流程推演过程中,发现许多原来设计不合并且难自圆其说的问题。在此说明!


结束语

建模中有个很大的风险是当业务不明确时,当时建模型在业务发展后期已不适用,需要更改模型,而更改模型会引入更多成本。所以,多与业务沟通中了解业务尝试方向,尽量减少建模风险。

而本文中的主张也同样有这种风险,因为参与的项目有限,能够拿这套理论推演的样本有限,难免有疏漏之处,如果有,请指出一起完善。

标签:主谓,沟通,用户,签到,业务,建模,设计,语言
From: https://www.cnblogs.com/wxwall/p/18617754

相关文章

  • 基于Spring Boot的网上购物商城的设计与实现
    一、项目背景与意义随着互联网的飞速发展和电子商务的兴起,网上购物已经成为人们日常生活的一部分。构建一个高效、稳定、易用的网上购物商城,不仅能够满足消费者的购物需求,还能为商家提供一个展示和销售商品的平台。SpringBoot作为Java领域的一款优秀框架,以其简洁、高效、......
  • 【C语言练习(13)—打印100以内素数】
    C语言练习(13)文章目录C语言练习(13)问题问题分析结果问题找出100以内的素数,并打印出来问题分析质数(英文名:Primenumber)又称素数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。比如5如何判断是不是素数,为了找5的因数,我们可以从2~4逐个找是不是因子,......
  • 【C语言练习(12)—反向输出字符串】
    C语言练习(12)文章目录C语言练习(12)前言题目题目解析结果总结前言对于一个给定的字符串,反方向输出该字符串,本次给了循环和利用指针反向输出两种方法题目给定一个字符串,计算该字符串的个数并反向输出例如给定字符串ILoveStudy则反向输出后为ydutSevoLI题目解析......
  • 初识C语言——C语言的常见概念(下)
    初识C语言——C语言的常见概念(下)在上一章,我们认识了C语言的概念、历史、使用方法。在对C语言有了初步的了解之后,我们可以来写下我们的第一个C语言程序啦!......
  • Python语言编写多表格批量合并思路
    运用Python语言,可将同一文件夹下的多个表格整合为一个,可避免人工重复性工作,且提高准确性。实现数据的高效汇聚与统一管理,充分彰显Python在数据处理领域的卓越效能与便捷特性。的第一步,精准地选定即将开展表格合并操作所对应的目标文件夹,此文件夹作为整个数据整合的基础数......
  • C语言基础-函数
    函数函数的概念函数:实现一定功能的,独立的代码模块,我们的函数一定是先定义,后使用使用函数的优势可以通过函数提供功能给别人使用,也可以使用别人提供的函数,减少代码量借助函数可以减少重复性的代码实现结构化(模块化)程序设计思想结构化设计思想:将大型的任务功能划分为相......
  • Java项目实战之Java小游戏-俄罗斯方块设计与实现(附项目源代码地址)
    该项目gitee地址:https://gitee.com/lsy_loren/loren-tetris.git一、游戏概述本游戏是一款经典的俄罗斯方块游戏,使用Java语言开发,具有图形用户界面(GUI)。玩家通过操作方块的移动、旋转和下落,使其填满一行或多行来消除得分,并随着得分的增加提升等级。游戏还具备暂停、阴影显示、本......
  • springboot毕设文体器材销售平台的设计与实现论文+程序+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着社会经济的发展和人们健康意识的提高,文体活动越来越受到大众的喜爱,文体器材的需求也日益增长。在当今数字化时代,传统的实体销售模式面临诸多......
  • 电子产品热管理方案设计思路与多案例图参考,进阶高级工程师,就靠它了!
     ......
  • 单片机毕业设计项目分享(2)
    已经为大家整理了上万个STM32、51的毕设项目,还没确定选题方向的同学可以参考一下毕设项目1: stm32智能饮水机控制系统项目介绍:主要功能:使用STM32为主控制器,LCD1602显示当前信息:水温、模式、设置水温。DS18b20检测当前饮水机水温,水位传感器检测是否有水,无水情况下蜂鸣器......