1. DB 설계의 순서는?

  1. 요구사항 수집 및 분석설계 전 고객의 요구사항을 반영하여 팀 단위로 회의 후 설계에 반영할 수 있게 기록을 남긴다.
  2. 개념적 설계요구사항을 정리한 기록물을 바탕으로 엔티티와 속성 및 관계들을 정의하여 이를 ER 다이어그램에 반영한다.
  3. 논리적 설계완성된 ER 다이어그램 데이터 모델로 변환한다,
  4. 물리적 설계내부 스키마를 이용하여 본격적인 DB의 형태를 구축한다.

 

 

2. 개념적 설계의 순서에 대하여 설명하시오.

: 통합형 설계에 이르기 위한 방법은 2가지로 하향식설계와 상향식설계가 있다.

  • 하향식설계전체적인 형태를 정의  요소들을 세부적으로 상세화하는 기법
  • 상향식설계하나하나 자세하게 먼저 설계  개선사항 및 부가적인 요소들을 추가하여 완성하는 기법

 

 

3. list 및 content_view함수의 mock 테스트를 하시오.

3-1. 소스코드

package edu.bit.ex.controller;

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.forwardedUrl;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;

import lombok.Setter;
import lombok.extern.log4j.Log4j;

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration({ "file:src/main/webapp/WEB-INF/spring/root-context.xml",
		"file:src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml" })
@Log4j

public class BoardControllerTest {
	@Setter(onMethod_ = { @Autowired })
	private WebApplicationContext ctx;

	private MockMvc mockMvc;

	// 테스트 초기화
	@Before
	public void setup() {
		this.mockMvc = MockMvcBuilders.webAppContextSetup(ctx).build();
	}

	// List 페이지 목업 테스트
	@Test
	public void testList() throws Exception {
		mockMvc.perform(get("/board/list")) // list 매핑 경로 가져오기
				.andExpect(status().isOk()) // 응답 검증
				.andDo(print()) // 검증이 완료되면 print
				.andExpect(forwardedUrl("/WEB-INF/views/board/list.jsp")); // 해당 URL을 포워딩한다.
	}

	// Content View 페이지 목업 테스트
	@Test
	public void contentViewList() throws Exception {
		mockMvc.perform(get("/board/content_view")) // content_view 매핑 경로 가져오기
				.andExpect(status().isOk()) // 응답 검증
				.andDo(print()) // 검증이 완료되면 print
				.andExpect(forwardedUrl("/WEB-INF/views/board/content_view.jsp")); // 해당 URL을 포워딩한다.
	}
}

 

3-2. 구현화면