[소프트웨어 설계]
디자인패턴
- 객체지향언어와 사용한다.
-생성, 구조, 행위
- 생성(싱글톤, 프로토타입, 팩토리, 빌더 등)
- 구조( 어답터, 브릿지, 데코레이터, 컴포지트, 프록시 등)
XP의 5가지 원칙
피존의용단
럼바우 다이어그램
객-객체
동-상태
기-자료(DFD)
객체지향 설계 원칙 SOLID
SRP-단일책임원칙 (하나의 기능은 하나만)
OCP-개방폐쇄원칙 (수정은 좁게 확장은 넓게)
LSP-리스코프 치환의 원칙(하위는 상위 치환 가능)
ISP-인터페이스 분리의 원칙(인터페이스 간 영향x)
DIP-의존성 역전의 원칙(하나 변화로 인해 많은 것 의존 X)
아키텍처 패턴
-계층화
-파이프필터
-마스터슬레이브
-피어투피어
-모델뷰컨트롤러
-클라이언트서버
코드의 종류
순차코드(순서대로)
표의숫자코드(중량, 면적 등 표현)
연상코드(TV-2022 연도 연상 가능)
합성코드(여러 개 합친 거)
DFD
- 화살표,원,사각형,직선으로 표현
-시간흐름을 표현 X
-구조적 분석 기법에 이용
자료사전
[] - 선택
{}-반복
()-생략
+-연결
= - 정의
객체지향 분석 방법론
럼바우-객동기
Booch-미시적 거시적
Jacobson-UseCase
Coad와 Yourdom - ERD
WirfsBrocks-분석과 설계 간 구분 X
요구사항 명세기법
- 정형 명세(수학어, 어려움, 모호함X)
- 비정형 명세(자연어, 그림 중심, 의사전달 용이, 모호함O)
[소프트웨어 개발]
형상관리
-식별
-통제(Base라인 설계)
-감사
-기록
DRM
암키 식저 정크 인사
[데이터베이스]
데이터베이스 설계
-개논물
-개념-ERD
-논리-정규화,트랜잭션 인터페이스 설계, 목표 DBMS 스키마 설계
-물리적으로 하드디스크에 구조 생성(레코드 설계, 접근 구조 설계)
데이터모델에 표시해야할 것
-데이터 구조, 연산, 제약조건
정규화 과정
도,부,이,결,다,조
OLAP
roll-up, drill-down, pivoting, slicing, dicing
[프로그래밍 언어 활용]
프로세스 처리
선점 (SRT, MLQ, MFQ, RR)
비선점(SJF, HRN, 기한부, 우선순위)
TCP 흐름제어
Stop and wait
sliding window
TCP오류제어
stop and wait ARQ
Go-back-N ARQ
Select-Repeat ARQ
Adaptive ARQ
TCP/UDP
기능 | TCP | UDP |
데이터 전송 단위 | 세그먼트 | 블록 |
패킷 오버헤드 | 20바이트 | 8바이트 |
서비스 형태 | 연결지향형 | 비연경 지향형 |
수신 순서 | 송신 순서와 일치 | 송신 순서와 불일치 |
데이터 손실 | 손실 없음 | 손실 가능 |
흐름,혼잡,오류 제어 | 있음(ARQ 사용) | 없음 |
전송 속도 | 상대적 느림 | 상대적 빠름 |
프로토콜 | HTTP, FTP, Talent, SMTP | DNS, NFS, SNMP, RIP, RTP |
세그먼테이션/페이징
프로세스만큼 자름/고정된 길이로 자름
외부 단편화 생김/내부 단편화 생김
OSI 7계층
응표세 트네 데피
응 | HTTP, FRP, IRC, SSH, DNS | |
표 | SSL, SSH, IMAP, FTP, MPEG, JPEG | |
세 | ||
트 | TCP/UDP | |
네 | IP, ICMP, ARP, RARP, | 라우터 |
데 | 브릿지, 스위치 | |
피 | 허브, 리피터 |
가상기억장치
지역성-주기억장치 참조 시 일부 페이지만 집중참조하는 성질
워킹셋-자주 참조하는 페이지들의 집합
스레싱-처리시간보다 교체시간이 더 길어지는 현상
[정보시스템 구축관리]
CMM모델(너네 소프트웨어 잘 굴러가?)
초기-반복-정의-관리-최적화
SPICE
CMM의 발전모델이며 6단계이다.
CMMI
초기-관리-정량적 관리-최적화
스토리지 시스템
DAS-직접연결, USB등
NAS-네트워크로 연결
SAN-고속 네트워크로 연결, DAS와NAS의 장점을 합쳤다.
HIPO차트
시스템 분석 및 설계 문서화 시 사용기법, 그림 그리는 것
입력,처리,출력으로 구성되며 하향식소프트웨어(절차지향) 개발을 위한 도구이다.
가시적 도표, 총체적 도표, 세부적 도표 가 있다.
접근통제정책
정책 | MAC | DAC | RBAC |
권한부여 | 시스템 | 데이터 소유자 | 중앙 관리자 |
접근변경 | 보안등급(level) | 신분(identity) | 역할(role) |
정책변경 | 고정적(변경 어려움) | 변경 용이 | 변경 용이 |
장점 | 안정적 | 구현 용이 | 관리 용이 |
비용추정모형
하향식 | 전문가 | ||
델파이 | |||
상향식 | LOC | ||
수학적 | COCOMO | 조직형(organic) | 5만 이하 |
반분리형(semi-detached) | 30만 이하 | ||
내장형(embeded) | 30만 이상 | ||
PUTNAM | 랠리노든 곡선, 슬림 | ||
FP | 입력,출력,데이터 파일 등 기능에 점수 부여 |
암호화
양방향 | 대칭키(비밀키) | 스트림 | RC4, A5/1, A5/2 등 | |
블럭 | DES, AES, SEED, ARIA | |||
비대칭키(공개키) | RSA, DH, ECC | |||
단방향 | Hash | md5, sha-1,보안을 위해 salt를 붙여줌 |
소프트웨어 정의 기술
SDC(Coputing) | 컴퓨터 자원을 여러 군데에서 같이 씀 |
SDDC(DataCenter) | 데이터센터(DB의 집합체)를 소프트웨어로 정의 |
SDN(Network) | 네트워크를 소프트웨어로 정의 |
SDS(Storage) | 하드디스크를 소프트웨어로 잘라 정의 |
클라우드 서비스
Iaas | 인프라 클라우드(네이버 클라우드 빌리기) |
Paas | 플랫폼 클라우드(개발 환경 빌리기) |
Saas | 소프트웨어 클라우드(구글 독스) |
Baas | 블록체인 클라우드(블록체인 빌리기) |
유즈케이스(useCase)
연관, 포함, 확장, 일반화
연관 - 액터가 수행할 수 있는 기능들
포함 - A기능 수행 시 B기능 필수 수행
확장 - B기능 선택 수행
일반화-상속관계
클래스 간 관계
일반화 관계(상속)
실체화 관계(구현)
의존 관계(참조)
연관 관계(직접,집약,합성)