SSAMKO의 개발 이야기

CT로 현실 문제 해결하기(1) - 정보시스템 관리대장 본문

Python

CT로 현실 문제 해결하기(1) - 정보시스템 관리대장

SSAMKO 2020. 5. 2. 15:33
반응형

< CT로 현실 문제 해결하기 >

1.  정보시스템 관리대장

2. '교실배치도' 코드로 표현하기

3. '교실 관리' 프로그래밍 | 파이썬

 

1. 문제 인식

 - 학교의 교실 배치가 매년 조금씩 바뀐다. 예를 들면, 학년 별로 학급 수가 달라서 작년 2학년 교실이 올해는 3학년 교실로 쓰인다.

 - '정보시스템 관리대장'에는 '교실', '담당자', '정보시스템 종류', '관리번호'가 입력된다.

기존 정보시스템 관리대장

 - 그리고 각 '정보시스템 기기'마다 태그가 붙여진다.

기존 정보시스템 기기 태그
기존 정보시스템 기기 태그

 - 그러므로 교실이 바뀌고, 담당자가 바뀌면 '정보시스템 관리대장', '정보시스템 태그'가 바뀌어야 한다. 매년.

 - 매년 이 번거로운 작업을 다시 해야하는데, 귀찮다.

프로그래밍언어인 Perl의 개발자인 Larry Wall은 개발자가 갖춰야 하는 세 가지 미덕 중 '게으름(Laziness)'을 첫 번째로 꼽았다.

2. 전략

 - 매년 바뀌지 않을 고유의 값(절대값)으로 대장과 태그를 만들면 되지 않을까?

 - 교실의 이름(1학년 4반, 3학년 5반 등)이 아니라 교실의 위치(후관 3층 3번째 교실)로 교실명과 관리번호를 부여하면 어떨까?

 - 담당자는 어차피 학교교육계획에 '교실배치도', '담임교사' 및 '업무담당자'가 들어가니까 사람이름이 아닌 직책으로 넣으면 되지 않을까?

 

3. 해결

3.1. 교실 위치 기반 교실명

 - 먼저, 본관과 후관은 각각 F와 R로 나타낸다.(Front, Rear)

 - 각 층은 A, B, C, D, ... 알파벳으로 나타낸다.(1층, 2층, 3층, 4층)

 - 각 층에 있는 교실을 나타내기 위해 도로명 주소의 표기법을 차용했다.

 - 교실배치도를 기준으로 아래쪽(남쪽)은 홀수, 위쪽(북쪽)은 짝수로 번호를 매기기로 했다.

 - 번호순서는 교실배치도 기준 왼쪽에서 오른쪽(서쪽 > 동쪽)으로 매겼다.

절대 위치를 기준으로 표현한 교실배치도

예를 들어, 급식실은 'RA7', 4-6교실은 'RC9'으로 표현된다. 이렇게 표현하면 매년 교실배치가 바뀌더라도 교실명은 바뀌지 않는다.

또, 교실명을 보면 그 교실이 어디에 있는지 파악하기도 쉽다.

바뀐 정보시스템 관리대장

3.2. 담당자

 - 담당자도 변수를 이용하듯 이미 내부 문서에 기록되어 있는 담당자의 직책을 이용해 표현하기로 했다.

 - 담임교실의 경우에는 '교실담당자', 특별실의 경우에는 '해당업무 담당자' 이렇게 나타냈다.

바뀐 정보시스템 기기 태그
바뀐 정보시스템 기기 태그

 - '컴퓨터실'처럼 한 교실에 컴퓨터가 여러 대 있는 경우 교실명 뒤에 따로 번호를 붙여 표기했다.

 

4. 결론

 - 장부는 컴퓨터 파일로만 보관하면 되기때문에 이름을 매년 바꾸는게 그렇게 귀찮은 일은 아니다. 하지만, 태그는 매년 학교의 모든 기기에 기존의 태그를 제거하고 새 태그를 붙여야 하기때문에 무척 번거로운 일인데, 이렇게 하면 기기를 교체할 때만 해당 작업을 하면 되기때문에 일이 대폭 줄어든다. 

 

5. 다음 글

다음 포스팅에서는 위 작업에 사용된 CT 개념과 위 작업을 코드로 표현하는 법을 살펴 볼 예정이다.

반응형
Comments