본문으로 건너뛰기

"professional-engineer" 태그로 연결된 415개 게시물개의 게시물이 있습니다.

기술사 관련 포스트

모든 태그 보기

요구사항 추출

· 약 3분

요구사항 추출의 개념

  • 시스템, 제품, 서비스를 개발하는 과정에서 이해관계자들의 원하는 바를 파악하고 명확하게 정의하는 활동
  • 프로젝트의 명확한 목표 설정, 이해관계자 만족, 리소스 절감, 리스크 관리를 위해 필요.

요구사항 추출 기법, 품질 속성, 개발 프로세스

요구사항 추출 기법

구분내용비고
인터뷰이해관계자와 직접 대화심층적 정보
설문조사설문지 통한 다수 이해관계자 요구사항 확보효율적, 정량적
브레인스토밍다수가 자유롭게 아이디어 제시창의적 아이디어
프로토타이핑시스템 초기 모델 제작, 사용자 피드백사용자 중심 요구사항
워크숍이해관계자가 모여서 토론, 협의합의 도출 효과
역공학기존 시스템 및 문서 분석숨겨진 요구사항 발견

요구사항 품질 속성

구분내용비고
원자성요구사항이 복합 목적이 아닌 단일 목적인지요구사항 충돌 방지
완전성요구사항이 정보의 모든 것을 포함하는지모든 이해관계자 요구 반영
비모호성명확하지 않거나 같은 내용을 다르게 언급했는지오해소지 제거
추적가능성요구사항을 쉽게 추적가능한 고유번호변경관리 대응
테스트가능성요구사항이 검증가능하게 기술되었는지객관적 기준

요구사항 추출 프로세스

요구사항 추출시 고려사항

  • 제한된 리소스 내에서 효율적인 개발을 위해 우선순위 설정 필요

객체지향 방법론

· 약 3분

객체지향방법론의 개념

  • SW 생명주기에 객체지향 개념을 접목시켜 객체를 중심으로 시스템을 모델링하는 방법론
  • 캡슐화, 추상화, 상속, 다형성과 정보은닉을 통해 복잡성을 줄이고, 재사용성과 유지보수성을 극대화하여 비용 절감

캡슐화, 정보은닉의 개념도, 비교, 적용방안

캡슐화와 정보은닉 개념도

  • 캡슐화(수단)는 정보은닉(요건)을 실현하기 위한 수단으로 활용

캡슐화와 정보은닉 비교

구분캡슐화정보은닉
개념객체의 속성과 메소드를 하나의 단위로 묶는 것객체 내부 구현을 감추는 것
목적응집도와 모듈성 향상내부 상태 보호, 변경용이성 확보
수단접근제어자, 접근메소드접근제어자, 인터페이스
효과모듈화, 재사용성안정성, 유지보수성

캡슐화, 정보은닉 적용방안

구분캡슐화정보은닉
설계단계클래스 책임 분배, 접근제어자모듈화, 추상화, 레이어설계
구현단계getter/setter, 생성자의존성 주입, 디자인패턴

객체지향 프로그래밍 고려사항

  • SOLID 원칙 준수, GoF의 디자인패턴 활용, 낮은 결합도, 높은 응집도를 가진 클래스, 모듈 구현

SRS, 요구사항 명세서

· 약 3분

요구사항 명세서 개념

  • SDLC 전 단계에서 검토, 승인, 평가의 기준이 되는 SW가 갖추어야할 기능, 성능, 제약조건 등이 기술된 명세서
  • 요구사항의 애매모호성을 제거하고, FP가 도출 가능한 수준까지 작성하여 의사소통 비용절감 및 변경관리용이성 증대를 위해 필요.

요구사항 명세서의 구성도, 핵심요소, 활용방안

요구사항 명세서의 구성도

요구사항 명세서 핵심요소

구분내용비고
기능요구사항시스템이 수행할 기능, 제공해야할 서비스 요구사항사용자 관점
성능요구사항시스템 속도, 처리량, 응답시간 등 시스템 성능 요구사항측정가능한 구체적 수치
인터페이스요구사항외부시스템 연동, 하드웨어와 상호작용 방식에 대한 요구사항데이터 포맷, 프로토콜
설계 제약조건시스템 설계, 구현에 제약을 가하는 요소 설명개발환경, 표준 준수

요구사항 명세서 활용방안

