배운 내용
- 알고리즘
- JSON 라이브러리
- mini 프로젝트
1. algorithm(알고리즘)
algorithm은?
컴퓨터를 이용하여 주어진 문제를 풀기 위한 방법이나 절차.
알고리즘과 자료구조는 모든 언어에서 사용 되지만 자바를 사용하여 체험학습 의미로 어제에 이어서 예제를 풀어보자
- t가 1보다 크고 50보다 작아야 하기 때문에 t를 if문에 조건으로 선언하고 참이면 break로 끝낸다.
- long타입으로 배열을 선언하여 더 큰 값을 받을 수 있도록 한다.
- inputs배열을 2개를 선언하여 값 2개를 입력할 수 있도록 하고 split을 이용하여 공백으로 구별할 수 있도록 해준다.
- a[i]는 inputs[0]으로 b[i]는 inputs[1]로 선언해준다. 이때 Long타입으로 String으로 변환해준다.
- 문제에 맞추어 a[i] >= b[i] && b[i] >= 1 && b[i] <= 5000면 break 해주고 아니면 조건이 맞지 않는 것이다.
- a가 b보다 크다면 계속 반복하여 2와 3을 반복해주고 day를 하루 추가해준다. 만약 b가 더 크다면 break로 끝낸 후 출력하면 된다.
여기서 중요한 점은 day를 다시 0값으로 하여 누적되지 않게 한다.
2. JSON 라이브러리
JSON은?
저장되어 있는 데이터를 전달받거나 전달하기 위하여 사용한다.
JSON의 이점
- 데이터의 크기가 작다.
- 사람이 읽고 쓰기가 용이하다.
- 개발 언어와 OS종류에 구애받지 않는다.
예제를 보면서 학습해보자
- name, address, age 변수를 선언하고 필요사항을 생성해준다.
- 먼저 JSON object를 code로 만들기 위한 예제이다.
- 라이브러리 생성 후 object에 대한 하나의 메소드를 생성하고 객체를 생성한다.
- 각 name과 address, age를 선언하고 obj 객체를 리턴한다.
- 두 번째 메소드도 마찬가지로 동일하게 생성한다.
- Main메소드에서 exam클래스 객체를 생성하고 각 객체별 메소드를 선언한다.
- toString을 이용하여 해당되는 값을 호출하면 obj의 객체 값이 컴파일된다.
- 다음은 ArrayList를 활용하여 code를 만드는 예제이다.
- ArrayList를 생성하고 각 Member를 생성한다.
- 그리고 jsoncode를 list에 toString ArrayList
- parser 객체를 생성해서 데이터를 뽑아오고 object를 null값으로 선언하고 try, catch문을 이용하여 예외처리를 해준다.
- instanceof 연산자를 사용하여 형변환이 가능하다면 형변환을 하고 Iterator를 통하여 배열을 읽어온다.
- while문을 사용하여 출력할 내용이 있을 때 까지 출력하는데 while문 내에선 강제형변환을 통해 자료를 출력할 수 있게 해준다.
- 이 값을들 list에 추가하여 출력하면 jsoncode에 들어가있던 list가 출력된다.
3. Project(프로젝트)
Project는?
유일한 상품 혹은 서비스를 창출하기 위하여 수행하는 한시적인 활용이다.
프로젝트의 특징
- 시작과 끝이 존재한다.
- 전에 수행한 적이 없는 유일한 행위이다.
- 순차적으로 연속되는 작업의 완성이다.
프로젝트 개발 프로세스
- 요구분석
개발할 시스템에 대하여 요구되는 기능이 무엇인지, 어떤 제약 사항을 가지고 있는 지를 분석하고 문서화
- 설계
요구분석 결과를 토대로 시스템에 대한 개발 계획과 구체적인 모습을 고안
- 구현
설계를 토대로 시스템을 제작
- 테스트
제작된 시스템이 요구분석 상황에 적합하게 만들어 졌는지 분석
크게 이 네가지 종류로 프로젝트를 진행한다.
이런 프로젝트를 자바로 간단하게 구현해보려고 한다.
총 2일의 시간이 주어졌고 우리 조는 식당의 식단표를 이용하여 메뉴를 확인하고 식권을 이용하여 식사를 하는 것을 구현해보려고 한다.
오늘은 주제설정, Use Case 작성, 요구분석 정의서 및 명세서 작성을 하였다.
- 고객과 관리자가 각각 필요한 클래스 및 기능들을 정리 해놓은 다이어그램이다.
- 이런식으로 공통적으로 필요한 것, 각자가 필요한 것을 구분하여 작성한다.
- 관리자에 해당되는 요구사항의 정의서다.
- 각 요구사항에 대한 개요, 전제조건, 우선순위를 매긴다.
- 각 요구사항에 대한 보다 상세한 내용을 작성한다.
- 해당되는 선행조건, 흐름, 후행조건, 필요시 기타 요구사항까지 작성한다.
'KOSTA' 카테고리의 다른 글
KOSTA 교육 (JOIN, 다중 컬럼, 다중 로우, FROM절 서브쿼리, INDEX, VIEW, SEQUENCE, PL/SQL) (0) | 2021.03.12 |
---|---|
KOSTA 교육(HAVING, 함수, DDL, DML, 제약조건) (0) | 2021.03.10 |
KOSTA 교육(알고리즘, 자료구조) (0) | 2021.03.05 |
KOSTA 교육 (File, Thread) (0) | 2021.03.05 |
KOSTA 교육 (ArrayList, Sort, Comparable, Comparator, 입출력, Stream) (0) | 2021.03.03 |