Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 타임리프유틸리티객체
- 타임리프Escape
- cmd에서java파일실행
- MySQL설치순서
- 정보처리기사실기
- spring
- 정보처리기사
- 타임리프SpringEL
- 타임리프 특징
- mysql다운로드
- 정처기실기
- 타임리프기본객체
- mysql설치하기
- 타임리프날짜
- 타임리프변수
- 타임리프 표현식
- ER모델
- thymeleaf
- 타임리프URL
- 정보처리기사실기요약
- 스프링부트설정
- 이클립스없이cmd
- 정처기실기요약
- HelloWorld출력
- 개체관계모델
- 타임리프Unescape
- git
- mysql
- mybatis
- java
Archives
- Today
- Total
ye._.veloper
[ 정보처리기사 실기 요약 ] 4. 서버 프로그램 구현 본문
( 1 ) 소프트웨어 아키텍처
· 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체
☁ 모듈화 (Modularity)
· 시스템의 기능들을 모듈 단위로 나누는 것
· 모듈의 크기를 너무 작게 나누면 개수가 많아져 모듈 간의 통합 비용이 많이 듦
· 모듈의 크기를 너무 크게 나누면 개수가 적어 통합 비용은 적게 들지만 모듈 하나의 개발 비용이 많이 듦
☁ 추상화 (Abstraction)
· 전체적이고 포괄적인 개념을 설계한 후 구체화시켜 나가는 것
☁ 단계적 분해 (Stepwise Refinement)
· 상위의 중요 개념으로부터 하위의 개념으로 구체화시키는 분할 기법
· 하향식 설계 전략
☁ 정보 은닉 (Information Hiding)
· 모듈 내부에 포함된 절차와 자료들의 정보가 감춰져 다른 모듈이 접근하거나 변경하지 못하도록 하는 기법
· 정보 은닉을 통해 모듈을 독립적으로 수행할 수 있다.
· 하나의 모듈이 변경되더라도 다른 모듈에 영향을 주지 않으므로 수정, 시험, 유지보수가 용이
( 2 ) 아키텍처 패턴
· 아키텍처를 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제
종 류 | 내 용 |
Layer Pattern | · 시스템을 계층으로 구분하여 구성하는 패턴 · 서로 마주보는 두 개의 계층 사이에서만 상호작용이 이뤄짐 대표적으로 OSI 참조 모델이 있음 |
Client-Server Pattern | · 하나의 서버 컴포넌트와 다수의 클라이언트 컴포넌트로 구성되는 패턴 · 사용자가 클라이언트를 통해 서버에 요청하면 클라이언트가 응답을 받아 사용자에게 제공 |
Pipe-Filter Pattern | · 데이터 스트림 절차를 필터로 캡슐화하여 파이프를 통해 전송하는 패턴 · 데이터 변환, 버퍼링, 동기화 등에 주로 사용 ex. UNIX의 Shell(쉘) |
Model-View-Controller Pattern | · 서브 시스템을 모델, 뷰, 컨트롤러로 구조화하는 패턴 · 컨트롤러가 사용자의 요청을 받고 핵심 기능과 데이터를 보관하는 모델을 이용해 뷰에 정보 출력 ex. 한 개의 모델에 대해 여러 뷰를 필요로 하는 대화형 애플리케이션에 적합 |
Master-Slave Pattern | · 슬레이브 컴포넌트에서 처리된 결과물을 다시 돌려받는 방식으로 작업을 수행하는 패턴 ex. 장애 허용 시스템, 병렬 컴퓨팅 시스템 |
Broker Pattern | · 사용자가 원하는 서비스와 특성을 브로커 컴포넌트에 요청하면 요청에 맞는 컴포넌트와 사용자를 연결해주는 패턴 ex. 분산 환경 시스템 |
Peer-To-Peer Pattern | · 피어라 불리는 하나의 컴포넌트가 클라이언트가 될 수도 서버가 될 수도 있는 패턴 ex. 파일 공유 네트워크 |
Event-Bus Pattern | · 소스가 특정 채널에 이벤트 메세지를 발행하면 해당 채널을 구독한 리스너들이 메시지를 받아 이벤트를 처리하는 패턴 ex. 알림 서비스 |
Blackboard Pattern | · 모든 컴포넌트들이 공유 데이터 저장소와 블랙보드 컴포넌트에 접근이 가능한 패턴 ex. 음성 인식, 차량 식별, 신호 해석 |
Interpreter Pattern | · 프로그램 코드의 라인을 수행하는 방법을 지정하고, 기호마다 클래스를 갖도록 구성된 패턴 ex. 번역기, 컴파일러, 인터프리터 |
( 3 ) 객체지향 (Object-Oriented)
· 각 요소들을 객체(Object)로 만든 후, 객체들을 조립해서 소프트웨어를 개발하는 기법
◽ 구성 요소
객체 (Object) | · 데이터와 이를 처리하기 위한 함수를 묶어 놓은 소프트웨어 모듈 · 데이터 : 객체가 가지고 있는 정보 (속성, 상태, 분류 등) · 함수 : 객체가 수행하는 기능으로 객체가 갖는 데이터를 처리하는 알고리즘 객체의 상태를 참조하거나 변경하는 수단 |
클래스 (Class) | · 공통된 속성과 연산을 갖는 객체의 집합 · 각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀 · 클래스에 속한 각각의 객체를 인스턴스(Instance)라고 함 |
메시지 (Message) | · 객체들 간의 상호작용에 사용되는 수단, 객체의 동작이나 연산을 일으키는 외부의 요구사항 · 메시지를 받은 객체는 대응하는 연산을 수행하여 예상된 결과를 반환 |
◽ 특징
캡슐화 (Encapsulation) | · 외부에서의 접근을 제한하기 위해 인터페이스를 제외한 세부 내용을 은닉하는 것 |
상속 (Inheritance) | · 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것 |
다형성 (Polymorphism) | · 하나의 메시지에 대해 각각의 객체가 고유한 방법으로 응답할 수 있는 능력 |
연관성 (Relationship) | · 두 개 이상의 객체들이 상호 참조하는 관계 |
▫ 연관성(Relationship)의 종류
종 류 | 의 미 | 특 징 |
is member of | 연관화 (Association) | · 2개 이상의 객체가 상호 관련되어 있음을 의미 |
is instance of | 분류화 (Classification) | · 동일한 형의 특성을 갖는 객체들을 모아 구성하는 것 |
is part of | 집단화 (Aggregation) | · 관련 있는 객체들을 묶어 하나의 상위 객체를 구성하는 것 |
is a | 일반화 (Generalization) | · 공통적인 성질들로 추상화한 상위 객체를 구성하는 것 |
특수화 / 상세화 (Specialization) | · 상위 객체를 구체화하여 하위 객체를 구성하는 것 |
Ref.
시나공 정보처리기사실기 책
'Certification > 정보처리기사' 카테고리의 다른 글
[ 정보처리기사 실기 요약 ] 2. 데이터 입·출력 구현 (0) | 2023.03.07 |
---|---|
[ 정보처리기사 실기 요약 ] 1. 요구사항 확인 (0) | 2023.03.02 |
[ 정보처리기사 실기 ] 0. 2023 정보처리기사 실기 요약 (0) | 2023.03.01 |
Comments