[정보처리기사_필기] 소프트웨어 공학 <3>
- Information Logs/IT Notes
- 2014. 4. 2. 14:49
■ 객체 지향형 프로그래밍
✔ 객체 : 자료구조부분(속성, Data) + 연산부분(함수, 행동)
- 속성 : 객체의 정보
- Method : 연산
- 캡슐화
✔ 클래스 : 객체(인스턴스)들의 모임
- 추상화
- 클래스에 정의된 연산이 객체들에 상속
✔ 메시지
- 객체들간의 상호작용을 일으키는 수단
✔ 캡슐화(Encapsulation)
- 속성과 함수를 하나로 묶는다
- 정보 은폐 : 변형 방지
- 장점 : 재사용, 인터페이스 단순화, 오류가 적다
✔ 정보은닉 : 고려되지 않은 영향의 최소화
✔ 추상화 : 불필요한 부분 생략
✔ 상속성 : 이미 정의된 속성과 연산을 재정의 할 필요 없이 물려 받는다.
✔ 다형성 : 같은 메시지에 다른 결과들이 나타난다.
■ 객체 지향형 프로그래밍의 단계와 분석
✔ 개발 단계 : 계획 -> 분석 -> 설계 -> 구현 -> 테스트및 검증
✔ 객체지향 분석
- 클래스 결정, 클래스와 연관된 속성과 연산, 클래스간의 관계를 정의하여 모델링
✔ 객체지향 분석의 방법론
- 럼바우의 분석 기법
➤ 객체 모델링 -> 동적 모델링 -> 기능 모델링
■ 소프트웨어의 재사용
✔ 이미 개발된 소프트웨어를 이용하여 새로운 소프트웨어를 개발
✔ 소스코드가 가장 많이 사용됨
✔ 재사용의 장점
- 비용과 시간 단축
- 생산성 증가
- 품질향상
- 위험 저하
- 지식과 문서 공유
■ 소프트웨어 재공학
✔ 개발의 생산성이 아니라 유지보수의 생산성으로 위기 해결
✔ 역공학
- 프로젝트의 개발단계를 거슬러 올라가며(분석하며) 문제를 해결해가는 작업
■ CASE
✔ 소프트웨어의 단계를 컴퓨터가 하도록 자동화
✔ 분류 : 상위CASE, 하위CASE, 통합CASE