개발햄비

[1과목] 어플리케이션 설계 본문

개발/개인공부

[1과목] 어플리케이션 설계

개발햄 2022. 2. 6. 16:56

 

 소프트웨어 아키텍처

▶︎ SW/ 아키텍처 뜻 : 기본 구조, 개발 기반

▶︎ 품질 유지 , 원칙 , 지침

▶︎ 모듈 = 부품

 

 아키텍처 기본원리

▶︎ 모듈화 : 유지관리에 좋음 ( 많으면 통합비용 증가 / 적으면 개발비용 증가)

▶︎ 추상화 : 포괄적 개념, 구체화 하기 위해 필요, 가성비, 구조파악

     ex) 로그인 기능, 아이디 찾기 , 회원가입 등 -> 인증 기능

 

▶︎ 단계적 분해 : 하양식, 추상화의 반복으로 많은 단계의 분해 가능

▶︎ 정보 은닉 : 접근금지, 별도의 인터페이스 사용, 유지보수에 용이

                       시스템 : 성능,보안

                       비즈니스 : 비용, 자원

                       아키텍처 : 결함

 

 ▶︎ 목표 - 시스템 타입 - 아키텍처 패턴 - 시스템 구체화 - 검토

 

 아키텍처 패턴

1. 레이아웃 패턴 ( 계층 패턴 )
▶︎ 각각의 상위, 하위 레이어끼리 상호 호환

▶︎ 특정 레이어만 유지보수, 개선 가능

 

2. 클라이언트 - 서버 패턴

▶︎ 서버 : 자원 제공 

▶︎ 클라이언트 : 자원 요청 -> 다수가 요청하기 때문에 서버는 항상 대기

 

3. 파이프 - 필터 패턴

▶︎ 파이프로 넘어온 데이터 -> 필터 : 처리 , 캡슐화 (정보은닉)

▶︎ 재사용성과 확장성이 좋음 

▶︎ 다양하게 파이프라인 생성 사능 , 데이터 변환 ,버퍼링 , 동기화에 유리

 

4. 모델 - 뷰 - 컨트롤러 (MVC) 패턴

▶︎ 모델 : 핵심기능과 데이터 보관

▶︎ 컨트롤러 : 입력처리

▶︎ 뷰 : 저리된 정보 보여줌 -> 여러 형태의 뷰 생성 가능

▶︎ 대화형 어플리케이션에 적합

 

5. 마스터 - 슬레이브 패턴

▶︎ 여러 슬레이브 컴포넌트가 데이터를 병렬로 처리, 결과 취합

▶︎ 몇 개가 고장나도 업무 처리 문제 없음

 

6. 브로커 패턴

▶︎ 클라이언트 요청 -> 브로커가 적절한 서버로 연결해줌 ( 분산환경)

 

7. 피어 투 피어 패턴 (P2P)

▶︎ 클라이언트와 서버 역할 변경 가능

▶︎ 2가지 일 병렬 처리 가능

 

8. 이벤트 버스 패턴

 

9. 블랙보드 패턴

▶︎  공유 데이터를 관리하는 블랙보드 -> 기능에서 요청하여 데이터 수집

▶︎ 음성 인식, 차량 식별, 신호 식별에 사용 .

'개발 > 개인공부' 카테고리의 다른 글

[1과목] 화면 설계  (0) 2022.02.06
[1과목] 시스템 파악  (0) 2022.02.01
[1과목]소프트웨어 생명 주기 : 요구 사항 확인  (0) 2022.02.01
[1과목]서버 프로그램 구현  (0) 2021.12.12