▼개념 모델링
요구사항을 이해하기 쉽도록 실 세계의 상황을 단순화하여 개념적으로 표혀ㅑㄴ한 것을 모델이라고 하고, 이렇게 표현된 모델을 생성해 나가는 과정을 개념 모델링이라고 한다. 모델은 문제가 발생하는 상황에 대한 이해를 증진시키고 해결책을 설명하므로 소프트웨어 요구사항 분석의 핵심이라 할 수 있다.
개발 대상 도메인의 엔티티들과 그들의 관계및 종속성을 반영한다. 또한 요구사항 별로 관점이 다르므로 개념 모델도 다양하게 표현되어야 하는데, 대부분 UML을 사용한다.
종류 : Use Case Diagram, Data Flow Model, State Model, Goal-Based Modfel, User Interactions, Object Model, Data Model
엔터티(Entity) : 엔터티는 데이터베이스 테이블이
인스턴스(Instance) : 인스턴스는 데이터베이스에 저장된 데이터 내용의 전체 집합을 의미합니다.
속성(Attribute) : 속성은 인스턴스의 구성요소로써 더 이상 분리되지 않는 단위로, 업무에 필요한 데이터를 저장할 수 있다.
▼ UML
객체지향 소프트웨어 개발 과정에서 시스템 분석, 설셰, 구현 등의 산출물을 명세화, 시각화, 문서화 할 때 사용하는 모델링 기술과 방법론을 통합하여 만든 범용 모델링 언어이다. 럼바우의 OMT 방법론과 부치의 부치 방법론, 제이콥슨의 OOSE방법론을 통합하여 만든 모델링 개념의 공통 집합으로 객체지향 분석 및 설계 방법론의 표준지정을 목표로 제안된 모델링 언어이다.
OMG*Object Managment Group)에서 표준화 공고 후 IBM, HP, Microsoft, Oracle 등이 참여하여 1997.1 버전 1.0을 릴리즈 하였다.
▼ 럼바우(Rumbaugh) 객체지향 분석기법
객체모델링 기법이라고도 불리는 기법으로 소프트웨어 구성 요소를 그래픽으로 모형화하였다.
객체 모델링 : 정보모델링이라고도 한다. 시스템에서 요구된즌 객체를 찾아내여 속성과 연산 식별 및 객체들 간의 관계를 규정하여 객체를 다이어그램으로 표시한다.
동적 모델링 : 제어흐름, 상호작용, 동작순서 등의 상태를 시간 흐름에 따라 상태 다이어그램으로 표시한다.
기능 모델링 : 여러 프로세스 간의 자료 흐름을 표시한다. 어떤 데이터를 입력하여 어떤 결과를 가져올 수 있을지를 표현한다.
▼UML의 특성
비주얼화 : 소프트웨어 구성 요소 간의 관계 및 상호 작용을 시각화 한 것이다. 문서화 : 소프트웨어 생명주기의 중요한 작업을 추적하고 문서화 할 수 있다. 개발 프로세스 및 언어와 무관하게 개발자 간의 의사소통 도구를 제공한다. 명세화 : 분석, 설계, 구현의 완벽한 모델을 제공한다.단순한 표기법이 아닌 구현에 필요한 개발 요소 및 ㄱ기능에 대한 명세를 제공한다.-분석단계- 기능모델-설계단계 - 동작수준모델 -구현단계- 상호 작용 모델
구축: 객체지향 언어와 호환되는 프로그래밍 언어는 아니지만, 모델이 객체지향 언어로 매핑괼 수 있다.
UML 소프트웨어에 대한 관점 기능적 관점 : 사용자 측면에서 본 소프트웨어의 기능을 나타낸다. 사용 사례 모델링이라고도 한다. 요구분석단계에서 사용한다. UML에서는 Use Coase Diagram을 사용한다. 정적 관점: 소프트웨어 내부의 구성 요소사이의 구조적 관계를 나타낸다. 객체, 속성, 연관관계, 오퍼레이션의 시스템 구조를 나타낸다. UML에서는 Class Diagram을 사용한다. 동적 관점: 시스템 내부 동작을 말하며, UML에서는 Sequence Diagram, State Diagram, Acticity Diagram을 사용한다.
UML의 기본 구성사물 : 객체지향 모델을 구성하는 기본 요소이다. 객체 간의 관계형성 대상이다.관계 : 객체 간의 연관성을표현하는 것이다. 종류로는 연관, 집합, 포함, 일반화, 의존, 실체화 등이 있다.다이어그램 : 객체의 관계를 도식화 한 것으로, 다양한 관점에서 의사소통 할 수 있도록 뷰를 제공한다.
스테레오 타입UML에서 제공하는 기본 요소 외에 추가적인 확장요소를 표현할 때 사용한다.UML 확장 모델에서 스테레오 타입 객체를 표현할 때 사용하는 기호는 쌍 꺽쇠와 비슷하게 생긴 길러멧<<>>이며, 길러멧 안에 확장 요소를 적는다.
UML 접근 제어자
연관 관계 다중성표현
다이어그램의 분류
▼구조적 다이어그램
정적이고 구조표현을 위한 다이어그램이다
-클레스 다이어그램: 시스템내 클래스의 정적 구조를표현하고 시스템을 구성하는 클래스 들 사이의 관계를 표현한다.
-객체 다이어그램 : 객체 정보를 보여준다.
-복합체 구조 다이어그램 : 복합 구조의 클래스와 컴포넌트 내부 구조를표현한다.
-배치 다이어그램 : 소프트웨어, 하드웨어, 네트워크를 포함한 실행 시스템의 물리 구조를표현한다.
-컴포넌트 다이어그램 : 컴포넌트 구조 사이의 관계를 표현한다.
패키지 다이어그램 : 클래스나 유스케이스 등을 포함한 여러 모델 요소들을 그룹하ㅗㅙ 패키지를 구성하고 패키지들 사이의 관계를표현한다.
행위다이어그램
동적이고 , 순차적인표현을 위한 다이어그램이다.
-유스케이스 다이어그램 : 사용자 관점에서 시스템 행위를 표현한다.
-활동 다이어그램: 업무 처리과정이나 연산이 수행되는 과정을 표현한다.
-상태 머신 다이어그램 : 객체의 생명주기를 표현한다. 동적 행위를 모델링하지만 특정 객체만을 다룬다.
상호작용다이어그램
-순차 다이어그램: 시스템의동작을 정형화하고, 객체의 메시지교환을 쉽게 표현하고 시간에 따른 메시지 발생 순서를 강조한다.
-상호작용 개요 다이어그램: 여러 상호작용 다이어그램 사이의 제어흐름을 표현한다.
-동신 다이어그램 : 객체 사이의 관계를 중심으로 상호작용을 표현한다.
- 타이밍 다이어그램 : 객체 상태 변화와 시간 제약을 명시적으로 표현한다.
'백엔드 개발자 기록 일람 > 정보처리기사 준비 기록' 카테고리의 다른 글
UI 환경 분석 (0) | 2024.01.29 |
---|---|
UML(Unified Modeling Language) -2- (2) | 2024.01.26 |
요구사항 개발 -2- (1) | 2024.01.23 |
요구사항 개발 - 1 - (1) | 2024.01.21 |
현황 시스템 분석 (0) | 2024.01.18 |