Post

소프트웨어 개발 - 단위 모듈

#모듈 구현

# 단위 모듈 구현

소프트웨어 개발에 있어 기능을 단위 모듈별로 분할하고 추상화하여 성능을 향상시키고, 유지보수를 효과적으로 하기 위한 구현 기법

■ 모듈?

  • 다른 것들과 구별될 수 있는 독립적인 기능을 갖는 단위
  • 소프트웨어 구조
  • 정적인 구조

※컴포넌트: 런타임에 독립적으로 배포되고 실행되는 단위

■ 단위 모듈 구현의 4가지 원리

@정분추모

  • 정보은닉 (Information Hiding)
  • 분할과 정복 (Divide & Conquer)
  • 데이터 추상화 (Data Abstraction)
  • 모듈 독립성 (Module Independency)

■ 단위 모듈 구현 작업 절차

코딩 계획 → 코딩 → 컴파일 → 테스트

#재사용 기법

이미 개발되어 기능, 성능을 인정 받았던 소프트웨어의 전체 또는 일부분을 다시 사용하는 기법

■ 재사용 종류

재공학, 재개발

◆ 재공학

  • 기존 소프트웨어를 버리지 않고 기능을 개선시키거나 기능을 새로운 소프트웨어로 재활용하는 소프트웨어 재사용 기법
  • 장점: 위험부담 감소, 비용절감, 개발 기간 단축, 시스템 명세의 오류억제
  • 주요 활동
    • 분석 (Analysis): 기존 소프트웨어 명세서를 확인하여 소프트웨어 동작을 이해하고, 재공학 대상을 선정하는 작업
    • 재구조 (Restructing): 상대적으로 같은 추상적 수준에서 하나의 표현을 다른 형태로 바꾸는 작업
    • 역공학 (Reverse Engineering): 기존 소프트웨어를 분석하여 설계도를 추출하거나 다시 만들어내는 작업
    • 이식 (Migration): 기존 소프트웨어 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환하는 작업

◆ 재개발

  • 기존 시스템 내용을 참조하여 완전히 새로운 시스템을 개발
  • 기존 시스템에 새로운 기능을 추가
  • 기존 시스템의 기능을 변경

■ 재사용 규모에 따른 분류

  • 함수와 객체
  • 컴포넌트
  • 애플리케이션

# 단위 모듈 테스트

모듈의 개별적인 코드 단위가 예상대로 작동하는 확인하는 기법 IDE 도구를 활용하여 개별 단위 모듈에 대한 디버깅을 수행

※IDE 도구: 코딩, 디버그, 컴파일, 배포 등 프로그램 개발과 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어

■ 테스트와 디버그의 차이

◆ 테스트

  • 오류를 찾는 작업
  • 시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 검사하고 평가하는 단계

◆ 디버그

  • 오류를 수정하는 작업
  • 개발 중에 발생하는 시스템의 논리적인 오류나 버그를 찾아서 수정하는 과정

■ 단위 모듈 테스트의 종류

◆ 블랙박스 테스트

  • = 명세 기반 테스트
  • = 기능 테스트
  • 프로그램 외부 사용자의 요구사항 명세를 보며 수행하는 테스트

◆ 화이트박스 테스트

  • = 구조 기반 테스트
  • = 동적 테스트
  • 모듈 내부의 소스를 보면서 수행하는 테스트
This post is licensed under CC BY 4.0 by the author.