728x90

운영체제 제어방법

- CLI Command Line Interface

- GUI Graphic User Interface

 

window 명령어

- ren : 이름 변경

- attrib : 파일 속성 변경

- chkdsk : 디스크 점검

- format : 디스크 포맷

 

unix 명령어

- chown : 소유자, 그룹 변경

- fsck : 파일 시스템 검사

- kill : 프로세스 종료

- ps : 실행중인 프로세스 표시

- top : 프로세스, 메모리 사용현황

- who : 현재 사용자

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

프로세스 관리  (0) 2020.05.15
기억장치 관리  (0) 2020.05.15
결함과 어플리케이션  (0) 2020.05.15
개발 단계와 테스트  (0) 2020.05.15
테스트 종류  (0) 2020.05.15
728x90

네트워크 인터페이스 카드 NIC Network Interface Card

- 컴퓨터와 네트워크 연결. 이더넷 카드 or 네트워크 어댑터라고도 함

 

허브 hub

- 가까운 컴퓨터 끼리 연결

- 더미 허브 : 모든 데이터를 그냥 연결. 보유 대역폭을 컴퓨터 수 만큼 나눠 사용

- 스위칭 허브 : 데이터 흐름 제어로 최대 대역폭 사용가능한 허브

 

리피터 repeater

- 약해진 신호를 키워 전송

- 물리 계층

 

브리지 bridge

- LAN과 LAN 혹은 세그먼트 연결

- 데이터 링크 계층의 MAC Meadia Accesc Control 계층에서 사용

 

MAC 주소 : NIC의 고유 번호

 

스위치 switch

- LAN 끼리 연결하여 큰 LAN 만듬

- 많은 포트 사용. 로드벨런서 내장하기도함

- 데이터 링크 계층

 

로드 밸런서 : 트래픽 분산 장치

 

라우터 router

- 네트워크 간 연결 및 최적 경로 안내.

- 라우팅 테이블에 경로 정보 저장

 

게이트 웨이 gateway

- 프로토콜이 다른 네트워크와 연결. 출입구 역활

- 세션, 표현, 응용 계층끼리 연결하여 데이터 형식/주소/프로토콜 변환 수행

 

300x250

'컴퓨터과학 > 통신, 보안' 카테고리의 다른 글

네트워크 - 1 네트워크 기본 개념  (0) 2020.05.17
데이터교환방식과 라우팅  (0) 2020.05.15
TCP/IP와 프로토콜  (0) 2020.05.15
OSI 7 계층  (0) 2020.05.14
인터넷  (0) 2020.05.14
728x90

결함 fault

- 설계와 다른 동작

 

결함 관리 프로세스

1. 결함 관리 계획

2. 결함 기록 : 결함 DB에 등록

3. 결함 검토 : 개발자에 전달

4. 결함 수정

5. 결함 재확인

6. 결함 상태 추적 및 모니터링

7. 최종 결함 분석 및 보고

 

결함 추적 순서

1. 결함 등록

2. 결함 검토 : 담당자 검토

3. 결함 할당

4. 결함 수정

5. 결함 보류

6. 결함 종료

7. 결함 해제

 

결함 분류

- 시스템 결함 : 어플리케이션이나 DB 처리 중 발생 결함

- 기능 결함 : 요구사항 불일치, 프로세스 중 오류

- GUI 결함 

- 문서 결함

 

결함 관리 도구

- mantis : 결함 및 이슈 관리 도구

- trac : 결함 추적

- redmine : 프로젝트 관리 및 결함 추적

 

 

어플리케이션 성능 지표

- 처리량

- 응답 시간

- 경과 시간

- 자원 사용률

- 분석을 위해 성능 테스트 도구와 시스템 모니터링 도구 이용

 

성능 테스트 도구

- JMeter : 다양한 프로토콜 지원하는 부하 테스트 도구

- LoadUI : 편리한 부하 테스트 도구

 

 

성능 분석 절차

1. 성능 테스트, 시스템 모니터링 도구 특징 파악

2. 성능 점검 계획서 작성

3. 테스트 케이스 작성

4. 테스트 수행

