728x90

객체지향 분석 방법론이란?

-사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 이와 연관된 속성과 연산, 그들 간의 관계 등을 정의하여 모델링하는 작업

 

객체지향 분석 방법 4가지

1. 럼바우 - 객동기

  • 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 객체지향 분석(Object-oriented Analysis) 기법
  • 가장 일반적으로 사용하는 방법

객체 모형 - 동적 모형 - 기능 모형 순서

2. 부치

  • 미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스 모두 포함하여 사용
  • Use-Case를 강조하여 활용한 방법
  • 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의

3. 코드와 요든

  • E-R 다이어그램을 사용하여 객체의 행위를 모델링
  • 객체 식별, 구조 식별

4. 워프스 브룩

  • 분석과 설계 간 구분이 없으며, 고객 명세서를 평가하여 설계 작업까지 연속적 수행

기출

객체지향 분석 방법론 중 ER 다이얼그램을 사용하여..........

1. coad 와 yourdon 방법

 

 

객체지향 기법

- 현실의 개체(Entity)를 하나의 객체(Object)로 만들어 소프트웨어를 개발할 때 객체들을 이용해 프로그램을 작성할 수 있도록 하는 기법

 

장점

 

1) 재사용성, 확장성 -> 개발기간 단축, 유지보수 쉬움

2) 복잡한 구조를 단계적, 계층적으로 표현

3) 데이터 병렬 처리

 

구성요소

 

1) 객체(Object)

- 데이터와 데이터를 처리하는 함수를 캡슐화한 소프트웨어 모듈

- 데이터 : 객체 정보, 속성, 상태

- 함수 : 객체가 수행하는 기능

2) 클래스(Class)

- 공통된 속성, 연산을 갖는 객체들의 집합

- Instance : 클래스에 속한 각각의 객체

- Superclass : 상위 class

- Subclass : 하위 class

3) 메시지(Message)

- 객체들 간 상호작용을 하기 위한 수단

- 객체 이름, 메소드 이름, 인자로 구성

 

특징

 

1) 캡슐화(Encapsulation)

- 데이터와 함수를 하나로 묶는 것을 의미

- 재사용성 증가, 오류 파급 효과 감소

- 인터페이스가 단순해짐, 객체 간 결합도가 낮아짐

2) 정보 은닉(Information hiding)

- 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통해 접근

- 다른 객체에게 주는 영향을 감소시킴

3) 추상화(Abstraction)

- 불필요한 부분을 생략하고 중요한 것에만 중점을 두어 모델화

4) 상속성(Inheritance)

- 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받음

- 상위 클래스에 정의된 속성을 재정의하지 않아도 된다.

- 새로운 속성과 연산을 추가하여 사용 가능

- 다중 상속성(Multiple Inheritance) : 한 개의 클래스가 두 개 이상의 상위 클래스로부터 상속

5) 다형성(Polymorphism)

- 같은 함수, 기능에 대해 다른 정의를 통해 각 클래스가 다른 행동을 할 수 있게 해줌

- Overloading : 같은 이름을 가진 함수지만 인자가 달라 각기 다른 인자에 따라 함수를 선택해 수행

- Overriding : 상위 클래스로부터 상속받은 함수들을 다르게 구현하여 사용

 

생명 주기

 

계획 및 분석 -> 설계 -> 구현 -> 테스트 및 검증

 

1) 계획 및 분석(객체 지향 분석, OOA)

- 사용자의 요구사항을 분석하여 클래스, 속성, 연산 등을 정의하여 모델링하는 작업

2) 설계(객체 지향 설계, OOD)

- 분석을 통해 생성한 모델을 설계 모델로 변환하는 작업

- 설계 : 문제 정의 -> 요구 명세화 -> 객체 연산자 정의 -> 객체 인터페이스 결정 -> 객체 구현

3) 구현(객체 지향 프로그래밍, OOP)

- 객체라는 단위를 중심으로 프로그램을 개발하는 작업

- 유지보수가 쉽고 재사용 가능

- 확장성 제공

4) 테스트 및 검증

- 클래스 테스트 : 캡슐화된 클래스나 객체를 검사하는 과정

- 통합 테스트 : 객체를 결합해 프로그램을 완성시키는 과정에서의 테스트

-> thread 기반 테스트 : 각각의 thread가 개별적으로 테스트

-> 사용 기반 테스트 : 독립 클래스를 테스트한 후 종속 클래스를 테스트

- 확인 테스트 : 사용자 요구사항에 대한 만족 테스트

- 시스템 테스트 : 모든 요소들이 올바른 기능을 수행하는 지 테스트

 

기출 20년도

객체지향 기법에서 클래스들 사이의 부분 전체 관계 또는 부분의 관계로 설명되는 연관성을 나타내느 용어는?

4. 집단화 

728x90

+ Recent posts