728x90
반응형

설계 3

데이터베이스의 논리적 설계~최종 테이블 스키마

개념적 설계 이후의 과정이다. 우선 논리적 설계부터 설명하겠다. 논리적 설계란 개념적 설계에서 만들어진 ERD로부터 테이블 스키마를 생성하는 것이다. 모든 논리적 설계는 개념적 설계의 산출물로 진행한다. ** 그림을 이제 테이블로 바꾸는 과정이라고 보면 되겠다. - 강성 개체집합을 관계형 테이블로 변환 -약성 개체집합을 관계형 테이블로 변환 -관계집합을 관계형 테이블로 변환 -중복되는 테이블 제거 -가능한 테이블들 결합 위에 말한 사항들을 하나씩 자세히 살펴보자 강성 개체집합의 변환 -하나의 강성 개체집합은 하나의 테이블이 된다. -강성 개체집합의 속성은 테이블의 필드가 된다. -테이블의 기본키는 개체집합의 기본키를 그대로 사용한다. ** 강성 개체집합 = 테이블 and 강성 개체집합의 속성 = 테이블의..

프로젝트 계획(12-1) 클래스 설계 [소프트웨어공학]

클래스는 앞서 많은 글들에서 다루어왔고 여기서 말하는 클래스 설계라는 것은 분석 단계에서 아직 확정되지 않은 클래스 내부 부분 중 구현에 필요한 중요한 사항을 결정하는 작업을 말한다. **즉 클래스 추출 및 클래스 간 관계 분석이다. 본격적으로 알아보자 클래스 설계는 각 클래스 내부에 초점을 두어 소속된 객체의 상태가 오퍼레이션의 호출에 따라 어떻게 변하는지를 잘 봐야한다. 다시 말해서 상태와 오퍼레이션의 관계를 잘 봐야한다는 것이다. **왜냐하면 클래스가 가지는 속성 값에 따라 오퍼레이션 구현이 달라지니까!! 그래서 객체의 상태 변화 모델링 필수라고 할 수 있다. **상태 의존적인 클래스를 구현하기 전에 먼저 객체 상태 변화에 대한 모델링은 필수적이다. 클래스 설계에 대한 몇 가지 가이드라인을 살펴보려..

프로젝트 계획(10) - 아키텍쳐 설계 [소프트웨어공학]

이번에는 아키텍쳐라는 것을 배워보자. 아키텍쳐는 (architecture) 해석하면 알 수 있듯이 무슨 구조인가?? 즉, 뼈대 같은 것들을 말할 것 같다?? 배워보자 우리는 앞서 요구 분석 작업을 했다. 그 요구 분석 작업을 통하여 무엇을 개발할 지 결정했고 그 이후에 도메인 영역의 문제에 집중해서 모델링 했다. 설계 단계로 넘어가면서 솔루션 영역의 과제들 예를 들어 소프트웨어의 내부 구조, 자료와 사용자 인터페이스를 어떻게 만들 것인지 정해야 한다. 다시 말해서 요구 분석 명세서에 기술된 기능을 여러가지 제한 요건에 맞도록 설계하는 일이 필요하다 건축 설계를 예로 들었지만 소프트웨어 설계도 마찬가지다. ** 설계는 일반적으로 창조작인 작업이라고 할 수 있다 ++ 그렇다고 체계적인 접근이 없는 것은 아니..

728x90
반응형