1. 요구 사항(Requirement) 요구 사항 (Requirements)시스템이 만족해야 할 요구 사항들을 정의합니다. 이 단계에서 기능적 요구 사항, 비기능적 요구 사항 등을 모두 포함해야 합니다. 표 Requirement ID (required) Requirement Name (required) Description Verification Method (required) Priorit 2024-08-19 프로그램 친화적 설계 #requirements definition
2. 블록 정의(Block Definition) 블록 정의(Block Definition)시스템의 구성 요소들을 정의합니다. 각각의 블록은 시스템의 물리적 또는 논리적 구성 요소로, 속성, 관계 등을 정의합니다. 표+는 Public을 의미하고, -는 Private을 의미합니다. Block Name Description Attributes Operations DrawingApplication 그 2024-08-19 프로그램 친화적 설계 #system architecture design
3. 패키지 정의(Package Definition) 패키지 정의(Package Definition)블록을 논리적으로 묶어서 패키지로 관리합니다. 패키지 내에 포함된 블록들이 모듈화되어 관리될 수 있습니다. 표 Package Name Description Contained Classes DrawingApp 그림판 소프트웨어의 주요 패키지 - DrawingApplication - Shape 2024-08-19 프로그램 친화적 설계 #system architecture design
4. 인터페이스 설계 (Interface Design) 인터페이스 설계 (Interface Design)시스템 내의 블록 간에 데이터를 주고받는 방법을 정의합니다. 인터페이스는 블록 간의 상호작용을 구체적으로 설계합니다. 표 Interface Name Description Methods IDrawingTool 도형을 그리는 도구를 위한 인터페이스 + draw(shape: Shape): void 2024-08-19 프로그램 친화적 설계 #interface design
5. 유스케이스 다이어그램(Use Case Diagrams) 유스케이스 다이어그램(Use Case Diagrams)사용자가 시스템과 어떻게 상호작용하는지 정의합니다. 시스템의 기능을 큰 틀에서 파악할 수 있게 됩니다. 표 Use Case Name Description Actors Preconditions Postconditions Open File 사용자가 파일을 열어 그림을 불러오는 기능 User 사용자가 2024-08-19 프로그램 친화적 설계 #behavior design