[정보처리기사] 1. 소프트웨어 설계 (2)

2024. 2. 10. 18:59자격증/정보처리기사

[UML]

[개념 모델링] Conceptual Modeling
==도식화, 어떻게 구조화?
-Use Case Diagram,  Data flow Model, State Model, Goal-based Model, User Interactions, Object Model, Data Model

[UML] Unified Modeling Language
: 객체지향 소프트웨어 개발 과정에서 모델링 기술과 방법론을 통합하여 만든 범용 모델링 언어

특성
-비주얼화, 문서화, 명세화, 구축

관점
-기능적 관점: 사용자 측면. 사용 사례 모델링. Use Case Diagram
-정적 관점: SW 내부의 구성 요소 사이의 구조적 관계. Class Diagram
-동적 관점: 시스템의 내부 동작 Sequence, State, Activity Diagram

기본 구성
-사물 Things; 객체 간의 관계 형성 대상
-관계 Relationship; 객체 간의 연관성 표현
-다이어 그램 Diagram; 객체의 관계 도식화. 정적 모델>구조 다이어그램/동적 모델>행위 다이어그램

*UML 확장 모델에서 스테레오 타입 객체를 표현할 때 사용하는 기호는 guillemet << (확장 요소) >>이다.

*접근 제어자
+ public. - private. # protected. ~ package.

*연관 관계 다중성 표현



[럼바우 객체지향 분석 기법]
: 소프트웨어 구성 요소를 그래픽으로 모형화. ==객체 모델링 기법.
-객체 모델링: ==정보 모델링. 객체들 간의 관계를 규정하여 객체를 다이어그램으로 표시.
-동적 모델링: 제어 흐름, 상호작용, 동작 순서 등. 시간 흐름에 따라 상태 다이어그램.
-기능 모델링: 여러 프로세스 간의 자료 흐름을 표시. 데이터 흐름도.

[UML 다이어그램의 분류]
-구조적 다이어그램
; 클래스, 객체, 복합체 구조, 배치, 컴포넌트
-행위 다이어그램
; 유스케이스, 활동, 상태 머신, 콜라보레이션, 상호작용(순차, 상호작용 개요, 통신, 타이밍)

[클래스 다이어그램 관계 표현]
: 객체 간의 관계를 추상화한 모델을 논리적 구조로 표현


UML 관계 표현


UML 연관 관계


UML 의존 관계

UML 일반화 관계
; 상속 관계 Is A. 부모(슈퍼)클래스/자식(서브)클래스

UML 집합 관계





UML 포함 관계; 강한 집합 연관 관계


UML 실체화 관계; 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계.



[Use Case Diagram]
; Actor가 어떤 Use Case


구성 요소
-시스템 경계: 시스템이 제공해야 하는 use case들의 범위.
-액터: use case를 실행하도록 요구할 수 있는 존재.
-유스케이스: 시스템이 제공해야 하는 개별적인 서비스 기능.
-접속 관계: actor/use case 또는 use case/use case 사이에 연결되는 관계
-사용 관계
-확장 관계

작성 단계
-액터 식별 > use case 식별 > 관계 정의 > 구조화


[소프트웨어 아키텍처]
: 개발 대상 시스템의 전반적인 구조를 체계적으로 설계 하는 것.

ISO/IEC 9126 모델
: SW 품질 특성과 평가를 위한 국제 표준.
-내외부 품질; 기능성 Functionality, 신뢰성 Reliability, 사용성 Usability, 효율성 Efficiency, 유지보수성, 이식성
-사용 품질; 효과성, 생산성, 안전성, 만족도
-외부지표; 시험 수행이나 운영 중에 품질 평가
-내부지표; 설계, 코딩 도중에


[UI 표준을 위한 환경 분석]
사용자 경향 분석
기능 및 설계 분석
; 기능 조작성 분석(스크롤바, 마우스 조작 동선)
오류방지 분석(의도치 않은 페이지 이동, 기능 버튼 명확한 구분, 기능 버튼이 사용자 조작과 일치)
최소한의 조작으로 업무 처리 가능한 형태 분석(기능 특성에 맞는 UI 확인 및 조작 단계 최소화와 동선 단순 여부 확인)

정황 시나리오 작성
: 개발하는 서비스의 초기 모양을 상상하는 단계. 육하원칙.


