[컴퓨터 네트워크] - 네트워크 통신 (Network Communication)
·
💻 Computer Science/컴퓨터 네트워크
통신 방식 (Communication Method)LAN에서 통신하는 방식LAN에서 통신하는 방식으로는 유니캐스트, 브로드캐스트, 멀티캐스트가 있다.유니캐스트(Unicast) 유니캐스트 방식은 서버와 클라이언트의 일대일 통신 기법으로, 통신할 때 송신지와 수신지의 주소(MAC 주소)를 사용한다. 통신 시 프레임을 전송하면 네트워크의 모든 컴퓨터는 프레임을 전송받아 LAN 카드에서 자신의 MAC 주소와 비교한다. 이때, 자신의 MAC 주소와 수신지의 MAC 주소가 동일하면 전송된 데이터를 수신하고 그렇지 않으면 해당 프레임을 버린다. 유니캐스트 방식은 컴퓨터의 CPU에 영향을 주지 않으며 따라서 컴퓨터의 성능을 저하시키지 않는다.브로드캐스트(Broadcast) 브로드캐스트 방식은 로컬 LAN에 있는 모든 ..
[소프트웨어 공학] - 프로젝트 관리 (Project Management)
·
💻 Computer Science/소프트웨어 공학
프로젝트 팀 조직 소프트웨어는 프로젝트 팀 구성이 프로젝트 운영과 소프트웨어 결과물에 중요한 영향을 미친다. 개발 팀을 직능별로 나누어 부서를 나누거나 또는 다른 방식으로 부서를 형성할 수 있다. 프로젝트 팀 조직은 다음 세 가지를 정하는 것이다.역할과 책임이 어디 있는가?어떤 통로로 정보가 전달되고 결정되는가?어떻게 갈등을 해소할 것인가? 소프트웨어 개발을 위한 인력 자원과 작업 목표가 주어졌을 때 각자의 임무와 역할이 무엇인지 결정해야 한다.직능별 조직 구성 개발자들의 역할에 따라 같은 부서에 속하게 하는 것이 직능별 팀 조직이다. 직능별 팀 조직은 서로 다른 부서가 한 프로젝트의 다른 단계에 들어와 작업을 수행하고 나가는 것이다. 부분적으로 완성된 결과물이 한 부서에서 다른 부서로 전달되면서 소프트..
[소프트웨어 공학] - 비용 예측 기법 (Cost Estimation Techniques)
·
💻 Computer Science/소프트웨어 공학
비용 예측 기법 (Cost Estimation Techniques)프로젝트 계획 작업에는 소프트웨어 개발을 위한 비용이 얼마인지 예측할 필요가 있다. 비용을 계산하기 위해 “노력(Effort)”, “자원(Source)”, “기간(Duration)”의 관계를 이해해야 한다.노력(Effort): 프로젝트를 완성시키기 위해 필요한 작업의 양, 단위는 일(Work-Day), 주(Work-Week), 달(Work-Month)로 표현한다.자원(Resource): 작업에 동원될 수 있는 인력의 양기간(Duration): 작업이 수행될 기간노력과 자원, 기간의 관계는 다음의 식으로 나타낼 수 있다. 이때, M(Manpower)은 투입되는 인력의 투입 비율의 총합이다. $$ D = E/M $$ 비용 예측 기법에는 크게 ..
[소프트웨어 공학] - 프로젝트 계획 (Project Planning)
·
💻 Computer Science/소프트웨어 공학
프로젝트를 관리하는 목적은 작업 수행에 필요한 여러 가지 자원, 인력, 비용, 기술 등을 효과적으로 사용하여 프로젝트의 목표를 달성하기 위함이다. 프로젝트 관리는 “계획”, “조직”, “모니터링”, “조정”의 네 가지 활동으로 이루어진다. 각 활동은 프로젝트의 진행에 따라 순차적으로 이뤄진다.프로젝트 시작 (Project Start) 프로젝트의 첫 작업은 목표를 세우고 가치와 치스크를 이해하는 일이다. 프로젝트를 시작할지 말지를 결정하는 요인은 다음과 같다.`프로젝트가 제공할 가치`: 프로젝트에 의해 창출되는 가치와 프로젝트의 결과물이 얼마나 지속 가능한지를 말한다.`프로젝트와 연관된 리스크`: 자원의 가용성, 타이밍, 기술적 어려움 등을 말한다. 가치와 리스크는 정확하게 평가하기는 쉽지 않지만 정량적으..
[소프트웨어 공학] - 프로세스와 방법론 (Process & Methodology)
·
💻 Computer Science/소프트웨어 공학
소프트웨어 생명주기 (Life Cycle) 소프트웨어는 사람과 같이 생명주기를 가진다. 개발된 소프트웨어는 계속해서 변경되고, 새로운 기능이 추가되어 쓰이며 마침내 소멸에 이른다. 소프트웨어 프로젝트의 생명주기는 “요구분석 → 설계 → 구현 → 테스팅 → 유지보수”의 단계들을 거친다.TIP!소프트웨어 프로젝트의 생명주기는 “요구분석 → 설계 → 구현 → 테스팅 → 유지보수”의 단계를 거친다.프로세스 (Process) 프로세스는 소프트웨어 시스템을 구축하기 위해 수행되는 작업의 단계로, 소프트웨어 개발에 관한 기술적, 관리적 이슈를 다루는 작업을 소프트웨어 프로세스라고 부른다. 프로세스는 여러 컴포넌트 프로세스로 구성된다. 각 컴포넌트 프로세스는 서로 다른 목적을 가지지만 서로 협력하여 전체 소프트웨어 공..
[소프트웨어 공학] - 소프트웨어 공학 개론 (Introduction of Software Engineering)
·
💻 Computer Science/소프트웨어 공학
소프트웨어 (Software) 소프트웨어는 컴퓨터를 작동시키는 프로그램으로 하드웨어의 동작을 제어하는 명령어들로 구성되어 있다.소프트웨어 특징 소프트웨어가 가지는 특징은 다음과 같다.`복잡성(Complexity)`: 소프트웨어가 자동화하려는 대상은 수많은 내부 요소들로 이루어져 있어 복잡하다.`순응성(Conformity)`: 환경이나 데이터의 변화에 따라 적절하게 변형된다.`변경성(Changeability)`: 소프트웨어는 문자로 구성된 프로그램으로 쉽게 변경 가능하며 개발 과정 중 자주 변화된다.`비가시성(Invisibility)`: 소프트웨어는 가시적인 매체에 저장되지만 그 자체는 무형이며 구조가 코드 안에 있기에 쉽게 드러나지 않는다.소프트웨어 종류 소프트웨어는 크게 세 가지 유형으로 분류된다.`주..
[컴퓨터 네트워크] - 네트워크 구성 (Network Architecture)
·
💻 Computer Science/컴퓨터 네트워크
네트워크의 구성 (Network Architecture)네트워크를 구성하는 요소로는 “컴퓨터”, “네트워크 접속 장치”, “네트워크 전송 매체”로 분류된다.`PC(컴퓨터, 서버)`: 우리가 일상에서 주로 사용하는 웹 브라우저, 카카오톡, 인스타그램 등은 애플리케이션의 종류이다. 애플리케이션은 네트워크를 사이에 두고 다양한 데이터를 송수신한다.`네트워크 접속 장치`: 애플리케이션의 데이터를 정상적으로 전송하기 위한 장치로, 기본적으로 한 네트워크 내부에서 데이터 전송을 수행하는 “스위치”와 서로 다른 네트워크를 구분 짓고 연결하는 “라우터”가 있다.`네트워크 전송 매체`: 컴퓨터와 네트워크 접속 장치는 전송 매체에 의해 서로 연결되며, “유선 전송 매체(케이블)”와 “무선 전송 매체(전파)”로 분류된다. ..
loading