軟體開發的乙個案例 學生資訊管理系統

2021-09-30 19:32:35 字數 3192 閱讀 9905

學生資訊管理系統——相信我們大家都是比較熟悉的了,作為乙個初入計算機專業的學生,這估計是我們在課程設計中都做過的乙個小專案。不過你我那時可能一樣,因為經驗不足和圖於玩樂,開發過程中水了不少地方,哈哈一開;近日臨近學期末 ,因為一些原因,需要來重新做一下它,鑑於以前的不足,所以本次開發參照著軟體工程開發流程走,算是對軟體開發流程再一次鞏固。

先看一下效果圖:

主介面圖

管理員登入

學生登入

成績查詢

首先第乙個考慮的便是專案需求,對於咱學生來講,專案可行性就不用研究了,這肯定是可行的,砸門就經拿需求幹就是了。廢話不多講,先能得到大致功能需求模組,例如針對本專案經過一番分析可以得到如下需求模組圖:

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...