본문 바로가기
반응형

IT 이론239

[소프트웨어공학] CASE(Computer-Aided Software Engineering) 소프트웨어 개발 과정중 일부를 전용 소프트웨어 도구를 사용하여 자동화 하는 것이다. - 소프트웨어 개발 비용을 절약할 수 있다. - 개발 기간이 짧다. - 자동화된 검사를 통해 소프트웨어 품질을 향상시킨다. - 소프트웨어 품질과 일관성을 효율적으로 관리할 수 있다. - 소프트웨어 생명 주기의 모든 단계를 연결시켜 주고 자동화시켜 준다. - 소프트웨어의 유지보스를 용이하게 수행할 수 있다. - 소프트웨어 모듈의 재사용성이 향상된다. - 통합 CASE는 소프트웨어 개발 주기 전체 가정을 지원한다. - 상위 CASE는 요구 분석과 설계 단계를 지원한다. - 하위 CASE는 코드를 작성하고 테스트하며 문서화하는 가정을 지원한다. 2014. 5. 25.
소프트웨어 재공학(Reengineering) - 현재의 시스템을 변경하거나 재구조화(Restructuring)하는 것이다. - 재구조화는 재공학의 한 유형으로 사용자의 요구사항이나 기술적 설계의 변경 없이 프로그램을 개선하는 것이다. - 사용자의 요구사항을 변경시키지 않고, 기술적 설계를 변경하여 개선하는 것도 재공학이다. - Preventive maintenance 와 관계된다. 2014. 5. 25.
관계대수와 관계해석 관계대수(Relational Algebra)는 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적인 방법이다.관계해석(Relational Calculus)은 원하는 정보가 무엇이라는 것만 정의하는 비절차적인 방법이다. 관계 대수의 설명으로 옳은 것 - 릴레이션 조작을 위한 연산의 집합으로 피연산자와 결과가 모두 릴레이션이다. - 일반 집합 연상과 순수 관계 연산으로 구분된다. - 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다. 관계 해석의 설명으로 옳은 것 - 관계 해석은 원래 수학의 프레디킷 해석에 기반을 두고 있다. 2014. 5. 24.
중앙처리장치(CPU)의 구성과 레지스터 CPU는 제어장치와 연산장치로 구성되어 있다. 제어장치 (CU : Control Unit) 명령을 꺼내서 해독하고, 시스템 전체에 지시 신호를 내는 것 (제어기능)메모리 주소 레지스터(MAR) : 주기억장치내에 출입하는 데이터의 번지를 기억메모리 버퍼 레지스터(MBR) : 주기억장치내에 출입하는 데이터가 잠시 저장프로그램 카운터(PC : Program Counter) : 다음에 실행할 명령어들의 번지를 보관명령 레지스터(IR : Instruction Register) : 현재 실행중인 명령어를 임시 보관명령 해독기(Decoder) : 명령 레지스터에 있는 명령을 해독하는 회로부호기(Encoder) : 해독된 명령어를 신호로 생성하는 회로번지 레지스터(Address Register) : 주기억장치의 번지를.. 2014. 5. 24.
[전자계산기구조] 다중처리기 - 수행속도의 성능 개선이 목적이다. - 하나의 복합적인 운영체제에 의하여 전체 시스템이 제어된다. - 프로세서들 중 하나가 고장나도 다른 프로세서들에 의해 고장난 프로세서의 작업을 대신 수행하는 장애 극복이 가능하다. - 다중처리기는 강 결합 시스템으로 2개 이상의 프로세서를 포함한다. - 다중처리기는 기억장치와 입출력 채널, 주변장치들을 공유한다. - 프로세서들 간의 통신은 공유 기억장치를 통해서 이루어진다. 2014. 5. 24.
[전자계산기구조] 메이저 스테이트(Major State) 메이저 스테이트는 현재 CPU가 무엇을 하고 있는가를 나타내는 상태이다.Fetch, Indirect, Execute, Interrupt 4가지가 있다. ↗ Fetch명령어를 메모리에서 CPU 레지스터로 가져와서 해독한다. ↘↖ Interrupt 인터럽트 후에는 무조건 Fetch로 간다. ↑↓ Indirect Fetch에서 해석된 주소가 간접 주소인 경우 유효 주소를 계산한다. ↖ ExecuteFetch에서 해석한 명령을 실행한다.Interrupt 요청 신호가 없으면 Fetch ↙ 2014. 5. 24.
[전자계산기구조] 명령어 형식 명령어의 형식에는 네 가지가 있다. - 3주소 명령어(3 Address Instruction) - 2주소 명령어(2 Address Instruction) - 1주소 명령어(1 Address Instruction) - 0주소 명령어(0 Address Instruction) 모든 명령어는 기본적으로 Op-code 1개를 가지며, 각 이름에 명시된 갯수만큼의 Operand를 갖는다. 예를 들어 3주소 명령어는 아래와 같다. Op-Code Operand1 Operand2 Operand3 Operand의 수에 따라 장단점이 있다. Operand의 수가 많을 수록 기능성이 증대되는 대신 속도가 느려진다. 1. 3주소 명령어 - 연산시 결과값이 파괴되지 않는다. - 프로그램의 길이를 줄일 수 있다. - 주기억장치 접.. 2014. 5. 24.
[전자계산기구조] 조합논리회로와 순서논리회로 조합논리회로 : 이전 값과 무관하게 현재 들어오는 값만 고려하여 결과를 출력하는 회로ex) 가산기, 감산기, 인코더, 디코더, 비교기 등 순서논리회로 : 이전 값과 현재 들어오는 ㄱ밧을 고려하여 그 값을 변경하거나 유지하는 회로ex) 플립플롭, 카운터, 레지스터, RAM, CPU등 2014. 5. 24.
플립플롭의 목적과 플립플롭의 종류 플립플롭은 전원이 공급되고 있는 동안 현 상태를 기억하기 위한 논리 회로이다.레지스터나 메모리의 기본 구성 요소로서 2진수 1비트를 기억 할 수 있다. (0또는 1) D 플립플롭 : 입력 값을 그대로 기억한다. D Q(t+1) 0 0 1 1 RS 플립플롭 : 0 또는 1을 기억하거나 현상태를 그대로 기억한다. S R Q(t+1) 0 0 유지 0 1 0 1 0 1 1 1 동작안함 JK 플립플롭 : 0 또는 1을 기억하거나 현상태를 그대로 기억하거나 그 보수를 기억한다.(RS 플립플롭과 동일하나 1, 1이 들어왔을때 보수(반대값)을 출력 한다.) S R Q(t+1) 0 0 유지 0 1 0 1 0 1 1 1 보수 T 플립플롭 : 현 상태 또는 그 보수를 기억한다. (JK 플립플롭 2개를 묶어서 구성) D Q(.. 2014. 5. 24.
[데이터베이스] 데이터베이스 설계 과정 전체 프로세스 : 요구 분석 - 개념적 설계 - 논리적 설계 - 물리적 설계 - 구현 1. 요구조건 분석 데이터베이스를 사용할 사람들로부터 필요한 용도를 파악하는 것. 요구조건 명세서를 작성하는 단계이다. 2. 개념적 설계 트렌젝션 모델링과 개념 스키마 모델링을 수행하는 단계이다. E-R 다이어그램을 그리고 개념 스키마를 설계한다. 3. 논리적 설계(데이터 모델링) DBMS에 논리적 스키마를 설계하는 단계이다. (DB에서 테이블의 구조 설계 - 애트리뷰트, 데이터 타입 등) 트렌젝션의 인터페이스 설계도 이 단계에서 이루어진다. 4. 물리적 설계(데이터 구조화) 위 설계된 데이터베이스를 실제 시스템 상에 구현하는 단계이다. 어떤식으로 설계되었느냐에 따라 구조가 많이 달라질 수 있고, 잘못된 물리적 설계는 .. 2014. 5. 24.
[데이터베이스] 스키마(Schema)의 3계층 * 교재에 있는 내용과는 살짝 다르게 실무적인 입장에서 이해하기 쉽도록 정리된 내용이니, 이론적인 부분과 살짝 차이가 있을수도 있습니다. 1. 외부 스키마 - 데이터베이스 사용자(응용 프로그래머 포함) 입장에서 본 스키마이다. - 한 논리적인 부분(큰 DB의 한 테이블이라고 생각 해 볼 수도 있다.) 2. 개념 스키마 - 데이터베이스 설계자(데이터베이스 관리자) 입장에서 본 스키마이다. - 여러 논리적인 부분들(테이블들)을 총괄한 전체적인 구조를 말한다. 3. 내부 스키마 - 시스템 프로그래머(DBMS 설계자 포함) 입장에서 본 스키마이다. - 파일 저장 형태, 저장 및 탐색 알고리즘 등의 구조에 관한 것이다. 2014. 5. 24.
[데이터베이스] 정규화(Normalization) Anomaly(이상) 현상을 해결하기 위해 데이터 베이스를 세분화 하는 과정 Anomaly의 종류 : 삽입 이상(Insertion Anomaly), 삭제 이상(Deletion Anomaly), 갱신 이상(Update Anomaly) 정규화의 과정 비정규형 : 아래 모든 경우를 만족하지 않는 경우1NF : 모든 도메인이 원자값. 한 에트리뷰트에는 하나의 값만 들어가야 한다.2NF : 부분적 함수 종속을 제거해야 한다. 즉, 완전 함수적 종속 관계를 만족한다.3NF : 이행적 종속 관계를 제거 해야 한다.BCNF : 결정자가 모두 후보키인 경우. 어떤 속성도 키가 아닌 속성에 대해서는 완전 종속할 수 없다.4NF : 다치 종속성이 제거 되어야 한다.5NF : 조인 종속성이 만족 되어야 한다. ※ 첫 글자를 .. 2014. 5. 24.
[데이터베이스] 해싱(Hashing) 관련 용어 1. 해시 함수(Hash function) : 데이터를 키로 변환하는 함수. 예를 들어 길고 복잡한 문자열을 짧고 단순한 문자열(또는 수열)로 변경2. 홈 주소(Home address) : 해시 함수에 의해 변환된 키값의 주소3. 해시 테이블(Hash table) : 해시 함수가 키값을 생성할때 참조하는 테이블4. 버킷(Bucket) : 하나의 주소를 갖는 파일의 한 구역5. 슬롯(Slot) : 한개의 레코드를 저장 할 수 있는 공간. 한 버킷 안에 여러개의 슬롯이 있다.6. 충돌(Collision) : 다른 레코드가 같은 키를 가지는 충돌 현상. 레코드는 버킷의 다음 슬롯에 들어가게 된다.7. 동의어(Synonym) : 충돌이 일어난 레코드의 집합. 키값이 같은 레코드의 집합으로, 동의어가 슬롯의 갯수.. 2014. 5. 24.
접근통제 메카니즘 • 전역 테이블 (Global Table)가장 단순한 구현 방법으로 3개의 순서쌍인 영역, 객체, 주체, 접근 권한을 목록(표) 형태로 구성한 것 파일 \ 사용자 철수 영희 길동 정보처리기사 문제 파일 읽기, 실행 읽기 시험 응시자 파일 읽기, 실행, 기록 읽기 • 접근 제어 리스트(Access Control List)전역 테이블의 열에 해당. 어떤 객체가 영역에 어떤 행위를 할 수 있는지 표현 ex) 철수의 접근제어 리스트 정보처리기사 문제 파일 - 읽기, 실행 ... • 자격 리스트(Capability List)전역 테이블의 행에 해당. 주체에 대하여 저장된 접근 허가 목록 ex) 정보처리기사 문제 파일에 대하여 철수 : 파일 생성, 파일 삭제, 파일 이동 영희 : 파일 복사, 파일 이동 ... • .. 2014. 5. 23.
[데이터베이스] 로킹(Locking) 기법과 로킹 단위 데이터베이스에서의 로킹(Locking) 단위란 말 그대로 "잠그는 단위"를 말 한다. 로킹 기법이란 하나의 트랜잭션이 데이터를 액세스하는 동안 다른 트랜잭션이 그데이터 항목을 액세스할 수 없도록 하는 병행 제어 기법이며, 로크는 사용하는 데이터 객체이다. 쉽게 말하면, 한번에 한명만 사용할 수 있게 하는 단위를 "로킹 단위" 라고 한다는 것이다. 예를들어 어떤 프로젝트의 소스를 여러 사람이 동시에 작업할 경우 파일이 꼬일 수도있다. 그래서 누군가가 특정 파일을 건들고 있을때, 다른 사용자는 그 파일을 건들지 못하도록 하는데 안전한데, 이게 로킹이다. 그리고 여 경우에선 로킹 단위가 파일이 된다. 이런 방법도 있지만 더 높은 안전성을 위해서, 어떤 사람이 어떤 폴더에 있는 파일을 작업하고 있을때 다른 사람.. 2014. 5. 22.
User Datagram Protocol (UDP) UDP는 전달 계층이다Network 계층는 종단 호스트까지의 전달을 담당하고 (종단 호스트간 전송)특정 프로세스에게 메세지를 전달한다. (종단 프로세스간 전송)House to house는 Nework, Person to person은 Transport이보다 상위 Layer는 전송과는 관련이 없다. "No frills", "Bare bones"필수적인 기능만을 수행한다.달리 말하면 UDP는 IP에 포트 지정기능을 추가하는 정도의 역할 밖에 하지 않는다. UDP는 비 연결형이다. 그냥 상대방에게 데이터를 던진다.받든 못 받든 신경 쓰지 않는다. (오류 제어, 흐름 제어를 전혀 하지 않는다.)오류 검출은 하지만 오류 복구를 하지 않는다. (재전송 요청 또한 없다.)오류 복구 여부는 상위 계층에서 결정한다. U.. 2014. 5. 1.
ICMP Structure Input Module은 들어오는 곳, Output Module은 나가는 곳이라고 단순히 생각 하기엔.. 오히려 Input Module에서 나가는게 더 많고 Ouput Module에선 들어오는게 더 많다. 햇갈릴 수도 있기 때문에 개념을 확실히 잡아야 한다. Input과 Output은 ICMP packet의 출입을 기준으로 한다.Input Module은 ICMP packet가 들어오는 곳, Output Module은 ICMP packet가 나가는 곳이다.Input Module에서 나가는 ICMP packet은 들어온 packet의 응답 packet 뿐이다.나머지 ICMP packet은 모두 Output Module에서 나간다. 나머지 화살표는 ICMP packet이 아닌 부수적인 정보 입출력이다.Inpu.. 2014. 4. 25.
Internet Control Message Protocol (ICMP) ICMP는 간단히 말해 IP의 부족함을 어느정도 매꿔 주는 프로토콜이라 할 수 있다. IP의 문제점1. 신뢰성이 없는 비연결형 데이터그램 방식 (Best Effort)2. 오류제어 메커니즘의 부재. 오로지 폐기만 할 뿐 다른 대응을 하지 않는다. - 목적지를 찾지 못하면 폐기 - 타임아웃(TTL==0)이 될 경우 폐기 - 재조합 타이머가 만료되면 모든 fragment 폐기3. 라우터나 다른 호스트의 상태정보 수집 불가 ICMP의 기능1. 오류보고 : IP가 데이터그램을 폐기할 경우 최초 발신지에게 통보 (수정은 안함)2. 질의 : 라우터나 다른 호스트로부터 간단한 상태 정보 획득 ICMP Message Format Type (8bit) 메세지 종류 Code (8bit) 오류 원인 코드 Checksum (.. 2014. 4. 25.
반응형