OOA : Domain의 Concepts 와 Objects를 찾는 단계
Concepts + requirement => search objects
OOD : Object를 정의, 서로 어떻게 Collaboration 하는지 정의
class Diagram + Sequence Diagram
Software Devlopment
Solving Problem with Software in Computer
SASD : Procedurral Programming
절차지향 프로그래밍
Structured Analysis & Structured Design
Traditional software development methodology
- Focus : Data structures & Algorithm & Sequencing of Steps
- 순차적인 처리가 중요
- Algorithm 과 Structure 간의 dependency가 없음
Procedure(algo)가 Structure를 Use 하는 관계
- DFD (Data Flow diagram)로 시스템의 정보 흐름을 나타냄
- FSM (Finite State Machine) 로 함수 Control 을 나타냄
OOAD : Object-Oriented Programming
객체지향 프로그래밍
Object-Oriented Analysis and Design = OOA + OOD
Dynamic draven model
- Focus : Objects & their Communications
- Object : Data & Operations
- Communication : ocject Calls
- Object간의 Communication을 통해 system functionalities Provide
OOA (Object-Oriented Analysis)
UseCase (functional Requirement), Domain
-> Domain model
: 문제를 정의하고, 정의로 부터 Model를 제작하여 중요한 특성들을 보여줌
- Object Model : 정적 구조와 관계를 보여주는 Object Diagram 작성
- Dynamic Model : 시간 흐름에 따른 시스템의 변화를 보여주는 State Diagram 작성
- Function Model : Data 값이 변화는 과정을 보여주는 것으로 DFD(자료 흐름도) 작성
OOD (Object-Oriented Design)
Sequence, Class, Communication, Timing, Interaction Overview...
-> Interaction Diagrams
Mapping Design to Code (translate)
- Object Design
- 구현에 필요한 상세한 내역을 설계 모형을 제작, 상세화
- System Design
- 시스템의 구조를 서브시스템으로 분해
- 성능 최적방안, 문제 해결전략, 자원분배 확정