본문 바로가기

전체 글64

8. 서버 프로그램 구현 - Chap 1. 개발환경 구축 / Chap 2. 공통 모듈 구현 Chapter 1. 개발환경 구축 1. 개발 환경 구축 1) 개발환경 구축의 개념 : 응용 소프트웨어의 개발 편의성, 개발 성능 향상을 위해 하드웨어 및 소프트웨어 개발환경을 구축하는 과정 2) 개발환경 구성 요소 : 하드웨어 개발환경 / 소프트웨어 개발 환경 (㉠서버, ㉡클라이언트) 3) 형상관리의 개념 : 소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동 4) 형상관리의 절차★ ---> 식통감기 형상 식별 / 형상 통제 / 형상 감사 / 형상 기록 Chapter 2. 공통 모듈 구현 1. 공통 모듈 구현 1) 모듈 (Module) : 그 자체로 하나의 완전한 기능을 수행할 수 있는 독립된 실체 2) 응집도의 개념★ : 모듈의 독립성을 나타내는 개념으로, 모듈 .. 2021. 7. 6.
9. 소프트웨어 개발 보안 구축 - Chap 2. 소프트웨어 개발 보안 구현 Chapter 2. 소프트웨어 개발 보안 구현 1. 소프트웨어 개발 보안 구현 1) 시큐어 코딩 ---> 입보시에코캡아 입력데이터 검증 및 표현 (sql인젝션, XSS) / 보안기능 / 시간 및 상태(병렬 시스템->직렬화) / 에러처리(에러 미처리, 불충분한 처리) / 코드 오류 / 캡슐화(프라이빗 접근자 지정) / API 오용 2) 입력데이터 검증 및 표현 취약점 ★★ ㉠ XSS (Cross Site Script) : 검증되지 않은 외부 입력 데이터가 포함된 웹페이지가 전송되는 경우, 사용자가 해당 웹페이지를 열람함으로써 웹페이지에 포함된 부적절한 스크립트가 실행되는 공격 --> XSS 취약점 대책 : 특수문자 필터링 / HTML 태그 사용 금지 / 자바스크립트로 시작하는 문자열 모두 변환처리 --> .. 2021. 7. 6.
9. 소프트웨어 개발 보안 구축 - Chap 1. 소프트웨어 개발 보안 설계(1) IX. 소프트웨어 개발 보안 구축 Chapter 1. 소프트웨어 개발보안 설계 - 1. 소프트웨어 개발보안 설계 1) SW개발 보안 3대요소 : 기 무 가 기밀성 / 무결성 / 가용성 * SW 개발 보안용어 => 자 위 취 위 자산 / 위협 / 취약점 / 위험 Q. 정보보안의 가용성의 개념을 간략히 서술하시오. KEY => 지속적 사용! A. 원하는 서비스를 지속적으로 사용할 수 있도록 보장하는 특성 2) DoS (Denial of Service) 공격의 개념 : 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격 *DoS공격의 종류 : SYN플러딩, UDP플러딩, 스머프/스머핑(=ICMP플러딩), 죽음의핑(PoD), 랜드어택, 티어드롭, 봉크, .. 2021. 7. 6.
10. 애플리케이션 테스트 관리 - Chap 3.애플리케이션 성능 개선 Chapter 3.애플리케이션 성능 개선 1. 애플리케이션 성능분석 1) 애플리케이션 성능 측정 지표 --> 처,응,경,자 - 처리량 : 주어진 시간에 처리할 수 있는 트랜잭션의 수 - 응답시간: 응답 출력이 개시될 때까지의 시간 - 경과시간 : 출력이 완료할 때까지 걸리는 시간 - 자원 사용률 : 트랜잭션 처리 동안 CPU, 메모리, 네트워크 사용량 2) 애플리케이션 성능 저하 원인 : 데이터베이스 / 내부로직 / 외부 호출 / 잘못된 환경 설정 / 네트워크 문제 등으로 야기 * 성능 테스트 케이스 작성 목표값 설정 - 측정 항목 기술 - 테스트 시나리오 - 사전 확인사항 순으로 작성 3) 배드코드(Bad Code) : 다른 개발자가 로직을 이해하기 어렵게 작성한 코드 외계인 코드 / 스파게티 코드 /.. 2021. 7. 5.
10. 애플리케이션 테스트 관리 - Chap 2.애플리케이션 통합 테스트 Chapter 2.애플리케이션 통합 테스트 1. 애플리케이션 테스트 수행 1) 단위 테스트 : 구현 단계에서 각 모듈을 구현한 후 개별모듈을 테스트하는 방식 * 목(mock)객체 : 독립적인 컴포넌트 테스트(행위 검증)를 위해서 사용하는 스텁(상태 검증)의 객체지향 버전 = 스텁+드라이버 * 단위테스트 원칙 : 빠르게 수행 , 다른 컴포넌트에 의존x , 몇 번 실행해도 동일 결과, 사람 개입x 2) 통합 테스트 : 소프트웨어 각 모듈 간의 인터페이스(컴포넌트간 혹은 타 시스템하고의) 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 * 통합 테스트의 분류 - 빅뱅 테스트 : 단 한번에 실행, 테스트 시간 절약 / 중요한 모듈의 결함을 나중 발견, 통합시간 오래 소요 - 상향식 통합(b.. 2021. 7. 3.
11. 응용 SW 기초 기술 활용 - Chap 3. 네트워크 기초 활용하기 Chapter 3. 기본 개발환경 구축하기 1. 운영체제 설치 및 운용 : 윈도우, 리눅스 2. 개발 도구 설치 및 운용 1) 프로그래밍 언어 : JAVA, C#, VB.NET, C++, Perl, COBOL, SQL, ABAP, Python * 개발 환경 : 요구사항 관리, 설계, 구현,테스트, 빌드, 형상관리, 품질 관리 등 2) 개발환경 지원도구 : Eclipse, JUnit, Ant, Jenkins, SVN, Git등 3. 응용 시스템 개발 인프라 구축 1) 개발환경 인프라 구성방식 : 온프레미스 방식(외부 인터넷망 차단된 상태에서 인트라넷망만) 클라우드 방식(서비스 임대) 하이브리드 방식(온프레미스 + 클라우드) 2) 클라우드 기반 개발환경 인프라 제공 범위 : 컴퓨터 환경 / 스토리지 / 데이.. 2021. 6. 30.
11. 응용 SW 기초 기술 활용 - Chap 2. 네트워크 기초 활용하기 Chapter 2. 네트워크 기초 활용하기 1. 네트워크 계층 구조 파악 * 네트워크 : 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라 ㄴ 광대역 네트워크(WAN) , 근거리 네트워크(LAN) 1) OIS 7계층 (국제표준) --> 아파서 티내다 피나다 응용계층/ 표현계층 / 세션계층 / 전송계층 / 네트워크계층 / 데이터링크 계층 / 물리계층 Layer L7 L6 L5 L4 L3 L2 L1 2) 1계층 장비 - 허브, 리피터 2계층 장비 - 브리지, L2 스위치, NIC, 스위칭 허브 3계층 장비 - 라우터, 게이트웨이, L3 스위치, 유무선 인터넷 공유기, 망(백본) 스위칭 허브 4계층 장비 - 브리지, L4 스위치 2. 네트워크 프로토콜 파악 1) 프로토콜 개념★ : .. 2021. 6. 30.
11. 응용 SW 기초 기술 활용 - Chap 1. 운영체제의 특징 Chapter 1. 운영체제의 특징 1. 운영체제의 종류 1) 운영체제(OS:Operating System)의 특징★ 사용자 편리성 제공(관리 및 운영) / 인터페이스 기능 담당(컴퓨터 시스템과 사용자 연결) / 스케쥴링 담당 / 자원관리(CPU, 메모리 공간, 기억장치 등 관리) / 제어기능(입출력장치와 사용자 프로그램 제어) * 쉘(Shell) : 운영체계 바깥부분 -> 사용자 명령에 대한 처리 담당 (커널에 전달, 명령어 해석기) 커널(Kernel) : 하드웨어 관련 내부적인 역할 담당 (운영체제 핵심 기능) * 유닉스 운영체제 : 1960년 AT&Bell연구소, MIT 및 ~사가 공동 연구, 개발 초기 운영체제는 Multics이고 C언어로 재이식되어 대중화 기반 마련 2) 유닉스 운영체제 특징★ .. 2021. 6. 30.
12. 제품 소프트웨어 패키징 Chapter 1. 제품 소프트웨어 패키징 1. 사용자 중심의 패키징 수행 1) 제품 소프트웨어 패키징 개념 : 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정 * 전체 내용을 포함 , 버전 관리 / 릴리즈 노트 / 고객 중심 / 모듈화 2) 모듈화 개념 : 모듈을 이용하여 소프트웨어 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 모듈 중심의 소프트웨어 설계 기법 : 모듈 간 결합도는 최소화, 모듈 내 요소들간 응집도는 최대화 ★ * 모듈화 장점 : 개발 편의성 , 복잡성 감소 3) 사용자 관점 패키지 고려 사항 : 시스템 환경 / 직관적 UI / 관리 서비스 / 안정적 배포 * 사용자 중심의 모듈 패키징 프로세스 (가볍게 보기) 1. 기능 식별.. 2021. 6. 29.