교과/수능 성적 관리

홍예은·2021년 4월 21일
0

Project

목록 보기
2/4
post-thumbnail

Project

개발 기간 | 2.5 개월
개발 환경 | WPF / MariaDB / NSIS
기능 요약 | 교과/수능 성적 관리
주요 기능 | 1. Excel 형태의 성적 데이터 DB 저장
               2. 최신 성적 데이터 관리
               3. 설치 패키지 제공

기능

Excel 형태의 성적 데이터를 DB에 저장하고, 서버 DB를 통해 사용자들의 성적 DB를 최신 성적으로 관리해주는 프로그램입니다.
DB 설치, DB 환경 구성, DB 삭제 (Uninstall) 기능을 포함하는 설치 패키지를 제공합니다.


화면

UI 디자인은 클라이언트 쪽에서 직접 개발할 예정으로, 디자인은 제외하고 MVVM 패턴 적용과 주요 기능을 개발하는 것이 클라이언트의 요구사항이었습니다.
MahApps.Metro의 기본 Control을 사용했고 서버용 프로그램과 사용자용 프로그램 구분을 위해 색상을 다르게 적용했습니다.

로그인

<서버용>

<사용자용>

성적 Data 등록

교과 성적 조회

수능 성적 조회

Alert

Progress


담당 업무

1. DB 설계

서버에서 사용자들에게 최신 성적 데이터를 제공하기 위해 성적 데이터 Update 상태를 관리하는 구조로 구성했습니다.
기존의 학생+성적 Table을 학생 정보와 성적 데이터로 분리해 중복 데이터를 제거했습니다.

2. DB 기능 개발

대량의 데이터를 빠르게 저장하기 위해 Bulk Insert 와 Duplicate Key Update 쿼리를 사용했습니다.

// insert 쿼리 (예시)
INSERT INTO score
(id, grade, part, name, lname, unit, avg, achive, rank)
VALUES 
('3010001', 1, 1, '국어', '독서와문법', 4, '50/72.9(17.2)', 'E(379)', '1'),
('3010001', 1, 2, '국어', '독서와문법', NULL, NULL, NULL, NULL),
('3010001', 1, 1, '국어', '국어Ⅱ', NULL, NULL, NULL, NULL),
ON DUPLICATE KEY UPDATE
name = VALUES(name), unit = VALUES(unit), avg = VALUES(avg), achive = VALUES(achive), rank = VALUES(rank)

3. 설치 패키지 생성

NSIS를 이용해 하나의 설치 패키지로 서버용과 사용자용을 선택 설치할 수 있는 설치 패키지를 생성했습니다.
프로그램 실행에 필요한 Database 및 Table을 생성하는 Console 프로그램을 개발해 설치 패키지에 포함시켰습니다.

  • 설치 옵션 선택

  • Install 구성
    1) .NET Framework
    2) MariaDB 자동 설치
    3) DB 환경 구성
    4) 교과/수능 성적 관리 프로그램

  • Uninstall 구성
    1) MariaDB 자동 삭제
    2) 교과/수능 성적 관리 프로그램 삭제

0개의 댓글