iSAQB® 공인 소프트웨어 아키텍처 전문가 - 파운데이션 레벨
-
부터 01-12-26 까지 03-12-26
Saudi Arabia - Riyadh
English
-
부터 01-12-26 까지 03-12-26
Saudi Arabia - Riyadh
English
by tecnovy
설명
공인 Certified Professional for Software Architecture – Foundation Level(CPSA-F) 교육은 참가자가 소규모 및 중규모 시스템의 요구사항에 맞는 소프트웨어 아키텍처를 설계하고, 명세하고, 문서화하는 데 필요한 지식과 기술을 제공합니다. 참가자는 자신의 실무 경험과 기존 기술을 바탕으로, 현재의 시스템 비전과 충분히 상세한 요구사항에서 아키텍처 결정을 도출하는 방법을 배웁니다. CPSA-F 교육에서는 특정 개발 프로세스와 관계없이 소프트웨어 아키텍처를 설계하고, 문서화하고, 평가하는 방법과 원칙을 배웁니다.
교육에서는 다음 기술을 중점적으로 다룹니다.
- 요구사항, 관리, 개발, 운영 및 테스트 분야의 이해관계자와 기본적인 아키텍처 결정을 논의하고 조정하기
- 소프트웨어 아키텍처의 주요 활동을 이해하고 소규모 및 중규모 시스템에 적용하기
- 아키텍처 뷰, 아키텍처 패턴 및 기술 개념을 바탕으로 소프트웨어 아키텍처를 문서화하고 전달하기
제1장: 소프트웨어 아키텍처의 기본 개념
- 소프트웨어 아키텍처의 정의에 대해 논의하기
- 소프트웨어 아키텍처의 장점을 이해하고 파악하기
- 소프트웨어 수명 주기의 일부로서 소프트웨어 아키텍처 이해하기
- 소프트웨어 아키텍트의 업무와 책임 이해하기
- 소프트웨어 아키텍트의 역할을 다른 이해관계자와 연결하여 이해하기
- 개발 방식과 소프트웨어 아키텍처의 관계 설명하기
- 단기 목표와 장기 목표 구분하기
- 명확하게 표현된 내용과 암묵적인 가정 구분하기
- 더 넓은 아키텍처 환경에서 소프트웨어 아키텍트의 책임 이해하기
- 다양한 IT 시스템 유형 구분하기
제2장: 소프트웨어 아키텍처의 설계와 개발
- 아키텍처 개발을 위한 접근 방식과 경험 기반 지침을 선택하고 사용하기
- 소프트웨어 아키텍처 설계하기
- 소프트웨어 아키텍처에 영향을 주는 요인을 파악하고 고려하기
- 횡단 관심사를 설계하고 구현하기
- 중요한 아키텍처 패턴을 설명하고 적절하게 적용하기
- 설계 원칙을 설명하고 사용하기
- 구성 요소 사이의 의존 관계 계획하기
- 적절한 접근 방식과 기법을 사용하여 품질 요구사항 달성하기
- 인터페이스를 설계하고 정의하기
제3장: 소프트웨어 아키텍처의 명세와 의사소통
- 기술 문서의 품질을 설명하고 고려하기
- 소프트웨어 아키텍처를 설명하고 전달하기
- 소프트웨어 아키텍처를 설명하기 위한 표기법과 모델을 설명하고 적용하기
- 아키텍처 뷰를 설명하고 사용하기
- 시스템의 컨텍스트 뷰를 설명하고 적용하기
- 횡단 관심사를 문서화하고 전달하기
- 인터페이스 설명하기
- 아키텍처 결정을 설명하고 문서화하기
- 문서를 서면 의사소통 수단으로 사용하기
- 문서화를 위한 추가 자료와 도구 알아보기
제4장: 소프트웨어 아키텍처와 품질
- 품질 모델과 품질 특성에 대해 논의하기
- 소프트웨어 아키텍처의 품질 요구사항을 명확하게 정하기
- 소프트웨어 아키텍처를 정성적으로 분석하고 평가하기
- 소프트웨어 아키텍처를 정량적으로 평가하기
제5장: 소프트웨어 아키텍처 사례
- 요구사항, 제약 조건 및 솔루션 사이의 관계 이해하기
- 솔루션의 기술적 구현에 대한 근거 이해하기
대상 사용자
이 커리큘럼은 iSAQB 회원들이 CPSA-F의 학습 목표를 달성하는 데 필요하고 유용하다고 현재 판단하는 내용을 담고 있습니다. 이 커리큘럼은 ‘소프트웨어 아키텍처’ 전체 분야를 모두 설명하는 자료는 아닙니다.
요구 사항
참가자는 다음과 같은 지식 및 경험을 갖추어야 합니다. 특히 팀에서 소프트웨어를 개발한 충분한 실무 경험은 학습 내용을 이해하고 자격증을 성공적으로 취득하기 위한 중요한 조건입니다.
- 정규 교육 과정 밖에서 팀과 함께 여러 시스템을 개발하며 얻은 18개월 이상의 소프트웨어 개발 실무 경험
- 최소 하나의 고급 프로그래밍 언어에 대한 지식과 실무 경험. 특히 다음 내용을 알아야 합니다.
- 다음 개념
- 모듈화(패키지, 네임스페이스 등)
- 매개변수 전달(call-by-value, call-by-reference)
- 타입과 변수의 선언 및 정의 범위
- 타입 시스템의 기본 개념(정적 타입과 동적 타입, 제네릭 데이터 타입)
- 소프트웨어의 오류 및 예외 처리
- 전역 상태와 전역 변수로 인해 발생할 수 있는 문제
- 다음 개념
- 다음 분야에 대한 기본 지식
- 모델링과 추상화
- 알고리즘과 데이터 구조(예: List, Tree, HashTable, Dictionary/Map)
- UML(클래스, 패키지, 컴포넌트 및 시퀀스 다이어그램)과 소스 코드의 관계
또한 다음 지식과 경험이 있으면 여러 개념을 이해하는 데 도움이 됩니다.
- 명령형, 선언형, 객체 지향형 및 함수형 프로그래밍의 기본 개념과 차이점
- 다음 분야의 실무 경험
- 객체 지향 프로그래밍 언어(예: Java 또는 C#)
- 클라이언트-서버 시스템이나 웹 애플리케이션과 같은 분산 애플리케이션의 설계 및 구현
- 기술 문서 작성, 특히 소스 코드, 시스템 설계 또는 기술 개념 문서화