軟體開發設計的第三維度 時間

2021-09-12 02:50:06 字數 2233 閱讀 2692

第三維度的產生

雖然我們生活在乙個三維的世界中,但我們更習慣分析一些二維的資料,就像我們處理各種**,由行和列組成,乙個「平面」的資料,涉及的操作一般會是「篩選、排序和累計求和」等。

如果我們把乙個個「平面」的**,用「時間」串成乙個串兒,那我們就得到另外乙個維度。時間,就是我們分析資料的第三個維度。

圖 1‑1  薯片串

2.有關「時間」

在需求調研階段,通常不會太關注對於使用者時間標記的需求。使用者這方面的需求會描述為,歷史資料查詢,操作行為要有記錄備查,資料可以進行回溯等等。而在功能設計階段中,我們會設計出「資料按時間查詢」,這裡的資料卻不會是同一資料的不同版本,而是一組按時間序列儲存的資料。而「時間」的真正意義在於基於「時間軸」去呈現同乙份/種類資料。

往往我們不去基於時間維度去設計開發,在乙個專案中,系統產生資料著眼點在當前時間,不會去想執行乙個月後、一年後系統的樣子。在做系統執行價值評價時,我們才想到應該把過往資料進行儲存和備份,而在資料對比分析時,資料時間標記屬性開始變得必不可少。我們在系統中有兩類資料,一類是生產的資料,一類是系統的各類基礎資料。

實時資料(業務資料),天生具有「時間標記」,使用者關注資料的實時性,通過「時間標記」去測算資料是否及時到達。對於「實時資料」,需要兩個位置儲存,乙個位置儲存的是當前最新資料,用最新的資料去更新,另乙個位置儲存的是乙個帶有時間序列特性的歷史資料。兩個位置儲存的資料,分別做不同的應用。最新資料,用於顯示當前最新的狀態;歷史資料,用於分析資料在一段時間內的情況,計算最大值、最小值及平均值等。

系統基礎資料,更新頻率明顯小於實時資料,而且對於這部分資料的生命週期不太容易被關注,使用者不會對這部分資料「感冒」,就像是「脫敏」一樣。但對於支撐系統業務的核心資料,資料的生命週期也十分重要。通過對核心資料的分析,我們可以了解到整個系統的業務走向,已經將來的業務趨勢。比如,各年度的會員資料,乙個監測物件的屬性在各個時間的情況記錄等。

3.時間標記的應用

「時間」儲存可以儲存為string、int、datatime、timestamp等型別。在實時系統中,使用數值型別儲存時間,對於獲取最新的資料的查詢,效率將大大提公升。

3.1證據

時間戳是指格林威治時間2023年01月01日00時00分00秒(北京時間2023年01月01日08時00分00秒)起至現在的總秒數。通俗的講, 時間戳是乙份能夠表示乙份資料在乙個特定時間點已經存在的完整的可驗證的資料。時間戳使區塊鏈上每一筆資料都具有時間標記。簡單來說,時間戳證明了區塊鏈上什麼時候發生了什麼事情,且任何人無法篡改。時間戳在區塊鏈中扮演公證人的角色,而且比傳統的公證制度更為可信。因為運用了時間戳,區塊鏈技術也適合用於智財權保護等領域。

簡單應用,我們會將系統操作行為記錄下來,什麼時間、什麼人、做了什麼操作。有了「時間」屬性的存在,才能能夠找到一系列「操作行為」的相關性及影響。前提便是,我們需要保證記錄具有一定的權威性。

3.2時間軸

圖 3.2‑1  基於時間線的大事件

3.2.1歷史變遷

時間在變,而空間具有一定的穩定性。同一地理位置,基於時間軸的資料變化。比如,某地的人口資料、時間標記的衛星,可以在時間軸上進行呈現疊加。

圖 3.2‑2  同一位置上基於時間的資料

3.2.2資料分析

系統建設的價值,需要通過系統產生的資料去進行評價。系統在執行過程中各個階段的資料,可做縱向對比分析,發現哪些指標在提公升、哪些指標在下降。某種型別的資料可以用來和其他廠家的系統進行橫向對比,發現優勢和劣勢。

分析需要的資料,需要在設計階段就去考慮。針對分析的需要去設計記錄內容和儲存的方式。日誌系統,記錄系統的執行和使用情況,是面向運維的,正常、錯誤和警告狀等狀態下觸發。

在具有「台賬」概念的系統中,通常會將「年份」作為乙份台賬的時間標記。所有業務都是基於當年的「台賬」進行的,「台賬」中資料的新增、變更和銷賬操作有著嚴格的流程。基於歷年的「台賬」資料中,還需要有乙個「統一標識碼」,只有這樣我們才會,查詢到同一資料在不同「台賬」中是什麼樣的。「統一標識碼」,在乙個資料的生命週期中不會變化;同時在整個系統也是唯一的,不會被**,不會被重新啟用。有了「統一標識碼」和時間的組合,我們很多分析就有了材料。

不是三維 軟體專案的設計 開發與管理

本文節選自 不是三維 軟體專案的設計 開發與管理 一書 序 無論技術發展多快,與電子 機械產品的規範化生產相比,軟體開發的實際狀況卻一直不盡人意,被稱為 黑箱技術 這本書從軟體與三維實物的本質性不同這個全新角度出發,從技術與管理兩個層面,深入分析現狀,研究軟體生產方 並給出相應的實用方法與工具介紹。...

工業設計三維軟體有哪些?

三維設計是建立在平面和二維設計的基礎上,讓設計目標更立體化,更形象化的一種新興設計方法。常見的三維軟體有 solidworks pro e ug等,每款軟體都各有所長,接下來就給大家介紹一下工業設計三維軟體有哪些吧!solidworks軟體功能強大,元件繁多。solidworks有功能強大 易學易用...

osg 三維gis開發 OSG三維模型初探

最近在研究osg開發,準備用osg osgearth開發一套三維地形gis系統,目前研究在vs2008下把osg 2.8.3 debug和release 和osearth 2.0.0 release,debug版沒編譯是考慮只把它作為地形生成工具使用,但目前開發過程中發現osg的debug是需要它的...