1. 설계 경험
포트폴리오에 모든 설계문서를 제공 할 수 없습니다.
면접시 가능한 범위에서 지참하겠습니다.
양해 부탁드립니다. 감사합니다.
요구사항 분석
클라이언트와의 미팅을 통해 요구사항을 세밀하게 이해하고, 비즈니스 목표와 필요성을 파악합니다.
요청한 내용을 상세하게 분석하고, 시스템에서 구현할 내용 및 요구사항을 다시 정리합니다.
이 과정을 통해 클라이언트의 사용 목적에 정확히 부합하는지를 한 번 더 체크하며, 정확한 요구사항 분석과 명확한 이해를 바탕으로 프로젝트를 효과적으로 계획하고 설계 단계로 나아갑니다.
설계
전체적인 시스템 동작을 시각화하고, 코드 정의와 용어 정리를 통해 개발자들 간의 의사소통을 원활하게 합니다.
이 과정을 통해 명확하고 체계적인 시스템 설계를 수행하며, 프로젝트의 효율성을 높이고 협업을 강화해 개발 과정을 원활하게 이끌어갑니다
(1) 요구사항 정의
■ 클라이언트와의 미팅, 기존 시스템 분석, 그리고 이메일을 통해 전달받은 정보를 종합해 요구사항을 새롭게 정의합니다.
■ 이때, 업무에 필요한 비즈니스 로직을 철저히 고려하며, 개발을 수행할 수 있도록 체계적으로 설계합니다.
(2) 프로세스 도식화
■ 업무 프로세스를 도식화함으로써 클라이언트와 개발팀 간의 의사소통을 원활하게 하며, 요구사항과 설계가 실제 업무 흐름과 시스템 흐름과 일치하는지 확인할 수 있게 도와줍니다.
■ 이를 통해 미리 문제를 감지하고 조정할 수 있으며, 최종적으로 사용자 중심의 인터페이스 및 효율적인 시스템을 제공하는데 기여합니다.
(3) 유스케이스 작성
■ 유스케이스 작성은 각 화면에서 어떤 기능과 상호작용이 이루어지는지를 설명하며, 이는 개발자와 클라이언트 간의 의사소통을 원활하게 합니다.
■ 이를 통해 사용자 중심의 화면 및 기능을 개발해 비즈니스 로직을 효과적으로 해결하고, 업무 프로세스를 최적화하는데 도움을 줍니다.
(4) 화면 설계
■ 이 단계에서는 비즈니스 로직을 어떻게 사용자 친화적으로 풀어낼 수 있는지, 어떤 UI가 업무를 가장 효율적으로 진행할 수 있는지를 고민하며 설계합니다.
■ 사용자가 인터페이스를 통해 상호작용할 때의 경험을 디자인하며, 이를 통해 사용자가 업무를 직관적이고 효과적으로 수행할 수 있도록 보장합니다.
(5) 엔터티 정의서
■ 개발 과정에서는 논리 ERD를 기반으로 물리 ERD를 작성하고, 애그리거트로 묶인 도메인들을 디렉토리 구조에 맞게 정리합니다.
■ 이때, JPA를 활용해 엔터티와 데이터베이스 스키마를 매핑해 데이터베이스와의 상호작용을 원활하게 합니다.
(6) 코드 정의서
■ 협업을 위한 중요한 단계로, 개발자 간의 의사소통과 코드 품질을 향상시키는 데 기여합니다.
■ 필요한 경우 용어사전도 정의해 모든 개발자가 공통 언어를 사용할 수 있도록 합니다.
(7) 아키텍쳐 구성
■ 각 어플리케이션과 인프라의 흐름이나 소통단계를 아키텍쳐로 구성합니다.
■ 개발자에게는 전체적인 개발 방향을, 사용자에게는 체계적이고 명확한 시스템 구조를 제공함으로서, 개발단계의 신뢰도를 제고합니다.
AWS 인프라 아키텍쳐 구성 예
2. 개발 경험 →