1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ thống quản lý sinh viên bằng ngon ngữ python

21 303 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ thống quản lý sinh viên bằng ngôn ngữ python
Trường học Đại Học Vinh
Chuyên ngành Quản lý sinh viên bằng ngôn ngữ Python
Thể loại Đề án tốt nghiệp
Năm xuất bản 2023
Thành phố Vinh
Định dạng
Số trang 21
Dung lượng 1,01 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LỜI MỞ ĐẦU 2 MỤC LỤC 3 CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 4 1 Khái quát đồ án 4 1 1 Đặt vấn đề 4 1 2 Hình thành ý tưởng 5 1 3 Tiêu chí đặt ra 5 1 4 Mục tiêu 5 1 5 Nhiệm vụ 5 1 6 Ứng dụng vào thực tế 5 2 Cơ sở lý thuyết 6 CHƯƠNG 2 THỰC HIỆN ĐỀ TÀI VÀ KẾT QUẢ 10 1 1 Các bước thực hiện 10 1 2 Điều kiện làm việc 10 1 3 Xây dựng thuật toán 11 1 4 Phân tích kỹ thuật 13 1 5 Vận hành thử nghiệm 14 KẾT LUẬN 15 TÀI LIỆU THAM KHẢO 16 PHỤ LỤC 17 CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 1 1 Đặt vấn đề Ngày nay, tin học đã có những bư.

Trang 2

LỜI MỞ ĐẦU.… ……… ……… ……… ……… ……… … … 2

MỤC LỤC………3

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT……….……… ……… 4

1 Khái quát đồ án……… 4

1.1 Đặt vấn đề……… 4

1.2 Hình thành ý tưởng……….5

1.3 Tiêu chí đặt ra ………5

1.4 Mục tiêu……… 5

1.5 Nhiệm vụ……….5

1.6 Ứng dụng vào thực tế……… …….……5

2 Cơ sở lý thuyết ……… ……….… ….6

CHƯƠNG 2 THỰC HIỆN ĐỀ TÀI VÀ KẾT QUẢ … ………….………10

1.1 Các bước thực hiện……… ……… 10

1.2 Điều kiện làm việc……… 10

1.3 Xây dựng thuật toán……… 11

1.4 Phân tích kỹ thuật……… 13

1.5 Vận hành thử nghiệm……….…14

KẾT LUẬN……….15

TÀI LIỆU THAM KHẢO……….… 16

PHỤ LỤC……… 17

Trang 3

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 1.1 Đặt vấn đề

Ngày nay, tin học đã có những bước tiến nhanh chóng về ứng dụng của

nó trong mọi lĩnh vực của cuộc sống trên phạm vi toàn thế giới nói chung vàViệt Nam nói riêng.Tin học được người ta quan tâm và nhắc đến nhiều hơnbao giờ hết vì nó là một phần không thể thiếu trong cuộc sống văn minh,gópphần đẩy mạnh công cuộc công nghiệp hoá hiện đại hoá đất nước, tiến đếnnền kinh tế tri thức Máy vi tính cùng với những phần mềm là công cụ đắc lựcgiúp ta quản lý, tổ chức, sắp xếp và xử lý công việc một cách nhanh chóng vàchính xác Ở Việt Nam hiện nay, máy tính điện tử đặc biệt là máy vi tínhtrong nhiều năm qua đã được sử dụng rất rộng rãi Sự phát triển của tin học,các công nghệ phần mềm, phần cứng, các tài liệu tham khảo đã đưa chúng tatừng bước tiếp cận với công nghệ thông tin trong mọi lĩnh vực nhằm đáp ứngnhu cầu của con người

