학습 기록 (76) 썸네일형 리스트형 [03장.1] 1. 카페와 빵집으로 이해하는 계층 [예시] 카페는 커피를, 빵집은 빵을 판매 필요한 경우에는 협업 관계를 통해 손님이 커피를 사면 빵을 할인할 수 있음 >> 계층 간의 소통 하지만, 빵집 알바생이 빵을 팔다가 카페에서 커피를 팔 수는 없음 >> 서로 영향을 미치지는 못함 즉, 각 계층은 자신의 책임에 맞는 역할을 수행하며, 필요에 따라 소통함을 알 수 있음 [프레젠테이션 계층] : HTTP 요청을 받고 이 요청을 비즈니스 계층으로 전송하는 역할 : Controller가 프레젠테이션 계층 역할 수행 [비즈니스 계층] : 모든 비즈니스 로직 처리 : Service가 비즈니스 계층 역할 수행 * 비즈니스 로직 : 서비스를 만들기 위한 로직으로, 데이터를 처리하기 위한 로직, 예외 처리 로직 등의 역할 [퍼시스턴스 계층] : 모든 데이터베이스 .. [1. 소프트웨어 설계] HIPO HIPO(Hierarchy Input Process Output; 계측적 입력 처리 출력 기술 방법)이란? : 시스템의 분석 및 설계, 문서화할 때 사용되며, 하향식 소프트웨어 개발을 위한 문서화 도구 HIPO 특징 1) 체계적인 문서 관리 가능 2) 기호, 도표 등의 사용으로 보고 이해하기 쉬움 3) 기능과 자료의 의존 관계를 동시에 표현 가능 4) 변경, 유지보수가 용이 5) 기능을 고유 모듈들로 분할하여 이들 간의 인터페이스를 계층구조로 표현한 것을 HIPO 차트라고 함 HIPO 차트 종류 - 가시적 도표(Visual Table of Contents) : 전체적인 기능과 흐름을 보여주는 계층구조도 - 총체적 도표(Overview Diagram) : 입/출력, 처리에 대한 정보 제공 도표 및 프로그램.. [1. 소프트웨어 설계] 소프트웨어 설계 소프트웨어 설계 유형 - 자료 구조 설계(Data Structure Design) : 요구분석 단계에서 생성된 정보를 바탕으로 소프트웨어를 구현하는데 필요한 자료 구조로 변환하는 과정 - 아키텍처 설계(Architecture Design) : 상위 수준 설계 : 전체 구조 기술 : 소프트웨어 구성 컴포넌트 간의 관계를 정의 - 인터페이스 설계(Interface Design) : 소프트웨어와 상호작용하는 컴퓨터 시스템, 사용자 등이 어떻게 통신하는지를 기술 - 프로시저 설계(Procedure Design) : 아키텍처의 컴포넌트를 소프트웨어 컴포넌트의 프로시저 서술로 변환하는 과정 - 협약에 의한 설계(Design by Contract) : 클래스에 대한 여러 가정을 공유하도록 명세한 설계 : 선행 조건 .. [1. 소프트웨어 설계] 설계 모델링 설계 모델링이란? : 요구사항 분석 단계에서 규명된 필수 기능들의 구체적인 구현 방법을 명시하는 기법 설계 모델링 원칙 1) 소프트웨어 설계는 변경이 쉽도록 구조화되어야 함 2) 하나의 함수 안에 특정 기능을 수행하는데 필요한 자료만 사용하도록 규제 3) 독립적이고 지능적인 특성을 지닌 모듈 단위로 분할 설계 4) 계층적 구조를 가져야 함 설계 모델링 유형 - 구조 모델링 : 소프트웨어를 구성하는 컴포넌트들의 유형, 인터페이스, 내부 설계 구조 및 상호 연결 구조를 모델링 : 구성 요소들과 이들 사이의 구조적 관계와 특성 모델링 : 구성요소 - 프로시저, 데이터 구조, 모듈, 파일 구조 * 프로시저 : 프로그램을 기능에 따라 여러 개의 단위로 분해하여 작성하는 것 - 행위 모델링 : 구성요소들의 기능들과.. [02장.4] 2. 테스트 컨트롤러 살펴보기 @TestController public class TestController{ @GetMapping("/test") public String test(){ return "Hello, world!"; } } @TestController : 라우터 역할을 하는 애너테이션 : 클라이언트 요청에 맞는 메서드를 실행 : @Component 애너테이션처럼 취급됨 * 라우터 : HTTP 요청과 메서드를 연결하는 장치 // RestController.java 파일 @Target(ElmentType.Type) @Retention(RetentionPolicy.RUNTIME) @Documented @Controller @ResponeseBody public @interface RestController{ @AliasFor.. [1. 소프트웨어 설계] 공통 모듈 1. 공통 모듈의 개념 모듈이란? : 크게 독립된 하나의 소프트웨어 또는 하드웨어 단위를 지칭하는 용어 모듈 특징 1) 독립성 : 결합도와 응집도에 의해 측정되며, 상대적인 독립성을 가짐 2) 다양한 조합 : 모듈을 하나로 통합하는 수많은 조합 존재 3) 재사용 : 단독 컴파일이 불가능하며, 재사용 가능 4) 영향 최소화 : 독립성이 높은 모듈일수록 다른 모듈 수정 시 영향을 미치지 않음 공통 모듈이란? : 전체 프로그램의 기능 중 특정 기능을 처리할 수 있는 실행 코드 의미 : 자체 컴파일이 가능하고, 다른 프로그램에서 재사용 가능 : 공통으로 사용할 수 있는 모듈을 의미하며, 날짜 처리를 위한 유틸리티 모듈 등이 해당 2. 공통 모듈 원칙 1) 정확성(Correctness) : 실제 시스템 구현 시 .. [1. 소프트웨어 설계] 감성공학 감성공학(Sensibility Ergonomics) 이란? : 인간의 감성을 정성적, 정략적으로 측정 및 평가하고, 과학적으로 분석하여 이를 구체적인 제품 설계로 실현해 내는 공학 : 연구영역은 인간의 생리적, 심리적 특성에 기반한 인간과 기계 또는 인간과 환경 사이를 연계시키는 인터페이스 설계 분야 감성공학 접근 방법 1. 1류 접근 방법 : 의미 미분법 : 인간 감성을 표현하는 어휘를 이용해 제품 이미지를 조사하고, 그 분석을 통해 제품 디자인 요소와 연계시키는 접근 방법 2. 2류 접근 방법 : 문화적 감성의 일부 반영 : 개인이 갖고 있는 이미지를 구체화 하는 방법 : 감성의 심리적 특성을 강조한 접근 방법 3. 3류 접근 방법 : 공학적인 방법으로 접근하여 인간의 감각을 측정하고 이를 통해 수학.. [1. 소프트웨어 설계] UI 설계 도구 UI 설계 도구란? : 사용자와 시스템 사이에서 의사소통 할 수 있도록 일시적 또는 영구적인 접근을 목적으로 만들어진 물리적/가상적 매개체인 UI 설계를 지원하는 도구 UI 개발 단계별 활용 가능한 도구 UI 개발 프로세스 단계 : 분석 - 설계 - 구현 분석 : UI 패턴, UI 모델링 설계 : UI 설계 구현 : 프로토타이핑 툴 이전 1 2 3 4 5 6 7 ··· 10 다음