Odds and Ends
[정보처리기사 실기 요약] - 1. 요구사항 확인 (ch2.현행 시스템 분석) 본문
Chap02. 현행 시스템 분석 (중요도: ***)
1) 현행 시스템 파악 : 현행 시스템의 어떤 기술 요소 사용을 하는 지 파악하는 활동
2) 현행 시스템 파악 절차 : 구성/기능/인터페이스 파악 > 아키텍처 및 소프트웨어 구성 파악 > 하드웨어 및 네트워크 구성 파악
3) 소프트웨어 아키텍처 : 여러 SW 구성요소와 그 요소 특성 중 외부로 보이는 특성, 구성요소 간의 관계를 표현하는 시스템 구조나 구조체
4) 소프트웨어 아키텍처 4+1 뷰 : 고객의 요구사항을 정리해 놓은 시나리오를 4개의 관점에서 바라보는 소트웨어적 접근 방법
- 유스케이스 뷰 : 유스케이스 또는 아키텍처를 도출하고 설계하며 다른 뷰를 검증하는데 사용되는 뷰
- 논리 뷰 : 시스템의 기능적인 요구사항이 어떻게 제공되는 지 설명해주는 뷰
- 프로세스 뷰 : 시스템의 비기능적인 속성으로 자원의 효율적인 사용, 병행, 실행, 비동기, 이벤트 처리 등을 표현한 뷰
- 구현 뷰 : 개발 환경 안에서 정적인 소프트웨어 모듈의 구성을 보여주는 뷰, 컴포넌트 구조와 의존성을 보여주고 부가적 정보 정의
- 배포 뷰 : 컴포넌트가 물리적인 아키텍처에 어떻게 배치되는 가를 매핑해서 보여주는 뷰
5) 소프트웨어 아키텍처 패턴 유형
- 계층화 패턴 (Layered Pattern) : 시스템을 계층으로 구분하여 구성하는 패턴
- 클라이언트-서버 패턴 (Client-Server Pattern) : 하나의 서버와 다수의 클라이언트로 구성된 패턴
- 파이프-필터 패턴 (Pipe-Filter Pattern) : 데이터 스트림 생성/처리하는 시스템에서 가능한 패턴, 재사용성 좋고 추가 쉬워 확장 용이
- 브로커 패턴 (Broker Pattern) : 분리된 컴포넌트들로 이루어진 분산 시스템에서 사용, 각 컴포넌트 원격 서비스 실행 통해 상호작용
- 모델-뷰-컨트롤러 패턴 (MVC, Model-View-Controller Pattern): 대형 애플리케이션을 3개 서브시스템으로 구조화한 패턴. 컴포넌트로 분리되어 있어 서로 영향 받지 않고 개발작업 수행가능.
- >> * 모델: 핵심기능/데이터보관 * 뷰: 사용자에게 정보표시 * 컨트롤러: 사용자로부터 요청 입력받아 처리
6) 소프트웨어 아키텍처 비용 평가 모델 종류
- SAAM : 변경 용이성과 기능성에 집중, 경험이 없는 조직에서도 활용 가능한 비용 평가 모델
- ATAM : 아키텍처 품질 속성을 만족시키는지 판단 및 품질 속성들의 이해 상충관계까지 평가하는 모델
- CBAM : ATAM 바탕의 시스템으로 경제적 의사결정에 대한 요구를 충족하는 비용평가 모델
- ADR : 소프트웨어 아키텍처 구성요소간 응집도 평가 모델
- ARID : 전체 아키텍처가 아닌 특정 부분에 대한 품질요소에 집중하는 비용평가 모델
7) 디자인 패턴 : 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴
8) 디자인 패턴 유형
(1) 목적
- 생성: 객체 인스턴스 샡성에 관여, 클래스 정의와 객체 생성방식을 구조화, 캡슐화를 수행하는 패턴
- 구조 : 클래스나 객체의 조합을 다루는 패턴
- 행위 : 클래스나 객체들이 상호작용하는 방법과 역할 분담을 다루는 패턴
(2) 범위
- 클래스 : 상속 관계를 다루는 패턴, 컴파일 타임에 정적으로 결정
- 객체 : 객체 간 관련성을 다루는 패턴, 런타임에 동적으로 결정
9) 디자인 패턴 종류
- 생성 패턴 : 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
10) 운영체제 : 사용자와 하드웨어 간의 인터페이스를 담당하는 프로그램
11) OSI 계층 : 네트워크 통신에서 충돌 문제를 완화하기 위해 국제 표준화기구에서 제시한 모델
- 응용 계층 (Application Layer) : 사용자와 네트워크 간 응용 서비스 연결, 데이터 생성
- 표현 계층 (Presentation Layer) : 데이터 형식 설정과 부호 교환, 암/복호화
- 세션 계층 (Transport Layer) : 신뢰성 있는 통신 보장. 데이터 분할과 재조립, 흐름제어, 혼잡제어 등 담당
- 네트워크 계층 (Network Layer) : 단말 간 데이터 전송을 위한 최적화된 경로 제공
- 데이터 링크 계층 (Data Linnk Layer) : 인접 시스템 간 데이터 전송, 전송오류 제어
- 물리 계층 (Physical Layer) : 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환
12) DBMS (Database Management System) : 데이터의 집합을 만들고, 저장/관리 할 수 있는 기능들을 제공하는 응용 프로그램
13) 미들웨어(Middleware) : 분산 컴퓨팅 환경에서 응용 프로그램과 프로그램이 운영되는 환경 간 통신이 이루어지도록 제어하는 SW
- 대표적인 미들웨어 WAS
- 웹 애플리케이션 서버 (WAS: Web Application Server): 서버 계층에서 애플리케이션이 동작할 환경 제공, 안정적인 트랜잭션 처리/관리, 다른 기종 시스템과 애플리케이션 연동 지원
728x90