본문 바로가기

CS/Certificate

정보처리기사 암기 위주 정리 - 서버프로그램 구현

반응형

재사용 : 목표 시스템의 개발 시간 및 비용 절감을 위하여 검증된 기능을 파악하고 재구성하여 시스템에 응용하기 위한 최적화 작업이다.

재사용 형태

- 편의적 재사용(내부, 외부)

- 계획적 재사용

 

재사용 방법

- 합성 중심

- 생성 중심

 

모듈 : 특정 기능을 처리할 수 있는 싱행 코드를 의미하며 자체적으로 컴파일 가능하고 다른 프로그램에서 재사용이 가능하다.

 

소프트웨어 취약점

1. 메모리 보안 침임

- 버퍼 오버플로

- 허상 포인터

2. 입력 확인 오류

- 포맷 스트링 버그

- SQL 인젝션

- 코드 인젝션

- 이메일 인젝션

- HTTP 헤더 인젝션

- HTTP 응답 분할

- 디렉토리 접근 공격

- XSS

3. 경쟁 상태

- 심볼릭 링크 경쟁

4. 권한 혼동 버그

- CSRF : 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격

- 클릭재킹

- FTP 바운스 공격

 

소프트웨어 아키텍처

- MVC 구조

- Client/Server 구조

- 저장소 구조

- 계층 구조

- 데이터 흐름 구조

 

디자인 패턴

1. 생성 패턴

- Builder

- Singleton

- Prototype

- Factory method

- Abstract factory

 

2. 구조 패턴

- Adapter

- Bridge

- Composite

- Decorator

- Facade

- Flyweight

- Proxy

 

3. 행위 패턴

- Interpreter

- Template Method

- Chain of Responsibility (책임 연쇄)

- Command

- Interator

- Mediator

- Memento

- Observer

- State

- Visitor

- Strategy

 

응집도(Cohesion)

- 기능적 응집도(Functional)

- 순차적 응집도(Sequential)

- 교환적 응집도(Communication)

- 절차적 응집도(Procedural)

- 시간적 응집도(Temporal)

- 논리적 응집도(Logical)

- 우연적 응집도(Coincocident)

 

결합도(Coupling)

- 자료 결합도(Data) : 매개변수 자료형

- 스탬프 결합도(Stamp) : 리스트, 스트럭처, 오브젝트

- 제어 결합도(Control) : flag

- 외부 결합도(External) : 

- 공통 결합도(Common) : 전역변수

- 내부 결합도(Content) : 내부에 있는 변수나 기능을 다른 모듈에서 사용

 

* 프로세스 : 프로세스란 개인이나 조직이 한 개 이상의 정보자원의 입력을 통해 가치 있는 산출물을 제공하는 모든 관련 활동들의 집합

* 프레임워크 : 소프트웨어 구성에 필요한 기본 뼈대

프레임워크 특징 

- 모듈화

- 재사용성

- 다형성

- 제어의 역흐름

 

결함제거 법칙

* 낚시의 법칙 : 경험 중시

* 파레토의 법칙 : 전체 결함의 80프로는 전체 기능 20프로에 집중

* 살충제 패러독스 : 내성 생겨 같은 곳만 테스트

* 오류 부재의 궤변 : 사용자 요구사항을 만족시키지 못한다면 버그가 없다고 해도 품질이 높다고 할 수 없음

 

 

반응형