1. CI(Continuous Integration )의 개요

 1-1. CI(Continuous Integration )의 정의

  - 여러 명으로 구성된 팀이 작업한 것을 자주 통합 하는 것을 가리키는 소프트웨어 개발 프랙티스 

  - 매번 이루어지는 통합은 자동화된 빌드와 테스트를 통하여 통합 에러가 없는지 가능한 빨리 검증되며 통합 시에 발생하는 문제도 조기 발견되어 단위코드의 품질을 향상시킴

 

 1-2. CI(Continuous Integration )의 특징

  - 소스코드 일관성 유지

  - 소스코드 자동빌드

  - 빌드 과정에서의 자동화 테스트(기능/비기능)

  - 일일 체크아웃과 빌드를 통한 코드 무결성 유지

 

2. CI(Continuous Integration)의 구성도, 구성요소, 주요프로세스

 2-1. CI(Continuous Integration)의 구성도

 

 

 2-2. CI(Continuous Integration)의 구성요소

구성요소 내용
버전관리 저장소  - 모든 프로젝트 파일의 중앙 저장소가 있어 팀원들의 작업을 전부 동기화 공간 제공
지속적인 통합서버 (CI 시스템 )  - 컴파일 , 테스트 , 릴리즈 , 디플로이 , 결과보고 등의 작업을 통합적으로 자동 화 해주는 SW
빌드 스크립트 - 자동화된 절차를 위한 셀 스크립트 ( 또는 배치파일 ) 을 작성
PM Tool - 빌드 결과를 모니터링 하거나 자동적으로 피드백을 받을 수 있는 관리도구 로 의사소통도구 ( 이메일 , 문자 메시지 ), 빌드 모니터등
자동화된 테스트 - 결과를 스스로 확인하는 자동화된 테스트

 

 2-3. CI(Continuous Integration)의 주요 프로세스

'1. IT Story > Basic Studies' 카테고리의 다른 글

CAP(Consistency, Availability, Partitioning) 이론  (0) 2020.12.24
데이터 품질관리의 Data Profiling  (0) 2020.12.24
MMDB(Main Memory Data Base)  (0) 2020.12.24
DB 샤딩(Sharding)  (0) 2020.12.24
테스트자동화  (0) 2019.09.22
V&V(Verification & Validation)  (0) 2019.09.20
빅데이터(Big Data)  (0) 2019.09.19
3D프린팅  (0) 2019.09.17
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

1. 테스트자동화의 개요

 1-1. 테스트자동화의 정의

  - 소프트웨어 개발 시 포함되는 다양한 테스트 과정을 하드웨어 혹은 소프트웨어적으로 자동화 도구를 사용하여 반복성, 일관성 및 생산성을 향상시키는 테스트 기법

 

 1-2. 테스트자동화의 특징

구분 설명
추적성 부여 설계부터 실행까지 전반적인 테스트 활동에 추적성, ALM과 연계
비용 감소 인적/물적 자원 절감
재사용성 강화 Repository 운영, 테스트케이스/테스트오라클의 재사용
품질 향상 반복테스트, 회귀테스트, 성능/강도 테스트 주기적 시행

 

2. 테스트자동화의 자동화도구, 상세 도구

 2-1. 테스트자동화의 자동화 도구 

 

 2-2. 테스트자동화의 상세 도구

자동화 도구 설명
테스트 관리도구 테스트 계획수립, 요구사항 및 버그 추적관리 등을 지원 하는 도구
설계도구

명세기반 테스트 설계도구 : SW에 대한 명세부터 테스트 프로시저, 테스트 데이터, 테스트 드라이버 등을 생성하는 도구

구조(코드)기반 테스트 설계도구 : 소스 코드로부터 테스트 프로시저, 테스트 데이터, 테스트 드라이버, 테스트 스텁 등을 생성하는 도구

정적 분석도구

코드 분석 도구: 원시 코드의 문법적 적합성을 자동으로 평가하여 잘못된 문장을 표기

구조 검사 도구: 원시 코드의 그래프를 생성하여 논리 흐름을 보여주고 구조적인 결함이 있는지 체크

데이터 분석 도구: 원시코드에 정의된 데이터구조, 데이터선언, 컴포넌트 인터페이스를 검사, 잘못된 링크나 데이터 정의의 충돌, 잘못된 데이터의 사용 등을 발견

순서 검사 도구: 이벤트의 순서체크, 잘못된 순서로 코딩 되어 있다면 이벤트를 지적

