CS

CS/Software Engineering

[SE] 유스케이스 모델링

이 글은 충남대학교 김현수 교수님의 수업을 기반으로 작성한 내용입니다. 1. 유스케이스● 유스케이스    - “유스케이스(use case)는 시스템이 액터(actor)에게 관찰 가능한 가치의 결과를 생 산하기 위해 수행하는 일련의 행동 및 그 변형들의 집합”     - “유스케이스는 완전한 기능을 명세함” ≫ 기능은 시스템의 경계를 정의한다.     - 유스케이스는 프로세스를 묘사한다.     - 프로세스는 조직이나 액터에게 가치 있는 것을 생산하기 위해 필요한 사건(events), 행동(actions) 및 거래(transactions)의 연속.        ≫ 계좌에서 현금 인출        ≫ 제품 주문        ≫ 강좌 등록● 시나리오 vs 유스케이스    - 시나리오는 특정한 목표를 달성하기 ..

CS/Software Engineering

[SE] 요구사항 정의 및 개발

이 글은 충남대학교 김현수 교수님의 소프트웨어 공학 수업을 바탕으로 작성한 글입니다.# 요구사항 정의'어떻게' 보다는 '무엇을'에 관점을 두어야 함.  # 도메인 분석● 소프트웨어 엔지니어가 문제를 더 잘 이해하기 위하여 도메인에 대하여 알아가는 과정    - 도메인 : 소프트웨어를 사용할 것으로 예상되는 고객이 일하는 분야의 비즈니스나 기술    - 도메인 전문가 : 소프트웨어가 사용될 도메인 분야에 깊이 있는 지식을 가진 사람(사용자이자 고객)● 도메인 분석을 수행하는 이점    - 빠른 개발(빠른 요구사항 파악)    - 더 좋은 시스템 구축 가능(고객의 문제를 효과적으로 해결하는 솔루션 결정 가능)    - 확장 예견(트렌드를 예측하는 능력, 적응도 높은 시스템 구축) # EX. 항공 예약 시스템..

CS/Software Engineering

[SE] 프로젝트 관리

이 글은 충남대학교 김현수 교수님의 수업을 바탕으로 작성한 글입니다. 이번 시간에는 프로젝트를 어떻게 관리해야 할지에 대해 알아보자 1. 프로젝트 관리  정의 : 프로젝트를 계획하고 수행하는데 필요한 모든 작업을 관리하는 것- 필요한 작업의 결정- 인력 확보- 직무 정의- 일정 계획- 작업 준비- 비용 예측- 지시, 감독- 결정 검토 및 승인- 팀원 사기 진작- 다른 프로젝트 관리자와 협력- 프로세스 개선  프로젝트 관리 활동- 제안서 작성 => 프로젝트 계획 및 스케줄링 => 프로젝트 비용 계획 => 프로젝트 모니터링 및 검토 => 인력 선발 및 평가 => 보고서 작성 및 프레젠테이션 # 프로젝트 계획1. 프로젝트 계획 수립  - 시간이 많이 걸리는 프로젝트 관리 활동  - 초기 개념에서 시스템 제공에..

CS/Software Engineering

[SE] 소프트웨어 프로세스

이 글은 충남대학교 김현수 교수님의 소프트웨어 공학 수업을 듣고 작성한 글입니다. 이번 시간엔 소프트웨어 개발 프로세스와 이때 사용하는 모델에 대해 알아보자 1. 소프트웨어 개발 프로세스- 프로젝트를 소규모 작업으로 구성하는 일반적인 접근 방법- 관리자와 팀원들이 다음 사항을 결정하는데 도움(무엇을 어떤 순서로 할 것인가)- 모델은 작업 방식을 엄격하게 규정하기 보다는 생각하는데 도움을 주어야 함- 각 프로젝트는 고유의 계획을 가지고 진행되어야 함. 즉흥적으로 프로세스를 개발할 수도 있다. 그러면 어떤 문제가 발생할까? 1. 구현하기 전에 요구나 설계 등의 중요성을 인식하지 못함2. 설계가 잘 되지 않으면 소프트웨어의 질이 떨어질 수 있음3. 목표 없이 일하게 됨4. 테스트나 품질 보증 같은 작업의 필요..

CS/Software Engineering

[SE] 소프트웨어 공학의 개요

이 글은 충남대학교 김현수 교수님의 소프트웨어공학 수업을 듣고 작성한 글입니다.소프트웨어공학 시험을 앞두고 암기를 어떻게 할까 고민하다가 블로그에 쓰기로 했다. 아마 그래서 다른 글보단 좀 자유로울걸...? 1. 소프트웨어란?과목의 이름이 소프트웨어공학이다. 컴공 전공생이라면 자주 들어봤을 소프트웨어라는 단어의 의미는 무엇일까? - 소프트웨어란 프로그램과 프로그램의 개발, 운용, 보수에 필요한 관련 정보 일체를 말한다. - 엔지니어링(공학) 작업의 결과는 프로그램 이외의 정보도 중요하며 S/W가 복잡해지면서 설계가 중요해졌다.   # 소프트웨어의 특징소프트웨어는 6가지 특징을 가진다.1. 손에 잡히지 않는다.  - 소프트웨어의 구조를 파악하기 쉽지 않다.2. 대량 생산하기 쉽다.  - 비용의 대부분이 개..

CS/Computer Network

[CN] About Network-Layer

이 글은 충남대학교 김기일 교수님의 컴퓨터 네트워크 수업 내용을 바탕으로 작성하였습니다. 데이터 통신에서는 physical layer와 datalink layer에 대해서 배웠다. 컴퓨터 네트워크 시간에는 이들의 상위계층인 network layer에 대해서 학습할 것이다.1. Network layer Service  이 그림이 우리가 배울 내용을 다 나타내고 있다. 데이터 통신 시간에 배웠듯이 같은 네트워크에 있다면  ARP를 보내 MAC 주소를 받아서 직접 통신을 할 수 있다. 하지만 같은 네트워크에 있지 않다면 라우터를 통해 네트워크를 서로 연결해야한다.  어떤 경로로 보내느냐는 내가 데이터를 어느 목적지에 보내느냐에 따라서 달라진다. 다른 네트워크를 찾아갈 때 그리디와 같은 알고리즘을 이용한다.  ..

Cho대뿟다
'CS' 카테고리의 글 목록