본문 바로가기

컴퓨터과학54

[소프트웨어공학] 설계 1 - 추상화, 모듈화, 정보은닉, 응집력, 결합도 Github로 보기 상위 설계와 하위 설계 상위 설계 아키텍처 설계, 예비 설계라고 함 소프트웨어 구성 컴포넌트들 간의 관계로 구성된 시스템의 전체적인 구조 시스템 구조도, 외부 파일 및 DB 설계도, 화면 및 출력물 레이아웃 등을 포함 하위 설계 모듈 설계, 상세 설계라고 함 시스템의 각 구성 요소들의 내부 구조, 동적 행위 등을 결정 하위 설계 방법 절차기반(Procedure-Oriented), 자료위주(Data-Oriented), 객체지향(Object-Oriented) 설계 방법 설계 프로세스 좋은 설계란 요구사항 명세서의 모든 내용을 구현해야 함 구현 또는 테스트로 추적이 가능해야 함 유지 보수 시 변경이 용이해야 함 설계 방식 프로세스 지향 설계 (Process Oriented Design) 객.. 2021. 5. 11.
[블록체인] 컨트랙 개발부터 사용까지 - solc, node.js, ganache-cli 여는글 목차 컨트랙 개발 컨트랙 컴파일 컨트랙 배포 컨트랙 사용 컨트랙 개발 - solc 블록체인에서 컨트랙은 자바의 클래스와 비슷한 개념입니다. src 디렉토리에 다음의 sol 파일을 생성합니다. %%writefile src/HelloSnowman.sol pragma solidity 0.6.4; contract Hello { function sayHello() pure public returns(string memory) { return "Hello, Snowman"; } } 컨트랙 컴파일 - solc 명령창에서 개발한 sol 파일을 컴파일 해보겠습니다. !solc --abi --bin --gas src/HelloSnowman.sol ganache 배포시 ABI와 binary code가 필요하기 때문에.. 2021. 4. 16.
[소프트웨어공학] 프로젝트 계획 및 통제 - WBS, PERT, Gantt, EVM Github로 보기 스케줄링 프로젝트의 완성을 위해 수행되어야 할 작업을 나열한 후 연관 관계와 순서에 따라 기간 별로 나타내는 것 WBS (Work Breakdown Structure) 프로젝트를 탑다운 방식으로 세분화하여 프로젝트의 단위 작업에 대해 파악하는 기법 프로젝트 팀이 수행할 작업을 인도물 중심으로 분할한 계층 구조 체계 프로젝트의 전체 범위를 산출물 중심의 트리 구조로 나타냄, 아래로 갈수록 작업들이 점차적으로 상세히 정의 일정 계획 WBS를 통해 파악된 단위 작업들을 계획 표현 방법 퍼트 차트 간트 차트 퍼트(PERT) 차트 프로젝트를 구성하는 작업들 사이의 관계 및 흐름을 그래픽으로 표현 작업들 간의 상호의존성 및 프로젝트가 진행되는 다양한 경로 파악 가능 퍼트차트의 가장 긴 경로(cr.. 2021. 4. 13.
[소프트웨어공학] 프로젝트 산정 - Delphi, LOC, COCOMO, FP Github로 보기 프로젝트 산정 프로젝트 수행에 필요한 규모(Size), 공수(Effort), 비용(Cost) 등을 정량적으로 예측하는 것 방법 경험적 방법 - 델파이 기법 크기 중심 방법 - LOC, COCOMO 기능 중심 방법 - 기능점수(FP)로 측정 델파이(Delphi) 기법 경험적 산정, 전문가들의 의견이나 판단을 종합하여 예측 산정 프로세스 LOC(Lines Of Code) 크기 중심적 산정, 프로그램 코드 라인의 수를 통해 산정 산정 프로세스 전체 프로그램을 모듈 별로 분할 모듈 별로 규모 추정 및 총 규모 계산 (경험을 토대로 LOC 추정) 추정 LOC: EV = (opt + 4m + pess) / 6 Vopt: 낙관적 LOC, Vm: 보통 LOC, Vpess: 비관정 LOC 경험적 데이.. 2021. 4. 12.