软件工程设计的方式方法

多视图法:

  • 全面分析软件方方面面的问题
  • 尽早地发现和排除项目风险与不确定因素
  • 从不同角度去展现要设计的软件系统
  • 为项目进行不同的干系人提供指导:
  1. 逻辑架构描述系统功能,并指导系统测试
  2. 开发架构规范软甲你的层次及代码风格
  3. 数据架构指导数据库设计
  4. 运行架构指导数据库的设计
  5. 物理架构明确软件如何部署与实施

概要设计:

  • 逻辑架构图:根据需求,画出逻辑架构图,系统要长成什么样子
  • 运行架构图:时序图、活动图、状态图
  • 物理架构图:组件图、配置图

五视图设计步骤

观念 设计步骤
观念一 顺序进行:逻辑架构、开发架构、数据架构、运行架构、物理架构
观念二 5个视图是穿插进行设计

逻辑架构

逻辑架构的重点是考虑软件功能性需求

开发架构

开发架构重点关注的是开发编码实现方面的问题

数据架构

数据架构不仅仅要考虑开发中涉及到的数据库,实体模型,也要考虑物理架构中数据存储的设计

运行架构

运行架构关注的不再是全局而是局部,着重关注那些关键点与难点,常常需要技术攻关与预研。主要考虑控制流、通讯机制、资源争用、锁机制、同步已发、并发、串行,同时也要考虑质量属性。

物理架构

物理架构主要考虑硬件选择和拓扑结构,软件到硬件的映射,软硬件的互相影响

软件工程常见图形

  1. 功能结构图模型

  2. 用例图模型

  3. 用例事件的泳道图模型

  4. 领域类图模型
    领域类图,一般就是从系统的调用和流转,使用的核心数据类
    订单类,就是一个典型的领域类。这边可以将一个较为复杂的领域类图拆分为多个领域类,比如订单主信息,订单项信息,订单优惠券信息

  5. 时序图模板

  6. 组件图模板

  7. 配置图模板

  8. 物理逻辑图模板

  9. 网络图模型

  10. 甘特图模型

  11. 资源配置表模板

    感兴趣的小伙伴可关注个人公众号:壹枝花算不算浪漫

