반응형

전체 글 319

소프트웨어 결합도(Coupling)

Ⅰ. 소프트웨어 모듈간의 의존성, 소프트웨어 결합도의 개요가. 소프트웨어 결합도의 정의- 모듈 간의 상호 의존성을 나타내는 개념으로, 결합도가 낮을수록 독립성이 높아 유지보수와 확장성이 우수 나. 소프트웨어 결합도의 특징- 낮은 결합도: 모듈 간 의존성이 적어 변경 시 영향이 적고 유지보수에 용이- 높은 결합도: 모듈 간 강한 의존성이 있어 하나의 변경이 다른 모듈에 영향을 미침  Ⅱ. 소프트웨어 결합도의 종류결합 정도종류설명높은 결합도내용 결합도- 한 모듈이 다른 모듈 내부 데이터에 직접 접근 공통 결합도- 여러 모듈이 동일한 전역 변수 공유 외부 결합도- 여러 모듈이 외부의 동일한 데이터 포맷 공유 제어 결합도- 한 모듈이 다른 모듈의 실행 흐름 제어 스탬프 결합도- 모듈 간 데이터 구조 전체 전달하..

소프트웨어 아키텍처 스타일

Ⅰ. 시스템 품질 향상을 위한 패턴, 소프트웨어 아키텍처 스타일의 개요가. 소프트웨어 아키택처 스타일의 정의- 아키텍처 설계에서 반복해서 나타나는 문제를 해결하고 아키텍처가 만족 시켜야하는 시스템 품질 속성을 달성할 수 있는 방법을 정리한 스타일 나. 소프트웨어 아키텍처 스타일의 특징- 견고하고 안정적이며 고품질의 시스템 구축 가능- 검증된 아키텍처로 문제 초기단계에서 해결 가능- 전체 시스템의 구조, 설계 모형의 재사용 가능  Ⅱ. 소프트웨어 아키텍처 스타일 유형유형개념도설명저장소 구조 스타일- 여러 서브시스템이 하나의 중앙 저장소의 데이터에 접근하여 서비스 제공하는 구조MVC 구조 스타일- Model, View, Controller로 분류하여 데이터 관리, UI 관리, 상호작용을 수행하는 구조클라이언..

객체지향 다형성(Polymorphism)

Ⅰ. 상속되는 기능을 재정의하는 다형성의 개요가. 다형성의 정의- 상속되는 기능을 재정의하거나 하나의 인터페이스에 다양한 매소드를 정의하여 확장성, 유연성을 제공하는 객체지향 특징 나. 다형성의 특징 및 장점구분항목내용특징동적 바인딩프로그램이 실행되는 시점에 호출 함수 연결확장성 지원수직적 확장성 Overriding, 수평적 확장성 Overloading재사용성 지원기존 구현 함수 재사용 및 필요 부분 수정하여 활용장점확장성기존 코드 수정하지 않고 새로운 기능 추가 용이유연성상속과 인터페이스를 활용하여 유연한 코드 설계 가능 Ⅱ. 다형성의 동작원리와 구현방법가. 다형성 동작원리- 하나의 인터페이스 draw(), erase() 함수명 사용- 디자인패턴 prototype 이용하면 효과적 코딩 가능 나. 다형성..

플랫폼 엔지니어링

Ⅰ. 데브옵스의 가속화, 플랫폼 엔지니어링의 개념정의- 여러 애플리케이션과 서비스를 지원하고 수명 주기를 관리하는 내부 개발자 플랫폼을 제공하는 엔지니어링필요성- 반족 작업 자동화, 표준화 환경에서의 개발로 생산성 향상- 인프라, 배포, 모니터링 등 운영 및 관리의 중앙 집중화- 개발, 테스트, 운영 환경 일관성으로 개발자간 협업 원활  Ⅱ. 플랫폼 엔지니어링의 구성도 및 구성요소가. 플랫폼 엔지니어링의 구성도 나. 플랫폼 엔지니어링의 구성 요소관점구성요소역할기술적 관점인프라 자동화- 코드 기반 인프라 관리(IaC) 지원CI/CD 파이프라인- 통합/배포 자동화로 개발 주기 단축모니터링 및 로깅- 상태 실시간 감시, 장애 감지운영 및 개발 관점개발자 포털- 내부 개발자 플랫폼(IDP) 제공셀프서비스 기능-..

CBAM(Cost Benefit Analysis Method)

Ⅰ. 비용과 이득을 고려한 아키텍처 평가 방법, CBAM의 개념- 아키텍처 접근법을 실현하는데 필요한 비용과 적용했을 때 달성 가능한 품질 속성의 이득을 측정하여 투자대비효과(ROI) 계산하는 아키텍처 평가 방법 Ⅱ. CBAM의 개념도 및 평가 절차가. CBAM 개념도 나. CBAM 평가 절차구분절차설명시나리오 분석수집기존 및 신규 시나리오 수집정제시나리오 중복 제거 및 정제우선순위 결정시나리오 중요도 및 영향도 평가효용-반응 분석효용-반응 곡선 작성성능 변화에 따른 효용 정량적 모델링아키텍처 접근법 이익 계산예상 반응값 결정예산 할당시 성능 반응 결정예상 효율 계산반응값에 대한 효용 계산전체 이익 계산모든 시나리오 이익 계산아키텍처 접근법 선정 및 검증ROI 계산, 순위 결정ROI 기준 접근법 순위 결..

