현행 시스템 파악 개념
- 현행 시스템이 어떤 하위 시스템으로 구성되어 있고, 제공 기능 및 연계 정보는 무엇이며 어떤 기술 요소를 사용하는지를 파악하는 활동이다.
현행 시스템 파악 절차
- 1단계 : 구성/기능/인터페이스 파악
- 2단계 : 아키텍처 및 소프트웨어 구성 파악
- 3단계 : 하드웨어 및 네트워크 구성 파악
소프트웨어 아키텍처(Software Architecture) 개념
- 여러 가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중에서 외부에 드러나는 특성, 구성요소 간의 관계를 표현하는 시스템의 구조나 구조체이다.
소프트웨어 아키텍처 프레임워크 구성요소
- 아키텍처 명세서(Architectural Description)
- 이해관계자(Stakeholder)
- 관심사(Concerns)
- 관점(Viewpoint)
- 뷰(View)
- 근거(Rationale)
- 목표(Mission)
- 환경(Environment)
- 시스템(System)
소프트웨어 아키텍처 4+1 뷰 개념 및 구성요소
- 개념 : 고객의 요구사항을 정리해 놓은 시나리오를 4개의 관점에서 바라보는 소프트웨어적인 접근 방법이다.
- 구성요소 : 1은 유스케이스 뷰 4는 논리뷰, 구현 뷰, 프로세스 뷰, 배포 뷰 이다.
*유스케이스란?
시스템이 액터에게 제공해야 하는 기능으로서 시스템 요구사항이자, 사용자 입장에서 바라본 시스템의 기능이다.
소프트웨어 아키텍처 패턴 유형
- 계층화 패턴(Layered Pattern)
- 클라이언트-서버 패턴(Client-Server Pattern)
- 파이프-필터 패턴(Pipe-Filter Pattern)
- 브로커 패턴(Broker Pattern)
- 모델-뷰-컨트롤러 패턴(MVC; Model View Controller Pattern)
소프트웨어 아키텍처 비용 평가 모델 종류
- SAAM(Software Architecture Analysis Method) : 변경 용이성과 기능성에 집중, 평가가 용이하여 경험이 없는 조직에서도 활용 가능한 비용 평가 모델
- ATAM(Architecture Trade-off Analysis Method) : 아키텍처 품질 속성을 만족시키는지 판단 및 품질 속성들의 이해 상충관계까지 평가하는 모델
- CBAM(Cost Benefit Analysis Method) : ATAM 바탕의 시스템 아키텍처 분석 중심으로 경제적 의사결정에 대한 요구를 충족하는 비용 평가 모델
- ADR(Active Design Review) : 소프트웨어 아키텍처 구성요소 간 응집도를 평가하는 모델
- ARID(Active Reviews for Intermediate Designs) : 전체 아키텍처가 아닌 특정 부분에 대한 품질요소에 집중하는 비용 평가모델
디자인 패턴(Design Pattern)
- 개념 : 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴이다.
- 유형 :
- 목적 : 생성, 구조, 행위
- 범위 : 클래스, 객체
- 종류 :
- 생성패턴 : Builder, Prototype, Factory Method, Abstract Factory, Singleton
- 구조패턴 : Bridge, Decorator, Facade, Flyweight, Proxy, Composite, Adapter
- 행위패턴 : Mediator, Interpreter, Iterator, Template Method, Observer, State, Visitor, Command, Strategy, Memento, Chain of Responsibility
운영체제(Operating System)
- 개념 : 사용자가 컴퓨터를 좀 더 쉽게 사용하기 위해 지원하는 소프트웨어이다.
- 종류 :
- PC : 윈도즈(Windows), 유닉스(Unix), 리눅스(Linux)
- 모바일 : 안드로이드(Android), iOS
네트워크(Network)
- 개념 : 컴퓨터 장치들의 노드 간 연결(데이터 링크)을 사용하여 서로에게 데이터를 교환할 수 있도록 하는 기술이다.
OSI 7계층(Layer)
- 개념 : 네트워크 통신에서 생긴 여러 가지 충돌 문제를 완화하기 위해 국제 표준화 기구(ISO; International Standardization Organization)에서 제시한 네트워크 기본 모델이다.
- 응용계층(Application Layer) : 사용자와 네트워크 간 응용서비스 연결, 데이터 | 프로토콜 : HTTP, ETP
- 표현계층(Presentation Layer) : 데이터 형식 설정과 부호교환, 암/복호화 | 프로토콜 : JPEG, MPEG
- 세션계층(Session Layer) : 연결 접속 및 동기제어 | 프로토콜 : SSH, TLS
- 전송계층(Transport Layer) : 신뢰성 있는 통신 보장 | 프로토콜 : TCP, UDP
- 네트워크계층(Network Layer) : 단말 간 데이터 전송을 위한 최적화된 경로 제공 | 프로토콜 : IP, ICMP
- 데이터링크계층(Data Link Layer) : 인접 시스템 간 데이터 전송, 전송오류 제어 | 프로토콜 : 이더넷
- 물리계층(Physical Layer) : 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환 | 프로토콜 : RS-232C
DBMS(Database Management System)
- 개념 : DBMS는 데이터베이스라는 데이터의 집합을 만들고, 저장 및 관리할 수 있는 기능들을 제공하는 응용 프로그램이다.
- 현행 시스템 분석시 고려사항 :
- 성능측면 : 가용성, 성능, 상호 호환성
- 지원측면 : 기술지원, 구축비용
기출문제
2020년 2회 문제 : 다음 보기가 설명하는 패턴을 쓰시오. (영문 Full-Name으로 작성하시오)
[보 기]
한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에 연락이 가고 자동으로 내용이 갱신되는 방법으로 일대다의 의존성을 가지며 상호작용하는 객체 사이에서는 가능하면 느슨하게 경합하는 디자인을 사용해야 한다.답 : Observer
2020년 2회 |
문제 : Linux 운영체제 위에서 구동하며 휴대폰 전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어ㅡ 사용자 인터페이스 그리고 표준 응용 프로그램(웹 브라우저, 이메일 클라이언트, 단문 메시지 서비스(SMS), MMS)등을 포함하고 있는 소프트웨어 스택이자 리눅스 모바일 운영체제로 개발자들이 자바와 코틀린 언어로 응용 프로그램을 작성할 수 있게 했고, 컴파일된 바이트 코드를 구동할 수 있는 런타임 라이브러리를 제공하는 운영체제는 무엇인지 쓰시오. |
답 : 안드로이드 (Android) |
2020년 4회 |
문제 : 목적에 따른 디자인 패턴의 유형에는 생성, 구조, ( )이/가 있다. 괄호 ( ) 안에 알맞은 유형을 쓰시오. |
답 : 행위 |
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사실기 합격후기(With 수제비정보처리기사) (0) | 2021.08.21 |
---|---|
[정보처리기사 실기] 요구사항 확인 (0) | 2021.06.28 |
[정보처리기사 실기] 소프트웨어 개발방법론 (0) | 2021.06.19 |