Computer Science/소프트웨어공학 2023. 11. 28.
UML Unified Modeling Languag
UML Basic - 모델링 언어의 실질적 표준 UML이란? Unified Modeling Language Modeling: 모델, 모형, 가짜 Language: 언어 → 의사소통으 수단 ⇒ 객체지향 설계의 표준 표기법으로 부치, 럼바우, 야콥슨의 표기법을 합친 개념 UML 특징 의사소통을 위한 도구 필요한 View만 시각화하여 이해하기 쉽도록 보여 준다 공통된 표준 언어로서 의사소통에 기여한다 모델링 언어 여타 다른 모델, 모형들과 마찬가지로 실제 만들어 보는 것과 모델을 만드는 것의 비용을 생각해 볼 수 있 프로젝트가 완료되었을 때 가장 확실한 결과물 도출 가능 초기 UML을 그렸지만, 개발 도중 설계 변경이 잦다 UML은 설계 능력을 올려줄까? 설계 능력, 구현 능력을 올려주는 도구는 아니 UML ..

Computer Science/데이터베이스 2023. 11. 27.
데이터베이스 모델링 Database Modeling
Database Modeling 소프트웨어 개발 방법론 Software Development Life Cycle, SDLC 요구분석 시스템 명세 설계DB 설계 (Modeling) UI / UX 설계 구현 테스트 유지보수 이 모든 절차를 소프트웨어 생명 주기라고 하며, 시스템의 개발부터 유지보수까지의 어떤 작업이 이루어지는지 단계별로 정리한 것을 뜻한다. 데이터베이스 모델링이란? 정보화 시스템을 구축하기 위해 어떤 데이터가 존재하는지, 또는 업무에 필요한 정보는 무엇인지 분석하는 방법이다. 관계형 데이터베이스 (RDBMS) 는 이 ‘표’의 개념을 사용해서 데이터를 구성하는 방법을 사용한다. 데이터베이스 모델링 과정 💡 요구사항 수집 및 분석 → 설계 (개념적 모델링 → 논리적 모델링 → 물리적 모델링) →..

