Tải bản đầy đủ (.doc) (19 trang)

Phân tích và thiết kế hệ thống thông tin quản lý điểm sinh viên

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (259.62 KB, 19 trang )

HỌC VIỆN NGÂN HÀNG

KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ
------ ------

Phân tích và thiết kế hệ thống thông tin
quản lý điểm sinh viên

Sinh viên :
GVHD:

NHÓM 8
LÊ QUÝ TÀI


HÀNỘI 2012

2


Nhóm 8
Danh sách nhóm và phân chia công việc:
1) Nguyễn Thị Quỳnh :Nhóm trưởng _làm chương trình con phần sắp
xếp,xây dựng ý tưởng.

2) Nguyễn Thị Huyền_làm chương trình con phần tìm kiếm,xây dựng ý
tưởng.
3) Nguyễn Quốc Đạt_làm chương trình con phần nhập, làm slide.
4) Lê Văn Nuôi_ làm chương trình con phần nhập, làm slide.
5) Trần Thị Hải Yến_làm chương trình con phần in, làm bản word.
6) Đào Thu Hương_làm chương trình con phần sắp xếp, tìm ý tưởng.


7) Nguyễn Thị Dung_làm chương trình con phần tìm kiếm. Tổng kết lại
ý tưởng

3


MỤC LỤC
Nhóm 8.................................................................................................................................3

4


Phân tích và thiết kế hệ thống thông tin
quản lý điểm sinh viên
I.Lời nói đầu
1Tổng quan:
Công nghệ thông tin ra đời được coi là bước nhảy vọt của thời đại.
Tính đến nay khi công nghệ thông tin ra đời nó đã đơn giản hoá mọi việc.
Trong đó ta không thể không thể không thể kể đến vai trò quan trọng của
nó trong ngành giáo dục, đặc biệt là ngành quản lý điểm của học sinh,
sinh viên. Ứng dụng những phần mềm của công nghệ thông tin đã giúp
công việc quản lý học sinh, sinh viên trở nên đơn giản, dễ dàng hơn bao
giờ hết, giúp tiết kiệm rất nhiều chi phí, sức lực cũng như thời gian cho
ngành giáo dục.
Như chúng ta đã biết một trường đại học trung bình phải quản lý trên
dưới 10.000 sinh viên. Nếu tất cả các thao tác về quản lý điểm học sinh
như tìm hồ sơ nhập, xuất rồi sửa điểm trên giấy tờ là một việc vô cùng
mất thời gian và tốn rất nhiều công sức. Còn chưa nói đến việc quản lý
điểm như vậy sẽ rất dễ mất dữ liệu và mất rồi thì khó mà khôi phục lại
được. Nhưng nhờ công nghệ thông tin phát triển và tạo ra các phần mềm

về quản lý điểm của sinh viên thì việc này lại trở nên vô cùng đơn giản,
chỉ bằng thao tác nhấp chuột, chúng ta có thể dễ dàng tìm kiếm cũng như
nhập hay sửa lỗi một cách dễ dàng đến bất ngờ. Nó đã tạo nên hiệu quả
một cách bất ngờ và đòng góp một phẩn rất quan trọng trong việc phát
triển nền giáp dục hiện nay. Hiện nay tất cả các trường ở Việt Nam cũng
như trên thế giới đang úp dụng phẩn mềm này cho việc quản lý điểm cho
sinh viên như một điều không thể thiếu trong ngành giáo dục.
Chính vì vậy mà hôm nay chúng tôi sẽ giúp các bạn hiểu hơn về phẩn
quản lý điểm sinh viên.
2. Quy trình thực hiện quản lý điểm sinh viên cụ thể từ thực tế.
2.1 Sơ đồ quản lý điểm

5


Gia nhận bài thi với GV
1
Dữ liệu hoá điểm thi vào quan
hệ quản lý đào tạo
2
Chuyển ánh bằng điểm gốc và dữ liệu
trong chương trình và lên Webiste

