현행 시스템이 어떤 하위 시스템으로 구성되어 있는지 파악하는 절차로, 현행 시스템의 기술요소와 소프트웨어, 하드웨어를 파악한다.
목적: 개발 시스템의 개발 범위 확인, 이행 방향성 설정
시스템 내의 상위 시스템과 하위 시스템의 상호관계(동작원리 및 구성)를 표현한 것으로 시스템이 어떻게 작동하는지 설명하는 틀이다. 시스템의 목적 달성을 위해 시스템에 구성된 각 컴포넌트를 식별하고 이들의 상호 작용을 통하여 어떻게 정보가 교환되는지 설명한다. 단위 업무 시스템별로 아기텍처가 다른 경우는 핵심 기간 업무 처리 시스템을 기준으로 한다.
+) 아키텍처 설계과정
설계 목표 설정 ▶️ 시스템 타입 결정 ▶️
1단계)
시스템 구성 파악
시스템 기능 파악
인터페이스 현황 파악
2, 3단계)
소프트웨어 현황 파악
하드웨어 현황 파악
네트워크 현황 파악
개발 기술 환경 분석
응용 소프트웨어 + (하드웨어 + 시스템 소프트웨어)
응용 프로그램을 실행하기 위한 하드웨어와 시스템 소프트 웨어의 결합으로, 다양한 애플리케이션이 작동하는 데 기본이 되는 운영체제 소프트웨어를 의미한다. 동일한 플랫폼에서 개발된 소프트웨어는 언제, 어디서나 손쉽게 실행될 수 있다.
소프트웨어: 컴퓨터를 동작시키고 어떤 일의 처리 순서와 방법을 지시하는 명령어의 집합인 프로그램 + 프로그램 수행에 필요한 절차, 규칙, 문서의 총칭
소프트웨어의 분류
1) 시스템 소프트웨어: 운영체제, 컴파일러, 로더, 디버거 등과 같이 하드웨어를 관리하고 컴퓨터 자원을 활용하는 소프트웨어
2) 응용 소프트웨어: 엑셀, 파워포인트 등과 같이 사용자가 원하는 목적에 맞게 만들어진 소프트웨어
3) 미들웨어 소프트웨어: 시스템 - 응용 소프트웨어를 연결해주는 중간 단계의 소프트웨어로 데이터베이스 관리 시스템, 웹 서버 등이 있음
운영체제 플랫폼: Windows, macOS, UNIX, Linux, Andriod, iOS
애플리케이션 플랫폼: Java, .NET Framework, Node.js, Ruby on Rails
클라우드 플랫폼: Amazon Web Service(AWS), Microsoft Azure, GCP
데이터베이스 플랫폼: Oracle, MySQL, MongoDB, MS-SQL
게임 플랫폼: Unity, Unreal Engine, CryEngine
모바일 플랫폼: iOS, Android, Windows Phone
개발자 플랫폼: GitHub, Bitbucket, Gitlab
플랫폼 성능 특성 분석 항목
플랫폼 성능 특성 분석 방법에는 성능 테스트 (Perfromance Test), 사용자 인터뷰, 문서 점검 (플랫폼과 유사한 플랫폼의 기능자료 분석) 등이 있다. 플랫폼 성능 분석을 통해 사용자가 느끼는 속도를 파악하고 개선 방향을 제시할 수 있게 된다.
시스템 아키텍처: 소프트웨어 시스템의 전체 구조 및 요소 간의 관계를 설계하는 것
→ 시스템의 설계 단계에서 수행됨
플랫폼: 하드웨어나 소프트웨어를 실행할 수 있는 플랫폼을 제공하는 소프트웨어, 해당 플랫폼 위에서 소프트웨어를 개발할 수 있고 운영체제, 데이터베이스, 프로그래밍 언어 등 다양한 요소를 포함할 수 있음
→ 소프트웨어 실행 단계에서 사용됨
HW/SW 자원 관리 및 공통 서비스 제공, 사용자와의 인터페이스 제공
Windows, Android, iOS, UNIX, LINUX, MacOS
분석 항목: OS 종류와 버전, 패치 일자, 백업 주기
고려 사항: 가용성, 성능, 기술 지워느 주변기기, 구축비용 (TCO), 메모리누수
종속성과 중복성의 문제를 해겨랗기 위해서 제안된 데이터베이스 시스템으로, 모든 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리한다. 응용 프로그램과 데이터의 중재자로서 데이터베이스의 구성, 접근 방법, 관리 유지에 대한 모든 책임을 진다.
종류: Oracle, IBM, DB2, Microsoft SQL Sever, MySQL 등
분석 항목: DBMS 종류, 버전, 구성 방식, 저장 용량, 백업 주기, 제작사의 유지보수 여부, 테이블 수량, 데이터 증가 추이, 백업 방식 등
고려 사항)
🔽 외워야 될 것들 추가 필기