
01. 운영체제의 개념 01. 운영체제의 개념 1) 운영체제의 정의 사용자로 하여금 컴퓨터의 하드웨어를 보다 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어 사용자 편의성을 위한 인터페이스인 동시에 다양한 자원을 관리하는 자원 관리자 하드웨어를 제어하는 시스템 소프트웨어 하드웨어와 소프트웨어 리소스를 관리하고 컴퓨터 프로그램을 위한 공통 서비스를 제공하는 소프트웨어를 의미함 컴퓨터의 제한된 자원들인 프로세서(CPU), 기억 장치(ROM, RAM), 입출력 장치, 디스크, 네트워크 장비 등의 효율적인 관리를 위한 프로그램들의 집합 하드웨어를 효과적으로 활용할 수 있도록 펌웨어나 소프트웨어로 만들어진 프로그램 컴퓨터 본체 및 각 주변 장치를 가장 능률적이고, 경제적으로 사용할 수 있도록 하는 프로..

02. 명령어 형식과 주소 지정 01. 명령어(Instruction) 형식 1) 명령어 형식의 이해 비트(Bit)는 그 개수만큼 많은 정보를 저장할 수 있으며, 용도에 따라 필드로 나눌 수 있음 필드의 수, 배치 방법, 각 필드에 포함되는 0과 1의 개수를 정의한 것을 명령어 형식이라고 함 명령어 형식에 따라 정보의 양이 달라지기 때문에 용도에 따라 적절하게 구성해야 함 명령어 형식은 연산 코드(Operation, 연산자)와 연산을 수행하는 대상인 오퍼랜드(Operand, 피연산자, 변수)로 구성됨 명령문은 프로그램을 구성하는 문장으로, 지시 사항을 처리하는 단위를 의미함 2) Operation(Op-Code)와 Operand의 비트 수 Operation(Op-Code)의 비트 수와 명령어 개수와의 관계..

01. 명령어 수행 순서 01. 명령어(Instruction)의 개념 1) 컴퓨터에 명령 전달 방법 컴퓨터에 명령을 전달할 때는 비트(Bit)로 전달이 됨 비트의 0과 1을 컴퓨터가 이해할 수 있는 방식으로 변환하여 전달함 전달 방법으로는 전기적 신호를 이용하거나 광신호를 이용하는 방식 등이 있음 2) 명령어 실행 및 데이터 처리 컴퓨터는 전달 받은 0과 1의 값들을 정해진 순서대로 실행하며 그 과정에서 처리, 저장 등을 수행함 프로그램 실행 및 데이터 처리는 중앙 처리 장치에서 수행하고, 저장은 기억 장치에서 수행함 중앙 처리 장치로부터 명령을 받아 데이터를 입력 또는 출력하는 일은 입출력 장치에서 수행함 02. 명령어 수행 1) 명령어 수행 순서 메모리에 기억된 명령어들을 가져와 CPU에서 처리되는 ..

02. 배치 프로그램 01. 배치 프로그램 1) 배치 프로그램의 개념 사용자의 상호 작용 없이 특정 작업을 작업 단위로 묶어 주기적으로 반복 수행해보거나 정해진 규칙에 따라 일괄 처리하는 것 2) 배치 프로그램의 필수 요소 대용량 데이터 : 대용량의 데이터를 처리할 수 있어야 함 자동화 : 심각한 오류 상황 외에는 사용자의 개입 없이 동작해야 함 견고함 : 유효하지 않은 데이터도 처리해서 비정상적인 동작 중단이 발생하지 않아야 함 안정성 : 어떤 문제가 생겼는지, 언제 발생했는지 등을 추적할 수 있어야 함 성능 : 주어진 시간 내에 처리를 완료할 수 있어야 하고, 동시에 동작하고 있는 다른 애플리케이션을 방해하지 말아야 함 3) 배치 프로그램 테스트 배치 프로그램 주기를 변경 테스트가 가능한 주기로 변경..

