Backend(38)
-
데이터 모델의 변천 과정
1. 파일시스템(File System)방식: 데이터를 단순히 파일로 저장. 각각의 파일이 독립적으로 존재하며 데이터 간의 연결 관계를 표현하지 않음.사용 예시:메모장(txt 파일)이나 엑셀(csv 파일) 같은 방식으로 데이터를 저장.과거의 단순 고객 명단이나 재고 관리 문서를 파일로 관리하던 시절.문제: 데이터의 중복, 검색 속도 저하, 데이터 관계를 표현하기 어려움. 2. 계층 데이터 모델(Hierarchical Data Model)방식: 데이터를 트리 구조로 표현하며 부모-자식 관계로 연결. 각 데이터 항목은 하나의 부모만 가질 수 있음.사용 예시:IBM의 IMS(Information Management System): 초창기 계층형 데이터 모델 기반 DBMS.XML 데이터베이스: 문서를 계층 구조로..
2025.01.23 -
Data, Database, DBMS
Data (데이터) 프로그램을 운용할 수 있는 형태로 기호화 · 숫자화한 자료 예시: 숫자(1, 2, 3), 텍스트("안녕"), 이미지 파일 등.데이터와 정보의 차이 데이터: 어떤 필요에 의해 수집했지만 아직 특정 목적을 위해 정제하지 않은 값, 사실 또는 자료. 정보: 수집된 데이터를 어떤 목적을 위해 분석, 가공하여 가치를 추가하거나 새로운 의미를 부여한 결과. 예) 데이터: 카드사의 커피 전문점 결제 내역, 정보: 결제 분포 최상위 순위를 30-40대 남성이 차지했다는 결과. Database (데이터베이스)구조화된 데이터의 집합으로, 체계적으로 저장된 데이터들의 모임.데이터베이스의 정의: 특정 조직의 여러 사용자들이 공유해서 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합공유 데이터(Shar..
2025.01.23 -
SW 시각화 | UML, 유스케이스 다이어그램
모델링현실 세계를 단순화 시켜 표현하는 기법 (모델을 만드는 작업)개발 프로세스에서 모델링은 요구사항 분석, 설계 단계에서 사용된다. UML (Unified Modeling Language)정의UML은 소프트웨어 시스템을 설계하고 시각화하기 위한 표준화된 다이어그램 언어.복잡한 시스템의 구조와 동작을 이해하기 쉽게 그림(다이어그램)으로 표현하는 것.왜 쓰일까?개발자, 디자이너, 비즈니스 팀 간의 의사소통 도구로 사용.시스템 구조와 동작을 시각화해서 복잡함을 줄여준다.설계 과정에서 문제점 발견과 개선에 도움을 준다. 종류 구조 다이어그램 (정적)행위 다이어그램 (동적)클래스 다이어그램: 클래스 간 관계 표현유스케이스 다이어그램: 사용자와 시스템의 상호작용 표현객체 다이어그램: 객체 간 상태와 관계 표현시..
2025.01.23 -
요구사항
요구사항의 이해와 정의 요구사항이란?사용자 또는 이해관계자가 시스템이나 소프트웨어로부터 기대하는 기능, 서비스 및 조건을 명시하는 것이다.프로젝트의 기초를 형성하며 개발 전반에 걸쳐 중요한 지침 역할을 한다.요구사항의 목적요구사항은 프로젝트의 목표를 명확히 하고, 개발 팀이 무엇을 개발해야 할지를 구체적으로 안내한다.프로젝트의 범위를 정의하고 이해관계자 간의 의사소통을 원활하게 하는 데 중요한 역할을 한다.기능적 / 비기능적 요구사항 기능적 요구사항: 시스템이 수행해야 하는 구체적인 기능들을 명시한다. ex) 사용자가 로그인 할 수 있어야 함, 결제 시스템이 신용카드를 수락해야 함 등비기능적 요구사항: 시스템이 어떻게 동작해야 하는지에 대한 요구사항으로 성능, 보안, 신뢰성, 사용 편의성을 포함한다. e..
2025.01.23 -
소프트웨어 개발 프로세스
소프트웨어 개발 프로세스기본 용어 정의프로그램 : 컴퓨터 명령어가 나열된 원시 코드(source code)소프트웨어 : 컴퓨터에서 실행되는 모든 종류의 프로그램을 포함하는 넓은 개념이다. 하드웨어와 대조되는 개념으로, 물리적 장치가 아닌 데이터와 프로그램의 집합을 의미한다.시스템 소프트웨어 (System Software) : 운영 체제(OS)와 유틸리티 프로그램을 뜻한다. 하드웨어와 애플리케이션 소프트웨어 간의 중개 역할을 한다. (ex. 윈도우, 리눅스, macOS, 안티바이러스 소프트웨어, 디스크 관리 도구)응용 소프트웨어 (Application Software) : 특정 사용자 작업을 수행하기 위한 소프트웨어를 뜻한다. (ex: 워드 프로세서, 스프레드시트, 웹 브라우저, 게임, 메신저 등) 프로세..
2025.01.23 -
Git, Github 버전관리 | Tag와 Release
1. Tag (태그)Git의 기본 개념으로, 특정 커밋에 "이름표"를 붙이는 기능이야. 설명:특정 커밋을 가리키는 고정된 "스냅샷" 같은 것.주로 버전을 표시할 때 사용해 (v1.0, v1.1 등).커밋 해시값(긴 ID)을 기억할 필요 없이 태그를 통해 특정 시점을 쉽게 참조할 수 있어.예시:git tag v1.0 → 현재 커밋에 v1.0이라는 태그를 붙임.git tag -a v1.0 -m "첫 번째 릴리스" → 설명을 포함한 주석 태그(Annotated Tag)를 생성.깃허브에서의 활용:깃허브에서 태그는 저장소의 Code 탭 > "Tags" 섹션에서 확인 가능해.태그를 Release와 연결해서 사용 가능. 2. Release (릴리스) 깃허브의 개념으로, 태그를 기반으로 한 "정식 배포" 같은 개념이야..
2025.01.23