7. UML(Unified Modeling Language)
UML: 원활한 의사소통을 위해 표준화된 모델링 언어
*다이어그램은 용도와 분류에 대해서 문제가 출제될 수 있다.
<구조적 다이어그램>
종류 | 키워드 |
클래스 | 구조 |
객체 | 관계 |
컴포넌트 | 구현, 인터페이스 |
배치 | 구현, 위치 |
복합체 구조 | 내부 구조 |
패키지 | 그룹 |
<행위 다이어그램>
종류 | 키워드 |
유스케이스 | 모델링 |
시퀀스 | 메시지 |
커뮤니케이션 | 메시지+연관관계 |
상태 | 상태 변화 |
활동 | 로직 흐름 |
상호작용 개요 | 제어 흐름 |
타이밍 | 시간제약 |
UML의 구성요소는 크게 사물, 관계, 다이어그램으로 나뉜다.
그 중 사물은 특정 대상을 의미한다.
-사물
구조: 요소 / 행동: 행위 / 그룹: 묶음 / 주해: 설명
-관계
연관, 의존(일시적인 관계, 실선), 일반화, 실체화 , 집합, 포함
여러 사물의 공통적인 상위 개념을 실선 화살표로 묶게되면 일반화 관계가 되고
여러 사물의 공통적인 기능을 점선 화살표로 묶게되면 실체화 관계가 된다.
실선은 평생, 점선은 필요에 의해 묶이는 일시적인 관계
전체와 부분 중 전체 쪽에 마름모를 붙여서 관계를 나타냄
- 물리적인 자원의 위치를 표시하는 것으로 구현 단계에서 사용되는 것은? 배치 다이어그램
- 사물의 종류 중, (구조, 행동, 주해)를 제외한 나머지 하나는? 그룹
- (시퀀스, 상태, 배치, 활동)중, 동적인 행위를 표현하기 위한 것이 아닌 것은? 배치 다이어그램
- UML 다이어그램 중, 구현 단계에서 사용하기 적절한 것은? 컴포넌트, 배치
- 의존, 실체화 관계에서 처럼, 일시적인 관계를 표현할 때 사용되는 선은? 점선 화살표
- 다중도 표현에서 ('다수', '또는')에 해당하는 기호는? * 와 ..
- 자동차와 열쇠의 관계를 표현하기 가장 적절한 관계는? 포함관계
8. 화면설계 - 사용자 인터페이스
사용자 인터페이스의 3가지 분야: 제어, 구성, 기능
사용자 인터페이스의 특징
-만족도에 큰 영향을 끼치기 때문에, 가장 많이 변경된다.
-편리성과 가독성, 이해도를 높인다.
-최소한의 노력으로 결과를 얻을 수 있도록 한다.
-소프트웨어 아키텍처를 숙지해야 한다.
사용자 인터페이스의 구분: CLI(텍스트), GUI(마우스), NUI(말, 행동)
사용자 인터페이스의 기본 원칙: 직관, 유효, 학습, 유연
사용자 인터페이스의 설계 지침
-사용자 중심, 일관성, 단순성, 결과 예측 가능, 표준화, 접근성
-명확성, 가시성, 오류 발생 해결
9. UI 표준 및 지침
모든 콘텐츠는 시각적으로 구분될 수 있도록 설계해야 한다.
콘텐츠에 포함된 소리는 자동으로 재생되어야 한다.
전체 내용을 한꺼번에 볼 수 있도록 되도록 많은 메뉴를 만들어야 한다.
광과민성 발작(초당 3~50회 깜빡임으로 인한)은 고려하지 않아도 된다.
용도를 정확하게 이해할 수 있도록 텍스트를 제공해야 한다.
웹 서비스에서는 비표준 문법에 대한 확장성은 고려하지 않는다.
모든 웹 문서에 반드시 문서 타입을 명시 할 필요는 없다.
주로 쓰이는 설치 환경을 중점적으로 고려해서 제작한다.
10. UI 설계 도구
표준 및 지침에 따라 UI를 제작하기 위해선 설계도가 필요
설계도는 결과물에 대해 미리보기 기능을 함
와이어프레임: 뼈대(레이아웃) 배치, 화면단위
목업: 실제 화면과 유사. 기능 구현 아님.
스토리보드: 와이어프레임 + 콘텐츠 설명(Description), 이동경로
작업 지침서 활용(Description은 세부적 작성 필요)
프로토타입: 또나왔네, 인터렉션 적용(동적인 형태)
유스케이스: 사용자 요구사항(기능적)을 다이어그램 형식으로 문서화
각각의 유스케이스에 대한 명세서 작성
11.UI 요구사항 확인
그룹별 인터뷰를 통해 가능한 많은 사람들과 인터뷰를 진행한다.
인터뷰를 통해 사업적, 기술적인 요구사항을 명확히 한다.
가능한 리서치를 진행한 후 인터뷰를 해야 보다 효율적이다.
활동 사항을 정의할 때는 서로 협의를 통해 진행한다.
요구사항의 작성은 개발자 중심으로 하여 개발에 편리하도록 한다.
UI요구사항 중 가장 먼저 기능에 대한 정리를 진행한다.
정황 시나리오는 완성된 서비스를 상상하며 최대한 간단히 작성한다.
요구사항은 정황 시나리오를 토대로 작성한다.
12. 품질 요구사항
기능 | 적정한 기능이 정확하게+호환, 보안 -적절성, 정확, 상호운용, 보안, 호환 |
사용 | 얼마나 쉽고 편한지 -이해, 학습, 운용, 친밀 |
신뢰 | 고장이 나도 문제없어 -성숙성, 고장허용성, 회복성 |
유지보수 | 개선 및 확장 -분석, 변경, 시험, 안정 |
이식 | 다른 환경에서 적응 -적용, 설치, 대체, 공존 |
효율 | 한정된 시간, 자원으로 많은 일 처리 -시간, 자원 |
13. UI 프로토타입 제작 및 검토
UI 프로토타입 ㅡ 동적인 형태(실제 동작하는 것처럼)의 테스트 모델
필수 기능을 포함, 간단하게, 실 사용자 테스트로 기능 검증
장단점ㅡㅡㅡㅡㅡ이해와 오류 발견이 쉽다 / 자원소모, 생략가능성
종류 ㅡ 페이퍼 (손으로) - 저렴, 즉시, 간단
디지털 (SW로) - 결과와 비슷, 테스트 및 수정, 어려움
고려사항 ㅡ 계획 목적-환경-핵심UI-인원-검증-해결-가이드
작성 범위확인-목표확인-지원확인
제작단계 ㅡ 요구사항 분석 - 요구사항 작성(프로토타입)
사용자 테스트 및 수정 - 사용자 피드백 및 승인(반복적)
14. UI 설계서 작성
표지 | 프로젝트(시스템)명 |
개정이력 | 초안작성 이후 변경할 때마다 버전 0.1 증가 |
요구사항 정의서 | 요구사항 별 적용여부 기록 |
시스템 구조 | 전체 시스템(사용자, 관리자 등)의 구조 설계 |
사이트 맵 | 전체 콘텐츠 메뉴별 구성 + 표 형태로 작성 |
프로세스 정의서 | 사용자 입장에서 작업이 진행되는 순서도 |
화면 설계 | 각 화면별로 표지+스토리보드 |
15. UI 유용성평가, 상세설계, 감성공학
유용성 평가 | 뜻 | 사용자 입장에서 얼마나 유용한지 |
실행(기능) | 불필요, 중복, 불편, 어려운 | |
결과(평가) | 즉각적이지 않은 피드백, 결과 이해, 파악이 어려움 | |
상세설계 | 시나리오 | 순서도나 계층구조로 작성 |
일반규칙 | 기능, 구조, 인터렉션, 예외처리( 이후 세부기능 정의) | |
기대효과 | 긍정적인 문장과 단어 (완전, 일관, 이해 등.._) | |
감성공학 | HCI | 편리하고 안전한 시스템개발(최적의 UX가 목표) |
UI | 시스템 이용 경험. 주관적임(객관적인 UI편리성과 반대) | |
감성공학 | 감성적, 인간친화적 개발 |
16. 소프트웨어 아키텍처
SW아키텍처 | 뜻 | 기본 구조, 개발 기반 |
역할 | 품질유지, 원칙, 지침 | |
기본원리 | 모듈 | 부품(나중에 자세히 배움) |
모듈화 | 유지관리에 좋음. (많으면 통합비용↑, 적으면 개발비용↑) | |
추상화 | 포괄적 개념, 구체화 하기 위해 필요. 가성비. 구조파악 용이 | |
단계적 분해 | 하향식. 추상화의 반복으로 더 많은 단계의 분해 가능 | |
정보은닉 | 접근금지. 별도의 인터페이스 사용. 유지보수에 용이 | |
품질속성 | 시스템(성능, 보안) / 비즈니스(비용, 자원) / 아키텍처(결함) | |
설계과정 | 목표-시스템타입-아키텍처패턴-시스템구체화-검토 | |
아키텍처패턴 | 미리 만들어 둔 공식(다음에 자세하게 배움) |
< 출처 유튜버 주간컴공 >
'Study > Computer' 카테고리의 다른 글
vscode 맥북/윈도우 단축키 (0) | 2022.04.01 |
---|---|
소프트웨어 설계 (0) | 2022.02.14 |
정보처리기사 필기 - 소프트웨어 설계 요약 (3) (0) | 2022.01.17 |
정보처리기사 필기 - 소프트웨어 설계 요약 (1) (0) | 2022.01.15 |