구분내용비고
설계시스템 아키텍처, 인터페이스, UI/UX요구사항 충족 설계
구현코딩, 단위테스트 기준기능 요구사항 준수
테스트테스트케이스 설계, 요구사항 검증결함 문서화
유지보수변경관리, 사용자 교육, 개선피드백 반영

요구사항 명세서 작성시 고려사항

  • 명확하고 일관된 용어를 사용하여 이해관계자 간 의사소통의 투명성 제고

합성데이터

· 약 5분

합성데이터의 개념

  • 원본 데이터를 기반으로 그 형식과 통계적 특성을 학습하여 생성된 가상 데이터
  • 개인정보보호를 유지하면서도 산업적 유용성을 제공, 데이터 부족 문제 해결, 민감한 데이터 대체, 다양한 산업에서 새로운 데이터 활용 기회 창출

합성데이터의 유형 개념도, 유형, 사례

합성데이터의 개념도

합성데이터 유형

구분유형내용
원본 데이터 유무완전 합성 데이터원본데이터가 전혀 없이 모두 가상으로 생성된 데이터
부분 합성 데이터원본 데이터 중 일부데이터셋이나 일부속성변수를 선택하여 합성데이터로 대체
복합 합성 데이터일부 변수 값을 합성 데이터로 생성, 합성된 데이터와 실제 데이터를 모두 사용하여 일부 변수 값을 다시 도출하는 방법으로 생성
원본 데이터 형태정형 합성데이터행과 컬럼으로 이뤄진 테이블 형태의 원본 데이터로부터 생성
비정형 합성데이터텍스트, 이미지, 영상 등의 비정형 원본 데이터로부터 생성

합성데이터 사례

구분내용비고
국내자율주행용 합성 비디오데이터셋네이버 Virtual KITTI
국외이미지와 사람 수가 압도적인 군중 계수 데이터셋GTA5 Crowd Counting
실내 장면 이해를 위한 하이퍼 리얼리즘 장면 데이터셋애플 Hypersim
물리 법칙을 준수하는 3D 합성 데이터셋엔비디아 Cosmos

합성데이터 생성 및 활용절차

합성데이터 생성 절차도

단계세부 절차주요 활동
사전 준비데이터 수집원본 데이터 확보 및 사용 목적 정의
데이터 분석 및 전처리데이터의 특성, 분포, 누락 데이터 탐색 및 정제
합성 데이터 생성모델 선정통계적 모델, 딥러닝(GAN) 등 적합한 생성 방법 선택
데이터 생성원본 데이터의 통계적 특성과 구조를 학습하여 합성
안전성/유용성 검증개인정보 보호 확인차분 프라이버시, 익명화 등 식별 가능성 제거
데이터 품질 평가원본 데이터와의 통계적 유사성 및 목적 적합성 평가
심의위원회 평가윤리적 검토 및 승인데이터 사용에 따른 윤리적 문제와 법적 준수 여부 확인
활용 및 관리데이터 활용 및 배포합성 데이터를 목적에 맞게 활용 및 필요한 곳에 배포
보관 및 안전한 관리안전한 데이터 저장 및 접근 통제

합성데이터 고려사항

구분고려 사항내용
안전성개인 식별 가능성 제거식별 위험 제거를 위한 차분 프라이버시 적용
유용성원본 데이터와의 통계적 분포 유사성 유지활용 목적에 맞는 데이터 정확성 보장
법적 준수개인정보보호법 등 규제 준수데이터 제공 및 활용 시 적법 절차 준수

텍스트마이닝, 오피니언마이닝

· 약 2분

데이터마이닝의 개념

  • 빅데이터에서 의미있는 패턴을 파악하거나 예측하여 의사결정에 활용하기 위한 분석기법

텍스트마이닝과 오피니언마이닝의 구성요소

텍스트마이닝 구성요소

구분내용비고
개념텍스트데이터에서 패턴, 정보 추출다양한 비정형데이터 처리
절차텍스트 수집 -> 텍스트 전처리 -> 특징 추출 -> 모델 구축 -> 패턴 분석데이터 전처리시 이상치 제거
주요기법표준화, 불용어제거, TF-IDFNLP, ML기법 활용
사례문서분류, 텍스트요약기업문서관리, 정보검색시스템

오피니언마이닝 구성요소

구분내용비고
개념텍스트데이터에서 감정, 의견분석긍정, 부정 분류
절차SNS데이터수집 -> 텍스트 전처리 -> 감성사전구축 -> 감정분류모델 구축 -> 결과시각화감성사전의 품질 중요
주요기법감성사전 구축, 감성분석 모델SVM, 로직스틱회귀, ML기법 활용
사례리뷰분석, SNS분석, 피드백분석마케팅, 고객전략 수립

