작품 개요 1-1. 작품제목 작품최종보고서...

15
작품 최종 보고서 서울디지털대학교 컴퓨터공학부 / 작품 개요 1. 작품 제목 1-1. 작품의 제목은 영문으로 한글명으로 가계부 적자방지입니다 CashBook, . 개발의 목적 1-2. 개요 1-2-1. 현대사회 가정의 가계재정은 과거의 단순한 수입 지출의 기록만으로는 관리하기 , 힘들만큼 복잡해졌습니다 이렇게 복잡해진 가계의 수입 지출 내역을 효율적으로 관리 . , 하여 가계재정의 건전성을 도모하는데 도움을 주기 위하여 가계부 프로그램을 기획하 고 작성하게 되었습니다. 목적 1-2-2. 수입 지출내역의 기록 , . 가계부의 기본기능은 수입 지출내역의 기록기능입니다 이 기본기능을 컴퓨터에 - , . 능숙하지 않은 사용자도 어려움 없이 사용할 수 있도록 직관적이고 간편한 인터 , 페이스로 구현 합니다. 현재 사용되고 있는 가계부 프로그램들의 경우 지출을 입력할 때 구매 물품을 - 하나씩 등록하도록 구성되어 있어서 한 거래처에서 여러 물품을 구입하여 영수 , 증이 한 장으로 발행된 경우 확인이 번거롭습니다 이러한 점을 개선하여 지출 . 등록 시 묶음으로 등록할 수 있도록 구현 합니다. 반복되는 수입 지출내역의 관리 , . 매월 매년 혹은 특별한 주기로 반복되는 수입 지출내역을 매번 수작업으로 입 - , , 력하는 불편을 해결하고자 별도로 반복되는 내역을 등록하여 자동으로 가계부에 , 적용되도록 구현 합니다.

Upload: others

Post on 04-Sep-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

작품 최종 보고서

서울디지털대학교 컴퓨터공학부/

작품 개요1.

작품 제목1-1.

작품의 제목은 영문으로 한글명으로 가계부 적자방지입니다CashBook, .

개발의 목적1-2.

개요1-2-1.

현대사회 각 가정의 가계재정은 과거의 단순한 수입 지출의 기록만으로는 관리하기,

힘들만큼 복잡해졌습니다 이렇게 복잡해진 가계의 수입 지출 내역을 효율적으로 관리. ,

하여 가계재정의 건전성을 도모하는데 도움을 주기 위하여 가계부 프로그램을 기획하

고 작성하게 되었습니다.

목적1-2-2.

➀ 수입 지출내역의 기록, .

가계부의 기본기능은 수입 지출내역의 기록기능입니다 이 기본기능을 컴퓨터에- , .

능숙하지 않은 사용자도 어려움 없이 사용할 수 있도록 직관적이고 간편한 인터,

페이스로 구현 합니다.

현재 사용되고 있는 가계부 프로그램들의 경우 지출을 입력할 때 구매 물품을-

하나씩 등록하도록 구성되어 있어서 한 거래처에서 여러 물품을 구입하여 영수,

증이 한 장으로 발행된 경우 확인이 번거롭습니다 이러한 점을 개선하여 지출.

등록 시 묶음으로 등록할 수 있도록 구현 합니다.

➁ 반복되는 수입 지출내역의 관리, .

매월 매년 혹은 특별한 주기로 반복되는 수입 지출내역을 매번 수작업으로 입- , ,

력하는 불편을 해결하고자 별도로 반복되는 내역을 등록하여 자동으로 가계부에,

적용되도록 구현 합니다.

➂ 예산세우기 기능.

미리 등록해 놓은 분류항목을 기반으로 예산을 설정할 수 있도록 합니다 예산을- .

설정할 때 반복되는 수입 지출 내역을 표시하여 이를 참고로 사용 가능 금액을,

파악하여 사용자가 이를 참고로 계획적인 지출을 할 수 있도록 유도합니다, .

분류항목➃ 을 이용한 수입 지출 관리, .

