[소프트웨어공학]중간고사 시험 정리
류명운
·2015. 4. 17. 20:24
1장 다이어그램의 종류
->클래스, 객체, 유스케이스, 상태, 시퀸스, 활동, 통신, 컴포넌트, 배포, 복합체, 구조, 교류 개요, 타이밍, 패키지
2장 객체의 성질
추상화 : 객체를 모델링할 때, “필요로 하는 만큼의” 속성과 오퍼레이션을 추출하는 작업
상속 : 부모의 것(속성, 오퍼레이션)을 자식이 물려받음
다형성 : 동일한 이름을 가진 오퍼레이션이라도 클래스마다 각기 다른 행동을 수행
캡슐화 : 정보은닉(자신만이 오퍼레이션의 작동원리를 알고 있음)
메시지 전송 : 시스템 안에서 객체들이 서로 연결되어 행동하기 위한 수단
연관 : 다른 객체와 연관을 갖는 것
집합연관 : 하나의 객체가 다른 객체들의 조합에 의하여 만들어진 것
3장 클래스 아이콘에 표시할 수 있는 정보
패키지 : 다이어그램 요소를 그룹으로 묶을 때 사용
속성 : 클래스에 속한 특성에 이름을 붙인 것
오퍼레이션 : 클래스에 속한 행동을 나타냄
키워드 : 속성, 오퍼레이션의 리스트가 길 경우 << >> 안에 표현하여 이해하기 쉽게 함
책임 : 속성과 오퍼레이션이 무엇을 이루고자 하는지에 대한 설명
제약 : 중괄호 { } 안에 클래스가 따라야 하는 규칙을 나타냄
노트 : 속성,오퍼레이션,책임,제약 이외에 추가적인 정보를 나타내기위해 사용
4장 클래스 다이어그램 관계
관계: 클래스 사이의 의미가 어떻게 연결되는 지를 나타냄
연관: 클래스 사이의 기본적인 개념연결을 나타냄(제약 사용가능)
역활: 연관관계에 있는 각 클래스가 갖는 역할
연관 클래스: 어떤 연관에 대한 속성과 오퍼레이션을 갖는 클래스
링크 : 클래스:연관 / 객체:링크(밑줄그어표기)
다중성: 한쪽 클래스의 객체가 다른 쪽 클래스의 객체와 어떤 수적 관계를 가지고 연관이 되는지 나타냄
수식 연관 : 다중성을 가진 연관 관계에서 특정한 객체를 가려내기 위해 "수식자"를 사용
반사 연관 : 클래스가 자기 자신과 연관 관계를 가지는 것을 뜻함
상속(일반화): 속성과 오퍼레이션을 물려받음, 선과 빈 화살표로 표시
추상 클래스: 상속의 기본이 되는 클래스로만 사용(객체로 사용x, 이탤릭체로 쓴다)
의존 관계: 오퍼레이션이 다른 클래스와 의존관계를 맺는 것(점선과 화살표로 이음)
5장 직합연관 복합연관 인터페이스(실체화)
집합연관 : 하나의 클래스(전체클래스)가 여러 개의 컴포넌트 클래스로 구성
집합연관에 대한 제약 : 두 컴포넌트 중 하나만이 전체를 구성하는 일부가 될 수 있다.
복합연관 : 강한 집합연관에 의해 만들어진 클래스, 복합체에서 각 컴포넌트는 오직 하나의 객체 클래스에만 속할 수 있다.
복합체 구조 다이어그램 : 클래스의 내부 구조를 보여주기 위해 사용
인터페이스 : 클래스의 일정한 행동을 나타내는 오퍼레이션의 집합
실체화 : 클래스의 행동 중 일부가 xx(인터페이스)의 행동을 "실체화" 했다고 표현한다
인터페이스와 포트 : 클래스와 인터페이스의 연결 단자
가시성 : 해당 클래스(또는 인터페이스)의 속성과 오퍼레이션을 들여다 볼 수 있는 범위
public(+) : 다른 클래스가 마음껏 사용가능
protected(#) : 자기 자신과 상속받은 클래스만 사용가능
private(-) : 자기 자신만 사용가능
scope : 인스턴스 스코프, 클래스 스코프
6, 7장 유스케이스 포함, 확장,
유스 케이스 다이어그램: - (사용자)의 시점에서 시스템을 모델링하는 것
- 시스템 분석가가 사용자와 힘을 합쳐 시스템의 (사용 방법)을 결정하는데 도움을 주는 장치
- 쉽게 생각하면 시스템 사용에 대한 (시나리오의 집합)
- (요구사항)을 알아내는 과정
유스 케이스의 중요성: (유스 케이스)는 시스템을 사용하는 사용자에게서 정보를 얻어내는데 매우 유용하다.
유스 케이스의 목적: 시스템 사용자를 시스템 분석과 설계의 초기 단계에 포함시키는 것 / 사용자들이 진정으로 도움을 받을 수 있는 시스템을 만들 확률을 높이는 것
유스 케이스의 조건
- 유스 케이스는 행위자(Actor)가 관심을 가지고 있는 유용한 일을 달성하기 위한 시나리오의 집합을 명시한다.
- 모든 유스 케이스는 선행 조건과, 종료 조건이 명백히 있어야 한다.
- 행위자에 따라 각기 다른 유스케이스의 시나리오가 나올 수 있다.
유스 케이스 포함(include): 유스 케이스들 중 공통적인 진행단계를 뽑아내어 유스 케이스를 따로 만드는 것(기존의 유스 케이스를 재사용하는 기법)
유스 케이스 확장(Extension): 기존의 Use Case에 몇 개의 진행 단계를 덧붙여서 (새로운 유스 케이스)를 만들어내면 Use Case를 재사용할 수 있다.
유스 케이스 상속(Generalization): Class뿐만 아니라, Use Case도 상속 관계가 가능
유스 케이스 그룹핑(Grouping): Use Case Diagram이 여러 개의 Use Case를 가지고 있는 경우, Use Case들을 조직화하는 방법(관련된 Use Case를 하나의 Package로 그룹화, 탭이 붙은 폴더 그림으로 나타내고 이 안에 관련 Use Case들을 넣음)
유스 케이스 분석 Tip
->초기 클래스 다이어그램을 그리기 위해 만난 의뢰인과의 대화로부터 시작
->사용자와 만나 이야기할 때에는 설계하고자하는 시스템을 가지고 어떤 일을 하는지를 모두 묻도록 함
->Use Case 각각에 대해 간단한 설명을 붙여 봄.
->Use Case는 시스템 개발 과정의 모든 단계를 끌어낸다.
'삶의 늪에 들어 가기 전 > 정리중(미정리)' 카테고리의 다른 글
[운영체제]중간고사 시험 정리 (0) | 2015.04.19 |
---|---|
[소프트웨어공학]Use Case 정리 (0) | 2015.04.18 |
[소프트웨어공학]집합연관, 복합현관 인터페이스 그리고 실체화 정리 (0) | 2015.04.17 |
[소프트웨어공학]관계 개념 정리 (0) | 2015.04.17 |
[소프트웨어공학]객체지향 개념 정리(2/2) (0) | 2015.04.17 |