■ 모듈 vs 컴포넌트(인터페이스가 있음) : 둘 다 소스코드의 집합이라는 공통점이 있음
소스코드 실행코드
■ 모듈은 어떤 특정기능을 완벽히 할 수 없다
■ 재사용과 공통모듈
함수와 개체< 컴포넌트< 어플리케이션
■ 공통모듈: 각 서브시스템에서 공통사용기능(예) gps)
■ 모듈명세화도구 : 흐름도, N-S 도표,의사코드, 의사결정도 등
- Nassi-schneiderman chart : 순차,선택, 반복을 사각형(삼각형)으로 도식화 (화살표를 쓰지 않음)
■ 소프트웨어 아키텍쳐 : 뼈대, 소프트웨어 여러가지 원칙들의 집합
■ 아키텍쳐 프레임워크(설계도- 주택, 상가, 공장)
1. AD - 아키텍쳐 설계도 설명서(기록위한산출물)
2. 이해관계자
3. 관심사
4. 관점
5. 뷰
■ 소프트웨어 아키텍쳐 4+1 view model
: uml이 정의되면서 4+1이 되었다
<5계층 분류모델>
-Logical view : 분석, 설계
-Implementation view : 프로그래머 (실코딩)
-Process view : 시스템 엔지니어
- Usecase view : 사용자
■ 소프트웨어 아키텍쳐 평가 방법론
- SAAM : 최초 정리된 평가방법
- ATAM : 모든품질속성평가, 절충점
- CBAM: cost, ATAM 경제적 부분 보완 형태
- ARID : 전체가 아닌 한 부분 품질요소
■ 아키텍쳐 패턴 (>디자인패턴)
예) Layered, cliet-server
: 설계도를 미리 구상해 놓은 것
: 아키텍쳐 패턴= 스타일패턴= 표준 아키텍쳐
: 개발시간단축, 고품질소프트웨어, 안정적, 유지보수용이
-계층패턴(Layered) =N-tier아키텍쳐 패턴
: 정보은닉원칙적용, 높은 이식성
: 추가 실행시 오버헤드 발생(너무 많은 계층으로 성능감소 발생)
4계층
UI(presentation) / 서비스(app) / 도메인(비즈니스) / 영속
- MVC
- 클라이언트-서버패턴
: 하나의 서버- 다수의 클라이언트
-파이프필터 : 데이터흐름
: 노드와 간선으로 구성
:필터교환, 재조합 => 높은 유연성
: 비용소요, 데이터 변환 과부화
: 필터 컴포넌트를 통해 처리되는 데이터---> 파이프 통해서 -----> 파이프는 버퍼링 또는 동기화 목적 사용
-peer to peer : 분산 컴퓨팅에서 사용
: 컴포넌트가 클라이언트 서버 역할 모두 수행
-브로커 : 컴포넌트가 컴퓨터와 사용자를 연결하는 역할
-블랙보드 : 결정적 해결전략이 존재하지 않을 떄 사용
: 음성인식, 신호해석 등에 활용됨
-이벤트버스 : 소스(생성),리스너(수행),채널(통로),버스(관리)
-인터프리터 : 특정언어로 작성된 프로그램을 해석하는 컴포넌트 설계
(SQL과 같은 데이터베이스 언어)
<객체지향 설계>
-구조적설계 : 한개의 입력, 한개의 출력 / 순차,선택,반복 / GOTO문(분기문)사용 X
-절차적설계 : 일련의 명령어을 나열해 프로그래밍
: funcion 기반의 프로그램밍
: 규모가 커지면 함수가 기하급수적으로 늘어남
■ 개체를 속성 + 메소드 => 객체로 표현
object- attribute : 데이터값
- mathod : object의 행위인 함수
■ class=틀= 타입(단위테스트 unit test 같은 개념)
object= 실체= 변수= instance
(캡슐화)
■ 객체지행 기법에서의 관계성
-is member of : 연관성
-is part of : 집단화
-is a : 일반화, 특수화
■ 객체지향 원칙(SOLID)
-단일책임원칙(SRP) : 단일목적, 하나의 책임
-개방-폐쇄 원칙(OCP) : 확장-개방/ 수정-폐쇄
- 리스코프치환원칙(LSP) : 부모클래스가 들어간 자리에 자식클래스로 대체해도 작동해야 한다
(상속관계에서의 원칙)
- 인터페이스분리원칙 (ISP)
- 의존 역전원칙(DIP)
■ 객체지향 개발방법론
-booch : OOD(다이어그램 기반)
-OOSE : use case의 한 접근방법
-OMT(럼바우) : 객체, 동체, 기능 모델링
-Coad와 Yourdon 방법 : E-R다이어그램
■ 클래스 설계 : 객체상태 변화 모델링 필수
■ 클래스 인터페이스 : 구현/사용/확장
■ 협약에 의한 설계(Designed by contract)
1. 선행조건
2. 결과조건
3. 불변조건
<디자인패턴> : 인테리어의 표준을 정해놓은 것
-개발자와 원활한 소통, 재사용, 초기투자비용 높음, 객체지향 설계 및 구현 위주로 사용
■ 구성요소 4가지(필수)
이름/ 문제/ 해결/ 결과
+ 사례, 코드, 정당성
■ GoF 디자인패턴 : 재사용에 관한 유용한 설계를 디자인 패턴화
생성패턴, 구조패턴, 행위패턴
-생성패턴
: fatory method, virtual construtor
: 싱글톤 - 전역변수사용x, 객체 하나만 생성
: 프로토타입
: 빌더(builder)- 인스턴스 조립
: Abstraction Factory
-구조패턴(연결-원활한 기능)
: Adapter
: Bridge
-행위패턴(통제)
: chain of responsibility (책임연대)
: Iterator, Command, Interpreter, Observer, Mediator
■ 디자인패턴 vs 아키텍쳐패턴(상위설계)
: 서브시스템 내 : 시스템 전체구조
컴포넌트와 그들간의
관계구성위한 참조모델
<인터페이스 요구사항> : 컴포넌트가 어떻게 연결되는가?
기능적:기능적속성에 관한 요구사항
비기능적 : 그외
■ 인터페이스 요구사항 검증방법
-프로토타이핑
-테스트설계
-CASE
- 요구사항 검토 : 동료검토, 워크스루, 인스펙션(감사)
■ 검증절차
검토계획수립 --> 검토 오류수정--> 베이스라인 설정
■ 인터페이스 대상 식별
송신--> 중계--> 수신
■ 상세설계
- 직접연계 : 중계서비스 또는 솔루션을 사용하지 않음
- 간접연계 : 사용함
■인터페이스 연계기술
DB Link WSDL/UDDI/SOAP
WAS (웹서비스 프로토콜)
API/OPEN API
JDBC
HYPER LINK
SOCKEY
■ 시스템 사이의 상호교환되는 데이터는 표준 형식을 정의해 사용할 때 사용하는 인터페이스 데이터 구성
=> 공동부, 개별부, 종료부
■ 시스템 연계기술
-API
-WSDL : webservices
-UDDI : Univercial , XML
-SOAP(Simple Object Access Protocol) : 웹서비스를 실제로 이용하기 위한 객체간의 통신규약
■ 인터페이스 설계서는 인터페이스 목록과 인터페이스 정의 작성을 통해 구현된다.
<미들웨어 솔루션> : 클라이언트 서버 간 통신담당 시스템 소프트웨어
■ 미들웨어 솔루션 유형
- DB
-TP- Monitor(Transaction Processing Monitor)
-ORB
- RPC : 원격 프로시저를 로컬 프로시저처럼 호출하는 방식
-MOM : 메시지 기반
-WAS : 많이 사용 , HTTP, 서버단위, 데이터 접근,세션 , 트랜잭션 등 라이브러리 제공
-OTM: Tp모니터 + ORBs
■ 미들웨어 솔루션 분류
DB vs 통신
(app-to-데이터) (app-to-app)
ODBC RPC
IDAD DCE
DRDA MOM
OLEDB ORB
OTM
'자격증' 카테고리의 다른 글
비전공자의 정보처리기사 필기시험 후기 (0) | 2025.02.10 |
---|---|
정보처리기사 2024년 3회 오답정리 (0) | 2025.02.04 |
정보처리기사 필기 정리 ④ (0) | 2025.02.01 |
정보처리기사 필기 정리 ③ (0) | 2025.01.27 |
정보처리기사 필기 정리 ② (0) | 2025.01.19 |