본문 바로가기
728x90
반응형
SMALL

응용소프트웨어공학18

Solidity 구조체 1. 구조체 개요 정의 구조체 : 서로 다른 자료형을 하나의 이름으로 묶는 자료형 이더리움의 데이터베이스를 활용하기 위해서 구조체 정의 및 구조체 배열 사용 필요 표현 구조체 표현 구조체 이름 [ ] 배열이름 ; 구조체 이름 [ ] public 배열이름; 배열과 유사하다고 보면된다. Struct 구조체 이름 { 자료형 변수명; .. 자료형 변수명; } 즉 구조체 이름 [ ] 배열이름 구조체 개요 구조체 배열 표현 일반적 : 구조체 변수 선언 후 값 삽입 배열 : .push 사용, 이 경우, 대다수 동적배열을 사용하기 때문에 배열의 맨마지막에 넣어주기위해 사용한다. 그래서 구조체 배열을 표현하는 방법으로는 방법 1: 구조체 이름 [] 배열이름; 구조체이름 변수 = 구조체이름(맴버값들); 배열이름.push(.. 2021. 11. 22.
CASE와 정보저장소 1. CASE : Computer Aided Software Engineering 소프트웨어 개발 과정에서 사용되는 요구 분석, 설계, 구현, 검사 및 디버깅 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는 것 소프트웨어 생명 주기의 전체 단계를 연결해 주고, 자동화해 주는 통합된 도구를 제공하는 기술 소프트웨어 개발 도구와 방법론이 결합된 것으로, 정형화된 구조 및 방법을 소프트웨어 개발에 적용하여 생산성 향상을 구현하는 공학 기법 소프트웨어 개발의 모든 단계에 걸쳐 일관된 방법론을 제공하는 자동화 도구(CASE tool)들을 지원하고, 개발자들은 이 도구를 사용하여 소프트웨어 개발의 표준화를 지향하며, 자동화의 이점을 얻을 수 있게 해줌 사용의 이점 소프트웨어 개발 기간을 .. 2021. 11. 22.
소프트웨어 위험 관리 위험의 범주 프로젝트 과정에서 발생할 수 있는 위험의 분류 프로젝트 위험 (Project risk) 프로젝트 계획을 위협하는 것 일정이 지연되고, 비용이 증가하게 됨 기술 위험 (Technical risk) 소프트웨어의 품질이나 시기를 위협하는 것 구현이 어려워 지거나 불가능하게 됨 비즈니스 위험 (Business risk) 소프트웨어의 생존 가능성을 위협하는 것 원치 않는 제품이나 전략에 맞지 않는 제품등을 개발하게 함 소프트웨어 개발 시 일반적인 위험 요소 인력부족, 예산 관리, 일정 관리, 사용자 요구 사항 변경 등 가장 대표적인 위험 요소 : 사용자 요구 사항 변경 Charette 가 제안한 위험의 종류 알려진 위험 (Known risk) 프로젝트 계획서, 기술적 환경, 정보 등에 의해 발견될 수.. 2021. 11. 16.
객체지향 구현 객체지향 구현 설계단계에서 생성된 설계모델과 명세서를 근거로 하여 코딩하는 단계 객체지향 프로그래밍을 이용하면 용이하게 구현할 수 있음 객체는 순차적(sequentially)으로 또는 동시적(concurrently)으로 구현될수 있음 객체지향 프로그래밍(OOP : Object Oriented Programming) 새로운 개념의 모듈 단위, 즉 객체라는 단위를 중심으로 하여 프로그램을 개발하는 기법 객체라는 단쉬를 이용하여 현실세계와 가까운 방식으로 프로그래밍함 현실 세계에 가까운 방식이므로, 이해하기 쉽고, 조작하기 쉬운 프로그램을 개발할 수 있음 유지보수가 쉽고, 재사용 가능한 프로그램을 만들 수 있음 이미 개발된 프로그램을 이용해 빠르게 확장된 프로그램을 개발할 수 있음 개표적인 객체지향 프로그래밍.. 2021. 11. 8.
객체지향 설계 객체지향 분석(OOA)을 사용하서 생성한 여러 가지 분석 모델을 설계 모델로 변환하는 작업으로, 시스템 설계와 객체 설계를 수행함. 최근 소프트웨어 제품의 전형적인 타입인 사용자 중심, 대화식 프로그램의 개발에 적합함 가장 중요한 문제 : 시스템을 구성하는 객체와 속성, 연산의 인식 설계 개념 추상화 정보은닉 기능 독립성 모듈화 - 가장 중요한 개념!! 상속성 일반적인 객체지향 설계단계의 순서 문제 정의 요구 명세화 객체 연산자 정의 객체 인터페이스 결정 객체 구현 1. 럼바우의 객체지향 설계 시스템 설계 전체적인 시스템 구조를 설계하는 것으로, 분석단계의 분석 모델을 서브시스템으로 분할하고, 시스템의 계층을 정의하며 분할 과정 중에서 성능의 최적 방안, 문제 해결 전략, 자원 분해 등을 확정하는 것 상.. 2021. 11. 8.
Solidity 데이터타입과 연산자(3) 연산자 연산자종류 총 6개 종류의 연산자가있다. 기존의 연산자와 유사하다. 예를들어 대입 연산자는 a = a + 1 를 a+=1 로 함축해서 대입시키는 것이다. 이 6가지에 대해 설명하겠다. 1. 산술연산자 + 더하기 - 빼기 * 곲하기 / 나누기 % 나머지 ** 지수연산 예제 //SPDX-License-Identifier: UNLICENSED pragma solidity ^0.6.10; contract Plus { function plus() public pure returns (uint) { uint a = 1; uint b = 2; return a + b * 2; } function rest() public pure returns (uint) { return 4 % 3; } } 산술연산을 통해 ui.. 2021. 11. 5.
Solidity 데이터타입과 연산자 1. Solidity 데이터타입 기본 데이터 타입 -논리 -정수 -소수 -실수 등등 복합 데이터 타입 -문자열 -배열 -구조체 기존 자바? 와 비슷하게 데이터타입이있다. 솔리디티는 저장하는 위치는 스마트계약을 작성하였을때, 저장하는 위치가 다르다. 스토리지 저장 영구적으로 저장됨 gas소모량이 큼 - 변수 대부분은 스토리지에 저장 메모리 저장 휘발성 저장 gas 소모량이 적음 - 메모리에 저장하고싶으면 메모리에 저장하겠다고 함수나 메서드를 작성해야함 - 함수의 인수나 반환값은 메모리에 저장된다. 상태변수 Contract 상위에 선언된 변수로써 Contract에 속한 변수이다. 클래스의 멤버 변수와 동일하다.(어떤 함수에 속한 변수가 아님) 저장 위치는 스토리지 이다. 지역변수 함수에 속한 변수 (함수가 .. 2021. 11. 4.
드론의 구성요소(4) 1. 가속도 센서 2. 가속도계 3. 선형(직선)운동과 각 (회전)운동 4. 자이로 센서(Gyro Sensor) 5. MEMS(Micro Electro Mechanical System) 6. 자유도 기타센서 1. 관성측정 장치 2. 드론의 필수 장지 IMU(Inertial Measurement Unit) 3. 10자유도 (DoF) IMU센서 4. 기압계와 비전센서 5. 최신 드론에 탑재하는 IMU내 센서들(11DoF) 2021. 11. 2.
드론의 구성요소(3) 1. 초음파(Ultrasonic) 센서 초음파와 그의 쓰임에 대해 우선 공부를 해보곘다. 초음파센서는 음파를 사용하는 센서로써, 음파의 주파수 별로 분류를 하면면, 가청주파수 사람이 들을 수 잇는 음파(20Hz ~ 20kHz) -일반적인 범위 연령과 사람에 따라 16Hz까지 이야기 하기도 함 헤르츠Hz : 1초를 기준으로, 한번의 파형이 있는 영역을 이야기 한다. 가청주파수의 영역보다 낮은 주파수는 저주파라고 하며, 이보다 높은것을 초음파의 영역이라고 한다. 초음파 (Ultrasonic wave) 사람이 들을 수 없는 20kHz 이상의 높은 범위 동물들이 경우 가청주파수 이상의 초음파 주파수를 들을 수 있는 경우도 있고, 특히 개, 돌고래, 박쥐 등 동물의 경우는 20kHz 이상을 청취 할 수 있으며, .. 2021. 11. 2.
객체지향의 원리 1. 캡슐화 캡슐화 (encapsulation) 캡슐화된 객체의 세부 내용이 외부에 은폐되어 변경이 발생해도 오류의 파급효과가 적음 캡슐퐈된 객체들은 재사용이 용이함 인터페이스가 단순해지고, 객체간의 결합도가 낮아짐 객체를 캡슐화하여 what만 보여주고, how는 감춤 객체를 작성할 때 숨겨야하는 정보외 정보를 구분하여 작성함 객체의 사용자는 기능만 알고 사용하여, 어떻게 처리되는지는 은폐된다. (Infomation hiding) 장점 객체에 포함된 정보의 손상과 오용을 막을 수 있다. 객체 조작 방법이 바뀌어도 사용방법은 바뀌지 않는다 데이터가 바뀌어도 다른 객체에 영향을 주지않아 독립성이 유지된다. 처리된 결과만 사용하므로 객체의 이식성이 좋다. 객체의 부품화 할 수 있어 새로운 시스템의 구성에 부품.. 2021. 11. 1.
객체지향 방법론 학습순서 객체지향과 절차지향 객체지향 기법의 구성요소 객체지향의 원리 객체지향의 개념과 객체지향 프로그래밍 언어(JAVA) 객체지향의 배경 객체지향 기법은 절차지향 기법의 문제점으로 인한 소프트웨어 위기의 해결책으로 채택되어 사용되었다. 컴퓨팅 환경에 대한 보다 많은 기능, 단순성, 재사용성, 사용 편의성 등에 대한 사용자 요구가 증가됨 객체지향 vs 절차지향 절차지향이란? - 하나의 커다란 작업을 여러개 작은 작업으로 분할하고, 분할된 각각의 소작업을 수행하는 함수를 작성하여, 프로그램의 절차에 따라 함수를 호출하는 형태로 진행하는 기법 - 데이터와 그 데이터를 변화시키는 함수로 구성되어있다. 구성 : 데이터와 그 데이터를 변화시키는 함수 절차지향 : 프로그램 = 데이터 + 함수 객체지향이란? - 현실.. 2021. 11. 1.
Solidity개발(2) https://remix.ethereum.org/ 접속하여 개발을 해보자 Remix - Ethereum IDE remix.ethereum.org 스마트컨트랙트 만들기 - 코드 적어보기(1) 1. 새로 test.sol 파일을 만들어준다 2. 내용을 넣어준다. pragma solidity ^0.4.18; contract test{ string private stateVariable = "Hi"; function getHw() public view returns(string){ return stateVariable; } } 이때 이것을 입력하면 컴파일 오류가 뜬다. 이유는 pragma 버전을 너무 낮게 작성한것이다. 현재는 0.8인데 0.4버전을 선언하니까 컴파일러가 오류로 받아들이는 것이다. 그럼 컴파일버전.. 2021. 10. 31.
728x90
반응형
LIST