【软妹带你学技术】从概念到模型设计、实现与部署,7篇博文带你通关流程开发

简介: 从概念到模型设计、实现与部署,7篇博文带你通关流程开发。

滴!学生卡(憋缩话,不服来战!)老司机们快上车啦,咱们今天聊聊流程开发的事儿。当然,此流程非彼流程,睁大双眼咱们一起去发现流程开发之美......本文严格面向技术开发人员,力争为大家带来飞一般的感受。Come on,一起来指点江山挥斥方遒,武装大脑,淬炼躯壳,洗涤灵魂,朝着升职加薪、迎娶白富美、荣升CEO、走上人生巅峰之路上大步迈进吧。

PS:据说有人按耐不住蠢蠢欲动的心灵,公然求放妹纸靓照!像我这么正直无畏、三观严谨的人......当然无底线满足你啦,不多说,上照。

24a82d1547b2ea345d01b21e47ff5ea6c934f1ba

好了好了,言归正传,咱们可是正经人。

让技术人员看得懂的流程(1)——面向对象设计全流程概述

谈到流程,大家都会想到熟悉的瀑布模型、螺旋模型、迭代开发、敏捷、RUP等一堆软件工程相关的软件开发流程,但是请不要误会,本文的流程和这些管理流程完全不同,为了以示区分,我把瀑布模型、敏捷、RUP等流程成为项目流程,也就是说这是给项目管理用的;而本文的流程是技术流程,是给技术人员(主要是设计人员)看的流程。

下面将通过几篇短的博文和一个实例来简明概要的讲述这个流程,概要来说主流程如下:用例模型>领域模型>设计模型>实现模型>进程模型>部署模型实例就用一个简单的POS机系统来讲解

欲知详情如何,且听下回分解!

让技术人员看得懂的流程(2)——用例模型

一般的管理流程都将软件项目划分为“需求>分析>设计>实现>维护”,对应的技术流程中首先也肯定是要将需求明确,而“用例模型”就是用于获得和分析需求的。简单来说,用例模型就是要将客户的需求写下来。“需求”不是很好理解,更加通俗的讲法是“故事(story)”。

下面我把用例模型阶段容易犯的错误重点说明一下

1.“需求”和“功能”混淆需求是对客户有价值的东西,功能是为了实现需求而作的东西

2.在用例模型阶段进行系统分解用例模型关注的是用户需求,不需要进行系统分解,把系统当做一个黑盒看待就可以了。

字不如表,表不如图,因为图可以一目了然的看出交互过程。用一句话总结就是:交互用图形,说明用文字

让技术人员看得懂的流程(3)——领域模型

按照一般的项目管理过程,“需求”之后是“分析”,那么在分析阶段对应的技术流程又是哪个?如何将需求阶段和分析阶段联系起来呢?答案就是“领域模型”

让我们来看看“领域模型”阶段我们要做什么、该怎么做。简单概括就是“找名词”,分为四个步骤:

1. 找出用例模型中的名词

2. 然后识别这些名词本身的相关信息

3. 以及名词之间的相互关联关系

4. UML画出领域模型。

经过“领域模型”分析后,可以完成自然语言到面向对象语言的初步转化,领域对象已经识别出来,面向对象已经初具雏形。

PS一点:领域模型过程中识别出来的对象和具体的语言无关换句话说,publicprivate、函数这些面向对象的属性在领域模型阶段不需要分析出来。

让技术人员看得懂的流程(4)——设计模型

完成了“领域模型”阶段后,面向对象已经初具雏形,我们已经看到了那熟悉的“对象”了,例如“商品”、“交易”、“商品清单”等,看起来已经进入了面向对象的世界了,你是否已经摩拳擦掌,跃跃欲试,准备开始编码了呢?

且慢,“领域模型”只是万里长征的第一步,通过领域模型分析得到的类还不能指导编码,还需要经过“设计模型”这个阶段的处理,才能基本上指导编码。那莫,设计模型阶段的任务都有哪些呢?

第一个任务就是“为对象添加方法”

第二个任务是“围绕领域对象设计出非领域对象”

第三个任务就是“应用设计模式、设计原则”。

重要的一点是,以上的步骤不是瀑布式的,而是迭代式的Need Action

让技术人员看得懂的流程(5)——实现模型

经过前面的“用例模型”、“领域模型”、“设计模型”的讲解,面向对象分析设计都完了,面向对象已经基本成型,接下来就是要具体实现了,对应的就是“实现模型”。

“实现模型”是整个技术流程中大家接触最多的阶段,只要是做开发的,基本上都是先参与这个阶段的工作。顾名思义:实现模型就是使用具体的技术来实现设计,也就是通常意义上的编码。但要注意的是,编码不等于敲键盘,之所以称为“实现模型”,因为这里还是有设计的,只不过这个设计和具体的实现技术有关。

由于具体的实现技术差别很大,因此没有什么通用的方法,“实现模型”阶段需要大家积累具体的技术知识和经验。