Computer Science/정보처리기사 & 전산 필기 2023. 11. 3.
2018-3 정보처리기사 필기 기출 개념 정리 (오답 위주)
전자계산기 대박 쥐약 나 전자과인데.. 데이터베이스 해싱 테이블 오버플로우 처리 기법 collision(충돌 현상)이 발생했을 때 그 버킷에 저장할 slot이 없으면 overflow가 되는데 이를 위한 해결 방법은! 개방주소법 선형 방법으로, collision 발생 시 순차적으로 그 다음 빈 버킷을 찾아 저장함 폐쇄주소법 overflow 된 레코드들을 별도의 overflow 영역에 저장하고 chain(pointer)으로 홈 버킷에 연결하는 방법으로서, 해시표 내의 빈자리에 보관하는 direct chaining, 해시표와는 별도의 기억 공간에 보관하는 indirect chaining이 이씅ㅁ 재해싱 collision 발생 시 새로운 해싱 함수로 새로운 홈 주소를 구함 로킹 로킹 단위: 동시성 제어에서 한꺼..
Computer Science/정보처리기사 & 전산 필기 2023. 11. 2.
2018-2 정보처리기사 필기 기출 개념 정리 (오답 위주)
기출 풀고, 개념 정리 사악 하니까 서서히 점수가 오르고 있다...! 제발 아는 것만 나오길 ㅎㅎ 데이터베이스 차수, 카디널리티의 카티션 프로덕트 차수끼리는 더하고 카디널리티끼리는 곱한다 참조 무결성 vs 개체 무결성 개체 무결성 릴레이션에서 기본키를 구성하는 속성은 널(NULL)값이나 중복값을 가질 수 없다 참조 무결성 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 함. 즉 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다 로킹 로킹 크기가 커지면 로킹 개수 감소 ⇒ 오버헤드 감소, 공유도 감소 전자계산기구조 프로그래밍 기법 멀티 프로그래밍 한 대의 CPU로 여러 개의 프로그램을 동시에 처리 분산처리 프로그래밍 지역적으로 분산된 여러 대 컴퓨터 연결하고 작업을 분담하여 처리 일괄처..
Computer Science/정보처리기사 & 전산 필기 2023. 11. 2.
2018-1 정보처리기사 필기 기출 개념 정리 소프트웨어공학, 데이터통신 (오답 위주)
데이터베이스 관계데이터 모델의 무결성 개체 무결성 릴레이션에서 기본키를 구성하는 속성은 널(NULL) 값이나 중복값을 가질 수 없음 참조 무결성 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다 → 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다 도메인 무결성 특정 속성의 값이 그 속성이 정의된 도메인에 속한 값이어야 한다 COMMIT, ROLLBACK COMMIT 하나의 트랜잭션에 대한 작업이 성공적으로 끝나고 수행 결과를 관리자에게 알려주는 연산 ROLLBACK 하나의 트랜잭션 처리가 비정상적으로 종료되어 해당 트랜잭션을 재시작 OR 폐기 관계 대수 릴레이션 조작을 위한 연산의 집합, 기술적인 특성 가짐 절차적 언어 순수관계연산: select, project, join, di..
Computer Science/정보처리기사 & 전산 필기 2023. 11. 1.
2019-2 정보처리기사 필기 기출 개념 정리 소프트웨어공학, 데이터통신 (오답 위주)
소프트웨어공학 일정 계획 기법 WBS(작업 분해) PERT/CPM, 간트차트 럼바우 분석 기법 - 객체, 동적, 기능 객체 모델링, 동적 모델링, 기능 모델링 객체 모델링 시스템에서 요구하는 객체를 찾아 객체들의 특성 규명 동적 모델링 상태도 이용하여 객체들의 흐름 제어, 상호 반응 연산 순서 나타내주는 과정 기능 모델링 자료흐름도를 사용하여 프로세스들의 처리 과정 기술 소프트웨어 품질 목표 효율성 Efficiency 요구되는 기능을 수행하기 위해 필요한 자원의 소요 정도 **정확성 Incorrectness** Correctness 사용자의 요구 기능을 충족시키는 정도 ****무결성 Integrity**** 허용되지 않는 사용자나 자료의 변경을 제어하는 정도 ****신뢰성 Reliability**** 옳..
Computer Science/정보처리기사 & 전산 필기 2023. 10. 31.
2019-2 정보처리기사 필기 기출 개념 정리 전자계산기구조, 운영체제 (오답 위주)
전자계산기구조 SSD Solid State Drive 정보 저장 방식 SLC 1셀당 1bit MLC 1셀당 2bit TLC 1셀당 3bit 최대 연산자수 $2^n$ 모두 더하기 (n: 연산자 비트 수) 캐시메모리 검색 방법: Associative 보충 기억장치에 액세스할 때 주소를 사용하지 않고 기억된 정보의 일부분을 이용하여 원하는 정보를 찾는 것 → Associative(연상) CPU가 찾고자 하는 주기억장치 메모리가 캐시 메모리 어디에 있는지 빠르게 검색할 수 있게 사용하는 메모리 CAM(Content Addressable Memory)라고 부름 매핑 테이블 사용 외부 인자와 내용을 비교하기 위한 병렬 판독 회로가 필요하여 추가적인 비용 요구 인터럽트 우선순위 정전 > 기계 이상 > 외부 신호 > ..
Computer Science/정보처리기사 & 전산 필기 2023. 10. 30.
2019-3 정보처리기사 필기 기출 개념 정리 (오답 위주)
데이터베이스 순수관계연산자 SELECT 릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플들의 부분집합을 구하여 새로운 릴레이션을 만듦 릴레이션의 행에 해당하는 튜플들을 구하는 것이므로 수평 연산이라 한다 PROJECT 주어진 릴레이션에서 속성 리스트에 제시된 Attribute만 추출하는 연산 릴레이션의 열에 해당하는 Attribute만 추출하는 것이므로 수직 연산이라 함 JOIN 공통 속성을 중심으로 2개의 릴레이션을 하나로 합쳐서 새로운 릴레이션 생성 (일부 속성 추출, 중복 튜플 제거, 새로운 릴레이션) DIVISION X ⊃ Y인 2개의 릴레이션에서 R(X)와 S(Y)가 있을 때 R의 속성이 S의 값을 모두 가진 튜플에서 S가 가진 속성을 제외(분리)한 속성만을 구하는 연산 전자계산기구조 ..
Computer Science/정보처리기사 & 전산 필기 2023. 10. 28.
2019-1 정보처리기사 필기 기출 개념 정리 (오답 위주)
전산 필기 대비 구 정처기 기출 # 가보자고 데이터베이스 스키마 종류 외부 스키마 사용자나 프로그래머가 개인의 입장에서 필요한 데이터베이스의 논리적 구조 정의 서브스키마라고도 함 하나의 데이터베이스에는 여러 개 외부 스키마 존재 가능 하나의 외부 스키마를 여러 개의 응용 프로그램 혹은 사용자가 공유할 수 있다 일반 사용자는 SQL과 같은 질의어를 이용하여 DB를 쉽게 사용할 수 있다 개념 스키마 일반적인 의미의 스키마 데이터베이스의 전체적인 논리적 구조 → 조직 전체의 데이터베이스로 하나만 존재 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세 정의 데이터베이스 파일에 저장되는 데이터의 형태 내부 스키마 시스템 설계자 뷰 물리적인 저장장치 입장에서 데이터가 저장되는 방법 기술 실제 데이터베이스..
Computer Science/컴퓨터구조 2023. 9. 21.
Chap7 보조기억장치
Chap7 보조기억장치 07-1 다양한 보조기억장치 하드 디스크 플래시 메모리 하드 디스크 자기적인 방식으로 데이터를 저장하는 보조기억장치 → 이때문에 하드 디스크를 자기 디스크 magnetic disk 라고도 한다. 하드 디스크의 동작 원리는 CD와 비슷하다. 원판에 데이터를 저장하고, 이를 회전시켜 리더기로 데이터를 읽는 방식이다. **플래터 platter** 하드디스크에서 데이터가 실질적으로 저장되는 곳 플래터는 자기 물질로 덮여 있어 수많은 N극과 S극을 저장한다. ⇒ 0과 1을 나타냄 ****스핀들 spindle**** 플래터를 회전시키는 도구, 스핀들이 플래터를 회전시키는 속도를 RPM (Rotation Per Minute) ****헤드 head**** 플래터를 대상으로 읽고 쓰는 구성 요소 ..

