Python面向?qū)ο缶幊獭I(lǐng)域模型
領(lǐng)域建模 。 從領(lǐng)域模型開始,我們就開始了面向?qū)ο蟮姆治龊驮O(shè)計過程,可以說,領(lǐng)域模型是完成從需求分析到面向 對象設(shè)計的一座橋梁。
領(lǐng)域模型,顧名思義,就是需求所涉及的領(lǐng)域的一個建模,更通俗的講法是業(yè)務(wù)模型。 參考百度百科(http://baike.baidu.cn/view/757895.htm),領(lǐng)域模型定義如下:
從這個定義我們可以看出,領(lǐng)域模型有兩個主要的作用:
1、發(fā)掘重要的業(yè)務(wù)領(lǐng)域模型。
2、建立業(yè)務(wù)領(lǐng)域概念之間的關(guān)系。
領(lǐng)域建模三字經(jīng)
領(lǐng)域模型如此重要,很多同學(xué)可能會認為領(lǐng)域建模很復(fù)雜,需要很高的技巧。然而事實上領(lǐng)域建模非常簡 單,簡單得有點難以讓人相信,領(lǐng)域建模的方法概括一下就是“ 找名詞 ”! 許多同學(xué)看到這個方法后估計都會笑出來:太假了吧,這么簡單,找個初中生都會啊,那我們公司那些分析師和設(shè)計師還有什么用哦?
分析師和設(shè)計師當然有用,后面我們會看到,即使是簡單的找名詞這樣的操作,也涉及到分析和提煉,而 不是簡單的摘取出來就可,這種情況下分析師和設(shè)計師的經(jīng)驗和技能就能夠派上用場了。但領(lǐng)域模型分析 也確實相對簡單,即使沒有豐富的經(jīng)驗和高超的技巧,至少也能完成一個能用的領(lǐng)域模型。
雖然我們說“找名詞”很簡單,但一個關(guān)鍵的問題還沒有說明: 從哪里找 ? 如果你還記得領(lǐng)域模型是“需求到面向?qū)ο蟮臉蛄骸?那么你肯定一下子就能想到:從需求模型中找,具 體來說就是從用例中找。
歸納一下域建模的方法就是“ 從用例中找名詞 ”。 當然,找到名詞后,為了能夠更加符合面向?qū)ο蟮囊蠛吞攸c,我們還需要對這些名詞進一步完善,這就 是接下來的步驟: 加屬性,連關(guān)系 !
最后我們總結(jié)出領(lǐng)域建模的三字經(jīng)方法: 找名詞、加屬性、連關(guān)系 。
1、找名詞
who : 學(xué)員、講師、管理員
用例:
- 管理員 創(chuàng)建了 北京 和 上海 兩個 校區(qū)
- 管理員 創(chuàng)建了 Linux Python Go 3個 課程
- 管理員 創(chuàng)建了 北京校區(qū)的Python 16期, Go開發(fā)第一期,和上海校區(qū)的Linux 36期 班級
- 管理員 創(chuàng)建了 北京校區(qū)的 學(xué)員 小晴 ,并將其 分配 在了 班級 python 16期
- 管理員 創(chuàng)建了 講師 Alex , 并將其分配 給了 班級 python 16期 和全棧脫產(chǎn)5期
- 講師 Alex 創(chuàng)建 了一條 python 16期的 上課紀錄 Day6
- 講師 Alex 為Day6這節(jié)課 所有的學(xué)員 批了 作業(yè) ,小晴得了A, 李磊得了C-, 嚴帥得了B
- 學(xué)員小晴 在 python 16 的 day6里 提交了作業(yè)
- 學(xué)員李磊 查看了自己所報的所有課程
- 學(xué)員 李磊 在 查看了 自己在 py16期 的 成績 列表 ,然后自殺了
- 學(xué)員小晴 跟 講師 Alex 表白了
名詞列表:
管理員、校區(qū)、課程、班級、上課紀錄、作業(yè)、成績、講師、學(xué)員
2、加屬性
3、連關(guān)系
有了類,也有了屬性,接下來自然就是找出它們的關(guān)系了。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