각각의 수입 지출 내역을 분류항목으로 구분하도록 하여 어떤 분류항목에 얼마- ,

만큼의 지출이 발생했는지를 쉽게 확인할 수 있도록 구현합니다 이를 통하여 잘.

못된 지출에 대한 검토를 할 수 있도록 합니다.

➄ 신용카드 지출 관리

현금 은행계좌이체 등의 지출 외에 신용카드 지출을 따로 관리할 수 있도록 구- ,

현합니다 이 때 할부 내역도 관리할 수 있도록 하여 할부로 지출한 경우 결재. ,

횟수에 대한 관리도 함께 이루어지도록 합니다.

➅ 수입 지출 현황을 한눈에 파악할 수 있는 리포트, .

입력된 수입 지출내역을 기반으로 다양한 분석을 통한 리포트를 생성하여 사용- ,

자에게 보고 합니다.

개발 기간 및 일정1-3.

개발 기간1-3-1.

총 개발기간은 일이 소요되었습니다59 .

작업 시작일 종료일 소요일

자료수집 분석/ 월 일10 03 월 일10 04 일2

설계 월 일10 05 월 일10 07 일3

프로그래밍 월 일10 08 월 일11 27 일51

테스트 디버깅/ 월 일11 28 월 일11 30 일3

일정1-3-2.

작업 하위작업 시작일 종료일 소요일

자료수집 분석/자료수집 월 일10 03 월 일10 03 일1

분석 월 일10 04 월 일10 04 일1

설계

업무흐름파악 월 일10 05 월 일10 05

일1유즈케이스 월 일10 05 월 일10 05

모듈분할 클래스( ) 월 일10 05 월 일10 05

서브시스템구성 월 일10 06 월 일10 06일1

데이터베이스설계 월 일10 06 월 일10 06

사용자인터페이스설계 월 일10 07 월 일10 07 일1

프로그래밍

메인프레임 모듈 월 일10 08 월 일10 26 일3

사용환경 모듈 월 일10 27 월 일10 28 일4

기초코드 모듈 월 일10 29 월 일11 4 일11

가계부관리 모듈 월 일11 5 월 일11 14 일26

현황 모듈 월 일11 15 월 일11 22 일4

편리기능모듈 월 일11 23 월 일11 25 일3

테스트 디버깅/ 테스트 디버깅/ 월 일11 26 월 일11 30 일3

개발의 범위 및 제한점1-4.

개발의 범위1-4-1.

➀ 거래내역의 관리에 필요한 기초코드로서 계정 거래처 은행통장 신용카드 프로그, , , ,

램의 실행 환경설정을 관리하는 기능 구현.

➁ 수입 지출내역을 관리하는 기능 구현, .

➂ 반복되는 수입 지출내역을 관리하는 기능 구현, .

➃ 예산을 세워 실제 수입 지출내역과 비교 검토하는 기능 구현, , , .

➄ 수입 지출내역을 분석하여 각종 리포트를 제공하는 기능 구현, .

제한점1-4-2.

➀ 카드 지출 내역을 관리할 때 수수료나 이자의 자동계산은 지원하지 않습니다 카드.

의 사용내역을 기반으로 결재 횟수와 남은 횟수만 표시합니다.

➁ 카드 지출과 마찬가지로 은행의 대출금 관리도 이자나 수수료의 계산은 지원되지

않습니다 원금외의 이자는 지급이자 분류항목으로 별도로 등록합니다. .

마이크로소프트사의 윈도우즈 기반 하에서 작동합니다 비스타에서도 무리는 없을 것으XP .(➂로 판단되지만 테스트를 해보지 못하였습니다.)

➃ 화면의 해상도는 넷북을 지원하기 위하여 부터 실행되도록 구현하였습1024 × 600

니다.

개발 방법2.

개발 도구 및 개발 환경2-1.

개발도구 사의 버전: Sybase PowerBuilder 10.5 Enterprise

개발환경 사의 가 설치된 컴퓨터: Microsoft windows XP SP3 (RAM: 1GB)

