当前位置: 首页 > article >正文

软件工程:如何做好软件产品

1、什么是产品

在这里插入图片描述

从项目到产品

产品:满足行业共性需求的标准产品。即要能够做到配置化的开发,用同一款产品最大限度地满足不同客户的需求,同时让产品具有可以快速响应客户需求变化的能力。

好的产品一定吸收了多个项目的共性,一定是多个项目经验的集大成者。

2、产品化的理论支撑

在这里插入图片描述

(1)组合原理:三元素=功能、逻辑、模型,表达的是业务的功能、业务逻辑和模型(将要素和逻辑整合在一起的形式)。

(2)基干原理:三元素=组件、机制、系统,表达的是系统的要素、运行机理和系统(将图16-15中的A、B、C、D整合在一起的形式)。

在系统设计时要将业务元素(要素、逻辑、模型)换成系统元素(组件、机制、系统),基干原理是组合原理在应用设计阶段的不同表达形式。

所有系统的运行都是由基干原理三元素按照基干模型给出的规律进行反复的循环,这样就找到了系统中业务的运行机理。业务的内容、架构的形态可以有无数种,但是在系统中的运行机理都是一样的,即组件+机制。

将稳定的内容和易变的内容分离开,不易变化的内容归集到组件中,易变的内容归集到机制中。在产品的设计和实现时,将易变的功能做成可配置的,如通过改动参数适应需求变化,这样就达到了产品的应变效果。

在这里插入图片描述

机制是“设置于组件之间的一种关联作用,可以使组件或业务处理按照某种规律反复进行”,机制是通过功能和规则实现的。

3、如何实现产品化

1、构件化

在这里插入图片描述

构件化思路:将传统上用编码直接编写程序的方式改为用编码开发制作小的控件,再由小控件组装成大的构件的方式来开发软件

采用4层的实现方式。

第一层:首先用编码的方式开发最小的控件:窗体、按钮、输入框等。

第二层:用“控件+规则”的方式形成组件。

第三层:用“组件+机制”的方式形成模块/系统。

第四层:用“系统+机制”的方式形成产品。

2、平台化

在这里插入图片描述

通过制造最小的控件和规则,由这两者不断地组合“形成”上一级的构件。即建立装配式平台。

3、配置化

在这里插入图片描述

在这里插入图片描述

〇 构件:比组件更小的零件,由构件(按钮、树表等)可以装配出软件的界面。

〇 规则:机制是用规则来表达的,系统执行的是规则,因此规则就等于机制。

将构成软件(组件)的内容进行拆分,形成一个一个的单独构件,然后逐一完成单独构件的制作,这就是软件工业化开发的基本思路。

4、设计文档生成自动化

在这里插入图片描述

在对各类界面上的控件、控制规则等进行拖曳时,可以同时记录这些活动,并产生对应的文字,从而自动形成设计文档。

4、软件开发智能化:设计工程化、开发工业化、产品构件化

在这里插入图片描述

软件设计工程化:按照工程化的要求,将软件设计过程的各项工作进行量化和标准化,并在实施工程中实现各阶段成果的传递与继承。

软件开发工业化:按照工业生产的方式,利用少码、无码的软件开发技术,从构件形成组件,再由组件形成模块和系统。

设计工程化、开发工业化、产品构件化,才能最终实现软件开发智能化。

http://www.lryc.cn/news/2403307.html

相关文章:

  • 蓝桥杯 省赛 2025python(B组)题目(分析)
  • React - 组件通信
  • 《前端面试题:CSS的display属性》
  • 飞牛使用Docker部署Tailscale 内网穿透教程
  • 《数据挖掘》- 房价数据分析
  • centos中的ulimit命令
  • git提交代码和解决冲突修复bug
  • 华为仓颉语言初识:并发编程之同步机制(上)
  • php中实现邮件发送功能
  • C++之动态数组vector
  • arc3.2语言sort的时候报错:(sort < `(2 9 3 7 5 1)) 需要写成这种:(sort > (pair (list 3 2)))
  • Android动态广播注册收发原理
  • Ubuntu 系统通过防火墙管控 Docker 容器
  • AI 模型分类全解:特性与选择指南
  • 【Zephyr 系列 11】使用 NVS 实现 BLE 参数持久化:掉电不丢配置,开机自动加载
  • 【Android】Android Studio项目代码异常错乱问题处理(2020.3版本)
  • n皇后问题的 C++ 回溯算法教学攻略
  • 一些免费的大A数据接口库
  • DeepSeek本地部署及WebUI可视化教程
  • 机器学习算法时间复杂度解析:为什么它如此重要?
  • SSIM、PSNR、LPIPS、MUSIQ、NRQM、NIQE 六个图像质量评估指标
  • 【笔记】旧版MSYS2 环境中 Rust 升级问题及解决过程
  • centos查看开启关闭防火墙状态
  • [论文阅读] 人工智能 | 大语言模型计划生成的新范式:基于过程挖掘的技能学习
  • MS31912TEA 多通道半桥驱动器 氛围灯 照明灯 示宽灯 转向灯驱动 后视镜方向调节 可替代DRV8912
  • 软考 系统架构设计师系列知识点之杂项集萃(84)
  • 矩阵QR分解
  • UDP与TCP的区别是什么?
  • 撰写脚本,通过发布/joint_states话题改变机器人在Rviz中的关节角度
  • AOP实现Restful接口操作日志入表方案