用EA輕鬆進行分析設計
EA即Enterprise Architect,是一款計算機輔助軟體工程(CASE)工具,用於設計和構建軟體系統、業務流程建模及更多通用的建模。 EA並不僅僅是一個UML畫圖工具那麼簡單,它對整個專案開發過程有著非常好的支援。
Enterprise Architect的特點
- UML建模,支援UML2.1
- 程式碼工程,按圖生成程式碼,匯入原有的程式碼成為UML圖
- 專案管理程式,包括專案計劃,任務進度,問題集等
- 文件生成和模板,可使用文字翻譯替換和自定義的模板為不同的專案打造最適合的文件型別
- 資料庫建模,可從ODBC匯入資料來源結構,並進行ER圖的編輯,還可生成建表的SQL語句
- 程式碼編輯、除錯和執行--加入編譯指令碼,就可以把EA當作IDE來使用
- 版本控制,聯機討論,區域網協同開發等功能。
一、 開始前的準備(進行前的設定)
設定你預設使用的資料庫
二、 建立專案
新建專案:
選擇你要儲存EA檔案的路徑,輸入EA檔案的檔名:
根據您專案的情況,選擇需要的型別
選擇模式下需要的模型(通常我是全選,在這裡全選後,還可以在專案瀏覽器中刪除,或則增添),按確定後,模型在建立。
下面是建立好的專案模型
在這裡可以刪除某些認為不需要的模型,或者按一下步驟增添需要的模型
1、 選擇Model點右鍵
2、 選擇增添的模型
三、 UML中3個重要的東東
在進入實際工作之前,需要了解這3個UML中重要的東東,對在EA裡的操作很重要(本來這是UML中的基礎,本不該在這裡講,但是在使用EA時有好多人問題一些很基本的東西,所以就補上來吧)
包:是為了系統的結構劃分而存在,主要是系統之間的功能分界,也可以看作是分層次,就像我們寫一篇文章,需要分目錄、章節一樣;
檢視:檢視就像一塊白板,用於表現存放各元素以及元素的關係,如用例圖、類圖,或者是存放包的包結構圖。不同的檢視有不同的含義,這裡就不展開了,一個檢視出現後,對應和此檢視相關的元素會在左邊出現,如:
元素:既是UML中的元素,如:用例、類、表、包等等
連線這些元素的不同的線,代表的是其之間的關係。
四、 和客戶溝通,記錄需求
在這裡記錄下使用者的原始需求,有分功能需求和非功能需求(如效能、相容性、部署環境要求等)
分包,同時記錄使用者的原始需求,這裡模型中有好的一個分法,把需求從特性、規則和介面要求分開了
各個層用法(其實這裡的規則和特性,概念也很模糊,通常我用的時候上面的包為Requirement只是記錄需求,相應的規則和特性都記錄在Features當特性表的內容)
以下是非功能性內容
然後,對每個元素和需求中填寫需求的描述
以上的工作只是收集原始需求的工作,是現場或和客戶溝通、接觸的最直接工作以及“證據”,同時也是為了下一步的分析的根據基礎,接下來是體現系統分析師的水平的工作,用例以及用例分析;
五、 建頂層用例
用例可分頂層用例、業務用例和系統用例(這是我自己的分法,沒有教程這麼講過,只需自己理解就好,其實業務用例和系統用例可以當作一些書本中說的客戶需求和系統需求),以上分法目的是:
首先,從和客戶的溝通和接觸中,你可能會收集到很多早期的用例,特別是一開始會是使用者的最初要求,也是最大的期望,通常這些都是可以歸類到頂層用例中,然後根據這些頂層用例和收集的需求,根據你的理解,以其行業(看你的系統是做什麼行業)的術語和業務進行分解和細化形成業務用例,這是整理以及細化的過程,可以至頂向下,也可以由細整理再歸類,最後形成業務用例;同時,根據你IT的經驗,把業務用例進行分析(這是見你分析設計經驗的時候,架構師通常的能力就表現出來了),形成可開發化的系統用例,這過程是個分析的過程,有可能一個業務用例會被你分拆成多個用例,也有可能多個業務用例合併成一個系統用例,總之,就是系統優化的那些原則,效能、可擴充套件性、安全性、通用型等等什麼的。這些內容調研之後的首要工作,這些可以同步迭代進行。
用例圖是角色和用例之間的關係,所以通常做法我會給角色單獨建一個包,然後用例根據邊界的分法建包:
建立相關的包
輸入包名
根據你這個包所扮演的作用選擇相關檢視,(一個包中可存在多個檢視,可用前面說的檢視按鈕建立)
雙擊剛建好的用例檢視
點選左邊的元素集,選擇用例元素
放置到用例檢視中,填寫用例名和用例描述以其其他相關的屬性
或者是和此用例相關的檔案
把相關的角色拖到檢視中
在提示框中選者簡單的連線
畫上角色和用例的關聯
其關聯還可以通過雙擊關聯線,標註相關的構造型和連結名
六、 進行領域模型建模
看過《領域驅動設計》的人就知道領域模型的作用是什麼了,主要是面向使用者,面向業務的,顧名思義就是理解領域中的各層關係,其實畫法和類模型相似,這裡就不細說了,並不是必須的,看專案具體情況而定。
七、 建類圖
案例中做了個好的分法,把系統類和架構類分開了,大家可以照搬,當然也可以根據自己需要自己建包。
做法也是和之上畫用例圖的步驟一樣的(重要的是分析設計的思想):建包—建檢視---畫元素(用例、類、表等)--畫關係(關聯、繼承、依賴等)
一個類它可以有屬性和方法
建類的屬性
輸入屬性(變數)的內容
建類的方法
輸入方法的內容
八、 建資料模型
手動建資料模型的方法和以上內容基本相似
建欄位和方法的方法和類圖一樣(不過通常通過類轉換過來的話,這些內容都有了,只是對其進行一些修正即可)
九、 通過包轉換建立類模型、資料模型
領域模型、類模型、資料模型這幾者之間是可以通過包轉換來進行的,也就是如果你原來建好的領域模型,可以通過領域模型轉換到類模型,從類模型轉換到資料模型,這是可以減少很多的工作量,而且是可以承接先前的思想。
選中需要轉換的包,右鍵
、
根據你要轉換的目的內容選擇
十、 通過資料模型生成SQL
選單個表生成SQL
選整個包生成SQL
從原有資料庫中匯入表結構
十一、 EA進行正反向工程
用EA進行生成原始碼暨正向工程
單個類生成原始碼
整個包生成原始碼
用EA匯入原始碼暨反向工程
檢視原始碼以及修改了原始碼後進行程式碼同步
在EA中修改了原始碼以後,可以進行程式碼同步
十二、 在EA中進行編碼,當IDE使用(就像eclipse)
十三、 元件模型
十四、 部署模型
十五、 EA中管理測試
可以在EA中管理測試計劃和測試用例,首先可以以這分包
測試計劃模板
十六、 系統維護
軟體管理當然少不了系統的維護,系統變更管理,EA中同樣含有維護模型,可以在這裡進行版本及其版本中變更的管理
十七、 進行專案管理
在EA的專案管理中還有計劃管理、資源管理、風險管理等方面,和軟體工程的UML或ISO的管理比較貼切
專案任務管理
專案問題管理
相關詞彙表
管理干係人
如:
十八、 生成需要文件
使用者可以通過生成文件生成自己所需要的問題,文件的格式可以使用EA預設的,也可以通過修改模版按自己的要求輸出文件。
例子:
十九、 可對專案元素進行統計
二十、 還有一些不知怎麼用的功能
相關推薦
用EA輕鬆進行分析設計
EA即Enterprise Architect,是一款計算機輔助軟體工程(CASE)工具,用於設計和構建軟體系統、業務流程建模及更多通用的建模。 EA並不僅僅是一個UML畫圖工具那麼簡單,它對整個專案開發過程有著非常好的支援。 Enterprise Architect的特點
怎樣用EA設計ER圖
多少 詳細步驟 數據 pan span 把他 fonts 機房收費系統 就會 我們開發系統從文檔開始,而EA就是替我們開發文檔的好工具。結束了我們從概念設計到邏輯設計中的非常多問題。完好我們的文檔。 如今就給大家說說如何在EA中設計概念模型ER圖: 首
android黑科技系列——分析某直播App的協議加密原理以及調用加密方法進行協議參數構造
輸出結果 防護 返回 不能 定義類 多個 類型 所在 文件中 一、前言 隨著直播技術火爆之後,各家都出了直播app,早期直播app的各種請求協議的參數信息都沒有做任何加密措施,但是慢慢的有人開始利用這個後門開始弄刷粉關註工具,可以讓一個新生的小花旦分分鐘變成網紅。所以介於
如何利用FPGA進行時序分析設計
FPGA(Field-Programmable Gate Array),即現場可程式設計門陣列,它是作為專用積體電路(ASIC)領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可程式設計器件閘電路數有限的缺點。對於時序如何用FPGA來分析與設計,本文將詳細
用python爬取二手房交易資訊並進行分析
用python爬取二手房交易資訊並分析 第一步:編寫爬蟲 爬取某平臺上海市十個區共900條二手房的交易資訊 #爬取上海十個區的二手房價資訊 import requests from bs4 import BeautifulSoup import csv #
Linux下用火焰圖進行效能分析
1 火焰圖簡介 很多人感冒發燒的時候, 往往會模仿神農氏嘗百草的路子: 先嚐嘗抗病毒的藥, 再試試抗細菌的藥, 甭管家裡有什麼藥挨個試, 什麼中藥西藥, 瞎貓總會碰上死耗子, 如此做法自然是不可取的, 正確的做法應該是去醫院驗個血, 確診後再對症下藥. 讓我們回
阿里雲釋出Quick BIV3.0,人人都能輕鬆進行線上資料分析
提到BI與OLAP這兩個概念,對於很多做資料庫的技術人員來說並不陌生。BI隨著時代的發展逐漸出現了新型BI和傳統型BI的劃分,從目前的發展程度來看,傳統型BI正在慢慢地衰退,由於傳統型BI存在從業門檻高,需要專業的IT人員來完成,且流程複雜,在資料視覺化方面偏弱,這些問題逐漸
用R語言進行方差分析
R語言中與方差分析有關的包有car、gplots、HH、rrcov、multicomp、effects、MASS和mvoutlier。 單因素方差分析 #運用multcomp包中的cholesterol資料 library(multcomp) attach(cholesterol) #檢視
用R語言進行基本統計分析
1. 描述性統計分析 使用自帶的summary()函式 > myvars <- c("mpg","hp","wt") > summary(mtcars[myvars]) mpg hp wt Mi
用R語言進行迴歸分析
1.單變數線性迴歸 > y<-c(5,7,9,11,16,20) > x<-c(1,2,3,4,7,9) > lsfit(x,y) $coefficients Int
用R語言進行關聯分析
關聯是兩個或多個變數取值之間存在的一類重要的可被發現的某種規律性。關聯分析目的是尋找給定資料記錄集中資料項之間隱藏的關聯關係,描述資料之間的密切度。 幾個基本概念 1. 項集 這是一個集合的概念,在一籃子商品中的一件消費品即為一項(Item),則若干項的集合為項集,如{啤酒,尿布}構成一
用Apache Spark進行大資料處理之用Spark GraphX圖資料分析(6)
import org.apache.spark._ import org.apache.spark.graphx._ import org.apache.spark.rdd.RDD import java.util.Calendar // 先匯入邊 val graph = GraphLoader.edgeL
如何讓多個不同型別的後端網站用一個nginx進行反向代理實際場景分析
前段時間公司根據要求需要將聚石塔上伺服器從杭州整體遷移到張家口,剛好趁這次機會將這些亂七八糟的伺服器做一次梳理和整合,斷斷續續一個月遷移完 成大概優化掉了1/3的機器,完成之後遇到了一些問題,比如曾今零零散散部署在生產上一些視覺化UI:apoll
典型用戶和場景分析
水平 用途 環境 大學生 空間 黑板 層次 重要性 可能 1. 名字:韓梅梅 年齡:39 職業:食堂阿姨 代表的用戶在市場上的比例和重要性:5% 較重要 知識層次和能力:可能不太會熟練使用手機APP 使用本軟件的環境:食堂或其他地方 典型場景:食堂阿姨撿到一張飯卡,將此信
銷量預測和用戶行為的分析--基於ERP的交易數據
測試數據 為什麽 5% 重要 思考 發的 span 左右 參考 寫在前面: 這段時間一直都在看一些機器學習方面的內容,其中又花了不少時間在推薦系統這塊,然後自己做了一套簡單的推薦系統,但是跑下來的結果總覺得有些差強人意,我在離線實驗中得到Precision,Recall一般
SOAPUI用測試步驟進行斷言
包含 繼續 sts 技術分享 soap 按鈕 table 限定 填充 soapUI提供兩種斷言方法:TestSteps中添加斷言和Assertion TestStep(僅限PRO版本)。 Assertion TestStep擴展了斷言處理和管理的想法。此功能允許創建簡單到復
Linux賬號管理之第二篇:對用戶組進行管理
mov 切換 屬於 tom blog 用戶組 第二篇 roo clas 1、查看用戶的有效組群 groups 用戶名 註意:查看出來的結果可能有多個;第一個為主組群,後面的都是副組群 2、添加和刪除組群 添加一個組:groupadd 組
互聯網金融平臺用戶產品偏好分析實例
推送 100% 描述 明顯 格式 blog 名稱 ges 詳細 目的:分析用戶產品偏好支持產品區域化精準推送 所需數據:用戶基本信息(區域、購買行為明細),所購產品利率(利率、次數)、擔保機構(擔保機構名稱、次數)、產品期限(不同期限對應次數) 一、分析思路 1、分利率:統
從無到用寫個股票分析APP(一)
ionic chartjs agularjs python flask app 前言:再給自己挖個坑吧。我想寫個什麽東西呢?一:可以瀏覽當下相關資訊,以及大盤指數實時更新。二:添加自選股票,可以查看該股票的走勢圖,相關資訊以及基本數據。三:通過server端定義相關指標及常用策略,手機
【spring源碼學習】spring的遠程調用實現源碼分析
數據 編碼方式 ria date 技術 color nbsp mvc err 【一】spring的遠程調用提供的基礎類 (1)org.springframework.remoting.support.RemotingSupport ===>spring提供實現的遠程調