學生資訊管理系統——相信我們大家都是比較熟悉的了,作為乙個初入計算機專業的學生,這估計是我們在課程設計中都做過的乙個小專案。不過你我那時可能一樣,因為經驗不足和圖於玩樂,開發過程中水了不少地方,哈哈一開;近日臨近學期末 ,因為一些原因,需要來重新做一下它,鑑於以前的不足,所以本次開發參照著軟體工程開發流程走,算是對軟體開發流程再一次鞏固。
首先第乙個考慮的便是專案需求,對於咱學生來講,專案可行性就不用研究了,這肯定是可行的,砸門就經拿需求幹就是了。廢話不多講,先能得到大致功能需求模組,例如針對本專案經過一番分析可以得到如下需求模組圖:
1 考慮學生登入,可以將其細分如下一些需求:
2 管理員登入
對於管理員登入,它管理的東西就比較多了。就其中的課程管理,大致對應著的其實就是增、刪、查、改課程
對於教室管理、學生管理、班級管理 需求是類似的
分析一下學生選課管理、學生成績管理,也不難得到下面的功能需求圖:
乙個簡單e-r圖幫助了解需求
前面需求階段都還比較順風順水, 到設計階段就遇到了阻礙。參照前面的e-r圖,比較容易得到這麼幾個類:
student類 teacher類 course類 admin類 grade班級類
難點在於類之間的互動
廢話不多講,以學生選課為例,下面是我設計<1>student類和course類實現互動:
course類
#include "common.h"
struct course
bool operator
}; //管理課程類
class managecourse
void showcourse(); //顯示系統中所有課程資訊
};
student類
class student
//簡寫了
//個人資訊操作
void showprofile(); //顯示學生個人資訊
int changepwd();
//選課管理
void managecourse(const string& admin_id);
int addcourse(const string& c_id) ; //新增課程至con_score_容器
int canclecourse(const string& c_id) ;
void showcoursescore() ; //顯示學生所有課程與分數
...};
可以看出student類中有乙個操縱course的控制代碼,由它來負責和managecourse課程類互動,進而實現從系統選課的操作;再者在student類中存有乙個存放課程和對應分數的map容器,這樣利用pmc_控制代碼在系統找到的課程便可以放入map容器進行管理
<2> admin類與course類進行互動
同上,admin類需要實現對系統的課程進行管理就十分簡單了,只需要在類中新增managecourse* 型別資料成員,用作操作管理課程的控制代碼。
class admin
~admin( )
managestudent* getstuhandle( )
//manage course member function
void managecourse();
//handle student choose course
void handlechoosecourse( );
void addcourseforstu();
void canclecourseforstu();
};
不過這裡有乙個十分值得注意的問題:pmc_屬性必須和student類中pmc_屬性指向同乙個managecourse物件。因為它們需要統一進行互動
也就是說pmc_屬性是在構造admin 物件時,外面用引數傳進來。
對於教師管理、班級管理、學生管理可以基於同樣的思路進行處理。只需要在admin類中新增相應的控制代碼。
資料儲存
所有資料儲存在mysql中。在程式啟動時從資料庫中載入到維護的資料結構中,所有操作完成後再將資料儲存到mysql中。
之所以如此,可以減少程式與mysql互動的次數,提高執行的效率
至此,已有大體的思路,可以開始編碼實現。**已上傳github,若您感興趣可以參考
注意事項:
最後貼上程式截圖:
主介面圖
管理員登入
學生登入
成績查詢
軟體開發的乙個案例 學生資訊管理系統
學生資訊管理系統 相信我們大家都是比較熟悉的了,作為乙個初入計算機專業的學生,這估計是我們在課程設計中都做過的乙個小專案。不過你我那時可能一樣,因為經驗不足和圖於玩樂,開發過程中水了不少地方,哈哈一開 近日臨近學期末 因為一些原因,需要來重新做一下它,鑑於以前的不足,所以本次開發參照著軟體工程開發流...
乙個簡單的學生資訊管理系統
昨天忽然想寫乙個小型的資訊管理系統了,用鍊錶和文字檔案儲存資訊,所以就回過頭把鍊錶看了一遍,下午的時候把框架打好了,學生資訊只有學生姓名和學號。程式功能只具備 1 新增學生資訊功能 內嵌查重功能 2 查詢功能 根據學號查詢 3 刪除學生資訊功能 內嵌一小小的登陸功能,登陸成功方可進行此操作 4 列印...
python寫乙個學生資訊管理系統
coding utf 8 2 info 全域性變數 3 def info print 4 print 請選擇功能 5 print 1 新增學員 6 print 2 刪除學員 7 print 3 修改學員 8 print 4 查詢學員 9 print 5 顯示學員 10 print 6 退出系統 11...