Software engineering #6 object oriented design
-
Upload
o-joun-lee -
Category
Documents
-
view
356 -
download
0
description
Transcript of Software engineering #6 object oriented design
2012 년도 N4tech ¼ 분기 세미나
이오준2012.02.10( 금 )
Schedule 소프트웨어 공학
1st weak - chapter 01. 소개
2nd weak - chapter 02. 프로세스
3rd weak - chapter 03. 계획
4th weak - chapter 04. 요구 분석
5th weak - chapter 05. 설계원리와 아키텍처
6th weak - chapter 06. 객체지향 설계
7th weak - chapter 07. 상세 설계와 UI 설계
8th weak - chapter 08. 코딩
9th weak - chapter 09. 테스팅
10th weak - chapter 10. 유지 보수
11th weak - chapter 11. 품질
12th weak - chapter 12. 첨단 소프트웨어 공학 기술
객체지향 분석과 설계 – 객체 지향 분석과 설계는 명확한 구분이 어렵다 .
사용 사례다이어그램
클래스 후보선정 및 개념적
다이어그램 작성
순서 다이어그램
액티비티 다이어그램
상태 다이어그램 클래스
다이어그램
객체지향
객체 – 자료와 이에 대한 함수를 가진 모듈 .
클래스 – 객체들의 속성과 적용 연산을 정의하고 있는 틀 .
연관 관계 – 객체가 다른 객체의 동작을 이용하는 관계 .
집합 관계 – 객체가 다른 객체를 자신의 구성 요소로 이용하는 관계 .
상속 관계 – 자식 클래스가 부모 클래스의 속성과 연산을 그대로 물려 받는 관계 .
객체 사이의 관계
클래스 찾기
엔티티 클래스
시스템에 저장되어 사용될 자료를 보관하는 역할 .
- 사용 사례를 이해하기 위하여 사용자와 개발자가 명확히 규정한 용어 .
- 사용 사례에서 반복되어 나오는 용어 .
- 시스템이 계속 추적해야 하는 실 세계의 엔티티 .
- 자료 저장소 또는 단말 .
- 자주 사용하는 응용 도메인 용어 .
경계 클래스
시스템 외부의 엑터와 상호작용하는 클래스 .
- 사용자가 자료를 시스템에 입력하기 위해 필요한 양식과 윈도우 찾기 .
- 시스템이 사용자에게 반응하는 메시지나 알림 찾기 .
- 인터페이스의 시각적 형태를 모델링 하지 않기 .
- 인터페이스를 나타내는 언어는 구현과는 관계 없는 용어 이용하기 .
제어 클래스
자료를 다른 클래스로부터 받아 처리하는 클래스 .
- 사용 사례를 여러 개의 소규모 이벤트로 나눌 경우 , 사용 사례당 한 개
이상의 제어 클래스 찾기 .
- 사용 사례에서 엑터 하나당 하나의 제어 클래스 찾기 .
- 제어 클래스는 사용 사례 또는 사용자 세션 안에서만 유효함 .
연관 관계 찾기
- 동사 구를 찾기 .
- 연관 관계와 역할에 대한 적당한 이름을 붙이기 .
- 주요 특징을 나타내기 위해 수식어를 사용하기 .
- 다른 연관 관계에 의해 유추될 수 있는 관계는 제거하기 .
- 연관 관계가 확실해질 때까지 다중도는 생각하지 않기 .
- 너무 많은 연관 관계를 형성하지 않기 .
패키징 하기
클래스를 논리적으로 그룹핑 하여 서브 시스템으로 나누는 것 .
- 같은 사용 사례에서 발견된 객체는 같은 서브 시스템으로 구분하기 .
- 서브 시스템 사이에 데이터를 전달하기 위해 사용되는 객체는 단독 서브
시스템으로 만들기 .
- 서브 시스템 경계에 있는 연관 관계는 최소화 하기 .
- 같은 서브 시스템 안에 있는 모든 객체는 기능적으로 연관되도록 하기 .
동적 모델링
순서 다이어그램
상태 다이어그램
액티비티 다이어그램
클래스 다이어그램
클래스 다이어그램
감사합니다 .
질문 & 답변