본문 바로가기

개발공부/정보처리기사

정보처리기사(정처기) 실기 - 2단원 총정리

2단원은 이것만 외우면 끝!


UML 다이어그램 구조적 다이어그램의 종류 : 클객컴배복패(클래스, 객체, 컴포넌트, 배치, 복합체 구조, 패키지)

- 클래스 다이어그램 : 객체 지향 모델링 시 클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램
- 객체 다이어그램 : 클래스에 속한 사물들, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현한 다이어그램
- 컴포넌트 다이어그램 : 시스템을 구성하는 물리적인 컴포넌트와 그들 사이의 의존 관계를 나타내는 다이어그램
- 배치 다이어그램 : 컴포넌트 사이의 종속성을 표현하고, 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현하는 다이어그램
- 복합체 다이어그램 : 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현하는 다이어그램
- 패키지 다이어그램 : 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현한 다이어그램


UML 다이어그램 행위적 다이어그램 종류 : 유시커상활타(유스케이스, 시퀀스, 커뮤니케이션, 상태, 활동, 타이밍)
- 유스케이스 다이어그램 : 시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현하는 다이어그램
- 시퀀스 : 객체 간 동적 상호 작용을 시간적 개념을 중심으로 메시지 흐름으로 표현한 다이어그램
- 커뮤니케이션 다이어그램 : 동작에 참여하는 객체들이 주고 받는 메시지를 표현하고, 메시지뿐만 아니라 객체 간의 연관까지 표현하는 다이어그램
- 상태 다이어그램 : 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지 표현하는 다이어그램
- 활동 다이어그램 : 시스템이 어떤 기능을 수행하는지를 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서대로 표현하는 다이어그램
- 타이밍 다이어그램 : 객체 상태 변화와 시간 제약을 명시적으로 표현하는 다이어그램
            
연관관계(Association) : 클래스가 서로 개념적으로 연결된 선 - 2개 이상의 사물이 서로 관련되어 있는 상태를 표현
의존관계(Dependency) : 하나의 클래스가 또 다른 클래스를 사용하는 관계 - 다른 클래스의 멤버 함수 사용
일반화관계(Generalization) : 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현 - 일반적인 개념을 부모라고 하고, 구체적인 개념을 자식이라 함
실체화관계(Realization) : 추상 클래스나 인터페이스를 상속받아 자식 클래스가 추상 메서드를 구현할 때 사용
포함관계(Composition) : 영구적이고, 집합 관계보다 더 강한 관계로 구성 - 집합 관계의 특수한 형태로, 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계를 표현
집합관계(Aggregation) : 하나의 객체에 여러 개의 독립적인 객체들이 구성되는 관계 - 하나의 사물이 다른 사물에 포함되어 있는 관계 표현
포함관계(Include) : 유스케이스 다이어그램의 관계 - 유스케이스를 수행할 때 다른 유스케이스가 반드시 수행되는 관계, 유스케이스 다이어그램에서는 다른 유스케이스가 나타내는 이벤트 흐름을 포함하는 관계를 유스케이스 간에 표현
확장단계(Extend) : 유스케이스 다이어그램의 관계 - 특정 조건에서 한 유스케이스로만 확장되는 관계
일반화관계(Generalization) : 유스케이스 다이어그램의 관계 - 추상적인 액터와 좀 더 구체적인 액터 사이에 맺어주는 관계

객체 : 시퀀스 다이어그램 구성요소

 - 객체는 위쪽에 표시되며 아래로 생명선을 가짐, 객체는 사각형 안에 밑줄 친 이름으로 명시
생명선 : 시퀀스 다이어그램 구성요소

 - 객체로부터 뻗어 나가는 점선 , 실제 시간이 흐름에 따라 객체의 생명주기 동안 발생하는 이벤트를 명시
실행 : 시퀀스 다이어그램 구성요소

 - 직사각형은 오퍼레이션이 실행되는 시간을 의미, 직사각형이 길어질수록 오퍼레이션 수행시간이 긺
메시지 : 시퀀스 다이어그램 구성요소

 - 객체 간의 상호 작용은 메시지 교환으로 이루어짐<br>한 객체에서 다른 객체로의 메시지를 전달하여 전달받은 객체의 오퍼레이션을 수행

