본문 바로가기

Dev.../소프트웨어 아키텍처

[SA강좌] Part 4-32 서버 관련 상세 설계 산출물 서버 관련 상세 설계 산출물 서버 관련 엔터티빈 설계 정의는 아래와 같다. 그림 Ⅴ-34. 엔터티 빈 설계 정의 예제 서버 관련 세션 빈 설계 정의는 아래와 같다. 그림 Ⅴ-35. 세션 빈 설계 정의 예제 서버 관련 설계 산출물 정의시 세션빈에 대한 알고리즘 설계서와 시퀀스 다이어그램을 포함하여야한다. 더보기
[SA강좌] Part 4-31 UI 상세 설계 산출물 UI 상세 설계 산출물 UI 상세 설계 산출물 구조는 아래와 같다. 그림 Ⅴ-32. UI네비게이션 모델 UI에 대한 화면 정의는 아래와 같다. 화면 개요 병원 시스템을 사용할 환자가 시스템의 사용자로 등록하기 위한 화면으로 크게 기본정보, 연락처 정보, 기타를 입력하고 등록을 요청한다. 그림 Ⅴ-33. UI 화면 정의 예제 화면 구현 방법 기술 화면의 입력 제약 사항 이름은 20자리로 제한하시요. 주민등록번호는 14자리로 제한하시요. 생년월일은 화면에서 받은 데이터를 YYYYMMDD의 형식으로 저장하시요. 성별은 남자는 string "M", 여자는 string "F"로 저장하시요. 혈액형은 "A","B","AB","O"로 구분하시요. RH형은 "RH+","RH-"로 구분하시요. 우편번호는 10자리로 제한.. 더보기
[SA강좌] Part 4-3 상세 설계 산출물 상세 설계 산출물 UML 표기법을 최대한 활용하고 개발자들이 상세 설계 문서를 보고 개발을 진행할 수 있도록 하는 상세 설계 산출물을 정의한다. 그림 Ⅴ-31. 설계 산출물 구조 더보기
[SA강좌] Part 4-24 설계 패턴 적용 방법 설계 패턴 적용 방법 설계 패턴을 적용하기 전에 컨트롤러는 도메인 객체를 호출하기만 할 뿐 업무 로직을 가지고 있지 않다고 생각한다. 즉 도메인 객체가 비즈니스 로직을 나누어 가지고 있다. 도메인 객체는 Transaction Script, Table Module, Domain Model로 구별되며 가장 단순하게 구현할 수 있는 방법은 Transaction Script이다. Domain Model은 가장 익숙해지기 어려운 방식이다. 그러나 Domain Model을 사용하면 복잡한 모델도 쉽게 구현할 수 있다. 또한 Domain Model은 데이터베이스와 연결하는 부분이 복잡하다. Table Module은 이 두가지 사이에서 적절한 선택이 될 수 있다. Data Source Layer에 대해서는 Transa.. 더보기
[SA강좌] Part 4-23 Query Object Query Object 패턴의 정의 데이터베이스 쿼리를 표현하는 객체 그림 Ⅴ-30. Query Object 더보기
[SA강좌] Part 4-22 Metadata Mapping Metadata Mapping 패턴의 정의 메타 데이터 안에 OR 매핑에 대한 상세한 사항을 집어넣는다. 그림 Ⅴ-29. metadata mapping 패턴의 구조 OR 매핑을 취급하는 많은 코드들이 데이터베이스의 필드가 객체의 필드와 어떻게 매핑되는가를 정의한다. 결과적인 코드는 복잡하고 동일한 코드가 반복되는 경우가 많다. Metadata Mapping을 사용하면 개발자가 단순한 테이블 형태의 매핑을 정의하여 데이터를 읽고, 쓰고 업데이트하는 코드를 자동으로 생성할 수 있다. 어떻게 작동하는가? Metadata mapping을 사용하기 위한 가장 큰 결정사항은 메타데이터의 정보를 실행중의 코드에 어떻게 반영하는가이다. 두 가지 방법이 있는데 첫 번째는 코드 자동화를 사용하는 것이고 두 번째는 refl.. 더보기
[SA강좌] Part 4-21 Single Table Inheritance 패턴 단일 테이블 상속 패턴의 정의 단일 테이블 상속 패턴은 클래스들의 상속도을 다양한 클래스들의 모든 필드를 위한 컬럼을 가진 단일 테이블로 표현하는 것이다. 그림 Ⅴ-28. 단일 테이블 상속 패턴의 구조 단일 테이블 상속 패턴의 설명 관계형 데이터베이스는 다중 상속을 지원하지 않는다. 이러한 이유로 개체들을 데이터베이스에 매핑할 때 상속 구조를 관계의 테이블로 어떻게 표현할지를 고려해야한다. 관계형 테이터베이스에 매핑할 때, 다중 테이블에 있는 상속 구조를 처리할 때 최소의 조인을 할 수 있게 해야한다. 단일 테이블 상속 패턴은 상속 구조의 모든 클래스들의 모든 필드을 단일 테이블에 매핑한다. 단일 테이블 상속 패턴은 언제 사용하는가? 단일 테이블 상속은 상속구조를 관계형 데이터베이스에 있는 필드들의 매핑.. 더보기
[SA강좌] Part 4-20 Serialized LOB 패턴 시리얼라이즈 LOB(Serialized LOB) 패턴 시리얼라이즈 LOB 패턴의 정의 시리얼라이즈 LOB 패턴은 동기화된 개체들을 데이터베이스 필드에 저장된 단일 큰 개체 개체의 그래프를 저장한다. 그림 Ⅴ-27. 시리얼라이즈 LOB 패턴의 구조 시리얼라이즈 LOB 패턴의 설명 시리얼라이즈 LOB 패턴의 예제:XML에 있는 부서 계층을 시리얼라이즈 class Customer ... private String name; private List departments = new ArraryList(); class Department ... private String name; private List subsidaries = new ArraryList(); 이 경우 데이터베이스는 한개 테이블만 가진다. crea.. 더보기
[SA강좌] Part 4-19 Embedded Value 패턴 내재된 값(Embedded Value) 패턴 내재된 값 패턴의 정의 내재된 값 패턴은 개체를 다른 개체의 테이블의 몇몇 필드들에 매핑한다. 그림 Ⅴ-26. 내재된 값 패턴의 구조 내재된 값 패턴의 설명 많은 작은 개체들은 테이터베이스의 테이블들 처럼 의미적이지 않은 개체지향 시스템 안에서 의미있게 한다. 예로 동시 발생 인식 메모리 개체와 일자 범위를 포함한다. 비록 기본적 생각은 개체를 테이블과 같이 저장하고, 같지 않은 사원은 메모리 값을 테이블이 원한다. 내재된 값은 개체의 값을 개체 소유자의 레코드에 있는 필드에 매핑한다. 내재된 값 패턴의 예제: 값 개체 내포된 값과 매핑되는 값 개체의 예는 아래와 같다. 다음과 같은 필드들을 가진 간단한 요청 클래스로 시작한다. class ProductOffe.. 더보기
[SA강좌] Part 4-18 Dependent Mapping 패턴 의존 매핑(Dependent Mapping) 패턴 의존 매핑 패턴의 정의 의존 매핑 패턴은 자식 클래스를 위한 데이터베이스 매핑을 수행하는 하나의 클래스를 가진다. 그림 Ⅴ-24. 의존 매핑 패턴의 구조 의존 매핑 패턴의 설명 몇몇 개체들은 자연적으로 다른 개체의 컨텍스트에 나타난다. Album을 추적하면 album 진행시 적재되거나 저장될 때 적재되거나 저장된다. 데이터베이스에서 임의의 테이블에 의해서 참조되지 않는다면, 추적을 위한 매핑 수행을 하는 앨범 매퍼에 의해 매핑 절차를 단순화 할 수 있다. 의존 매핑은 매퍼로 처리한다. 의존 매핑 패턴은 언제 사용하는가? 다른 개체에 의해 참조되는 개체를 가지고 있으면 의존 매핑을 사용한다. 이경우 하나의 개체가 의존 집합을 가지고 있을 때 일반적으로 발생.. 더보기