오늘 들은 강의
1. 소프트웨어 구축
1-4. 요구사항 분석 정리
- 현행 시스템 분석(운영체제, 네트워크, DBMS)
- CPND
- ⭐⭐미들웨어: 양쪽 시스템을 연결하여 데이터를 주고받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어
- 원격 프로시저 호출 (Remote Procedure Call)
- 메시지 지향 미들웨어 (Message Oriented Middleware
- ORB(Object Request Broker): 다형성, 오버로딩
- DB 접속 미들웨어
- TP 모니터 (Transaction processing Monitor)
- WAS (Web Application Server)
- ESB (Enterprise Service Bus)
- ⭐⭐⭐요구사항 개발 프로세스: 도출 → 분석 → 명세(정형 명세 기법, 비정형 명세 기법) → 확인
- HIPO
- 가시적 도표
- 총체적 도표
- 세부적 도표
- 구조적 분석 도구
- DFD
- DD
- Mini-Specification(소단위 명세서)
- ERD, Entity Relationship Diagram (개체 관계도)
- STD, State Transition Diagram(상태 전이도)
- 객체지향 분석 방법론 ⭐⭐⭐
- 럼바우⭐⭐⭐
- 객체 모델링: 객체 다이어그램
- 동적 모델링: 상태 다이어그램
- 기능 모델링: DFD
- 부치(Booch) 방법: 미시적 및 거시적 개발 프로세스
- Jacobson 방법: Use Case
- Coad와 Yourdon 방법: E-R 다이어그램
- Wirfs-Brock 방법: 분석과 설계의 구분 없음
- 럼바우⭐⭐⭐
1-5. 소프트웨어 설계의 기본원칙
- 소프트웨어 설계
- 상위 설계: 아키텍처 설계 , 데이터 설계 , 인터페이스 설계
- 하위 설계: 모듈 설계 , 자료구조 설계 , 알고리즘 설계
- 소프트웨어 설계의 원리
- 분할과 정복
- 추상화: 과정 추상화, 데이터 추상화, 제어 추상화
- 단계적 분해
- 모듈화
- 정보은닉: 캡슐화와 밀접하게 연관됨
- ⭐⭐⭐결합도와 응집도: 좋은 설계는 결합도는 낮추고, 응집도를 높여 모듈 간의 독립성과 기능의 집중성을 유지함
- 설계 모델링 유형
- 구조 모델링: 시스템의 정적 구조를 표현함
- 행위 모델링: UML 동적 다이어그램을 사용함
- 소프트웨어 설계 유형
- 아키텍처 설계
- 데이터베이스 설계
- 서브시스템 설계
- 컴포넌트 설계
- 자료구조와 알고리즘 설계
- ⭐⭐⭐협약에 의한 설계
- 선행 조건: 컴포넌트 오퍼레이션 사용 전에 반드시 참이 되어야 하는 조건
- 결과 조건: 오퍼레이션 사용 후 만족해야 하는 조건
- 불변 조건: 오퍼레이션이 실행되는 동안 항상 만족해야 하는 조건
1-6. 소프트웨어 아키텍쳐
- 아키텍처 프레임워크 구성요서
- 아키텍쳐 명세서(Architecture Description)
- 이해관계자(Stakeholder)
- 관심사(Concerns)
- 관점(Viewpoint)
- 뷰(View)
- 4+1 뷰
- 논리뷰
- 구현뷰
- 프로세스 뷰
- 배치뷰
- 유즈케이스 뷰
- 아키텍처 패턴 종류⭐⭐⭐
- 계층화 패턴
- 정의: 소프트웨어를 여러 계층으로 구분하여 각 계층이 하위 계층의 기능을 사용하는 구조
- 적용: OSI 7계층, TCP/IP 4계층 등 네트워크 프로토콜 스택에서 널리 사용됨
- 클라이언트-서버 패턴
- 정의: 서버가 여러 클라이언트에 서비스를 제공하는 구조
- 적용: 대부분의 웹 애플리케이션과 데이터베이스 시스템에서 사용됨
- 마스터-슬레이브 패턴
- 정의: 마스터 컴포넌트가 작업을 여러 슬레이브에 분산시키고, 슬레이브의 처리 결과를 종합하는 구조
- 적용: 병렬 컴퓨팅, 고성능 컴퓨팅 환경에서 사용됨
- 파이프 필터 패턴⭐⭐
- 정의: 데이터 스트림 처리 시스템에서 각 단계의 처리를 필터 컴포넌트가 수행하고 파이프를 통해 결과를 전달하는 구조
- 적용: Unix 쉘 스크립트 및 데이터 스트림 처리 시스템에서 사용됨
- 브로커 패턴
- 정의: 분산 시스템에서 컴포넌트 간 통신을 중재하는 브로커 컴포넌트를 사용하는 구조
- 기능: 브로커는 서비스 요청을 수신하고, 적절한 서비스 제공자에게 전달함
- 피어 투 피어 패턴
- 정의⭐⭐: 모든 컴포넌트(피어)가 서버와 클라이언트 역할을 동시에 수행하는 구조
- 적용: 파일 공유 시스템 등에서 사용됨
- 이벤트 버스 패턴
- 정의: 이벤트 버스를 통해 메시지를 발행하고 리스너가 이를 구독하는 구조
- 사용 예: 알림 시스템, 메시징 시스템 등에서 사용됨
- 모델-뷰-컨트롤러 패턴
- 정의: 모델(데이터 처리), 뷰(사용자 인터페이스), 컨트롤러(입력 처리)로 구성됨
- 적용: 웹 애플리케이션, GUI 기반 애플리케이션 등에서 널리 사용됨
- 블랙보드 패턴
- 정의: 여러 컴포넌트가 공유하는 중앙 정보 저장소(블랙보드)를 통해 협업하는 구조
- 적용: 복잡하고 명확한 해결 전략이 정의됮 않은 문제 해결에 사용됨
- 인터프리터 패턴
- 정의: 특정 프로그래밍 언어의 해석과 실행을 위한 컴포넌트 설계에 사용됨
- 목적: 언어의 문법을 정의하고 이를 해석하여 실행함
- 계층화 패턴
7. 프로그래밍 언어
2. 입출력함수&연산자 31~47
3.제어문 01~28
'일지 > 취준일기' 카테고리의 다른 글
| 2025_03_10 취준일기 31일차 (0) | 2025.03.10 |
|---|---|
| 2025_03_07 취준일기 30일차 (0) | 2025.03.07 |
| 2025_03_04 취준일기 28일차 (0) | 2025.03.04 |
| 2025_02_19 취준일기 27일차 (0) | 2025.02.19 |
| 2025_02_03 취준일기 26일차 (0) | 2025.02.03 |