Nhận các điều chỉnh điểm từ GVPT
đối với điểm thi giữa kỳ, quá trình

3
Nhận phản hồi của sinh viên về dữ liệu
điểm


Cấp bảng điểm cá nhân

Tổ chức phúc khảo điểm thi Cuối kỳ

Tổ chức họp xét và
các quyết định học vụ

Gửi dữ liệu cho các P.Công
tác Chính trị học xét học bổng

2.2 Mô tả sơ đồ quản lý
STT

Nội dung công
việc
Giao nhận bài
thi và các bảng
điểm thi với
Giảng viên phụ
trách môn học

Thời gian thực
hiện
Sau thời điểm
thi hết môn tối
đa 1 tháng

2

Dữ liệu hoá điểm

thi vào chương
trình quản lý đào
tạo.

3

Chuyển dữ liệu
điểm và ảnh
bảng điểm quét
lên Website của
trường để sinh

1

Chu trình

Lưu ý

1

Số giao nhận
với GV trong
thời gian quy
định

Sau khi nhận
điểm thi từ GV

2


Sau khi nhận
điểm thi vào
chương trình

2

Kiểm tra các
thông số đầu
vào như giữa
kỳ, quá trình
cuối cùng, môn
học, Tỷ lệ, số
lượng sinh viên
có điểm
Trương trình
học vụ của
Phòng Đào Tạo
tại Website

6


viên theo dõi câp
nhật

trường

4

Nhận phản hồi

của sinh viên về
các chỉnh sửa
điểm

Sau khi công bố 2
điểm thi

5

Tổ chức xét họp
và quyết định
học vụ

Sau khi hoàn
thiện dữ liệu
điểm

3

6

Gửi dữ liệu
P.Công tác chính
trị xét học bổng

Sau khi hoàn
thiện dữ liệu
điểm

3


7

Cấp bảng điểm
cá nhân

Sau khi hoàn
thiện dữ liệu
điểm

3

Sử dụng mẫu
điều chỉnh điểm
và thực hiện
điều chỉnh trên
chương trình

Họp xét giữa
Ban chủ nhiệm
Khoa, P. Đào
tạo, các trưởng
hoặc phó bộ
môn liên quan

3. Ý tưởng làm phần quản lý sinh viên:

Trong thực tế việc quản lý điểm sinh viên là việc không đơn giản. Ngoài việc
cung cấp điểm sinh viên,ta phải cung cấp các thông tin về sinh viên đó.Tức
là,cung cấp họ tên sv,ngày sinh,mã sv,quê quán,và đặc biệt là diểm thi....Ngoài ra

ta thực hiện một việc tiếp theo là tìm kiếm,tức là thực hiện việc cho mssv ta tìm
được địa chỉ của sinh viên đó để vào xem điểm hay làm bất cứ việc gì như sửa
thông tin sinh viên hay điểm thi.Công việc tiếp theo không kém phần quan trọng,
sắp xếp.Sắp xếp sẽ giúp ta quản lý tốt hơn về điểm sinh viên,khi giúp ta sắp xếp
điểm thi từ cao đến thấp, hay sắp xếp danh sách sinh viên theo bảng abc...Cuối
cùng là in danh sách sinh viên điểm thi ra màn hình..
1 Chương trình con nhập điểm sinh viên,các thông tin của sinh viên.

Để quản lý điểm sinh viên ta sử dụng kiểu dữ liệu cấu trúc với các trường là
mã sinh viên, tên sinh viên,điểm trung bình
typedef struct SinhVien
long masv;
char tensv[30];
float diemtb;
với N là số sinh viên cũ ban đầu khi đã nhập vào, muốn nhập thêm M sinh
viên ,ilượng ta tăng biến đếm lên 1 đơn vị (i=i+1). Nếu i>M+N thì đưa ra.
//chuong trinh chinh
7