동적 분석도구 프로그램이 수행되는 동안 이벤트의 상태 파악을 위해 특정한 변수나 조건의 스냅샷(Snapshot) 생성
커버리지 측정 도구 주어진 테스트케이스에 의해서 프로그램이 얼마나 많이, 얼마나 자세히 테스트 되었는지 평가하는 도구
테스트 수행 도구

자료흐름도 : 원시 프로그램을 입력 받아 Parsing 후 자료흐름도를 작성 define-use 관계 찾으려는 변수에 영향을 주는 요소들을 모아 테스트 경로를 구동시키는 입력 값들을 찾아냄

기능테스트 : 주어진 기능을 구동시키는 모든 가능한 상태를 파악하여 이에 대한 입력을 작성

입력 도메인 분석 : 원시코드의 내부를 참조하지 않고 입력 변수가 가질 수 있는 값의 도메인 분석

랜덤 테스트 : 입력 값을 무작위로 추출, 시스템의 신뢰성 분석에 사용

 

'1. IT Story > Basic Studies' 카테고리의 다른 글

데이터 품질관리의 Data Profiling  (0) 2020.12.24
MMDB(Main Memory Data Base)  (0) 2020.12.24
DB 샤딩(Sharding)  (0) 2020.12.24
CI(Continuous Integration)  (0) 2019.11.21
V&V(Verification & Validation)  (0) 2019.09.20
빅데이터(Big Data)  (0) 2019.09.19
3D프린팅  (0) 2019.09.17
인메모리컴퓨팅  (0) 2019.09.16
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

1. V&V(Verification & Validation)의 개요

 1-1. V&V(Verification & Validation)의 정의

  - 개발 단계별 산출물의 단계 초기에 설정된 조건의 만족 여부(Verification)와 구현된 S/W가 사용자 요구사항 및 기대치를 만족하는지(Validation) 검증 및 확인하는 활동

 

 1-2. V&V(Verification & Validation)의 특징

특징 설명
테스트 레벨 각 레벨은 서로 독립적, 각각의 계획, 전략, 기법, 주체가 있음
조기 테스팅의 중요성 정적 테스팅(리뷰형태)으로 리스크 및 비용 절감
결함예방 차원의 테스팅 결함 발견 및 수정비용 저렴
Verification 각 개발 단계의 산출물이 이전 단계의 요구사항 및 조건에 부합하는지 검증. 제품을 올바르게 만들고 있는가를 검증
Validation 제품이나 제품 컴포넌트가 고객의 요구사항을 충족 시키는지 확인. 올바른 제품을 만들었는지를 확인

 

2. V&V(Verification & Validation)의 개념도, 테스트 기법

 2-1. V&V(Verification & Validation)의 개념도

 2-2. V&V(Verification & Validation) 테스트 기법

구분 기법 내용
검증
(Verification)
점검
(Inspection)
- 소프트웨어 설계와 코드에 대한 오류를 찾아, 개발 초기에 결함을 제거함으로써 품질개선과 비용을 절검하는 기법
워크스루
(Walkthrough)
- 설계서나 프로그램의 오류를 탁상에서 발견하기 위한 회의로서 상세 설계서나 프로그램 설계서는 처음부터 프로그램논리나 부호화의 내용까지를 대상으로 탈락이나 모순의 여부를 심의
동료 검토
(Buddy Checks)
- 관리자의 참가 없이 동료와 기술리더가 디자인과 코드를 검토
확인
(Validation)
단위테스트
(Unit Test)
- 개별적으로 테스트 할 수 있는 소프트웨어 기능만을 따로 분리하여 기능을 테스트
- White box 테스트 중심, 모듈레벨 테스트, Driver/Stub
통합테스트
(Integration Test)
- 소프트웨어 컴포넌트간의 상호작용을 테스트하는 프로세스
- Big-Bang : 한꺼번에 테스트
- To-Down: 상위 모듈 테스트 시 다수의 하위 Stub 필요
- Bottom-up : 하위 모듈 호출하는 테스트 드라이버 필요
- Sandwich Test: 상 하향식 통합을 결합 (권장)
시스템테스트
(System Test)
- 통합 모듈에 대한 시스템 테스트
- 신뢰성, 견고성, 성능, 안전성 등의 비기능적 요구사항
인수테스트
(Acceptance Test)
- 시스템이 요구사항을 만족시키는지 고객들이 시스템 수행 결과를 테스트
- 알파 테스트: 개발자 환경에서 사용자가 수행
- 베타 테스트: 일정수의 사용자가 테스트 후 피드백
- 감마 테스트: 베타버전 배포 이후 다수 사용자 대상
설치 테스트 - 시스템 설치 시 수행, H/W체계, S/W 연결성 등 테스트

 

