구조적 분석에서 작성한 자료 흐름도, 자료 사전, 미니 명세서를 사용하여. 시스템 구조도 작성 : 변환 분석, 트랜잭션 분석. 모듈 명세서 : 인터페이스 명세 + 수행논리 명세대금지불방법별 code화모듈 이름 : 대금지불 방법별 코드화모듈 기능 : 만기일자를 구분하여 만기일이 지났으면 일일매출현황에 추가한다.입력 변수 : 어음지불로 구분된 매출항목현금으로 구분된 매출항목만기일자 지난 매출항목출력 변수 : code화 된 매출항목호출 모듈 : 매출항목 구분, 만기일자 구분피호출 모듈 : code별 매출항목결산일일결산모듈 이름 : 일일결산모듈 기능 : 매입·매출 일일결산을 받아 합쳐서 일일결산하여
코드 설계◎ 코드 대상의 결정과 목적 설정다단계 판매의 경우 회원이 되어야만 물건을 살수 있다. 그렇기 때문에 회원의 수가 점점 늘어나게 되고 회원은 더 많은 회원을 모아야 돈을 벌 수 있기 때문에 회원의 수는 끊임없이 커지게 된다. 많은 수의 사람들을 관리하기 위해선 회원제를 할 수밖에 없고 이 회사는 회원중심으로 운영하기 때문에 회원의 고유번호라고 할 수 있는 주민등록번호로 회원들을 관리할 수 있을 것이다. 하지만 주민등록번호는 회원의 정보이기 때문에 다른 사람들에게 알려지면 안될 것이다. 그렇기 때문에 회원들을 구별할 수 있는 코드가 필요하게 된다. 더군다나 단지 수백 명의 회원이 아닌 수만 명의 회원을 관리하기 위해선 괜찮은 코드설계가 필요하겠다.이 회사의 모든 거래는 은행거래로 이루어진다.은행코드는 말할 것도 없을 것이다. 지금도 은행 온라인은 매우 발달 되어있기 때문이다. 지금은행들이 사용하고 있는 온라인 코드를 그대로 적용한다면 별다른 문제가 없을 것이다. 그러나 우리들은 지금 은행이 사용하는 코드를 짐작만 하는 것이지 제대로 된 코드를 알 수 없다. 그래서 우리 나름대로 최적화 된 코드를 설계해보겠다.회원들이 주문하는 물건들은 다양하다. 이 많은 상품들의 이름을 전부 사용하고 어떤 회사제품의 어떤 제품을 파악하려면 정말 시간이 오래 걸릴 것이다. 다양한 방대한 물건들을 관리하기 위해선 코드설계가 절실하다. 상품의 재고확보와 관리를 위해서 코드설계가 필요할 것이다. 어느 상품이 많이 팔리고 어느 상품 적게 팔리는지 파악하기가 쉽고 모자라는 재고를 빨리 채울 수 있을 것이다. 다른 상품이 팔리는 것을 막을 수도 있다.택배는 상품을 회원들의 집으로 운반하는 것이다. 회원들은 전국에 살고 있다. 전국에 있는 회원들의 집 주소를 일일이 전부 적어서 사용할 수는 없는 노릇이다. 택배회사의 각 지역마다 코드를 부여하고 그만큼의 손이 적게 가게 되고 상품배달에서 잘못 배달되는 것을 없앨 수 있고, 배달되지 않을 수 있는 것을 방지할 수 있으며 더욱 더 효율적으로 상품 배송을 할 수 있다.이 회사는 다단계이다. 자기 추천한 회원이 많을수록 자신에게 더 많은 배당금이 돌아오게 된다. 그래서 회원들은 더 많은 회원을 추천하게 될 것이고, 자신이 추천한 회원들이 또 회원들을 추천하게 되면 또 다른 배당금을 더 많게 된다. 피라미드 형식이어서 관리하기가 쉽게 느껴 질 수도 있지만 사람들이 많으므로 굉장히 복잡하게 된다. 시스템을 더 최적화하고 효율적으로 사용하려면 코드설계가 필요하고 된다. 코드 설계를 하면 회원들의 배당금지급을 더욱 쉽게 관리할 수 있고 회원 아래에 있는 회원들의 수를 쉽게 파악할 수 있기 때문에 실적이 좋은 회원이나 나쁜 회원들을 파악할 수 있다.◎ 대상 항목의 특성 분석과 코드 방식 결정 / 코드 설계특성 : 이 프로그램은 다단계 판매 관리 시스템이기 때문에 처음 프로그램을 작성할 때 얼마나 많은 회원들이 회원 가입을 할지 알 수가 없다. 그리고 시스템 중간에 회원을 검색해서 사용하는 경우가 많기 때문에 여러 분류방법으로 코드를 만드는 것이 검색에 더 유용할 것이다.코드 설계 : 합성코드-구분코드+끝자리코드(회원지역+성별)합성코드는 두 개 이상의 코드를 조합하여 만드는 코드 방식으로 하나의 코드로 사용이 어려울 경우 많이 사용한다.여기서 사용한 구분코드는 블록 순서 코드라고 불리는데 이것은 코드화 할 대상이 갖는 공통 특징을 중심으로 항목들을 별도의 집단으로 분류하고 한 집단 안에서는 순서대로 번호를 부여하는 방식이다. 이 시스템에서는 회원 지역 순서로 회원을 구분한다. 서울지역 01, 부산지역 02, 대구지역 03, 인천지역 04, 광주지역 05, 대전지역 06, 울산지역 07, 경기도 08, 강원도 09, 충청도 10, 경상도 11, 전라도 12, 제주도 13로 부여하였다.그리고 끝자리코드는 필요한 분류 기능을 기존 코드로 수행하기 어려울 때, 코드의 끝에 한 자리를 추가하여 항목을 분류할 수 있도록 지원하는 코드이다. 이 끝자리 코드로 이 시스템에서는 성별을 표시하여 남자면 1, 여자면 2를 부여하였다.회원번호의 미0300001-1홍길동0300002-1최관우0300003-1최윤희0300004-2김윤미0300005-2최장비특성 : 각 거래하는 은행에 고유번호를 부여하여 은행을 효율적으로 분류하고 검색하기 위한 코드이다.코드 설계 : 합성코드-구분코드+끝자리코드(지역분류+은행종류)구분코드는 코드화 할 대상이 갖는 공통 특징을 중심으로 항목들을 별도의 집단으로 분류하고 한 집단 안에서는 순서대로 번호를 부여하는 방식이다. 이 시스템에서는 지역으로 구분한다. 서울지역 01, 부산지역 02, 대구지역 03, 인천지역 04, 광주지역 05, 대전지역 06, 울산지역 07, 경기도 08, 강원도 09, 충청도 10, 경상도 11, 전라도 12, 제주도 13으로 부여하였다.그리고 끝자리 코드는 필요한 분류 기능을 기존 코드로 수행하기 어려울 때, 코드의 끝에 한 자리를 추가하여 항목을 분류할 수 있도록 지원하는 코드이다. 이 끝자리 코드로 이 시스템에서는 은행종류로 분류하여 대구은행 1, 주택은행 2, 한미은행 3, 농협 4, 우체국 5, 기업은행 6, 조흥은행 7로 부여하였다.은행 번호의 미0301-1대구-대구은행0302-2대구-주택은행0201-3부산-한미은행0202-4부산-농협1101-7경상도-조흥은행특성 : 상품을 구매하기 위해서는 특정한 상품을 검색해야 하기 때문에 검색하는 기능을 위해서 상품번호를 검색이 가능한 코드로 작성한다.