본문 바로가기
정보처리기사

1. 현행 시스템 파악(★★★)

by project100 2023. 6. 12.

현행 시스템 파악 개념

현행 시스템의 하위 시스템, 제공 기능, 연계 정보, 기술 요소 사용 파악

 

현행시스템 파악 절차

1단계 : 구성, 기능, 인터페이스 파악

2단계 : 아키텍처, 소프트웨어 구성 파악

3단계 : 하드웨어 및 네트워크 구성 파악

 

소프트웨어 아키텍처(Software Architecture) 개념

여러가지 소프트웨어의 구성 요소, 특성, 관계를 표현하는 시스템의 구조나 구조체

 

소프트웨어 아키텍처 프레임워크(Software Architecture Framework)

개념 : 아키텍처가 표현해야 하는 내용 및 이들간의 관계를 제공하는 아키텍처 기술 표준

구성요소 :  아키텍처 명세서(Architecture Description), 이해관계자(Stakeholder), 관심사(Concerns), 관점(Viewpoint), 

                  뷰(View), 근거(Rationale), 목표(Mission), 환경(Environment), 시스템(System)

 

소프트웨어 아키텍처 4+1 뷰

개념 : 고객의 요구사항을 정리해 놓은 시나리오를 4개의 관점에서 바라보는 소프트웨어적 접근 방법

구성요소 : 4 - 논리뷰, 구현뷰, 프로세스 뷰, 배포뷰 / 1 - 유스케이스 뷰

 

소프트웨어 아키텍처 패턴(Software Architecture Pattern)

개념 : 소프트웨어를 설계할 때 참조할 수 있는 전형적인 해결 방식

필요성 : 고객의 요구사항 만족, 소프트웨어 개발 생산성과 품질확보 가능, 개발시간 단축, 개발 안정적수행, 시스템 특성 예측 가능

유형 : 계층화패턴, 클라이언트-서버 패턴, 파이프-필터 패턴, 브로커 패턴, 모델-뷰-컨트롤러 패턴(MVC)

 

소프트웨어 아키텍처 비용 평가 모델

개념 : 아키텍처 접근법이 품질 속성에 미치는 영향 판단, 아키텍처의 적합성을 평가하는 모델

종류 : SAAM, ATAM, CBAM, ADR, ARID 

 

디자인 패턴(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 : 객체를 이전상태로 복구시켜야 하는 경우, 작업취소(Undo) 요청 가능

Chain of Responsibility : 한 요청을 2개 이상의 객체에서 처리


디자인 패턴 유형의 목적, 디자인 패턴 시험문제 출제!

'정보처리기사' 카테고리의 다른 글

1. 요구사항 확인(★★★)  (0) 2023.06.13
1. 개발 기술 환경 정의(★★★)  (0) 2023.06.12
1. 프로젝트 관리(★★★)  (0) 2023.06.11
객체 지향(Object Oriented) 분석 방법론  (0) 2023.06.10
애자일(Agile)  (0) 2023.06.10