• 특징리스트는 모두 소프트웨어가 무엇을 해야 하는지 이해하는 것에 대한 것입니다.
  • 유스케이스 다이어그램은 불필요한 세부 항목들 속으로 빠져들지 않고, 소프트퉤어가 어떻게 사용될 것인지에 대해 생각할 수 있도록 합니다.
  • 유스케이스는 사용법을 반영하고, 특징은 기능을 반영합니다.
  • 시스템의 특징은 시스템의 기능을 나타냅니다. 비록 기능이 항상 어떤 특정 유스케이스의 눈에 드러난 일부는 아니지만, 시스템은 유스케이스가 실제로 작동하기 위해서는 이러한 것들을 해야만 합니다.
  • 유스케이스는 어떻게 사람이나 사물(액터)이 시스템과 상호작용하는지에 대한 요구사항이고, 특징은 시스템이 작업해야 할 것들에 대한 요구 사항입니다.
  • 디자인 결정은 좋은 객체지향 원리뿐만 아니라 여러분의 시스템이 어떻게 사용될 것인가에 근거하고 있어야함 합니다.
  • 고객에게 그들이 원하는 기능을 얻도록 하는 것과 코드가 유연하고 잘 설계되도록 유지하는 것 사이의 균형을 잡는 것이 여러분의 일입니다.
  • 때로는 특정 문제의 가장 좋은 코드가 이미 작성되어 있습니다. 만약 누군가가 이미 동작하고 있는 해결책을 가지고 있다면, 여러분 스스로 코드를 작성하는 데 시간을 지체하지 마십시오.

 

예)

  1. 특징 리스트 작성
    주어진 요구사항을 보고 특징 리스트를 작성한다.
  2. 유스케이스 다이어 그램
    특징 리스트를 가지고 유스케이스 다이어그램을 작성한다.
  3. 문제점 분해하기
    유스케이스 다이어 그램의 각 항목들을 개별 기능별로 크게 분할을 한다.
  4. 문제점 이해하기
    해당 기능에 대한 이해가 부족하면 문제 점을 이해하기 위한 분석을 한다.
  5. 요구사항 (요구 사항, 2장, 3장 요구 사항 참조)
    큰 문제를 작게 기능별로 나누어 기능 리스트를 작성한다.
    각 기능별로 유스케이스 작성 및 시나리오를 작성한다.
  6. 도메인 분석
    본문 분석 및 도메인 분석을 한다.
  7. 사전 설계
    본문 분석을 한 내용을 가지고 클래스 다이어그램 및 클래스 간의 관계를 정의 한다.
  8. 구현
    객체지향 원리를 사용하여 좋은 디자인으로 코드를 작성한다.
  9. 반복
    2번에서 나온 유스케이스 다이어 그램의 모든 기능을 완료 할 때까지 3 ~ 8번 항목을 반복하고 테스트 한다.

 

'Programs > OOAD' 카테고리의 다른 글

9. 반복하기, 테스팅하기  (1) 2012.09.28
8. 디자인 원리들  (5) 2012.09.25
7. 아키텍처  (0) 2012.09.25
6. 큰 문제들 해결하기  (3) 2012.09.22
5-2. 좋은 디자인 = 유연한 소프트웨어  (0) 2012.09.22
Posted by outliers
,