-동적 모델링(Dynamic Modeling)은 상태 다이어그램(상태도)를 이용해 시간 흐름에 따른 객체들 간의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현하는 모델링을 말한다.
컴퓨터 지원 소프트웨어 공학(computer-aided software engineering: CASE)= 컴퓨터 지원 시스템 공학
- 시스템 개발 방법론들의 자동화를 지원하는 소프트웨어 도구를 제공해 개발자의 반복적인 작업량을 줄이도록 하는 것
- CASE 도구들은 차트와 다이어그램을 자동으로 생성하는 그래픽 기능, 화면과 리포트 생성기, 데이터사전, 분석과 검사 도구, 코드 생성기, 문서 생성기 등을 제공
- 1. 소프트웨어 생명주기(Software Lifecycle) 전 단계의 연결
2. 그래픽 지원
3. 다양한 소프트웨어 개발 모형 지원
-UML의 구성요소로는 사물, 관계, 다이어그램 3가지로 이루어져있으며,
Things은 사물, Relationship은 관계, Diagram은 다이어그램입니다
-애자일 방법론에는 익스트림 프로그래밍(Extreme Programing, XP), 스크럼(Scrum), 익스트림 모델링, 크리스털 패밀리 , 기능 중심 개발(FDD, Feature-Driven Development) 이 있다
-GoF(Gangs of Four) 디자인 패턴 분류
1. 생성 패턴
2. 구조 패턴
3. 행위 패턴
- 소스코드 품질분석 도구
정적 분석 도구 - pmd, cppcheck, SonarQube, ccm
동적 분석 도구 - valance, Avalanche, Valgrind
- 테스트 용어
테스트 케이스 : 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하 기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서
테스트 시나리오 : 테스트 케이스를 적용하는 순서에 따라 여러 개의 테스트 케이스들을 묶 은 집합
테스트 오라클 : 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값 을 입력하여 비교하는 기법 및 활동
-빌드 자동화 도구
Jenkins
- JAVA 기반의 오픈소스 형태
- 서블릿 컨테이너에서 실행되는 서버 기반 도구
- 친숙한 Web GUI 제공
- 분산 빌드나 테스트 가능
Gradle
- Groovy를 기반으로 한 오픈 소스 형태
- 안드로이드 앱 개발 환경에서 사용
- 행할 처리 명령들을 모아 태스크(Task)로 만든 후 태스크 단위로 실행
-저작권 관리 구성 요소
콘텐츠 분배자 - 암호화된 콘텐츠를 유통하는 곳 또는 사람
패키저 - 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶어 암호화
콘텐츠 제공자(Contents Provider)
- 콘텐츠를 제공하는 저작권자
콘텐츠 분배자(Contents Distributor)
- 암호화된 콘텐츠를 유통하는 곳이나 사람 (플레이 스토어, 앱스토어 생각하면 될 듯)
클리어링 하우스(Clearing House)
- 저작권에 대한 사용 권한, 라이센스 발급, 암호화된 키 관리, 사용량에 따른 결제 관리 등을 수행
DRM 컨트롤러(DRM Controller)
- 배포된 콘텐츠의 이용권한을 통제하는 프로그램
패키저(Packager)
- 콘텐츠를 메타 데이터와 함계 배포 가능한 형태로 묶어 암호화하는 프로그램
- 블랙박스 테스트 기법
- 동치(동등) 분할검사 : 입력조건에 유효한 값과 무효한 값을 균등하게 하여 테스트 케이스를 설계하는 방법
- 경계값 분석 : 입력 조건의 경계에서 오류가 발생할 확률이 높기 때문에, 입력 조건의 경계값을 테스트 케이스로 설계하는 방법
- 원인-효과 그래프 검사 : 입력 데이터 간의 관계와 출력에 미치는 영향을 분석해서 효용성이 높은 테스트 케이스를 설계하는 방법
- 오류-예측 검사 : 과거의 경험이나 확인자의 감각에 의존하는 테스트 케이스 설계 방법
- 비교검사 : 여러 버전의 프로그램에 동일한 자료를 제공해서 테스트 하는 방법
- 트랜잭션 특징
1. Durability(영속성, 지속성)
- 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다.
2. Isolation(독립성, 격리성)
- 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없다.
3. Consistency(일관성)
- 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.
4. 원자성(Atomicity)
- 데이터베이스에 반영되도록 완전히 완료 아니면 전혀 반영되지 않도록 복구되어야 함
-데이터 모델링 기법
1. 인덱스 정규화 : 인덱스는 키 값으로 행 데이터의 위치를 식별하는데 사용하는 기능(인덱스 정규화는 인덱스를 효과적으로 사용하려면 정규화가 되어 있어야 하는 것을 말하는 듯)
2. 반정규화 : 정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법
3. 집단화 : 속성(유형, Type)들의 세트로 구성되는 새로운 속성(유형, Type)을 정의하는데 사용되는 개념
4. 머징 : 둘 이상의 데이터 세트를 단일 데이터 세트로 결합 또는 공통된 컬럼명 또는 행 이름에 따라 데이터 프레임을 병합
- 후보키(Candidate Key) : 릴레이션을 구성하는 속성 중 튜플을 유일하게 식별하기 위한 기본키로 사용할 수 있는 속성들을 뜻한다.
- 기본키(Primary Key) : 후보키 중에서 선택된 주키(Main Key)이다.
- 슈퍼키(Super Key) : 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키이다. 슈퍼키는 릴레이션에 있는 튜플에 대해 유일성을 만족시키지만, 최소성은 만족 시키지 못한다.
- 외래키(Foregin Key): 관계를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1릴레이션의 속성 말한다.
로킹 단위 작아지면 로크 수, 병행제어, 오버헤드, 병행성 수준, DB 공유도 전부 크거나 복잡해지거나 증가.
- 비정규릴레이션
1NF → 도메인이 원자값
2NF → 부분적 함수 종속 제거
3NF → 이행적 함수 종속 제거
BCNF → 결정자이면서 후보키가 아닌 것 제거 ★
4NF → 다치 종속
5NF → 조인 종속성 이용
정규화
1 2 3 bcnf 4 5
도 → 부 → 이 → 결 → 다 → 조
데이터웨어하우스의 기본적인 OLAP(on-line analytical processing) 연산은 roll-up, slicing & dicing, drill-up & down, pivot, drill-through 등
unix shell 환경변수 출력 명령어
1. printenv : 환경 변수의 값을 출력하는 명령어
2. env : 환경 변수 보기 및 변경
3. setenv : 환경 변수 추가 또는 업데이트
- UDP (User Datagram Protocol) - TCP/IP의 전송계층 프로토콜
- 비연결성 서비스 제공
- 단순한 헤더구조로 오버헤드 적음
- 사용하는 경우 : 빠른속도로 전송 요구시, 동시에 여러 사용자에게 데이터 전달시 , 반복적 전송
- 실시간 전송에 유리 , 신뢰성보다는 속도가 중요시 되는 네트워크에 사용
PHP 사용 가능 연산자
@ : 에러 제어 연산자
< > : 관계 연산자
=== : 관계 연산자
- CMM(Capability Maturity Model) 모델의 레벨
- 초기 단계
- 관리 단계
- 정의 단계
- 정량적 관리 단계
- 최적화 단계
1.SREM(Software Requirements Enginering Methdology):TRW사가 우주 국방 시스템 그룹에 의해 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 목적으로 개발한 것으로,RSL과 REVS를 사용하는 자동화 도구이다.(RSL/REVS)
2.PSL/PSA:미시간 대학에서 개발한 것으로 PSL과 PSA를 사용하는 자동화 도구입니다.
3.HIPO(Hieracgy Input Process Output):하향식 소프트웨어 개발을 위한 문서화 도구입니다.
4.SADT(Structure Analysis and Design Technique): SoftTech사에서 개발된 것으로 구조적 요구 분석을 위해 블록 다이어그램을 채택한 자동화 도구입니다.
1.MAC:강제 (Mandatory) 접근통제
-접근통제권한은 시스템이 지정
-주체와 객체의 등급을 비교하여 권한부여
2.DAC:임의 (Discretionary) 접근통제
-접근통제권한은 데이터소유자가 지정 및 제어
-데이터에 접근하는 사용자의 신원에 따라 권한부여
-부여된 권한을 다른 사용자에게 허가 가능
-관련 SQL 명령어: GRANT/ REVOKE
3.RBAC:역할기반 (Role Based) 접근통제
-접근통제권한은 중앙관리자가 지정
-사용자의 역할에 따라 권한부여
-임의+강제 접근통제의 단점보완
-다중프로그래밍환경에 최적화
랜섬웨어 : 임의로 시스템을 잠그거나 혹은 데이터를 암호화하여 사용할 수 없게 한 다음 이를 빌미로 돈을 요구하는 기법.
파밍 : 홈페이지 주소를 바꿔 사용자가 진짜 사이트로 오인하게 하여 접속하게 한 다음 개인정보를 탈취하는 기법.
피싱 : 메일 등으로 공공기관이나 금융기관에서 보낸 것처럼 위장하여 사용자에게 계좌번호, 카드번호의 비밀번호를 빼내는 기법. 대표적으로 스미싱이 있습니다.
SPICE(소프트웨어 처리 개선 및 능력 평가 기준)
- 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준이다.
공식 명칭은 ISO/IEC 15504이다.
'자격증, 강의 후기 > 정보처리기사' 카테고리의 다른 글
정보처리기사 필기 요약 오답 (21년 5월) (1) | 2023.05.11 |
---|---|
정보처리기사 필기 요약 오답 (21년 3월) (0) | 2023.05.09 |
정보처리기사 필기 요약 오답 (2020년 8월) (0) | 2023.05.04 |
정보처리기사 필기 요약 오답 (2020년 6월) (1) | 2023.04.20 |