운영체제 현행 시스템 분석 시 고려사항
지원 측면
- 기술 지원
- 주변 기기
- 구축 비용
품질 측면
- 신뢰도
- 성능
현행 시스템 분석을 위한 플랫폼 성능 특성 분석 기법
- 사용자 인터뷰 : 현행 플랫폼 사용자 인터뷰를 통해 속도의 적정성 확인
- 성능 테스트 : 현행 플랫폼을 대상으로 성능, 부하 테스트를 수행
- 산출물 점검 : 현재 플랫폼과 유사한 타사 제품의 성능 자료 등을 분석
OSI 7계층
- 데이터 링크 계층 : 프레임의 동기화, 오류 제어, 흐름 제어 등 전송 에러 제어
- 물리 계층 : 매체 간의 인터페이스, 전기적, 기능적, 절차적 기능 정의
- 응용 계층 : 사용자와 네트워크 간 응용서비스 연결, 데이터 생성
- 표현 계층 : 코드 변환 구문 검색, 암호화, 형식 변환, 압축
요구분석 기법
요구사항 분류
- 요구사항이 기능인지 비기능인지 확인
개념 모델링
- 문제 도메인의 엔터티(Entity)들과 개별 관계 및 종속성을 반영
요구사항 할당
- 요구사항을 만족시키기 위한 아키텍처 구성요소를 식별하는 활동
- 다른 구성요소와 어떻게 상호 작용하는지 분석을 통해 추가적인 요구사항을 발견 가능
요구사항 협상
- 두 명의 이해관계자가 서로 상충하는 내용을 요구하는 경우, 어느 한쪽을 지지하기보다는 적절한 지점에서 합의하기 위한 기법
요구사항 특성
- 기능적 : 기능성, 완전성, 일관성
- 비기능적 : 신뢰성, 사용성, 효율성, 유지 보수성, 이식성
요구사항 관리 도구
상용제품
- 헬릭스 RM(Helix RM)
- 지라(Jira)
- 오르카노스(Orcanos)
- 리큐테스트(ReQtest)
오픈소스 기반
- 레드미안(Redmine)
- 테스트링크(Testlink)
요구사항 명세 원리
- 명확성
- 완전성
- 검증 가능성
- 일관성
- 수정 용이성
- 추적 가능성
- 개발 후 이용성
UML 구성요소
- 사물(Things)
- 관계(Relationships)
- 다이어그램(Diagrams)
- 클래스 : 시스템 내 클래스의 정적 구조를 표현, 속성과 동작으로 구성
- 유스케이스 : 사용자 관점에서 시스템의 활동을 표현, 시스템의 기능적 요구 정의
- 시퀀스 : 객체 간 상호작용을 메시지 흐름으로 표현, 객체 사이 메시지를 보내는 시간을 표현
UML의 특징
- 가시화
- 구축
- 명세화
- 문서화 언어
애자일 방법론
- XP
- 스크럼
- 린
애자일 선언문
- 개인과 상호작용
- 변화에 대응
- 동작하는 소프트웨어
- 고객과 협력
XP(eXtreme Programming)의 5가지 가치
- 용기
- 단순성
- 의사소통
- 피드백
- 존중
분석 자동화 도구 등장 배경
- 소프트웨어 위기의 극복 대응 방안으로 등장했다.
- 사용자의 요구사항과 실제 시스템 간의 차이 발생 극복하기 위해 등장했다.
- 시스템의 재사용성, 생산성 및 유지보수의 어려움을 극복 하기 위해 등장했다.
- 분석 자동화 도구의 사용으로 개발 난이도 상승에 영향을 주지 않는다.
모델링 절차
- 요구사항 분석
- 개념 모델링
- 논리 모델링
- 물리 모델링
CASE 도구의 주요 기능
상위
- 모델들 사이의 모순 검사 기능
- 모델의 오류 검증 기능
- 자료 흐름도 작성 기능
하위
- 소스 코드 생성 가능
UI 유형
- CLI(Command Line Interface) : 명령어를 텍스트로 입력하여 조작하는 사용자 인터페이스
- GUI(Graphical User Interface) : 그래픽 환경을 기반으로 한 마우스나 전자펜을 이용하는 사용자 인터페이스
- NUI(Natural User Interface) : 사용자가 가진 경험을 기반으로 키보드나 마우스 없이 신체 부위를 이용하는 사용자 인터페이스
- OUI(Organic User Interface) : 입력 장치가 곧 출력 장치가 되고, 현실에 존재하는 모든 사물이 입출력 장치로 변화할 수 있는 사용자 인터페이스
UI 설계 프로세스 순서
- 문제정의
- 사용자 모델 정의
- 작업 분석
- 컴퓨터 오브젝트 및 기능 정의
- 사용자 인터페이스 정의
- 디자인 평가
UI 흐름 설계 프로세스
- 기능 작성
- 입력 요소 확인
- 유스케이스 설계
- 기능 및 양식 확인
UI 화면 설계 구분
와이어 프레임
- 이해관계자들이 화면 구성을 협의하거나 서비스의 간략한 흐름을 공유하기 위해 화면 단위의 레이아웃을 설계하는 작업
스토리보드
- 정책, 프로세스, 콘텐츠 구성, 와이어 프레임(UI, UX), 기능 정의, 데이터베이스 연동 등 서비스 구축을 위한 모든 정보가 담겨 있는 설계 산출물
정황 시나리오 제작
- 요구사항 정의에 사용되는 초기 시나리오를 말하며, 이상적인 시스템 동작에 초점을 맞추어 시나리오를 제작하는 방법
프로토타입
- 정적인 화면으로 설계된 와이어 프레임 또는 스토리보드에 동적 효과를 적용함으로써 실제 구현된 것처럼 시뮬레이션할 수 있는 모형
감성공학의 접근 방법
1류 접근 방법
- 인간의 감성을 표현하는 어휘를 이용하여 제품 이미지를 조사, 그 분석을 통해 제품 디자인 요소와 연계시키는 접근 방법
2류 접근 방법
- 개인의 연령, 성별 등의 개별적 특성과 생활 방식으로부터 개인이 갖고 있는 이미지를 구체화하는 감성의 심리적 특성을 강조한 접근 방법
3류 접근 방법
- 기존의 감성적 어휘 대신 공학적인 방법으로 접근하여 인간의 감각을 측정, 이를 바탕으로 수학적 모델을 구축하여 활용하는 접근 방법
공동 모듈 원칙
- 정확성
- 명확성
- 완전성
- 일관성
- 추적성
응집도 유형
- 기능적 : 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우
- 순차적 : 모듈 내에서 한 활동으로부터 나온 출력 값을 다른 활동이 사용할 경우
- 통신적 : 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우
- 절차적 : 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우
- 시간적 : 연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우
- 논리적 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
- 우연적 : 모듈 내부의 각 구성요소들이 연관이 없을 경우
소프트웨어 설계 유형
- 자료구조 설계
- 아키텍처 설계
- 인터페이스 설계
- 프로시저 설계
소프트웨어 아키텍처 4+1 뷰
- 유스케이스 뷰
- 논리 뷰
- 프로세스 뷰
- 구현 뷰
- 배포 뷰
객체 지향 구성요소
- 클래스는 같은 종류의 집단에 속하는 속성과 행위를 정의한 요소이다.
- 메서드는 한 클래스 내에 속한 객체들이 가지고 있는 데이터 값들을 단위별로 정의한 요소이다.
- 매서드는 클래스로부터 생성된 객체를 사용하는 방법이다.
- 인스턴스는 객체지향 기법에서 클래스에 속한 각각의 객체로서 실제 메모리상에 할당되어 있다.
- 한 클래스 내에 속한 객체들이 가지고 있는 데이터 값들을 단위별로 정의한 요소는 속성이다.
디자인 패턴 유형
- 생성 패턴
- 구조 패턴
- 행위 패턴
시스템 아키텍처
: 시스템 목적을 달성하기 위해서 시스템 각 컴포넌트가 무엇이며 어떻게 상호작용하는지, 정보가 어떻게 교환하는지를 설명하는 프레임워크
시스템 아키텍처의 기본 요구사항
- 시스템 구성 및 동작 원리를 나타내고 있어야 한다.
- 시스템 구성요소에 대해 설계 및 구현을 지원하는 수준으로 자세히 기술한다.
- 구성요소 간의 관계뿐만 아니라 시스템 외부 환경과의 관계를 설명해야 한다.
- 요구사항 및 시스템의 전체 생명주기를 고려해야 한다.
인터페이스 정의서의 항목
- 인터페이스 ID
- 최대 처리 횟수
- 데이터 크기(평균/최대)
- 시스템 정보
- 데이터 정보
내/외부 송/수신 연계기술
- DB Link
- DB Connection
- API/Open API
- JDBC
- Hyper Link
- Socket
미들웨어 솔루션 유형
- DB 미들웨어
- 원격 프로시저 호출
- 메시지 지향 미들웨어
- 트랜잭션 처리 모니터
- 레거시 웨어
- 객체 기반 미들 웨어
- WAS
EAI와 ESB의 세부 기술 및 토폴로지
- 허브 앤 스포크
- 어댑터
- 브로커
- 메시지
- 큐
'Certificate > 정보처리기사' 카테고리의 다른 글
정보처리기사 필기 공부 방법 및 합격 후기 | 요점정리 PDF 공유 (1479) | 2021.01.04 |
---|---|
정보시스템 구축 관리 (0) | 2021.01.04 |
프로그래밍 언어 (0) | 2021.01.04 |
데이터베이스 구축 언어 (0) | 2021.01.04 |
소프트웨어 개발 (0) | 2021.01.04 |