让技术人员看得懂的流程(6)——处理模型

看完“实现模型”,你是否长吁一声,准备拿起咖啡,惬意的喝上一杯?毕竟咱们已经完成了从用例到编码的全过程了,确实是值得庆祝的一件事情,但“革命尚未成功、同志还需努力”,现在还不是享受的时候,接下来我们需要进入“处理模型”阶段。“处理模型”英文是“Process Model”,ProcessIT里面又叫“进程”,虽然和进程相关,但直接叫“进程模型”会误导大家,所以我叫它“处理模型”,也就是和处理相关的设计。我们来看看“处理模型”阶段的任务:

1.进程、线程设计;

2.子系统设计

我们来看如何基于“实现模型”进行进程、线程、架构设计:

第一步:将已有的对象进行分组分组的原则其实就是大家常见的“高内聚、低耦合”

第二步:将多个组划分为进程、线程;

第三步:设计进程的同步、通信;

第四步:将进程划分到不同的子系统;

第五步:设计子系统间的同步、通信

让技术人员看得懂的流程(7)——部署模型(完结篇)

在上一篇博文“处理模型”中已经提到:在“处理模型”阶段划分为子系统后,为下一阶段打下了基础。当时卖了个关子没说具体是什么,本就来揭开它的面纱:“部署模型”。“部署模型”英文是“Deployment Model”,正好对应UML中的“Deployment Diagrams”,有的文章或者书籍也叫“物理模型”。我之所以没有用“物理模型”,是因为“物理模型”的概念容易误解大家认为这个阶段只需要关注物理设备,而“部署模型”相对更加全面。我们来看部署模型的任务:

1.确定部署实体,即采用什么样的物理设备,例如PC机、服务器、小型机;

2.确定部署方式,例如局域网部署,企业网部署,因特网部署;

3.确定部署连接,即组网方案,设计如何将这些物理设备连接起来


看不够?还不快戳详情链接!我戳戳戳......

让技术人员看得懂的流程(1)——面向对象设计全流程概述https://yq.aliyun.com/articles/2561

让技术人员看得懂的流程(2)——用例模型https://yq.aliyun.com/articles/2560

让技术人员看得懂的流程(3)——领域模型https://yq.aliyun.com/articles/2559

让技术人员看得懂的流程(4)——设计模型https://yq.aliyun.com/articles/2558

让技术人员看得懂的流程(5)——实现模型https://yq.aliyun.com/articles/2557

让技术人员看得懂的流程(6)——处理模型https://yq.aliyun.com/articles/2556

让技术人员看得懂的流程(7)——部署模型(完结篇)https://yq.aliyun.com/articles/2555

相关文章
|
4月前
|
设计模式 前端开发 Java
KnowStreaming系列教程第二篇——项目整体架构分析
KnowStreaming系列教程第二篇——项目整体架构分析
42 0
|
6月前
|
存储 安全 编译器
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计(下)
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计(下)
|
6月前
|
存储 前端开发 JavaScript
潮玩宇宙大逃杀无聊猿卷轴模式系统开发详细规则丨步骤需求丨方案项目丨技术架构丨源码功能
确定游戏类型和规则:明确无聊猿卷轴模式游戏类型和游戏规则,包括敌人类型、地图设计、任务类型、战斗机制等。
|
6月前
|
敏捷开发 存储 测试技术
链动2+1系统开发项目案例丨指南教程丨需求方案丨功能设计丨成熟技术丨步骤逻辑丨源码程序
用户需求导向:系统开发应以用户需求为中心,从用户的角度思考,了解用户的真实需求和期望,以提供优质的用户体验。
|
6月前
|
安全 Java C++
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计(上)
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计
|
8月前
|
机器学习/深度学习 SQL 人工智能
应用开发者的疑问:大模型是真正的银弹吗?
通过本文作者想和大家简单讨论下大模型的局限以及真正的适用场景。
83905 30
应用开发者的疑问:大模型是真正的银弹吗?
|
8月前
|
编解码 iOS开发
一节微课诞生的全过程(无保留分享,望收藏)
本来是想以直播的方式把制作这节微课的过程分享出来,但考虑到大家的时间不统一,制作过程太长,这节微课录音之后制作动画就足足用了两天
129 0
|
9月前
|
机器学习/深度学习 SQL 人工智能
应用开发者的疑问:大模型是银弹吗?
ChatGPT 火了之后,大模型似乎被当成了真正的银弹,所有的体验问题都试图通过大模型解决。本文想和大家简单讨论下大模型的局限以及真正的适用场景。由于本人不是专业搞算法的,大佬们多多拍砖。
735 0
|
算法
信用评分系统运行原理下篇(1)
信用评分系统运行原理下篇(1)
144 0
信用评分系统运行原理下篇(1)
|
机器学习/深度学习 Python
信用评分系统运行原理下篇(3)
信用评分系统运行原理下篇(3)
信用评分系统运行原理下篇(3)