소프트웨어 아키텍처 분석 방법론

Ⅰ. 소프트웨어 아키텍처 분석의 정의 및 필요성가. 소프트웨어 아키텍처의 정의- 시스템의 구조와 구성요소 그리고 구성요소 간의 관계와 이들 사이의 설계 원 나. 소프트웨어 아키텍처의 필요성구분필요성설명비즈니스 측면변화 민첩성- 다양한 비즈니스 요구사항 민첩한 대응비용 절감- 소프트웨어 재사용, 유지보수 비용 절감표준화- 각종 규제 및 보안 준수 표준화기술적 측면성능 최적화- 부하 분산 설계로 성능 향상확장성- 클라우드 네이티브, MSA 활용보안- 데이터 보호, 해킹 방지 설계 Ⅱ. 소프트웨어 아키텍처 정방향 분석과 역방향 분석가. 소프트웨어 아키텍처 정방향 분석구분항목설명개념정방향 분석- 요구사항 기반 설계, 구현, 테스트를 거쳐 최종 소프트웨어 개발하는 과정특징체계적인 프로세스- 분석, 설계, 구현, ..

소프트웨어 요구 공학

ISO/IEC/IEEE 29148 - 소프트웨어 요구사항 명세서(SRS) 국제 표준  Ⅰ. 요구공학 정의 및 필요성가. 요구공학의 정의- 시스템 개발, 변경의 목적 식별을 위해 이해관계자들의 요구를 이해 및 조정하여 체계적으로 수집, 분석, 명세화하는 프로세스 나. 요구공학의 필요성구분필요성설명비즈니스 관점연속성비즈니스 연속성 유지확장성환경변화에 신속한 대응재무적 관점비용절감요구 수집, 사전 분석으로 비용절감효율성신속하고 정확한 요구 반영사용자 관점이해도업무 이해도, 의사소통 향상명세화고객,  개발자간 SW 기준 수립 Ⅱ. 요구공학 절차가. 요구공학 절차 개념도나. 요구공학 절차 상세구분프로세스설명요구사항 개발추출- 요구사항 식별, 분류, 우선순위분석- 요구사항 개발 대상 도출명세- 요구사항 명세서(기능..

소프트웨어 유지보수 향상 및 비용 절감(3R)

3R(Reverse Engineering, Re-Engineering, Reuse) Ⅰ. 소프트웨어 유지보수 향상 및 비용절감, 3R의 정의- 소프트웨어 생산성 극대화를 위해 레포지토리 기반으로 역공학, 재공학, 재사용 기법을 사용하는 공학적 접근 방법 Ⅱ. 3R의 개념도 및 상세설명가. 3R의 개념도 나. 3R의 상세설명구분절차세부 내용역공학소프트웨어 분석- 기존 SW 내부 구조 분석코드 및 문서 복구- 소스코드, 데이터구조, 알고리즘 분석시스템 구조 및 동작 파악- 유지보수 및 향후 개선 정보 확보재공학기존 시스템 평가- 유지보수, 성능개선 위한 분석코드 개선- 노후 코드 리팩토링최적화 및 테스트최신 기술 적용 (클라우드, AI 등)배포 및 운영- 자동화 테스트 도입재사용재사용 가능 컴포넌트 식별- ..

Software Bill of materials(SBOM)

Ⅰ. 소프트웨어 공급망 공격 대응, SBOM의 정의- 소프트웨어 컴포넌트 및 구성 요소를 식별할 수 있는 메타데이터와 저작권 및 라이선스 등으로 소프트웨어 콘텐츠에 대한 정보를 포함하는 공식 SW 자재 명세서 Ⅱ. SBOM 개념도 및 구성 요소가. SBOM 개념도 나. SBOM 구성 요소구성 요소설명예시소프트웨어 구성소프트웨어 패키지 및 라이브러리- log4j- openssl메타데이터SBOM 생성 날짜, 형식, 버전- CycloneDX- SPDX보안 정보취약점 및 보안 패치- CVSS- CVE라이선스 정보라이선스 유형 및 준수 여부- Apache-2.0- MIT형식 및 배포 정보패키지 유형, 해시값- pkg 정보- SHA-256 Ⅲ. SBOM 작성 핵심 도구 SCA(Software Composition ..

모놀리식 아키텍처와 마이크로서비스 아키텍처

Ⅰ. 모놀리식 아키텍처와 마이크로서비스 아키텍처 개념 비교모놀리식마이크로서비스- 하나의 코드 베이스를 활용하여 여러가지 기능을 수행하는 전통적인 소프트웨어 개발 모델- 하나의 큰 어플리케이션을 여러개의 작은 어플리케이션으로 구현하여 서비스하는 개발 모델 나. 모놀리식 아키텍처와 마이크로서비스 아키텍처의 상세 비교구분모놀리식마이크로서비스구조단일 어플리케이션 통합 구조독립 어플리케이션 분산 구조배포전체 통합 배포서비스 독립 배포기술 스택전체 동일한 기술 스택서비스별 자체 기술 스택유연성전체 어플리케이션 확장 필요특정 서비스만 확장 가증지연네트워크 지연 없음서비스별 통신 지연 발생데이터동기식 RDBMS비동기식 Polyglot DB주요 기술SOAP, RESTgRPC, GraphQL  Ⅲ. 모놀리식 아키텍처를 마..

반응형