CS 소프트웨어 설계

yun·2024년 7월 26일

파이썬 자료형

python documetation 데이터형

  • 데이터가 저장되는 형식을 의미한다.

  • 파이썬의 여러 가지 자료형들
    정수, 실수, 문자열, 리스트, 튜플, 딕셔너리 등등

자료구조

  • 데이터를 효과적으로 저장하기 위해 어떤 논리나 규칙으로 자료를 모아놓은 구조
    선형구조(배열, 리스트, 큐 등)와 비선형구조(그래프, 트리)가 있다.

프로그래밍 기본

  • 컴파일러
    고급 프로그래밍 언어로 작성된 소스코드 기계어로 번역 및 실행하기 위한 프로그램
    ex) C, JAVA
  • 인터프리터
    컴파일러와 마찬가지로 고급 프로그래밍 언어로 작성된 소스코드를 기계어로 번역 및 실행하기 위한 프로그램이다.
    ex)python, javascript
  • 메모리 영역
    우리가 사용하는 메모리에는 작업을 효율적으로 하기 위해 다양한 영역들로 나눈다.
    코드 영역, 데이터 영역, Heap 영역, stack 영역

OOP(Object-Oriented Programming, 객체 지향 프로그래밍)

객체지향이란 추상화하고자 하는 객체의 모습을 가상의 공간에 구체화하며 설계해 나가는 것 쉽게 말해 어떤 대상을 소스코드로 그리기 위한 컴퓨터 공학적 사고 방식을 의미한다.

소프트웨어 개발 방법론

소프트웨어를 개발하기 위해 어떤 방법으로 개발해 나가는지에 대한 개념

  • 폭포수 방법론
    하향식 방법으로 가장 오래된 개발 방법
    큰 규모의 프로젝트에 적합하고 변경 및 수정이 어렵다.
  • 애자일 방법론
    반복적이고 점진적으로 개방하는 방법
    주기가 짧아 여러번 반복하며 점진적으로 개발
    피드백을 빠르게 반영할 수 있으나 개발 계획을 세우기 어려울 수 있다.

디자인 패턴

소프트웨어를 설계 및 구현할 때 어떠한 공통된 구조를 띄는 형태

형상관리

소프트웨어의 변경사항을 추적하고 통제하기 위한 작업
형상관리를 위한 툴로 Github를 예로 들 수 있다.

V&V(verification & validation)검증과 확인

소프트웨어의 완성도 및 신뢰도를 검증 및 확인하는 작업

0개의 댓글