software engineering project - kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... ·...

16
Software Engineering Project 계획서 조이름 : Mr. 조원 : 정준혁, 지유섭, 하정훈, 최현수, 김지연

Upload: others

Post on 30-Dec-2019

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

Software Engineering Project

계획서

조이름 : Mr.조원 : 정준혁, 지유섭, 하정훈, 최현수, 김지연

Page 2: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

목차

1. 프로젝트 개요

2. 주제

3. 조이름

4. 조직구성

5. 시스템

6. 일정

7. 개발모델

8. WBS

Page 3: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

1.프로젝트 개요

요즘 실생활에서는 많은 요소들을 컴퓨터를 이용하여 처리하고 있습니다. 그중에 하나를

꼽자면 예부터 많이 써오던 가계부를 들 수 있을 것입니다. 예전엔 공책에 줄을 그어가며

손으로 일일이 적고 사용자가 직접 통계를 내야만 했습니다. 그에 따른 오류와 오차도 많았

고 사람이 직접 함에 따라서 불편함도 적지 않았습니다. 때문에 저희9조는 간단하고 실용적

인 가계부를 제작해보기로 하였습니다. 이때 언어는 비주얼 베이직 6.0을 사용하여 효과적

인 인터페이스를 구현할 것입니다. 필요하지 않은 여러 가지 기능보다는 가계부에 필수적

기능의 완벽한 구현에 초점을 두려합니다. 또한 사용자의 편의를 고려하고 심플하고 편리한

인터페이스로 꾸밀 것입니다.

2.주제

척척박사 가계부 만들기, 한눈에 들어오는 인터페이스, 최대한 쉽게 사용

3.조이름

Mr. 9조

4.조직 구성

분산형

한사람에게 의지하기 보다는 민주적이고 모두가 다 적극적으로 참여하고 책임감을 갖기 위

해서

팀장: 정준혁

팀원: 지유섭,하정훈,최현수,김지연

이름 역할

정준혁 틀(폼)잡기,테스트 및 수정

지유섭 기본DB설계,테스트 및 수정

하정훈 모듈화,테스트 및 수정

최현수 계산기,메모기능구축,틀(폼)잡기

김지연 그래픽기능구축,틀(폼)잡기

5.시스템

하드웨어

개발자 환경:펜티엄 4 CPU 3.0,512RAM

소프트웨어

사용자 환경:윈도우 XP

개발자 환경:윈도우 XP, 비주얼 베이직 6.0

Page 4: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

10월4째주 10월5째주 11월1째주 11월2째주 11월3째주 11월4째주 11월5째주 12월1째주

계획

요구분석

설계

구현

테스트

6.일정(간트차트)

7.개발 모델: 폭포수형 모델

8.WBS가계부 프로그램 개발

요구분석 설계 코딩 테스트

기존의 가계부 조사

필요한 기능정의

프로토타입개발

요구분석서작성

계획서검토 분석서검토

각 직무 이행

기능의합침

공동 구축작업 실행

UI설계

발표 자료작성

전체적테스트

Page 5: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

So f twa reEng inee r i ng Project

-요구분석서-

조이름 : Mr.

조원 : 정준혁, 지유섭, 하정훈, 최현수, 김지연

Page 6: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

목차

1. 개요

1.1 시스템 개요

1.2 목표

2. 요구

2.1 요구사항 추출

2.2 요구사항 분석

2.2.1 자료 흐름도, 자료사전

2.2.2 소단위 명세서

3. 기타요구 및 제약사항

3.1 예외 조건 및 이의 처리

3.2 사용자 인터페이스

Page 7: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

1.개요 및 목표

1.1 시스템 개요

저희 조가 만들 가계부 시스템은 기본적으로 현금과 카드(통장)의 지출과 수입을 표시하는

시스템입니다. 저희는 많은 기능보다는 가계부에 있어서 필수적인 기능 완벽하게 구현하는

데 초점을 두어 사용자가 손쉽게 계산기능을 이용하고 월 단위 리스트를 통해 수입과 지출

내용을 한눈에 파악할 수 있도록 할 것입니다. 부가적인 기능으로는 통계기능, 통장관리기

능, 메모기능, 계산기기능이 있습니다.

