본문 바로가기

분류 전체보기

(231)
[소프트웨어공학] 10장. 컴포넌트 및 UI 설계 10장. 컴포넌트 및 UI 설계 Monolithic vs Modular Monolithic : Unified (통합) → constructed by one single module (단일 모듈로 구성) Modular : Hierarchical, Abstraction, Divide & conquer (계층적, 추상화, 분할 및 정복) → constructed by multiple module in hierarchical fashion (계층적 방식, 다중 모듈) Modular Design - easier to build, change, fix … 컴포넌트란? Component (구성 요소) : 소프트웨어를 위한 모듈식 빌딩 블록 "구현을 캡슐화하고 일련의 인터페이스를 표시하는 시스템의 모듈식, 배포 및 교..
[소프트웨어공학] 9장. 설계 모델링 (8장 복습) 데이터 개체를 소프트웨어 구성 요소 수준의 데이터 구조로 변환하고, 필요한 경우 애플리케이션 수준의 데이터베이스 아키텍처로 변환합니다. 응용프로그램 아키텍처를 지원하는 하나 이상의 데이터베이스 설계 적절한 비즈니스 수준의 정보를 추출하기 위해 기존 데이터베이스를 탐색하는 여러 데이터베이스의 내용을 '데이터 마이닝'하는 방법 설계 데이터 웨어하우스 설계—비즈니스에 필요한 애플리케이션 세트를 제공하는 데이터베이스에 저장된 데이터에 액세스할 수 있는 대규모 독립 데이터베이스 예: 빅데이터 분석, 데이터 과학 9장. 설계 모델링 What is Architecture? 프로그램 또는 컴퓨팅 시스템의 소프트웨어 아키텍처는 소프트웨어 구성요소의 외부적으로 보이는 특성과 그들..
[소프트웨어공학] 8장. 설계 개념 8장. 설계 개념 Design Process (설계 프로세스) SW 설계는 요구사항이 SW를 구성하기 위한 청사진으로 변환되는 반복적인 과정이다. 좋은 디자인을 위한 3가지 특성 분석모델에 포함된 모든 명시적 요구사항을 구현해야 하며, 고객이 원하는 모든 암묵적 요구사항을 수용해야 함. 개발자와 테스터 등을 위해 이해하기 쉬운 가이드가 되어야 함. 구현 관점에서 데이터, 기능 및 행동 영역을 다루면서 SW의 전체적인 그림을 제공해야 함. 💡 Fundamental Design Concepts (기본 설계 개념) Abstraction - 추상화 (데이터,절차,동작) Architecture - 아키텍처 (SW의 전반적 구조) Patterns - 패턴 (검증된 설계 솔루션의 본질 전달) Modularity - ..
[소프트웨어공학] 시스템 소개 : what is system? 시스템 소개 System 공학적 관점 : 입력과 출력이 있는것 컴퓨터과학 관점 : 쿼리 시 응답할 수 있는 데이터 원본 닫힌 시스템과 그 경계를 개략적으로 나타낸 것입니다. 시스템은 상호작용하거나 상호의존적인 요소들의 집합으로 통합된 전체 또는 요소들의 집합(종종 '성분들'이라고 불린다)과 관계들을 형성한다. 시스템의 일반적인 특성을 연구하는 분야는 시스템 과학, 시스템 이론, 시스템 공학, 사이버네틱스, 동적 시스템, 복잡한 시스템 및 시스템 분석 및 설계를 포함한다. 일부 시스템은 다음과 같은 공통 특성을 공유합니다. § 시스템은 구조를 가지며, 서로 직간접적으로 관련된 부품(또는 구성품)을 포함한다. § 시스템은 입력을 출력(재료, 에너지 또는 데이터)으로 변환하는 프로세스를 포함하는 동작을 가집니..
[소프트웨어공학] 7장. 요구사항 분석 모델링 7장. 요구사항 분석 모델링 4. Flow-oriented Modeling : 흐름 지향 모델링 모든 컴퓨터 기반 시스템은 정보의 변환이다. (input → Transformation → output) 오늘날 flow 기반 모델은 가장 널리 사용되는 분석 모델. DFD (Data Flow Diagram) 데이터 개체 : Labeled 화살표 변환 : 원 DFD는 계층적 방식이다. 레벨 0 DFD는 시스템 전체를 나타낸다 (context diagram) External Entity - 외부 엔티티 데이터 생산자 / 소비자 (ex: 사람, 장치, 센서, 컴퓨터 기반 시스템) 데이터는 항상 어딘가에서 생성되어야 하며, 항상 무언가로 전송되어야 한다. Process 데이터 변환기 (changes input to..
[블록체인] 4. 트랜젝션과 네트워크 : Blockchain Transaction & Network 목차 : 네트워크 개요 / 비트코인의 트랜젝션 / 비트코인의 네트워크 네트워크 개요 - Client-Server 단일 중앙서버, 클라이언트의 요청에 서버가 응답, 병목 현상 발생 가능성 구현비용 비싸지만, 안정적이고 확장 가능 - P2P Network 네트워크의 각 클라이언트가 서로 데이터 공유 각 노드가 자체 데이터를 보유하며, 구현 비용은 저렴하지만 노드 수 증가하면 문제발생 가능성 증가 - 금융 네트워크의 필수 요소 1. 거래 처리 대리인 2. 이중지불을 검증하는 검증자 3. 거래내역 저장하는 DB 4. 대리인과 검증자에 대한 신뢰 - 중앙 서버가 없는 블록체인에서는? - 비잔틴 장군 문제 (BFT : Byzantine Fault Tolerance) 비잔티움 제국의 장군들이 적의 수중에 있는 도시를..
[블록체인] 3. 노드와 블록 : Blockchain Node & Block 목차 : 노드 / 비트코인 블록 구조 / 지갑 노드 (Node) - 비트코인 네트워크의 참여자 = 노드 = 피어(peer) - 비트코인 백서에는 full 노드와 light-weight 노드로 구분. - 이후 네트워크 참여 목적에 따라 miner, wallet user(client), explorer 등 역할 구분 풀 노드 (Full Node) - 블록체인 데이터 전체를 관리하는 노드 - 모든 트랜젝션 보관 - Network, Full block-chain, wallet 포함 - 새 블록을 전달받으면 유효성 검증, 블록체인 연결, 풀노드 간 동기화, 신규 블록 헤더 전파 진행 - 개별 트랜젝션 수신 시 유효성 검증, 저장 후 다른 노드에 전파 LightWeight 노드 - SPV 노드라고도 함 (simpl..
[블록체인] 2. 암호화 기술 : Blockchain Encryption Technology 목차 : 암호화 기술 개요 / RSA와 ECC / HASH / 비트코인에서 암호화 활용 암호화 기술 개요 - 대칭키 : 동일한 키로 암호화, 복호화 가능 - 비대칭키 : 비밀키로 평문을 암호화, 공개키로 복호화 RSA와 ECC RSA - 공개키 암호 시스템의 대표적인 알고리즘, 1978년 등장 - 비대칭키 방식 - 큰 수의 소인수분해가 어렵다는 특징에서 착안 - 현재 RSA-2048은 2048bit를 키로 사용하는 가장 대중적인 알고리즘 ECC - 타원곡선 암호 (Elliptic Curve Cryptography) - RSA는 1000bits 이상의 큰 숫자를 키로 사용하여 연산량이 많아졌는데, 이의 대체제로 1985년 제안됨 - ECC는 더 적은 비트로 동등한 수준의 안전성 - 요구하는 키의 길이가 비..

728x90