반응형

IT 기술/SW공학 & 프로젝트 관리 24

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

Ⅰ. 소프트웨어 아키텍처 분석의 정의 및 필요성가. 소프트웨어 아키텍처의 정의- 시스템의 구조와 구성요소 그리고 구성요소 간의 관계와 이들 사이의 설계 원 나. 소프트웨어 아키텍처의 필요성구분필요성설명비즈니스 측면변화 민첩성- 다양한 비즈니스 요구사항 민첩한 대응비용 절감- 소프트웨어 재사용, 유지보수 비용 절감표준화- 각종 규제 및 보안 준수 표준화기술적 측면성능 최적화- 부하 분산 설계로 성능 향상확장성- 클라우드 네이티브, 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  Ⅲ. 모놀리식 아키텍처를 마..

Micro Service Architecture

Ⅰ. 모놀리식 아키텍처와 MSA 비교가. MSA의 개념 및 구성요소개념하나의 큰 애플리케이션을 여러 개의 작은 서비스 단위로 나누어 변경과 조합이 가능하도록 만든 아키텍처구성요소- API Gateway- User Layer와 Micro-Service Layer 연계- RESTful 기반 Request, Response 관리- API Server- 독립적으로 배포/관리 가능한 단위로 분리된 개별 서비스를 API 형태로 구현한 서버 계층- Persistence- API Server에서 사용하는 데이터 지속성 계층- 다양한 기술 기반 데이터베이스 활용 - User/Client- 웹/모바일 등 클라이언트 어플리케이션- MSA 제공 서비스를 API 통해 활용 나. 모놀리식 아키텍처와 MSA 비교비교마이크로서비스 ..

WBS

Ⅰ. 프로젝트 범위 관리의 핵심도구, WBS의 개요가. WBS의 정의- 프로젝트 목표 달성과 필요한 산출물을 위해 실행할 작업을 인도물 중심의 계층구조로 세분해 놓은 계층도 나. WBS 특징특징설명세분화- 1~2주 안에 처리 가능한 단위로 업무 세분화, 2주의 원칙 (80시간)진척 관리- 프로젝트 수행 인원에 대한 업무 진척관리 도구로 활용 가능선후관계 정의- 각 WBS별 선후관계 및 의존성, 연관 관계 파악 가능, 영역 정의 가능 Ⅱ. WBS의 구성요소 및 작성 원칙가. WBS의 구성요소구성요소설명작업 패키지(Work Package)- 관리 가능한 단위의 WBS 최하위의 구성요소- 일반적으로 80시간 내외 작업의 크기로 분할계획 패키지(Planning Package)- 작업이 시작되기 전 단계의 계획 ..

XP(eXtreme Programming)특징 및 실천 방법

Ⅰ. Agility 강조 SW 개발 방법론, XP의 정의- 의사소통과 TDD 기반으로 즉각 피드백과 짧은 개발 주기로 SW 품질 향상시키는 애자일 개발 방법론- XP 등장배경1) Time to Market 실현, Products 적시 배포2) 급변하는 환경에 맞춰 개발 주기 단축  Ⅱ. XP 핵심 가치와 개발 프로세스가. XP 핵심 가치 5가지가치설명용기(Courage)고객 요구사항 변화에 능동적 대처단순성(Simplicity)불필요 기능 구현 배제의사소통(Communication)개발자-고객간 활발한 의사소통피드백(Feedback)빠른 피드백 원칙존중(Respect)팀원간의 상호 존중 나. XP 개발 프로세스프로세스설명사용자 스토리요구사항 수집, 의사소통 도구릴리즈 계획 수립전체 프로젝트 배포 계획, ..

MSA와 Service Mesh

Ⅰ. 분할 독립 서비스 MSA, 서비스간 통신 제어관리 Service Mesh 개요MSA애플리케이션을 상호 독립적인 최소 구성 요소로 분할하여 구성Service Mesh서비스간 통신 제어/관리하는 MSA를 위한 인프라 계층- MSA에 Service Mesh를 활용하여 트래픽 제어 Ⅱ. MSA, Service Mesh 구성도와 구성요소가. MSA(Micro Service Architecture) 구성도와 구성요소구분구성요소설명User Interface모바일, 웹, PC다양한 환경에서 여러가지 기기를 통해 서비스 접속/이용GatewayAPI Gateway OrchestrationREST API, 로드 밸런싱, 트래픽 제어Micro ServicePolyglot Program, DB다양한 언어사용, 다양한 DB..

MVC, MVP, MVVM, MVI 디자인 패턴

Ⅰ. MVC 패턴개념도특징- 컨트롤러가 입력을 받아 모델을 업데이트하고 뷰를 선택- 컨트롤러는 뷰와 1:n 관계- 모델과 뷰 사이의 의존성 문제 발생, 앱이 커지면 유지보수 어려움구성 요소- model: 데이터 처리 담당- view: 모델을 화면에 표시, UI- controller: 사용자 입력 받아 model 업데이트 Ⅱ. MVP 패턴개념도특징- 모든 입력은 뷰로 전달, Presenter가 모델 업데이트- Presenter가 뷰와 모델 사이 매개체 역할- 뷰와 Presenter 의존성 문제구성요소- Model: 데이터 처리 담당- View: 모델을 화면에 표시, UI- Presenter: View와 Model의 매개체 Ⅲ. MVVM 패턴개념도특징- ViewModel과 데이터 바인딩을 통해 View 업데..

반응형