Index
Search
1. 객체지향 분석과 설계
•
시스템을 상호작용하는 객체들로 모델링
◦
객체의 협력과 상호작용을 표현하는 모델
•
객체지향 분석
◦
시스템이 기능적으로 무엇을 수행하는지 설명
◦
유즈케이스 다이어그램, 명세
◦
클래스 다이어그램, 상호작용 다이어그램
◦
구현과 관련된 제약사항 고려 X
•
객제치향 설계
◦
시스템을 어떻게 만들것인가 설명
•
플로우
2. 요구사항 추출
2.1. 액터
•
시스템과 상호작용하는 사람이나 외부시스템
•
요구사항 추출의 첫 단계
2.2. 시나리오
•
액터가 보는 시스템의 단일 기능을 이야기 식으로 기술한 것
•
시나리오 vs 유즈케이스
◦
시나리오 - 특정 사례
◦
유즈케이스 - 일반 사례
•
예시
2.3. 유즈케이스
•
시나리오는 유즈케이스의 인스턴스
◦
시나리오는 특정 한 사례
◦
유즈케이스는 유사 기능의 모든 사례
•
해당 기능의 모든 가능한 시나리오를 명세한 것
•
기본 이벤트 흐름
◦
시스템과 액터의 성공적인 상호작용 기술
•
대체 이벤트 흐름
◦
부수적이며 선택적인 상호작용 기술
2.4. 액터와 유즈케이스간의 관계
•
통신 관계
◦
액터와 유즈케이스간의 관계
•
확장 관계
◦
기본 유즈케이스에서 예외적이며 선택적인 사건의 흐름을 떼어냄
•
포함 관계
◦
유즈케이스들에서 존재하는 공통의 기능을 분리
•
상속 관계
◦
액터 / 유즈케이스 간의 상속 관계
3. 분석
3.1. 분석 모델
•
종류
•
기능 모델
◦
유즈케이스와 스토리 방법 사용
◦
유즈케이스 다이어그램
▪
소프트웨어 시스템과 외부 환경 상호작용 표현
•
분석 객체 모델
◦
응용 도메인을 설명한 개념 모델
◦
클래스 다이어그램
◦
엔티티 / 경계 / 제어 객체
•
동적 모델
◦
개념 모델 확장
◦
액터와 시스템간의 상호작용 표현 (시퀸스 다이어그램)
▪
개별 클래스에 책임 할당
◦
단일 객체의 상태 변화 모델링 (상태 머신 다이어그램)
▪
제어 객체를 대상으로 함
▪
객체 행위를 정형화
3.2. 분석 활동
•
주요 활동
◦
엔티티/경계/제어 객체 찾기
◦
유즈케이스 → 시퀸스 다이어그램
◦
연관, 집합체 찾기
◦
속성 찾기
◦
객체의 상태, 상속 관계등 모델링
•
객체
◦
엔티티 객체 - 코어 정보
◦
경계 객체 - 인터페이스
◦
제어 객체 - 실제적 기능 수행 부분. 경계 객체와 엔티티 객체 사이의 조정자
4. 시스템 설계
•
분석 모델을 시스템 설계 모델로 변환하는 것
•
분석 모델은 시스템 내부구조, 구현 방법 등에 대한 정보는 포함 X
•
결과
◦
소프트웨어 아키텍처 결정
•
목표 설정
◦
시스템 설계의 시작으로 비기능 요구사항과 응용 도메인으로부터 유도됨
•
플로우
5. 통합 프로세스 (Unified Process)
5.1. 통합 프로세스 (UP)
•
객체지향 분석과 설계를 위한 방법론
•
주요 특징
◦
반복적 개발
◦
유즈케이스 기반 개발
◦
아키텍처 중시
◦
프로젝트 초기에 중요한 위험 다룸
5.2. UP 생명 주기
•
4 단계로 구성됨. 정련,. 구축, 전이는 각각 일련의 반복으로 구성
◦
도입, 정련, 구축, 전의
•
예시)
•
도입
◦
시스템 범위 설정
◦
주요 요구 사항 나열
◦
대략적인 아키텍처 검토
◦
타당성 조사
•
정련
◦
핵심 아키텍처 구축, 대부분 요구사항 정의
◦
80% 유스케이스 상세 작성
◦
중요 요구사항 설계 및 구현 (전체의 약 15%)
•
구축
◦
남아 있는 덜 중요한 부분을 구현하고 통합함
◦
최종적으로 고객에게 인도 준비
•
전이
◦
사용자 환경에서 시스템을 설치
◦
반복은 사용자 피드백을 받아 보수하는 작업