오픈소스DBMS : fireBird 2.1 Embeded (ODBC : FireBird 1.2)

설치파일생성 : inno setup 5.2.2

설계 방법2-2.

분석 설계 구현 테스트의 순서로 프로젝트를 진행하였습니다.→ → →

분석단계에서는 먼저 자료를 수집하였고 수집된 자료를 기반으로 실제 거래내역이 발생되는,

상황을 의 유즈케이스와 유사한 방법으로 업무의 흐름을 파악하였습니다UML .

이렇게 파악된 업무내용을 의 클래스다이어그램과 유사한 단위로 분할하고 이를 기반으로UML

서브시스템을 구성하였습니다.

구성된 서브시스템을 바탕으로 데이터베이스를 설계하고 마지막으로 사용자 인터페이스를 설,

계한 후 프로그래밍을 시작하였습니다.

작품 설명3.

시스템 개요3-1.

가계부 프로그램의 특성상 여러 사용자가 동일한 데이터에 접근하여 사용하는 일은 없을 것으

로 판단하여 단일 사용자만 사용할 수 있도록 구현하였습니다.

요구되는 하드웨어 사양은 일반적인 펜티엄 를 장착하고 의 램과 약 의 디4 CPU , 512MB 100MB

스크 공간정도를 갖춘 컴퓨터에서 무리 없이 실행됩니다.

프로그램이 동작하는 운영체제는 사의 입니다Microsoft XP .

설계3-2. Process

기능리스트3-2-1.

기본항목설정➀가계부 관리에 필요한 분류항목 거래처 통장 신용카드 등으로 코드화 하여 관리합니다, , , .

가계부관리➁일상생활에서 발생하는 수입 지출 등의 내역을 관리합니다, .

반복항목관리➂반복적으로 발생하는 수입 지출 내역을 등록하여 가계부에 자동으로 반영되도록 합니다, , .

카드지출관리➃지출내역 중 카드 지출내역의 결재 상태를 관리합니다 예산을 설정할 때에도 표시하여 참고.

할 수 있도록 합니다.

대체거래관리➄일반적인 수입 지출 내역 외에 빌린돈 빌려준돈의 상태를 관리합니다 예산을 설정할 때 표, , .

시하여 참고할 수 있도록 합니다.

현황➅등록된 가계부 내역을 참조하여 현재의 가계재정 상태를 파악하기 쉽도록 여러 양식의 현황

을 생성하여 보고 합니다.

서비스흐름도3-2-2

화면 설계3-3.

윈도우 형태3-3-1.

가계부 프로그램은 세 가지의 윈도우 형태로 구성되어 있습니다CashBook .

입력 수정기능을 호출하는 윈도우 형태,➀기본항목관리나 가계부내역관리에 사용되는 형태로 등록 삭제 수정 변환 인쇄 등의 기능과, , , ,

표시되는 목록을 필터링하는 기능을 포함하고 있습니다.

데이터 입력 수정 윈도우 형태,➁실제 데이터를 입력하거나 수정하는 기능을 하는 윈도우 형태입니다.

각종 현황 조회 윈도우 형태➂사용자가 원하는 여러 조건을 적용하여 조회 출력 변환 등의 기능을 수행합니다, , .

윈도우 목록3-3-2.

윈도우명 형태 설명

환경설정 데이터입력 프로그램 실행환경 설정

항목분류관리 데이터관리 대분류 소분류 항목관리,

대분류항목 등록 수정/ 데이터입력 대분류 항목 등록 수정/

소분류항목 등록 수정/ 데이터입력 소분류 항목 등록 수정/

은행통장관리 데이터관리 은행통장 관리

은행통장 등록 수정/ 데이터입력 은행통장 등록 수정/

신용카드관리 데이터관리 신용카드 관리

신용카드 등록 수정/ 데이터입력 신용카드 등록 수정/

거래처관리 데이터관리 거래처 관리

거래처 등록 수정/ 데이터입력 거래처 등록 수정