'1. IT Story > Basic Studies' 카테고리의 다른 글

MMDB(Main Memory Data Base)  (0) 2020.12.24
DB 샤딩(Sharding)  (0) 2020.12.24
CI(Continuous Integration)  (0) 2019.11.21
테스트자동화  (0) 2019.09.22
빅데이터(Big Data)  (0) 2019.09.19
3D프린팅  (0) 2019.09.17
인메모리컴퓨팅  (0) 2019.09.16
WoT(Web of Things)  (0) 2019.09.08
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

1. 빅데이터의 개요

 1-1. 빅데이터의 정의

   - 대량의 흩어진 데이터를 수집, 저장, 발굴, 분석 하여 2차 데이터로 만들어 내고 이를 비즈니스화 하는 일련의 과정

 

 1-2. 빅데이터의 특성

   - 데이터의 규모가 방대하고(Volume), 데이터의 종류가 다양하며(Variety), 데이터 처리 및 분석을 적시에 해결해야 하는(Velocity) 특성을 가지고 있음

 

2. 빅데이터의 분석 플랫폼, 관리기술

 2-1. 빅데이터의 분석 플랫폼

 

 2-2. 빅데이터의 관리기술

기술 구분 설명 필요 기술
원본 데이터 저장 - 대용량 분산 파일 저장
- 로그 기반 데이터 포함
- Hadoop File System
- MapReduce
구조적 데이터 저장 - 대용량 분산 데이터 저장소
- DBMS의 처리 한계 대체 기술
-NoSQL, HBase
-Cassandra, MongoDB
배치 분산 병렬 처리 - 분산 데이터 처리 기술
- 결과 그래프 분석 기술
- MapReduce (Hadoop)
- Pregel, GlodenORB
데이터 스트리밍 프로세싱 - 스트리밍 데이터 프로세싱 기술 - Streaming DBMS
- DW Appliance
데이터 마이닝 - 빅 데이터의 패턴 분석 및
고객 분석을 위한 알고리즘
- 군집화, 분류화
- 기계학습(Neural Net)
데이터 분석 알고리즘 - 데이터 분석을 위한 세부 기술
- Social Network Anaylsys
- Clique 분석
- Centrality 분석
분산처리 기술 - 관리 기술, 분산 큐 기술
- 분산 캐시 기능
- ZooKeeper, kafka
- Memcached, Redis

 

'1. IT Story > Basic Studies' 카테고리의 다른 글

DB 샤딩(Sharding)  (0) 2020.12.24
CI(Continuous Integration)  (0) 2019.11.21
테스트자동화  (0) 2019.09.22
V&V(Verification & Validation)  (0) 2019.09.20
3D프린팅  (0) 2019.09.17
인메모리컴퓨팅  (0) 2019.09.16
WoT(Web of Things)  (0) 2019.09.08
oneM2M  (0) 2019.09.07
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,
   

1. 3D프린팅의 개요

 1-1. 3D프린팅의 정의

  - CAD 프로그램으로 설계한 파일, 산업용 스캐너, 의료용 스캐너, 비디오 게임 등의 3차원 설계 데이터를 기반으로 실물 모형, 프로토타입, 툴 및 부품 등을 인쇄하듯 만들어 내는 기술

 

 1-2. 3D 프린팅 장점

장점 내용
다품종 소량생산 하나의 물건만 찍어내도 적은 비용
모양 어떤 모양이든 자유롭게 만들어 낼 수 있음
프로토타입 프로토타입을 반복해서 만들어내는데 적합

 

2. 3D프린팅의 절차 및 주요 기술 방식

 2-1. 3D프린팅의 절차

단계 설명 Activity
모델링 3D 물체의 설계 도면 작성 과정 - CAD와 같은 도구로 물체를 3차원으로 구성
- CAD, CT 파일 등을 STL format으로 변환하는 단계
프린팅 원료를 쌓아 올려 제품 생산 과정 - STL 파일을 프린터에 불러들여 데이터분석
- 재료 setting 후 Layer Slicing 기술로 물건을 프린팅 하는 단계
마무리 프린트된 물체를 굳히거나 표면 처리를 하는 마무리 단계 - 완성물 주변의 찌꺼기 제거, 경화작업, 코팅, 페인팅 등의 작업을 통해 최종 결과물 완성하는 단계

 

 2-2. 3D 프린팅 주요 기술 방식

