IT전공준비_소프트웨어공학/블록체인

소프트웨어 공학 개론

소프트웨어 공학

  1. 소프트웨어 공학이란 SW 규모가 커짐에 따라 SW 생산의 모든 측면과 관련된 공학

  2. 소프트웨어 공학 필요성 소프트웨어를 최소 비용으로 최소 시간에 개발하기 위해서 (※ 소프트웨어 위기)

  3. 소프트웨어 품질 평가 국제표준 (ISO 9126) ① 기능성 ② 신뢰성 ③ 사용성 ④ 효율성 ⑤ 유지보수성 ⑥ 이식성

  4. 소프트웨어 생명 주기 모형

  • 프로젝트 비용 산정과 개발 계획 수립의 기본 골격
  • 요구사항 분석(정의) -> 개발(설계, 구현, 테스트) -> 유지보수
  1. 폭포수 모델(Waterfull Model)
  • 선형 순차적 모델
  • 처음부터 사용자들이 요구사항 명확하게 제시해야함
  1. 프로토타입 모델(Prototype Model)
  • 프로토타입 모델 (샘플 모델 제시)
  • 개발 단계에서의 빠른 오류 수정
  1. 나선형 모델(Spiral Model)
  • 대규모 프로젝트에 적합
  • 여러 차례 개발 과정 반복
  1. 리버스 엔지니어링
  • 이미 만들어진 시스템을 역으로 추적
  • 유지보수의 과정, 대상 시스템 분석
  1. Verfication과 Validation Verfification : 요구사항 명세서와 설계 명세서에 따라 소프트웨어를 구현하였는지 평가하는 프로세스 (개발자 입장) Validation : 사용자의 입장에서 소프트웨어가 만족스러운지 평가하는 프로세스

  2. SW 개발 단계에 따른 테스트(V모델)

  • 단위 테스트(모듈 중심)
  • 통합 테스트(모듈간의 상호작용)
  • 시스템 테스트(시스템 전체 작동)
  • 인수 테스트(사용자 주도 알파,베타)
  • 회귀 테스트(확정 테스트)
  1. 블랙박스 테스트 / 화이트박스 테스트 블랙박스 테스트
  • 명세 기반 테스트
  • 입력 값에 대한 예상 출력값 확인 화이트박스 테스트
  • 코드 기반 테스트(내부 논리구조 분석)
  • 입력 데이터를 갖고 실행 상태 추적

블록체인

  • 데이터 분산 처리 기술
  • 네트워크에 참여하는 모든 사용자가 모든 거래 - 내역 등의 데이터를 분산, 저장하는 기술을 지칭

  • 블록들을 체인형태로 묶은 형태이기 때문에 블록체인이라고 부름

기존 은행의 역할

    1. 보관: 거래 내역이 담긴 장부 보관
    1. 검증 : 거래 내역에 이상 유무 확인

블록체인 특징

    1. 분산 저장 => 데이터 위변조 불가능 (모두에게 장부 저장)
    1. 작업 증명 => 거래 내역 정리 및 이에 대한 보상(코인, 거래수수료)을 받음-> 채굴  중앙 관리자가 필요없음 ※ 채굴 작업 증명(Proof of Work)과 보상을 합친 개념

※ 작업증명: 목표값 이하의 해시를 찾는 과정을 무수히 반복, 해당 작업에 참여했음을 증명하는 합의 알고리즘. 작업 증명을 통과해야 블록 생성 가능 (이를 통해 네트워크를 수 많은 공격들로부터 보호 가능)

※ 합의 알고리즘: 어떤 트랜잭션이 발생했을 경우 해당 트랜잭션이 유효한 트랜잭션인지에 대한 합의 방법 및 새로운 블록 검사

※ 보상 : 새로 발행되는 비트코인과 해당 블록에 포함되는 거래의 거래 수수료의 합 활용 가능성

  1. Banking & Payment
  • 암호화폐 ex) 비트코인 디지털 기록이 투명하게 보관, 국가 간 거래도 수수료 없이 진행.
  1. Supply chain management (공급망 관리)
  • 중국산 감자인지 국내산인지 찾기 좋다.
  • 실제로 쓰이는 분야 –‘다이아몬드’,’약품’
  1. Charity 기부금
  2. Voting 투표
  3. public benefits
  • 영수증, 증빙서류 없이 사용 가능

현재 상황

  • 인프라가 부족 ex) 싱가폴 항공 블록체인 시스템을 구현했지만, 결제 등에 필요한 인프라 부족으로 어려움 겪음
  • 다른 기술의 확장과 함께 이뤄져야 보다 빠른 상용화 가능 ex) 블록체인 기반 농산물 공급망 관리 시스템 -> Iot 관련 기반 시설 투자 선행 필수
  • 가트너 하이프 사이클 3단계에 접어 들어선시점(기술의 실체가 알려지고 그 한계가 드러나면서 관심이 줄어드는 시기)

걸림돌

  • 대량 데이터 처리 문제
  • 제도와 법률
  • 생태계 조성 여건 x (기술 공유x)

참고자료

0%