偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

寫代碼不只是擼起袖子就干,還要有設(shè)計(jì)圖

開發(fā)
對(duì)于大多數(shù)程序員而言,基本上都是拿到需求,在自己腦海里構(gòu)思一下,然后就是擼起袖子上手就干。然后,在干的過程中會(huì)遇到各種各樣一開始沒有識(shí)別到的問題。也有可能當(dāng)代碼敲到一半,發(fā)現(xiàn)之前的思路有一個(gè)不可解決的問題,只能換另外一種解決方案。這個(gè)時(shí)候就面臨需求延期,或者自己加班兩種選擇。

 本文轉(zhuǎn)載自微信公眾號(hào)「寫PHP的老王」,轉(zhuǎn)載本文請(qǐng)聯(lián)系寫PHP的老王公眾號(hào)。

對(duì)于大多數(shù)程序員而言,基本上都是拿到需求,在自己腦海里構(gòu)思一下,然后就是擼起袖子上手就干。然后,在干的過程中會(huì)遇到各種各樣一開始沒有識(shí)別到的問題。也有可能當(dāng)代碼敲到一半,發(fā)現(xiàn)之前的思路有一個(gè)不可解決的問題,只能換另外一種解決方案。這個(gè)時(shí)候就面臨需求延期,或者自己加班兩種選擇。

[[328567]]

對(duì)于程序員而言,前期系統(tǒng)設(shè)計(jì)分析越到位,編碼中遇到的問題就會(huì)越少。加班的機(jī)會(huì)也會(huì)大大降低,比較,過程可控了。然而,對(duì)于設(shè)計(jì)而言,程序員基本上都是停留在腦海的層面。更多的,一般都是通過流程圖,對(duì)整個(gè)代碼邏輯上進(jìn)行一個(gè)設(shè)計(jì)分析。

最近,對(duì)自己之前寫的模塊進(jìn)行回歸分析,換一種角度去審視自己之前的代碼。以一個(gè)旁觀者的身份,去對(duì)之前的代碼進(jìn)行分析,并整理系統(tǒng)設(shè)計(jì)分析相關(guān)的文檔,給團(tuán)隊(duì)日后作為參考。通過對(duì)系統(tǒng)進(jìn)行分析,以及繪制相關(guān)圖表才發(fā)現(xiàn),系統(tǒng)設(shè)計(jì)分析文檔是多重要。如果當(dāng)時(shí)有系統(tǒng)設(shè)計(jì)文檔,自己在編碼過程中遇到的問題都能夠提前識(shí)別到。

系統(tǒng)設(shè)計(jì)分析分以下幾個(gè)方面:

1、識(shí)別關(guān)聯(lián)的系統(tǒng)。要確定當(dāng)前需求中有哪些系統(tǒng)參與

2、識(shí)別不同的對(duì)象角色。不同對(duì)象角色有不同的操作內(nèi)容

3、分析業(yè)務(wù)狀態(tài)變更。對(duì)于復(fù)雜業(yè)務(wù)狀態(tài)的變更進(jìn)行分析

4、分析業(yè)務(wù)流程

以上幾個(gè)方面如果都能夠厘清,那么對(duì)于業(yè)務(wù)需求而言,就已經(jīng)很不錯(cuò)了。系統(tǒng)設(shè)計(jì)分析可以使用UML下面幾種圖進(jìn)行分析:

1、用例圖

用例圖主要用來描述角色以及角色與用例之間的連接關(guān)系。說明的是誰要使用系統(tǒng),以及他們使用該系統(tǒng)可以做。使用用例圖,可以整理出當(dāng)前的需求的場(chǎng)景是什么?哪些角色在使用?每個(gè)角色會(huì)使用哪些功能?

 

 

 

 

2、時(shí)序圖