UI : 유저와 시스템 사이에서 의사소통을 할 수 있도록 고안된 물리적 가상의 매개체(CLI, GUI, NUI, OUI)
UI 설계 원칙 : 직유학유 (직관성 - 유효성 - 학습성 - 유연성)
 - 직관성(Intuitiveness) : UI 설계 원칙 - 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 함
 - 유효성(Effciency) : UI 설계 원칙 - 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작
 -  학습성(Learnability) : UI 설계 원칙 - 초보와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작
 -  유연성(Flexibility) : UI 설계 원칙 - 사용자의 인터랙션을 최대한 포용하고, 실수를 방지할 수 있도록 제작

UI 품질 요구사항(ISO/IEC 9126 기반) : 기신사 효유이 (기능성 - 신뢰성 - 사용성 - 효율성 - 유지보수성 - 이식성)
 - 기능성(Functionality) : 적절성, 정밀성, 상호 운용성, 보안성, 호환성
 - 신뢰성(Reliability)  : 성숙성, 고장 허용성, 회복성
 - 사용성(Usability) : 이해성, 학습성, 운용성
 - 효율성(Efficiency) : 시간 효율성, 자원 효율성
 - 유지보수성(Maintainability) : 분석성, 변경성, 안정성, 시험성
 - 이식성(Portability) : 적용성, 설치성, 대체성


UI 설계 지침 : 사일 단결가 표접 명오 (사용자 중심,일관성,단순성,결과예측가능,가시성,표준화,접근성,명확성, 오류발생해결)
 - 사용자 중심 : 사용자가 이해하기 쉽고 편하게 사용할 수 있는 환경을 제공하며, 실사용자에 대한 이해가 바탕이 되어야 함
 - 일관성 : 버튼이나 조작 방법을 사용자가 기억하기 쉽고 빠르게 습득할 수 있도록 설계해야 함
 - 단순성 : 조작 방법은 가장 간단하게 작동되도록 하여 인지적 부담 최소화
 - 결과 예측 가능 : 작동시킬 기능만 보고도 결과 예측이 가능해야 함
 - 가시성 : 주요 기능을 메인 화면에 노출하여 쉬운 조작이 가능해야 함
 - 표준화 : 디자인을 표준화하여 기능구조의 선행 학습 이후 쉽게 사용 가능해야 함
 - 접근성 : 사용자의 직무, 연령, 성별 등이 고려된 다양한 계층을 수용해야 함
 - 명확성 : 사용자가 개념적을 쉽게 인지해야 함
 - 오류 발생 해결 : 사용자가 오류에 대한 상황을 정확하게 인지할 수 있어야 함

 

UI 개발을 위한 주요 기법  : 3C 분석 , SWOT 분석 , 시나리오 플래닝, 사용성 테스트(Usability Test)
- 3C 분석 : 고객(Customer), 자사(Company), 경쟁사(Competitor) 비교하고 분석
- SWOT 분석 : 기업 내부 환경과 외부환경을 분석해 Strength, Weakness, Opportunity, Threat 요인을 규정하고 이를 토대로 경영 전략 수립
- 시나리오 플래닝 : 상황 변화를 사전에 예측하고 다양한 시나리오 설계하는 방법
- 사용성 테스트(Usability Test) : 사용자가 직접 제품을 사용하면서 미리 작성된 시나리오에 맞추어 과제를 수행 한 후, 질문에 답하도록 하는 테스트


목업 : UI 화면 설계 구분 - 와이어프레임보다 더 실제처럼

UI 화면 설계 구분 : 와스프 (와이어프레임, 스토리보드, 프로토타입)
- 와이어프레임 : 이해관계자들과 화면 구성을 협의하거나 화면 단위로 대략적인 레이아웃만 구성한 문서
- 스토리보드 :UI 화면설계를 위해 와이어프레임과 DB연동,정책 등 구축하는 서비스의 정보가 수록된 문서
- 프로토타입 : 정적인 화면(와이어 프레임, 스토리보드)에 동적 효과를 적용해 실제 구현된 것처럼 시뮬레이션 할 수 있는 모형