가계부관리 데이터관리 수입 지출내역 관리,

가계부 등록 수정/ 데이터입력 수입 지출내역 등록 수정, ,

일정 등록 수정/ 데이터입력 일정 등록 수정,

장바구니 등록 수정/ 데이터입력 장바구니 내역 등록 수정,

반복예약항목관리 데이터관리 반복예약 내역 관리

반복예약 등록 수정/ 데이터입력 반복예약 내역 등록 수정,

카드지출관리 데이터조회 카드지출 내역 조회 잔여횟수 결재완료상태등( , )

빌린돈 빌려준돈/ 데이터조회 갚을돈 받을돈으로 묶어서 표시,

예산관리 데이터입력 예산내역 관리 등록 수정, ,

자산변동현황 데이터조회 현금 은행통장 잔액의 변동 상황 표시,

분류별 수입 지출현황/ 데이터조회 수입 지출내역을 대분류 소분류 기준으로 표시, ,

일일 수입 지출현황/ 데이터조회 수입 지출내역을 일자별로 묶어서 표시,

예산대비 수입 지출현황/ 데이터조회 수입 지출내역을 예산과 비교하여 표시,

설계3-4. DB

가계부 프로그램은 공개용 데이터베이스인 버전을 데이터베이스로 사용CashBook Firebird2.1

하고 있습니다 프로그램에서 데이터베이스에 접속하기 위한 방법으로 를 사용하며 드라. ODBC

이버는 버전을 사용합니다Firebird ODBC driver 1.2 .

테이블 구성3-4-1.

테이블 명 설명

asset_close 마감내역

bankbook 은행통장

buy_list 장바구니

card 신용카드

card_deal 카드지출

class 대분류

credit 대체거래

cust 거래처

deal 가계부 수입 지출내역,

env 환경설정

estimate 예산

events 일정

puser 사용자

repetition 반복예약항목

s_class 소분류

테이블 관계도3-4-2.

스키마3-4-3.

일일 마감(asset_close)⑴

항목 설명 타입 기본키

deal_dt 일자 date Y

seq 연번 integer Y

kind 현금 통장구분/ char(1)

bankbook 통장코드 integer

l_balance 전일잔액 numeric(9)

c_balance 금일잔액 numeric(9)

fluctuation 변동액 numeric(9)

통장(bankbook)⑵

항목 설명 타입 기본키

pkey 코드 integer Y

nm 통장명 varchar(40)

balance 시초잔액 numeric(9)

bigo 설명 varchar(100)

장바구니(buy_list)⑶

항목 설명 타입 기본키

pkey 기본키 integer Y

cust 거래처 integer

item 품목 varchar(60)

bigo 설명 varchar(100)

c_yn 완료여부 char(1)

c_dt 완료일자 date

신용카드(card)⑷

항목 설명 타입 기본키

pkey 기본키 integer Y

nm 카드명 varchar(40)

bigo 설명 varchar(100)

카드지출(card_deal)⑸

항목 설명 타입 기본키

pkey 기본키 integer Y

deal_dt 거래일자 date

deal_seq 거래연번 integer

amount 거래금액 numeric(9)

card 신용카드코드 integer

installment 할부개월 integer

c_month 완료개월 integer

대분류(class)⑹

항목 설명 타입 기본키

pkey 코드 integer Y

nm 대분류명 varchar(40)

custom_yn 사용자정의여부 char(1)

estimate_yn 예산포함여부 char(1)

bigo 설명 varchar(100)

kind 수입 지출 구분, char(1)

대체거래(credit)⑺

항목 설명 타입 기본키

pkey 기본키 integer Y

deal_dt 거래일자 date

seq 거래연번 integer

kind 구분 받을돈 갚을돈( , ) char(1)

comment 내역 varchar(100)

amount 금액 numeric(9)

balance 잔액 numeric(9)

repay_dt 최종결재일 date

c_yn 완료여부 char(1)

거래처(cust)⑻

항목 설명 타입 기본키

pkey 코드 integer Y

nm 거래처명 varchar(40)

