이 글은 충남대학교 최훈 교수님의 운영체제 수업 및 자료를 바탕으로 작성한 글입니다 1. OS란?컴퓨터 응용 프로그램이 실행되는 과정에서 컴퓨터 하드웨어들을 제어하고 응용 프로그램 실행 결과를 보일 수 있도록 컴퓨터 내부 동작을 관리하는 소프트웨어이다. 운영체제 내부에서 운영체제가 어떻게 동작한다라는 것을 이해하면 나중에 응용 프로그램을 구현할 때도 효과적으로 어플리케이션이 더 빨리, 안전하게 돌아가는 프로그램을 구현할 수 있기 때문이다!! 따라서 우리는 OS를 배워야 한다!! # OS의 기능1. Process management 2. Process scheduling 3. I/O device management 4. Booting : 보조기억장치에 들어가 있는 운영체제를 실행할 수 있도록 컴퓨터..
이 글은 충남대학교 김현수 교수님의 수업을 기반으로 작성한 내용입니다. 1. 유스케이스● 유스케이스 - “유스케이스(use case)는 시스템이 액터(actor)에게 관찰 가능한 가치의 결과를 생 산하기 위해 수행하는 일련의 행동 및 그 변형들의 집합” - “유스케이스는 완전한 기능을 명세함” ≫ 기능은 시스템의 경계를 정의한다. - 유스케이스는 프로세스를 묘사한다. - 프로세스는 조직이나 액터에게 가치 있는 것을 생산하기 위해 필요한 사건(events), 행동(actions) 및 거래(transactions)의 연속. ≫ 계좌에서 현금 인출 ≫ 제품 주문 ≫ 강좌 등록● 시나리오 vs 유스케이스 - 시나리오는 특정한 목표를 달성하기 ..
이 글은 충남대학교 김현수 교수님의 소프트웨어 공학 수업을 바탕으로 작성한 글입니다.# 요구사항 정의'어떻게' 보다는 '무엇을'에 관점을 두어야 함. # 도메인 분석● 소프트웨어 엔지니어가 문제를 더 잘 이해하기 위하여 도메인에 대하여 알아가는 과정 - 도메인 : 소프트웨어를 사용할 것으로 예상되는 고객이 일하는 분야의 비즈니스나 기술 - 도메인 전문가 : 소프트웨어가 사용될 도메인 분야에 깊이 있는 지식을 가진 사람(사용자이자 고객)● 도메인 분석을 수행하는 이점 - 빠른 개발(빠른 요구사항 파악) - 더 좋은 시스템 구축 가능(고객의 문제를 효과적으로 해결하는 솔루션 결정 가능) - 확장 예견(트렌드를 예측하는 능력, 적응도 높은 시스템 구축) # EX. 항공 예약 시스템..
이 글은 충남대학교 김현수 교수님의 수업을 바탕으로 작성한 글입니다. 이번 시간에는 프로젝트를 어떻게 관리해야 할지에 대해 알아보자 1. 프로젝트 관리 정의 : 프로젝트를 계획하고 수행하는데 필요한 모든 작업을 관리하는 것- 필요한 작업의 결정- 인력 확보- 직무 정의- 일정 계획- 작업 준비- 비용 예측- 지시, 감독- 결정 검토 및 승인- 팀원 사기 진작- 다른 프로젝트 관리자와 협력- 프로세스 개선 프로젝트 관리 활동- 제안서 작성 => 프로젝트 계획 및 스케줄링 => 프로젝트 비용 계획 => 프로젝트 모니터링 및 검토 => 인력 선발 및 평가 => 보고서 작성 및 프레젠테이션 # 프로젝트 계획1. 프로젝트 계획 수립 - 시간이 많이 걸리는 프로젝트 관리 활동 - 초기 개념에서 시스템 제공에..
이 글은 충남대학교 김현수 교수님의 소프트웨어 공학 수업을 듣고 작성한 글입니다. 이번 시간엔 소프트웨어 개발 프로세스와 이때 사용하는 모델에 대해 알아보자 1. 소프트웨어 개발 프로세스- 프로젝트를 소규모 작업으로 구성하는 일반적인 접근 방법- 관리자와 팀원들이 다음 사항을 결정하는데 도움(무엇을 어떤 순서로 할 것인가)- 모델은 작업 방식을 엄격하게 규정하기 보다는 생각하는데 도움을 주어야 함- 각 프로젝트는 고유의 계획을 가지고 진행되어야 함. 즉흥적으로 프로세스를 개발할 수도 있다. 그러면 어떤 문제가 발생할까? 1. 구현하기 전에 요구나 설계 등의 중요성을 인식하지 못함2. 설계가 잘 되지 않으면 소프트웨어의 질이 떨어질 수 있음3. 목표 없이 일하게 됨4. 테스트나 품질 보증 같은 작업의 필요..
이 글은 충남대학교 김현수 교수님의 소프트웨어공학 수업을 듣고 작성한 글입니다.소프트웨어공학 시험을 앞두고 암기를 어떻게 할까 고민하다가 블로그에 쓰기로 했다. 아마 그래서 다른 글보단 좀 자유로울걸...? 1. 소프트웨어란?과목의 이름이 소프트웨어공학이다. 컴공 전공생이라면 자주 들어봤을 소프트웨어라는 단어의 의미는 무엇일까? - 소프트웨어란 프로그램과 프로그램의 개발, 운용, 보수에 필요한 관련 정보 일체를 말한다. - 엔지니어링(공학) 작업의 결과는 프로그램 이외의 정보도 중요하며 S/W가 복잡해지면서 설계가 중요해졌다. # 소프트웨어의 특징소프트웨어는 6가지 특징을 가진다.1. 손에 잡히지 않는다. - 소프트웨어의 구조를 파악하기 쉽지 않다.2. 대량 생산하기 쉽다. - 비용의 대부분이 개..
이 글은 충남대학교 김기일 교수님의 컴퓨터 네트워크 수업 내용을 바탕으로 작성하였습니다. 데이터 통신에서는 physical layer와 datalink layer에 대해서 배웠다. 컴퓨터 네트워크 시간에는 이들의 상위계층인 network layer에 대해서 학습할 것이다.1. Network layer Service 이 그림이 우리가 배울 내용을 다 나타내고 있다. 데이터 통신 시간에 배웠듯이 같은 네트워크에 있다면 ARP를 보내 MAC 주소를 받아서 직접 통신을 할 수 있다. 하지만 같은 네트워크에 있지 않다면 라우터를 통해 네트워크를 서로 연결해야한다. 어떤 경로로 보내느냐는 내가 데이터를 어느 목적지에 보내느냐에 따라서 달라진다. 다른 네트워크를 찾아갈 때 그리디와 같은 알고리즘을 이용한다. ..