본문 바로가기
  • (개인)정보보호/최신ICT 정보 공유 블로그
나의 서재/22. 소프트웨어 공학 기본원리

9.2 설계 평가 & 명세 & 방법

by 노벰버맨 2021. 12. 6.

1. 설계 평가

구분 구성요소 설명
결합도 자료
스탬프
제어
공통
내용
-모듈 사이의 상호 의존도
-결합도를 최소화하는 설계 필요
응집도 기능적
순차적
통신적
절차적
시간적
논리적
우연적
-한 모듈 내부의 구성요소 사이의 기능적인 관련 정도
-모듈 내부의 응집도를 최대화하는 설계 필요
*fan-in : 하나의 모듈이 제어받는 상위 모듈의 수
*fan-out : 하나의 모듈이 제어하는 하위 모듈의 수
모듈화 설계 휴리스틱 결합도 감소
응집도 증가
모듈 공유도
모듈 제어도
복잡하거나 불필요한 모듈 인터페이스 삭제
-좋은 품질의 모듈화 설계를 위한 휴리스틱(가이드라인)

-시스템 복잡도 최적화를 위해서는 팬인은 높게, 팬아웃은 낮게 설계해야 한다.

 

2. 설계 명세 기법과 설계 방법

가. 설계 명세

구분 특징 설명
시스템 아키텍처 설계 명세 배치 다이억램 -시스템 실행환경에서 소프트웨어와 하드웨어의 배치 구조
소프트웨어 아키텍처 설계 명세 구조 설계어
개체 관계도
인터페이스 기술 언어
잭슨 구조도
주조도
클래스 다이어그램
객체 다이어그램
컴포넌트 다이어그램
패키지 다이어그램
-소프트웨어 주요 컴포넌트을 식별하고 그 컴포넌트 사이의 상호 연결 구조를 묘사
모듈 설계 명세 흐름도
정형 명세어
프로그램 설계어
순서도
활동 다이어그램
상호작용 다이어그램
-모듈의 동작(알고리즘)을 기술하기 위해 그래픽이나 텍스트 이용

나. 설계 방법

구분 특징 설명
구조적 설계 방법 구조적 분석 방법
기능 중심 설계
-가장 고전적인 설계 방법
-시스템의 주요 기능 중심으로 하향식 분해, 정제하여 설계
객체지향 설계 방법 객체지향 분석 방법
상태 데이터와 기능
-상태 데이터와 기능을 캡슐화한 객체, 객체 사이의 관계를 중심으로 설계

'나의 서재 > 22. 소프트웨어 공학 기본원리' 카테고리의 다른 글

11. 구조적 설계 방법  (0) 2021.12.11
10. 시스템 아키텍처 설계  (0) 2021.12.06
9.1 추상화  (0) 2021.12.05
9. 설계 개요  (0) 2021.12.05
8. 객체지향 분석 방법  (0) 2021.12.05

댓글