kind 구분 수입 지출( , ) char(1)

bigo 설명 varchar(100)

수입지출내역, (deal)⑼

l_dt 최종결재일자 date

comment 거래설명 varchar(100)

c_yn 완료여부 char(1)

c_amount 완료금액 numeric(9)

항목 설명 타입 기본키

input_dt 입력일 date Y

seq 연번 integer Y

l_num 행번 integer Y

io_kind 수입 지출 구분, char(1)

amount 금액 numeric(9)

c_kind 유형 현금 은행 카드( , , ) char(1)

s_class 소분류 integer

cust 거래처 integer

repeat_key 반복예약관리 키 integer

환경설정(env)⑽

항목 설명 타입 기본키

p_key 기본키 integer Y

cash_init 현금시초잔액 numeric(9)

magam_day 마감일자 integer

magam_kind 마감구분 마감일지정 말일 지정안함( , , ) char(1)

예산설정(estimate)⑾

항목 설명 타입 기본키

yyyy 년도 integer Y

mm 월 integer Y

class 소분류 integer Y

amount 금액 numeric(9)

bigo 설명 varchar(100)

행사(events)⑿

항목 설명 타입 기본키

pkey 기본키 integer Y

content 내용 varchar(100)

c_yn 완료여부 char(1)

c_dt 완료일자 date

bigo 설명 varchar(100)

events_dt 일정일자 date

사용자(puser)⒀

항목 설명 타입 기본키

user_id 사용자아이디 varchar(8) Y

user_passwd 비밀번호 varchar(8)

user_nm 사용자명 varchar(20)

bigo 비고 varchar(100)

반복예약항목(repetition)⒁

comment 내역 varchar(100)

bankbook 통장 integer

card 카드 integer

installment 할부개월 integer

card_deal 카드결재인 경우 카드지출관리 키 integer

credit 대체거래 결재인 경우 대체거래관리 키 integer

deal_dt 거래일자 date

항목 설명 타입 기본키

pkey 기본키 integer Y

st_dt 시작일자 date

소분류(s_class)⒂

항목 설명 타입 기본키

pkey 기본키 integer Y

class 대분류코드 integer

nm 소분류명 varchar(40)

asset_yn 예산에 포함여부 char(1)

custom_yn 사용자정의여부 char(1)

bigo 비고 varchar(100)

kind 구분 수입 지출( , ) char(1)

컴포넌트 설계3-5.

각 객체들을 기능별로 묶어서 파워빌더의 라이브러리 형태로 구성하였습니다.

형태의 메인윈도우와 메인메뉴 환경설정 모듈을 포함합니다cashbook - MDI , .①

사용자등록 로그온 프로그램의 초기화 프린터설정 출력미리보기 기능의 모듈common - , , , ,②

들과 일일마감 카드지출처리 대체거래처리등의 기능을 포함합니다, , .

시스템과 연관된 기능을 포함하는 모듈 시스템 함수들 업데이트를 위한 통신모nvo - ( API ,③

듈 엑셀변환을 위한 객체 등, )

기초항목 관리에 관련된 기능을 포함하는 모듈code -④

가계부관리에 관련된 수입 지출내역 등록 수정 삭제 기능을 포함하는 모듈main - , / /⑤

반복예약항목관리에 관련된 기능을 포함하는 모듈repetition -⑥

카드지출과 관련된 기능을 포함하는 모듈card_deal -⑦

대체거래내역과 관련된 기능을 포함하는 모듈credit -⑧

예산 설정과 관련된 기능을 포함하는 모듈estimate -⑨

현황조회와 관련된 기능을 포함하는 모듈result -⑩

io_kind 수입 지출구분, char(1)

amount 금액 numeric(9)

c_kind 유형 현금 은행 카드( , , ) char(1)

class 소분류 integer

cust 거래처 integer

bankbook 통장 integer

comment 내역 varchar(100)

l_dt 최종수행일자 date

r_type 반복형태 매년 매월 매주 매일( , , , ) char(1)