Quản lý sinh viên là một đề tài không còn mới mẻ với các bài toánquản lý Việc đưa tin học vào ứng dụng để quản lý là rất hữu ích, vì chúng ta phải bỏ ra rất ít thời gian mà lại thu được hiệu quả cao, rất chính xác và tiệnlợi nhanh chóng.Trong phạm vi bài báo cáo nhóm chúng em đã được đề cậpđến vấn đề “Quản lý sinh viên” ở trường ĐH Vinh bằng máy vi tính.Vớikhoảng thời gian không nhiều, vừa phân tích thiết kế, nghiên cứu tìm hiểukhai thác ngôn ngữ mới, vừa thực hiện chương trình quả là khó khăn đối vớichúng em Bởi “Quản lý sinh viên” là một đề tài có nội dung rộng, mặt kháckhả năng am hiểu về hệ thống của nhóm em vẫn còn nhiều hạn chế Tuynhiên trong quá trình làm vẫn còn có nhiều sai xót nên chúng em rất mongnhận được những ý kiến đóng góp của thầy cùng toàn thể các bạn trong lớp để

đồ án của em được hoàn thiện

Trang 4

Nhận biết được các phần code

Hiểu được nguyên lí hoạt động của sản phẩm

Làm quen và sử dụng hỗ trợ công cụ lập trình

Nâng cao kĩ năng mềm, tăng đam mê với ngành TĐH, cảm thấy yêuthích thực sự ngành nghề kỹ thuật đã chọn để theo học, hình thànhđộng cơ học tập đúng đắn, xây dựng cho mình mục tiêu và những mơước nghề nghiệp

1.5 Nhiệm vụ

Phân tích hệ thống quản lí sinh viên

Thiết kế khung hệ thống quản lí sinh viên

Thuyết trình báo cáo

Trang 5

2 Cơ sở lý thuyết

2.1 Sử dụng ngôn ngữ Python

Python là một ngôn ngữ thông dịch Trình thông dịch thực thi code theotừng dòng (và bạn không cần phải biên dịch ra file chạy), điều này giúp choquá trình debug trở nên dễ dàng hơn và đây cũng là yếu tố khá quan trọnggiúp Python cũng là một ngôn ngữ lập trình hướng đối tượng Ngoài ra,Python còn hỗ trợ các phương thức lập trình theo hàm và theo cấu trúc

Để giải quyết đề tài đưa ra, chúng ta sẽ cần sử dụng tới các hàm, các module

có sẵn hoặc trong Python Vì vậy, chúng ta cần hiểu một hàm hoặc một module như thế nào…?

2 1.1 Hàm trong Python

Trong Python, hàm là một nhóm các lệnh có liên quan đến nhau được dùng để thực hiện một tác vụ, nhiệm vụ cụ thể nào đó Hàm giúp chia chươngtrình Python thành những khối/phần/mô-đun nhỏ hơn Khi chương trình Python quá lớn, hoặc cần mở rộng, thì các hàm giúp chương trình có tổ chức

và dễ quản lý hơn

Hàm còn có một tác dụng vô cùng quan trọng nữa là tránh việc phải lặp lại code để thực thi những tác vụ tương tự nhau, giúp code gọn hơn và có thể tái sử dụng

Cú pháp của hàm Python

def ten_ham(các tham số/đối số):

"""Chuỗi văn bản để mô tả cho hàm (docstring)"""

Các câu lệnh

Về cơ bản, một định nghĩa hàm Python sẽ bao gồm các thành phần sau:

1 Từ khóa def: Đánh dáu sự bắt đầu của tiêu đề hàm

2 ten_ham: Là định danh duy nhất dành cho hàm Việc đặt tên hàm phải tuân thủ theo quy tắc viết tên và định danh trong Python

3 Các tham số/đối số: Chúng ta truyền giá trị cho hàm thông qua các tham số này Chúng là tùy chọn

Trang 6

4 Dấu hai chấm (:): Đánh dấu sự kết thúc của tiêu đề hàm.

5 docstring: Chuỗi văn bản tùy chọn để mô tả chức năng của hàm

6 Các câu lệnh: Một hoặc nhiều lệnh Python hợp lệ tạo thành khối lệnh Các lệnh này phải có cùng một mức thụt đầu dòng (thường là 4 khoảng trắng)

