港口信息化、智能化、自动化产品设计想法---13

模块化已经成为了软件产品行业的共识,从产品研发、工作效率提高、人员更迭频繁多方因素考虑,模块化也是构建软件产品最好的方式。
我对软件产品模块化的范式理解是:模块化=工具包+业务插件+业务流。
工具包:工具包就是除了开源提供的技术外,更重要的是我们根据业务特性研发的行业工具包。我们通常说的工具包会有框架、第三方运行配置(比如定时调度等),这些我们都可以通过网上学习总结并整理好放置在开发库。更进一步地,我们需要对集装箱港口信息化软件产品的工具包进行研究分析,形成我们的行业工具包。比如柜号合法性检测、堆位合法性检测、舱单业务数据验证(毛重与净重、提单重复等逻辑检查、集装箱号数据关联度检查等)、港口地理位置信息检测、调度任务关联度检测、……。当然,对于普通的工具包我们更应该进行归类整理,比如文件导入导出方法、移动端自适应、不同数据库之间数据连接、割接(以适用不同客户数据库部署要求)等。
业务插件:比较陌生,但是我们一旦联想熟悉的eclipse开发工具,我们就很清晰这个概念。eclipse开发工具可兼容使用多种语言开发产品,开发java语言产品、C语言产品、C++语言产品,都不是每个语言安装一个eclipse软件,而是在一个eclipse开发工具上通过加载相应的开发插件完成开发环境搭建,我们是否可以借鉴这个思想构建港口信息化产品呢,答案肯定是可以的。
业务流:任何信息化产品,流程是不能避开的,只有流程才能清晰定位角色,才能清楚谁做什么,用哪些功能做,输出什么。可是,业务流配置,一直是软件产品随需而变,满足用户需求最大的困难。
我对业务流的理解是:变量定义→数据组装→操作约束→动作边界→状态变更。
数据组装:程序员很熟悉的一个词,数据封装,在面向对象软件开发中,数据封装就是一组数据和操作的集合,也就是类。而业务流的数据组装也是类似,在流程动作发生前,需要对操作的数据进行一些预处理,预处理过程就是数据组装。
操作约束:界定谁什么时候需要进行动作,什么时候停止动作输出结果,转向下一个流程,操作约束包括两个层次,一个是操作条件,另一个是操作权限,也就是我们说的用户对象。
动作边界:规定流程节点只能做什么,禁止操作处理超出边界的内容。
状态变更:动作执行后,业务处于什么状态,特别地,对于港口系统产品,状态变更的准确设计,对客户的下一个操作环节操作体验具有重大影响,比如根据状态展示不同的操作按钮、显示不同的信息列、跳转不同的操作模块等。
总结上述内容,以下三点为个人认为成功的产品基础支撑点:
 功能符合需求;
 用户使用便捷;
 界面简洁美观;

最后,用万维网之父蒂姆·伯纳斯·李的经典名言作为本章节的结语:简单和模块化是软件工程的基石;分布式和容错性是互联网的生命。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值