프로젝트 구상도: 학생 관리 프로그램
[로그인 모듈]
[학생 목록 모듈]
[학생 추가/수정 모듈]
[학생 정보 상세 보기 모듈]
[데이터베이스 모듈]
기능을 분리하여 유지보수성을 높이기 위해 dao, ui, util, vo 모듈로 분리하여 코드를 구현하였다. 아래는 각 모듈의 역할과 설명이다.
1. dao(Data Access Object) 패키지
(1) 데이터베이스와 관련된 작업을 수행하는 모듈
(2) 데이터베이스 연결, 쿼리 수행, 데이터의 CRUD(Create, Read, Update, Delete) 등의 기능을 제공
(3) 주로 데이터베이스와의 상호작용을 담당하며, 데이터 액세스를 추상화하여 나머지 프로그램이 데이터베이스의 구체적인 세부 사항을 알 필요가 없게 함.
2. ui(User Interface) 패키지
(1) 사용자와 상호작용하는 부분을 담당하는 모듈
(2) GUI(Graphical User Interface)를 구현하거나 CLI(Command Line Interface) 등의 사용자 환경을 생성
(3) 사용자의 입력을 받아 해당 입력에 따라 다른 기능을 수행하도록 프로그램을 제어
3. util(Utility) 패키지
(1) 각종 유틸리티 함수 및 도구를 제공하는 모듈
(2) 코드의 재사용성을 높이고 일반적인 작업을 간편하게 수행할 수 있도록 도움을 주는 함수들을 포함
(3) 주로 프로그램 전반에서 공통적으로 사용되는 함수들을 모아둠.
4. vo(Value Object) 패키지
(1) 데이터를 담는 객체를 정의하는 모듈
(2) 주로 데이터베이스나 외부 소스에서 읽어온 데이터를 저장하는 데 사용
(3) 데이터를 표현하는 클래스들을 정의하며, 이는 주로 데이터베이스의 테이블 구조와 일치
[controller.py]
: 프로젝트의 메인 컨트롤러 클래스. Singleton 패턴을 사용하여 단일 인스턴스를 유지하며, 명령에 따라 다른 창을 열거나 작업을 수행하는 역할.
▼ login 버튼 클릭 시 student List창 실행

▼ 알맞은 ID, Paswword 입력 후 Login 버튼 클릭시 Student List창 실행

▼ lojoin 클릭 시 회원가입 창 실행, 입력 후 join 버튼 클릭 시 Student List에 추가됨


▼ Student List에서 학생의 정보 클릭 시 Student Info창 실행

▼ 수정 버튼 클릭 시 학생 정보 수정 후 Student List 업데이트

▼ 삭제 버튼 클릭시 학생 정보 삭제 후 Student List 업데이트