5. 테스트 결과 분석

6. 저하 요인 분석

 

 

 

소스코드 최적화

- 클린 코드 : 이해하기 좋은 코드

- 나쁜 코드 : 로직이 복잡하고 이해하기 힘든 코드

- 클린 코드 작성원칙 : 가독성, 단순성, 의존 성 배제, 중복성 최소화, 추상화

 

소스 코드 최적화 유형

- 클래스 분할 배치 : 하나의 클래스는 하나의 역활. 응집도 높이고 크기 작게

- 느슨한 결합 : 인터페이스로 추상화 된 자료구조와 메소드 구현으로 의존성 최소화

- 코딩 형식 준수 : 줄바꿈, 지역변수 맨앞 선언, 호출 함수 앞 호출 되는 함수 뒤

- 적절한 이름과 주석

 

소스코드 품질 분석

- 정적 분석 : 실행 x. 코딩 표준, 스타일, 결함, 의존성, 복잡성 등 분석

- pmd : 미사용 변수 최적화안된 코드 검사

- cppcheck :: 메모리 누수, 오버플로 분석

- com : 코드 복잡도 분석

- 동적 분석 도구 : 실행 o. 메모리 누수, 스레드 결함 분석

- valgrint : 메모리, 스레드 결함 분석

 

성능 개선

- 소스 코드 최적화 : 인터페이스로 의존성 최소화 코드 작성

- 아키텍처 조정 : 팩토리 메소드 패턴으로 객체 생성과 사용 분리

- 호출 순서 조정 : 유사 코드는 가까이, 함수 호출은 앞에, 함수 정의 및 구현은 뒤에

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

기억장치 관리  (0) 2020.05.15
OS 명령어  (0) 2020.05.15
개발 단계와 테스트  (0) 2020.05.15
테스트 종류  (0) 2020.05.15
UI  (0) 2020.05.15
728x90

테스트 단계

1. 단위 테스트 unit test

2. 통합 테스트 integration test

3. 시스템 테스트 system test

4. 인수 테스트 acceptance test

 

단위 테스트 unit test

- 코딕 직후 모듈이나 컴포넌트 중심 기능 테스트

- 인터페이스, 자료구조, 경로 등 검사

- 구조 기반/ 명세 기반 테스트

 

통합 테스트 integration test

- 단위 테스트 후 모듈 통합 과정에 발생 오류 및 테스트 기법

- 비점진적 통합 : 프로그램 전체 테스트, 점진적 통합 방식 : 단계적 통합하며 테스트

 

점진적 통합 방식 테스트

- 하향식 통합 테스트 : 상위 모듈에서 하위 모듈 방향으로 통합. 모듈-> 스텁 대체

- 상향식 통합 테스트 : 하위 모듈에서 상위 모듈 방향. 클러스터 이용

 

시스템 테스트

- 사용 환경 시스템에서 수행여부 테스트

 

인수 테스트 acceptance test

- 사용자 요구사항 중심 테스트. 사용자 직접 수행

- 사용자 인수, 운영상 인수, 알파 : 사용자가 개발자 앞에서, 베타 테스트 : 여러 사용자

 

테스트 프로세스

1. 테스트 계획

2. 테스트 분석 및 디자인

3. 테스트 케이스, 시나리오 작성

4. 테스트 수행

5. 테스트 결과 및 보고

6. 결함 추적, 관리

 

테스트 케이스

- 요구사항 검증 및 확인을 위한 테스트 항목에 대한 명세서

 

테스트 시나리오

- 테스트 케이스를 순서대로 묶은 집합

- 사용자 측면 요구사항인 유스 케이스(use case) 흐름이 정상인지 확인할 수 있도록

 

테스트 오라클

- 테스트 결과 판단위해 사전 정의한 값을 비교하는 활동

- 참 오라클, 샘플링 오라클, 추정 오라클, 일관성 오라클

 

테스트 자동화 도구

- 정적 분석 도구 : 프로그램 실행 없이 분석. 코딩 표준, 스타일 등 결함 발견

- 테스트 실행 도구 : 데이터, 실행 방법이 준비된 스크립트 언어로 테스트 수행. 

