
■ 공통 모듈
☞ 날짜 처리 위한 유틸리티 모듈 등과 같이 전체 프로그램 기능 중 공통적으로 사용 가능한 모듈 의미
1. 응집도
2. 결합도
▶ 설계 모듈 요소
유형 | 정적(Static) 요소 | 동적(Dynamic) 요소 |
구조 모델 | - 구성 요소 유형 및 유형 계통 - 구성 요소들 배열, 결합 관계 - 구성 요소들 인터페이스 - 구성 요소들 상호 작용 채널 |
- 동적 생성 및 소멸 - 동적 결합/연결 - 위치 이동, 복제 |
행위 모델 | - 입/출력 데이터 - 입/출력 맵핑 - 데이터 흐름 채널 |
- 제어 - 상호작용 프로토콜 - 상호 작용 실행 경로 - 상태 전이 - 처리 순서, 입/출력 순서, 알고리즘 |
■ 코드
☞ 데이터 사용 목적에 따라 식별, 분류, 배열하기 위해 사용하는 숫자, 문자 혹은 기호
☞ 대량 자료 식별하고 비슷한 유형 그룹으로 분류하여 순서대로 나열할 수 있고 자료 조회하거나 특정 조건 자료 추출 쉽게 할 수 있어 자료 시스템을 체계적으로 관리 가능
■ 객체 지향 (Object Orient)
☞ 실세계 개체를 속성과 메소드가 결합된 형태의 객체로 표현하는 개념
☞ 구현 대상을 하나의 객체로 보고 객체와 객체들 간 관계로 모델링 하는 방법
☞ 개발 측면에서 SW 위기 해결 위한 대안과 생산성 저하에 따른 재사용성, 확장성 필요에 의해 등장
☞ 사용 측면에서 컴퓨팅 환경에 대한 보다 많은 기능, 단순성, 사용 편의성 요구가 증대
▶ 객체지향 구성
▷ 클래스 (Class)
▷ 객체 (Object)
▷ 속성 (Attribute)
▷ 메소드 (Method)
▷ 메시지 (Message)
▶ 객체지향 기법
▷ 캡슐화 (Encapsulation)
▷ 추상화 (Abstraction)
▷ 다형성 (Polymorphism)
▷ 정보 은닉 (Information Hiding)
▷ 상속성 (Inheritance)
▶ 다형성과 상속성 비교
구분 | 다형성 (Polymorphism) | 상속성(Inheritance) |
개념 | 동일 인터페이스에 대해 서로 다른 처리 방식으로 구현 가능한 특성 | 부모(Super) 클래스 Method, Attribute 물려 받는 특성 |
특징 | 동적 Binding (Run Time) | 정적 Binding (Compile Time) |
구조 | 수직/수평적 구조 | 수직적 구조 |
장점 | 명령 단순화, 메모리 절약, 높은 응집도 실현 가능 | 재사용성 향상, 중복 제거, 유지보수성 향상됨 |
단점 | 코드 중복 개발 가능성 | 과도한 상속은 결합도 상승 요인 |
▶ 다형성의 오버로딩과 오버라이딩
구분 | 오버라이딩 (Overriding) | 오버로딩 (Overloading) |
개념 | 상속관계에서 상위 클래스 메소드를 하위 클래스에서 재정의 | 하나의 클래스 내에서 같은 이름으로 여러 개 메소드 정의 |
메소드 명 | 상속관계 내 동일 | 특정 클래스 내 동일 |
매개변수 개수, 타입 | 반드시 통일 | 개수 또는 타입이 다름 |
리턴 타입 | 기본적으로 동일 | 상관 없음 |
접근 제한 | 범위 같거나 넓어야 함 | 상관 없음 |
▶ 객체지향 설계 원칙
▷ 단일 책임 원칙 (SRP)
▷ 개방 폐쇄 원칙 (OCP)
▷ 리스코프 치환의 원칙 (LSP)
▷ 인터페이스 분리 원칙 (ISP)
▷ 의존성 역전의 원칙 (DIP)
* 디자인 패턴 (Design Pattern)
☞ 반복적으로 나타나는 문제들 해결해 온 전문가들 경험을 모아서 정리한 일관된 솔루션
☞ 설계 재사용을 통해 생산성 향상을 위한 기법
☞ SW 프로그래머들이 유용하다고 생각되는 객체들 간 일반적인 상호작용 방법들을 모은 목록
☞ GoF (Gang of Four) 분류가 많이 활용되고 있음
▶ 디자인 패턴 구성
▷ 패턴 이름 및 유형
▷ 문제 및 배경
▷ 해결
▷ 사례
▷ 결과
▷ 샘플 코드
□ GoF 디자인 패턴의 분류
1. 생성 패턴 (Creation Pattern)
2. 구조 패턴 (Structural Pattern)
3. 행위 패턴 (Behavioral Pattern)
■ 객체 지향 분석
- 사용자 요구사항 분석하여 요구되는 사항과 관련된 모든 객체, 클래스와 연관된 속성, 연산, 관계 등을 정의하여 모델링하는 작업
- 분석가에게 중요한 클래스, 객체, 속성, 연산 등을 표현해서 문제를 모형화 할 수 있게 해줌
□ 객체 지향 분석 방법론
- 럼바우 방법론 분석 절차
① 객체 모델링 (Object Modeling)
② 동적 모델링 (Dynamic Modeling)
③ 기능 모델링 (Function Modeling)
'🎓BBS' 카테고리의 다른 글
[정보처리기사] 2022년 정보처리기사 실기 정리 (0) | 2022.04.18 |
---|---|
[정보처리기사] 2022년 정보처리기사 필기 4-1, 4-2, 4-3 인터페이스 설계 (0) | 2022.04.18 |
[정보처리기사] 2022년 정보처리기사 필기 2-2 UI 설계 (0) | 2022.04.18 |
[정보처리기사] 2022년 정보처리기사 필기 2-1 UI 요구사항 확인 (0) | 2022.04.18 |
[정보처리기사] 2022년 정보처리기사 필기 1-3 분석모델 확인 (0) | 2022.04.18 |