본문 바로가기
(Pilot) 탑기공/소프트웨어 개발

소프트웨어 설계 원리 - "추정단모"

by 두음달인 2022. 12. 29.
반응형


근래 개인적으로 강의를 듣는 게 있어서 블로그를 잘 못하고 있습니다.

양해 부탁 드리며...

 

예전에 공부할 때, 

추정단모 

추상화, 정보은닉, 단계적 분해, 모듈화로 암기를 했었는데,

 

탑싯 에센스를 보다보니 

추상화, 정보은닉, 단계적 정제, 모듈화, 구조화 5개를 설명하고 있네요.

 

함께 개념을 정리해서 알고 있으면 좋을 듯합니다.

 

추상화

 

큰 흐름을 잃지 않으면서 점차적으로 문제영역에 접근하기 위해 상세한 수준의 구현을 고민하기보다 상위 수준에서 제품의 구현을 먼저 생각하는 것

컴포넌트의 구현 방법을 과감히 생략하고 외부 인터페이스에 초점을 맞추는 것

추상화 유형: 자료 추상화, 제어 추상화, 과정 추상화

 

정보은닉

 

각 모듈의 내부 내용을 감추고
인터페이스를 통해서만 메시지를 전달할 수 있도록 하는 개념으로
내부 정보 접근을 제한하여 한 모듈 또는 하부 시스템이
다른 모듈의 구현에 영향을 받지 않게 설계되는 것

 

단계적 정제

 

하향식 설계 전략

문제를 상위의 중요 개념으로부터 하위의 개념으로 구체화시키는 분할 기법

 

모듈화

 

모든 공학 분야에서 시스템을 구성 요소로 나누어 접근하는 경우가 대부분이다.
소프트웨어의 경우 이 구성 요소를 대표하는 것이 모듈이라 할 수 있다.

소프트웨어의 모듈은 프로그래밍 언어로 표현하면
흔히 서브루틴, 프로시저, 함수 등으로 부른다.

 

구조화

 

소프트웨어 구성 요소인 모듈의 계층적 구성을 나타내는 것으로,
제어 계층 구조라고도 한다.

 


 

기출 문제

 

(관리 118-2-5)
소프트웨어 설계에 있어서 중심이 되는 원리인 추상화, 정보은닉, 단계적 분해, 모듈화에 대하여 설명하시오.

 

참고 자료

 

탑싯 에센스 - 소프트웨어 개발

 

소프트웨어 설계의 개요 및 기본 원리 (eeyoremommy.com)

 

소프트웨어 설계의 개요 및 기본 원리

구조적 설계 기법 구조적 설계 기법은 구조적 분석 기법의 결과물인 자료 흐름도 등으로부터 소프트웨어의 기능(자료 구조)과 프로그램 구조, 모듈을 설계하기 위한 전략, 평가 지침 및 문서화

eeyoremommy.com

 

소프트웨어 설계 - IT위키 (itwiki.kr)

 

IT위키

IT에 관한 모든 지식. 함께 만들어가는 깨끗한 위키

itwiki.kr

 

반응형

댓글