소프트웨어 설계 1과목-2

2023. 1. 26. 22:51Others/정보처리기사

UML(Unified Modeling Language)

- 시스템 분석, 설계, 구현 등의 개발 작업 과정에서 각 이해 관계자들의 의사소통을 보다 원활하게 이뤄지도록한 시각적 모델링 언어

- 객체지향 언어와 밀접한 관련이 있으므로 객체지향 모델링 언어라고도함

- 소프트웨어 시스템, 업무 모델링, 시스템의 산출물을 규정하고 시각화하며 문서화하는 모델링 언어

 

UML 관계 개요 및 종류

- 사물 : 다이어그램에서 관계가 형성될 수 있는 대상으로 다이어그램의 가장 중요한 기본 요소 

- 관계 : 사물과 사물 사이의 연관성

 

* 연관 관계

- 사물과 사물 사이를 실선으로 연결하여 표기, 방향성이 있으면 화살표로 표시

- 서로에게 영향을 주는 양방향 관계는 그냥 실선으로 표시

- 다중성은 숫자로 표현

 

* 집합 관계

- 하나의 사물이 다른 사물에 포함되어 있는 관계

- 전체는 각각의 객체와는 독립적

- 키보드, 모니터, 프린터는 다른 여러 컴퓨터에 연결하여 사용가능

 

* 포함 관계

 

- 전체 사물의 변화가 포함되는 사물에 영향을 주는 관계

- 전체와 각각의 객체는 종속적으로 이루어짐

- 팔, 다리와 같은 신체구조는 그 사람이 누구냐에 따라 영향

 

* 일반화 관계

- 하나의 사물이 다른 사물에 비해 더 일반적인지 혹은 세부적인지 표현

- 입출금 계좌, 적금 계좌, 예금 계좌는 계좌

 

* 의존 관계

- 연관성은 있으나 필요에 의해 일정 시점에만 연관을 유지하는 관계

 

* 실체화 관계

- 행위 또는 인터페이스 중심으로 서로를 그룹화할 수 있는 관계

 

UML 다이어그램

- 사물과 관계를 도식화하여 표현

- 다양한 관점에서 시스템을 가시화한 뷰를 제공함으로써 이해자들간의 의사소통에 도움을 줌

 

 * 구조적 다이어그램

- 클래스 다이어그램 : 클래스와 클래스가 갖는 속성, 클래스 사이의 관계를 표현

- 객체 다이어그램 : 클래스에 속한 사물, 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현

- 컴포넌트 다이어그램 : 컴포넌트간의 관계, 인터페이스를 표현

- 배치 다이어그램 : 산출물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현

- 복합체 구조 다이어그램 : 클래스, 컴포넌트가 복합적 구조를 갖는 경우 해당 내부 구조를 표현

- 패키지 다이어그램 : 클래스 모델 요소들을 그룹화한 패키지들의 관계를 표현

 

* 동적 다이어그램

- 유스케이스 다이어그램 : 사용자의 요구사항을 분석/사용자와 사용사례로 구성됨

- 시퀀스 다이어그램 : 상호작용하는 시스템이나 객체들이 주고받는 메시지를 표현

- 커뮤니케이션 다이어그램 : 동작에 참여하는 객체들이 주고받는 메시지, 객체간의 연관까지 표현

- 상태 다이어그램 : 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호작용에 따라 변하는 상태를 표현

- 활동 다이어그램 : 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리 흐름을 순서에 따라 표현

- 상호작용 개요 다이어그램 : 상호작용 다이어그램간의 제어 흐름 표현

- 타이밍 다이어그램 : 객체 상태 변화에 시간제약을 표현

 

UI(User Interface)

- 사용자와 시스템간의 상호작용이 원활하게 이뤄지도록 도와주는 장치나 소프트웨어를 의미

- 사용자의 만족도에 가장 큰 영향을 미치는 중요한 요소로 소프트웨어 영역 중 변경이 가장 많이 발생하는 부분

- 사용자의 편리성과 가독성을 높임으로써 작업 시간을 단축시키고 업무에 대한 이해도를 높여준다.

