본문 바로가기

study/Challenge

[Challenge / day-18] 시스템 설계의 필요성

오늘의 공부범위 : 강의 24강 내용(Part3. ch1. 1강)

 

목차

1. 시스템, 시스템설계란?

2. 시스템 설계의 필요성

3. 설계유형

 

 

 

#1. 시스템, 시스템설계란?

시스템에 대한 정의부터 간단하게 해보자. 시스템이라고하면 너무 광범위가 생각될 수 있어서, 웹 개발에 한정해서 시스템의 정의를 알아보자. 웹 개발에서, 시스템은 기능적인 웹사이트나 웹 애플리케이션을 만들기 위해 함께 작동하는 구성 요소(컴포넌트)들의 집합을 의미한다. 이러한 구성 요소에는 하드웨어, 소프트웨어 및 데이터가 포함될 수 있으며, 이 모든 구성 요소는 웹 사이트 방문자에게 사용자 친화적인 경험을 제공하는 데 사용된다.

 

이렇게 정의해 볼 수 있겠고, 시스템 설계 이러한 시스템의 요구사항을 충족하기 위해 필요한 아키텍처, 인터페이스 및 데이터를 정의하는 과정이자 앞서 언급한 컴포넌트들의 관계와 동작 메커니즘을 표현하기 위한 구조체의 밑그림을 그리는 것을 말한다.

 

 

#2. 시스템 설계는 왜 필요한걸까?

강의해주신 설계의 필요성에 대한 내용을 종합해서 정리하면 다음과 같이 정리될 수 있다.

  1. 시스템 안정성을 보장하기 위해 소프트웨어 개발 과정에서 설계는 시스템의 안정성을 보장한다. 소프트웨어는 다양한 입력에 의해 동작하므로 설계를 통해 예측할 수 없는 상황에서의 시스템 동작을 방지할 수 있다.
  2. 유지 보수성을 높이기 위해 설계를 통해 시스템의 모듈화, 추상화 등을 고려하여 유지 보수성을 높일 수 있다. 이렇게 설계된 시스템은 변경이나 확장이 필요할 때에도 용이하게 대처할 수 있다.
  3. 개발 비용을 절감하기 위해 설계를 통해 개발자들은 시스템의 전반적인 구조와 동작 방식에 대한 이해를 높일 수 있다. 이는 개발 비용을 줄일 수 있으며, 시간을 절약할 수 있다.
  4. 팀원 간 의사소통을 원활하게 하기 위해 설계는 시스템에 대한 공통된 이해를 형성하게 해준다. 이는 팀원 간 의사소통을 원활하게 하고, 문제 해결에 대한 토론을 촉진한다.

따라서, 설계는 소프트웨어 개발 프로세스에서 매우 중요한 단계이며, 설계를 통해 시스템의 안정성, 유지 보수성, 개발 비용 절감, 의사소통 등을 보장할 수 있다고 정리해 볼 수 있겠다.

 

그런데, 이 시스템이란 것도 이 하나의 웹 앱을 만드는 과정에서 여러가지가 존재할 수 있다. 따라서 다양한 시스템의 유형과 각각에 대한 이론을 배울 것이다. 유형을 살펴보고 다음시간에는 이론들을 쭉 살펴보도록 하자.

 

#3. 설계 유형

  • 아키텍처 설계: 소프트웨어의 전체 구조를 high-level에서 기술. 구성 요소를 정의하고 요소들 간의 관계를 정의
  • 자료구조 설계: 소프트웨어의 요구사항을 충족시키기 위해 필요한 요소들을 자료구조로 변환하여 설계하는 과정
  • 인터페이스 설계: 사용자와 소프트웨어 간, 소프트웨어를 구성하는 구성 요소 간 어떻게 통신하는지 protocol과 주고받을 데이터 내용 등을 설계하는 과정

이 외에도 더 세세하게 분류할 수도 있겠지만 이 정도 수준에서 일단 이해하는게 좋을 것 같았다. 자료구조나 이런 부분은 코테 준비가 조금 소홀한 요즘 공부가 아직 부족하기도하므로 인터페이스 설계가 일단 가장 만만해 보인다.

 

출처 : https://multicore-it.com/56

인터페이스 설계란 사용자와의 상호작용은 물론 서버와의 상호작용까지 고려하여(API) 설계하는 것이다. 어떤 부분에서 데이터가 입력되고 언제 서버로 전송되는지 일련의 과정은 매우 중요하다.

 

앞으로 이론을 더 보충하며 제대로 설계해보자!!

블로깅하는 모습

 

 

 

관련링크

패스트캠퍼스 : http://bit.ly/3Y34pE0

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

#패스트캠퍼스 #패캠챌린지 #수강료0원챌린지 #환급챌린지 #직장인인강 #직장인자기계발 #패캠인강후기 #패스트캠퍼스후기 #오공완 #사이드프로젝트10개기술스택으로구현하는풀스택서버리스프로젝트withReact