一、 項目介紹 我們的項目是基于OpenCV的瞳孔識別和個性化推薦系統。 人的瞳孔可以體現很多的信息,它往往能體現一個人的喜怒哀樂,或者反應外界的環境,并且每個人的瞳孔信息中的一部分是獨一無二的,基于這些想法有許許多多的基于瞳孔的科技被開發了。 如今隨著人們生活水平的提高,人們對于購物的多樣性與針對性有了些許要求,隨之而來的就是各種基于不同方式的推薦功能。 將瞳孔的信息與推薦系統進行結合,基于用戶的瞳孔比例變化對用戶進行互聯網內容個性化的推薦。 二、 設計過程(準備工作 需求分析 數據庫設計) 1. 準備工作 工具 Powerdesigner,版本為V16.5,powerdesigner用于軟件建模,可以從需求直到物理模型,支持UML2.0語法,可用于UML圖繪制。最大特色是能夠使設計到實現無縫銜接,如:概念模型->邏輯模型->物理模型,概念模型->OOM,而且能夠生成多種DBMS的腳本或代碼腳本,很方便我們進行實現設計好的數據庫。 需求分析 數據庫的設計離不開需求分析,一個成功的數據庫最基本的特點就是能完美的契合我們項目的所有功能,滿足項目的要求。所以,我們小組根據需求文檔,對每一個需求進行拆分,每一項功能對應數據庫的一個模塊,然后思考如何進行表與表之間的邏輯關聯,進行了數據庫的設計。 2. 完整性約束 數據完整性用于保證數據庫中數據的正確性、一致性和可靠性。一共包括四個類型,實體完整性(Entity Integrity),域完整性(Domain Integrity),參照完整性(Referential Integrity),用戶定義完整性(User-defined Integrity)。它是應防止數據庫中存在不符合語義規定的數據和防止因錯誤信息的輸入輸出造成無效操作或錯誤信息而提出的。所以我們在進行數據庫設計的時候非常注重完整性約束以及是否滿足三范式。 3. 數據庫設計 表的創建 在powerdesigner創建CDM,然后創建實體(Entity),也就是我們的所說的表,設置表格名字,然后是屬性的設置,包括字段名,字段code,數據類型,是否可以為空,設置主鍵等等。其中很重要的一點,我們必須明確表的每一個屬性的數據類型。 表的關系 在設計完數據庫表,我們應該著手思考表與表之間的關聯,那么就是E-R圖的繪制了。關系包括一對一、一對多以及多對多。例如用戶與用戶權限之間的關系就是一對一;班級與學生的關系就是一對多;老師與學生的關系是多對多。以及我們需要注意關系的箭頭,誰是一誰又是多,這一步至關重要,會影響物理模型的生成。通過這次設計,我們小組成員收獲良多。 物理模型生成 Powerdesigner提供了兩種方式,一是通過CDM直接生成物理模型,也可以自己進行設計,這里我們是利用CDM直接生成物理模型 三、 實驗心得/總結 對于我們小組來說這是第一次使用powerdesigner這種類型的工具進行數據庫設計,我們的第一個收獲學會了powerdesigner的使用。從一點不懂到現在可以流暢的設計一個系統的數據庫,我們在整個過程中對具體的設計步驟、思路、方法、技巧都有了進一步的了解。 軟件工程的項目離不開需求文檔。軟件工程導論課程的第一張講的內容便是教我們如何去進行需求分析。分析得出的需求貫穿項目的每一個步驟,包括數據庫設計,我們設計的數據庫無不圍繞著用戶的需求,其實我們最終的目的便是滿足或者超額滿足用戶的需求。通過數據庫的設計,更加深了我們對需求的理解。 好的數據庫設計能夠有效地節約資源、保證數據完整性、提高運行效率降低運行時間、良好的拓展性等等。在設計上,我了解了第一、第二、第三范式,能夠有效避免了數據的冗余。 這次數據庫設計對我們來說是一次挑戰,更是機遇,不僅讓我們學會了如何進行團隊合作,齊心協力共同解決問題;也加深了我們對數據庫系統設計相關知識以及MySQL相關功能的理解。比如在建立基本的表、視圖、索引、存儲過程、觸發器等,都比以前更加熟悉了,并在解決各種問題的過程中學到了很多新的知識。 以上就是我們團隊在數據庫設計過程中的心得和體會,希望能提供一點借鑒意義。 Helloworld小組 李星沛 徐穎 李翰林 肖云杰 來源:https://www./content-2-758751.html |
|