목록Computer Science (54)
용's
6.1 도메인 제약(Domain Constraints)- 가장 기초적인 형태의 무결성 제약 조건- 도메인(=범위) 제약.프로그래밍 언어: 변수마다 형(type)을 지정함으로써, 변수가 가질 수 있는 값을 제한.보기: 정수형 변수는 실수형이나 문자열 값을 가질 수 없음.- SQL에서 도메인 제약을 나타내는 방법은 create table 대여(테이프번호 char(7),고객번호 char(7),대여일자 date);위의 스키마처럼 char, date와 같이 타입으로 도메인 제약함 6.2 참조 무결성(referential integrity)- 외톨이 투플(Dangling tuples): join을 할 때, 다른 투플과 결합하지 못하는 투플을 가리킴..보기: select 학생.학번, 학생.이름, 수강.과목번호 fro..
1) 요구사항 수집에서의 문제점- 고객들의 요구사항들은 대체로 애매한 아이디어들이다.- 개발자는 애매한 요구사항들을 가지고 계속 진행을 하게 된다.- 고객들의 요구사항들은 계속해서 변한다.예) '온라인 서점의 요구사항'에서,"도서 검색과 주문 등이" => 비완성적인 부분(Incompleteness)"고객", "회원" => 불일치(Inconsistency)"카테고리 별 검색도" => 모호함(Ambiguity), 예를 들면 어떤 카테별리 별로 검색할지를 말해야함."효율적으로" => 모호함(Ambiguity), 어떻게 효율적으로 주문할 것인지 언급되야함- 사용자와 개발자 사이에서의 요구사항 오해(Misunderstanding)는 상당한 비용을 초래할 수 있다. => 프로젝트가 진행됨에 따라 자꾸 비용이 커짐으..
5.1 Introduction- 데이터 타입은 signed/unsigned 8-bit(Byte)signed/unsigned 16-bit(Half Word) -> 2 byte boundaries 로 할당됨(0x0, 0x2, 0x4, ...)signed/unsigned 32-bit(Words) -> 4 byte boundaries로 할당됨(0x0, 0x4, 0x8, ...)- ARM의 명령어들은 모두 32 bit(Word)로 할당- 메모리 구조는 내부 데이터의 정렬 방식에 따라 빅 엔디안, 리틀 엔디안으로 두가지가 존재한다.=> Little endian: 메모리의 하위 어드레스(바이트 어드레스 '0')에 LSB가 위치하고 있는 메모리 구조(Intel)=> Big endian: 메모리의 하위 어드레스(바이트 ..
3.1 Software Engineering as a Layered Technology - Quality, Process, Methods, Tools의 4가지 계층구조로 Software Engineering이 이루어짐.- 여기서 Process는 Software을 개발하는과정을 말하며 Software Engineering의 토대가 되는 부분임. 3.2 Software Process의 Phases- Process는 Definition(정의), Development(개발), Support(지원, 유지보수)들의 3가지 단계(Phases)를 거침.=> Definition: 무엇을 만들려는 것인지에 집중된 것. Project management나 요구사항 분석등이 주요 과제=> Development: 어떻게 만들것..
4.1 3-stage pipeline ARM organization- ARM의 초기 버전이 선택한 3단계 파이프라인- Register Bank, Barrel shifter, ALU, Address reg and incrementer, Data reg, Instruction decoder & Control Logic 등으로 구성됨.- Register bank의 경우 2개의 Read port와 1개의 Write port에다가 추가적으로 1개의 read port, 1개의 write port가 더 있다. 추가적인 포트들은 r15(PC)에 접근하기 위함이다. - 3단계 파이프라인은 ARM7에서 채택되었으며 Fetch - Decode - Execute 로 3단계로 이루어짐Fetch: 명령어를 메모리로부터 인출함.D..
2.1 Software Quality1) Software Quality의 정의 - 많은 정의가 있지만, 대체적으로 제품 또는 서비스의 특징들이 요구사항을 얼마나 만족시키고 또 얼마나 적합한지를 나타내는 것.- 사실 Quality는 절대적이지도 않고, 다차원적이며, 제약점도 많고, 판단기준도 독립적이지 않아 어려움이 있음. 2) Software Quality의 분류- 뚜렷하게 나눠지는 것은 아니나, External Quality와 Internal Quality로 나눠짐.External Quality: 시스템의 사용자들에게 보이는 부분의 QualityInternal Quality: 시스템 개발자들의 고려사항 부분의 Quality- 보통 Internal quality를 통해 개발자들이 External Qual..
3.1 Data processing instructions- 데이터 처리 명령이란, 레지스터에 저장되어 있는 값을 이용하여 산술 및 논리연산, 레지스터 간 데이터 이동, 비교 및 비트 단위 연산을 수행하고 그 결과를 다시 레지스터에 저장하는 명령.- ARM의 명령어들은 3 address format 이며 그 구조는 다음 그림과 같다. Cond[31:28]00[27:26] #[25]OpCode[24:21] S[20] Rn[19:16]Rd[15:12]Operand2[11:0] 명령의 구분은 비트 [24:21]에 4비트로 구성되어, 어떤 명령인지를 나타낸다. Rd는 연산 결과가 저장되는 레지스터, Rn은 연산에 사용되는 첫 번째 오퍼랜드, Operand2는 두 번째 오퍼랜드를 나타낸다. - 산술연산 명령은 다..
1. 소프트웨어 중심 사회- 스마트폰이 일상의 필수가 되면서, 우리 일상을 변화 시킴.- 그 중심에는 애플이라는 기업이 있는데, 이 애플은 모바일폰의 10% 생산, 40% 매출, 70% 이익을 가지고 있는 기업=> 이런 애플(Apple)이 성공할 수 있었던 요인은? -> 컴퓨터 회사로서 SW 능력 보유-> 모마일 폰을 컴퓨터로 해석-> 플랫폼 비지니스를 이해(AppStore를 통한 외부 개발자를 활용 또는 iTunes같은 Apple 통합 컨텐츠 제공)- 소프트웨어 능력으로 경쟁의 법칙을 바꾸고 기존 시장 질서를 파괴하며 시장을 석권=> 이는 소프트웨어 혁명을 일으킴- 스프트웨어 혁명을 통해 변해가고 있는 산업들이 많음예) 자동차 산업, 항공 산업, 영화 산업, 금융, 빅데이터, 유통 산업(아마존)=> 이..
2.5 키(Keys)- ER(Entity Relation) 모델에서 객체는 결국 그 객체의 속성 값으로 구별함.- 데이터베이스에서 조건에 맞는 튜플의 속성을 찾거나 순서대로 정렬을 할 때 기준이 되는 속성으로 키를 사용.- 앞서 소개될 키들(SK, CK, PK, FK)는 모두 속성의 집합 1) 슈퍼 키(SK: Super Key)- 한 관계(Relation = table)에서 그 Relation 튜플(Tuple)들을 유일하게 식별해 주는 속성(Attribute)들의 집합- 즉, 슈퍼키가 되기 위해서는 그 릴레이션의 슈퍼 키 속성들의 값이 모두 같은 튜플이 존재해서는 안됨. 튜플들을 유일하게 식별하는 것을 유일성(Unique)라고 하는데, 그 슈퍼 키는 유일성을 만족함. - 슈퍼키는 관련 없는 속성들을 포함..
2.1 개체 모음(Entity Set)1) 개체: 실제 세상에 있는 객체(object), 사실상 객체- 개체~관계 모델에서 실제로 만질 수 있든 없든 구별하지 않고 모두 객체로 본다.예) 책상, 교실, 컴퓨터 : 만질 수 있는 것들 요일, 학과 이름, 학번 : 만질 수 없음 2) 개체 집합(Entity Set)- 학생 개체 집합, 은행 고객 개체 집합 등등, 같은 형의 개체의 집합 2.2 속성(Attribute 또는 Property)- 개체는 속성의 집합으로 나타냄예) 학생 개체는 학번, 주민 등록번호, 전화번호, 소속 학과 등의 속성 은행 계좌는 계좌 종류, 개설 지점, 계좌 번호, 소유자 등의 속성 1) 도메인(Domain, 범위)- 어떤 속성의 값이 될 수 있는 모든 값의 집합.- 도메인(=범위)을..