1.2 목표

저희 조는 실용적이고 누구나 사용 가능한 가계부를 만드는 것이 목표입니다. 우선 가계부

에서 가장 중요한 필수적 기능을 완벽하게 제공하는 것을 주된 목표로 하고 부가적으로는

가계부를 약간 더 편리하게 관리할 수 있도록 추가기능을 제공 할 것입니다. 가계부에서 가

장 중요한 필수기능은 수입과 지출내역의 입,출력이 가능하여야 하고 매주 혹은 매달 그 총

액을 정산 할 수 있어야 합니다. 마지막으로 누구나 사용할 수 있도록 한눈에 들어오는 인

터페이스를 제공하여 가계부를 간편하게 다룰 수 있도록 할 것 입니다. 위와 같은 기능들을

완벽하게 만들어 내는 것 이 우리조의 가장 큰 목표입니다.

2. 요구

2.1 요구사항 추출

많은 기능보다는 가계부에 필요한 필수적기능의 완성도와 사용하기 편리한 인터페이스 구

현 이 중요하다.

절대적으로 필요한 요구 : 기본 기능인 수입과 지출 입력과 출력 그리고 총액 각각의 출력.

요망되나 꼭 필요한 것은 아닌 요구 : 통장관리, 통계기능

요구로 볼 수는 있으나 제외될 수 있는 요구 : 계산기 기능, 메모장 기능

2.2 요구사항 분석

2.2.1 자료 흐름도, 자료사전

※ 최상위 흐름도

사용자 가계부 프로그램 사용자

수입,지출 입력 수입, 지출 통계

Page 8: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

※ 1차 구체화

자료흐름

수입과 지출

을분리

총합 계산

잔액과

수입,지출

상황 표시

현금 수입,지출

통장 수입,지출 분리된 값

계산된 값정리된 결과

자료사전

현금 수입,지출 = 현금 수입 금액|지출금액 + 수입출처 + 날짜

통장 수입,지출 = 통장 수입 금액|지출 금액 + 수입 출저 + 출처인 + 날짜

분리된 값 = 현금 | 통장

계산된 값 = 현금|통장 수입 + 현금|통장 지출

정리된 결과 = 수입 지출 통계

※ 2차 구체화

카드

각각

분리하여

계산

현금 값 저장

수입

지출

수입

지출

카드거래

현금거래

분리된 계산

저장된 값

자료사전

Page 9: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

수입 = 금액

지출 = 금액

카드 거래 = 결제일 + 상호명 + 금액

현금 거래 = 날짜 + 금액

분리된 계산 = 카드 총합 + 현금 총합

저장된 값 = 카드 통계 + 현금 통계

2.2.2 소단위 명세서

프로세스 이름 : 수입지출 분류

설명 :

이용자가 입력;

if(use=='현금'){

cash=use;}

else(use=='통장'){

card=use;}

프로세스 이름 : 수입지출 계산

설명 :

통장(카드)와 현금의 분리된 값을 불러옴;

if(cash>0)

sum+=cash;

else

sum-=cash;

else if(card>0)

sum=sum+=card;

else

sum-=card;

프로세스 이름 : 수입지출 출력

설명 :

계산된 값을 불러옴;

print "날짜 %d 수입 %d 이름 %s 총액 %d"

Page 10: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

3. 기타 요구 및 제약 사항

3.1 예외 조건 및 이의 처리

지출내역 또는 지출한 금액을 쓰지 않은 경우 : 지출 내역 또는 지출한 금액을 쓰라는 문구

내보냄.

메모 내용이 너무 길어서 용량이 초과한 경우 : 메모의 내용을 줄여달라는 문구를 내보냄.

3.2 사용자 인터페이스

한 눈에 알아 볼 수 있도록 메뉴에 필요한 기능이 모두 들어가 있도록 한다. 이때까지 쓴

가계부 내용과 기본 입력 창은 메인화면에서 볼 수 있도록 합니다.

그리고 상단에 통장관리, 통계보기, 계산기 메뉴를 넣습니다.

Page 11: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

Software Engineering Project

설계서

조이름 : Mr.조원 : 정준혁, 지유섭, 하정훈, 최현수, 김지연

