클래스의 특징
캡슐화
- 객체 정의시 데이터들과 함수들을 하나의 기능으로 묶는것
상속성
클래스
연관
유스케이스
연관
포함
- 하나의 유스케이스가 다른 유스케이스의 실행을 전제로 한다.
확장
- 확장 기능 유스케이스와 확장 대상 유스케이스
- 특별한 조건을 만족할때 수행
- Ex. 글 작성 <--- 파일첨부
일반화
- 유사한 유스케이스 또는 액터를 모아 그룹화 한것
- EX. 글 검색 <--- 글쓴이로 검색
클래스 설계 원칙
단일책임
개방폐쇄 원리
- 클래스는 확장에는 열려있고 수정에는 닫혀있다.
- 오버라이딩은 되지만 코드 직접수정은 안된다.
리스코프 치환 원리
- 서브타입은 언제나 부모타입으로 교체할수 있어야 한다.
인터페이스 분리의 원칙
- 인터페이스를 사용에 맞게끔 잘게 분리해야 한다.
- 인터페이스의 단일 책임
- 인터페이스는 다중상속이 가능하다.
의존 역전 원칙
- 클래스를 참조해야 할 경우 직접 클래스를 참조하지 않고 대상의 상위 요소로 참조하라.
UI 시스템
OUI
NUI
요구사항 검증 방법
동료검토
- 요구사항 명세서 작성자가 설명하면 동료들이 이를 검토
- 동료 or 이해관계자
워크스루
- 회의 전 명세서를 미리 배포해 사전 검토 후 결함 발견
- 인스펙션과 다른것!!
인스펙션
- 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서 확인해 결함 발견
소프트웨어 프로젝트 관리
- 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발
- 산출물을 관리하는것이 아니다!
정형기술 검토 ( FTR )
- 참가자 수를 제한한다.
- 의제, 논쟁, 반박 제한
- 해결, 개선책 제한
- 자원, 시간 할당
- 제한하지 않는다 나오면 찍으면 될듯 ㅋㅋ
화이트박스 테스트
- 프로그램을 실행함으로 오류를 찾는 동적 테스트를 포함한다.
- 프로그램의 구조를 고려하며 논리 흐름도를 사용할수 있다.
RCS - Revision Control System
- 소스를 동시에 수정하는것을 방지해 다른 방향으로 진행된 개발 결과 합치거나 변경 내용을 추적
C언어 함수
strcpy(dst, src)
strcmp(dst, src)
IP 프로토콜
- 데이터 체크섬은 없고 헤더 체크섬을 제공한다.
- 비연결형 서비스를 제공한다.
IPv4 프로토콜 헤더
Packet Length : 16bit
TTL : 네트워크에서 생존할수 있는 시간
IPv6 헤더
IPv6
- 주소 자동설정을 이용 손쉽게 네트워크에 접속시킬수 있다.
IPv4
- 클래스별로 네트워크와 호스트 주소의 길이가 다르다.
TCP WRAPPER
- 외부 컴퓨터 연결시 접속 인가 여부 점검하고 인가시 허용 반대는 거부
PERT 차트 - 프로젝트 일정 계획
- 전체 작업의 상호관계를 표시하는 네트워크
- 소요기간의 예측이 어려울때 사용
- 낙관/가능성/비관 적인 경우로 나누어 종료시기 결정
- 노드와 낙관치/기대치/비관치를 가지는 간선으로 구성됨.
상향식/하향식 설계
하향식 설계
- 낮은 데이터구조의 세부사항이 초기 단계에 필요하다
상향식 설계
- 인터페이스가 성립되어있지 않아 기능 추가가 쉽지 않다.
FEP
- 입력 데이터를 미리 처리해 시간을 줄여주는 프로그램/하드웨어
블루투스 취약점
블루버그
블루스나프
블루재킹
블루프린팅
SMURF
- 공격대상 IP를 근원지로 대량의 ICMP 패킷 발송
- 멀티캐스트는 아니다.
Ping of Death
- 큰 ICMP패킷을 작은 조각으로 쪼개어 보내는것.
NTFS
umask
- 파일의 접근 권한 == 파일의 기본권한 - umask
- 644 = 666 - umask
-> umask = 022
파일의 기본 권한 == 666
디렉토리 기본 권한 == 777
- chmod 통해 권한 변경 가능
- chmod 764 파일명
- rwx 가 각각 421
- user, group, other 순서.
분산 시스템에서의 미들웨어
UML의 Dependency
- 한 사물의 명세가 바뀌면 다른 사물에 영향을 준다.
- 한 클래스가 다른 클래스를 오퍼레이션의 매개변수로 사용한다.
UML의 Realization
- 한 객체가 다른 객체에 오퍼레이션을 수행하도록 지정한다.
UML의 Generalization
- 상속관계 / 한 클래스가 다른 클래스를 포함하는 상위관계
UML의 Association
DRM
수평분할 기법
Round robin
이외 분할 기법
DB 병행제어 기법
스택
검증/Verification 확인/Validation
검증
- 작업 제품이 개발자의 기대를 충족시키는가
- 기능/비기능적 요구사항 충족 여부
- 개발 과정의 테스트
확안
- 작업 제품이 사용자의 요구에 적합하는가
- 결과의 테스트
TCP 헤더
- 순서 번호는 전달하는 바이트마다 번호 부여
- 윈도우 크기는 65535bit 가 최대
SSO / Single Sign On
- 하나의 시스템에 인증 얻으면 나머지도 다 얻는것
시스템 품질 속성
- 가용성
- 변경용이성
- 성능
- 보안성
- 사용편의성
- 시험 용이성
아닌것 : 독립성
CASE의 원천기술
- 구조적 기법
- 프로토타이핑 기술
- 자동 프로그래밍
- 정보저장소
- 분산 처리
아닌것 : 일괄처리
CASE 주요 기능
- 라이프사이클 전단계 연결
- 그래픽 지원
- 다양한 소프트웨어 개발 모형 지원
- 컴파일러는 미포함!!
CSMA
/CA
/CD
은행원 알고리즘
- 교착상태를 회피하기 위한 기법 ( Avoid )
나머지 기법
- 탐지
- 복구
- 교착상태 발견 후 대기 배제 혹은 자원 중단해 해결
- 선점, 프로세스 중지
- 예방
- 교착상태의 필요조건 부정해 발생하지 않게
- 환형대기, 비선점, 점유대기, 상호배제 중 한가지 이상을 부정함.
리눅스 쉘 export
- 모든 환경변수가 나오기에 확인 어렵고 echo를 써야한다.
환경변수 출력
해싱함수
Working Set
- 가상기억 장치 관리에서 프로세스가 일정 시간동안 자주 참조하는 페이지의 집합
세션 하이재킹 탐지
- 비동기화 상태 탐지
- ACK STORM 탐지
- 패킷 유실/재전송 탐지
코드 설계
표의 숫자코드 / 유효숫자식 코드
순차코드
- 발생순, 크기순, 가나다순에 따라 순차적 부여
10진코드
- 10진법의 원리에 맞춰 대분류, 중분류, 소분류
데이터 모델
CMM 단계
1. 초보단계
2. 반복단계
3. 정의단계
4. 관리단계
5. 최적단계
서비스 지향 아키텍쳐 기반 계층
- 비즈니스 계층
- 표현 계층
- 프로세스 계층
- 서비스 계층
- 영속 계층
컴포넌트 설계
협약에 의한 설계
- 컴포넌트 동작 전 선행조건
- 동작 후 결과 조건
- 동작 중 만족해야하는 불변조건
쉘 스크립트 제어문
선택
반복
기능점수 ( Functional Point ) 산정 요소
- 자료 입력
- 정보 출력
- 명령어 / 질의 수
- 데이터 파일
- 외부 인터페이스
요구사항 분석
- 비용과 일정에 대한 제약 설정
- 타당성 조사
- 요구사항 정의 문서화
IEEE 802.4
공통모듈 명세속성
정확성
명확성
완전성
일관성
수정 용이성
추적성
NAC
- 관리자가 정의한 보안환경이 운영되는 시스템만 네트워크에 접속 가능
BACKUP 연산
- 오류 대비해 변경 대상 레코드를 별도의 테이블에 복사
정보공학 방법론
- 계획, 분석, 설계, 구축에 정형화된 기법을 상호 연관성있게 통합, 적용