void nhap1sv(SinhVien &sv)
{ float tam;
printf("\nnhap ma sinh vien ");
scanf("%ld",&sv.masv);
fflush(stdin);
printf("\nnhap ten sinh vien");
gets(sv.tensv);
printf("\nnhap diem trung binh");
scanf("%f",&tam);

sv.diemtb=tam;
}
//ham nhap 1 sinh vien
void xuat1sv(SinhVien sv)
{
printf("\nma sinh vien:%ld",sv.masv);
printf("\nten sinh vien:%s",sv.tensv);
printf("\ndiem trung binh:%0.2f",sv.diemtb);
}
//nhap them 1 sinh vien
void nhapThemmsv(SinhVien sv[],int &n,int m)
{
printf("nhap so luong sinh vien them");
scanf("%d",&m);
for(int i=n;i{printf("nhap vao thong tin thu :%d",i+1);
nhap1sv(sv[i]);
}
n=n+m;
}
//ham in mot sinh vien ra man hinh
void in1sv(SinhVien sv)
{
printf("ma sinh vien :%ld\n",sv.masv);
printf("ten sinh vien :%s\n",sv.tensv);
printf("diem trung binh :%f\n",sv.diemtb);
printf("----------------------------------------\n");
}
Nhập


8


Begin

SV,N,
M

Sai
I
I=i+1;

Đún
g
Nhap1SV(sv[i]])

N=N+M;

end

9


2 .Chương trình con phần tìm kiếm
Muốn tìm kiếm điểm của một sinh viên ta nhập mã sinh viên cần tìm. Ta sử
dụng câu lệnh For vơi biến chạy I từ 0 tới n. nếu mã sinh viên thứ I =vơi mã
sinh viên vừa nhập thì in ra màn hình tên sinh viên và điểm trung bình của
sinh viên thứ I lấy dữ liệu từ trường sv.tensv, sv.diemtb.Nếu không tìm
thấy mã sinh viên thứ I trùng vơi mã sinh viên cần tìm thì đưa ra màn hinh

không thấy sinh viên muốn
Tìm kiếm

Begin

SV,N,MA

Sai
IĐún
g
I=i+1;

Sai

Sv[i].masv=
MA

IN1SV()

Đún
g

Xuat thong tin
sv len man hinh

Thông báo
không tìm thấy
sv


End
10