[UI]
UI 개발 시스템이 가져야 할 기능
: 사용자 입력의 검증/에러 처리와 에러 메시지 처리/도움과 프롬프트 제공

[UI 설계]
원칙
-직관성
-유효성: 유용&효과적
-학습성: 사용자가 쉽게 배우고 익힐 수 있어야 함.
-유연성: 사용자의 요구 최대한 수용, 오류 최소화

설계 지침
-사용자 중심
-일관성
-단순성
-가시성: 주요 기능 메인 화면에 배치
-표준화: 기능 구조의 선행 학습 이후 쉽게 이용할 수 있도록 디자인 표준화
-접근성: 사용자가 누구든 수용 가능해야함.
-결과 예측 가능
-명확성
-오류 발생 해결: 오류가 발생하면 사용자가 상황을 정확히 인지할 수 있어야 함.

[UI 표준]
한국형 웹 콘텐츠 접근성 지침 2.1 4가지 워칙
-인식의 용이성; 대체 텍스트, 명료성
-운용의 용이성; 입력 장치 접근성, 충분한 시간 제공
-이해의 용이성; 가독성, 예측 가능성
-견고성; 문법 준수

[UX]
: 사용자 경험

설계 시 고려사항(행정안전부 고시)
-사용하는 대상, 환경, 목적, 빈도 등을 고려
-사용자가 직관적으로 서비스 이용 방법을 파악할 수 있도록.
-입력의 최소화, 자동 완성 기능
-되돌림기능

*감성공학


[UI 설계]
-문제 정의
-사용자 모델 정의; 사용자 특성을 결정
-작업 분석; 사용자 특성 세분화, 수행되어야 할 작업 정의
-컴퓨터 오브젝트 및 기능 정의
-사용자 인터페이스 정의
-디자인 평가
; GOMS: 인간이 어떤 행위를 할지 예측하여 소요시간, 학습 시간 등을 평가
  Heuristics: 논리적 근거가 아닌 어림짐작을 통해 답 도출

UI 상세 설계 단계
- UI 메뉴 구조 설계 > 내/외부 화면과 폼 설계 > UI 검토 수행

시나리오 작성 원칙
-대표화면 레이아웃 및 하위 기능을 정의하고 tree 구조나 flowchart 표기법
-상호작용, 순서, 조건, 루프, 예외 상황 등 명시 및 지정
-작성 요건; 완전성, 일관성, 이해성, 가독성, 수정 용이성, 추적 용이성

[UI 설계 도구]
-Wire Frame
-Mockup; 실물과 똑같지만 모형. 정적.
-Prototype; 상호 작용이 결합하여 실제 작동하는 모형.
-Storyboard

[Wire Frame]
; 기획 단계 초기에 작성.
툴-핸드라이팅, 파워포인트, 키노트, sketch, balsamiq mockup, adobe experience design, 카카오 오븐

[Mockup]
; 와이어 프레임보다 좀더 ㅣㄹ제 제품과 유사하게 만들어지는 정적 모형. 시각적으로만 구현
툴-카카오 오븐, balsamiq mockup, power mockup

[Storyboard]
; UI/UX 구현에 수반되는 사용자와 작업, 인터페이스 간 상호작용을 시각화한 것.

#UI 설계 단계에서 인지적, 경험적, 사회적 관점에서 사용성을 공학적 방법으로 평가하는 방법론은? 사용성 공학.

[UI 프로토타입]
: 와이어 프레임, 스토리보드에 Interaction을 작용한 것. 동적인 형태.

[감성공학]
: HCI 설계에 인간의 특성, 감성 등의 정량적 측정과 평가를 통하여 제품 환경 설계에 반영하는 기술

접근 방법
-1류: 인간의 감각, 감성 표현
-2류: 감성 어휘 수집의 전 단계에서 평가자들의 생활 양식 추가
-3류: 1류의 감성 어휘 대신 평가자의 특정 시제품을 사용하여 자신의 감각 척도로 감성을 표출하는 방법

HCI
; UX 극대화

감성 공학 요소 기술
-기초, 구현, 응용 기술


'자격증 > 정보처리기사' 카테고리의 다른 글

[정보처리기사] 1. 소프트웨어 설계  (1) 2024.02.09