p_dt 종전수행일자 date

bigo 비고 varchar(100)

card 신용카드 integer

installment 할부개월 integer

use_yn 사용여부 char(1)

작품 설치 방법4.

셋업파일 생성 툴인 를 사용하여 셋업파일을 생성하여 배포합니다inno setup 5.2.2 .

일반적인 윈도우 프로그램과 마찬가지로 이 셋업파일을 실행하여 프로그램을 설치합니다.

설치과정4-1.

내컴퓨터에서 셋업파일의 위치를 찾아 실행시킵니다.

버튼을 눌러 다음과정으로 진행합니다next .

라이센스 동의를 선택하고 버튼을 눌러 다음과정으로 진행합니다 프로그램의 설치를 마next .

치고 나면 드라이버의 설치과정이 계속됩니다, ODBC .

버튼을 눌러 다음과정으로 진행합니다next .

라이센스 동의 라디오버튼을 선택한 후 버튼을 눌러 다음과정으로 진행합니다next .

파이어버드 드라이버에 대한 정보를 표시합니다 버튼을 눌러 다음과정으로 진행ODBC . next

합니다.

설치유형을 선택합니다 가지의 유형이 있으며 유형이 기본 값입니다 디폴. 3 Developer install .

트 값을 그대로 두고 다음 과정으로 진행하여 설치를 마칩니다.

작품의 사용법5.

프로그램의 실행⑴

시작메뉴 혹은 바탕화면의 단축아이콘을 이용하여 설치된 프로그램을 실행합니다.

프로그램을 설치 후 최초로 실행할 때는 아무런 데이터가 입력되어 있지 않습니다 아무런 데.

이터가 등록되어 있는 않은 경우의 최초 실행 시에는 프로그램의 사용자와 기본 환경설정내역

을 등록해야 합니다 다음과 같은 과정을 통하여 수행합니다. .

먼저 사용자를 등록하는 창이 표시됩니다 사용자 내역을 입력.

한 후 저장버튼을 누릅니다.

사용자 내역이 저장되면 로그온 창이 열립니다 로그인.

이 성공하면 기초 잔액을 설정하는 창이 표시됩니다.

이 창에 현금시초잔액과 보유하고 있는 각 통장의

잔액을 설정합니다 설정하지 않고 저장 했을 경우.

에는 나중에 환경설정 창과 통장코드관리 창에서

잔액을 설정할 수 있습니다.

잔액과 카드목록을 등록한 후 저장을 눌러 초기화

를 마칩니다.

초기화 과정이 정상적으로 수행되면 기본적인 분류

코드가 미리 등록되어 집니다.

프로그램의 메인 윈도우⑵

초기화 과정을 마친 프로그램은 다음의 모양으로 표시됩니다.

환경설정⑶

프로그램 설치 후 초기화 과정에서 현금 잔액을 입력하지 않았거나 수정이 필요한 경우 환경,

설정 윈도우에서 입력합니다 현금기초잔액 외에 마감일을 구분과 마감일을 설정할 수 있습니.

다 마감일구분이란 각 가정마다의 결산일을 의미합니다 예를 들어 급여를 받아 생활하는 가. .

정에서 급여일이 일 이라면 일을 마감일로 설정합니다 이때 마감일 구분은 마감일지정이25 24 .

되어야 합니다 이렇게 설정하면 전월 일부터 금월 일까지가 범위로 설정되어 가계부 쓰. 25 24

기 윈도우에서 쉽게 해당 날짜범위의 가계부 내역을 조회할 수 있습니다.

월말로 설정하는 경우에는 일부터 해당월의 마지막날자를 마감일로 간주합니다 마감일 지정1 .

없음인 경우에는 현재일자로부터 한달 전부터 지금까지를 기준으로 하여 조회 등의 기능을 수

행합니다.

기본항목⑷ 관리

항목분류관리

수입지출내역을 분류하기 위한 분류코드를 관리합니다 분류코드는 대분류와 소분류로 나뉩니.

