案例08-让软件的使用者成为软件的设计者

简介: 软件的使用者成为软件的设计者

一:背景介绍

       对于需求的开发每天可能都会有上线的情况,为了防止每次上线拉取代码或者修改配置而引发的冲突以及发生了冲突应该找谁一起确定一下代码留下那一部分的情况。所以在开发的群中会有一个表格来记录每个需求上线修改的环境、是否修改数据库、是否修改nacos以及是否完成。

0f689cbb78534f95b2f9e546a120ff34.png

二:思路&方案

秉承着以下设计理念:

       1.你设计的软件猪不能使你就是猪:我们设计的软件给用户一种非常简单、非常容易上手的感受。不需要用户进一步思考。每次一变一小步,每一步之间都是有关系的把一个相对比较复杂的功能拆解成多个小的步骤形成流水线。

       2.让软件的使用者都成为我们软件的设计者:我们设计的软件要支持用户的多种情况,用户可以根据自己的需求进行调整,例如我们使用的软件基本上都有换皮肤的功能,每个人按照自己的喜好进行选择。把用户的需求想到用户的前面。

三:实现过程

没有按照设计理念设计的功能:

1.用户发送日程领取会议室的钥匙

268b7d32b816470bbfe091107be85e3f.png

2.发送成功之后会弹出一个卡片,卡片中有链接。点击链接跳转页面进行领取钥匙,归还钥匙也是一样的。

d9e3ed8ccb8943b7a6b64cf229abe277.png

d8920e52724045dcb022fa7bb49d723a.png

面向过程代码示例

// 面向过程思想的代码
// 定义一个函数,表示业务逻辑
public void doBusiness() {
    // 实现业务逻辑
    System.out.println("使用面向过程思想的业务代码");
}
// 在客户端代码中调用业务函数
public class Client {
    public static void main(String[] args) {
        // 调用业务函数
        doBusiness();
    }
}

按照设计理念设计的功能:

1.用户发送日程领取会议室的钥匙

268b7d32b816470bbfe091107be85e3f.png

2.发送成功之后,也会有一个卡片,这个卡片是在会议前15分钟(可以配置会议前多少分钟发送)发出来了,方便主持人提前调试设备做一些准备工作。如果有一些极其特殊情况还可以和机器人对话领取钥匙。

660157b717f9431a857c4a917ad30d25.png

面向对象代码示例

// 面向对象思想的代码
// 定义一个抽象类或接口,表示业务对象
public abstract class BusinessObject {
    public abstract void doBusiness();
}
// 定义具体的业务对象,继承抽象类或实现接口
public class ConcreteBusinessObject extends BusinessObject {
    @Override
    public void doBusiness() {
        // 实现业务逻辑
        System.out.println("使用面向对象思想的业务代码");
    }
}
// 在客户端代码中使用业务对象
public class Client {
    public static void main(String[] args) {
        // 创建具体的业务对象
        BusinessObject businessObject = new ConcreteBusinessObject();
        // 调用业务方法
        businessObject.doBusiness();
    }
}

四:总结

       结合上面的例子来说,没有按照设计理念设计的软件,用户使用起来非常的麻烦。需要点击好几次才能完成想要的效果。而且步骤多了之后会带来用户看不懂,不愿意看,没有耐心去做执行操作的可能性,而且用户使用一次之后就不会使用第二次。上手太困难。而按照设计理念设计出来的软件,用户不需要思考就可以达到用户想要的效果。减少了用户的操作。那上面的例子来说用户是可以配置会议前多长时间来领取钥匙的。

五:升华

       让软件的使用者成为软件的设计者,不仅仅在我们设计软件的过程中能够用到。在我们的生活中处处也都能有所体现。把别人放在心中,多为别人考虑考虑。我们在开发中才会站在用户的角度去思考问题。才能解决用户的痛点。通过上面的背景介绍。表格中是对每个需求都有修改项的填写。这样在上线的过程中就不会发生混乱的情况,功能的负责人只需要在表中填写好都修改了哪些内容,没有修改的可以不填写。这样我们就可以把表格看做是软件,每一个开发者是使用者,列好对应的规则。谁需要就去表格中填写一下就可以了。


相关文章
|
2月前
|
监控 安全
从 J 语言角度思考公司电脑监控软件的高效性
在数字化时代,电脑监控软件成为提升工作效率和保障信息安全的重要工具。J语言以其高效的数组处理和函数式编程风格,在开发此类软件中展现出独特优势。通过简洁的代码,J语言可实现文件监控、网络流量监控及员工行为分析等功能,有效提升管理水平和工作效率,确保企业信息安全。
24 0
|
3月前
|
内存技术
【软件开发流程控制文档】嵌入式应用软件在线升级功能软件概要设计
【软件开发流程控制文档】嵌入式应用软件在线升级功能软件概要设计
36 0
求大家鉴定下本人开发的系统平台界面如何,请多提宝贵意见
求大家鉴定下本人开发的系统平台界面如何,请多提宝贵意见
|
人工智能 数据安全/隐私保护 计算机视觉
软件丨最终的笔记软件
上次发现了钉钉出了个人版,试了下其实确实挺合适个人使用的,不过也有不少限制!
118 0
|
存储 缓存 监控
转:冰桶算法在文档管理软件中有哪些用途
冰桶算法是一种常用的监控算法,主要应用于软件的性能监控和故障诊断。
58 0
|
搜索推荐 数据库 Nacos
项目实战典型案例8——让软件的使用者成为软件的设计者
项目实战典型案例8——让软件的使用者成为软件的设计者
120 0
|
测试技术
【系统分析】软件调试与软件测试的区别
【系统分析】软件调试与软件测试的区别
218 0
|
消息中间件 分布式计算 NoSQL
如何了解一个软件的设计?
刚入职,接手新项目,面对一个全新项目,怎么快速研究它? 很多人直接看源码,一头扎入代码,很快就迷失其中,最初那股子探索精神,也会逐渐被迷茫所替。有多少次你满怀激情打开一个开源项目,结果多半坚持不了就放弃。问题出在哪?迷茫是因为缺少对软件整体了解,如同不带地图指南针就闯入热带雨林,迷路只是早晚。阅读源码是必经一步,却不是第一步。应先从了解软件设计开始。
132 0
管理感悟:软件的特性
管理感悟:软件的特性
72 0