분류 기술 조형방식 및 특징
액체기반 SLA(Stereolithography Apparatus),
Jetted Photopolymer, Ink Jet Printing
- 액체 형태의 재료 사용
- 레이저나 강한 자외선을 이용, 재료를 순간적으로 경화시켜 형상 제작
- 가장 널리 쓰이는 기술, 중간 정도의 조형속도
분말기반 SLS(Selective Laser Sintering),
DMLS(Direct Metal Laser Sintering),
3DP(Three Dimensional Printing)
- 미세한 플라스틱 분말(power), 모래, 금속 성분의 가루
- 분말 형태의 재료를 가열, 결합하여 조형
- 재료 형태에 따라 접착제를 사용하는 시스템, 레이저를 사용하는 시스템 등이 있음
- 조형속도 빠름
고체기반 FDM(Fused Deposition Modeling) - 와이어(wire) 또는 필라멘트 형태의 재료 사용
- 필라멘트 등의 열가소성 재료를 열을 가해 녹인 후 노즐을 거쳐 압출되는 재료를 적층하여 조형
LOM(Laminated Object Manufacturing) - 마분지 같이 얇은 플라스틱 시트/필름 형태의 재료 사용
- 플라스틱 시트를 접착하면서 칼을 사용해 절단 후 적층하여 조형
Polyjet - 왁스(wax) 성질을 가진 패럿(작고 둥근 알 또는 공 모양의 알갱이)을 재료로 사용
- 재료를 헤드에서 녹여 노즐을 통해 분사

'1. IT Story > Basic Studies' 카테고리의 다른 글

CI(Continuous Integration)  (0) 2019.11.21
테스트자동화  (0) 2019.09.22
V&V(Verification & Validation)  (0) 2019.09.20
빅데이터(Big Data)  (0) 2019.09.19
인메모리컴퓨팅  (0) 2019.09.16
WoT(Web of Things)  (0) 2019.09.08
oneM2M  (0) 2019.09.07
IoE(Internet of Everything)  (0) 2019.09.03
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

1. 인메모리컴퓨팅의 개요

 1-1. 인메모리컴퓨팅의 정의 

   - 분석과 트랜잭션 처리 시에 즉각적인 결과를 제공하기 위하여 서버의 메모리 내에 대량의 실시간 데이터를 처리하도록 하는 기술 (2012, 2013년 가트너 10대 전략 기술)

  - 애플리케이션을 위한 주 데이터 저장을 디스크가 아닌 메모리를 이용하는 컴퓨팅 스타일

 

 1-2. 인메모리컴퓨팅의 등장배경 및 특징

 

2. 인메모리컴퓨팅의 개념도, 주요기술

 2-1. 인메모리컴퓨팅의 개념도

 

 2-2. 인메모리컴퓨팅의 주요기술

구분 주요기술 설명
H/W 멀티코어 아키텍처 대용량 병렬처리(MPP) 환경 지원
블레이드당 8*8 코어를 통해 압축, 복원 및 검색
Blade Server 복수개의 블레이드로 대용량 병렬처리
64 Bit Address Space 서버당 2TB 메모리 사용가능
초당 100GB 데이터 처리
S/W 행+열 기반 저장방식 컬럼 기반의 연산수행에 적합한 DB 구성
압축기술 약 5~10배 정도로 압축 통해 10TB의 DB를 1TB의 블레이드 하나에 업로드 가능
파티셔닝 스토리지 데이터의 분할 기술

'1. IT Story > Basic Studies' 카테고리의 다른 글

테스트자동화  (0) 2019.09.22
V&V(Verification & Validation)  (0) 2019.09.20
빅데이터(Big Data)  (0) 2019.09.19
3D프린팅  (0) 2019.09.17
WoT(Web of Things)  (0) 2019.09.08
oneM2M  (0) 2019.09.07
IoE(Internet of Everything)  (0) 2019.09.03
M2M(Machine to Machine Communication)  (0) 2019.09.02
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

