정보처리산업기사 - 5. 정보통신개론◎ OSI 7 계층1. 물리 계층(Physical Layer) : 전송에 필요한 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성을 정의- 물리적 전송 매체와 전송 신호 방식을 정의한다.- RS-232C, X.21 등의 표준이 있다.2. 데이터 링크 계층(Data Link Layer) : 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 한다.- 송신 측과 수신 측의 속도 차이를 해결하기 위한 흐름 제어 기능- 프레임의 시작과 끝을 구분하기 위한 프레임의 동기화 기능- 오류의 검출과 회복을 위한 오류 제어 기능- 프레임의 순서적 전송을 위한 순서 제어 기능- HDLC, ADCCP, LLC, LAPB, LAPD3. 네트워크 계층(Network Layer) : 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 한다.- 네트워크 연결을 설정, 유지, 해제하는 기능- 경로 설정(Routing), 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송을 수행- X.25, IP4. 전송 계층(Transport Layer) : 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템간에 투명한 데이터 전송을 가능하게 함- OSI 7계층 중 하위 3계층과 상위 3계층의 인터페이스 담당- 종단 시스템간의 전송 연결 설정, 데이터 전송, 연결 해제 기능- 주소 설정, 다중화, 오류 제어, 흐름 제어 수행- 네트워크 유형을 A형, B형, C형 3개로 나누고, 서비스의 등급을 0~4까지 5개로 나누어 네트워크 유형에 따라 다양한 품질의 서비스를 제공- TCP, UDP5. 세션 계층(Session Layer) : 개체들 간의 관련성을 유지하고 대화 제어를 담당하는 계층- 대화 구성 및 동기 제어, 데이터 교환을 관리- 송수신 측 간의 대화동기를 위해 전송하는 정보의 일정한 부분에 체크점을 두어 정보의 수신 상태를 체크하며, 이때의 체크점을 동기점이라고 어하며, 수신 측으로부터 확인신호(ACK)를 받지 않는다((대동기점 : 전송하는 각 데이터의 처음과 끝에 사용하여 전송하는 데이터 단위를 대화 단위로 구조화하며, 수신 측으로부터 반드시 전송한 데이터에 대한 확인신호(ACK)를 받는다.)6. 표현 계층(Presentation Layer) : 응용 계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 변환하고, 세션 계층에서 받은 데이터는 응용 계층에 맞게 변환하는 기능을 함- 서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층- 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식 변환, 문맥 관리 기능7. 응용 계층(Application Layer) : 사용자가 OSI 환경에 접근할 수 있도록 서비스를 제공- 응용 프로세스 간의 정보교환, 전자 사서함, 파일 전송 등의 서비스◎ TCP/IP- 인터넷 범용 프로토콜- TCP(Transmission Control Protocol)? 전송 계층에 해당? 신뢰성 있는 연결형 서비스 제공? 패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능 제공- IP(Internet Protocol)? 네트워크 계층에 해당? 데이터그램을 기반으로 하는 비연결형 서비스 제공? 패킷의 분해/조립, 주소 지정, 경로 선택 기능을 제공○ TCP/IP의 구조- 응용 계층? FTP, SMTP, TELNET, SNMP(간이 망 관리 프로토콜)- 전송 계층? TCP : 양방향 연결, 가상회선 연결, 패킷 단위 전송, 신뢰성 있는 경로를 확립하고 메시지 전송 감독, 순서 제어, 오류 제어, 흐름 제어? UDP(User Datagram Protocol) : 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스. TCP에 비해 상대적으로 단순한 헤더 구조. 신뢰성 보다는 속도가 중요시 되는 네트워크에 사용- 인터넷 계층? IP : 전송할 데이터에 주소를 지정하고, 경로를 설정, 비연결형인 데이터그램 방식을 사용하므로 신뢰성이 보장되지 않 IP 주소를 호스트와 연결된 네트워크 접속장치의 물리적 주소(MAC Address)로 바꿈? RARP(Reverse Address Resolution Protocol) : ARP와 반대로 물리적 주소를 IP 주소로 변환하는 기능? IGMP(Internet Group Management Protocol) : 인터넷 그룹 관리 프로토콜이라하며, 멀티캐스트(Multi Cast)를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용(멀티 캐스트 : 서버에서 클라이언트로 데이터를 전송할 때 특정한 클라이언트에만 전송하는 방법)- 링크 계층? Ethernet : CSMA/CD 방식의 Lan? IEEE 802 : Lan을 위한 표준 프로토콜? HDLC : 비트 위주의 데이터 링크 제어 프로토콜? X.25 : 패킷 교환망을 통한 DTE와 DCE간의 인터페이스 제공? RS-232C : 공중전화 교환망(PSTN)을 통한 DTE와 DCE간의 인터페이스 제공◎ 각종 프로토콜○ X.25- 패킷 교환망에서 DCE와 DTE간의 인터페이스를 제공하는 프로토콜로 통신을 원하는 두 단말장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신을 규정- ITU-T에서 제정한 표준- 강력한 오류 체크 기능- 한 회선에 장애가 발생하더라도 정상적인 경로를 선택하여 우회전송이 가능- 디지털 전송을 기본으로 하므로 전송 품질이 우수- 가상 회선 방식을 이용하여 하나의 물리적 회선에 다수의 논리채널을 할당하므로 효율성이 높다(다중화, 이 기능이 가장 핵심 기술임)- 축적 교환 방식을 사용하므로 전송을 위한 처리 지연이 발생할 수 있다- 네크워크 계층에 해당* X.25의 계층 구조- 물리 계층 : DTE와 패킷 교환망(DCE) 간의 물리적 접속에 관한 인터페이스를 정의하는 계층으로 X.21을 사용- 프레임 계층 : 패킷의 원활한 전송을 위해 데이터 링크의 제어를 수행하는 계층으로, 링크 계층이라고도 한다.? OSI 7계층의 데이터 링크 계층에 해당? 전송 제어를 위해 HDLC 프로토콜(패킷 교환망)를 연결하기 위한 프로토콜○ IEEE 802의 주요 표준 규격- 802.2 : 논리 링크 제어(LLC) 계층에 관한 규약- 802.3 : CSMA/CD 방식의 매체 접근 제어 계층에 관한 규약- 802.4 : 토큰 버스 방식의 매체 접근 제어 계층에 관한 규약- 802.5 : 토큰 링 방식의 매체 접근 제어 계층에 관한 규약- 802.11 : 무선 랜에 관한 규약- 802.12 : 블루투스에 관한 규약○ DTE/DCE 접속 규격 표준안ITU-TV 시리즈공중 전화 교환망(PSTN()을 통한 DTE/DCE 접속규격- V.24 : 기능적, 절차적 조건에 대한 규정- V.28 : 전기적 조건에 대한 규정X 시리즈공중 데이터 교환망(PSDN)을 통한 DCE/DTE 접속 규격- X.20 : 비동기식 전송 규약- X.21: 동기식 전송 규약- X.24 : DTE/DCE간의 상호 접속 회로에 대한 규격- X.25 : 패킷전송을 위한 DTE/DCE 접속규격EIARS-232C공중 전화 교환망○ LAN에서 사용되는 매체 액세스 제어 기법- CSMA : 각 노드가 데이터 프레임을 송신하기 전에 통신 회선을 조사하여 사용중이면 대기하고, 그렇지 않으면 데이터 프레임을 송신하는 방식. 동일 통신 회선을 통해 한 노드에서 데이터 프레임을 송신하는 도중에 다른 노드에서 또 다른 데이터 프레임을 송신하면 데이터 프레임의 충돌이 발생하는 단점이 있다.- CSMA/CD : CSMA 방식에서와 같은 충돌이 발생하는 문제점을 해소하기 위해 CSMA 방식에 충돌 검출 기능과 충돌 발생 시 재송신하는 기능을 부가한 방식- Carrier Sense : 통신 회선이 사용 중인지를 점검- Multiple Access : 통신 회선이 비어 있으면 누구든지사용 가능- Collision Detection : 데이터 프레임을 전송하면서 충돌여부 조사- 토큰버스(Token Bus) 방식 : 버스형 LAN에서 사용하는 방식으로 토큰이 논리적으로 형성된 링을 따라 각 노드들을 차례로 옮겨 다니는 방식- 응용프로그램 간의 데이터 송수신 제공* Telnet, FTP, SMTP, SNMP 등전송계층전송계층* 호스트들 간의 신뢰성 있는 통신 제공* TCP, UDP네트워크계층인터넷계층* 데이터 전송을 위한 주소 지정, 경로 설정* IP, ICMP, IGMP, ARP, RARP데이터링크계층물리계층링크계층* 실제 데이터를 송수신하는 역할* Ethernet, IEEE802, HDLC, X.25, RS-232C○ 통신 프로토콜의 기본 요소- 구문(Syntax) : 전송하고자 하는 데이터의 형식, 부호화,신호레벨 등을 규정- 의미(Semantics) : 두 기기간의 효율적이고 정확한 정보전송을 위한 협조 사항과 오류관리를 위한 제어 정보- 시간(Timing) : 두 기기간의 통신 속도제어(동기)○ 데이터 링크 제어 프로토콜* BSC(Binary Synchronous Control) : 문자위주의 프로토콜, 각 프레임에 전송 제어 문자를 삽입하여 전송, 반이중(Half Duplex) 전송만 지원, 느리다. 동기전송STNSYNSOHHeadingSTX본문ETXBCC동기동기start ofHeadingstart oftextend oftext오류검출* SDLC, HDLC, ADCCP 모두 비트위주의 프로토콜* HDLC(High-level Data Link Control) : 비트위주의 프로토콜, 단방향, 반이중, 전이중(Full Duplex) 모두 지원, 전송효율과 신뢰성이 높다. 비트 투과성이 높다.플래그주소부제어부정보부FCS플래그- 플래그(flag) : 프레임의 시작과 끝- 주소부 : 송,수신국을 식별하기 위해 사용- 제어부 : I 프레임(데이터), S 프레임(감독 프레임, 오류제어와 흐름제어), U 프레임(비번호 프레임, 링크의 동작모드 설정과 관리)- FCS(Frame Check Sequence Field) : 오류검출* 다중화기(MUX, Multiplexer) : 하나의 통신 회선에 여러 개의 단말장치가 동시에 접속하여 사용할 수 있도록 하는 장치, 허브, 공유기 등* 모뎀 사용
정보처리산업기사 - 3. 시스템분석설계◎ 입력 설계: 입력설계는 입력 데이터를 어떤 매체를 이용하여 어떤 형태로 입력할 것인가를 설계하는 단계* 입력 설계 순서입력정보의 발생 → 입력정보의 수집 → 입력정보의 매체화→ 입력정보의 투입 → 입력정보의 내용* 입력 정보의 발생에 대한 설계: 입력하는 정보가 무엇이며 누가, 언제 발생시키는지에 대해 설계하는 단계? 입력 정보의 명칭과 작성 목적을 결정? 입력 정보의 발생자와 발생 장소를 결정? 입력 정보의 발생 방법 및 발생 형태를 결정? 입력 정보의 발생 주기 및 시기와 발생 건수를 결정? 입력 정보 발생 시의 오류 검사 방법을 결정* 입력 정보의 수집에 대한 설계: 여러 곳에 산재해 있는 입력 정보들을 어떻게 수집할 것인가에 대해 설계하는 단계? 수집 담당자와 수집 장소를 결정? 수집 방법과 형태를 결정? 수집 경로와 수집 주기 및 시기를 결정? 수집 시의 오류 검사 방법을 결정* 입력 정보의 매체화에 대한 설계: 입력 정보를 어떤 매체로 변환할 것인가에 대해 설계? 매체화 담당자와 장소를 결정? 매체화 장치를 결정? 레코드의 길이와 형식을 결정? 매체화 주기 및 시기를 결정? 매체화 시의 오류 검사 방법을 결정? 입력 정보의 형태를 결정* 입력정보 투입에 대한 설계: 매체화된 정보를 정보처리과정에 입력하는 방식을 설계하는 단계? 입력 매체의 모양과 서식을 결정? 입력 정보의 투입 주기 및 시기를 결정한다.? 투입장치를 결정? 투입시의 오류 검사 방법을 결정* 입력 정보의 내용에 대한 설계: 입력 정보의 목적을 달성하는 데 필요한 내용을 설계하는 단계? 입력 항목의 배열 순서와 항목명에 대해 결정? 입력 항목의 자릿수와 문자 구분에 대해 결정? 입력 정보의 오류 검사 방법에 대해 결정◎ 출력 설계: 출력 설계는 컴퓨터가 처리한 결과를 어떤 매체를 이용하여 어떠한 형식으로 출력할 것인가를 설계하는 단계이다.* 출력 설계 순서출력 정보의 내용 → 출력 정보의 매체화 → 출력 정보의 분배 → 출력 정보의 이용* 출력 정보 내용의 설계: 출력 정보의 목적을 달성하기 위해 어떤 내용을 출력할 것인지를 설계하는 단계? 출력할 항목과 명칭을 결정한다.? 출력 항목의 배열 순서, 크기, 자릿수를 결정한다.? 출력 항목의 문자(숫자, 영문자, 한글, 한자 등) 표현 방법 결정? 출력 항목에 대한 집계(소계, 중계, 합계, 총계 등) 방법 결정? 출력 정보의 오류 검사 방법을 결정* 출력 정보 매체화의 설계: 정보 처리 결과를 이용자가 요구하는 매체에 기록하기 위한 출력 형식을 설계하는 단계? 출력 형식을 결정한다.? 특성과 작동의 용이성을 고려하여 출력 매체 및 장치를 결정? 출력 정보의 양과 출력 복사의 매수를 결정한다.? 출력 장소와 출력 시기 및 주기를 결정? 출력 배열 순서를 결정* 출력 정보 분배에 대한 설계: 출력 정보를 이용자에게 어떻게 전달할 것인지 전달할 경로와 방법에 대해 설계하는 단계? 분배 책임자, 분배 방법 및 형태, 분배 경로, 분배 주기 및 시기에 대해 결정* 출력 정보 이용에 대한 설계: 어떤 정보를 누가, 언제, 어떻게 이용하는지에 대해 설계하는 단계? 출력 정보명과 출력 정보의 사용 목적을 결정? 이용자와 이용 경로를 결정? 이용 주기 및 시기를 결정? 기밀성의 유무와 보존에 대해 결정◎ 파일 설계: 파일을 어떻게 구성할 것인가를 결정하는 단계* 파일 설계 순서파일의 성격 검토 → 파일 항목의 검토 → 파일의 특성 조사→ 파일 매체의 검토 → 편성법 검토* 파일의 성격 검토? 파일의 명칭 결정? 파일의 작성 목적과 종류 결정? 파일이 사용되는 적용업무 확인* 파일 항목의 검토? 항목의 명칭과 저장 형식을 결정? 항목의 배열 순서와 자릿수를 결정? 레코드의 형식과 크기, 블록의 크기 결정* 파일의 특성 조사? 효율적인 파일의 처리 형태, 처리 주기 및 처리방식 결정? 추가, 수정, 삭제의 발생 빈도와 처리형태 확인? 파일의 활동률 확인? 순차처리 또는 랜덤처리할지 결정* 파일 매체의 검토? 어느 매체가 업무에 가장 적합한가를 충분히 검토하여 매체를 선정* 편성법 검토? 순차, 랜덤, 색인순차, 리스트 편성 등 파일의 편성 방식을 결정◎ 프로세스 설계: 입력 정보와 파일 정보를 토대로 하여 필요한 출력 정보를 얻기까지의 처리 과정을 설계하는 단계로 처리과정의 전반적인 흐름을 보여주는 흐름도(Flowchart)를 이용하여 상세히 표현* 프로세스 설계 시 유의 사항? 신뢰성과 정확성을 고려하여 처리 과정을 간결하고 명확히 표현? 오류에 대비한 검사 시스템을 고려? 시스템의 상태 및 구성 요소, 기능 등을 종합적으로 표시? 새로운 시스템의 프로세스 설계뿐만 아니라 기존 시스템의 문제점 분석이 가능하도록 설계? 정보의 흐름이나 처리 과정을 모든 사람이 이해할 수 있도록 표준화한다.? 분류 처리는 가능한 한 적게 한다.? 조작을 간결화, 자동화하여 사용자의 수동 조작을 적게 한다.* 프로세스 설계 순서기본 사항 확인 → 처리 방식 설계 → 작업 설계* 기본 사항 확인? 정보 발생 장소 및 분산 정도? 정보 발생 시간 및 처리 시간? 최종 사용자의 요구 사항? 정보의 사용 목적 등 현장의 처리 특성 확인* 처리방식 설계? 처리 장소에 따라서 집중 처리로 할 것인지 분산 처리로 할 것인지 결정? 처리 시기에 따라서 일괄 처리로 할 것인지 즉시 처리로 할 것인지 결정? 회선 연결에 따라서 온라인 시스템으로 할 것인지 오프라인 시스템으로 할 것인지 결정? 처리 속도에 따라서 실시간 시스템으로 할 것인지 사후 처리 시스템으로 할것인지 결정* 작업 설계① 전체 시스템을 분할하여 서브시스템을 유형별로 분류② 서브시스템의 처리기기, 처리 방식, 처리 계획 등의 시스템 요건을 결정③ IPO 관계 결정 : 입력(Input) → 처리(Process) → 출력(Output)의 대응 관계를 결정④ 작업(서브시스템)을 다시 일련의 처리 단계로 분할한다.⑤ 세부적으로 분할된 처리 단계들을 수행의 전후 관계를 고려하여 흐름도(Flowchart)로 나타낸다.◎ 표준 처리 패턴* 변환(Conversion)입력 매체상의 데이터에서 오류를 제거하고, 컴퓨터가 처리할 수 있는 형태로 편집하여 파일 매체로 변환하고, 파일매체에 저장된 내용을 사람이 확인할 수 있도록 출력 매체로 변환하는 기능? 입력 매체 : 종이테이프, 천공 카드, OMR 등? 파일 매체 : 자기 디스크, 자기 테이프 등? 출려 매체 : 디스플레이, 프린터 등* 정렬(Sort, 분류)레코드를 처리할 순서에 맞게 정렬* 병합(Merge)동일한 파일 형식을 갖는 2개 이상의 파일을 일정한 규칙에 따라 하나의 파일로 통합 처리하는 기능.(병합할 파일들은 미리 정렬되어 있어야 한다)* 대조(Matching) : 2개의 파일을 대조시켜 그 기록 순서나 기록 내용을 검사하는 기능* 갱신(Update)마스터 파일의 내용을 변동 파일에 의해 추가, 삭제, 수정 등의 작업을 하여 새로운 내용의 마스터 파일을 생성하는 것* 분배(Distribution)하나의 파일 안에서 조건에 맞는 것과 그렇지 않은 것을 분리하는 기능* 추출(Extract)파일 안에서 특정 조건에 만족하는 데이터만을 골라내는 기능으로, 정보 검색을 위한 필수 기능* 조합(Collate)2개 이상의 파일에서 조건에 맞는 것을 골라 새로운 레코드로 파일을 만드는 기능(파일 형식이 다른 파일에서 조건에 맞는 데이터만을 합치는 기능)* 병합과 조합의 차이모두 두 개 이상의 파일 내용을 합쳐서 하나의 파일로 통합 처리하는 기능이라는 공통점을 갖고 있지만, 통합하려는 파일의 형식에 차이가 있다. 병합은 파일 형식이 동일한 파일을, 조합은 파일 형식이 다른 파일을 합치는 기능◎ 오류 검사 방법○ 컴퓨터 입력 단계에서의 검사 방법* 체크 디지트 검사(Check Digit Check): 코드를 설계할 때 본래의 코드에 오류를 검사할 수 있는 1자리의 숫자를 넣어 컴퓨터에 의해 자동으로 검사하는 방법
1장 소프트웨어 개발 방법론소프트웨어 개발 방법론-소프트웨어 개발, 유지보수에 필요한 수행 방법과효율적을 수행하려는 과정에서 필요한 기법과 도구를 정리하여 표준화구조적 방법론-정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리 중심의 방법론-분할과 정복(Divide and Conquer) 원리 적용타당성 검토-계획-요구사항 분석-설계-구현-시험-운영정보공학 방법론-정보 시스템 개발을 위해 계획, 분석, 설계에 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료중심-대부분 정보 시스템에 적합정보 전략 계획 수립-업무 영역 분석-업무 시스템 설계-업무 시스템 구축객체지향 방법론-기계의 부품을 조립하듯이 객체들을 조립하여 소프트웨어를 구현한다.-구조적 기법의 해결책으로 채택요구사항 분석-설계-구현-테스트 및 검증-인도컴포넌트 기반 방법론-컴포넌트를 조합하여 새로운 애플리케이션을 만듬-컴포넌트의 재사용이 가능하여 생산성 및 품질 능력 향상개발 및 준비-분석-설계-구현-테스트-전개-인도애자일 방법론-고객의 요구사항 변화에 빠르고 유연하게 대응하도록 일정한 주기를 반복하면서 개발 과정을 진행사용자 요구사항-계획-개발-승인 테스트제품 계열 방법론-특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론-임베디드 소프트웨어 개발에 적합비용 산정-소프트웨어의 개발 규모를 소요되는 인원, 자원, 기간 등으로 확인하여 실행 가능한 계획을 수립하기 위해 필요한 비용을 산정하는 것비용 산정 요소-프로젝트 요소: 제품 복잡도, 시스템 크기, 요구되는 신뢰도-자원 요소: 인적 자원, 하드웨어 자원, 소프트웨어자원-생산성 요소: 개발자 능력, 개발 기간하향식 산정 기법-과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용 산정전문가 감정 기법-전문가 두명 이상의 비용 산정을 의뢰델파이 기법-많은 전문가의 여러 의견을 종합하여 산정-한명의 조정자와 여러 전문가로 구성되어 객관적임상향식 비용 산정 기법-프로젝트의 세부적인 직업 개발 표준-소프트웨어 개발 단계에 수행하는 품질 관리에 사용되는 국제 표준ISO/IEC 12207-ISO에서 만든 표준 소프트웨어 생명 주기 프로젝트-기본, 생명, 조직 생명 주기 프로세스CMMI (능력 성숙도 통합 모델)-업무 조직 및 조직의 성숙도를 평가-성숙도는 초기, 관리, 정의, 정량적 관리, 최적화SPICE-소프트웨어의 품질 및 생산성을 향상을 위해 프로세스 평가 및 개선하는 국제 표준소프트웨어 개발 방법론 테일러링-프로웨어 상황 및 특성에 맞도록 정의된 소프트웨어 개발 방법론의 절차, 사용 기법 등을 수정 및 보완하는 작업프로젝트 규모와 복잡도-프로젝트 규모와 업무의 난이도에 따라 복잡도프로젝트 구성원-숙련도와 방법론의 이해 정도 확인팀내 방법론 지원-팀별로 담당 인력을 배정해 방법론 운영을 위한 의사소통을 담당하도록 인력을 구성자동화-자동화 도구를 사용하여 작업 부하를 줄인다.소프트웨어 개발 프레임워크-소프트웨어 개발에 공통 구성 요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록 편리성 제공스프링 워크-자바 플랫폼과 동적인 웹 사이트의 개발을 위한 프레임워크전자정부 프레임워크-공공기관에 효율적인 정보 시스템의 구축을 지원하기 위해 필요한 기능 및 아키텍처를 제공한다.닷넷 프레임워크-윈도우 프로그램의 개발 및 실행 환경을 제공하는 프레임 워크2장 IT 프로젝트 정보시스템 구축 관리네트워크네트워크 설치 구조성형 (중앙 집중형)-포인트 투 포인트 방식-중앙 컴퓨터가 고장 나면 전체 통신망의 기능이 정지링형 (루프형)-컴퓨터와 단말장치들을 서로 이웃하는 것끼리 포인트 투 포인트 방식-데이트는 단방향 또는 양방향으로 전송 가능-하나라도 고장나면 전체에 영향을 준다.버스형-한 개의 통신 회선에 여러 대의 단말장치가 연결-단말장치가 고장나도 전체에 영향을 주지 않는다.계층형 (분산형)-중앙 컴퓨터와 일정 지역의 단말 장치까지는 하나의 회선으로 연결시키고 이웃하는 중간 단말장치로부터다시 연결한다.-분산처리 시스템을 구성하는 방식이다.망형 (메쉬형)-모든 지로토콜)-자율 시스템(AS) 간의 라우팅에 사용BGP-AS 간의 라우팅에 사용해 EGP의 단점을 보완하기위해 만듦-초기에는 라이팅 테이블 교환하고 이후에는 변화된 정보만 교환트래픽 제어-네트워크 내의 원활한 흐름을 위해 송수신 사이 전송되는 패킷의 양이나 속도를 규제흐름 제어-송수신 측 사이에 전송되는 패킷의 양 or 속도를 규제정지-대기-확인 신호를 받은 후에 다음 패킷 전송-한 번에 하나의 패킷만 전송슬라이딩 윈도우-확인 신호 없어도 패킷의 최대치를 미리 약속 받음-한 번에 여러 개 패킷 전송폭주(혼합) 제어-네트워크 내의 패킷 수를 조절하여 네트워크의오버플로우를 방지교착 상태-기억 공간이 꽉 차있을 때 다음 패킷들을 이 기억 공간에 들어가기 위해 무한정 기다리는 현상을 방지소프트웨어 개발 보안 직무별 보안 활동프로젝트 관리자-조직 구성원에게 전달하고 모니터링요구사항 분석가-보안 관련 비즈니스 요구사항을 설명아키텍트-보안 기술 문제를 이해설계자-요구사항 만족성 여부 확인해 문제 해결 및 방법 결정구현 개발자-개발 환경에서 프로그램을 구현할 수 있도록 시큐어 코딩 표준을 준수하여 개발테스트 분석가-개발 요구사항과 구현 결과를 반복적으로 확인보안 감시자-전체 단계에서 활동하여 현재 상태와 보안을 보장한다.Secure OS-내재된 보안 취약점을 해소하기 위한 외부의 침입에 시스템 자원을 보호하는 운영체제-식별 및 인증, 임의적 강제적 접근 통제, 객체 재사용 보호, 완전한 조정, 신뢰 경로, 감사 및 감사기록 축소회복-트랜잭션을 수행하는 도중 장애가 발생하여 데이터베이스가 손상되었을 때 복구하는 작업-장애의 유형: 트랜잭션, 시스템, 미디어 장애회복 관리기-성공적으로 완료하지 못하면 데이터베이스에 생성했던 모든 변화를 취소시키고 이전의 원래 상태로 복구하는 역할을 담당한다.병행 제어-동시에 여려 개의 트랜잭션을 수행할 때 데이터베이스의 일관성을 유지할 수 있도록 트랙잭션간 상호작용-데이터베이스의 공유 및 시스템의 활용도 최대화, 일관성 유지, 응답 시간 최소화병 고려테스트 단계-작성된 보안 설계서를 바탕으로 보안 사항들이 정확히 반영되고 동작되는지 점검유지보수 단계-보안사고들을 식별하고 발생 시 해결하고 보안 패치 실시세션 통제-서버와 클라이언트의 연결인 세션 간의 연결로 인해 발생되는 정보를 관리-요구사항 분석 및 설계 단계에서 진단해야 하는 보안충분한 세션 관리-일정한 규칙이 존재하는 세션ID가 발급되거나 타임아웃이 너무 길게 설정되는 경우-침입자의 세션 하이재킹과 같은 공격을 할 경우잘못된 세션에 의해 정보 노출-다중 스레드 환경에서 맴버 변수에 정보를 저장할 때 발생-싱글톤 패턴에서 발생하는 레이스컨디션으로 인해 동기화 오류가 발생되거나 맴버 변수의 정보가 노출-변수의 범위를 제한하는 방법으로 방지 가능세션 설계시 고려 사항-로그아웃 요청 시 할당된 세션이 완전히 제거-이전 세션이 종료되지 않으면 새로운 새션이 생성X입력 데이터 검증 및 표현-입력 데이터로 인해 발생하는 문제들을 예방하기 위해 구현 단계에서 검증해야 하는 보안 점검 항목SQL 삽입-예약어 특수문자가 입력되지 않게 함경로 조작 및 자원 삽입-경로 순회 공격을 막는 필터 사용한다.크로스 사이트 스크립팅(XSS)-< > & 등의 문자를 다른 문자로 치환운영체제 명령어 삽입-웹 인터페이스 사용위험한 형식 파일 업로드-업로드 되는 파일의 확장자 제한하고 파일명의 암호화한다.신뢰되지 않은 URL 주소로 자동 접속 연결-화이트 리스트로 관리한다.보안 기능-코딩하는 기능인 인증, 접근제어, 기밀성, 암호화들을 올바르게 구현하기 위해 구현 단계에서의 보안 점검적절한 인증 없이 중요 기능 허용-중요 정보나 기능을 수행하는 페이지에는 재인증 기능 수행부적절한 인가-모든 경로에 대해 검사를 접근 제어 검사 수행해 반드시 필요한 접근 권한만 부여중요한 자원에 대한 잘못된 권한 설정-관리자만 읽고 쓸 수 있도록 하고 사용자의 중요 자원 접근 여부 검사취약한 알고리즘 사용-안전한 암호화 알고리즘 사용-IT 보안인증사무국이 확인한 암호모듈 이용중요 정보 평문 저장 및 전변수 선언 시 할당된 메모리 초기화캡슐화-정보 은닉이 필요한 중요한 데이터와 기능을 불충분하게 캡슐화하거나 잘못 사용함으로써 발생 할 수 있는 문제를 예방잘못된 세션에 의한 정보 노출-지역 변수를 활용하여 변수의 범위를 제한한다.제거되지 않고 남은 디버그 코드-남겨둔 코드들로 인해 발생하는 보안 약점시스템 데이터 정보 노출-시스템 내부 정보를 시스템 메시지 등을 통해 외부로 출력하도록 구현했을 때 발생Public 메소드로부터 반환된 Private 배열-Private 배열을 Public 메소드로부터 반환할 때 발생Private 배열에 Public 데이터 할당-메소드의 파리 미터를 저장할 때 발생API 오용-소프트웨어 구현 단계에서 API를 잘못 사용하거나 보안에 취약한 API를 사용하지 않도록 하는 보안 검증DNS Lookup에 의존한 보안 결정-IP 주소를 직접 입력취약한 API 사용-보안 문제로 사용이 금지된 API를 사용하거나 잘못된 방식으로 API를 사용했을 때 발생하는 보안 약점4장 서비스 보안 구축서비스 공격 유형Ping of Death (죽음의 핑)-Ping 명령 전송 시 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 공격하여 공격 대상의 네트워크를 마비시키는 서비스 거부 방법SMURFING (스머핑)-IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만드는 공격 방법SYN Flooding-way-handshake 과정을 의도적으로 중단시킴으로써 공격대상지인 서버가 대기 상태에 놓여 정상적인 서비스를 수행하지 못하게 하는 공격 방법TearDrop-데이터의 송수신 단계 에서 전송되는 Offset 값을 변경시켜 패킷을 재조립할 때 오류로 인한과부하를 발생시킴으로 시스템이 다운되도록 하는 공격 방법Land-패킷 전송 시 송수신 IP 주소를 모두 공격 대상의 IP주소로 설정DDos(Distributed Denial of Service, 분산 서비스 거부) 공격-분산된 공격 지점에서 한 곳의 인증
1장 서버 프로그램 구현개발 환경 구축-소프트웨어 개발 시 구축해야 할 하드웨어 및 소프트웨어 장비를 구축하는 것웹 서버-클라이언트로부터 직접 요청을 받아 처리하는 서버-저용량의 정적 파일을 제공-HTTP/HTTPS 지원, 통신 기록, 정적 파일 관리,대역폭 제한, 가상 호스팅, 인증웹 애플리케이션 서버-사용자에게 동적 서비스를 제공하여 웹 서버로부터요청을 받는다.-웹 서버와 데이터베이스 서버 사이에서 인터페이스데이터베이스 서버: 데이터베이스와 DBMS를 운영파일 서버: 파일들을 저장하는 서버서버 개발프레임워크- 클래스or인터페이스 등을 모아둔 집합체로써 모델 뷰 컨트롤러 패턴이 기반보안 및 API-기밀성, 무결성, 가용성개발 보안 점검 항목: 세션 통제, 입력 데이터 검증, 보안 기능, 시간 및 상태, 에러처리, 코드 오류, 캡슐화, API 오용배치 프로그램-사용자와 상호 작용 없이 여러 작업들을 미리 정해진 순서에 따라 일괄적으로 처리하는 것 주로 야간or새벽에 수행되도록 설정분류: 정기, 이벤트성, On-Demand 배치필수 요소: 대용량 데이터, 자동화, 견고성, 안정성배치 스케줄러-일괄 처리 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구스프링 배치: 오픈 소스 프레임워크Quartz 배치: 오픈 소스 라이브러리, 일괄 처리 작업에 유연성을 제공변수-컴퓨터 명령이나 연산을 처리하기 위해 저장하고자 하는 어떤 값이 있을 때 그 값을 주기억장치에 기억하기 위한 것-첫 글자는 영문자 밑줄 사용하고 숫자는 쓰지 않는다.교착상태다중 프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원 할당을 무한정 대기하는 상태교착 상태 발생의 필요 충분 조건예방 (Prevention)회피 (Avoidance) 은행가 알고리즘발견 (Detection)회복 (Recovery)필요 충분 조건상호 배제 (mutual exclusion)점유와 대기 (hold and wait)환형 대기 (circular wait)비선점 (Non-preemption)결합도와 응집도-내용 결터를 그 다음 활동의 입력 데이터로 사용할 경우-통신적 응집도(Communication): 동일한 입력과 출력을 사용하여 서로 다른 기능을 수행하는 구성 요소들이 모였을 경우-절차적 응집도(Procedural): 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적이로 수행할 경우의 응집도-시간적 응집도(Temporal): 특정 시간에 처리되는 몇 개의 기능을 모아 하나의 모듈로 작성할 경우의 응집도-논리적 응집도(Logical): 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나 모듈이 형성되는 경우-우연적 응집도(Coincidental): 모듈 내부의 각 구성요소들이 연관이 없을 경우포인터-동적으로 할당된 자료 구조를 지정해 배열을 인수로 전달해 문자열을 표현절차적 프로그래밍 언어-일련의 처리 절차를 정해진 문법에 따라 순서대로기술해 나가는 언어로 자연어에 따온 단어와 문장으로 구성으로 실행 속도가 빠름C-컴파일러 방식으로 이식성이 좋음ALGOL-과학 기술 계산용 언어로 수치 계산 논리 연산COBOL-사무 처리용 언어FORTRAN-과학 기술 계산용 언어로 공식 수식의 형태이다.객체지향 프로그래밍 언어-객체들을 조립해서 프로그램을 작성할 수 있도록 한 프로그래밍 기법-재사용과 확장이 용이하고 재활용성이 높다.-분석과 설계가 쉽고 효율적으로 처리 가능하다.JAVA-멀티스레드 기능해 여러 작업 동시에 처리-운영체제 및 하드웨어에 독립적byte - 1byteshort - 2byteint- 4bytelong - 8byteC++-C언어에 객체지향 개념 적용해 모든 문제를 객체로모델링하여 표현Smalltalk-1세대, 순수한 언어로 최초로 GUI를 제공객체데이터(속성) + 연산(메소드)속성: 객체들이 갖고 있는 데이터 값메소드: 객체의 상태를 참조 변경하기 위한 수단클래스필드 + 메소드메시지객체들 사이에서 정보를 교환하기 위한 수단캡슐화, 정보 은닉, 추상화, 상속성, 다형성스트립트 언어-HTML 문서 안에 직접 프로그래밍 언어를 않는다.-RPOLOG라이브러리-함수 데이터들을 미리 만들어 모아 놓은 집합체-효율적인 프로그램을 개발하기 위한 필요하는 프로그램을 모아 놓은 집합체표준 라이브러리: 프로그래밍 언어에 기본적으로 포함외부 라이브러리: 표준 라이브러리와 달리 별도의 설치 필요데이터 입 출력입력-getchar(): 한 문자를 입력 받음-gets(): 문자열을 입력 받음출력-putchar(): 한 문자를 화면에 출력-puts(): 문자열을 출력3장 응용 SW 기초 기술 활용운영체제처리 능력 향상: 일정 시간 내에 시스템이 처리하는일의 양반환 시간 단축: 작업의뢰 시간부터 처리 완료까지걸리는 시간사용 가능도 향상: 즉시 사용 가능한 정도신뢰도 향상: 문제를 정확하게 해결하는 정도주요 자원: 프로세스, 기억장치, 주변장치, 파일 관리종류: 윈도우,UNIX, LINUX, MacOS, MS-DOSUNIX-서버용, 대화식, 개방형 운영체제 시스템-대부분 C언어로 작성되어 이해성이 높으며 프로세스 간 호환성이 높다.-다중 사용자 및 다중 작업을 지원하고 트리 구조의 파일 시스템을 가진다.커널-유닉스의 가장 핵심적인 부분으로 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행된다.-하드웨어를 보호하고 프로그램과 하드웨어 간의 인터페이스 역할을 담당한다.-프로세스 관리, 기억장치 관리, 입출력 관리 등 담당쉘-명령어를 인식하여 수행하는 명령어 해석기-시스템과 사용자 간의 인터페이스 담당-보조기억장치에서 교체 처리가능하고 파이프라인 기능 지원한다.유틸리티-사용자가 작성한 외부 프로그램을 처리로 DOS에서의 외부 명령어에 해당한다.-에디터, 컴파일러, 인터프리터, 디버거 등기억장치반입 전략-언제 주기억장치로 적재할 것인지 결정요구 반입: 참조를 요구할 때예상 반입: 참조된 프로그램, 데이터를 미리 예상배치 전략-주기억장치의 어디에 적재할 것인지 결정최초 적합: 첫 번째 분할 영역에 배치최적 적합: 단편화를 가장 적게 남기는 분할 영역최악 적합: 단편화를 가장 많이 남기는 분할 영역단편화내부 단편법 (동일한 크기로 분할)-가상기억장치의 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램을 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법이다.세그먼트 기법 (다양한 크기로 분할)-가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 외부 단편화페이지 교체 알고리즘OPT (OPTimal replacement)-가장 오랫동안 사용하지 않을 페이지를 교체FIFO (First In First Out)-페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 오래 있었던 페이지 교체LRU (Least Recently Used)-최근에 가장 오랫동안 사용하지 않은 적게 사용된페이지를 교체LFU (Least Frequently Used)-사용 빈도가 가장 적은 페이지를 교체NUR (Not Used Recently)-최근에 사용하지 않은 페이지를 교체-참조 비트와 변형 비트를 사용가상기억장치 기타 사항페이지 크기가 작을 경우-단편화 페이지 이동시간 감소-워킹 셋이 효율적으로 유지해 Locality에 더욱 일치하여 기억장치에 효율 상승-매핑 속도가 낮아 디스크 접근 횟수가 많아져 전체적인 입출력 시간이 늘어남페이지 크기가 클 경우-단편화와 주기억장치로 이동하는 시간 감소-매핑 속도가 빨라 디스크 접근 횟수가 감소해 입출력 시간이 줄어듦Locality-프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질-스래싱을 방지하기 위한 워킹 셋 이론 기반시간 구역성: 프로세스가 실행되면서 하나의 페이지를 일정 시간 동안 집중적으로 엑세스 하는 현상 (스택, 부 프로그램)공간 구역성: 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상 (배열 순희, 순차적 코드 실행)워킹 셋-프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합으로 워킹 셋은 시간에 따라 변화페이지 부재 빈도 방식-페이지 부재 빈도는 페이지 부재가 일어나는 횟수-페이지 부재율에 따라 주정보프로세스 상태 전이-제출: 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태-접수: 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장한 상태-준비: 프로세스가 프로세서를 할당 받기 위해 기다리고 있는 상태-실행: 준비상태 큐에 있는 프로세서를 할당받아 실행되는 상태-대기: 프로세스에 입출력 처리가 필요하면 현재 실행중인 프로세스가 중단되고, 입출력 처리가 완료될 때 까지 대기하고 있는 상태-종료: 프로세스의 실행이 끝나고 프로세스 할당이해제된 상태Dispatch, Wake Up, Spooling, 교통량 제어기스레드-프로세스 내에서의 작업 단위로서 시스템의 여러 자원을 할당받아 실행되는 프로세스 작업-프로세스 내에서의 작업 단위로 독립적인 스케줄링의 최소 단위로 경량 프로세스라고 함사용자 수준의 스레드: 속도는 빠르지만 구현이 어려움커널 수준의 스레드: 속도가 느리지만 구현이 쉬움스케줄링-프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업-여러 종류의 스케줄링 과정을 거침장기, 중기, 단기 스케줄링이 있다.공정성, 처리율 증가, CPU 이용률 증가, 우선순위가 높은 프로세스를 먼저 실행, 오버헤드 최소화, 응답 반환 대기 시간 최소화, 균형 있는 자원의 사용,무한 연기 회피프로세스 스케줄링의 기법비선점 스케줄링-CPU를 강제로 빼앗을 수 없음-일괄 처리 방식에 적합-FCFS, SJF, 우선순위, HRN선점 스케줄링-강제로 빼앗을 수 있음-우선순위가 높은 프로세스를 빠르게 처리할 수 있고 대화식 시분할 시스템에 사용-인터럽트용 타이머 클록이 필요-RR, SRT, 선점 우선순위, 다단계 큐LINUX 기본 명령어윈도우LINUX기능DIRIs파일 목록 표시COPYcp파일 복사TYPEcat파일 내용 표시RENmv파일 이름 변경MOVE파일 이동MDmkdir디텍토리 생성CDchdir디텍토리 위치 변경CLSclear화면 내용 지움ATTRIBchmod화면 내용 변경FINDfind파일 찾기CHKDSK디스크 상태 점검FORMA
1장 논리 데이터베이스 설계설계순서-요구조건 분석:사람들로부터 필요한 용도로 파악하는 것-개념적 설계:인간이 이해할 수 있게 정보 구조 (추상적,개념 스키마,E-R모델,트랜잭션 모델링)-논리적 설계:컴퓨터가 이해할 수 있게 자료구조로 변환 (논리 스키마,트랜잭션 인터페이스 설계)-물리적 설계:물리적 구조의 데이터로 변환하는 과정데이터 모델 구성요소 :개체,속성,관계표시할 요소:구조,연산,제약 조건개체(Entity)-대상체 (사용자가 보고자하는 것)-데이터베이스에서 표현-독립적,영속적-레코드에 대응-그 자체로 구별가능하고 식별가능하다-다른 개체와 하나 이상의 관계가 있음속성(Attribute)-가장 작은 논리적 단위-필드에 대응-개체의 특성을 기술(개체가 지니고 있는 성질을 표현)-디그리 or 차수기본속성:업무 분석을 통해 정의한 속성설계속성:설계 과정에서 도출해내는 속성파생속성:다른 속성으로부터 영향을 받아 발생-기본키,외래키,일반속성관계(Relationship)개체 간의 논리적인 연결1:1 한 개체가 다른 한 개체와 관계를 맺는 경우1:N 한 개체가 여러 개체와 관계를 맺는 경우N:M 여러 개체가 여러 개체와 관계를 맺는 경우-종속 관계:주,종 관계-중복 관계:2번 이상의 종속 관계-재귀 관계:자기 자신과 관계-배타 관계:개체의 특성을 분할하는 관계-식별 관계:A개체는 기본키 B개체는 외래키 동시에 기본키가 된다-비식별 관계;A개체의 기본키 B개체의 비기본키 영역에서 외래키가 되는 관계식별자하나의 개체에서 각각의 인스턴스를 유일하게 구분할 수 있는 구분자-주 식별자개체를 대표하는 유일한 식별자유일성,최소성,불변성,존재성-보조 식별자주 식별자를 대신하여 개체를 식별할 수 있는 속성유니크 인덱스:속성값에서 중복값이 없도록 하는 인덱스내부,외부=스스로 생성 여부 따른 분류단일,복합=단일 속성 여부 따른 분류원조,대리=대체 여부에 따른 분류-후보식별자각 인스턴스를 유일하게 식별할 수 있는 속성의 집합한 개 이상의 후보 식별자가 있고 이 중 개체의 대표성을 나타내는 식별자를 주 식별자나머지는 보조 식별자임E-R모델-현실 세계의 무질서한 데이터를 개념적인 논리 데이터로 표현하기 위한 방법-데이터를 개체,관계,속성으로 묘사E-R다이어그램E-R모델의 기본 아이디어를 기호로 사용하여 시각적으로 표현한 그림-피터 첸,정보 공학,바커 표기법피터 첸 표기법사각형: 객체마름모: 관계타원: 속성이중 타원: 다중값 속성 (복합 속성)밑줄 타원: 기본 키 속성복수 타원: 복합 속성관계: 대응 수선, 링크: 개체 타입과 속성을 연결관계형 데이터베이스- 개체 관계를 모두 릴레이션이라는 표를 표현-간결하고 보기 편하고 수정 용이하나 성능 저하관계의 구조-튜플 (Tuple)표의 행을 의미속성의 모임카디널리티:튜플의 수-속성 (Attribute)표의 열을 의미가장 작은 논리적 단위디그리(Degree):속성의 수-도메인하나의 속성 같은 타입의 원자값들의 집합키후보키 (Candidate)-튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합으로 기본키로 사용-하나 이상의 후보키가 존재-유일성과 최소성을 만족기본키 (Primarty)-후보키 중 특별히 선정된 메인 키-중복된 값,널값을 가질 수 없음-유일성과 최소성을 만족대체키 (Alternate)-후보키 중에서 기본키를 제외한 나머지 후보키-슈퍼키 (Super)한 릴레이션 내에 있는 속성들의 집합유일성을 만족O 최소성을 만족X-외래키 (Foreign)다른 릴레이션의 기본키를 참조하는 속성들의 집합무결성현실 세계의 실제 값이 일치하는 정확성을 의미-개체 무결성(Entity Integrity):어떤 속성도 NELL값과 중복값을 가질수 없음-도메인 무결성(Domain Integrity):정의된 도메인에 속한 값-참조 무결성(Referential Integrity):외래키 값은 참조되는 릴레이션의 기본키 값에 존재하는 내용관계대수- 관계형 데이터베이스에 원하는 정보를 얻기 위해 기술하는 절차적인 언어- 릴레이션을 처리하기 위한 연산을 제공관계해석- 관계 데이터의 연산을 표현하는 방법으로 비절차적 특성과 질의어로 표현한다.정규화-잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정-논리적 설계 단계에서 수행-유연한 데이터의 구축이 가능해 안정성과 무결성을 유지할 수 있다-데이터 중복 배제를 하여 정확성이 높아지고 데이터 모형의 단순화 가능하나 성능이 저하 된다는 단점이 있다.중복 제거, 이상 현상 제거이상: 데이터의 중복으로 인해 발생하는 오류삽입 이상:데이터를 삽입하면 원치 않는 값들도 함께 삽입되는 현상삭제 이상:한 튜플을 삭제할 때 상관없는 값들도 함께 삭제되는 현상갱신 이상:속성값을 갱신할 때,일부 튜플의 정보만 갱신원칙으로는 정보의 무손실 표현,분리의 원칙,데이터의 중복성 감소가 있다.과정제1정규형:도메인이 모두 원자값으로제2정규형:부분적 함수 종속을 제거제3정규형:이행적 함수 종속을 제거Boyce-Codd 정규형:결정자,후보키가 아닌 것을 제거제4정규형:다치 종속을 만족제5정규형:조인 종속형이 성립반정규화정규화된 데이터를 다시 통합,종복,분리하는 과정성능 향상과 효율성 증가일관성 정합성 저하테이블 통합,테이블 분할,중복 테이블 추가,중복 속성 추가시스템 카탈로그 = 데이터 사전- 시스템의 다양한 객체에 관한 정보를 포함하는 시스템데이터베이스메타데이터:시스템 카탈로그에 저장된 정보SQL 이용해 검색을 가능하나 카탈로그는 DBMS가 스스로 생성하고 유지한다.데이터 사전2장 물리 데이터베이스 설계사전 조사 분석-논리적 데이터베이스를 물리적 구조의 데이터로 변환하는 과정-단위는 저장 레코드-응답시간,저장공간의 효율화,트랜잭션 처리-저장 레코드의 양식 설계하고 분석 설계도 가능-인덱스 구조로 하여 개념 스키마의 변경 여부 검토- 데이터 베이스 구조,이중화 구성, 분산 데이터베이스,접근제어/접근통제,DB암호화데이터베이스 저장 공간 설계 -테이블-일반 테이블:데이터가 입력되는 순서에 따라 저장-클러스터드 인덱스 테이블:기본키 또는 인덱스키의 순서에 따라 데이터가 저장-파티셔닝 테이블:대용량 테이블을 작은 논리 단위인 파티션으로 나눈 테이블범위 분할,해시 분할,조합 분할-외부 테이블:외부파일을 데이터베이스 내에 객체로 존재하며 데이터웨어하우스에서 ETL작업에 유용-임시 테이블:임시 테이블에 저장된 데이터는 트랜잭션이 종료되면 삭제된다.트랜잭션 분석-DB구조로 최적화하고 업무 개발 담당자가 수행한다.-CRUD매트릭스를 기반으로 트랜잭션을 분석트랜잭션:데이터베이스의 상태를 변환시키고 하나의 논리적 기능을 수행하기 위한 작업단위통합 개발 환경(IDE)특성-원자성 (Atomicity):모든 명령은 완벽히 수행하고 오류가 발생하면 트랜잭션 전부 취소-일관성 (Consistency):트랜잭션 수행 전 상태=수행 후 상태-독립성 (Isolation):트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없음-영속성 (Durability):트랜잭션 결과는 시스템이 고장나도 영구적으로 반영CRUD 분석-데이터베이스 테이블에 변화를 주는 트랜잭션을 CRUD 연산에 대해 분석하는 것-스토리지의 규모 예측이 가능하고 외부 프로세스의 트랜잭션이 집중되는 채널을 파악해 분산 가능하다.-우선순위로는 C>D>U>R인덱스-데이터 레코드를 빠르게 접근하기 위해 키 값 포인터 쌍으로 구성되는 데이터이므로 물리적 구조와 밀접한 관계이다.-인덱스는 개수를 최소로 하는 것이 좋으며 프로젝트를 진행하는데에 계속 변한다.-인덱스가 없으면 값을 찾기 위해 테이블 스캔 발생-자동적으로 기본 인덱스를 생성하기 위한 추가공간이 필요하다.-클러스터드 인덱스:인덱스 키의 순서와 데이터 정렬 순서가 같도록 유지하는 방식-넌-클러스터드 인덱스:인덱스 키의 순서와 데이터 정렬 순서가 다른 방식-트리 기반 인덱스:인덱스를 저장하는 블록들이 트리 구조를 이룸-비트맵 인덱스:0or1로 변환해 인덱스 키로 사용해 논리 연산이 가능하고 분포도가 낮은 경우에는 유리하다.-함수 기반 인덱스:특정 함수와 수식을 적용해 산출된 값을 사용한다.-비트맵 조인 인덱스:다수의 조인된 객체로 구성된 인덱스- 도메인 인덱스:개발자가 필요한 인덱스를 직접 만들어 사용뷰-사용자에게 접근이 허용된 자료만을 제한적으로 보여주는 가상 테이블-물리적 존재X, 데이터의 논리적 독립성을 제공한다.-관리가 용이하고 명령어가 간단하여 특정 데이터를 안전하게 보호한다.-삽입,삭제,갱신 연산을 하려면 제약이 있어야하나 검색 연산에는 제약이 없다.-뷰를 삭제할려면 다른 뷰는 자동으로 삭제되고 독립적인 인덱스를 가질 수 없음-뷰는 다른 뷰의 정의의 기초가 될 수 있음대상 테이블 선정, 대상 컬럼 선정,정의서 작성클러스터-동일한 성격의 데이터를 동일한 블록에 저장하는 물리적 저장 방법-클러스터링키로 지정된 열 값의 순서대로 저장되고 여러 개의의 테이블이 하나의 클러스터에 저장된다.-조회 속도와 접근 성능 향상-입력,수정,삭제에 대한 성능 저하-데이터의 분포도가 넓을수록 유리하고 대용량을 처리하는 트랜잭션은 클러스터링을 하지 않는게 좋다.-단일 테이블 클러스터링:처리 범위가 넓을 경우-다중 테이블 클러스터링:조인이 많이 발생하는 경우파티션-논리적인 여러 부분으로 분발하는 것으로 클러스터와 반대 개념이다.-대용량의 테이블or인덱스를 작은 논리적 단위인 파티션으로 나누는 것-성능이 좋고 관리하기가 쉽다.-테이블 단위로 데이터 처리하고 파티션 단위로 데이터 저장이 가능하다.-대용량 테이블에 유리하고 테이블 간 조인에 대한비용이 증가한다.-범위,해시,조합 분할-인덱스 파티션:파티션된 데이터를 관리하기 위해인덱스를 나눈 것
1장 데이터 입 출력 구현자료 구조배열-동일한 자료형,같은 크기로 나열되어 순서를 갖고 있는 집합-첨자로 접근-반복적인 데이터 처리작업 용이하고 삽입, 삭제가 번거로움선형 리스트-일정한 순서에 의해 나열연속 리스트: 배열을 이용, 삽입/삭제 시 자료 이동용이연결 리스트: 포인터 이용, 접근 속도 느리고 기억 공간 효율이 좋지 않음스택TOP: 가장 마지막으로 삽입된 자료의 위치Bottom: 스택의 가장 밑바닥LIFO(후입선출)꽉 찬 상태에서 데이터 삽입-오버플로 발생빈 상태에서 데이터 삭제-언더플로 발생큐FIFO(선입선출)먼저 들어온게 바로 나가버리는 것F포인터: 가장 먼저 삽입된 자료의 위치를 가리키는R포인터: 가장 마지막에 삽입된트리노드와 가지를 이용하여 구성트리의 디그리: 노드들 디그리 중 가장 많은 수데이터베이스-상호 연관이 있는 데이터들의 모임통합된 데이터: 중복 최소화저장된 데이터: 저장 매체 저장운영 데이터: 고유한 업무 수행공용 데이터: 여러 시스템 공동 소유DBMS-종속성과 중복성을 배제하기 위해 제한된 시스템-전산화 비용 증가로 파일의 예비와 회복이 어려움정의: 데이터 형, 구조 이용방법, 제약조건조작: 검색, 갱신, 삭제, 삽입하는 기능제어: 무결성, 보안 유지, 권한 검사, 병행 제어트랜잭션-하나의 논리적 기능 수행 작업 단위한꺼번에 모두 수행되어야 할 일련의 연산TCL: 트랜잭션을 제어하는 명령어COMMIT, ROLLBACK, SAVEPOINT2장 통합 구현단위 모듈 테스트-정해진 기능이 정확히 수행하는지 검증하고 시스템수준의 오류는 잡아낼 수 없음테스트 케이스-테스트 항목에 대한 명세서-입력 데이터, 테스트 조건, 예상 결과를 모아 만듬계획/제어- 분석/설계- 구현/실현- 평가- 완료개발 지원 도구통합 개발 환경(IDE)-편집기, 컴파일러, 디버거 등을 하나의 인터페이스로 통합한 것으로 오류 수정 용이하고 외부 서비스에 연동 가능하다.빌드 도구-소스 코드를 소프트웨어로 변환Ant: 자바 빌드Maven: Ant대안 의존성 라이브러리 관리Gradle: 안드로이드 스튜디오3장 제품 소프트웨어 패키징소프트웨어 패키징-모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것으로 사용자 중심으로 진행한다.릴리즈 노트-고객과 공유하기 위한 문서로 최종 승인 후 문서화해서 사용자에게 제공하여 반드시 현재 시제로 작성한다.디지털 저작권 관리(DRM)-디지털 콘텐츠 관리 및 보호 기술-디지털 컨텐츠를 저작권자가 의도한 것을 필요한용도에 범위를 사용하게 배포하는 것클리어링 하우스: 사용권한, 라이센스 발급, 사용량에 따른 결제 관리 등 수행콘텐츠 제공자: 저작권자패키저: 암호화 프로그램콘텐츠 분배자: 암호화 콘텐츠 유통콘텐츠 소비자: 콘텐츠 사용DRM 콘트롤러: 콘텐츠 이용 권한 통제 프로그램보안 컨테이너: 콘텐츠 원본 전자적 보안 장치암호화, 키 관리, 암호화 파일 생성, 식별 기술, 저작권 표현, 정책 관리, 크랙 방지, 인증소프트웨어 버전 등록형상 관리 (SCM)-지속적으로 변경사항을 체계적으로 관리 및 추적 가능-발견된 버그나 수정사항을 추적-무절제한 변경 방지Import: 빈 저장소에 파일 복사checkout: 저장소에서 작업 공간으로 파일 인출commit: 갱신update: 저장소의 최신 버전으로 작업 공간 동기화diff소프트웨어 버전 관리 도구공유 폴더 방식-로컬 컴퓨터의 공유폴더에 저장클라이언트/서버 방식-서버의 자료를 복사하여 작업 후 서버에 반영-서버에서 버전 관리-서브버전(SVN): trunk에서 작업 후에는 branches디렉토리 안에 작업 후 trunk와 병합분산 저장소 방식-하나의 원격 저장소와 분산된 PC의 로컬 저장소에 함께 저장되어 관리-Git: 브랜치를 이용하여 다양한 형태의 테스트분산 버전 관리 시스템에 지역 저장소에서 실제 개발빌드 자동화 도구Jenkins: JAVA 기반Gradle: Groovy 기반으로 안드로이드4장 애플리케이션 테스트 정리애플리케이션 테스트-결함을 찾아내는 일련의 행위와 절차-파레토 법칙: 대부분의 결함은 특정 모듈에 집중-지속적인 보완 및 개선으로 살충제 패러독스 현상방지-오류-부재의 궤변: 결함을 모두 제거해도 사용자의 요구사항을 만족시키지 못하면 해당 소프트웨어는 품질이 높다고 말할 수 없음확인(Validation): 사용자 입장에서 요구사항을 만족하는 자검증(Verification): 개발자 입장에서 명세서에 맞게 만들어 졌는지정적 테스트: 프로그램 실행 없이 소스코드나 명세서 분석동적 테스트: 프로그램 실행회복, 안전, 강도, 성능, 구조, 회귀, 병행 테스트화이트박스 테스트-원시 코드를 오픈하며 모든 경로를 실행하면서 테스트조건검사: 선택구조 테스트, 논리적 구조루프검사: 반복구조 테스트데이터 흐름 검사: 변수의 정의문장 검증 기준: 모든 구문이 한 번 이상 수행분기 검증 기준: 모든 조건문이 한 번 이상 수행조건 검증 기준: 모든 조건문의 조건이 진실인 경우와 거짓인 경우가 한 번 이상 수행되도록분기/조건 검증 인증: 모든 조건문과 각 조건문의 개별 조건식의 결과가 진실인 경우와 거짓인 경우가 한 버니 이상 수행되도록블랙박스 테스트-특정 기능이 작동되는 것을 입증하는 테스트동등 분할 검사: 타당한 입력과 타당하지 않은 입력의 개수를 균등하게 하여 테스트경계값 분석: 경계값에서 오류가 발생될 확률이 높다는원인-효과 그래프 검사: 데이터 간의 관계와 출력에 영향을 미치는 상황을 분석해 테스트오류 예측 검사: 과거의 경험 확인자의 감각비교 검사: 동일한 결과가 출력되는지 테스트단위 테스트 - 통합 테스트 - 시스템 테스트 - 인수테스트통합 테스트-모듈 간 상호 작용 오류 검사비점진적: 미리 결합되어 있는 것을 테스트, 빅뱅통합점진적: 모듈 단위로 통합하면서 테스트하향식: 상위 모듈에서 하위 모듈 방향, 스텁상향식: 하위 모듈에서 상위 모듈 방향, 드라이버혼합식: 샌드위치 통합 테스트인수 테스트-사용자의 요구사항을 만족하는지 테스트알파테스트: 개발된 환경에서 개발자 앞에서베타테스트: 사용자 환경에서 사용자가 직접테스트 시나리오: 테스트 케이스의 동작 순서를 기술테스트 오라클-정의된 참 값을 대입하여 비교-제한된 검증, 수학적 기법, 자동화 기능참 오라클: 발생된 모든 오류 검출샘플링 오라클: 입력 값들에 대해서만 결과 제공추정 오라클: 입력 값들에 대해서는 결과 제공일관성 검사 오라클: 수행 전과 후의 결과 값이 동일한지를 확인소스코드 최적화-클린 코드작성 원칙: 가독성, 단순성, 의존선 배제, 중복성 최소화, 추상화-나쁜 코드 (스파게티 코드)복잡하고 이해하기 어려운 코드-외계인 코드아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운 프로그램5장 인터페이스 구현모듈 연계내부 모듈과 외부 모듈 또는 내부 모듈 간 데이터의교환을 위해 관계를 설정하는 것모듈 연계 방법EAI (Enterprise Application Integration)
이물질 제거 시, 페달을 밟아 손이 다침, 방지조치사항?- 이물질 제거 시, 손 대신 플라이어 등의 수공구를 이용한다.- 프레스를 일시정지할 때, 페달에 u자형덮개를 씌운다.퓨즈교체작업 중 감전사고 발생,, 누전차단기 설치 장소 3가지- 대지전압이 150볼트를 초과하는 이동형 또는 휴대형 전기 기계 기구- 물 등 도전성이 높은 액체가 있는 습윤 장소에서 사용하는 저압용(750볼트 이하 직류전압 또는 600볼트 이하의 교류 전압을 말함) 전기기계 기구- 철판 철골 위 등 도전성이 높은 장소에서 사용하는 이동형 또는 휴대형 전기기계 기구변압기 볼트를 조임, 위험요인?- 작업자가 안전대를 전주에 걸지 않고, 작업하여 위험하다.- 작업자가 딛고 선 발판이 불안하다높이가 2미터 이상인 작업 장소에서 근로자가 작업 발판 위에서 작업- 비계발판의 폭: 40cm 이상, 발판 틈새: 3cm 이하탱크 내부 슬러지 제거 작업 가스질식으로 의식을 잃음, 구조자가 착용해야 할 보호구,- 공기호흡기, 산소호흡기, 송기마스크- 피난용구는? 도르래, 안전대, 로프, 호흡용 보호구 (공기, 산소, 송기)전기드릴을 이용해 구멍 넓히는 작업 중 (안전모, 보안경 미착용,, 방호장치도 없음) 맨손으로 작업 시,위험방지 방안 2가지- 보안경을 착용하거나, 안전덮개를 설치한다.- 판에 큰 구멍을 뚫고자 할때에는 먼저 작은 드릴로 뚫은 후에 큰 드릴로 뚫도록 한다.- 안전모를 착용하고, 장갑은 착용하지 않는다.건설작업용 리프트, 리프트의 작업 시 작업 전 점검내용, 방호장치 3가지- 방호장치, 브레이크 및 클러치의 기능- 와이어로프가 통하고 있는 곳의 상태- 과부하방지장치, 권과방지장치, 비상정지장치석면 분진 폭로의 위험성 노출, 장기간 폭로 시 직업병?- 폐암, 석면폐증, 악성중피종- (서술식) 해당 작업자가 착용한 마스크는 방진전용마스크가 아니기 때문에, 석면분진이 마스크를통해 흡입될 수 있어 폐암, 석면폐증, 악성중피종과 같은 직업병이 발생할 수 있다.아파트 창틀 작업 중, 작업자의 추락사고 원설비 미설치 및 안전대를 착용하지 않고 작업한다.추락방호망이 설치되지 않았다.- 안전대책: 안전대 부착설비 설치 및 안전대 착용을 철저히 한다.추락방호망을 설치한다.변압기 전압을 측정, 변압기의 활선 유무를 확인할 수 있는 방법 3가지- 검전기로 확인한다.- 접지봉으로 접촉 확인한다.- 테스터의 지시치를 확인한다.흙막이 또는 터널 지보공 설치 작업 시, 정기(수시) 점검사항 4가지- 부재의 손상, 변형, 변위, 부식 및 탈락의 유무와 상태- 버팀대의 긴압의 정도- 부재의 접속부, 부착부 및 교차부의 상태- 기둥침하의 정도안전대 명칭: 죔줄, 명칭: 1) 카라비나, 2) 훅- 구조 및 치수: 강인한 실로 짠 직물로 비틀어짐, 흠, 기타 결함이 없을 것벨트의 너비는 50mm 이상, 길이는 버클포함 1,100mm 이상, 두께는 2mm 이상일 것전기환풍기 팬 수리작업 중 감전에 의해 싱크대에서 떨어지면서 선반에 부딪혀 부상을 당함, 재해 분석- 기인물: 전기환풍기 팬- 재해형태: 충돌분전반 전면에 위치한 그라인더 기기 재해사례, 위험요인 2가지- 작업자가 맨손으로 작업을 실시하여 감전의 위험이 있다- 작업자가 내전압용 절연장갑 등 절연용 보호구를 착용하지 않아 위험하다- 보수작업임을 나타내는 안전표지판 미설치 및 감시인 미배치유해화학물질이 작업자의 체내에 유입, 침입 경로 2가지- 호흡기, 소화기, 피부점막작업복과 손이 감겨들어감, 기계의 운동 형태에 따라 분류, 해당되는 위험점의 명칭과 그 정의- 회전 말림점- 정의: 회전축, 커플링 등과 같이 회전하는 물체에 작업복 등이 말려드는 위험이 존재하는 점승강기 설치 전 피트 내부에서 청소 작업 중에 승강기의 개구부로 작업자가 추락하여, 사망사고 발생핵심위험요인 2가지- 작업발판이 고정되어 있지 않았다.- 작업자가 안전난간 및 안전대를 걸지 않고 작업하였다.- 수직형 추락방호망을 설치하지 않았다.국소배기장치를 발로 차서, 전원공급 차단됨, 그라인더 작업 시 위험요인 3가지- 작업시작 전 산소농도 및 유해가스 농도 등을 측 않도록 다른 작업장소와 격리하여실시 한다.- 석면은 밀폐설비 또는 국소배기 장치가 설치된 장소에서 취급한다.- 석면을 직접 사용하는 작업 및 석면이 붙어 있는 물질을 파쇄 또는 해체하는 작업은 가능한 한습식상태로 작업을 실시한다.- 석면작업장에서는 흡연 및 음식물을 섭취하지 않는다.근로자가 화약장전 시 위험 요인 1가지를 쓰시오- 폭약을 장전할 때에는 마찰, 충격, 정전기 등에 의한 폭발의 위험성이 있으므로 강봉(철근)을사용하지 말고 규정된 장전봉, 안전한 재료를 사용해야 하는데 얇은 철물을 이용하고 있다.봉강 연마 작업 중 발생한 사고 사례. 기인물은 무엇이며 연마작업 시, 파편이나 칩의 비래에 의한위험에 대비하기 위해 설치해야 하는 방호장치명- 기인물: 탁상공구 연삭기- 방호장치명: 투명한 비산 방지판인쇄용 롤러를 청소하는 작업 중에 발생한 재해, 작업 시 위험요인과 안전대책위험요인- 회전체에 장갑을 착용하여 손이 다칠 우려가 있다- 작업자가 전원을 차단하지 않고 작업을 하였다- 안전장치 없이 작업을 하여 다칠 우려가 있다안전대책- 회전체에는 장갑을 착용하지 않는다.- 이물질 제거 시, 롤러기의 전원을 차단하여 기계 작동을 방지한다.- 안전장치가 없어서 롤러가 멈추지 않아 손이 물려 들어가므로 안전장치를 설치한다(스파크 발생) 콘크리트 전주 세우기 작업, 재해발생 원인 중 직접원인?, 관리적 대책 3가지- 인접활선 전로에 접촉- 해당 충전전로를 이설할 것- 감전의 위험을 방지하기 위한 방책을 설치할 것- 해당 충전전로에 절연용 방호구를 설치할 것- 감시인을 두고 작업을 감시하도록 할 것수중펌프 접속부위에 감전되어 발생한 사고, 작업자가 감전 사고를 당한 원인을 인체의 피부저항과관련하여 설명- 인체가 젖어 있는 상태에서의 피부저항은 보통 상태의 약 1/25로 감소하기 때문에 감전되기 쉽다.인화성물질의 취급 및 저장소, 이 동영상을 참고하여 점화원의 형태와 종류? (옷을 벗음)- 형태: 작업복에 의한 정전기, 점화원의 종류: 정전기김치제조 공장, 슬라이스 작화성 물질의 취급 및 저장소이다. 인화성 물질의 증기, 인화성 가스 또는 인화성 분진이존재하여 폭발 또는 화재가 발생할 우려가 있을 경우의 예방대책 3가지- 통풍, 환기 및 제진 등의 조치를 할 것- 폭발 또는 화재를 미리 감지할 수 있는 가스검지 및 경보장치를 설치하고,그 성능이 발휘될 수 있도록 할 것- 불꽃 또는 아크를 발생하거나 고온으로 될 우려가 있는 화기 또는 기계 및 공구 등을 사용하지 말 것컨베이어 작업시작 전 점검사항 3가지- 원동기 및 풀리 기능의 이상 유무- 이탈 등의 방지장치 기능의 이상 유무- 비상정지장치 기능의 이상 유무가죽제 안전화의 성능기준항목(시험) 종류 5가지- 내압박성 시험, 내충격성 시험, 박리저항 시험, 내답발성 시험, 내유성 시험, 내부식성 시험타워크레인을 이용하여 자재를 운반하는 도중에 발생한 재해사례, 재해발생 원인 중 타워크레인운전 시 준수되지 않은 안전작업방법?- 신호수를 배치하지 않았다.- 무전기 등을 사용하여 신호하거나 일정한 신호방법을 미리 정하지 않았다.- 권상하중을 작업자 위로 통과시키면 안된다.- 보조 로프를 설치하지 않았다.작업자가 피트 뚜껑을 한쪽으로 열어 놓고 불안정한 나무 발판 위에 발을 올려 놓은 상태에서왼손으로~ 피트에서 작업을 할 때 지켜야 할 안전 작업수칙 3가지- 안전대 부착설비 설치 및 안전대를 착용한다- 추락방호망을 설치한다- 작업 중임을 알리는 안내표지판을 설치한다(퍼지작업기계 내에) 화면에서와 같은 작업현장에서 관리 감독자의 직무 3가지- 산소가 결핍된 공기나 유해가스에 노출되지 않도록 작업 시작 전에 해당 근로자의작업을 지휘하는 업무- 작업을 하는 장소의 공기가 적절한지를 작업 시작 전에 측정하는 업무- 측정장비, 환기장치 또는 송기마스크 등을 작업 시작 전에 점검하는 업무- 근로자에게 송기마스크 등의 착용을 지도하고 착용 상황을 점검하는 업무박공지붕 설치 작업 중 발생한 재해사례, 비래에 의해 재해가 발생했다. 3가지 위험요인 안전대책- 근로자가 위험한 장소에서 휴식을 취하였다 설치- 가능한 한 덕트의 길이는 짧고 굴곡부의 수를 적게 하며 쉽게 청소할 수 있는 구조일 것- 배출구는 옥외에 설치- 후드형식은 가능한 한 포위식 또는 부스식 후드를 설치할 것위험물을 다루는 바닥이 갖추어야 할 조건(유해물질바닥의 구조) 2가지- 누출 시 액체가 바닥이나 피트 등으로 확산되지 않도록 경사 또는 바닥의 둘레에높이 15cm 이상의 턱을 설치한다.- 바닥은 콘크리트 기타 불침유 재료로 하고, 턱이 있는 쪽은 낮고 경사지게 한다.낙반의 위험을 방지, 부석의 유무를 확인하기 위해 발파작업장에 접근, 발파 후 몇분 경과 후 접근?- 전기뇌관에 의한 발파인 경우: ( 5 ) 분 이상- 전기뇌관 이외에 의한 발파인 경우: ( 15 ) 분 이상지게차 주행안전작업 사항 중 잘못된 내용 2가지- 물건을 과적하여 운전자의 시야를 가려 다른 작업자가 다칠 수 있다- 물건을 불안정하게 적재하여 화물이 떨어져 다른 작업자가 다칠 수 있다- 난폭한 운전, 과속으로 운전자 본인이 다치거나 다른 작업자가 다칠 수 있다크랭크 프레스로 철판에 구멍을 뚫는 작업을 하고 있음, 위험 예지 포인트 3가지- 금형에 붙어 있는 이물질을 제거하려다 손을 다친다- 금형에 붙어 있는 이물질을 제거하려다 눈에 이물질이 들어가 눈을 다친다- 주변정리가 되어 있지 않아 주변의 물건에 발이 걸려 넘어져 프레스 기계에 부딪친다- 작업자의 실수로 슬라이드가 하강하여 작업자가 다친다가압상태의 LPG가 대기 중에 유출되어 순간적으로 기화가 일어나 점화원에 의해 발생하는 폭발의 종류,폭발의 원인을 쓰시오- 폭발의 종류: 증기운 폭발 (UVCE)- 가연성 액화가스 저장탱크에서 유출된 가연성 가스가 구름을 형성하여 떠다니다가 점화원에 의해폭발함C 보호구(빨간색 고무제 안전화)의 사용 장소에 따른 분류 2가지- 일반용: 일반작업장- 내유용: 탄화수소류의 윤활유 등을 취급하는 작업장크롬도금작업 중, 화학물질(유해물질) 취급 시 일반적인 주의사항 4가지- 유해물질에 대한 사전 조사- 유해물 발생원인 봉쇄- 실내환기조작식
산업안전보건위원회의 심의, 의결사항 4가지안전보건관리책임자 직무 4가지- 산업재해예방계획의 수립에 관한 사항- 안전보건관리규정의 작성 및 변경에 관한 사항- 근로자의 안전, 보건교육에 관한 사항- 근로자의 건강진단 등 건강관리에 관한 사항- 산업재해에 관한 통계의 기록 및 유지에 관한 사항안전관리자 업무 4가지- 위험성평가에 관한 보좌 및 지도, 조언- 해당 사업장 안전교육계획의 수립 및 안전교육 실시에관한 보좌 및 지도, 조언- 사업장 순회점검, 지도 및 조치의 건의- 산업재해에 관한 통계의 유지, 관리, 분석을 위한 보좌및 지도, 조언- 업무수행 내용의 기록, 유지안전보건표지 중 안내표지의 종류- 녹십자표지, 응급구호표지, 들것, 세안장치, 비상용기구하인리히 도미노이론- 사회적 환경 및 유전적인 요소, 개인적 결함, 불안전 행동및 불안전 상태, 사고, 상해버드의 신 도미노이론- 통제부족(관리), 기본원인(기원), 직접원인(징후), 사고, 상해아담스 이론- 관리구조, 작전적 에러, 전술적 에러, 사고(물적사고),상해 또는 손해조종장치의 촉각적 암호화를 사용하는 경우- 형상을 구별하여 사용하는 경우, 크기를 구별하여사용하는 경우, 표면촉감을 사용하는 경우잠함 또는 우물통의 급격한 침하에 의한 위험을 방지하기위하여 준수하여야 할 사항- 침하관계도에 따라 굴착방법 및 재하량 등을 정할 것- 바닥으로부터 천장 또는 보까지의 높이는 1.8m이상으로 할 것기상 악화로 작업을 중지시킨 후 비계를 조립, 해체하거나변경 후 그 비계에서 작업하는 경우, 작업시작 전 점검사항4가지- 발판재료의 손상여부 및 부착 또는 걸림상태- 해당 비계의 연결부 또는 접속부의 풀림상태- 연결재료 및 연결철물의 손상 또는 부식상태- 손잡이의 탈락여부- 기둥의 침하, 변형, 변위 또는 흔들림 상태보일링 현상 방지 대책- 주변 수위를 낮춘다- 흙막이 벽을 깊이 설치하여, 지하수의 흐름을 막는다- 웰포인트 공법을 사용한다터널 굴착 작업 시, 근로자 위험 방지를 위한 작업계획서에포함하여야 하는 사항- .5m 이상으로 할 것- 비상구의 문은 피난 방향으로 열리도록 하고,실내에서 항상 열 수 있는 구조로 할 것- 작업장의 각 부분으로부터 수평거리가 50m이하가 되도록 할 것양립성의 종류 쓰고 사례를 들어 설명- 공간 양립성: 오른쪽 버튼을 누르면,오른쪽 기계가 작동하는 것- 운동 양립성: 자동차 핸들 조작 방향으로바퀴가 회전하는 것- 개념 양립성: 온수 손잡이는 빨간색,냉수 손잡이는 파란색의 경우- 양식 양립성: 기계가 특정 음성에 대해정해진 반응을 하는 경우보일러 폭발사고 예방을 위한 유지 관리하여야 하는 부속- 압력방출장치- 압력제한스위치- 고저수위조절장치- 화염검출기컨베이어 작업 시작 전에 점검해야 할 사항 3가지- 원동기 및 풀리 기능의 이상 유무- 이탈 등의 방지장치 기능의 이상 유무- 비상정지장치 기능의 이상 유무- 원동기, 회전축, 기어 및 풀리 등의덮개 또는 울 등의 이상 유무자율안전 확인을 필한 제품에 대한 부분적 변경의 허용범위3가지- 자율안전기준에서 정한 기준에 미달되지 않는 것- 주요구조부의 변경이 아닌 것- 방호장치가 동일 종류로서 동등급 이상인 것- 스위치, 계전기, 계기류 등의 부품이 동등급 이상인 것MIL-STD-882B, 미 국방성 DOD에 규정한 미 표준규격에따른 위험도 분류 4가지- 파국(I), 중대재해(II), 경미재해(III), 무시재해(IV)밀폐공간에서의 작업에 대한 특별안전보건교육을 실시정규직 근로자의 특별교육시간과 교육내용 3가지- 교육시간: 16시간 이상- 교육 내용산소농도 측정 및 작업환경에 관한 사항사고 시의 응급처치 및 비상 시 구출에 관한 사항보호구 착용 및 사용방법에 관한 사항밀폐공간작업의 안전작업방법에 관한 사항자율안전확인대상 안전기에 자율안전확인표시 외에 추가로표시하여야 할 사항 2가지- 가스의 흐름 방향- 가스의 종류안전인증대상 기계 5가지- 리프트, 압력용기, 롤러기, 사출성형기, 곤돌라,고소작업대경구: 300mg/kg, 경피: 1,000mg/kg,흡입: 2,500ppm, (증기 10mg/l, 분진 사항 3가지- 작업 시작 전 거푸집동바리 등의 변형, 변위 및 침하유무 등을 점검하고 이상이 있으면 보수할 것- 작업 중에는 거푸집동바리 등의 변형, 변위 및 침하유무 등을 감시할 수 있는 감시자를 배치하여 이상이있으면 작업을 중지하고 근로자를 대피시킬 것- 콘크리트 타설작업 시, 거푸집 붕괴의 위험이 발생할우려가 있으면 충분한 보강조치를 할 것- 콘크리트를 타설하는 경우에는 편심이 발생하지 않도록골고루 분산하여 타설할 것도급사업의 합동안전보건점검을 할 때 점검반으로 구성하여야 하는 사람- 도급인, 관계수급인,도급인 및 관계수급인의 근로자 각 1명안전인증대상 설비 방호장치 5가지- 프레스 및 전단기 방호장치- 양중기용 과부하방지장치- 보일러 압력방출용 안전밸브- 압력용기 압력방출용 안전밸브- 압력용기 압력방출용 파열판승강기 종류 4가지- 승객용 엘리베이터, 승객화물용 엘리베이터,화물용 엘리베이터, 소형화물용 엘리베이터, 에스컬레이터지게차, 구내운반차의 사용[작업시작] 전 점검사항 4가지- 제동장치 및 조종장치 기능의 이상 유무- 하역장치 및 유압장치 기능의 이상 유무- 바퀴의 이상 유무- 전조등, 후미등, 방향지시기 및 경음기 기능의 이상 유무안전보건관리규정을 작성하고자 할 때, 포함되어야 할사항 4가지- 안전보건에 관한 관리조직과 그 직무에 관한 사항- 안전보건교육에 관한 사항- 작업장 안전 및 보건관리에 관한 사항- 사고 조사 및 대책 수립에 관한 사항헤르츠버그 위생요인 및 동기요인 각 3가지- 위생: 감독, 임금, 보수, 작업조건, 안전- 동기: 성취감, 책임감, 도전감, 일 그자체흙막이 공사 후 안정성을 위해 계측기기 및계측기로 계측해야 하는 지점 [깊이 10.5m 이상]- 수위계: 토류벽 배면 지반- 경사계: 인접구조물의 골조 또는 벽체- 하중계: 흙막이 지보공 버팀대- 침하계: 토류벽 배면- 응력계: 토류벽 심재굴착작업 시, 지반의 붕괴 또는 토석의 낙하에 의한위험을 방지하기 위하여 관리감독자가 작업시작 전점검하여야 하는 사항 3가지- 작업장소 및 할과 임무에 관한 사항- 산업보건 및 직업병 예방에 관한 사항- 유해, 위험 작업환경 관리에 관한 사항이동식 크레인을 사용하여 작업할 때 작업시작 전 점검사항 4가지- 권과방지장치나 그 밖의 경보장치의 기능- 브레이크, 클러치 및 조정장치의 기능- 와이어로프가 통하고 있는 곳- 작업장소의 지반상태1급 방진마스크 사용 장소 3곳- 특급마스크 착용장소를 제외한 분진 등 발생장소- 금속흄 등과 같이 열적으로 생기는 분진 등 발생장소- 기계적으로 생기는 분진 등 발생장소비계 조립간격 (m, 수직, 수평)- 통나무 비계: 5.5, 7.5 - 단관 비계: 5, 5 - 틀비계: 6, 8분진이 발화 폭발하기 위한 조건 4가지- 가연성 - 미분상태- 공기 중에서의 교반과 유동 - 점화원의 존재유해위험방지계획서 제출대상 건설공사 종류 4가지- 연면적 5천제곱미터 이상인 냉동, 냉장 창고시설의설비공사 및 단열공사- 최대지간길이가 50m 이상인 교량건설 등 공사- 다목적댐, 발전용댐 및 저수용량 2천만톤 이상의용수전용댐, 지방 상수도 전용댐 건설 등의 공사- 깊이 10m 이상인 굴착공사 - 터널건설 등의 공사건물의 해체작업 시, 해체계획에 포함되는 사항 4가지- 해체의 방법 및 순서 도면- 해체물의 처분계획- 해체작업용 기계, 기구 등의 작업계획서- 해체작업용 화약류 등의 사용계획서- 사업장 내 연락방법잠함, 우물통, 수직갱 등의 내부에서 굴착작업 시준수사항 2가지- 산소결핍의 우려가 있는 경우에는 산소 농도를측정하는 사람을 지명하여 측정하도록 할 것- 근로자가 안전하게 오르내리기 위한 설비를 설치할 것- 굴착깊이가 20m를 초과하는 경우에는 해당 작업장소와외부와의 연락을 위한 통신설비 등을 설치할 것말비계를 조립하여 사용하는 경우 준수사항 3가지- 지주부재의 하단에는 미끄럼 방지장치를 하고,양측 끝부분에 올라서서 작업하지 않도록 할 것- 지주부재와 수평면과의 기울기를 75도 이하로 하고,지주부재와 지주부재 사이를 고정시키는 보조부재를설치할 것- 말비계의 높이가 2m를 초과하는 경고표지 중 흰색바탕에 그림은 검은색 또는 빨간색에해당하는 표시종류- 인화성물질 경고, 산화성물질 경고, 폭발성물질 경고,급성독성물질 경고, 부식성물질 경고(이해하기) 절연용 보호구, 방호구, 활선작업용 기구에대하여 각각의 사용목적에 적합한 종별, 재질 및 치수의것을 사용하여야 하는 적용 제외기준이 있다. 적용제외기준이 되는 전압이 얼마인지 쓰시오 → 30V 이하수인식 방호장치의 수인끈, 수인끈의 안내통, 손목밴드의구비조건 3가지- 수인끈은 작업자와 작업공정에 따라 그 길이를 조정할수 있어야 한다.- 수인끈의 안내통은 끈의 마모와 손상을 방지할 수 있는조치를 해야한다.- 손목밴드는 착용감이 좋으며 쉽게 착용할 수 있는구조이어야 한다.원동기, 회전축의 위험방지를 위한 기계적인 안전조치- 덮개, 울, 건널다리, 슬리브비등액체팽창 증기폭발에 영향을 주는 인자 3가지- 저장된 물질의 종류와 형태- 저장용기의 재질- 주위온도와 압력상태- 내용물의 인화성 및 독성여부휴먼에러에서 Swain 실수원인의 분류- 1차 실수, 2차 실수, 지시과오근로자가 전기기계, 기구 또는 전로 등의 충전 부분에접촉하거나 접근함으로써 감전 위험이 있는 충전부분에대하여 감전을 방지하기 위한 방법 3가지- 충전부가 노출되지 않도록 폐쇄형 외함이 있는구조로 할 것- 충전부에 충분한 절연효과가 있는 방호망이나 절연덮개를설치할 것- 충전부는 내구성이 있는 절연물로 완전히 덮어 감쌀 것공정안전보고서 제출대상이나 유해, 위험설비로 보지 않는시설 및 설비- 원자력 설비, 군사시설, 도매 소매시설,차량 등의 운송설비, 도시가스사업법에 따른 가스공급시설연삭기 덮개의 시험방법 중 연삭기 작동시험 확인 사항- 연삭(숫돌)과 덮개의 접촉 여부- 탁상용 연삭기는 덮개, (워크레스트) 및 (조정편)부착상태의 적합성 여부비파괴검사의 실시기준- 고속 회전체(회전축의 중량이 (1)톤을 초과하고,원주속도가 초당 (120)미터 이상인 것으로 한정함)공장의 설비 배치 3단계- 지역 배치 → 건물 배치 → 기계 배치휘발유 저장탱크 안 출입을
1장 요구사항 확인소프트웨어 생명주기-소프트웨어의 개발 과정을 각 단계별로 나눈 것요구사항 분석-설계-구현-테스트-유지보수폭포수 모형-가장 오래되고 가장 폭넓게 사용하고 전통적,고정적이다.-선형 순차적 모형이고 단계가 끝나야 다음 단계로 넘어갈 수 있음타당성 검토-계획-요구 분석-설계-구현-검사-유지보수프로토타입 모형-견본품을 만들어 최종 결과물 예측하여 폭포수 모형의 단점 보완나선형 모형-점진적 모형이고 위험을 최소화하는 것이 목적-폭포수+프로토타입+위험 분석 기능-유지보수 과정 필요 없고 누락되거나 요구사항 첨가 가능계획 및 정의-위험 분석-공학적 개발-고객 평가애자일 모형-고객과의 소통을 초점하여 숙련된 개발자들이 모여서 짧게 끝내고 의사소통을 하면서 지속적인 설계와 개발스크럼 기법스프린트 계획 회의-일일 스크럼 회의-스프린트 검토 회의-스프린트 회고XP-반복을 통해 신속하게 대응하여 위험을 줄이고 고객 관점을 고품질로 전달-단순한 설계로 소규모 인원으로 짧고 반복적인 개발 주기의사소통-단순성-용기-존중-피드백스파이크-신뢰성과 위험성을 위해 별도로 맞드는 프로그램이터레이션-릴리즈를 더 세분화 한 단위로 새로운 스토리 작성 가능하다.요구사항 정의-소프트웨어 개발 유지보수에 대한 기준,근거 제공기능 요구사항,비기능 요구사항-시스템 요구사항:개발자 관점,전문적 용어-사용자 요구사항:사용자 관점,친숙한 표현프로세스도출-의견교환,식별,이해 하는 단계로 의사소통이 중요-인터뷰,설문,브레인스토밍분석-명확하지 않은 요구사항을 거르는 단계명세-문서화하는 단계확인요구사항 분석 기법요구사항 분류,개념 모델링,요구사항 할당,협상,정형 분석요구사항 확인 기법요구사항 검토,프로토타이핑,모델 검증,인수테스트UML-시스템 개발과정에서 시스템 개발자와 고객 또는개발자 상호 간의 의사소통의 원활하게 이루어지도록 표준화된 객체지향적 언어사물,관계,다이어그램사물(Things)-가장 중요한 기본요소 관계가 형성될 수 있는 대상구조,행동,그룹,주해 사물관계(Relationship)연관 관계(Association)-시스템의 개념적, 물리적 요소 표현집합 관계(Aggregation)-포함하는 쪽과 포함되는 쪽은 독립적포함 관계-포함하는 쪽과 포함되는 쪽은 서로 독립될 수 없고, 생명주기를 함께 함일반화 관계(Generalization)-상속관계의존 관계(Dependency)- 짧은 시간 동안만 연관을 유지실체화 관계(Realization)- 사물일 할 수 있거나 해야 하는 기능 표시다이어그램구조적 다이어그램=정적 모델링클래스 (Class Diagram)- 시스템 구조와 클래스 간의 관계 표현객체 (Object Diagram)-객체 간의 관계 표현컴포넌트 (Component Diagram)-구현 단계에서 사용배치 (Deployment Diagram)-물리적 요소들의 위치 표현하여 구현 단계에서 사용복합체 구조-복합 구조 표현패키지-그룹화 한 패키지들의 관계 표현럼바우(Rumbaugh)의 분석 기법객체 모델링 - 동적 모델링 - 기능 모델링행위 다이어그램=동적 모델링유스케이스 다이어그램 (Use Case Diagram)-기능 모델링 작업에 사용시퀀스 다이어그램 (Sequence Diagram)-시스템or객체들이 주고받는 메시지를 표현커뮤니케이션 다이어그램 (Communication Diagram)-메시지 뿐만 아니라 연관 표현상태 다이어그램 (State Diagram)-상태의 변화 표현활동 다이어그램 (Activity Diagram)-처리의 흐름을 순서에 따라 표현상호작용 개요 다이어그램 (Interaction Overview Diagram)-제어 흐름 표현타이밍 다이어그램2장 화면 설계사용자 인터페이스-사용자와 시스템 간의 장치이고 만족도에 따라 큰영향을 미침-C,G,N,VUI-직관성,유효성,학습성,유연성UI표준 및 지침웹 3요소웹 표준,접근성,호환성인식의 용이성-대체 텍스트,멀티미디어 대체 수단,명료성운용의 용이성-키보드 접근성,충분한 시간 제공,네비게이션이해의 용이성-가독성,예측가능성,논리성,입력 도움견고성-문법준수,접근성UI설계 도구와이어프레임:뼈대목업:정적형태스토리보드:디자이너,개발자가 최종적으로 참고프로토타입:인터랙션,테스트품질 요구사항기능성(적합성,정밀성,상호운용성,보안성,호환성신뢰성(성숙성,고장 허용성,회복성)사용성(이해성,학습성,운용성,친밀성)효율성(시간/자원 효율성)유지보수성(분석성,변경성,안정성,시험성)이식성(적용성,설치성,대체성,공존성)3장 애플리케이션 설계소프트웨어 아키텍쳐-소프트웨어를 구성하는 요소들 간의 관계를 표현-소프트웨어 설계는 소프트웨어 전체적인 설계아키텍쳐 설계는 소프트웨어의 구조와 뼈대를 설계를 말한다.-개발할 소프트웨어의 기본 틀을 만들고 밑그림을 만드는 과정모듈화: 시스템의 기능을 모듈 단위로 나누는 것추상화: 포괄적인 개념 설계로 세분화하여 구체화시키는 것이다. (과정,데이터,제어 추상화)단계적분해: 하향식 설계 전략이고 추상화의 반복에 의해 세분화한다.정보은닉: 다른 모듈이 접근 변경x이고 수정 유지보수가 용이하다.소프트웨어 상위설계에는 아키텍쳐 설계,인터페이스,사용자 인터페이스가 있다.아키텍쳐 패턴-전형적인 해결 방식으로 소프트웨어 시스템의 구조로 구성하고 참고자료를 이용, 개발 시간 단축도 되고 고품질 소프트웨어 생산도 한다. 구조 이해가 쉬워 손쉽게 유지보수가 가능레이어 패턴-계층식으로 마주보는 두 계층사이 상호작용-상위: 서비스 제공자 하위: 클라이언트클라이언트 서버-하나의 서버 다수의 클라이언트로 요청을 위한 동기화해 독립적이다.파이프-필터 패턴-데이터 스트름 절차의 각 단계를 캡슐화하여 파이프를 통해 전송하고 재사용 할 수 있고 확장이 용이하고 재배치가 가능하다.모델 뷰 컨트롤러 패턴모델: 서브시스템의 핵심 기능과 데이터 보관뷰: 사용자에게 정보 표시컨트롤러: 사용자로부터 받은 입력 처리로 대화형 애플리케이션에 적합마스터-슬레이브 패턴: 작업 분할 후 다시 돌려받음브로커 패턴: 브로커 컴포넌트가 요청에 맞는 컴포넌트 연결, 분산 환경 시스템피어투피어 패턴: 피어가 서버도 되고 클라이언트 됨블랙보드: 검색을 통해 블랙보드에서 데이터 찾음객체지향-소프트웨어를 개발할 때에 객체를 조립해 작성할 수 있는 기법-재사용 확장 용이하고 유지보수가 쉽고 실행 속도가 느리다.객체-데이터와 함수를 묶어 놓은 (캡슐화) 하나의 소프트웨어 모듈데이터: 객체가 가지고 있는 정보,속성,상태 등함수:객체가 수행하는 기능,데이터를 처리하는 알고리즘-상태와 행위를 가짐클래스-데이터를 추상화하고 공통된 속성과 연산을 갖는 객체의 집합이다.인스턴스:클래스에 속한 각각의 객체캡슐화(Encapsulation):데이터와 함수를 하나로 묶는 것이고 재사용이 용이하고 인터페이스가 단순하다 그래서 결합도가 낮다상속(Inheritance):상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받아 재사용 가능다형성(Polymorphism):하나의 메시지에 각각의 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력모듈-결합도는 약하게 응집도는 강하게-재사용이 가능하다결합도;모듈 간의 상호 의존하는 정도내용> 공통> 외부> 제어> 스탬프> 자료응집도:모듈 내부 요소가 관련된 정도기능> 순차> 통신> 절차>시간> 논리> 우연코드-식별,분류,배열기능-순차, 블록, 10진,그룹,연상,표의 숫자,합성 코드디자인 패턴생성 패턴추상 팩토리: 인터페이스를 통해 서로 의존하는 객체들의 그룹으로 생성해서 추상적으로 표현빌더: 작게 분리된 인스턴스를 건축하듯이 조합하여객체 생성팩토리 메소드: 객체 생성을 서로 클래스에서 처리하도록 분리해서 캡슐화프로토타입: 원본 객체를 복제하는 방법으로 객체 생성싱글톤: 하나의 객체를 생성하면 생성된 객체를 어디서든 참조가능하나 여러 프로세스가 동시에 참조x