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

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

1、什么是产品

在这里插入图片描述

从项目到产品

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

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

2、产品化的理论支撑

在这里插入图片描述

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

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

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

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

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

在这里插入图片描述

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

3、如何实现产品化

1、构件化

在这里插入图片描述

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

采用4层的实现方式。

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

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

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

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

2、平台化

在这里插入图片描述

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

3、配置化

在这里插入图片描述

在这里插入图片描述

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

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

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

4、设计文档生成自动化

在这里插入图片描述

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

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

在这里插入图片描述

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

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

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

http://www.xdnf.cn/news/880363.html

相关文章:

  • Python使用总结之Mac安装docker并配置wechaty
  • DeepSeek 助力 Vue3 开发:打造丝滑的日历(Calendar),日历_天气预报日历示例(CalendarView01_18)
  • 【Redis从入门到精通实战文章汇总】
  • elasticsearch-8.17.4
  • ReLU 激活函数:重大缺陷一去不复返!
  • 智能照明系统:具备认知能力的“光神经网络”
  • 短剧系统开发实践:打造高质量短视频平台的解决方案
  • Flask-Babel 使用示例
  • nodejs里面的http模块介绍和使用
  • EasyRTC音视频实时通话助力新一代WebP2P视频物联网应用解决方案
  • Pandas和Django的示例Demo
  • vlan(虚拟局域网)逻辑图解+实验详解
  • kafka部署
  • SSH/RDP无法远程连接?腾讯云CVM及通用服务器连接失败原因与超全排查指南
  • 前端常见错误
  • 10. vue pinia 和react redux、jotai对比
  • 从零开始的云计算——番外实战,iptables防火墙项目
  • 第六个微信小程序:教师工具集
  • 虚实共生时代的情感重构:AI 恋爱陪伴的崛起、困局与明日图景
  • 主流消息队列对比
  • OpenCV 图像像素的逻辑操作
  • 学习STC51单片机28(芯片为STC89C52RCRC)
  • 前端使用 preview 插件预览docx文件
  • 获取KIMI API以及API key
  • 板凳-------Mysql cookbook学习 (十)
  • 20250605使用boot-repair来恢复WIN10和ubuntu22.04.6双系统的启动
  • ASP.NET Core使用Quartz部署到IIS资源自动被回收解决方案
  • 20250605在荣品的PRO-RK3566开发板的Android13下让PMIC芯片RK809在长按下开机
  • pikachu靶场通关笔记16 CSRF关卡02-CSRF(POST)
  • Spring Boot 使用 SLF4J 实现控制台输出与分类日志文件管理