시스템 분석 및 설계! 객체지향 분석과 설계
1. 객체 ( Object )
* 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 소프트웨어 모듈
* 데이터(속성) 과 절차(메소드 ) 를 일체화한 것
2. 속성 ( Attribute )
* 객체가 가지고 있는 데이터 값들
3. 메소드( Method )
* 객체에 정의된 연산, 객체의 상태롤 참조하거나 변경하는 수단이 됨
4. 객체의 기본 법칙 ( 특징 )
1) 캡슐화 ( ★ )
-> 데이터 구조와 데이터를 조작하는 연산을 하나로 묶어 모듈 내에서 결합 되도록 하는 것
-> 캡슐화 된 객체를 재사용 할 수있음
-> 객체들 간에 정보 교환이 가능 함
-> 정보은닉과 가장 밀접한 관계
2) 다형성 ( 폴리모피즘 )
* 객체마다 똑같은 메시지 ( 호출 ) 을 해도 결과는 다를 수 있다는 특징
5. 객체 지향 분석과 설계
1) 객체지향 분석 ( OOA )
* 사용자의 요구 사항을 분석하여 클래스, 속성, 연산, 관계등을 정의하여 모델링 하는 작업
* 공통된 속성을 명백히 표현할 수 있음
2) 객체 지향 분석과 설계를 위한 방법론
1. 럼바우 의 분석 기법
* 객체 모델링 기법 ( OMT ) 이라고도 함
* 모든 구성 요소를 그래픽 표기법을 이용하여 모델링 함
* 분석 절차
- 객체 모델링 -> 동적 모델링 - > 기능 모델링
동적 모델링 : 객체들 사이의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위
기능 모델링 : 프로세스 간의 데이터 흐름을 중심으로 처리과정 표현하는 모델링
2. 코드와 요돈의 기법
* E-R 다이어그램 을 사용하여 개체의 활동들을 데이터 모델링 하는데 초점을 둔 기법
3. 설계 기법
* 분석 사항을 하향식 방법으로 설계에 접근하여 프로토타입으로 개발하는 설계 기법
* 메시지 프로토콜을 간단하게 유지
* 전체 시스템 규모를 최소화함
* 구성 요소
- 문제 영역 요소
- 사람과 상호 작용 요소
- 작업 관리 요소
- 자료 관리 요소
4. Booch 의 기법
* 시스템의 형성 구조를 모형화 하는 데이터 흐름 DFD 을 사용해서 함
* 전체 시스템의 가시화와 실시간 처리에 유용함
* 설계를 위한 문서화 기법을 강조한 기법
* 분석 단계와 구현 세부 사항에 취약함