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

9. 설계 개요

by 노벰버맨 2021. 12. 5.

1. 시스템 설계의 정의

구분 시스템 분석 시스템 설계
정의 -개발 시스템의 요구가 무엇(What)인지 깊이 이해하고 파악하여 정의하는 활동 -요구를 어떻게(How) 만족시킬 것인가에 대한 해결방안을 찾는 활동
구현 플랫폼 -구현될 플랫폼에 독립적인 논리적 모델 생성 -구현될 플랫폼에 의존적인 물리적 모델 생성
생성 모델 -논리적 모델 -물리적 모델
특징 -문제 도메인과 사용자 요구 중점
-문제 도메인과 비즈니스 프로세스 등을 표현한 분석 모델 개발
-기능 요구사항 파악

-분석된 요구사항 만족을 위한 기술적 솔루션 중점
-시스템 솔루션을 펴현한 설계 모델 개발
-비기능 요구 반영

 

2. 분석 결과물/설계 관계 및 설계 구성요소

가. 분석 결과물/설계의 관계

나. 시스템 설계의 구성요소

구성요소 결과물 설명
아키텍처 설계 시스템 아키텍처 설계
소프트웨어 아키텍처 설계
-상위 수준의 시스템 기본 구조 설계
-시스템 아키텍처 설계 : 소프트웨어를 포함하여 하드웨어, 네트워크 등 전체 운영 환경 구성
-소프트웨어 아키텍처 설계 : 모듈을 분해하여 모듈가의 구조적인 관계 정의
모듈 설계 모듈
컴포넌트
-소프트웨어 아키텍처의 구성요소인 모듈에 대한 상세 절차(알고리즘) 정의
데이터 설계 자료구조
데이터베이스
-소프트웨어 구현을 위해 자료구조와 데이터베이스 구조 정의
인터페이스 설계 시스템 인터페이스
사용자 인터페이스
-시스템 인터페이스 : 시스템 내부 모듈간 또는 외부 시스템과의 인터페이스
-사용자 인터페이스 : 사용자와 시스템 간의 상호 작용

 

3. 설계 원리

구분 특징 설명
추상화 (일반화) 절차
자료
제어
-주어진 문제나 시스템 중에서 구체적인 사항은 생략하고 핵심적인 부분만을 분리하여 간결하고 이해하기 쉽도록 만드는 기법
단계적 정제 문을 연다 ->
{손잡이를 돌린다.
돌아가지 않으면 열쇠를 찾는다.
열쇠를 넣는다.
문을 연다.}
-최상위 추상화 수준에서  정제하여 계층화하는 기법
-추상화 기법과 상호 보완적인 기법
모듈화 함수
메소드
클래스
-시스템을 작은 요소로 나누어 재사용 가능하도록  설계하는 기법

정보은닉 private 접근 제한자 -모듈 내부의 주요 정보를 다른 모듈에서 접근 차단되도록 설계하는 기법
-모듈 간의 교류를 단순화하기 위해 필요한 최소 정보만 허용하고 그외는 차단
-재사용 및 유지보수 용이
구조적 분해 최상위 계층 (제어)
하위 계층 (기능수행)
트리 구조
-소프트웨어를 모듈로 분해하여 계층적 구조로 설계하는 기법
-최상위 계층은 다른 모듈과 통신, 기능 수행에 대한 의사결정 담당
-하위 계층은 실제 처리작업 담당
-테스트 및 확장, 유지보수 용이
-수평으로 확장 시 모듈 간 통신 자료 및 제어가 복잡해질 수 있음
-수직으로 확장 시 상위 모듈 변경 시 하위 모듈 영향도 증가

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

9.2 설계 평가 & 명세 & 방법  (0) 2021.12.06
9.1 추상화  (0) 2021.12.05
8. 객체지향 분석 방법  (0) 2021.12.05
7.5 UML 2.0 표준  (0) 2021.12.04
7.4 UML (Unified Modeling Language)  (0) 2021.12.04

댓글