오피니언마이닝 고려사항

  • 은어, 약어, 이모티콘 등의 비정형 표현들에 대한 추가 전처리 필요

데이터베이스 트랜잭션

· 약 3분

데이터베이스 트랜잭션의 개념

  • 데이터의 정확환 일관성과 무결성을 보장하기 위해 완전히 종료해야하는 데이터베이스 처리의 논리적 작업 단위

데이터베이스 트랜잭션의 특징, 상태전이도, 종료기법

데이터베이스 트랜잭션의 특징

구분내용보장기법
원자성연산전체가 처리되거나 처리되지 않아야함Commit, Rollback
일관성트랜잭션 성공 후 일관된 데이터베이스 상태 유지무결성 제약조건, 동시성 제어
고립성트랜잭션 실행 중 다른 트랜잭션 접근 불가Isolation Level, Locking, 분산 트랜잭션
지속성성공된 트랜잭션은 어떤 고장에도 손실되지 않고 영속 저장회복기법, 회복컴포넌트 관리
  • 트랜잭션 특징에 따라 트랜잭션 상태 변경

데이터베이스 트랜잭션 상태전이도

시작, 부분적완료, 완료, 실패, 철회

  • 트랜잭션이 정상적으로 상태 전이되어 작업을 수행하기 위해 ACID와 직렬성 보장 필요

데이터베이스 트랜잭션 종료기법

구분기법내용
명시적 처리Commit변경 내용을 디스크에 영구 저장, 일관적 상태
Rollback중지 또는 철최하고 갱신 작업취소, 비일관적 상태
묵시적 처리정상종료Commit과 동일하나 새 트랜잭션 다시 시작 안함
비정상종료Rollback과 동일하나 프로그램 종료

분산DB 트랜잭션 고려사항

  • BASE 특성에 중점을 두어 트랜잭션 구현 및 관리 필요

병행제어

· 약 3분

병행제어의 개념

  • 다수의 트랜잭션이 동일한 데이터에 동시에 접근하고자할 때, 각 트랜잭션이 독립적으로 수행된 결과를 보장하는 기법
  • 갱신손실, 연쇄복귀, 모순성 제거, 무결성 일관성 보장

병행제어 미수행시 문제점과 해결기법

병행제어 미수행시 문제점

문제내용비고
갱실분실트랜잭션의 동일 데이터 동시 갱신시 발생고립성 위배
불일치다중 사용자 트랜잭션들이 동시 실행시 모순된 결과 반환일관성, 고립성 위배
연쇄복귀한 트랜잭션이 실패 후 롤백될 때 다른 트랜잭션 처리 취소 불가일관성, 원자성 위배

병행제어 해결기법

그림 표현

구분개념도내용비고
Lockinglocking트랜잭션 사용 자원에 대해 상호배제 기능 제공DB락, Table락, Row락, Column락
2PL2pl모든 트랜잭션의 lock과 unlock 연산을 확장, 수축단계로 구분하여 수행직렬가능성 보장, 교착상태 예방필요
Timestamptimestamp트랜잭션 입력시 Timestamp 시간 순으로 직렬화직렬가능성 보장, 교착상태 방지
낙관적 기법optimistic트랜잭션 수행시 미검사, 트랜잭션 종료 전 위반 검사Read, Validate, Write 단계
다중버전 병행제어mvcc여러 버전 저장 후 일관성이 보장된 트랜잭션 선택동시성 우수, I/O오버헤드 증가

병행제어 고려사항

  • 분산 데이터베이스 시스템의 경우, NW 지연, 노드 장애 등 문제 발생을 대비하기 위해 2PL 기법 사용

NoSQL

· 약 4분

NoSQL의 개념

  • 전통적인 RDBMS의 한계 극복을 위해 비정형 데이터를 다양한 형태로 저장하고 유연한 데이터 모델을 제공하는 데이터베이스
  • 대규모 데이터 R/W 처리 한계 극복, 클라우드 분산 환경 확장성 한계 극복, 스키마 유연성

NoSQL의 BASE특성, 유형

NoSQL의 BASE 특성

구분내용비고
Basically Available시스템 장애에도 부분적으로 데이터 접근 가능모든 요청 응답, 가용성 중시
Soft State데이터 일관성이 즉시 보장되지 않음최종적 일관성
Eventual Consistency모든 복제물이 결국에는 동일한 상태로 수렴일관성 완화

