클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

[소프트웨어 설계] 3장 애플리케이션 설계 2 - 공통 모듈 설계 2 : 설계 모델링 및 소프트 아키텍처 본문

자격증 공부/정보처리기사 필기

[소프트웨어 설계] 3장 애플리케이션 설계 2 - 공통 모듈 설계 2 : 설계 모델링 및 소프트 아키텍처

huenuri 2024. 7. 31. 12:37

이어서 바로 학습을 진행한다. 20분도 남지 않은 짧은 시간이지만 최대한 빠르게 내용을 정리해볼 것이다.

설계 모델링에 대한 학습을 시작한다!


 

설계 모델링 🔥🔥🔥

 

1. 설계 모델링

1) 설계 모델링 개념

  • 요구사항 분석 단계에서 규명된 필수 기능들의 구체적인 구현 방법을 명시하는 기법
  • 소프트웨어에 요구되는 기능과 성능 조껀들을 만족하는 소프트웨어의 내부 기능, 구조 및 동적 행위들을 모델링하여 표현, 분석, 검증하는 과정

2) 설계 모델링 원칙

  • 소프트웨어 설계는 변경이 쉽도록 구조화되어야 함
  • 하나의 함수 안에 특정 기능을 수행하는데 필요한 자료만 사용하도록 규제
  • 독립적이고 기능적인 특성을 지닌 모듈 단위로 분할 설계
  • 계층적 구조를 가져야 함

 

3) 설계 모델링 유형

 

 

 

 

2. 소프트웨어 설계 유형 🎃

  • 자료 구조 · 아키텍처 · 인터페이스 · 프로시저 · 협약에 의한 설계는 상위 설계에 속하고, 모든 설계는 하위 설계에 속함

 

 

 

3. 소프트웨어 설계 원리 🎃

 

 

 

4. 코드 설계

1) 코드 설계 개념

데이터의 분류나 조합을 쉽게 하기 위해 사물을 표현하는 코드를 설계하는 기법

2) 코드의 기능

 

 

 

3) 코드 설계 종류

 

 

4) 코드 설계 절차

  • 항목 선정 ▶ 목적 설정 ▶ 대상 확인 ▶ 범위 결정 ▶ 사용 기간 설정 ▶ 항목의 특성 분석 ▶ 방식 결정 ▶ 문서화

 

5) 코드 오류 종류

 

5) HIPO

1) HIPO(Hiearachy Input Process Output) 개념

시스템 분석 및 설계, 문서화할 때 사용되며, 하양식 소프트웨어 개발을 위한 문서화 도구

2) HIPO 특징

  • 체계저인 문서 관리가 가능
  • 기호, 도표 등을 사용해서 보기 쉽고 이해가 쉬움
  • 기능과 자료의 의존 관계를 동시에 표현 가능
  • 변경, 유지보수가 용이
  • 시스템의 기능을 고유 모듈들로 분할하여 이들 간의 인터페이스를 계층구조로 표현한 것을 HIPO 차트(Chart)라고 함

 

 

3) HIPO 차트 종류


 

 

 

소프트웨어 아키텍처

1. 소프트웨어 아키텍처(Software Architecture) 개념

  • 여러가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중에서 외부에 드러나는 특성, 그리고 구성요소 간의 관계를 표현하는 구조
  • 소프트웨어를 설계하고 전개하기 위한 지침과 원칙암기 방법 : 가총세
    가시적 도표/ 총체적 도표/ 세부적 도표
    -> 가짜 총이 세 개 있다

 

2. 소프트웨어 아키텍처의 필요성

  • 주요 이해관계자들 간의 관점 조율을 통해 시스템을 최적화
  • 시스템의 비기능적인 요소에 집중해서 만들어지지만 기능적인 요소도 고려

 

3. 소프트웨어 아키텍처 4+1 뷰

1) 소프트웨어 아키텍처 4+1 뷰 개념

  • 고객의 요구사항을 정리해 놓은 시나리오를 4개의 관점에서 바라보는 소프트웨어적인 접근 방법
  • 4개의 분리된 구조로 구성되는 아키덱처 개념을 제시하고, 이들 4개 구조가 서로 충돌되지 않는지, 시스템의 요구사항을 충족시키는지 증명하기 위해 체크 방법으로 유스케이스를 사용한 것

2) 소프트웨어 아키텍처 4+1 뷰 구성요소 🎃

암기 비법 : 유논프구배
유스케이스 뷰/ 논리 뷰/ 프로세스 뷰/ 구현 뷰/ 배포 뷰

 

 

 

4. 소프트웨어 아키텍처 비용 평가 모델

1) 소프트웨어 아키텍처 비용 평가() 모델 개념

아키텍처 접근법이 품질 속성에 미치는 영향을 판단하고 아키텍처의 적합성을 평가하는 모델

2) 소프트웨어 아키텍처 비용 평가 모델 종류

 

 

 

 

 

 

아키텍처 품질 속성
비용을 처리하기 위해 필요한 요구 사항으로 특정 품질에 대한 요구사항을 명세한 내역, 최적의 아키텍처를 선택하기 위한 핵심요소(품질속성)

 

 

 

 

 

5. 소프트웨어 아키텍처 패턴

1) 소프트웨어 아키텍처 패턴 개념

  • 외부에서 인식할 수 있는 특성이 담긴 소프트웨어 의 골격이 되는 기본 구조
  • 소프트웨어를 설계할 때 참조할 수 있는 전형적인 해결방법
  • 주어진 상황에서의 소프트웨어 아키텍처에서 일반적으로 발생하는 문제점들에 대한 일반환되고 재사용 가능한 솔루션

 

2) 소프트웨어 아키텍처 패턴 유형

 

 

 

 

 

 

 

 

 

 

 

 

6. 소프트웨어 아키텍처 품질 속성

  • 아키텍처 비용 평가를 위해서 필요한 사항으로 특정 품질에 대한 요구사항을 명세한 내역, 최적의 아키텍처를 선택하기 위한 핵심 요소
  • 이해 관계자들의 품질 요구사항을 반영하여 결정

암기 비법 : 가변성 보사시
가용성/ 변경 용이성/ 성능/ 보안성/ 사용 편의성/ 시험 용이성


 

 

 

학습을 마치고

이렇게 정말 초고속으로 학습을 진행해보았다. 개념 정리는 모두 마쳤고 기출문제 풀이가 있는데 점심시간을 이용해서 해보든지 이 부분도 학습을 오후에는 다 마치고 새로운 단원으로 들어가보려고 한다.

이제 인사교 갈 준비를 해야겠다.