- 성능 테스트 도구 : 응답 시간, 경과 시간, 자원 사용률 등 정하여 테스트

- 테스트 통제 도구 : 테스트 관리함. 형상 관리 도구, 결함 추적 도구

 

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

OS 명령어  (0) 2020.05.15
결함과 어플리케이션  (0) 2020.05.15
테스트 종류  (0) 2020.05.15
UI  (0) 2020.05.15
XML  (0) 2020.05.14
728x90

어플리케이션 테스트

- 결함 여부 확인. 요구사항 만족 validation 확인, 기능 수행 검증 vertification.

 

결함 집중

- 20% 코드에 80% 결함 발견. 파레토 법칙

살충제 페러덕스

- 동일 테스트 케이스로 반복시 결함 발견 x. 테스트 케이스 보완

정황(context)

- SW 특징, 환경, 테스터 역량 등 정황에 따라 테스트가 달라짐

오류-부재 궤변

- 결함 모두 제거해도 요구사항 불만족시 품질 x

 

프로그램 실행 여부 테스트

- 정적 테스트 : 실행 x. 소스코드 분석 - 워크스루, 인스펙션

- 동적 테스트 : 실행 o - 블랙박스, 화이트박스 테스트

 

테스트 기반

- 명세 기반 : 요구사항 스펙에 따라 테스트

- 구조 기반 : SW 로직 따라 테스트

- 경험 기반 : 테스터 경험 의존

 

테스트 주체 

- vertification 검증 테스트 : 개발자 중심

- validation 확인 테스트 : 사용자 중심

 

 

화이트 박스 테스트

- 모듈 소스코드 모든 로직흐름을 보며 테스트 케이스 설계

- 기초 경로 검사 : 설계 복잡성 측정

- 제어 구조 검사 : 조건, 루프, 데이터 흐름 검사

 

블렉 박스 테스트

- 기능 작동 여부 테스트

- 동치(동등) 분할 검사 : 입력 자료 중심 테스트 케이스 준비하여 검사

- 경계값 분석 : 경계값을 활용하여 검사

- 원인-효과 그래프 : 입력과 출력간 영향 분석

- 오류 예측 검사

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

결함과 어플리케이션  (0) 2020.05.15
개발 단계와 테스트  (0) 2020.05.15
UI  (0) 2020.05.15
XML  (0) 2020.05.14
연계  (0) 2020.05.14
728x90

웹 3요소

- 웹 표준

- 웹 접근성

- 웹 호환성

 

UI 스타일 가이드

1. 구동 환경 정의

2. 레이아웃 정의

3. 네비게이션 정의

4. 기능 정의

5. 구성 요소 정의

 

정황 시나리오

- 사용자 요구사항 도출 목적. 수행 방법 순차적 묘사

 

프로토타입

- 테스트를 위한 동적 모형

 

UI 박스

- 텍스트 박스

- 콤보 박스

- 라디오 박스

- 체크 박스

 

UI 설계

1. 요구사항 확인

2. 설계서 및 개정 이력 작성

3. UI 구조 설계

4. 메뉴 구조 설계

5. 화면 설계

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

개발 단계와 테스트  (0) 2020.05.15
테스트 종류  (0) 2020.05.15
XML  (0) 2020.05.14
연계  (0) 2020.05.14
웹 서버와 배치  (0) 2020.05.14
728x90

XML eXtensible Markup Language

- HTML 문법 호환과 SGML의 복잡함 해결을 위해 개발된 마크업언어로 데이터 구조 정의

 

구성

- 시작 : <?xml version="version" encoding="char set" standalone="yes or no"?> -> xml 문서임을 지정

- 문자셋 : UNICODE, UTF-8, EUC-KR 등

- standalone : 외부 문서 참조 여부 설정. 디폴트 no(외부 문서 참조)

- xml 요소 : <이름 속성="값" 속성="값" ... >내용 </이름>

 

 

SOAP Simple Object Access Protocol

- HTTP, SMTP 등으로 XML 교환하는 통신 규약

- 웹서비스 메시지 형식 및 처리 방법 정의

