웹 만들기 - 자기화 개선

·2023년 7월 1일

🤔 목표

지난 번에 웹만드는 순서를 자기화했다.
이 순서를 적용하며 생겼던 문제점을 다루고,
좀 더 상세한 자기화를 이루려한다.


📌자기화

설계

1. 기초 설계
기능 정의
데이터 정의

2. db 설계
테이블 설계
쿼리문 정의

3. 기능 설계
  jsp 설계
 페이지 간 이동 데이터 정의
 페이지 별 필요 데이터 정의
 요청 방식 정의

  servlet 설계
  응답 받을 jsp와 응답 방식 정의
  가공에 필요한 Class 목록 정의

  Class 설계
  전달 받은 데이터의 가공 방식 정의

5. ui 설계
레이아웃 설계

구현

1. db
table, join 구현
쿼리문 테스트

2. db 관련 class 구현
vo
dbcon, xml 설정
dao 구현

3. 연결 확인
servlet <-> class 연결 확인
servlet <-> jsp 응답요청 확인

4. 기능 구현


📌문제점

  1. 정리 도구 - 가독성이 떨어져 정리한 내용을 수차례 재확인했다
  2. 기능 설계 - 복잡해서 틀만 잡고 설계는 하지 못했다.

1. 도구

  • 메모장과 공책을 이용했으나, 정리한 내용이 파악이 되지 않아
    해석을 여러 번 하게 되었다.

    ✔도구 후보

    • [메모장] - 가독성이 떨어진다. 중요도 구분이 쉽지 않고, 표현 자유도가 너무 낮다.

    • [파워포인트] - 장점: 표현력, 가독성, 수정 능력이 우수했다.
      단점: 정리가 안된 생각을 풀어 놓기 어려웠다.

    • [공책] - 장점: 표현력이 좋고, 정리 안된 생각을 풀어 놓기도 좋다.
      단점: 수정하기 불편하다. 내 글은 가독성이 안 좋다, 정리 하기가 어렵다.

      ✏ 공책 개선 - 역시 포텐이 가장 높은 것은 공책이다.

      • [정의와 구분] - 다루는 데이터를 정의하고, 명확한 위치 구분을 통해
        가독성을 상승시킨다.
      • [데이터 표현 방식] - 표현 방식을 다양화해서 가독성을 높인다.
        표와 UI 등을 활용하자.
      • [지우개] - 뒷처리가 싫어서 안 썼지만, 결국 쓸 수 밖에 없다.
        안 쓰고는 도저히 불가능하다.


2. 기능 설계

가장 시간이 오래 걸리고 어려운 단계다.
전반적인 기능을 모두 다루는 단계라 생각할 것이 너무 많다.

   문제해결 - 쪼개기

  1. 한번에 이해 가능한 기능 단위로 쪼갠다.
  2. 큰 구조에서 작은 구조로 설계를 한다.

<페이지 정의>

  1. 기초 설계를 기반으로 필요한 페이지를 정의한다.

<데이터 이동 정의>

  1. 페이지 별로 간단한 UI를 그린다.
  2. 필요 데이터를 페이지 내의 UI 요소 마다 표시한다(상세 X).
  3. in, out 데이터를 찾는다.
  4. in, out에 필요한 class, servlet, jsp를 구성한다.
  5. 간략화를 통해 각 구성요소 간의 데이터 이동을 표현한다.
  6. 주의사항 - 페이지 별 데이터 이동에 중점을 둔다.
  7. 간력화 방법 - 요소를 도형으로 표현하고, 이름을 기록한다.
    데이터 이동은 화살표로 표현한다. 화살표 위에 이동 데이터를 표기한다.

<페이지 상세 정의>

  1. 페이지 내의 데이터 이동 요소를 파악한다.
  2. 데이터 이동 단위로 각 요소를 쪼갠다.
  3. n차 이동을 한다면 시간 혹은 기능 단위로 쪼개서
    데이터 이동을 표현한다.
  4. 주의사항 - 데이터 가공은 설계하지 않고,
    간략화를 통해 도형으로 표기한다.

<데이터 가공 정의>

  1. 데이터 가공을 상세 설계를 한다.
  2. 새로 필요한 데이터가 생긴다면 기존과 같은 방식으로 표현한다.
  3. 가공 방식을 분류해 class를 만들고 기능을 구현한다.

<시뮬레이션>

  1. 완성된 표를 시뮬레이션하며 누락된 데이터를 찾는다.
  2. 주의사항 - 시간이 오래 걸린다고 초조해 하지 않는다.

코멘트

적다 보니 설계에 쓰이는 다이어그램을 구상하게 됐다.
나의 고민이 앞선 사람들의 해결방법에 닿았다는 점이 기쁘다.

profile
개발자가 되기 위해 페달을 밟아가는 과정

0개의 댓글