前言
由於我的工程實踐專案是關於安全工具sqlmap的復現,難以完成需求分析,故藉學生選課系統進行本次學習。
一、需求分析
學生需求:查詢課程資訊,選擇課程,退選課程,檢視已選上的課程資訊
管理員需求:維護課程資訊,可以查詢、新增、修改、刪除課程資訊
二、用例建模
用例(use case)的核心概念中首先它是乙個業務過程(business process),經過邏輯整理抽象出來的乙個業務過程,這是用例的實質。在待開發軟體所處的業務領域內完成特定業務任務(business task)的一系列活動就是業務過程。
用例建模的基本步驟:
第一步,從需求表述中找出用例,往往是動名詞短語表示的抽象用例;
第二步,描述用例開始和結束的狀態,用tucbw和tucew表示的高層用例;
第三步,對用例按照子系統或不同的方面進行分類,描述用例與用例、用例與參與者之間的上下文關係,並畫出用例圖;
第四步,進一步逐一分析用例與參與者的詳細互動過程,完成乙個兩列的**將參與者和待開發軟體系統之間從用例開始到用例結束的所有互動步驟都列舉出來擴充套件用例。
其中第一步到第三步是計畫階段,第四步是增量實現階段。
選課系統中有兩個角色:管理員和學生。管理員維護課程資訊,有檢視、新增、修改和刪除課程的許可權;學生可以查詢課程資訊、選擇及退選課程。用例圖如下所示:
三、業務領域建模
業務領域建模是開發團隊用於獲取業務領域知識的過程。因為軟體工程師往往需要工作在不同的業務領域或者不同專案中,他們需要業務領域知識來開發軟體系統。軟體工程師往往來自不同的專業背景,這可能會影響他們對業務領域的認知。因此業務領域建模有助於開發團隊獲取業務領域知識形成統一的業務認知。
業務領域建模的基本步驟:
第一步,收集應用業務領域的資訊。聚焦在功能需求層面,也考慮其他型別的需求和資料;
第二步,頭腦風暴。列出重要的應用業務領域概念,給出這些概念的屬性,以及這些概念之間的關係;
第三步,給這些應用業務領域概念分類。分別列出哪些是類、哪些屬性和屬性值、以及列出類之間的繼承關係、聚合關係和關聯關係。
第四步,將結果用 uml 類圖畫出來。
使用者類的屬性有賬戶、密碼、姓名、郵箱,方法有註冊、登入、登出,學術類和課程類是使用者類的子類;管理員類有管理員id屬性和查詢、新增、修改、刪除課程方法;學生類的屬性有學生id和已選課程列表,方法有查詢、選擇、退選課程;課程類的屬性有課程id、課程名、老師、上課時間、當前學生人數、最大學生人數。下面是四個類的業務類圖:
四、資料建模
管理員表:
欄位名資料型別
是否為空
說明鍵/約束
account
stringn賬號
唯一password
stringn密碼
name
stringy姓名
stringy郵件
adminid
string
n管理員id
主鍵學生表:
欄位名資料型別
是否為空
說明鍵/約束
account
stringn賬號
唯一password
stringn密碼
name
stringy姓名
stringy郵件
studentid
string
n學生id
主鍵courselist
sety
已選課程
課程表:
欄位名資料型別
是否為空
說明鍵/約束
courseid
string
n課程id
主鍵name
string
n課程名
teacher
stringy教師
time
string
y上課時間
students
intn
當前選課學生數
maxnumber
intn
最**課學生數
五、概念原型
概念是人對能代表某種事物或發展過程的特點及意義所形成的思維結論。
概念原型是一種虛擬的、理想化的軟體產品形式。
選課系統的概念原型的工作過程:
使用者分為管理員、學生兩種身份,管理員主要對課程進行新增、修改、刪除,學生主要選擇和退選課程。
選課:學生登入已註冊賬戶,查閱已發布的課程資訊,選擇報名人數未滿且感興趣的課程,選課成功。
學生選課系統業務需求
1.業務需求 1.1業務目的 該選課平台用於提高教務處的工作效率,方便使用者之間的資訊交流,簡化學生的選課流程,使選課管理工作更規範化,系統化,程式化提高資訊處理的速度和準確性,能夠及時 準確 有效的查詢和修改選課排課相關資訊。本系統是對該學生選課平台的乙個整體把握,以便在下一步的開發做更好的把握。...
需求分析和概念原型 文字情感分析系統
本文基於本人的工程實踐專案 文字情感分析,對其進行相應的用例建模和業務領域建模,以及資料建模,最終形成概念原型。該項目的重點是對情感相關資訊進行分類,旨在將文字情感分為積極 中立和消極三種類別或者更細緻的情感類。需求就是對使用者期望的軟體行為的表述 獲取需求就是需求分析師通過關注使用者的期望和需要,...
學生選課系統功能分析
資料庫系統 學生資訊資料庫 一 學生資訊資料庫主要有如下功能 1 使用者能儲存學生個人情況的有關資訊。2 使用者能儲存學生學習情況的有關資訊。3 使用者能儲存學生老師情況的有關資訊。4 使用者能儲存學生班級情況的有關資訊。5 使用者能對上述資訊進行錄入 修改 刪除等操作。6 使用者能通過多種方式對上...