ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 모듈
    개발 관련/개념 2021. 5. 9. 19:27

     

    특정 기능을 수행하기 위해 관련한 기능들을 하나로 묶어서 집합

     

    논리적 모듈 → 정해진 인터페이스를 통해서만 정보를 주고 받을 수 있는 프로그램 단위

    물리적 모듈 → 논리적 모듈을 컴파일, 로드할 때에 독립해서 식별할 수 있는 프로그램 단위

     

    <입력, 출력, 기능, 처리, 내부 자료>들로 구성

    인터페이스 → 입력, 출력, 기능으로 구성되어지는 부분

    구현 → 처리, 내부 자료를 기술한 부분

     


    모듈 개발 절차 (기본)

    1. 논리적 모듈 작성

    프로그래밍 언어의 문법에 맞게 순서도로 정리된 절차를 옮겨 적어 논리적 모듈을 만드는 작업 (코딩)

    소스 코드 = 프로그래밍 언어로 표현된 절차

     

    2. 논리적 모듈 입력

    작성된 논리적 모듈을 컴퓨터에 입력

    입력하기 위해서는 디스크 파일 단위로 처리하는 것이 관습적이라서 물리적 모듈 작성 필요

    소스 코드 파일 = 작성된 물리적 모듈

     

    3. 논리적 모듈 변환 (또는 번역)

    고수준 언어로 작성된 코드를 기계어 수준의 명령 코드로 변환하는 작업

    실행 파일(Executable File) = 작업을 거쳐 만들어진 디스크 파일

     

    4. 논리적 모듈 로드

    실행 파일을 주기억장치에 로드하여 원하는 처리를 컴퓨터가 수행하도록 함

     

    인터페이스를 만드는 작업과 구현 부분을 만드는 작업을 차례대로 진행!

     


    C 언어 모듈

    논리적 모듈

    함수 → 순서도에서 정리된 절차를 나타낼 수 있는 단위 (함수 머리: 인터페이스, 함수 몸체: 구현)

    main / 사용자 / 순서도를 C 언어의 문법에 맞게 작성된 함수

    scanf / 라이브러리 / 키보드 입력에 대한 처리

    printf / 라이브러리 / 모니터 출력에 대한 처리

    함수 구성요소: 입력 (매개변수 or 인수), 출력 (리턴 값, 반환형), 기능 (함수 명칭), 처리 (제어블록, 제어구조), 내부 자료 (지역 변수)

     

    물리적 모듈

    컴파일 단위 → 함수를 컴퓨터에 입력해서 컴파일 할 때 식별할 수 있는 원시 코드 파일

    소스코드파일 / *.c (확장자) / Example.c

    링크 단위 → 링크할 때 식별할 수 있는 목적코드 파일 혹은 라이브러리 파일

    목적코드파일 / *.obj / Example.obj

    로드(Load) 단위 → 로드할 때 식별할 수 있는 실행 파일

    실행코드파일 / *.exe / Example.exe

     

    프로그래밍 절차

    1. 편집: 함수, 소스 코드 파일

    2. 컴파일: 목적 코드 파일, 라이브러리 파일

    소스 코드 프로그램 (실행 가능 형태 X) → 기계어로 변환 (by 컴파일러)

    구문 오류 발생 (프로그래밍 언어의 문법에 맞지 않는 경우)

    3. 링크: 실행 파일

    컴파일 된 파일 (실행 X) → 실행 파일

    라이브러리 함수에 대한 정보를 포함시키고 실행 시 물리적인 기억 장소에 대한 정보를 정하여 실행 가능한 형태의 파일을 만드는 단계

    링크 오류 발생 (함수에 대한 정보를 목적 코드 파일이나 라이브러리 파일에서 찾을 수 없는 경우)

    4. 실행: 실행 파일

    생성된 실행 파일 실행, 결과 확인 단계

    논리 오류 발생 (실행 결과가 예상 결과와 다른 경우)

    5. 디버깅: 실행 파일

     


    자바 모듈

    물리 모듈

    컴파일 단위 자바 소스 파일

    로드 단위 → 자바 클래스 파일

    로드 단위(기능)별 그룹화 단위 →  패키지

     

    논리 모듈

    데이터 추상화 단위 → 클래스

     

    1. 순서도로 정리된 제어논리는 논리적 모듈인 클래스에 표현

    2. 표현된 클래스를 컴퓨터에 입력, 변환하기 위해 컴파일 단위인 자바 소스 파일(.java) 작성

    3. 자바 소스 파일을 자바 명령어로 변환(컴파일)하여 주기억 장치에 로드할 수 있는 단위인 자바 클래스 파일(.class) 작성

    4. 폴더, 디렉토리에 자바 소스 파일과 자바 클래스 파일 그룹화

    5. 패키지 = 폴더, 디렉토리와 같은 물리적 모듈

     

    이렇게 관련 모듈들을 차례대로 작성 → 자바 응용 프로그램

     

     

    "프로그램은 결정한 순서대로 중앙처리장치에 의해서 차례대로 진행하는 0과 1로 표현된 명령어들의 집합이다"

     

     

     

    출처: 이렇게 하면 나도 프로그램을 잘 만들 수 있다

    '개발 관련 > 개념' 카테고리의 다른 글

    디버깅  (0) 2021.05.09
    도메인 주도 설계 (DDD)  (0) 2021.04.11
    소프트웨어 개발 환경  (0) 2021.02.17
    점진적 개발 모델 Vs 반복적 개발 모델  (0) 2021.01.29
    소프트웨어 개발 수명 주기(SDLC) 모델  (0) 2020.09.30
Designed by Tistory.