1. WoT(Web of Things)의 개요

 1-1. WoT(Web of Things)의 정의

  - 웹기반 기술을 통해 사물들이 쉽게 통신할 수 있도록 제반 프로토콜과 기본 프레임워크를 제공하는 플랫폼

 

 1-2. WoT(Web of Things)의 특징

 1) 기술적 관점 : 서비스의 검색 기능을 제공할 뿐만 아니라, 네트워크의 생명력이 뛰어나 어느 한 부분이 활용 불가능하더라도 우회 네트워크(loosely coupled network) 할 수 있으며, 무엇보다도 요즘 개발자들에게 무척 친숙한 기술

 2) 물리적 관점 : 웹은 브라우징이 가능하고 하루 네트워크에 상관없이 HTTP 프로토콜을 활용하여 통신할 수 있으며 각종 방화벽을 넘나들 수 있음

 

2. WoT(Web of Things)의 적용모델, 사물웹 브로커의 구조

 2-1. WoT(Web of Things)의 적용모델

 1) 웹 접근 불가능 장비 : 

  - 직접적으로 인터넷에 연결될 수 없으며, 웹에서의 접근이 불가능함.

  - WoT 브로커에 자원 등록 가능 

  - 읽기 전용 디바이스의 경우 자원 정보를 수집하는데만 활용 가능

 

 2) 웹 접근/제어 가능 장비 : 

  - 기본적인 HTTP및 웹서버 같은 WWW의 기능을모두 갖춘 디바이스

  - WWW에서 직접 접근 활용이 가능, WoT 브로커를 통한 접근도 가능

 

 2-2. WoT(Web of Things)의 사물웹 브로커의 구조

 

'1. IT Story > Basic Studies' 카테고리의 다른 글

V&V(Verification & Validation)  (0) 2019.09.20
빅데이터(Big Data)  (0) 2019.09.19
3D프린팅  (0) 2019.09.17
인메모리컴퓨팅  (0) 2019.09.16
oneM2M  (0) 2019.09.07
IoE(Internet of Everything)  (0) 2019.09.03
M2M(Machine to Machine Communication)  (0) 2019.09.02
사물인터넷(IoT, Internet of Things)  (0) 2019.09.01
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

oneM2M

1. IT Story/Basic Studies 2019. 9. 7. 12:49

1. oneM2M의 개요

 1-1. oneM2M의 정의

   - 글로벌 차원에서의 M2M 표준화에 대한 요구가 높아짐에 따라 TTA, ATIS, ETSI등 7개의 표준 개발 기관 주도로 이루어지는 ‘12년 1월에 oneM2M 명칭의 글로벌 M2M 표준화 활동

 

 1-2. oneM2M의 목표

   - 다양한 M2M 응용 서비스를 수용할 수 있는 공통 사례 개발

   - 아키텍처에 기반을 둔 글로벌 M2M 서비스 계층 표준 규격 및 보고서 개발

   - 개발된 표준을 통한 규모의 경제 실현, 제품 생산 비용 절감, 시장 진입시간 단축, 응용서비스 개발 단순화 등을 실현 

 

2. oneM2M의 아키텍처, 구성요소, 종래 사물인터넷 비교

 2-1. oneM2M의 아키텍처

 

 2-2. oneM2M의 구성요소

구분 설명
CSE (Common Service Entity) 공통서비스 앤티티
ADN (Application Dedicated Node_ 애플리케이션 전용노드) 사물인터넷 애플리케이션을 포함하는 장치로써, 사물인터넷 서비스로직만을 포함하여 제한된 기능을 가지는 제한적인 (Constrained) 장치
ASN (Application Service Node_ 애플리케이션 서비스 노드) 사물인터넷 애플리케이션뿐만 아니라 공통 서비스를 제공하는 사물인터넷 장치
MN (Middle Node_중간노드) 장치 노드들과 네트워크 인프라스트럭처 노드를 연결해주는 사물인터넷 게이트웨이
IN (Infrastructure Node_ 인프라스트럭처 노드) 네트워크 인프라스트럭처에 위치해 사물인터넷 서비스를 제공해주는 사물인터넷 서버
AE (Application Entity) 애플리케이션 앤티티

 

 

 2-3. oneM2M과 종래 사물인터넷 비교

'1. IT Story > Basic Studies' 카테고리의 다른 글

빅데이터(Big Data)  (0) 2019.09.19
3D프린팅  (0) 2019.09.17
인메모리컴퓨팅  (0) 2019.09.16
WoT(Web of Things)  (0) 2019.09.08
IoE(Internet of Everything)  (0) 2019.09.03
M2M(Machine to Machine Communication)  (0) 2019.09.02
사물인터넷(IoT, Internet of Things)  (0) 2019.09.01
MEAP(Mobile Enterprise Application Platform)  (0) 2019.08.31
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,