电商设计V1(一):软件工程设计
软件工程设计的方式方法
多视图法:
- 全面分析软件方方面面的问题
- 尽早地发现和排除项目风险与不确定因素
- 从不同角度去展现要设计的软件系统
- 为项目进行不同的干系人提供指导:
- 逻辑架构描述系统功能,并指导系统测试
- 开发架构规范软甲你的层次及代码风格
- 数据架构指导数据库设计
- 运行架构指导数据库的设计
- 物理架构明确软件如何部署与实施
概要设计:
- 逻辑架构图:根据需求,画出逻辑架构图,系统要长成什么样子
- 运行架构图:时序图、活动图、状态图
- 物理架构图:组件图、配置图
五视图设计步骤
观念 | 设计步骤 |
---|---|
观念一 | 顺序进行:逻辑架构、开发架构、数据架构、运行架构、物理架构 |
观念二 | 5个视图是穿插进行设计 |
逻辑架构
逻辑架构的重点是考虑软件功能性需求
开发架构
开发架构重点关注的是开发编码实现方面的问题
数据架构
数据架构不仅仅要考虑开发中涉及到的数据库,实体模型,也要考虑物理架构中数据存储的设计
运行架构
运行架构关注的不再是全局而是局部,着重关注那些关键点与难点,常常需要技术攻关与预研。主要考虑控制流、通讯机制、资源争用、锁机制、同步已发、并发、串行,同时也要考虑质量属性。
物理架构
物理架构主要考虑硬件选择和拓扑结构,软件到硬件的映射,软硬件的互相影响
软件工程常见图形
功能结构图模型
用例图模型
用例事件的泳道图模型
领域类图模型
领域类图,一般就是从系统的调用和流转,使用的核心数据类
订单类,就是一个典型的领域类。这边可以将一个较为复杂的领域类图拆分为多个领域类,比如订单主信息,订单项信息,订单优惠券信息
时序图模板
组件图模板
配置图模板
物理逻辑图模板
网络图模型
甘特图模型
资源配置表模板
感兴趣的小伙伴可关注个人公众号:壹枝花算不算浪漫
电商设计V1(一):软件工程设计的更多相关文章
- 如何一步一步用DDD设计一个电商网站(十一)—— 最后的准备
阅读目录 前言 准备 实现 结语 一.前言 最近实在太忙,上周停更了一周.按流程一步一步走到现在,到达了整个下单流程的最后一公里——结算页的处理.从整个流程来看,这里需要用户填写的信息是最多的,那么 ...
- DDD设计一个电商网站
DDD设计一个电商网站(十一)-- 最后的准备 阅读目录 前言 准备 实现 结语 一.前言 最近实在太忙,上周停更了一周.按流程一步一步走到现在,到达了整个下单流程的最后一公里--结算页的处理. ...
- Java生鲜电商平台-电商订单系统全解析
Java生鲜电商平台-电商订单系统全解析 说明:Java生鲜电商平台-电商订单系统全解析主要讲解OMS的内容,设计,开发,架构等知识. 今天分享将会分为以下三个环节来阐述: 1.订单系统的介绍 2.订 ...
- 如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念
一.前言 DDD(领域驱动设计)的一些介绍网上资料很多,这里就不继续描述了.自己使用领域驱动设计摸滚打爬也有2年多的时间,出于对知识的总结和分享,也是对自我理解的一个公开检验,介于博客园这个平 ...
- 如何一步一步用DDD设计一个电商网站(十三)—— 领域事件扩展
阅读目录 前言 回顾 本地的一致性 领域事件发布出现异常 订阅者处理出现异常 结语 一.前言 上篇中我们初步运用了领域事件,其中还有一些问题我们没有解决,所以实现是不健壮的,下面先来回顾一下. 二.回 ...
- Java开源生鲜电商平台-监控模块的设计与架构(源码可下载)
Java开源生鲜电商平台-监控模块的设计与架构(源码可下载) 说明:Java开源生鲜电商平台-监控模块的设计与架构,我们谈到监控,一般设计到两个方面的内容: 1. 服务器本身的监控.(比如:linux ...
- Java开源生鲜电商平台-优惠券设计与架构(源码可下载)
Java开源生鲜电商平台-优惠券设计与架构(源码可下载) 说明:现在电商白热化的程度,无论是生鲜电商还是其他的电商等等,都会有促销的这个体系,目的就是增加订单量与知名度等等 那么对于Java开源生鲜电 ...
- Android通用框架设计与完整电商APP开发系列文章
作者|傅猿猿 责编|Javen205 有福利 有福利 有福利 鸣谢 感谢@傅猿猿 邀请写此系列文章 Android通用框架设计与完整电商APP开发 课程介绍 [导学视频] [课程详细介绍] 以下是部分 ...
- Java生鲜电商平台-商城系统库存问题分析以及产品设计对逻辑/物理删除思考
Java生鲜电商平台-商城系统库存问题分析以及产品设计对逻辑/物理删除思考 说明:在生鲜电商的库存设计,是后台的重点,也是难点,关乎商品是否存在超卖.商品的库存增加方式倒不难,直接在后台添加即可,而扣 ...
随机推荐
- Java基础知识总结之1.8新特性lambda表达式
函数式接口 函数式接口(functional interface 也叫功能性接口,其实是同一个东西).简单来说,函数式接口是只包含一个方法的接口.比如Java标准库中的java.lang.Runnab ...
- 从面试官甄别项目经验的角度,说说如何在简历中写项目经验(java后端方向)
在大多的JD(职位介绍)里,会写明该职位需要xx时间的相关经验,换句话说就是需要在简历中看到一定年限的相关商业项目经验,否则估计连面试的机会都没. 在本文里,不讨论这种门槛是否合理,而会以Java相关 ...
- react中将svg做成icon组件在其他模块调用
开发前端页面,经常会有很多共用的图标icon,那么我们把它单独做成组件,以便后期重复调用! 首先在components 的icons文件夹下创建BaseIcon.js文件. 我们需要先在命令行安装gl ...
- Centos Linux下使用Metasploit渗透android
.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .b ...
- 对于web前端的理解
对于web前端的理解 其实写这篇文章的首要目的是为了准备一道面试题——你对前端的看法是什么?本文不会仅从技术角度去考虑这个问题,还会依据这个社会的变革去讨论这个问题.本文仅代表个人观点,不喜勿喷. W ...
- 基于H.ui.Admin UI模板的网站管理后台
最近接手一个跨境电商平台开发,客户侧重电商网站UI设计,对管理后台要求不高,由我们决定选哪一款后台模板.找来找去,感觉还是H.ui靠谱一些,主要是这个模板清爽,不需要过多选择.其他的流行后台模板也看了 ...
- 如何彻底理解Java抽象类 为什么要用抽象类 什么情况下用抽象类
如何彻底理解Java抽象类 为什么要用抽象类 什么情况下用抽象类 呐,到底什么是抽象类,有时明明一个普通类就可以解决了,为啥非得整个抽象类,装逼吗 我曾带着这样的疑惑,查了很多资料,看了很多源码,写了 ...
- list tuple dict 方法
>>> dir(list)['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir_ ...
- .Net core-邮件发送(同步,异步)底层代码(欢迎留言讨论)
using MailKit.Net.Smtp;using MimeKit;using System;using System.Collections.Generic;using System.IO;u ...
- Mysql基础01-语法
数据库 数据的存储:将数据放到表中,表再放到库中. 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己.表名具有唯一性. 表由列组成,我们也称为字段.每个字段描述了它所含有的数据的意义表由列组 ...