//hamtim kiem sinh vien trong danh sach khi danh vao mssn
void Timsv(SinhVien sv[],int n,int ma)
{ for(int i=0;i{
if(sv[i].masv==ma)
{
printf("\n SINHVIEN CAN TIM:\n");
in1sv(sv[i]);
getch();
return ;
}
}
printf("khong tim thay sinh vien muon tim!!!");
}
3Chương trình con phần sắp xếp.
Trong một danh sách có N sinh viên, muốn sắp xếp danh sách sinh viên có điểm thi giảm
dần. Ta sử dụng con trỏ i và j. Với mỗi phần tử sv.diemtb[i], (i=0…..n-1),tìm xem có
phần tử sv.diemtb[j], ( j=i+1…..n) nào đó mà sv.diemtb[i]< sv,diemtb[j] hay không? Nếu
có thì đổi chỗ sv.diemtb[i] và sv,diemtb[j].
Sắp xếp

11


Begi
n

SV[],N
Sai
iĐún
g

i=i+1

J
J=J+1

Đún
g

Sai

Sai

sv[i].diemtbmtb
Đún
g
Daost(sv[i],sv[
j]);
end

//ham sap xep
void sapxeptheodiem(SinhVien sv[],int n)
{

for(int i=0;ifor(int j=i+1;jif(sv[i].diemtbDaost(sv[i],sv[j]);
}
4.Chương trình con in danh sách sinh viên
Sử dụng hàm void in Danh sách (SinhVien sv[],int n),với số lượng sinh viên
là N,sử dụng vòng lặp for,với mỗi giá trị I<N ta in một sv đến khi I>N thì
kết thúc đưa ra danh sách sv,lúc này danh danh sách sv,lúc này danh sách
sinh viên
12


bao gồm, mã sinh viên,tên sinh viên, điểm trung bình..
//ham in danh sach cac sinh vien
void inDanhSach(SinhVien sv[],int n)
{
for(int i=0;i{
printf("THONG TIN SV %d\n",i+1);
in1sv(sv[i]);
}
}
5 Chương trình con ghi thông tin vào file
Hàm này giúp ghi các thông tin về mã sinh viên, tên sinh viên, điểm trung
bình của sinh viên ở các trường sv.masv, trường sv.tensv,trường sv.diemtb
vào một file văn bản .
//ham ghi du lieu vao file
void ghiFile(SinhVien sv[],int n,char *y)
{

FILE *f=fopen(y,"wt");
fprintf(f,"%d\n",n);
for(int i=0;i{
fprintf(f," %ld",sv[i].masv);
fprintf(f," %s",sv[i].tensv);
fprintf(f," %0.2f\n",sv[i].diemtb);
}
}
6,chương trình con đọc dữ liệu file vào mảng
Hàm này giúp đọc một file văn bản đã lưu trước đó (file này có thể được tạo
ra bằng một trình soạn thảo văn bản bất kì hoặc bằng chính chương trình
này). Lưu ý, nếu file không có thì chương trình sẽ báo lỗi và yêu cầu nhập
lại. Hàm sẽ lần lượt đọc các giá trị và lưu vào các biến để xử lý tiếp.
//ham doc du lieu tu file vao mang
void docFile(SinhVien sv[],int n,char *y)
13


{
FILE *f=fopen(y,"rt");
fscanf(f,"%d",&n);
for(int i=0;i{fscanf(f,"%ld",&sv[i].masv);
fscanf(f,"%s",&sv[i].tensv);
fscanf(f,"%f",&sv[i].diemtb);
}
inDanhSach(sv,n);
}
II.Mã nguồn chương trình

#include <stdio.h>
#include <conio.h>
//dinh nghia ham
#define MAX 100
typedef struct SinhVien
{
long masv;
char tensv[30];
float diemtb;
}SinhVien;
//chuong trinh chinh
void nhap1sv(SinhVien &sv)
{ float tam;
printf("\nnhap ma sinh vien ");
scanf("%ld",&sv.masv);
fflush(stdin);
printf("\nnhap ten sinh vien");
gets(sv.tensv);
printf("\nnhap diem trung binh");
scanf("%f",&tam);
sv.diemtb=tam;
}
//ham nhap 1 sinh vien
void xuat1sv(SinhVien sv)
{
printf("\nma sinh vien:%ld",sv.masv);
14


printf("\nten sinh vien:%s",sv.tensv);

printf("\ndiem trung binh:%0.2f",sv.diemtb);
}
//nhap them 1 sinh vien
void nhapThemmsv(SinhVien sv[],int &n,int m)
{
printf("nhap so luong sinh vien them");
scanf("%d",&m);
for(int i=n;i{printf("nhap vao thong tin thu :%d",i+1);
nhap1sv(sv[i]);
}
n=n+m;
}
//ham in mot sinh vien ra man hinh
void in1sv(SinhVien sv)
{
printf("ma sinh vien :%ld\n",sv.masv);
printf("ten sinh vien :%s\n",sv.tensv);
printf("diem trung binh :%f\n",sv.diemtb);
printf("----------------------------------------\n");
}
//hamtim kiem sinh vien trong danh sach khi danh vao mssn
void Timsv(SinhVien sv[],int n,int ma)
{ for(int i=0;i{
if(sv[i].masv==ma)
{
printf("\n SINHVIEN CAN TIM:\n");
in1sv(sv[i]);
getch();

return ;
}
}
printf("khong tim thay sinh vien muon tim!!!");
}
//ham in danh sach cac sinh vien
void inDanhSach(SinhVien sv[],int n)
{
for(int i=0;i{
printf("THONG TIN SV %d\n",i+1);
15


in1sv(sv[i]);
}
}
//ham ghi du lieu vao file
void ghiFile(SinhVien sv[],int n,char *y)
{
FILE *f=fopen(y,"wt");
fprintf(f,"%d\n",n);
for(int i=0;i{
fprintf(f," %ld",sv[i].masv);
fprintf(f," %s",sv[i].tensv);
fprintf(f," %0.2f\n",sv[i].diemtb);
}
}
//ham doc du lieu tu file vao mang

void docFile(SinhVien sv[],int n,char *y)
{
FILE *f=fopen(y,"rt");
fscanf(f,"%d",&n);
for(int i=0;i{fscanf(f,"%ld",&sv[i].masv);
fscanf(f,"%s",&sv[i].tensv);
fscanf(f,"%f",&sv[i].diemtb);
}
inDanhSach(sv,n);
}
//ham hoan vi su dung cho sap xep
void Daost(SinhVien &a,SinhVien &b)
{ SinhVien t;
t=a;
a=b;
b=t;
}
//ham sap xep
void sapxeptheodiem(SinhVien sv[],int n)
{
for(int i=0;ifor(int j=i+1;j16


if(sv[i].diemtbDaost(sv[i],sv[j]);
}
int main()

{
int n=0,m,ma;
SinhVien sv[30];
char *y;
do
{ printf("\nchuong trinh co cac chuc nang\n");
printf("chon 0 : thoat\n");
printf("chon 1 : nhap thong tin sinh vien\n");
printf("chon 2 : nhap them nhieu sinh vien\n");
printf("chon 3 : tim kiem sinh vien dua vao massv\n");
printf("chon 4 : in danh sach\n");
printf("chon 5 : sap xep\n");
printf("chon 6 : ghi thong tin vao file\n");
printf("chon 7 : doc thong tin tu file vao mang sv\n");
printf("ban chon di");
int ev;
scanf("%d",&ev);
switch(ev)
{
case 0:return 1;
case 1:nhap1sv(sv[n]);
n++;
break;
case 2:nhapThemmsv(sv,n,m);
break;
case 3:
printf("nhap masv can tim?=");
scanf("%d",&ma);
Timsv(sv,n,ma);
break;

case 4:inDanhSach(sv,n);
getch();
17


break;
case 5: sapxeptheodiem(sv,n);
inDanhSach(sv,n);
getch();
break;
case 6:printf("nhap ten File muon luu =");
fflush(stdin);
gets(y);
ghiFile(sv,n,y);
break;
case 7:printf("nhap ten File muon mo =");
fflush(stdin);
gets(y);
docFile(sv,n,y);
break;
};
}while(1);
return 0;
}

IIITổng kết
Ngôn ngữ lập trình C là một ngôn ngữ mạnh,được sử dụng để lập
trình hệ thống, lâp
trình ứng dụng. Với ưu điểm mạnh có thể ứng dụng nhiều trong các lĩnh vực
thì C đã giúp cho việc quản lý được trở nên dễ dàng hơn.Vì thế việc sử dụng

C trong quản lý
điểm sinh viên là một viêc làm thông minh và cần thiết.
Nghiên cứu về ngôn ngữ lập trình C nói chung và đề tài “ Quản lý
điểm sinh viên” nói riêng đã giúp nhóm tác giả hiểu rõ hơn về tầm qua trọng
và những ứng dụng của ngôn
ngữ C.
Chắc chắn chương trình còn có sai sót, rất mong sự đóng góp ý kiến
của thầy cô và các bạn để giúp chương trình hoàn thiện hơn

18


IV.Tài liệu tham khảo
1.Quách Tuấn Ngọc (1998), Ngôn ngữ lập trình C, Nhà xuất bản Giáo
dục, Hà Nội.
2.Ngôn ngữ lập trình C,Phạn Văn Ất (6-2008),Nhà xuất bản Bách khoa
– Hà Nội.
3,Tài liệu.vn

19



×