[ Design Process ]

 Design : 고객의 요구에 기반하여 소프트웨어 컴포넌트와 그들의 관계를 정하는 생산적인 활동

 Implementation : 프로그램으로 만드는 과정

 Design Implementation은 연속적으로 나타난다. Design 할 때 Implementation issue를 고려 해야 한다.

 

[ 객체 지향 설계 프로세스 ]

System context

(Class Diagram)

&

Interactions

(Use Cases Diagram)

 시스템 배경과 시스템 사용에 대한 모델을 이해하고 정의한다.

 System context model(시스템 배경 모델과) : 시스템 배경 모델은 환경내에 있는 다른 시스템을 기술하는 정적인 모델이다. 시스템 배경모델은 전체적인 시스템 구조에 대한 간단한 블록 다이어그램이 생성되는 곳에서 연관을 사용하여 표현할 수 있다.

 System Interaction model(시스템 사용 모델 : 시스템 사용 모델은 시스템이 환경과 실제로 상호작용하는 방법을 기술하는 동적인 모델이다. 상호작용에 대해 너무 상세한 내용을 포함하지 않는 추상 기법을 사용해야 한다.

Architectural design

(Package Diagram)

 설계 대상 소프트웨어 시스템과 시스템의 환경 사이의 상호작용이 정의되면, 시스템 아키텍처 설계의 기초로서 이 정보를 사용할 수 있다. 물론 이것을 아키텍처 설계의 원리에 대한 일반적인 지식 그리고 더욱 상세한 도메인 지식과 결합할 필요가 있다.

 주요 컴포넌트와 상호작용을 나타낸다.

Object identification

(Class Diagram)

 시스템의 주요 객체를 식별한다. 시스템내의 필수적인 객체에 대해 확실히 한다.

 객체들이 설계 프로세스 동안 드러나지만 대개는 다른 적절한 객체들을 찾아내고 문서화하여야 한다.

 비록 객체 식별이라는 용어를 많이 사용하지만, 실제로는 객체 클래스를 식별하는 것이며 설게는 이런 클래스들을 사용하여 기술된다.

 초기에 식별된 객체 클래스들은 정제되어야 하며, 설계 작업이 점차 진행될수록 프로세스의 이 단계를 다시 수행해야 한다.

Model development

 객체 인터페이스를 명세화한다.

 설계 모델은 시스템 내의 객체 혹은 객체 클래스, 그리고 이 객체 사이의 관계를 보여준. 설계 모델은 본질적으로 설계에 해당하므로, 시스템의 요구사항과 시스템의 구현 사이의 연결이다.

 불필요한 세부 내역이 설계 모델과 시스템 요구사항 사이의 관계를 가리지 않도록 추상화되어야 한다.

 Structural model(정적 모델 : Class Diagram) : 시스템의 정적인 구조를 시스템 객체 클래스와 객체 클래스간의 관계로서 묘사한다. 단계에서 문서화될 수 있는 중요한 관계는 일반화 관계, 사용/피사용 관계, 결합 관계 등이다.

 Dynamic model(동적 모델 : Sequence Diagram) : 시스템의 동적인 구조를 묘사하고, 시스템 객체(객체 클래스가 아님) 사이의 상호 작용을 보여준다. 문서화될 수 있는 상호작용으로는 객체에 의해 만들어지는 서비스 요청의 순서, 시스템의 상태가 이런 객체 상호작용과 관련되는 방식 등을 들 수 있다.

Interface specification

(Class Diagram)

 객체들과 서브시스템들이 병행해서 설계될 수 있도록 인터페이스를 명세화할 필요가 있.

 표현은 감추고, 데이터에대한 접근과 갱신을 위한 객체 오퍼레이션을 제공해야한다. 만일 표현이 감추어지면, 이 속성을 사용하는 객체에게 영햐을 미치지 않고 변경될 수 잇어 유지 보수가 더욱 용이한 설계를 유도한다.

 

댓글이나 공감 남겨주는 사람 착한사람

 

'학사 그리고 석사 > 소프트웨어공학' 카테고리의 다른 글

Host-target development  (0) 2019.10.28
Implementation Issues  (0) 2019.10.28
Requirements Management  (0) 2019.10.28
Requirements Validation  (0) 2019.10.28
Requirements Specification  (0) 2019.10.28

+ Recent posts