- 최근 SOAP보다 RESTful을 주로 이용

 

WSDL Web Service Description Language

- 웹서비스에 사용되는 서식, 프로토콜을 기술하고 게시하는 언어

- XML로 작성, SOAP, XML스키마와 함께 웹 서비스 제공에 사용

- 클라이언트는 WSDL 파일로 서버 기능 파악

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

테스트 종류  (0) 2020.05.15
UI  (0) 2020.05.15
연계  (0) 2020.05.14
웹 서버와 배치  (0) 2020.05.14
DBMS 커낵션  (0) 2020.05.14
728x90

통합 구현

- 요구사항에 따라 송신수신/중계 모듈들이 연계되도록하여 구현

 

연계 데이터 표준화

1. 연계 범위 및 항목 정의

2. 연계 코드 변환 및 맵핑

3. 연계 데이터 식별자 구분 추가

4. 연계 데이터 표현법 정의

5. 연계 정의/명세 작성

 

연계 메커니즘

- 송신/수신 모듈로 이루어짐

- 송신 모듈 : 연계 데이터 생성, 송신

- 수신 모듈 : 변환 후 DB 반영

 

직접 연계

- 송수신 모듈간 직접 연계

- API, JDBC

 

간접 연계

- 송수신 모듈 사이 중계 모듈을 통해 연계

- 다양한 환경서 사용 가능

- Socket ,웹서비스

 

연계 메커니즘에서의 데이터 보안

- 전송구간 혹은 데이터 암/복호화로 구분

- 전송 구간 암호화 : VPN 가상 사설망이나 암호화 프로토콜로 패킷 암호화

- 암호화 알고리즘 : 해시 사용하는 단방향 암호화, 개인키 공개키 분류되는 양방향 암호화

* 해시 : 키를 이용해 변환

* 개인키 암호화 :  개인키로 암호 복호화

* 공개키 암호화 : 공개키로 암호화 개인키로 복호화

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

UI  (0) 2020.05.15
XML  (0) 2020.05.14
웹 서버와 배치  (0) 2020.05.14
DBMS 커낵션  (0) 2020.05.14
모듈  (0) 2020.05.14
728x90

웹서버 개발 구성 요소

- DTO Data Transfer Object, VO Value Object : 데이터 송수신에 사용하는 객체

- DAO Data Access Object : DB에 접속, SQL로 데이터 조작하는 객체

- SQL : DB연동을 위한 SQL 구현

- service : 사용자 리퀘스트에 대한 로직

- controller : 사용자 요청에 적절한 service로 분기

 

배치 프로그램

- 미리 정한 여러 작업을 일괄 수행

- 정기 배치, 이벤트 배치, ondemand 배치

 

배치 스캐줄러

- 일정 주기에 따라 배치 처리하는 도구로 잡 스케줄러라고도함

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

XML  (0) 2020.05.14
연계  (0) 2020.05.14
DBMS 커낵션  (0) 2020.05.14
모듈  (0) 2020.05.14
개발환경  (0) 2020.05.14
728x90

DBMS 커낵션

- DBMS에 접근하는 것

 

JDBC Java Database Connectivity

- Java를 이용한 DB 접속 및 SQL 표준 API

- 접속하는 DBMS 드라이버 필요

 

ODBC Open DataBase Connectivity

- 개발 언어 관계 없이 사용

- 인터페이스를 몰라도 ODBC 드라이버 관리자가 알아서 연결

 

MyBatis

- JDBC를 단순화 한 SQL Mapping 오픈 소스 커낵션 프레임워크

- SQL 문장을 분리, XML 작성, 맵핑하여 SQL 실행

 

Dynamic SQL

- SQL문에 변수 대입하여 동적으로 사용 가능

 

사용자 <-> 웹 응용프로그램 <-> 웹 응용 시스템 <-> DBMS

                                         ( 웹서버 <-> AWS)

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

연계  (0) 2020.05.14
웹 서버와 배치  (0) 2020.05.14
모듈  (0) 2020.05.14
개발환경  (0) 2020.05.14
SW 설치 매뉴얼  (0) 2020.05.14

+ Recent posts