목록전체 글 (163)
DevGang
1. 소프트웨어 생명 주기(Software Life Cycle) 개념 소프트웨어 생명 주기는 소프트웨어 개발 방법론의 바탕이 되는 것으로 소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 과정을 각 단계별로 나눈 것 소프트웨어 생명 주기는 소프트웨어 개발 단계와 각 단계별 주요 활동, 활동의 결과에 대한 산출물로 표현하며, 소프트웨어 수명 주기라고도 함 - 소프트웨어 생명주기의 역할 프로젝트 비용 산정과 개발 계획을 수립할 수 있는 기본 골격이 됨 용어 및 기술의 표준화를 가능하게 함 문서화가 충실한 프로젝트 관리를 가능하게 함 2. 일반적인 소프트웨어 생명 주기 - 정의 단계 ‘무엇(What)'을 처리하는 소프트웨어를 개발할 것인지 정의하는 단계로, 관리자와 사용자가 가장 많이 참여하는 단계 타..
1. 소프트웨어 공학(SE, Software Engineering)의 정의 가장 경제적으로 신뢰도 높은 소프트웨어를 만들기 위한 방법, 도구와 절차들의 체계 - 소프트웨어 공학에 대한 여러 형태의 정의 소프트웨어의 개발, 운용, 유지보수, 폐기 처분에 대한 체계적인 접근 방안 지정된 비용과 기간 내에 소프트웨어를 체계적으로 생산하고 유지 보수하는 데 관련된 기술적이고 관리적인 원리 과학적인 지식을 소프트웨어 설계와 제작에 응용하는 것이며, 이를 개발, 운용, 유지 보수하는 데 필요한 문서 작성 과정 - 소프트웨어 공학의 공학(Engineering)이 가지는 의미 경제성 적시성 보편타당성 - 소프트웨어 공학이 나타나게 된 배경 소프트웨어(S/W) 비용의 증가 소프트웨어(S/W) 품질과 생산성의 제고 특정 ..
1. 소프트웨어(Software) 소프트웨어는 하드웨어를 동작시켜 사용자가 작업을 편리하게 수행하도록 하는 프로그램과 자료 구조 등을 총칭함 프로그램들의 사용과 운영을 기술하는 문서까지 포함 2. 좋은 소프트웨어의 특성 사용자가 원하는 대로 동작해야 함 일정 시간 내에 주어진 조건하에서 원하는 기능을 실행할 수 있어야 함 신뢰성이 높아야 하며 효율적이어야 함 잠재적인 에러가 가능한 적어야 하며, 유지보수가 용이해야 함 적당한 사용자 인터페이스 제공으로 사용하기가 편리해야 함 남이 알아보기 쉬워야 함 경제적이어야 함 문서화가 잘 되어 있어야 함 사용자의 기능 변경의 필요성을 만족하기 위하여 소프트웨어를 진화하는 것이 가능해야 함(유지보수성) 소프트웨어가 자원을 쓸데없이 낭비하지 않아야 함(효율성) 소프트웨..
1. 윈도우의 특징 그래픽 사용자 인터페이스(GUI , Graphic User Interface) 선점형 멀티태스킹 동시에 여러 개의 프로그램 실행 가능 문제 발생 시 해당 프로그램 강제 종료 가능 FAT32 파일 시스템 사용 파일이나 하위 디렉터리가 디스크에서 어떤 위치에 저장되어 있는지의 위치 정보를 저 PnP(Plug and Play) 사용 컴퓨터 시스템에 하드웨어를 설치했을 때 해당 하드웨어를 운영체제가 자동으로 인식 사용자가 직접 환경을 설정할 필요 없음 OLE(Object Linking and Embedding) 사용 응용 프로그램 간의 자료 공유 시스템이 작동하지 않아 Control-Alt-Delete를 눌러 사용하는 것은 인터럽트와 관련됨 ※ 장치 구동기(device driver) 컴퓨터 ..
1. UNIX의 특징 시분할 시스템을 위해 설계된 대화식 운영체제 소스가 공개된 개방형 시스템 대부분 C언어로 작성되어 이식성과 확장성이 높음 멀티 유저, 멀티 태스킹을 지원 트리구조의 파일 시스템, 다중 작업 시스템, 다중 사용자 시스템 프로세스 간 통신을 위하여 주로 소켓을 사용 2. UNIX 시스템의 구성 - 커널(Kernel) UNIX 시스템의 가장 핵심적인 부분 항상 주기억장치에 상주 하드웨어와 프로그램 간의 인터페이스 역할을 담당 프로세스 관리, 기억장치 관리, 입출력 관리, 파일 관리, 프로세스 간의 통신 등을 수행 하드웨어를 보호하고 응용 프로그램들에게 서비스를 제공 - 쉘(Shell) 명령어 해석기로 사용자의 명령어를 인식하여 필요한 프로그램을 호출하고 그 명령을 수행 사용자와 시스템 간..
1. 다중 처리기(Multi-processor) 각 프로세서는 자체 계산 능력을 가짐 여러 프로세서는 하나의 공통된 기억 장소나 각각의 독립된 기억 장소를 가짐 여러 프로세서들은 프로세서나 주변장치 등을 공동으로 사용 여러 작업을 동시에 처리하여 실행 시간이 감소되고 전체 효율을 향상할 수 있음 2. 프로세서 연결 방식 - 공유 버스 장치 연결이 단순 장치 추가가 용이 한 시점에 하나의 전송만이 가능 버스에 이상이 발생하면 전체 시스템이 중단 시스템의 전체 전송량이 버스의 전송률에 의해 제한됨 - 크로스바 교환 행렬 각 기억장치마다 다른 경로를 사용할 수 있음 두 개의 서로 다른 기억 장치를 동시에 참조 가능 하드웨어가 복잡해짐 - 하이퍼 큐브 다수의 프로세서를 연결할 수 있으며 확장성이 좋음 많은 프로..
1. 보안의 정의 컴퓨터 시스템 내에 있는 프로그램과 데이터에 대하여 통제된 접근 방식을 다루는 것 2. 보안 요건 기밀성 : 시스템 내의 정보와 자원은 인가된 사용자에게만 접근이 허용 무결성 : 시스템 내의 정보는 오직 인가된 사용자만 수정 가능 가용성 : 인가받은 사용자는 언제든지 사용 가능 인증 : 컴퓨터 시스템에서 전송 정보가 오직 인가된 당사자에 의해서만 수정될 수 있도록 통제하는 것 부인방지 : 데이터를 송/수신한 자가 송/수신한 사실을 부인할 수 없도록 송/수신 증거를 제공 3. 보안 유지 기법 - 외부 보안 시설 보안 : 천재지변이나 외부 침입자로부터의 보안을 의미하는 것 • 천재지변이나 사고로 인해 정보의 손실이나 파괴를 막기 위해 백업(Back-up)을 주기적으로 실시 운용 보안 : 전..
1. 자원 보호 컴퓨터 시스템에서 사용자, 프로세스와 같은 주체들이 자원에 불법적으로 접근하는 것을 제어하고, 자원의 물리적 손상을 예방하는 기법 접근 권한이 부여된 객체에게만 접근 허용 2. 자원 보호 기법 - 접근 제어 행렬(Access Control Matrix) 자원 보호의 일반적인 모델로 자원에 대한 접근 권한을 행렬로 표시한 기법 - 접근 제어 행렬 예 A는 인사파일 실행이 가능, 급여 파일은 판독과 기록이 가능 B는 인사파일 판독, 실행, 기록이 가능, 급여 파일은 접근 불가 C는 인사파일 실행이 가능, 급여 파일은 판독만 가능 - 전역 테이블 가장 단순한 구현 방법으로 영역, 객체, 접근 권한의 집합을 목록 형태로 구성한 기법 - 접근 제어 리스트(Access Control List) 자원..
1. 연속 할당(Contiguous Allocation) 파일을 디스크의 연속된 기억 공간에 할당하는 방법으로 생성되는 파일크기만큼의 공간이 요구됨 논리적으로 연속된 레코드들이 물리적으로 인접한 공간에 저장되기 때문에 접근 시간이 빠름 디렉터리가 단순하고, 관리 및 구현이 용이 파일 크기에 알맞은 연속 공간이 없을 경우 파일이 생성되지 않음 파일의 생성과 삭제가 반복되면서 단편화가 발생 단편화를 줄이기 위해서 주기적인 압축이 필요 사용자는 만들고자 하는 파일의 크기에 해당하는 디스크 공간을 미리 지정해 주어야 함 2. 불연속 할당 디스크 공간을 일정 단위로 나누어 할당하는 기법으로 섹터 단위 할당과 블록 단위 할당이 있음 주기억장치 내의 이용 부분을 여러 작은 부분으로 나누어 실행 가상 기억장치에서 주로..
1. 1단계(단일) 디렉터리 구조 가장 간단하고, 모든 파일이 하나의 디렉터리 내에 위치하여 관리 모든 파일들이 유일한 이름을 가지고 있어야 함 모든 파일이 같은 디렉터리 내에 유지되므로 이해가 용이 파일이나 사용자의 수가 증가하면 파일 관리가 복잡 2. 2단계 디렉터리 구조 중앙에 마스터 파일 디렉터리가 있고, 그 아래에 사용자별로 서로 다른 파일 디렉터리가 있음 마스터 파일 디렉터리는 사용자 파일 디렉터리 관리 하나의 사용자 파일 디렉터리에서는 유일한 파일 이름을 사용해야 하지만 다른 사용자 파일 디렉터리에서는 동일한 파일 이름 사용 가능 각 사용자는 다른 사용자의 파일 디렉터리를 검색할 수 없으므로 업무 협력 및 파일의 공유가 어려움 3. 계층적(트리) 디렉터리 구조 하나의 루트 디렉터리와 여러 개..