Ubuntu에서 Mininet(미니넷) 구축하기 | 환경 구축 - 1
·
Ubuntu
*2023 - 03- 24 내용 보충 및 수정하였습니다. 그리고 포스팅 길이가 길고 삽입된 이미지가 많아서 포스팅 로딩시간이 다소 길 수 있어서, 환경구축과 파이썬코드 및 결과 두개의 글로 나눠서 다시 포스팅 했습니다. Oracle VM VirtualBox가 설치되었있다는 전재하에 진행하겠습니다 프로젝트는 Oracle VM VirtualBox를 통해서 진행되었습니다 Mininet 이란 가상 네트워크를 통해 SDN이나 OpenFlow와 같은 네트워크 환경을 시뮬레이션할 수 있는 오픈 소스 프로그램으로는 Mininet이 알려져 있습니다. Mininet은 가상 스위치와 호스트를 사용하여 네트워크를 시뮬레이션하는 소프트웨어로, SDN 및 OpenFlow와 같은 네트워크 프로토콜을 시험하고 개발하는 데 사용됩니다..
[데이터베이스 설계]웹 기술 및 데이터 저장(XML)
·
Database design
XML 이란 XML은 확장성 마크업 언어(Extensible Markup Language)의 약자로 W3C에서 개발된, 특수한 목적들을 갖는 마크업 언어를 만드는 데 사용하도록 권장되는 마크업 언어이다 HTML과 유사한 형태를 띄고, Tag를 사용자가 정의할 수 있다 Tag는 XML Introduction와 같이 여는 태그가 있으면 닫는 태그가 반드시 존재한다 이러한 XML은 문서 만드는 것뿐만 아니라 데이터를 교환하는 좋은 방법이 될 수 있다 장점 데이터 교환 형식으로 관계형 튜플(Relational tuple) 보다 우수하다 태그의 존재로 자체 문서화가 가능하다(사람이 직접 데이터를 읽기 쉬움) 중첩 구조(Nested structure)를 허용한다 폭넓은 수용능력을 가졌다(ex 데이터베이스 시스템, ..
[소프트웨어 공학] Testing -1
·
Software Engineering
개요 개발 테스팅(Development testing) 테스트 주도 개발(Test-driven development) 출시 테스트(Release testing) 사용자 테스트(User testing) 테스팅(testing)이란? 소프트웨어가 사람들에 의해 사용되기 전에 프로그램 결함들을 발견하고 프로그램이 무엇을 하는지를 보기 위한 과정이다 확인 그리고 결함 테스팅(Validation and defect testing) Validation testing 프로그램이 제대로 동작하는 지를 확인하기 위해 테스트 케이스를 만들고 테스트한다 Defect testing 소프트웨어의 동작에 문제가 있거나 설계(Specification)에 맞지 않는 결함을 발견하는 것 위에 Fig.1 과 같이 비정상적인 인풋(Anom..
[소프트웨어 공학] DesignConcept - 1
·
Software Engineering
Software Design(설계) 소프트웨어 디자인은 Principles Concepts Practices 위에 세 가지 요소가 좋은 퀄리티의 제품 혹은 시스템을 만드는데, 중요한 요소가 된다 Requirement -> Design -> Coding 요구사항 단계와 설계(Design) 단계는 상호 연관되어 있고, 설계 작업은 요구사항을 명확하게 해 준다 설계단계는 4가지로 구분된다 구성 요소 설계(Component - level design) : 소프트웨어 아키텍처의 구조적 요소를 소프트웨어 구성요소의 절차적 설명으로 변환한다 인터페이스 설계(Interface design) : 소프트웨어와 상호 운용하는 사람과 어떻게 통신할지 설명한다 구조 설계(Architectural design) : 소프트웨어의 ..
[데이터베이스 설계] 쿼리 최적화 설렉션(Query optimization selection)
·
Database design
설렉션 연산(Selection Operation) 설렉션 연산 기호는 σ p(r) 여기서 p는 명제 그리고 r은 당연히 릴레이션이다 ex) σ branch name = 'Perryridge'(account) 정의하자면 p는 명제계산식의 조건이고 ^(and) v(or) ㄱ(not) 로 연결된다 ex) op [ or ] 설렉션 연산의 실행(Evaluation of Selection Operation) - File scan: 하나의 검색 알고리즘으로 설렉션을 이행하기 위해서 파일을 스캔하고 검색하기 위해 사용된다 -Index scan : 역시 하나의 알고리즘으로 인덱스를 사용해서 검색한다 설렉션 연산을 위한 알고리즘(File scan : linear search) 설렉션 상태(selection conditio..
[데이터베이스 설계]쿼리 평가 기초(Query Evaluation Basics)
·
Database design
개요 쿼리 과정의 기초 쿼리 과정의 기초 단계 쿼리 수행 시간 계산 방법 아래 그림은 쿼리 동작 과정이다 3가지의 기초적인 단계로 나뉘는데 문의 분석 그리고 해석(Parsing and Translation) 최적화(Optimization) 평가(Evaluation) Parsing and Translation 쿼리를 내부의 양식으로 변환하는데, 이때 관계대수(Relational algebra)로 번역된다 Parser은 문법검사와 릴레이션을 확인한다 컴파일러와 같은 역할을 수행한다 Evaluation 쿼리 평가 계획은 쿼리 실행 계획이라고도 한다. 쿼리 실행 엔진은 주어진 쿼리의 출력을 생성하는 역할을 한다. 쿼리 실행 계획을 가져와서 실행하고 마지막으로 사용자 쿼리에 대한 출력을 만듭니다 많은 양의 데이터..
[소프트웨어 공학] 요구 공학(Requirement Engineering) - 4-2
·
Software Engineering
소프트웨어 요구사항 명세화(Software Requirement Specification SRS) : 소프트웨어 요구사항 명세서(SRS)는 소프트웨어의 요구사항을 분석하고 정의하는 단계에서 작성되는 최종 산출물 SRS의 특징에는 - Correct 정확한 - Complete 완전한 - Unambiguous 애매하지 않은 - Verifiable 입증할 수 있는 - Consistent 일관성 - Ranked for importance and/or stability - Modifiable 수정 가능한 - Traceable 요구사항 명세서에 포함해야 하는 세부 정보 수준은 개발 중인 시스템의 유형과 사용되는 개발 프로세스에 따라 달라집니다 요구사항 명세서는 다음 그림과 같은 기본 양식을 가지고 있다 - 요구 공학..
[소프트웨어 공학] 기능적, 비기능적 요구(Functional, Non-Functional Requirement) - 4-1
·
Software Engineering
요구사항(Requirement)이란? 시스템이 무엇을 해야 할지에 대해서 서술한 것 그러므로 당연히 소비자의 니즈(needs)가 반영된다 이러한, 니즈와 제약에 대해서 찾아내고, 분석하고, 문서화 그리고 검토하는 것을 요구 공학이라고 부른다 요구 사항은 고급언어(*사람이 이해할 수 있는)로 적히고 , 시스템이 제공해야 하는 서비스와 (서비스, 개발, 운영) 시스템의 제약이라고 할 수 있다 1. 사용자 요구(User Requirement Definition): 시스템의 제약과 서비스를 표현하기 위해 자연어와 다이어그램으로 나타내어진다 2. 시스템 요구(System Requirements Specification): 소프트웨어 시스템의 기능, 서비스 그리고 운영상의 제약보다 상세하게 적힌다 무엇을 구현할지에..