Computer Science/컴퓨터구조 2023. 8. 30.
Chap4 CPU의 작동 원리
Chap4 CPU의 작동 원리 04 CPU의 작동 원리 04-1 ALU와 제어장치 CPU의 구성 요소: ALU와 제어 장치 ALU와 제어 장치의 정보 처리 방식 및 역할 ALU ALU가 연산을 하기 위해서는 피연산자와 수행할 연산이 필요하다. ALU는 레지스터로부터 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려 주는 제어 신호를 받아들인다. 연산 수행 후, 연산 결과는 메모리에 바로 저장되지 않고 레지스터에 저장된다. 이때, 연산 결과는 특정 숫자나 문자가 될 수도 있고, 메모리 주소가 될 수도 있다. 플래그 ALU는 연산 결과와 더불어 플래그를 내보낸다. 연산 결과값이 음수일 경우 음수라는 정보를 보내거나, 연산 결과가 연산 결과를 담을 레지스터보다 클 때 ‘결과값이 너무 크다’는 정보도 보..
Computer Science/컴퓨터구조 2023. 8. 20.
Chap3 명령어
layout: default title: 명령어 nav_order: 1003 description: 컴퓨터의 명령어 구성 parent: CS Chap3 명령어 생성 일시: 2023년 8월 15일 오후 5:25 소스 코드와 명령어 명령어의 구조 03 명령어 03-1 소스코드와 명령어 프로그래밍 언어가 어떻게 명령어가 되어 실행되는가? 고급 언어와 저급 언어 컴퓨터는 C, C++, Python, Java 같은 프로그래밍 언어를 이해할 수 있는가? 그렇지 않다. 우리가 사용하는 프로그래밍 언어는 컴퓨터가 이해하는 언어가 아니라, 사람이 이해하고 작성하기 쉽게 만들어진 언어이다. 이런 프로그래밍 언어들을 고급 언어(high-level programming language)라고 한다. 컴퓨터가 직접 이해하고 실행..
Computer Science/컴퓨터구조 2023. 8. 19.
Chap2 데이터
Chap2 데이터 생성 일시: 2023년 8월 10일 오후 8:47 0과 1로 숫자를 표현하는 방법 0과 1로 문자를 표현하는 방법 02 데이터 02-1. 0과 1로 숫자를 표현하는 방법 컴퓨터가 이해하는 정보 단위, 이진법과 십육진법을 통해 다양한 숫자를 표현하는 방법에 대해 학습 정보 단위 0과 1을 나타내는 가장 작은 정보 단위: 비트 bit → 2가지 정보 표현 N개의 비트로 표현할 수 있는 정보는 $2^N$ 가지 이진법 0과 1로 숫자를 표현하는 방식. 이건 14살에 배웠다…. ******이진수 표기****** 1000(2) : 수학적으로 표기할 때 0b1000 (binary) : 코드 상에서 이진수 표현할 때 이진수의 음수 표현 마이너스 부호를 사용하지 않고 음수를 표현하려면? ******2의..
Computer Science/컴퓨터구조 2023. 8. 15.
Chap1 컴퓨터 구조 시작
CS 스터디에서 혼자 공부하는 컴퓨터구조&운영체제 이라는 책으로 공부를 시작했다. 매주 2~3 챕터씩 보는 것을 목표로 한다. Chap1 컴퓨터 구조 시작 01 컴퓨터 구조 시작 01-1. 컴퓨터 구조를 알아야 하는 이유 문제 해결‘분석의 대상’으로서 컴퓨터 → 다양한 문제를 스스로 해결할 수 있는 개발자가 되자! 문제 상황을 빠르게 진단하고 실마리를 다양하게 찾을 수 있음 성능, 용량, 비용문법만으로는 알기 어려운 것들을 고려하여 개발할 수 있다 ++ 현업에서는 법적 규제: 개인정보 처리 사용자가 많은 프로그램은 필연적으로 성능, 용량, 비용을 고려해야 함 01-2. 컴퓨터 구조의 큰 그림 컴퓨터가 이해하는 정보? Computer Architecture 컴퓨터가 이해하는 정보 데이터 data 명령어 i..
Computer Science/정보처리기사 & 전산 필기 2023. 7. 3.
정보처리기사 2021 3회 오답
14/14/11/8/9 56 1과목 소프트웨어 설계 4 추상화 기법 - 소프트웨어 설계 추상화(Abstraction) 문제의 전체적이고 포괄적인 개념을 설계한 후 차례로 세분화하여 구체화시켜 나가는 것 제어 추상화: 제어의 정확한 매커니즘을 정의하지 않고 원하는 효과를 정하는 데 이용하는 방법 기능 추상화: 입력 자료를 출력 자료로 변환하는 과정을 추상화하는 방법 자료 추상화: 자료와 자료에 적용될 수 있는 기능을 함께 정의함으로써 자료 객체를 구성하는 방법 과정 추상화: 자세한 수행 과정을 정의하지 않고 전반적인 흐름만 파악할 수 있게 설계하는 방법 데이터 추상화: 데이터의 세부적인 속성이나 용도를 정의하지 않고, 데이터 구조를 대표할 수 있는 표현으로 대체하는 방법 7 요구 분석(Requirement..
Computer Science/정보처리기사 & 전산 필기 2023. 6. 28.
정보처리기사 2022 1회 오답
11/11/12/9/12 55 1과목 소프트웨어 설계 3 소프트웨어 설계 시 요구사항 분석 요구사항 개발 프로세스 도출 → 분석 → 명세 → 확인 5 하향식 설계 방법 vs 상향식 설계 방법 하향식 통합 테스트 (Top Down Integration Test) 깊이 우선 통합법, 넓이 우선 통합법 사용 테스트 초기부터 사용자에게 시스템 구조 보여 줄 수 있다 상위 모듈에는 tc를 사용하기 어렵다 상위 모듈에서 하위 모듈 방향으로 통합면서 테스트하는 기법 절차 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속 모듈들은 스텁(stub)으로 대체한다 깊이 우선 or 넓이 우선 등의 통합 방식에 따라 하위 모듈인 스텁들이 한 번에 하나씩 실제 모듈로 교체된다 모듈이 통합될 때마다 테스트 실시..
Computer Science/정보처리기사 & 전산 필기 2023. 6. 23.
정보처리기사 2022 2회 오답
13/9/11/11/10 54 1과목 소프트웨어 설계 02 메시지 지향 미들웨어 (Message-Oriented Middleware, MOM) 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동기를 위해 많이 사용 즉각적인 응답을 원하는 경우가 아니라 다소 느리고 안정적인 응답을 필요로하는 경우에 많이 사용 독립적인 애플리케이션을 하나의 시스템으로 묶기 위한 역할 송신측과 수신측의 연결 시 메시지 큐를 활용하는 방법이 있다 상이한 애플리케이션 간 통신을 비동기 방식으로 지원 03 익스트림 프로그래밍 소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절한 방법 익스트림 프로그래밍을 구동시키는 원리는 상식적인 원리와 경험을 최대한 ..