본문 바로가기
(Pilot) 탑기공/소프트웨어 개발

[탑기공] 객체 지향 분석과 모델링 개념

by 두음달인 2023. 1. 11.
반응형


객체지향, 객체지향 분석 기법, 모델링, 모델링의 3 관점

유스케이스, 

정보 모델링 - 클래스 다이어그램, 동적 모델링 - 시퀀스 다이어그램, 기능 모델링 - 액티비티 다이어그램


모델링 3 관점 - "정동기

정보, 동적, 기능 모델링


객체 지향

 

주어진 문제영역을 실세계 안에 존재하는 객체의 집합으로 보고
객체들 사이의 상호작용을 나타낸 것

 

객체 지향 분석 기법

 

3가지 관점(정보, 동적, 기능 관점)을 단계적으로 적용하여
소프트웨어에 요구되는 객체(또는 클래스)를 찾아내고, 객체의 속성과 동작을 밝히는 작업

 

모델링

 

대상 시스템의 성능 또는 동작과정 분석을 위하여
이를 간단히 도식화하거나 그 시스템의 특징을 수학적으로 표현하는 과정

 

모델링의 세 가지 관점

 

출처 : 탑싯 에센스

 

유스케이스 (Use Case)

 

유스케이스 기법은 이해 관계자를 찾아내고, 이해 관계자의 역할에 따라 동질성 있는 집단으로 분류하여 이를 행위자 또는 액터(Actor)로 분류한다.

각 행위자는 시스템에 대하여 각기 다른 관점(View)과 용도를 가진다.

이를 바탕으로 각 행위자의 시스템에 대한 용도라 할 수 있는 유스케이스(Use Case)를 식별한다.

유스케이스란 각 행위자가 어떤 용도(쓰임새)로 시스템을 사용하는가를 나타내는 "사용 예"에 해당한다.

각 유스케이스는 특정 행위자가 어떤 기능이나 임무를 달성하기 위한 시나리오 집합이다.

 

정보 모델링

 

정보 모델링을 통해 시스템에서 요구되는 기본적인 클래스를 식별하고, 클래스 사이의 연관성을 클래스 사이의 관계를 통해서 밝혀내고, 각 클래스의 속성을 찾아낸다.

 

클래스 다이어그램

 

동적 모델링

 

동적 분석은 시스템을 구성하는 객체의 상태나 동작의 변화 혹은 객체들 사이의 상호 작용에
관심을 두고 클래스들의 오퍼레이션을 찾는 과정이다.

 

시퀀스 다이어그램

 

기능 모델링

 

시퀀스 다이어그램에서 도출한 사건(오퍼레이션)을 수행하기 위해 다양한 기능을 수행해야 할 경우들이 있다.

이 기능들은 내부적으로 복잡한 로직을 담고 있으며, 그 안에서 더 작은 규모의 오퍼레이션으로 표현될 수 있다.

 

액티비티 다이어그램

 


기출 문제

 

(관리 86-3-3)
3. 객체지향 모델의 표현 방법인 UML(Unified Modeling Language)을 사용하여 "수강신청 처리"에 대한 시스템을 설계하시오.

반드시 유스케이스 다이어그램(use-case diagram), 시퀀스 다이어그램(sequence diagram), 클래스 다이어그램(class diagram), 액티비티 다이어그램(activity diagram)을 작성하고, 필요시 다른 diagram을 추가 작성하시오.

 

SOLID

(관리 121-2-4)
소프트웨어 재사용성과 유지보수 향상을 위하여 객체지향 설계 5대 원칙을 적용하고 있다.
다음에 대하여 답하시오.

가. 의존성 역전 원칙(Dependency Inversion Principle)을 설명하시오.
나. 의존성 주입(Dependency Injection)을 구현하는 3가지 방식을 설명하고 각 방식별 아래의 조건을 고려하여 구현 예시를 작성하시오.

 


참고 자료

 

탑싯 에센스 - 소프트웨어 개발

반응형

댓글