- 최소한의 노력으로 원하는 결과를 얻을 수 있게 한다.

 

* 사용자 인터페이스 구분

- CLI(Command Line Interface) : 명령과 줄이 텍스트 형태로 이뤄지는 인터페이스

- GUI(Graphic User Interface) : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스

- NUI(Natural User Interface) : 사용자의 말이나 행동으로 기기를 조작하는 인터페이스

 

* 사용자 인터페이스 기본 원칙

- 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야함

- 유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야 함

- 학습성 : 누구나 쉽게 배우고 익힐 수 있어야함

- 유연성 : 사용자의 요구사항을 최대한 수용하고 실수를 최소화해야 함

 

* 사용자 인터페이스 설계시 고려사항

- 사용자 중심 : 사용자가 쉽게 이해하고 편리하게 사용할 수 있는 환경을 제공

- 일관성 : 버튼이나 조작 방법 등을 일관성 있게 제공하므로 사용자가 쉽게 기억하고 습득할 수 있게 설계되어야함

- 단순성 : 조작 방법을 단순화시켜 인지적 부담을 감소시켜야함

- 결과 예측 가능 : 작동시킬 기능만 보고도 결과를 미리 예측할 수 있게 설계해야함

- 가시성 : 메인 화면에 주요 기능을 노출시켜 최대한 조작이 쉽도록 설계해야함

- 표준화 : 기능 구조와 디자인을 표준화하여 한 번 학습한 이후에는 쉽게 사용할 수 있도록 설계해야함

- 접근성 : 사용자의 연령, 성별, 인종 등 다양한 계층이 사용할 수 있도록 설계햐야함

- 명확성 : 사용자가 개념적으로 쉽게 인지할 수 있도록 설계해야함

- 오류 발생 해결 : 오류가 발생하면 사용자가 쉽게 인지할 수 있도록 설계해야함

 

UI 설계 도구

- 사용자의 요구사항에 맞게 UI의 화면 구조나 화면 배치 등을 설계할 때 사용하는 도구

- 와이어 프레임, 목업, 스토리 보드, 프로토타입, 유스케이스 등

 

* 와이어 프레임

- 기획 단계 초기에 제작하는 것으로 페이지에 대한 개략적인 레이아웃이나 UI 요소에 대한 뼈대를 설계하는 단계

- 각 페이지의 영역 구분, 콘텐츠, 텍스트 배치 등을 화면 단위로 설계한다.

 

* 목업 

- 디자인, 사용방법, 평가 등을 위해 와이어 프레임보다 좀 더 실제 화면과 유사하게 만든 정적 형태의 모형으로 실제로 구현되지는 않는다.

 

* 스토리 보드

- 와이어 프레임에 콘텐츠에 대한 설명, 페이지 간 이동 흐름 등을 추가한 문서

- 디자이너와 개발자가 최종적으로 참고하는 작업 지침서로 정책, 프로세스, 콘텐츠 구성, 와이어 프레임, 기능 정의 등 서비스 구축을 위한 모든 정보가 들어가 있다.

 

* 프로토타입

- 와이어프레임이나 스토리 보드 등에 인터렉션을 적용함으로써 실제 구현된 것처럼 테스트가 가능한 동적 형태의 모형

- 사용성 테스트나 작업자 간 서비스 이해를 위해 작성하는 샘플

 

* 유스케이스 

- 사용자 측면에서의 요구사항으로 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술

- 사용자의  요구사항을 빠르게 파악함으로써 프로젝트 초기에 시스템의 기능적인 요구를 결정하고 그 결과를 문서화할 수 있다.

- 자연어로 작성된 사용자의 요구사항을 구조적으로 표현한 것으로 일반적으로 다이어그램 형식으로 묘사된다.

 

UI 요구사항 확인

- 새로 개발할 시스템에 적용할 UI 관련 요구사항을 조사해서 작성하는 단계

 

 

 

'Others > 정보처리기사' 카테고리의 다른 글

소프트웨어 설계 1과목-3  (2) 2023.01.27
소프트웨어 설계 1과목-1  (0) 2023.01.26