01. 프로그램 개발 환경 01. 프로그램 개발 환경 준비 1) 프로그램 개발 환경 준비 개념 프로그램 개발 환경을 준비하기 위해서는 개발하려는 프로젝트의 목적과 구축 설계에 대한 명확한 이해가 필요함 프로그램 개발 환경 구축에 필요한 하드웨어, 소프트웨어의 선정이 이루어져야 함 프로그램 개발에 사용되는 제품들의 성능과 라이선스 그리고 사용 편의성 등에 관한 내용을 파악해야 함 2) 프로그램 개발 언어의 선정 1. 개발 언어의 선정 기준 적정성 : 대상 업무의 성격, 즉 개발하고자 하는 시스템이나 응용 프로그램의 목적에 적합해야 함 효율성 : 프로그래밍의 효율성이 고려되어야 함 이식성 : 일반적인 컴퓨터 및 운영체제에 개발 환경이 설치 가능해야 함 친밀성 : 프로그래머가 언어를 이해하고 사용할 수 있어야..

05. 디자인 패턴(Design Pattern) 01. 디자인 패턴 1) 디자인 패턴의 개념 유사한 문제를 해결하기 위해 설계들을 분류하고 각 문제 유형별로 가장 적합한 설계를 일반화하여 체계적으로 정리해 놓은 것으로 소프트웨어 개발에서 효율성과 재사용성을 높일 수 있음 생산성을 향상시키기 위해 반복적으로 나타나는 문제 해법들을 전문가들의 경험을 모아서 정리한 일관된 솔루션이라고 할 수 있음 디자인 패턴을 참고하여 개발할 경우 개발의 효율성과 유지보수성, 운용성 등의 품질이 높아지며, 프로그램의 최적화를 도움 소프트웨어 아키텍처나 소프트웨어 프레임워크와 다르기, 기능보다 구조, 가독성 및 확장성에 비중을 둠 2) GoF 디자인 패턴 에리히 감마(Erich Gamma), 랄프 존슨(Ralph Johnson..

04. UML 다이어그램 02. UML 다이어그램의 관계 표현 1) 클래스 표기 형식 접근 제어 지정자의 기호 +(public) : 누구든 접근할 수 있음 -(private) : 클래스 내부에서만 사용할 수 있음 #(protected) : 동일 패키지나 상속 관계에 있는 하위 클래스에서만 사용할 수 있음 ~(package) : 동일 패키지에 있는 클래스의 객체들만 접근할 수 있음 2) 클래스 간의 관계 표현(Relationship) 연관 관계 실선이나 화살표 하나의 클래스가 다른 클래스에서 제공하는 기능이 있음을 표시함 일반 관계 빈 삼각형 실선 상속 관계에 있을 때 표시함 집합 관계 마름모 화살표 한 객체가 다른 객체를 포함하는 집약 관계와 부분 객체가 전체 객체에 속하는 합성 관계를 표시함 의존 관계..

04. UML 다이어그램 01. UML(Unified Modeling Language) 다이어그램 1) UML의 정의 객체지향 소프트웨어 개발 과정에서 산출물을 가시성, 명세화, 문서화할 때 사용되는 모델링 기술 방법론을 통합하여 만든 표준화된 범용 모델링 언어 요구분석, 설계, 구현 등의 소프트웨어 개발 과정에서, 개발자 간의 의사소통을 원활하게 이루어지게 하기 위하여 표준화한 모델링 언어 모델링에 대한 표현이 정확하고 오류가 적은 논리적인 표기법 2) UML의 특징 가시성 쉽게 보이는 정도 소프트웨어를 이해하기 쉽게 표현해줌 반복적, 점진적으로 구체화하여 소프트웨어의 가시성을 제공함 명세화 UML로 그려진 소프트웨어 설계 문서는 소프트웨어의 기능을 자세하게 설명함 단순 표기법이 아닌 구현에 필요한 개..