NoSQL의 유형

구분내용비고
Key-Value키와 값의 간단한 쌍으로 저장, 빠른 조회 가능Redis, DynamoDB
Column Family열 기반 데이터 저장, 유연한 스키마Cassandra, HBase
DocumentJSON 문서 형식으로 저장, 빠른 조회 가능MongoDB, CouchDB
Graph노드와 간선으로 구성된 그래프 형식의 데이터베이스Neo4j
Vector데이터 간 유사도를 벡터로 저장하여 거리 계산milvus

NoSQL의 CAP 이론, 유형

CAP 이론

구성내용비고
Consistency모든 사용자는 항상 동시에 같은 데이터 조회트랜잭션 통한 보장
Availability모든 요청이 장애시에도 동작항상 응답 반환, 최신 데이터 유지 불필요
Partition Tolerance물리적 분할에도 시스템 동작분산시스템 필수 속성
  • CAP 중 2가지만 만족 가능

CAP 유형

구분내용비고
C + P네트워크 분할시에도 일관성을 보장, 가용성 일부 희생HBase, MongoDB
A + P네트워크 분할시에도 가용성을 보장, 일관성 일부 희생CouchDB, DynamoDB
C + A네트워크 분할 발생하지 않는 상황에서 일관성과 가용성 모듀 우지RDBMS

NoSQL 모델링시 고려사항

  • 비정형 데이터를 저장해야하므로 도메인 모델링 후 쿼리 결과를 정의한 뒤 저장할 테이블 모델을 설계해야함

데이터 시각화

· 약 3분

데이터 시각화의 개념

  • 정보의 효과적인 전달을 위해 차트, 그래프, 지도 등 시각적 요소를 활용하여 숨겨진 패턴이나 인사이트를 발견하는 프로세스
  • 시각적 비교, 인과관계 제시, 의사결정 지원

데이터 시각화의 개념도, 세부유형, 적용방안

데이터 시각화의 개념도

데이터 시각화 세부유형

구분내용비고
시간시각화시간에 따른 데이터 변화량막대, 꺾은선
분포시각화최소, 최대, 평균, 기존항목 비교파이, 도넛, 트리맵
관계시각화변수의 상관관계를 토대로 타 변수 분석스케터, 버블, 히스토그램
비교시각화여러 변수 간 비교, 차이 분석히트맵, 스타차트
공간시각화지역 특성, 현황 표현지도 매핑

데이터 시각화 적용방안

구분내용비고
시스템성능 모니터링시스템자원사용량, 응답시간 등병목파악, 스케일업, 튜닝
보안 관제침입시도, 악성코드 유포 시각화위험요소 조기탐지, 대응
서비스 이용현황사용자 행동패턴, 이용량 시각화개선 전략, 마케팅 전략

데이터 시각화 고려사항

  • 시각화를 통해 얻고자하는 정보에 대한 목표를 명확히 정의하여, 효과적 정보 전달과 리소스 비용 절감

빅데이터 분석

· 약 3분

빅데이터 분석의 개념

  • 대량의 정형, 비정형 데이터를 분석하여 의미있는 정보와 패턴을 추출하고, 의사결정에 활용하는 과정

상관관계, 인과관계의 개념도, 구성요소, 적용방안

상관관계, 인과관계 개념도

  • 인과관계: 독립변인이 종속변인에 영향을 미치는지 둘 간의 관계성 분석
  • 상관관계: 서열척도, 비율척도, 등간척도로 측정된 변수 간 관련성 분석

상관관계, 인과관계 구성요소

구분상관관계인과관계
분석목적파생, 의존관계 분석원인, 결과 관계 분석
분석방법상관분석, 회귀분석, 산점도인과실험, 회귀분석
특징양, 음, 무상관 관계인과성, 시간적 선후관계
관계상호의존성, 상호관계성원인과 결과
  • 상관관계는 인과관계의 필요조건이나 충분조건은 아님

상관관계, 인과관계 적용방안

구분상관관계인과관계
개발코드복잡도와 버그발생률새 방법론 도입 효과
개발기간과 기능완성도코드리뷰 효과
디자인UI/UX 사용자 만족도와 디자인UI/UX 개선 효과
페이지 레이아웃과 CTR디자인요소 변경 효과
마케팅캠페인 유형과 매출마케팅 캠페인 효과
SNS활동과 브랜드 인지도가격 할인 효과