1. 현행 시스템 파악
< 현행 시스템 파악 >
- 현행 시스템 파악 절차 : 구성/기능/인터페이스 파악 -> 아키텍처 및 소프트웨어 구성 파악 -> 하드웨어 및 네트워크 구성 파악
< 소프트웨어 아키텍처 >
- 소프트웨어 아키텍처 : 여러 가지 소프트웨어 구성용소와 그 구성요소가 가진 특성 중에서 외부에 드러나는 특성, 그리고 구서요소 간의 관계를 표현하는 시스템의 구조나 구조체
- 소프트웨어 아키텍처 프레임워크 : 소프트웨어 집약적인 시스템에서 아키텍처가 표현해야 하는 내용 및 이들 간의 관계를 제공하는 아키텍처 기술 표준
- 소프트웨어 아키텍처 4+1 뷰 :
유스케이스 뷰 | 다른 뷰를 검증하는 데 사용 |
논리 뷰 | 기능적인 요구사항이 어떻게 제공되는지 설명 |
프로세스 뷰 | 비기능적인 속성으로서 자원의 효율적인 사용, 병행 실행 등을 표현한 뷰 |
구현 뷰 | 정적인 소프트웨어 모듈의 구성을 보여주는 뷰 |
배포 뷰 | 컴포넌트가 물리적인 아키텍처에서 어떻게 배치되는가를 매핑해서 보여주는 뷰 |
- 소프트웨어 아키텍처 패턴 : 소프트웨어를 설계할 때 참조할 수 있는 전형적인 해결 방식
- 소프트웨어 아키텍처 패턴 유형 :
계층화 패턴 | 시스템을 게층으로 구분하여 구성하는 패턴 |
클라이언트-서버 패턴 | 하나의 서버와 다수의 클라이언트로 구성된 패턴 |
파이프-필터 패턴 | 데이터 스트림을 생성하고 처리하는 시스템에서 사용 가능한 패턴 |
브로커 패턴 | 분리된 컴포넌트들로 이루어진 분산 시스템에서 사용되고, 이 컴포넌트들은 원격 서비스 실행을 통해 상호작용이 가능한 패턴 |
모델-뷰-컨트롤러 패턴 | 대화형 애플리케이션을 모델, 뷰, 컨트롤러 3개의 서브 시스템으로 구조화하는 패턴 |
- 소프트웨어 아키텍처 비용 평가 모델 :
SAAM | 경험이 없는 조직에서도 활용 가능한 비용 평가 모델 |
ATAM | 아키텍처 품질 속성을 만족시키는지 판단 및 품질 속성들의 이해 상충관계까지 평가하는 모델 |
CBAM | 경제적 의사결정에 대한 요구를 충족하는 비용 평가 모델 |
ADR | 구성요소 간 응집도를 평가하는 모델 |
ARID | 특정 부분에 대한 품질요소에 집중하는 비용 평가 모델 |
< 디자인 패턴 >
- 디자인 패턴 : 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴
- 구성요소 : 패턴의 이름 / 문제 및 배경 / 솔루션 / 사례 / 결과 / 샘플 코드
- 유형 :
생성 | 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. 개발 기술 환경 정의
< 개발 기술 환경 현행 시스템 분석 >
- 운영체제 현행 시스템 분석 시 고려 사항 : 신뢰도 / 성능 / 기술 지원 / 주변 기기 / 구축 비용
- 운영체제 종류 : PC(윈도즈 / 유닉스 / 리눅스) , 모바일(안드로이드 / IOS)
- OSI 7계층 : Application Layer - Presentation Layer - Session Layer - Transport Layer - Network Layer - Data Link Layer - Physical Layer
- DBMS 현행 시스템 분석 시 고려사항 : 가용성 / 성능 / 상호 호환성 / 기술 지원 / 구축 비용
- 미들웨어 : 분산컴퓨팅 환경에서 응용 프로그램과 프로그램이 운영되는 환경 간에 원만한 통신이 이루어질 수 있도록 제어해주는 소프트웨어
- WAS(대표적인 미들웨어) : 서버계층에서 애플리케이션이 동작할 수 있는 환경을 제공하고 안정적인 트랜잭션 처리와 관리, 다른 이기종 시스템과의 애플리케이션 연동을 지원하는 서버
- 미들웨어 현행 시스템 분석 시 고려 사항 : 가용성 / 성능 / 기술 지원 / 구축 비용
'8. 자격증 > 8-1. 정보처리기사' 카테고리의 다른 글
정처기 실기 2-1. UI 요구사항 확인 (0) | 2021.10.05 |
---|---|
정처기 실기 1-3. 요구사항 확인 / 1-4. 분석 모델 확인하기 (0) | 2021.10.04 |
정처기 실기 1-1. 소프트웨어 개발방법론 (0) | 2021.09.21 |
정처기 5-3. 소프트웨어 개발 보안 구축 / 5-4. 시스템 보안 구축 (0) | 2021.08.16 |
정처기 5-1. 소프트웨어 개발방법론 활용 / 5-2. IT 프로젝트 정보시스템 구축관리 (0) | 2021.08.16 |