본문 바로가기
#4 소프트웨어설계4 - 요구사항 개발 요구사항 개발 요구공학(Requirements Engineering) 소프트웨어 개발 시 사용자 요구가 정확히 반영된 시스템 개발을 위하여 사용자의 요구를 추출, 분석, 명세, 검증, 관리하는 구조화된 활동 집합 요구사항을 정의하고, 문서로 만들고, 관리하는 프로세스를 의미 효과적인 의사소통을 통하여 공통 이해 설정, 불필요한 비용절감, 요구사항 변경 추적 가능 분석 결과의 문서화 자료 흐름도, 자료 사전 등이 효과적으로 이용될 수 있으며, 더 구체적인 명세를 위해 소단위 명세서(Mini-Spec)가 활용될 수 있음 요구공학의 목적 이해관계자 사이의 원활한 의사소통 수단 제공 요구사항 누락 방지, 상호 이해 오류 등 제거로 경제성 제공 요구사항 변경 이력 관리를 통하여 개발 비용 및 시간 절약 비용과 일.. 2023. 3. 25.
#3 소프트웨어 설계 - 현행 시스템 분석 현행 시스템 분석 현행 시스템 분석 현행 시스템 분석의 정의와 목적 현 시스템이 어떤 하위 시스템으로 구성되어 있는 지 파악하는 절차 현행 시스템의 제공 기능과 타 시스템과의 정보 교환 분석을 파악 현행 시스템의 기술 요소와 소프트웨어, 하드웨어를 파악 목적: 개발 시스템의 개발 범위를 확인하고 이행 방향성을 설정 현행 시스템 파악 절차 [1단계] [시스템 구성 파악] --> [시스템 기능 파악] --> [시스템 인터페이스 현황 파악] [2단계] [아키텍처 파악]--> [S/W 구성 파악] [3단계] [시스템 H/W 현황 파악]--> [네트워크 구성 파악] 시스템 아키텍처 상위 시스템과 하위 시스템들이 어떤 관계로 상호작용하는 지 각각의 동작 원리와 구성을 표현 단위 업무 시스템별로 아키텍처가 다른 경우.. 2023. 3. 24.
#2 소프트웨어 설계 - 애자일과 스크럼 애자일(Agile) 개발 방법론 애자일 방법론 날렵한, 재빠른이란 사전적 의미 특정 방법론이 아닌 소프트웨어를 빠르고 낭비없이 제작하기 위해 고객과의 협업에 초점을 두고 소프트웨어 개발 중 설계 변경에 신속히 대응하여 요구사항 수용 가능 특징 짧은 릴리즈와 반복, 점증적 설계, 사용자 참여, 문서 최소화, 비공식적인 커뮤니케이션 변화 종류 익스트림 프로그래밍(XP, eXtremProgramming) 스크럼(SCRUM) 린(Lean) DSDM(Dynamic System Development Method) FDD(Featrue Driven Development) Crystal ASD(Adaptive Software Development, 적응형 소프트웨어 개발 방법론) DAD(Disciplined Agile.. 2023. 3. 23.
#1 소프트웨어 설계 소프트웨어 공학의 개념 소프트웨어 소프트 웨어의 개념 컴퓨터를 동작시키고 어떤 일의 처리 순서와 방법을 지시하는 명령어의 집합인 프로그램_과 프로그램의 수행에 필요한 _절차, 규칙, 관련 문서 등을 총칭 프로그램 컴퓨터를 통해 일련의 작업을 처리하기 위한 명령어와 관련된 데이터의 집합 자료구조(Data Structure) 컴퓨터 기억 장치 내에 자료의 표현, 처리, 저장 방법 등을 총칭하는 것으로 데이터 간의 논리적 관계나 처리 알고리즘을 의미함 문서(paper) 소프트 웨어를 개발함에 있어서 사용자 설명서, 소프트웨어 요구분석서, 평가서, 명세서, 프로젝트 계획서, 검사 계획서 등을 의미함 소프트웨어 특징 상품성 소프트 웨어를 개발하면 상품이 되어 판매가 됨 복잡성 개발하는 과정이 복잡하고 관리가 어려.. 2023. 3. 21.
HTTP 의미 체계 준수 HTTP 의미 체계 준수 HTTP 사양을 준수하는 API 디자인에 대한 일반 고려 사항을 알아보자 미디어 유형 클라이언트와 서버는 Resource Representation을 교환함 POST 요청의 경우 요청 본문에 생성할 Resource의 Representation이 포함됨 GET 요청의 경우 응답 본문에 가져온 Resource의 표현이 포함됨 HTTP 프로토콜에서의 표현 형식 HTTP 프로토콜에서 형식은 MIME 유형이라고 하는 _미디어 유형_을 사용하여 지정됨 이진이 아닌 데이터의 경우 대부분의 Web API는 JSON과 XML을 지원함 JSON 미디어 유형: application/json XML 미디어 유형: application/xml 미디어 유형 지정 요청 / 응답의 Content-Type 헤.. 2023. 3. 13.
HTTP 메서드 측면에서의 API 작업 정의 HTTP 메서드 측면에서의 API 작업 정의 HTTP 프로토콜은 요청에 체계의미를 할당하는 다양한 메서드를 정의하고 있음 일반적인 HTTP 메서드 메서드 내용 응답 메세지의 본문 GET 지정된 URI에서 Resource의 Representation을 검색 요청된 Resource의 세부 정보 POST 지정된 URI에 새로운 Resouce를 생성 Resource를 생성하지 않는 작업을 수행할 수도 있음 새 Resource의 새부 정보를 제공 PUT 지정된 URI에 Resource를 생성하거나 대체 만들 또는 업데이트할 Resource를 지정 PATCH 지정된 URI에서 Resource의 부분 업데이트 수행 Resource에 적용할 변경 내용을 지정 DELETE 지정된 URI의 Resource를 제거 특정 요.. 2023. 3. 13.
RESTful Web 디자인 well-formed 웹 디자인이 지원하는 특성 플랫폼 독립성 모든 클라이언트는 내부에서 API가 구현되는 방법에 관계없이 API를 호출할 수 있어야 함 그러려면 프로토콜을 사용해야 하며, 클라이언트 및 웹 서비스가 교환할 데이터 형식에 동의할 수 있는 메커니즘이 있어야 함 서비스진화 Web API는 클라이언트 앱과 독립적으로 기능을 진화시키고 추가할 수 있어야 함 API가 진화해도 기존 클라이언트 앱은 수정없이 계속 작동할 수 있어야 함 모든 기능은 클라이언트 앱이 해당 기능을 완전히 이용할 수 있도록 검색 가능해야 함 REST란? 2000년 Roy Fielding이 제안한 서비스를 디자인하는 아키텍처 접근방식 하이퍼미디어 기반 분산 시스템을 구축하기 위한 아키텍처 스타일 REST는 어떤 기본 프로토콜.. 2023. 3. 12.
ERC20토큰 목차 인터페이스 개념 IERC20.sol ERC20.sol IvyToken.sol 1. 인터페이스 개념 인터페이스는 추상 contract와 비슷하지만, 절대로 body 부분, 즉 {} 을 가진 함수를 포함할 수 없다. 다음은 인터페이스가 가지고 있는 추가적인 제한의 내용이다. 다른 contract로부터 상속받을 수 없지만, 다른 interface로부터 상속받을 수 있다. 모든 선언된 함수는 contract 안에서 public일지라도, interface에서는 external 선언이 되어야만 한다. constructor 선언 불가 상태 변수 선언불가 modifier 선언 불가. 위의 제한은 미래에 변경될 수도 있는 부분임을 참고 바란다. 인터페이스는 기본적으로 Contract ABI가 나타낼 수 있는 것들로.. 2022. 7. 21.
스마트컨트랙트에 결제 기능 넣기 사과가게 만들기 함수의 payable 개념 payable 키워드가 있어야만 tx 객체의 to 속성값인 CA 계정으로, value 속성값인 ETH를 줄 수 있다. 즉, tx 객체를 보낼 때, value 속성에 이더를 넣기 위해서 payable를 작성해주어야 한다, // SPDX-License-Identifier: MIT pragma solidity ^0.8.15; contract AppleShop{ mapping(address => uint) myApple; //구매: myApple 변수의 address에 사과 갯수++, //tx 객체 보낼 때 단위당 사과 갯수 만큼 value값을 주기 위해 payable 작성 function buyApple() public payable { myApple[msg.send.. 2022. 7. 20.