목차 1. 애플리케이션 테스트 케이스 설계 2. 애플리케이션 통합 테스트 3. 애플리케이션 성능 개선 애플리케이션 테스트 케이스 설계 소프트웨어 테스트 원리 💡 암기 TIP 결함, 완벽, 초기, 집중, 살충제, 정황, 오류 → 결 완 초 집 살정오(결근하고 완전 나쵸를 집에서 먹으면 살쪄요) 원리 설명 결함이 존재함을 밝히는 것 결함이 존재함을 밝히는 활동 완벽한 테스팅은 불가능 완벽하게 테스팅하려는 시도는 불필요한 시간과 자원낭비 초기에 테스팅 시작 요르돈의 법칙: 초기에 체계적인 테스트가 없으면 그 결과가 후반에 영향을 미쳐 비용이 커짐 결함집중 파레토 법칙: 소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견 살충제 패러독스 동일한 테스트 케이스에 의한 반복적 테스트는 새로운 버그..
소프트웨어 개발 보안 설계 SW 개발 보안의 3대 요소 💡 암기 TIP Confidentiality, Integrity, Availability → CIA 용어 설명 기밀성(Confidentiality) 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단 무결성(Integrity) 정당한 방법을 따르지 않고서는 데이터 변경 불가, 데이터 정확성 및 완전성 보장 가용성(Availability) 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있도록 보장 SW 개발 보안 용어 💡 암기 TIP 자산, 위협, 취약점, 위험 → 자위취위(일본 자위대 취업은 위험하다) 용어 설명 자산(Assets) 조직의 데이터 또는 조직의 소유자가 가치를 부여한 대상 위협(Threat)..
개발환경 구축 개발 도구의 분류 💡 암기 TIP 빌드, 구현, 테스트, 형상 관리 → 빌구 테형 (잘못을 빌구 태형을 당하다) 구분 설명 빌드 도구 작성한 코드의 빌드 및 배포를 수행 구현 도구 개발자의 코드 작성, 디버깅, 수정 등을 지원 테스트 도구 코드의 기능 검증과 전체 품질을 높이기 위해 사용 형상 관리 도구 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리 서버 하드웨어 개발환경 통상적으로 WEB-WAS-DB의 3계층 구조를 실무에서 활용 용어 설명 웹 서버 HTTP를 이용한 요청/응답 처리 웹 상의 정적 콘텐츠(CSS, Javascript, Image) 처리 주로 Apache 웹 서버를 사용 웹 애플리케이션 서버(WAS) 사용자 요청 스레드를 처리, DB에 접속해 SQL 결괏값 반..
사용자 중심의 패키징 수행 제품 SW 패키징 개념 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정 제품 SW 패키징 적용 시 특성 전체 내용을 포함, 버전관리/릴리즈 노트, 고객 중심, 모듈화 모듈화 모듈을 이용해 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험 통합 및 수정을 용이하도록 하는 모듈 중심의 소프트웨어 설계 기법 장점 : 개발 편의성, 복잡성 감소 사용자 관점 패키지 고려사항 시스템 환경, 직관적 UI, 관리 서비스, 안정적 배포 사용자 중심의 모듈 패키징 프로세스 기능 식별 > 모듈화 > 빌드 진행 > 사용자 환경 분석 > 패키징 적용 시험 > 패키징 변경 개선 버전 고려한 제품 릴리즈 노트 작성 릴리즈 노트 최종 사용자인 고객에게 개발 과정에서 정리된..
운영체제 설치 및 운용 윈도우 계열 운영체제 : Windows Home, Windows Pro, Windows Pro for Workstation 리눅스/유직스 계열 운영체제 : 데비안(Ubuntu), Redhat(Fedora, CentOsS), openSUSE, Slackware 개발 도구 설치 및 운용 언어 타입 : 정적 개발언어, 동적 개발 언어 시스템 특징 : 일반 시스템, 도메인 특화 시스템 언어 특징 : 객체지향, 명령형, 순차적, 선언형(SQL) 지원 : 관리 도구 지원형, 언어 독립형 프로그래밍 언어 : JAVA, C#, VB.NET, C++, Peral, COBOL, SQL, ABAP, PHP, Python 개발환경 지원 도구 : Eclipse, JUnit(테스트), Ant / Jenki..
네트워크 계층구조 파악 네트워크 원하는 정보를 원하는 수신자나 기기에 정확하게 전송하기 위한 기반 인프라 - 근거리 네트워크 LAN : 작은 지역을 커버하는 네트워크 - 광대역 네트워크 WAN : 전송 거리 넓음, 라우팅 알고리즘 필요, LAN대비 에러율 높고 전송 지연이 크다 OSI 7 계층 국제 표준화 기구 ISO(International Standardization Organization)에서 개발한 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델 각 계층은 서로 독립적으로 구성되어있고, 하위 계층의 기능을 이용해 상위 계층에 기능 제공 1계층 장비 - 허브 : 여러 대의 컴퓨터를 연결해 네트워크로 보내거나, 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로..
⭐운영체제 종류⭐ 운영체제 (Oprating System) 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공하는 소프트웨어 운영체제 특징 사용자 편리성 한정된 시스템 자원을 효과적으로 사용하도록 관리 및 운영 인터페이스 기능 담당 컴퓨터 시스템과 사용자 연결 스케줄링 담당 다중 사용자와 다중 응용 프로그램 환경하에 자원의 상태 파악, 분배하기 위한 스케줄링을 담당 자원 관리 CPU, 메모리 공간, 기억장치 , 입출력 장치 등 자원 관리 제어 기능 입출력 장치와 사용자 프로그램 제어 쉘 사용자 명령에 대한 처리 역할 담당, 커널에 전달하는 명령어 해석기 - CUI쉘, GUI쉘 커널 하드웨어와 관련된 내부적 역할 담당, 운영체제의 핵심 기능이 모여있는 프로그램 커널의 기능 프로세스 관리,..
MOM(Messgae Oriented Middleware) 메시지 기반 비동기형 메시지를 전달하는 미들웨어 - 독립적인 애플리케이션을 하나의 통합된 시스템으로 묶기 위한 역할 - 이기종 분산 데이터 시스템의 데이터 동기를 위해 사용(온라인 업무X) - 느리고 안정적인 응답을 필요로 하는 경우에 사용(즉각 응답X) 기능적 요구사항 시스템이 실제로 어떻게 동작하는지에 관점을 둔 요구사항 비기능적 요구사항 시스템 구축에 대한 성능, 보안, 품질, 안정성 등으로 수행에 보조적인 요구사항 데이터 흐름도(DFD) 구성요소 프로세스(Process) - 원 자료 흐름(Flow) - 화살표 자료 저장소(Data Store) - 평행선 단말(Terminal) - 사각형 UML 관계 연관 관계 (Association) 양방..