7 Lệnh return: Lệnh này là tùy chọn, dùng khi cần trả về giá trị từ hàm

Ví dụ về hàm Python

Dưới dây là một định nghĩa hàm đơn giản, gồm tên hàm, tham số của hàm,

mô tả hàm và một câu lệnh:

def chao(ten):

"""Hàm này dùng đểchào một nguời được truyền vào như một tham số"""

print("Xin chào, " + ten + "!")

Gọi hàm trong Python

Khi một hàm đã được định nghĩa, bạn có thể gọi nó từ một hàm khác, chương trình khác hoặc thậm chí tại dấu nhắc lệnh Ðể gọi hàm chúng ta chỉ cần nhập tên hàm với những tham số thích hợp là được Ví dụ dể gọi hàm chao() vừa dịnh nghia bên trên, ta gõ lệnh sau ngay tại dấu nhắc:

>>> chao (‘abc’)

2.1.2 Lập trình giao diện trong python

Khái niệm về chương trình có giao diện đồ họa - Chương trình có giao diện đồ hoạ là một chương trình luôn chạy cho tới khi người dùng thoát

chương trình (có chạy 1 vòng lặp vô hạn để luôn hiển thị giao diện, gọi là main loop) Chương trình đồ họa hoạt động dựa trên những tương tác của người dùng và phản ứng với các tương tác đó (bấm nút nào thì thực hiện côngviệc tương ứng) Loại chương trình như vậy thuộc loại mô hình "Event-drivenprogramming"

2.1.3 Lập trình GUI với Tkinter

Trong chương trình đồ họa, các thao tác của người dùng được gọi là các event, các hành động tương ứng của chương trình (các function) được gọi là

Trang 7

các callback, được gắn vào các bộ phận giao diện (gắn callback vào nút bấm thì khi ta bấm nút, callback sẽ được gọi) Các bộ phận giao diện như nút bấm, chữ, ô nhập ký tự được gọi là các widget Tkinter là một gói trong Python

có chứa module Tk hỗ trợ cho việc lập trình GUI Tk ban đầu được viết cho ngôn ngữ Tcl, sau đó Tkinter được viết ra để sử dụng Tk bằng trình thông dịch Tcl trên nền Python Ngoài Tkinter ra còn có một số công cụ khác giúp tạo một ứng dụng GUI viết bằng Python như wxPython, PyQt, và PyGTK

Để tạo ra một một khung cửa sổ đơn giản trong Tkinter chỉ cần làm như sau:from tkinter import Tk, Frame, BOTH

window = Tk()

window.title("Danh Tính Cá Nhân ")

window.geometry('1080x720')

window.mainloop()

2.2 Sqlite trong Python

SQLite là một thư viện phần mềm mà triển khai một SQL Database

Engine, không cần máy chủ, không cần cấu hình, khép kín và nhỏ gọn Nó là một cơ sở dữ liệu, không cần cấu hình, có nghĩa là giống như các cơ sở dữ liệu khác mà bạn không cần phải cấu hình nó trong hệ thống của mình

SQLite engine không phải là một quy trình độc lập (standalone process) như các cơ sở dữ liệu khác, bạn có thể liên kết nó một cách tĩnh hoặc động tùy theo yêu cầu của bạn với ứng dụng của bạn SQLite truy cập trực tiếp các file lưu trữ (storage files) của nó

Ví dụ: Dưới đây chúng ta xem phiên bản CSDL SQLite

import sqlite3 as lite

import sys

import os

con = None

try:

Trang 8

path = os.path.dirname( file ) + "\\test.db"

Trang 9

Bước 2: Xác định đề tài sản phẩm.

Bước 3: Tìm hiểu nguyên lí của đề tài

Bước 4: Tạo mô hình demo

Bước 5: Hoàn tất và viết báo cáo

