1、前言
本博文根據高軟知識,對工程實踐項目進行需求分析,需求就是對用戶期望的軟件行為的表述;獲取需求就是需求分析師通過關注用戶的期望和需要,從而獲得用戶期望的軟件行為,然后對其進行表述的工作;需求分析是在獲取需求的基礎上進一步對軟件涉及的對象或實體的狀態、特征和行為進行准確描述或建模的工作。
2、需求分析
本系統用於高校教務管理,包括學籍管理、排課管理、選課管理、考務管理等。
2.1、學籍管理模塊
教務員可以通過Excel表格批量導入學生信息,同時對個別的學生信息進行修改。
2.2、排課管理模塊
1.課程錄入,教務員可以錄入預計開設的課程及相關信息。
2.課程修改,教務員可對已錄入課程的信息進行修改。
3.刪除課程,教務員可以刪除已錄入的課程。
2.3、選課管理模塊
1.學生課表,學生可對本人的課表信息進行查詢。
2.選課,學生可以根據培養計划進行選課。
2.4、考務管理模塊
1.考試安排,教務員可以安排考場和考試時間。
2.成績錄入,任課教師可以在規定的時間段內錄入學生成績。
3、用例建模
用例(Use Case)的核心概念中首先它是一個業務過程(business process),經過邏輯整理抽象出來的一個業務過程,這是用例的實質。什么是業務過程?在待開發軟件所處的業務領域內完成特定業務任務(business task)的一系列活動就是業務過程。
接下來我們具體看看用例的幾個基本要素:
- 一個用例應該由業務領域內的某個參與者(Actor)所觸發。
- 用例必須能為特定的參與者完成一個特定的業務任務。
- 一個用例必須終止於某個特定參與者,也就是特定參與者明確地或者隱含地得到了業務任務完成的結果。
3.1、學籍管理模塊用例
錄入和修改學生個人信息並提交。

3.2、排課管理模塊用例
錄入課程信息並上傳。

3.3、選課管理模塊用例
學生按照教學計划選擇課程。

3.4、教務管理模塊用例
教務員安排考場和考試時間。

4、業務領域建模
業務領域建模是開發團隊用於獲取業務領域知識的過程。因為軟件工程師往往需要工作在不同的業務領域或者不同項目中,他們需要業務領域知識來開發軟件系統。軟件工程師往往來自不同的專業背景,這可能會影響他們對業務領域的認知。因此業務領域建模有助於開發團隊獲取業務領域知識形成統一的業務認知。開發團隊獲取業務領域知識的過程一般包括收集業務領域相關信息、執行團隊頭腦風暴、對業務領域相關的知識概念進行分類,最后用UML類圖將業務領域知識圖形化展示。
4.1、業務領域建模基本步驟
- 收集應用業務領域的信息。聚焦在功能需求層面,也考慮其他類型的需求和資料;
- 頭腦風暴。列出重要的應用業務領域概念,給出這些概念的屬性,以及這些概念之間的關系;
- 給這些應用業務領域概念分類。分別列出哪些是類、哪些屬性和屬性值、以及列出類之間的繼承關系、聚合關系和關聯關系。
- 將結果用 UML 類圖畫出來。
類:教師,學生,教務員,課程。
屬性:教務員編號,教務員姓名,密碼,課程號,學號,教工號,教室,上課時間,學號,學生姓名,班級,密碼,專業,教工號,教師姓名,密碼。
業務概念分類並添加屬性。
| 字段名 | 字段描述 | 字段數據類型 | 長度 |
|---|---|---|---|
| Teacher_id | 教工號 | char | 20 |
| Teacher_name | 姓名 | varchar | 20 |
| Password | 密碼 | varchar | 20 |
| Student_id | 學號 | char | 20 |
| Student_name | 學生姓名 | char | 20 |
| Major | 專業 | char | 20 |
| Group_number | 班級號 | int | 20 |
| Password | 密碼 | varchar | 20 |
| Course_id | 課程號 | char | |
| Classification | 類別 | char | 20 |
| Course_name | 課程名 | varchar | 100 |
| Room_id | 教室 | char | 20 |
| Course_date | 上課時間 | char | 20 |
| Test_date | 考試時間 | datetime | 20 |
| JWY_id | 教務員編號 | char | 20 |
| JWY_name | 教務員姓名 | varchar | 20 |
| Password | 密碼 | varchar | 20 |
| Grades | 成績 | float | 5 |
4.2、UML類圖

5、數據模型設計
教師信息
| 數據項名稱 | 字段數據類型 | 長度 |
|---|---|---|
| 教工號 | char | 20 |
| 教師姓名 | varchar | 20 |
| 密碼 | varchar | 20 |
學生信息
| 數據項名稱 | 字段數據類型 | 長度 |
|---|---|---|
| 學號 | char | 20 |
| 學生姓名 | char | 20 |
| 專業 | char | 20 |
| 班級號 | int | 20 |
| 密碼 | varchar | 20 |
教務員信息
| 數據項名稱 | 字段數據類型 | 長度 |
|---|---|---|
| 教務員編號 | char | 20 |
| 教務員姓名 | varchar | 20 |
| 密碼 | varchar | 20 |
課程信息
| 數據項名稱 | 字段數據類型 | 長度 |
|---|---|---|
| 課程號 | char | 20 |
| 學號 | char | 20 |
| 教工號 | char | 20 |
| 教室 | char | 20 |
| 上課時間 | char | 20 |
6、概念原型
- 概念是人對能代表某種事物或發展過程的特點及意義所形成的思維結論。
- 概念原型是一種虛擬的、理想化的軟件產品形式。

本例中樣例主要包括教務員可以通過Excel表格批量導入學生信息,同時對個別的學生信息進行修改,教務員可以錄入預計開設的課程及相關信息,教務員可對已錄入課程的信息進行修改,教務員可以刪除已錄入的課程,學生可對本人的課表信息進行查詢,學生可以根據培養計划進行選課,教務員可以安排考場和考試時間,任課教師可以在規定的時間段內錄入學生成績。
7、總結
本文對高校教務管理系統的用例、業務、數據等方面進行分析,完成簡單軟件項目需求分析到概念原型的基本過程。
參考文獻
https://gitee.com/login?redirect_to_url=%2Fmengning997%2Fse%2Fcommit%2Fa4850b19840e55f8082a4754cca0de241feca1c6
