본문 바로가기

KOSTA

KOSTA 교육 (Algorithm, 알고리즘, JSON, 라이브러리)

배운 내용

 

  1. 알고리즘
  2. JSON 라이브러리
  3. 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 작성, 요구분석 정의서 및 명세서 작성을 하였다.

 

  • 고객과 관리자가 각각 필요한 클래스 및 기능들을 정리 해놓은 다이어그램이다.
  • 이런식으로 공통적으로 필요한 것, 각자가 필요한 것을 구분하여 작성한다.

 

  • 관리자에 해당되는 요구사항의 정의서다.
  • 각 요구사항에 대한 개요, 전제조건, 우선순위를 매긴다.

 

  • 각 요구사항에 대한 보다 상세한 내용을 작성한다.
  • 해당되는 선행조건, 흐름, 후행조건, 필요시 기타 요구사항까지 작성한다.