1.2 Điều kiện làm việc

Nhóm thực hành gồm 1 người, nên không cần phân công nhiệm vụ cụ thể Các dụng cụ, phần mềm phục vụ ứng dụng quản lí sinh viên: Các phần mềm

hỗ trợ chạy chương trình dựa trên nền tảng Python như PyCharm, Visual Studio,…Đều sử dụng các phiên bản mới nhất

Một số khó khăn: Do lần đầu thử nghiệm lập trình một ứng dụng nênchưa có khả năng làm ứng dụng nhanh, nhiều code phải tìm hiểu trongkhoảng thời gian dài, trong quá trình làm việc có phát sinh lỗi…

Hình 1 Giao diện của phần mềm PyCharm

1.3 Xây dựng thuật toán

Trang 10

Hình 2.1 Thuật toán

Trang 11

Hình 2.2 Thuật toán

Trang 12

1.4 Phân tích kỹ thuật

1.4.1 Hoạt động của một cơ sở dữ liệu:

Hình 3 Hoạt động của một cơ sở dữ liệu

Hệ quản trị dữ liệu có các chức năng:

1 Cung cấp môi trường tạo lập cơ sở dữ liệu: Cung cấp cho con người dungngôn ngữ định nghĩa kiểu dữ liệu để người dùng khai báo kiểu và các cấu trúc

dữ liệu, đông thời tạo lập CSDL thong qua các giao diện đồ họa

2 Cung cấp môi trường cập nhật và khai báo dữ liệu: Cung cấp cho ngườidung ngôn ngữ thao tác dữ liệu để yêu cầu cập nhật hay khai thác thông tin

3 Thao tác dữ liệu gồm: - Cập nhật (nhập, xóa, sửa, xóa dữ liệu)

- Khai thác ( sắp xếp, tìm kiếm, kết xuất, báo cáo…)

4 Cung cấp công cụ kiểm soát, điều khiển truy cập vào cơ sở dữ liệu

Trang 13

import stdDatabase (# module tự tạo)

import sqlite3

class Student:

def iExit():

iExit= tkinter.messagebox.askyesno(" Hệ Thống Quản Lí

Sinh Viên","Are you sure you want to exit?")

Trang 14

KẾT LUẬN

1 Kinh nghiệm và bài học

1 Ứng dụng “Quản lí sinh viên” khá đơn giản, các code cần thiết dễ làm và

dễ hiểu Nguyên lí hoạt động rõ ràng, dễ hiểu,…Qua quá trình lập trình ứng dụng cho ta thêm kinh nghiệm xây dựng code để tạo ra các ứng dụng thực tế

2 Trong thế giới hiện đại ngày nay, công nghệ thông tin đã trở thành mộtphần tất yếu trong cuộc sống Với những hỗ trợ ngày càng nhiều của côngnghệ thông tin trong các lĩnh vực, con người đã tiết kiệm được khá nhiều thờigian và công sức làm việc, nhờ đó hiệu quả công việc tăng lên gấp nhiều lần.Một trong những đóng góp quan trọng của công nghệ thông tin cho con người

là việc tổ chức lưu trữ dữ liệu

3 Với việc tổ chức lưu trữ thông tin trên máy tính, con người thoát khỏi mộtkhối lượng lớn công việc phải ghi chép, giúp cho việc trao đổi và chia sẻthông tin trở nên linh hoạt hơn, còn giúp đảm bảo an toàn dữ liệu và dễ dàngthống kê… Các hình thức lưu trữ dữ liệu thường dùng ngày nay là: cơ sở dữliệu quan hệ, các dạng tài liệu văn bản, tài liệu … Nhờ cấu trúc đơn giản, dễtruy xuất và đặc biệt không phụ thuộc vào một nền tảng nào, việc lưu trữ bằngdatabase ngày càng trở nên phổ biến, được ứng dụng rộng rãi trong nhiều lĩnhvực… database đã trở thành chuẩn tiện lợi cho việc trao đổi thông tin trênWeb

2 Hướng phát triển đề tài

Ứng dụng quản lí sinh viên đã được hoạt động theo đúng yêu cầu, ta có thể biến đổi thành các ứng dụng khác như quản lí bệnh viện, quản lí sách trong một thư viện,…Hướng phát triển của đề tài là có thể thêm ảnh vào cùng với các thông tin cá nhân và tạo ra một cơ sở dữ liệu đám mây cho phép người dung lưu trữ thông tin online

Trang 15

TÀI LIỆU THAM KHẢO

05/06/2020

cuối 07/06/2020

Trang 16

def init ( selfs , root):

selfs root = root

selfs root.title("Hệ Thống Quản Lí Sinh Viên")

iExit= tkinter.messagebox.askyesno(" Hệ Thống Quản"

" Lí Sinh Viên","Are you sure"

" you want to exit?")

Gender.get(), Address.get(), Mobile.get())) def DisplayData():

