본문 바로가기

ComputerScience/Software Engineering

소프트웨어공학 - 4. OOA/D(Object Oriented Analysis & Design)

728x90

1. Object Oriented Analysis & Design (OOA/D)

- oop concept에 기반하여 풀고자 하는 문제의 domain들을 파악함으로써 문제 상황을 더 잘 이해할수 있도록 해준다.

- 도서관 전산을 구축하는 문제상황이 있다고 하면 책이라는 object, Person이라는 대상 그리고 대여한다 등의 관계를 정의하여 programming에 활용하는 것이다.

- 잘 설계된 규모있는, 지속적 유지보수, 발전 가능성이 있는 좋은 품질의 software를 기획한다면 반드시 수행하는 절차이다.

- 소프트웨어 개발 프로세스를 살펴보면 requirement, analysis는 OOA, Architectural Design, Detailed Design의 경우 OOD에 해당한다.

2. OOA

- 시나리오 기반의 requirement를 명세할때 쓰이는 (거의 표준)방법론이다.

- Dice Game에서 발생할 수 있는 use cases들을 파악한다.

- 파악한 use case를 만족하기 위해 필요한 object와 관계를 나타내는 domain model을 정의한다.

- 즉 OOA의 목적은 해결해야하는 문제 상황의 domain을 정의해서 key concept과 관계 등을 파악하는데 있다.

3. OOD

- uml diagram을 활용하여 logical solution을 정의한다.

- use case 시나리오를 실제로 구현하기 위해 객체들의 colaboration을 명세하는 것이다. 

- 이렇게 명세서가 완성되면 코딩은 사실상 기계적인 작업에 불과해진다.

 

728x90
반응형