电商设计V1(一):软件工程设计的更多相关文章

  1. 如何一步一步用DDD设计一个电商网站(十一)—— 最后的准备

     阅读目录 前言 准备 实现 结语 一.前言 最近实在太忙,上周停更了一周.按流程一步一步走到现在,到达了整个下单流程的最后一公里——结算页的处理.从整个流程来看,这里需要用户填写的信息是最多的,那么 ...

  2. DDD设计一个电商网站

    DDD设计一个电商网站(十一)-- 最后的准备    阅读目录 前言 准备 实现 结语 一.前言 最近实在太忙,上周停更了一周.按流程一步一步走到现在,到达了整个下单流程的最后一公里--结算页的处理. ...

  3. Java生鲜电商平台-电商订单系统全解析

    Java生鲜电商平台-电商订单系统全解析 说明:Java生鲜电商平台-电商订单系统全解析主要讲解OMS的内容,设计,开发,架构等知识. 今天分享将会分为以下三个环节来阐述: 1.订单系统的介绍 2.订 ...

  4. 如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念

    一.前言     DDD(领域驱动设计)的一些介绍网上资料很多,这里就不继续描述了.自己使用领域驱动设计摸滚打爬也有2年多的时间,出于对知识的总结和分享,也是对自我理解的一个公开检验,介于博客园这个平 ...

  5. 如何一步一步用DDD设计一个电商网站(十三)—— 领域事件扩展

    阅读目录 前言 回顾 本地的一致性 领域事件发布出现异常 订阅者处理出现异常 结语 一.前言 上篇中我们初步运用了领域事件,其中还有一些问题我们没有解决,所以实现是不健壮的,下面先来回顾一下. 二.回 ...

  6. Java开源生鲜电商平台-监控模块的设计与架构(源码可下载)

    Java开源生鲜电商平台-监控模块的设计与架构(源码可下载) 说明:Java开源生鲜电商平台-监控模块的设计与架构,我们谈到监控,一般设计到两个方面的内容: 1. 服务器本身的监控.(比如:linux ...

  7. Java开源生鲜电商平台-优惠券设计与架构(源码可下载)

    Java开源生鲜电商平台-优惠券设计与架构(源码可下载) 说明:现在电商白热化的程度,无论是生鲜电商还是其他的电商等等,都会有促销的这个体系,目的就是增加订单量与知名度等等 那么对于Java开源生鲜电 ...

  8. Android通用框架设计与完整电商APP开发系列文章

    作者|傅猿猿 责编|Javen205 有福利 有福利 有福利 鸣谢 感谢@傅猿猿 邀请写此系列文章 Android通用框架设计与完整电商APP开发 课程介绍 [导学视频] [课程详细介绍] 以下是部分 ...

  9. Java生鲜电商平台-商城系统库存问题分析以及产品设计对逻辑/物理删除思考

    Java生鲜电商平台-商城系统库存问题分析以及产品设计对逻辑/物理删除思考 说明:在生鲜电商的库存设计,是后台的重点,也是难点,关乎商品是否存在超卖.商品的库存增加方式倒不难,直接在后台添加即可,而扣 ...

随机推荐

  1. H3C交换机、路由器 ssh登录配置

    VLAN 10  创建vlan并配好ip inter vlan 10 ip add  20.1.1.1  24 qu ip route-static 0.0.0.0 0 20.1.1.254  写好静 ...

  2. Java流程控制之(四)中断

    目录 break continue return 标签 在程序设计时,循环直接的跳转显得十分重要,虽然Java没有提供goto语句去控制程序的跳转,但为了控制循环,Java提供了continue,br ...

  3. Power Query系列 - 排序Ranking

    Power Query系列 - 排序Ranking 难度: ★★☆☆☆(1星) 适用范围: ★★★☆☆(3星) 概况: 在数据分析中,我们常常需要对数据进行排序,同时我们想知道某个项目或者产品的排名, ...

  4. .net反编译原理

    目录 目录 前言 ILdasm ILasm 结语 推荐文献 目录 NLog日志框架使用探究-1 NLog日志框架使用探究-2 科学使用Log4View2 前言 本来没有想写反编译相关的文章,但是写着写 ...

  5. 【开发工具 - Git】之本地项目托管到远程仓库

    这里所说的“本地项目托管到远程仓库”,说的是:例如,我们在本地有一个写了很长时间的项目,现在想要托管到GitHub或码云上进行版本控制. 这个过程大致需要以下几个步骤: (1)在本地初始化Git项目本 ...

  6. 【Android - 自定义View】之View的layout过程解析

    layout(布局)的作用是ViewGroup用来确定子元素的位置,在这个过程中会用到两个核心方法: layout() 和 onLayout() .layout()方法用来确定View本身的位置,on ...

  7. CentOS 7 Keepalive 脚本不执行解决

    目录 问题 问题一 括号问题 问题二 脚本名称问题 问题 起因是在测试部署 Altls + Keepalive 高可用读写分离,测试停止Atlas服务的时候,发现Keepalive不会自动主从切换,就 ...

  8. Sql增加,删除,修改列

    1. 查看约束条件 - MySQL: SELECT * FROM information_schema.`TABLE_CONSTRAINTS` where table_name = 'book'; - ...

  9. 使用 nginx 实现虚拟主机

    当多个系统需要部署的时候,有系统访问很小,为了节省成本,就需要将多个系统部署到同一台服务器上,怎么在同一台服务器上,完成不同系统的部署和访问,就需要使用虚拟主机实现. 使用端口实现虚拟主机 配置 ng ...

  10. Sring+mybatis模拟银行转账

    实体类: package com.bjsxt.pojo; import java.io.Serializable; public class Account implements Serializab ...