다 프로그램을 설치하면 자동으로 기본적인 분류항목들이 등록됩니다. .

등록된 항목들 중 회색으로 표시되는 기타항목을 제외한 다른 항목들은 사용자가 수정하거나

삭제하여 원하는 분류 형태로 조정이 가능합니다.

하지만 이미 수입 지출내역이 등록된 후에는 해당 분류항목의 삭제가 허용되지 않습니다 그, .

러므로 프로그램에 수입 지출 내역을 등록하기 전에 먼저 분류 항목을 살펴보고 정리한 후 사,

용하는 것이 좋습니다.

다음은 대분류등록 수정 소분류등록 수정 윈도우입니다 분류항목 입력의 편의를 위하여 대분/ , / .

류 항목의 등록 수정 작업 시에 해당 대분류 항목에 포함된 소분류 항목도 동시에 등록 수정, ,

할 수 있도록 화면을 구성하였습니다.

은행통장 관리

통장을 관리합니다 프로그램의 초기화할 때 통장이나 통장의 잔액을 등록하지 않았다면 이 윈.

도우에서 등록할 수 있습니다.

현금과 각 통장의 잔액은 매일 마감작업을 통하여 마감데이터로 등록되어 집니다 그러므로 프.

로그램을 처음 실행할 때부터 정확하게 등록하여 관리하는 것이 좋습니다.

신용카드관리

신용카드 목록을 관리합니다 이 내역은 지출을 카드로 한 경우에 사용됩니다. .

거래처관리

수입 지출내역에서 거래처를 지정할 수 있도록 거래처 내역을 관리합니다, .

가계부관리⑸

가계부쓰기

수입 지출내역을 등록하고 관리하는 윈도우입니다 대부분의 가계부 기능이 이 창에서 이루어, .

집니다 달력에서 날짜를 선택하면 선택된 날짜에 해당하는 수입지출 목록이 화면에 표시되고. ,

우측의 수입지출 현황 부분에 일자와 월의 집계내역이 표시됩니다.

만약에 달력에서 날짜를 선택하지 않고 달력 밑부분의 일자범위 조회기능을 사용했다면 목록

에는 여러 날짜의 수입 지출내역이 표시됩니다 이때 화면 우측 상단의 일 월의 수입지출 현, . ,

황에는 자동으로 선택된 내역의 날짜에 대한 내역이 표시됩니다.

화면 우측하단에는 현재시점의 자산현황이 표시되어 자산의 상태를 언제든지 쉽게 알 수 있습

니다 화면의 왼쪽 하단에는 일정과 장바구니 기능이 표시되어 있도록 구현하였습니다 일정이. .

등록되면 달력에 빨간 별모양이 표시되어 어느 날짜에 일정이 등록되어 있는지 쉽게 알 수 있

습니다.

다음 그림은 큰 달력을 표시하여 날짜별로 수입 지출내역을 집계하여 표시한 윈도우입니다, .

다음 화면은 가계부의 수입 지출내역을 등록 수정하는 화면입니다 모든 수입 지출 기타내역, , . , ,

은 이 윈도우에서 등록 수정됩니다 각 항목들은 필요에 따라 활성화 또는 비활성화 됩니다, . .

분류항목 거래처 통장 카드 등의 기초항목들을 바로 등록하여 사용할 수 있습니다, , , .

수입지출 구분에는 수입 지출 기타가 있습니다 기타거래는 빌린돈 빌려준돈 카드대금 결재, , . , , ,

빌린돈상환 빌려준돈받음등의 거래가 포합됩니다 또한 묶음거래를 지원할 수 있도록 화면이, .

구성되어 있습니다 예를 들어 하나의 거래처에서 여러 품목을 구입하였다면 행을 추가하여 묶.

음으로 등록할 수 있습니다.

현재 등록하고 있는 수입이나 지출내역을 반복항목으로 등록할 수 있습니다.

반복예약항목 관리

반복예약항목을 별도로 관리할 수 있습니다 다음 그림은 반복예약항목 관리 윈도우입니다. .

