재사용 : 목표 시스템의 개발 시간 및 비용 절감을 위하여 검증된 기능을 파악하고 재구성하여 시스템에 응용하기 위한 최적화 작업이다.
재사용 형태
- 편의적 재사용(내부, 외부)
- 계획적 재사용
재사용 방법
- 합성 중심
- 생성 중심
모듈 : 특정 기능을 처리할 수 있는 싱행 코드를 의미하며 자체적으로 컴파일 가능하고 다른 프로그램에서 재사용이 가능하다.
소프트웨어 취약점
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프로에 집중
* 살충제 패러독스 : 내성 생겨 같은 곳만 테스트
* 오류 부재의 궤변 : 사용자 요구사항을 만족시키지 못한다면 버그가 없다고 해도 품질이 높다고 할 수 없음
'CS > Certificate' 카테고리의 다른 글
정보처리기사 암기 위주 정리 - 프로그래밍언어 (0) | 2022.04.19 |
---|---|
정보처리기사 암기 위주 정리 - 데이터 입출력 구현 (0) | 2022.04.14 |
정보처리기사 암기 위주 정리 - 데이터베이스 (0) | 2022.04.13 |
정보처리기사 암기 위주 정리 - 화면 설계 (0) | 2022.04.12 |
정보처리기사 암기 위주 정리 - 요구사항 확인 (0) | 2022.04.12 |