소프트웨어 개발 - 단위 모듈
#모듈 구현
# 단위 모듈 구현
소프트웨어 개발에 있어 기능을 단위 모듈별로 분할하고 추상화하여 성능을 향상시키고, 유지보수를 효과적으로 하기 위한 구현 기법
■ 모듈?
- 다른 것들과 구별될 수 있는 독립적인 기능을 갖는 단위
- 소프트웨어 구조
- 정적인 구조
※컴포넌트: 런타임에 독립적으로 배포되고 실행되는 단위
■ 단위 모듈 구현의 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.