Page 12: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

목차

1. 프로젝트 개요

2. 시스템 구조

3. 인터페이스

4. 시스템 구조도

5. 데이터베이스

6. 제약사항

1. 개요

Page 13: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

1.1 설계시 하드웨어, 소프트웨어

[하드웨어]

- 개발자 환경 : 강원대학교 컴퓨터과학과 전산실 컴퓨터 환경

[소프트웨어]

- 사용자 환경 : Windows XP[sp2]

- 개발자 환경 : Windows XP[sp2], Microsoft Visual Basic 6.0

1.2 시스템의 주요기능

수입과 지출의 내용 및 날짜, 금액 등록 기능-날짜를 통하여 수입,지출내용 등록

날짜와 금액을 기준으로 정렬하는 기능-한눈에 들어오도록 정렬한다.

그래프기능 - 월단위로 막대그래프를 이용하여 수입과 지출에 내용을 표시한다.

계산기, 메모장기능 - 윈도우 구성요소인 계산기와 메모장을 바로가기로 연결한다.

1.3 설계상 제약사항

- 각각의 기능들은 최대한 모듈화를 이루도록 한다.

- 설계 시 사용하는 코드는 이해하기 쉽고 구조적으로 작성한다.

- 날짜를 등록할때는 년도와 월, 일로 한다.

1.4 참조된 개발 문서

- 개발 계획서

- 요구 분석 명세서

2. 시스템구조

2.1 자료사전

가계부기능 = 입력 + 출력 + 정렬 + 막대그래프

수입입력 = [현금|카드] + {금액}

지출입력 = [현금|카드] + {금액}

정렬기능 = {날짜 + 금액}

금액기능 = 수입|지출금액 + 내림차순|오름차순

통계기능 = 총 정산 + 막대그래프

부가기능 = 메모장(윈도우 링크) + 계산기(윈도우 링크)

2.2 모듈기능

-사용자 등록 모듈

Page 14: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

입력 : 식비, 주거/통신, 생활용품, 의복/미용, 건강/문화, 교통/차량, 용돈/기타등

처리 : 각각에 분류한 내용을 DB정보에 저장

출력 : 날짜 및 내용과 함께 등록 결과를 화면에 출력

-가계부 평가 모듈

입력 : 각각의 분류를 내용에 맞게 입력했는지 확인

처리 : 날짜 내용 금액을 DB에 입력

출력 : 정렬과 그래프기능으로 결과를 정확하게 출력

3. 인터페이스

3.1 기능별 인터페이스

초기화면 인터페이스

날짜, 내용, 분류, 금액을 입력

오른쪽 인터페이스

메모장 표시 (링크로 연결)

계산기 표시 (링크로 연결)

등록 기능 및 출력 기능

4. 시스템 구조도

- 최상위 구조도

메인

입출력 처리 정렬 부가기능통계(그래프)

-입출력 처리

Page 15: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

수입 지출

입출력 처리

언더플로감시통장 현금

카드분류로

수입등록

현금분류로

수입등록

통장 현금

카드분류로

지출등록

현금분류로

지출등록오류메세지

-정렬 -통계(그래프)

정렬

이름 카테고리 금액

정렬

내림차순 오름차순

카테고리

정렬

통계

총 정산

월단위금액

현재

남은금액

주 단위

수입 지출

-부가기능

부가기능

메모기능 계산기

5. 데이터베이스

Page 16: Software Engineering Project - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2009_2/se/project/9... · 2016-06-02 · ※ 1차 구체화 자료흐름 수입과 지출 을분리 총합 계산

자료이름 자료형 내용 기타

earn_cash int 현금수입

earn_card int 통장수입

dis_cash int 현금지출

dis_card int 통장지출

earn_date 날짜형 수입날짜 09-00-00

dis_data 날짜형 지출날짜 09-00-00

dis_category string 지출분야

6. 제약사항

- 엑셀파일에서의 저장된 내용이 우리 가계부와 호환이 어렵다.

- 로그인기능이 별도로 없기 때문에 가계부 보호에 문제가 생긴다.

- 막대그래프를 이용하기 때문에 다양한 도형을 삽입할 수 없다.