랑아
article thumbnail

설계 모델링

01. 설계 모델링

1) 설계 모델링의 개념

  • 요구사항 분석 단계에서 정의한 필수 기능들을 구체적인 구현 방법으로 명시하는 단계
  • 소프트웨어에서 요구되는 기능과 성능 조건을 만족하도록 설계 명세서를 작성하는 과정
  • 소프트웨어 내부의 기능 외에 소프트웨어 구조, 소프트웨어 동작 행위들을 모델링하여 분석, 검증, 명세화하는 단계
  • 프로세스, 컴퓨터 시스템을 명확하게 하고 상세하게 정의하는 단계
  • 소프트웨어가 실행 가능하도록 관련 기술과 원칙을 적용하는 과정

2) 설계 모델링의 절차


3) 구조 모델링

  • 소프트웨어 구성 요소들 사이의 구조적 관계에 대한 특성을 모델링
  • 소프트웨어 구성 요소들을 상호 연결 구조로 모델링
  • 구성 요소들은 유형, 인터페이스, 내부 설계 구조 형태별로 분류하여 구조화

4) 행위 모델링

  1. 구성 요소들의 기능적 특성 모델링
    • 입출력 데이터, 데이터 흐름, 데이터 변환, 데이터 저장 등을 모델링
  2. 구성 요소들의 동적 특성 모델링
    • 구성 요소가 언제 어떠한 순서로 수행되는지 모델링
    • 상태 전이, 데이터 흐름 경로, 사건 발생 순서, 실행 경로 등을 모델링



02. 구조 모델링 도구

1) N-S(Nassi-Schneiderman) 도표

1. N-S 도표의 3가지 제어 구조

2. N-S 도표의 특징

  • 논리의 기술에 중점을 둔 도형 표현 방법
  • 연속, 선택 및 다중 선택, 반복 등의 제어 논리 구조로 표현
  • 임의의 제어 이동이 어려움
  • 그래픽 설계 도구
  • 상자 도표하고도 함
  • 프로그램으로 구현이 쉬움
  • 조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는 데 적합

2) HIPO(Hierarchy Input Process Output) 도표

1. HIPO 도표의 종류

  • 가시적 도표(도식 목차) : 전체적인 흐름과 구조를 나타내는 도표
  • 총체적 도표(총괄 도표) : 입력, 처리, 출력 등의 기능을 명확히 표현한 도표
  • 세부적 도표(상세 도표) : 총괄 도표를 구체적으로 표현한 모듈 도표

2. HIPO 도표의 특징

  • 분석 및 설계 도구로 사용
  • 기본 시스템 모델은 입력, 처리, 출력으로 구성
  • 하향식(Top-Down) 개발에 적합
  • 보기 쉽고 이해하기 쉬움
  • 기능과 자료의 의존관계를 동시에 표현할 수 있음
  • 수정 및 유지보수 시에 좋음
  • 소규모 프로젝트에 적합

3) Dijkstra의 구조적 설계 방법론

1. 구조적 설계 방법론의 개념

  • 순차, 선택, 반복 구조만을 이용하므로 소프트웨어의 복잡도를 감소시키고 읽기 쉽고, 검사하기 쉽고, 유지보수하기 쉽다는 특징을 가진 전통적인 기법

2. 구조적 설계 방법론의 특징

  • 표준화된 설계 기법
  • 단일 입출력 구조
  • 순차, 선택, 반복 구조만을 이용
  • 프로그램의 명료성 증대
  • 한정된 범위 내에서 GO TO문을 사용
  • 검증이 용이함
  • 유지보수가 용이함
  • 프로그램의 이해가 쉬움



03. 설계 모델링의 구성과 요소

1) 설계 모델의 구성


2) 설계 모델의 요소

  • 정적(Static) 요소
    • 구조 모델
      • 구성 요소의 유형 및 유형 계통
      • 구성 요소의 배열 결합 관계
      • 구성 요소들의 인터페이스
      • 구성 요소들의 상호 작용 채널
    • 행위 모델
      • 입출력 데이터
      • 입출력 매핑
      • 데이터 흐름 채널
  • 동적(Dynamic) 요소
    • 구조 모델
      • 동적 생성 및 소멸
      • 동적 결합과 연결
      • 위치 이동, 복제
    • 행위 모델
      • 제어
      • 상호 작용 프로토콜
      • 상호 작용 실행 경로
      • 상태 전이
      • 처리 순서
      • 입출력 순서
      • 알고리즘

'정보처리기사 > 소프트웨어 설계' 카테고리의 다른 글

애플리케이션 설계 5  (0) 2023.04.27
애플리케이션 설계 4  (0) 2023.04.27
애플리케이션 설계 2  (0) 2023.04.26
애플리케이션 설계 1  (1) 2023.04.26
화면 설계 3  (0) 2023.04.21
profile

랑아

@RangA

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!