30. 사용자 인터페이스(UI)의 특징
사용자의 만족도에 가장 큰 영향을 미치는 요소, 변경이 많음
사용자 중심으로 설계되어 사용자 중심 상호작용이 되도록 함
수행 결과의 오류를 줄임
사용자의 막연한 작업에 대해 구체적 방법 제시
31. UI 의 구분
- CLI(Command Line Interface): 명령, 출력이 텍스트 형태
- GUI(Graphic User Interface): 아이콘이나 메뉴를 마우스로 클릭하여 작업 수행 형태
- NUI(Natural User Interface): 사용자의 말이나 행동으로 조작 형태
- VUI(Voice User Interface): 사람의 음성을 기기 조작 형태
- OUI(Organic User Interface): 모든 사물과 사용자 간의 상호작용-> 사물인터넷, 가상현실, 증강현실, 혼합현실 등과 함께 대두되고 있음
32. UI 의 기본 원칙
유유학직!!ㅎㅎ
- 유연성: 요구사항 최대한 수용, 실수 최소화
- 유효성: 목적 정확하고 완벽하게 달성
- 학습성: 누구나 쉽게 익힘
- 직관성: 누구나 쉽게 이해
33. UI 의 설계 지침
- 사용자 중심: 사용자 편의 위해 실사용자에 대한 이해가 바탕이 되어야 함
- 사용성: 얼마나 빠르고 쉽게 이해
- 심미성: 그래픽적 완성도
- 오류 발생 해결: 오류 발생 쉽게 인지
35. UI 설계 도구
UI 설계 도구? 화면 구조나 배치 등을 설계 시 사용하는 도구
종류
- 와이어프레임(Wireframe): 기획 단계의 초기에 제작, 개발자나 디자이너 간 진행 상태 공유 위함-> 손그림, PPT, 일러스트, 포토샵 등
- 목업(Mockup): 와이어프레임보다 좀 더 실제 화면과 유사하게 만듬. 실제로 구현은 x -> 발사믹 목업 등
- 스토리보드(StoryBoard): 와이어프레임에 콘텐츠 설명, 페이지 간 이동흐름 등을 추가 -> Axure 등
- 프로토타입(Prototype): 실제 구현된 것처럼 테스트 가능 동적 모형
- 유스케이스(Usecase): 사용자 측면에서의 요구사항 기술
36. 품질 요구사항
소프트웨어의 기능, 성능, 만족도 등 요구사항이 얼마나 충족되는가를 나타냄
ISO/IEC? International Organization for Standardization(국제 표준화 기구)/International Electrotechnical Commission(국제 전기 기술 위원회)
ISO/IEC 9126: SW 품질 특성과 평가를 위한 표준 지침
ISO/IEC 25010: 9126을 개정해서 만듬
ISO/IEC 12119: 9126을 준수한 품질 표준, 테스트 절차 포함
ISO/IEC 14598: 개발자, 구매자, 평가자 별로 제품 평가 활동을 규정
이기신사유효..ㅎ (이기적인 신사가 유효해..)
- 이식성(Portability): 다른 환경에서도 얼마나 쉽게 적용할 수 있는지?
- 기능성(Functionality): 요구사항을 정확하게 만족하는지?
- 신뢰성(Reliability): 일관되게 기능을 오류 없이 수행할 수 있는지?
- 사용성(Usability): 컴퓨터 상 발생하는 행위에 대해 사용자가 정확하게 이해하고 다시 사용하고 싶은지?
- 유지보수성( Maintainability): 개선하거나 확장할 수 있는지?
- 효율성(Efficiency(: 사용자 요구하는 기능을 할당된 시간동안 한정된 자원으로 얼마나 빨리 처리?
37. UI 요소
체크박스: 여러 선택지 중 1개 이상 선택
라디오버튼: 하나만 선택
텍스트박스: 사용자가 직접 입력
콤보박스: 이미 지정된 목록 상자에 사용자가 직접 입력 가능
목록상자: 목록 표시하지만 입력x
38. 상위 설계와 하위 설계
상위 설계
=아키텍쳐 설계, 예비 설계
시스템의 전체적인 구조
구조, DB, 인터페이스
하위 설계
=모듈 설계, 상세 설계
시스템의 내부 구조 및 행위
컴포넌트, 자료 구조, 알고리즘
39. 소프트웨어 아키텍쳐 설계의 기본 원리
- 모듈화(Modularity): 성능을 향상시키거나 재사용, 유지보수가 용이하도록 기능들을 모듈단위로 나눔
- 추상화(Abstraction): 전체적이고 포괄적인 개념을 세분화하여 구체화 -> 과정 추상화, 데이터 추상화, 제어 추상화
- 단계적 분해(Stepwise Refinement): 하향식 설계 전략
- 정보 은닉(Information Hiding): 한 모듈 내부에 포함된 절차와 자료가 숨겨져서 다른 모듈이 접근하지 못하도록 함
43. 파이프-필터 패턴
데이터 스트림 각 절차를 필터 컴포넌트로 캡슐화하여 파이프를 통해 데이터를 전송하는 패턴
*데이터 스트림? 정해진 포맷 사용하여 한 장치에서 다른 장치로 보내지는 데이터의 흐름
*필터 컴포넌트: 재사용성, 확장 용이, 재배치하여 다양한 파이프라인 구축 가능
데이터 변환, 버퍼링, 동기화 등에 주로 사용됨, 주로 UNIX의 쉘(Shell)
44. 모델-뷰-컨트롤러 패턴
서브시스템을 3개의 부분으로 구조화하는 패턴,
- 모델(Model): 핵심기능과 데이터 저장
- 뷰(View): 사용자에게 정보를 표시
- 컨트롤러(Controller): 요청 명령을 보냄
45. 기타 패턴
- 마스터-슬레이브 패턴: 마스터에서 슬레이브로 분할, 슬레이브의 결과물을 다시 돌려받음-> 병렬 컴퓨팅 시스템
- 브로커 패턴: 사용자가 원하는 정보를 브로커에 요청하면 연결해줌-> 분산 컴퓨팅 환경
- 피어-투-피어 패턴: 피어를 하나의 컴포넌트로 간주, 피어는 사용자가 될 수도, 정보를 제공하는 서버가 될 수도
- 이벤트-버스 패턴: 소스가 특정 채널에 이벤트를 발생하면 해당 채널의 구독자에게 메시지 줌
- 블랙보드 패턴: 모든 컴포넌트들이 블랙보드에 접근가능, 검색을 통해 블랙보드에서 원하는 정보 찾음. 결정가능한 해결전략이 없을 때 유용, -> 음성인식, 차량식별, 신호 해석 등 활용
- 인터프리터 패턴: 코드의 각 라인을 수행하는 방법을 지정
46. 객체
데이터와 함수를 캡슐화한 하나의 소프트웨어 모듈
데이터= 속성(Attribute), 상태, 변수, 상수, 자료 구조
함수= 메소드(Method), 서비스, 동작(Operation), 연산
* 객체의 특성
독립적으로 식별가능 이름 가짐
상태는 시간에 따라 변함
객체 간 상호연관성에 의한 관계 형성
객체가 반응할 수 있는 메시지의 집합= 행위
47. 클래스
공통된 속성과 연산을 갖는 객체를 하나로 묶음. 객체의 타입을 의미
객체지향 프로그램에서 데이터를 추상화하는 단위
각각의 객체를 인스턴스-> 클래스로부터 새로운 객체를 생성하는 것을 인스턴스화(Instantiation)
48. 캡슐화 (Encapsulation)
데이터와 함수를 하나로 묶는 것
캡슐화된 객체는 인터페이스를 제외하고 정보 은닉됨
: 접근 제한적, 외부 모듈 변경으로 인한 파급효과 적음-> 객체 간 결합도 낮아져, 재사용 용이
49. 상속 (Inheritance)
이미 정의된 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것
하위클래스는 그에 더해서 첨가해서 사용가능
50. 다형성(Polymorphism)
메시지에 의해 객체가 연산을 수행하게 될 때, 하나의 메시지에 대해 객체가 할 수 있는 고유한 특성으로 응답하는 능력
하나의 함수나 연산자가 다른 클래스에 속한 인스턴스를 같은 인스턴스처럼 수행할 수 있도록 하는 것.
오버로딩: 메소드명은 같지만 인수를 받는 자료형과 개수에 따라 기능 달라져
오버라이딩(=메소드 재정의): 상위클래스에서 정의한 메소드 명은 같지만 하위 클래스에서 실행코드를 달리하여 재정의
51. 연관성 (Relationship)
두 개 이상의 객체들이 상호 참조하는 관계
종류
- is member of 연관화
- is instance of 분류화
- is part of 집단화
- is a 일반화 + 특수화/상세화
52. 객체지향 분석의 방법론
- 럼바우(Rumbaugh): 객체모델, 동적모델, 기능모델로 나누어 수행
- 부치(Booch): 미시적과 거시적 개발 프로세스를 모두 사용
- Jacobson: Usecase를 강조
- Coad와 Yourdon: E-R 다이어그램 사용
- Wirfs-Brock: 분석과 설계 간 구분이 x, 연속적으로 수행
53. 럼바우의 분석 기법
=객체 모델링 기법 (OMT, Object Modeling Technique)
객체 모델링 -> 동적 모델링 -> 기능 모델링 순으로
- 객체 모델링: =정보 모델링, 속성과 연산 식별 및 객체 간 관계를 규정해서 다이어그램으로 표시
- 동적 모델링: 상태도를 이용해 시간의 흐름에 따른 동적 행위 표현
- 기능 모델링: DFD를 이용해 프로세스들 간 자료흐름 중심 처리 과정
'CS 공부 > 정처기 핵심: 타이핑' 카테고리의 다른 글
이미 딴 정처기를 왜 다시 공부? (0) | 2024.04.16 |
---|---|
구조패턴~Queue (0) | 2024.04.16 |
객체지향 설계 원칙 ~ 생성패턴 (0) | 2024.04.13 |
HIPO~다이어그램 (0) | 2024.04.08 |
DBMS~DD (0) | 2024.04.07 |