時(shí)序圖通過描述對(duì)象之間發(fā)送消息的時(shí)間順序顯示多個(gè)對(duì)象之間的動(dòng)態(tài)協(xié)作。它可以表示用例的行為順序,當(dāng)執(zhí)行一個(gè)用例行為時(shí),其中的每條消息對(duì)應(yīng)一個(gè)類操作或狀態(tài)機(jī)中引起轉(zhuǎn)換的觸發(fā)事件。時(shí)序圖可以整理需求需要關(guān)聯(lián)哪些系統(tǒng),模塊,在哪個(gè)操作節(jié)點(diǎn)上需要操作哪個(gè)系統(tǒng),模塊。

 

3、狀態(tài)圖

描述一個(gè)實(shí)體基于事件反應(yīng)的動(dòng)態(tài)行為,顯示了該實(shí)體如何根據(jù)當(dāng)前所處的狀態(tài)對(duì)不同的事件做出反應(yīng)。通常我們創(chuàng)建一個(gè)UML狀態(tài)圖是為了以下的研究目的:研究類、角色、子系統(tǒng)、或組件的復(fù)雜行為。狀態(tài)圖,可以分析各個(gè)狀態(tài)流轉(zhuǎn),確定哪些狀態(tài)直接可以相互變更。比如,一個(gè)商品訂單,有下單,付款,發(fā)貨,確定收貨,申請(qǐng)退款,退款中,退款完成。

 

4、活動(dòng)圖

活動(dòng)圖是闡明了業(yè)務(wù)用例實(shí)現(xiàn)的工作流程。業(yè)務(wù)工作流程說明了業(yè)務(wù)為向所服務(wù)的業(yè)務(wù)主角提供其所需的價(jià)值而必須完成的工作。類似于流程圖??梢杂糜诜治鰳I(yè)務(wù)流程。

 

在繪圖的過程中,不必拘泥于UML的規(guī)則,只要圖表表達(dá)含義正確即可。上面的圖表作為工具,可以更加直觀的展示業(yè)務(wù)系統(tǒng),幫助程序員在當(dāng)前需求中,分析業(yè)務(wù)系統(tǒng)之間的關(guān)系,業(yè)務(wù)流轉(zhuǎn)的時(shí)序,狀態(tài)變更,業(yè)務(wù)操作流程。有了上面的分析,相當(dāng)于我們提前預(yù)演了一遍編碼過程,可以很大程度上識(shí)別到編碼中可能遇到哪些問題。

繪圖是整理的過程,梳理出需求, 形成簡單的文檔;理出核心流程, 異常流程和狀態(tài),便于和團(tuán)隊(duì)其他人溝通快速上手業(yè)務(wù)邏輯。

責(zé)任編輯:武曉燕 來源: 寫PHP的老王
相關(guān)推薦

2021-05-25 10:41:46

遠(yuǎn)程辦公數(shù)字化轉(zhuǎn)型混合工作模式

2017-02-20 13:54:04

戴爾

2010-08-05 09:29:08

jQuery

2017-03-25 21:13:38

JavaScript排序

2013-04-25 13:58:15

編程

2021-11-05 11:17:45

互聯(lián)網(wǎng)996大廠

2018-07-02 12:49:33

刷新控件動(dòng)畫

2024-11-26 11:02:17

2010-04-08 08:18:55

iPad軟件開發(fā)iPhone

2018-03-13 15:00:22

智慧交通高鐵無人駕駛

2015-11-24 10:05:07

私有云虛擬化負(fù)載遷移

2011-11-17 13:25:43

垃圾郵件

2011-09-15 13:25:02

2021-07-26 22:33:41

切片結(jié)構(gòu)體代碼

2025-04-17 02:00:00

數(shù)據(jù)分析SQL大數(shù)據(jù)

2016-10-13 18:06:09

云計(jì)算多云模型

2021-01-06 10:51:39

云計(jì)算云服務(wù)IT

2010-08-26 22:42:52

2015-12-15 17:19:55

戴爾云計(jì)算

2011-04-28 20:21:44

和信創(chuàng)天終端管理虛擬終端管理系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)