경희대학교 이성원 교수님의 '오픈소스 SW 개발 방법 및 도구 수업'을 기반으로 본인이 이해한 바로 새롭게 정리한 글입니다.

Structure of Data (Data Structure)

자료 구조는 컴퓨터에서 효율적으로 데이터를 사용하기 위한 특별한 방식이다.

자료 구조는 하나 혹은 더 특정한 추상적인 데이터 타입(ADT)을 실행할 수 있다.

각각의 언어(C/Python)에는 공통된 자료구조를 포함하고 있으면 더 나아가, 자신들의 언어만의 고유 자료구조를 가지고 있다.

  • 자료 구조의 종류

Processing of Data (Algorithm)

  • 알고리즘은 문제의 유형들을 풀기위한 애매모호한 특정한 방식이다.
  • 알고리즘은 계산과 데이터 처리과정, 추론 업무를 자동화할 수 있다.

Representation of Algorithm (Flow-chart)

  • Flow-chart는 다이어그램의 유형으로, 일의 흐름과 과정을 나타낸다. 알고리즘의 정도를 표현해주며, 단계별 접근이 가능한 업무방식이다.
  • Flow-chart는 다양한 분야에서 과정과 프로그램의 분석, 다자인, 문서화, 관리하는 것에 사용되곤 한다.

Representation of Algorithm (Pseudo-code)

실제 프로그래밍 언어(C, Python 등)의 문법이 아닌, 인간의 언어(한글, 영어 등)와 프로그래밍 구조를 섞어 알고리즘을 흉내 내어 표현하는 방식

  • Pseudo-code란 의사코드로, 특정 언어의 규칙에 얽매이지 않고 논리 흐름을 설계하는 데 집중한다.

  • 일반적인 프로그래밍 코드와 달리 인간이 기계언어를 읽고 이해할 수 있도록 하는 것이 목표이다.

Organized collection of Data

Database는 데이터의 집합체이다.

관계 데이터베이는 더 업격히 스키마, 테이블, 쿼리, 보고서, 뷰 그리고 다른 요소들을 포함하고 있다.

  • Relational model : 관계형 모델

  • Entity-relationship model : 엔티티 기반 관계 모델

    Relational Database model

    구조와 언어를 활용하여 데이터를 관리하는 접근 방식이다. 모든 데이터는 관계로 그룹화되어, 튜플을 나타낸다.

    Entity - Relational model

    ER 모델은 특정 지식 도메인과 상호연관된 것들을 묘사한다.

    기본 ER 모델은 entity타입으로 구성되며, 각종 entity 타입의 예시 사이 존재할 수 있도록, 관계를 명시한다.

  • 기본 ERD 구성요소

  • Entity Relationship Diagram (ERD)

SQL과 NoSQL Database

  • SQL : Structured Query Language (table based)

  • NoSQL : No or Not only SQL

    SQL (Structured Query Language)

    관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 정의, 조작, 제어 및 조회하기 위해 설계된 표준 프로그래밍 언어

    NoSQL Data Model

    NoSQL은 고성능 비관계형 데이터 저장소를 나타내고, 사용 편의성, 확장성, 복원력 및 가용성 특성에 탁월하다.

    정규화된 데이터의 테이블을 조인하는 대신, NoSQL은 구조화되지 않은 데이터 또는 반구조화된 데이터를 Key-value 쌍(pair) 또는 Json문서에 저장하는 경우가 많다.

Software Block Diagram

특정 부분이나 기능을 블록으로 나타낸 시스템 다이어그램으로, 선으로 연결되어 블럭들 간의 관계를 보여준다.

  • software block Digagram으로 나타낸 자율주행자동차

Computer Network Diagram

컴퓨터 네트워크 또는 더 일반적으로 모든 통신 네트워크의 노드와 노드 간의 연결을 묘사하는 개략도이다.

Message Sequence Chart

시스템 구성 요소나 객체들이 시간 흐름에 따라 서로 주고받는 메시지와 상호작용의 순서를 시각적으로 나타내는 UML 동작 다이어그램(Sequence Diagram)의 일종이다.

State Transition Diagram

시스템이나 객체가 시간에 따라, 또는 특정 이벤트(Event) 발생 시 어떻게 상태가 변경(Transition)되는지 시각적으로 모델링한 다이어그램이다.

State diagram은 시스템의 상태를 묘사하며, 각각의 정해진 상태를 구성하여 단계별로 어떠한 상태로 넘어가는지 명확히 보여준다.

profile
처음이고 서툴지만 방향을 잡아 노력하는 개발자

0개의 댓글