studentlist.delete( 0 ,END)

for row in stdDatabase.viewData():

studentlist.insert(END,row, str (""))

Trang 17

def StudentRec( event ):

MainFrame.grid()

TitFrame = Frame(MainFrame, bd = , padx = 54 ,

pady = , bg ='Ghost White',

relief =RIDGE)

Trang 18

TitFrame.pack( side =TOP)

selfs lblTit = Label(TitFrame, font =('arial', 47 , 'bold'),

text ="Hệ Thống Quản Lí Sinh Viên",

bg ='Ghost White')

selfs lblTit.grid()

ButtonFrame = Frame(MainFrame, bd = , width = 1350 ,

height = 70 , padx = 18 , pady = 10 ,

bg ='Ghost White', relief =RIDGE)

ButtonFrame.pack( side =BOTTOM)

DataFrame = Frame(MainFrame, bd = , width = 1300 , height = 400 ,

padx = 20 , pady = 20 , relief =RIDGE,

bg ='cadet blue')

DataFrame.pack( side =BOTTOM)

DataFrameLEFT = LabelFrame(DataFrame, bd = , width = 1000 ,

height = 600 , padx = 20 , pady = 20 , relief =RIDGE,

bg ='Ghost White', font =('arial', 20 , 'bold'), text ='Thông tin\n'

DataFrameLEFT.pack( side =LEFT)

DataFrameRIGHT = LabelFrame(DataFrame, bd = , width = 450 ,

height = 300 , padx = 31 , pady = , relief =RIDGE,

bg ='Ghost White', font =('arial', 20 , 'bold'), text ='Chi tiết\n'

DataFrameRIGHT.pack( side =RIGHT)

# ============== Label and Entry Widget====================== selfs lblStdID = Label(DataFrameLEFT,

font =('arial', 20 , 'bold'),

text ='MSSV:', padx = , pady = ,

bg ="Ghost White")

selfs lblStdID.grid( row = , column = , sticky =W)

selfs txtStdID = Entry(DataFrameLEFT,

font =('arial', 20 , 'bold'),

textvariable =StdID, width = 39 )

selfs txtStdID.grid( row = , column = )

selfs lblfna = Label(DataFrameLEFT,

font =('arial', 20 , 'bold'),

text ='Họ:', padx = , pady = ,

bg ="Ghost White")

selfs lblfna.grid( row = , column = , sticky =W)

selfs txtfna = Entry(DataFrameLEFT,

font =('arial', 20 , 'bold'),

textvariable =Firstname, width = 39 )

selfs txtfna.grid( row = , column = )

selfs lblSna = Label(DataFrameLEFT,

font =('arial', 20 , 'bold'),

text ='Tên:', padx = , pady = ,

bg ="Ghost White")

selfs lblSna.grid( row = , column = , sticky =W)

selfs txtSna = Entry(DataFrameLEFT,

font =('arial', 20 , 'bold'),

textvariable =Surname, width = 39 )

selfs txtSna.grid( row = , column = )

selfs lblDoB = Label(DataFrameLEFT,

font =('arial', 20 , 'bold'),

Trang 19

text ='Ngày sinh:', padx = , pady = ,

bg ="Ghost White")

selfs lblDoB.grid( row = , column = , sticky =W)

selfs txtDoB = Entry(DataFrameLEFT,

font =('arial', 20 , 'bold'),

textvariable =DoB, width = 39 )

selfs txtDoB.grid( row = , column = )

selfs lblAge = Label(DataFrameLEFT,

font =('arial', 20 , 'bold'),

text ='Tuổi', padx = , pady = ,

bg ="Ghost White")

selfs lblAge.grid( row = , column = , sticky =W)

selfs txtAge = Entry(DataFrameLEFT,

font =('arial', 20 , 'bold'),

textvariable =Age, width = 39 )

selfs txtAge.grid( row = , column = )

selfs lblGender= Label(DataFrameLEFT,

font =('arial', 20 , 'bold'),

text ='Giới tính:', padx = , pady = ,

bg ="Ghost White")

selfs lblGender.grid( row = , column = , sticky =W)

selfs txtGender = Entry(DataFrameLEFT,

font =('arial', 20 , 'bold'),

textvariable =Gender, width = 39 )

selfs txtGender.grid( row = , column = )

selfs lblAdr = Label(DataFrameLEFT,

font =('arial', 20 , 'bold'),

text ='Địa chỉ:', padx = , pady = ,

bg ="Ghost White")

selfs lblAdr.grid( row = , column = , sticky =W)

selfs txtAdr = Entry(DataFrameLEFT,

font =('arial', 20 , 'bold'),

textvariable =Address, width = 39 )

selfs txtAdr.grid( row = , column = )

selfs lblMobile = Label(DataFrameLEFT,

font =('arial', 20 , 'bold'),

text ='SĐT', padx = , pady = ,

bg ="Ghost White")

selfs lblMobile.grid( row = , column = , sticky =W)

selfs txtMobile = Entry(DataFrameLEFT,

font =('arial', 20 , 'bold'),

textvariable =Mobile, width = 39 )

selfs txtMobile.grid( row = , column = )

# ============== ListBox & ScrollBarWidget====================== scrollbar = Scrollbar(DataFrameRIGHT)

scrollbar.grid( row = , column = , sticky ='ns')

studentlist = Listbox(DataFrameRIGHT, width = 40 ,

height = 16 , font =('arial', 12 , ' bold'),

yscrollcommand =scrollbar.set)

studentlist.bind('<<ListboxSelect>>',StudentRec)

studentlist.grid( row = , column = , padx = )

scrollbar.config( command =studentlist.yview)

Ngày đăng: 25/05/2022, 15:29

HÌNH ẢNH LIÊN QUAN

Hình 1. Giao diện của phần mềm PyCharm                                       - Hệ thống quản lý sinh viên bằng ngon ngữ python
Hình 1. Giao diện của phần mềm PyCharm (Trang 9)
Hình 2.1 Thuật toán - Hệ thống quản lý sinh viên bằng ngon ngữ python
Hình 2.1 Thuật toán (Trang 10)
Hình 2.2 Thuật toán - Hệ thống quản lý sinh viên bằng ngon ngữ python
Hình 2.2 Thuật toán (Trang 11)
Hình 3. Hoạt động của một cơ sở dữ liệu Hệ quản trị dữ liệu có các chức năng: - Hệ thống quản lý sinh viên bằng ngon ngữ python
Hình 3. Hoạt động của một cơ sở dữ liệu Hệ quản trị dữ liệu có các chức năng: (Trang 12)
Hình 4. Ứng dụng được vận hành. - Hệ thống quản lý sinh viên bằng ngon ngữ python
Hình 4. Ứng dụng được vận hành (Trang 13)

TỪ KHÓA LIÊN QUAN

w