화면의 하단에는 선택된 반복예약항목이 적용된 결과를 보여줍니다.

다음 그림은 반복예약항목을 등록 수정하는 윈도우를 표시한 것입니다, .

이렇게 등록된 반복예약항목은 프로그램의 실행할 때 자동으로 화면에 표시됩니다.

카드지출관리

카드 지출 내역을 모아서 보고 결제현황을 쉽게 파악할 수 있습니다 트리의 형태로 구성하여.

트리의 제일 윗 레벨에서는 지출내역에 대한 정보를 표시하고 아래 레벨에서는 결제내역을 표

시합니다 아래의 그림에서는 지출내역만 존재하고 아직 결제내역이 없음을 알 수 있습니다. .

빌린돈 빌려준돈 관리,

빌린돈과 빌려준돈은 별도로 관리할 수 있도록 구현하였습니다 트리의 형태로 빌린돈은 갚을.

돈 묶음으로 표시하고 빌려준돈은 받을돈의 묶음으로 화면에 표시하며 잔액을 쉽게 알 수 있,

도록 트리의 제일 낮은 레벨에 결제내역이 표시되도록 하였습니다.

예산세우기

시스템에 등록된 분류를 표시하여 예산을 세울 수 있도록 화면을 구성하였습니다 예산을 설정.

할 때 참고할 수 있도록 반복예약으로 등록되어 있는 수입 지출내역을 각 분류 옆에 표시하,

고 카드 지출내역중 남은 결재내역도 같이 표시합니다, .

표시되는 카드 지출 대금은 한회에 결재되어야 할 카드대금을 표시합니다 단 카드수수료나. ( ,

이자 등은 계산되지 않습니다.)

일일자산변동현황

사용자에게 일자범위를 조회조건으로 받아서 주어진 범위의 자산변동현황을 표시합니다 일자.

별로 현금과 각 통장의 전일이월액 금일잔액 변동 액을 표시하여 자산의 변동현황을 쉽게 파, ,

악할 수 있습니다.

분류별 수입 지출 현황/

시스템에 등록된 분류에 따라 수입 지출내역을 구분하여 표시합니다 트리뷰의 형태로 표시하, .

며 제일 하단 레벨에는 실제 수입 지출내역을 표시하여 쉽게 확인할 수 있도록 하였습니다, .

일일 수입 지출 현황/

일자별로 수입 지출 기타의 구분으로 그룹 지어진 형태의 현황을 제공합니다 각 일자별로 수, , .

입내역 지출내역 기타거래내역을 쉽게 확인할 수 있습니다, , .

예산대비 수입 지출 현황/

설정된 예산내역이 있는 경우 설정된 예산과 실제 수입 지출내역을 비교하여 화면에 표시합니,

다.

부록

완성된 프로그램의 실행 모습A.

가계부쓰기 창의 실행모습

수입 지출 등록 창의 실행모습,

프로그램의 소스B.

파워빌더의 소스는 라이브러리의 단위로 관리되므로 소스를 포함하고 있는 라이브러리를 나열,

하였습니다.

cashbook.pbl①

메인프레임 윈도우 환경설정과 관련된 소스,

nvo.pbl②

프로그램 내에서 공통적으로 사용되는 전역함수 시스템 함수등의 객체들, API

common.pbl③

일마감 카드지출처리 대체거래처리 사용자확인 프린터관련 객체들, , , ,

pbgui.pbl④

파워빌더에서 배포한 무료 인터페이스 라이브러리와 관련된 소스

code.pbl⑤

항목분류 거래처 통장 카드코드 관리에 관련된 소스, , ,

main.pbl⑥

가계부관리 수입 지출내역 등록 수정관련 소스, , ,

repetition.pbl⑦

반복예약항목등과 관련된 소스

card_deal.pbl⑧

카드지출관리와 관련된 소스

credit.pbl⑨

대체거래관리와 관련된 소스

estimate.pbl⑩

예산설정과 관련되 소스

result.pbl⑪

각종 현황과 관련된 소스