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
반응형
'ComputerScience > Software Engineering' 카테고리의 다른 글
소프트웨어공학 - 6. Requirement, Use cases (0) | 2022.03.17 |
---|---|
소프트웨어공학 - 5. Iterative, Evolutionary, Agile (0) | 2022.03.16 |
소프트웨어공학 - 3. UML(Unified Modeling Language) (0) | 2022.03.10 |
소프트웨어공학 - 2. SW Development Process (0) | 2022.03.10 |
소프트웨어공학 - 1. Introduction (0) | 2022.03.02 |