공부 49

12장 제품 소프트웨어 패키징

소프트웨어 패키징의 형상 관리 (SCM; Software Configuration Management)개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동Git, SVN, CVS 등 빌드 자동화 도구빌드를 포함하여 테스트 및 배포를 자동화하는 도구Jenkins, Gradle, Ant, Maven, Make 등 GradleGroovy를 기반으로 한 오픈 소스 형태의 자동화 도구안드로이드 앱 개발 환경에서 사용

11장 응용 SW 기초 기술 활용

UNIXAT&T 벨 연구소, MIT, General Electric이 공동 개발한 운영체제대부분 C언어로 작성 페이지 교체 알고리즘페이지 부재 발생 시 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 기법종류: OPT, FIFO, LRU, LFU, NUR, SCR 등FIFO (First In First Out): 가장 먼저 들어와 오래 있던 페이지 교체LRU (Least Recently Used): 최근에 가장 오랫동안 사용하지 않은 페이지 교체LFU (Least Frequently Used): 사용 빈도가 가장 적은 페이지 교체 CPU 할당 기법SJF (Shortest Job First): 준비 상태 큐에서 기다리고 있는 프로세스들 중 실행 시간이 가장 짧은 프로세스에게 CPU 할당HRN (Hi..

10장 프로그래밍 언어 활용

헝가리안 표기법변수명 작성 시 변수의 자료형을 알 수 있도록 자료형을 의미하는 문자를 포함하여 작성하는 방법ex) int i_inputA: 정수형 변수ex) double d_Result: 배정도 실수형 변수 라이브러리함수나 데이터들을 미리 만들어 모아 놓은 집합체표준 라이브러리: 프로그래밍 언어에 기본적으로 포함되어 있는 라이브러리외부 라이브러리: 개발자들이 필요한 기능들을 만들어 인터넷 등에 공유해 놓은 라이브러리 JAVA의 예외 처리 (Exception Handling)프로그램의 정상적인 실행을 방해하는 조건이나 상태를 예외(Exception)이라고 함이런 예외가 발생했을 때 프로그래머가 해당 문제에 대비해 작성해 놓은 처리 루틴을 예외 처리라고 함예외와 관련된 클래스를 java.lang 패키지에서 ..

9장 소프트웨어 개발 보안 구축

개인키 암호화 기법동일한 키로 데이터를 암호화하고 복화하는 암호화 기법방식스트링 암호화 방식: 평문과 동일한 길이의 스트림을 생성하여 비트 단위로 암호화LFSR, RC4, TKIPTKIP: WEP의 취약성을 보완한 데이터 보안 프로토콜블록 암호화 방식: 한 번에 하나의 데이터 블록을 암호화DES, SEED, AES, ARIA, IDEA, SkipjackIDEA: 스위스의 라이와 메시가 1990년에 개발한 PES를 개선한 알고리즘Skipjack: 국가 안전 보장국(NSA)에서 개발한 암호화 알고리즘주로 음성 통신 장비에 삽입DES: 미국 NBS에서 발표한 개인키 암호화 알고리즘DES 3번 적용해 강화한 3DES도 존재AES: 미국 표준 기술 연구소(NIST)에서 발표한 개인키 암호화 알고리즘DES의 한계를..

8장 SQL 응용

CREATE INDEX인덱스를 정의하는 명령문 UNIQUE사용된 경우: 중복 값이 없는 속성으로 인덱스를 생성생략된 경우: 중복 값을 허용하는 속성으로 인덱스를 생성정렬 여부 지정ASC: 오름차순 정렬 ➡️ Default 값DESC: 내림차순 정렬CREATE [UNIQUE] INDEX 인덱스명ON 테이블명(속성명 [ASD | DESC][,속성명 [ASD | DESC]])[CLUSTER]; ALTER TABLE테이블에 대한 정의 변경하는 명령문ADD: 새로운 열 추가ALTER: 특정 속성의 Default 값 변경DROP COLUMN: 특정 열 삭제ALTER TABLE 테이블명 ADD 속성명 데이터_타입 [DEFAULT '기본값'];ALTER TABLE 테이블명 ALTER 속성명 [SET DEFAULT '기..

7장 애플리케이션 테스트 관리

애플리케이션 테스트 기본 원리파레토 법칙 (Pareto Principle): 애플리케이션의 20%에 해당하는 코드에서 전체 결함의 80%가 발견된다는 법칙살충제 패러독스 (Pesticide Paradox): 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 현상오류-부재의 궤변 (Absence of Errors Fallacy): 소프트웨어의 결함을 모두 제거해도 사용자의 요구사항을 만족시키지 못하면 해당 소프트웨어는 품질이 높다고 말할 수 없는 것 프로그램 실행 여부에 따른 테스트정적 테스트: 프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석워크스루, 인스펙션, 코드 검사 등동적 테스트: 프로그램을 실행하여 오류를 찾는 테스트블랙박스 테스트, 화이트박스 테스트 화..

6장 화면 설계

UI / UXUI (User Interface, 사용자 인터페이스): 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치나 소프트웨어UX (User Experience, 사용자 경험): 사용자가 시스템이나 서비스를 이용하면서 느끼고 생각하게 되는 총체적인 경험 UI 구분CLI (Command Line Interface): 명령과 출력이 텍스트 형태GUI (Graphical User Interface): 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행NUI (Natural User Interface): 사용자의 말이나 행동 등 자연스러운 움직임을 통해 기기를 조작 UI 기본 원칙직관성: 누구나 쉽게 이해하고 사용 가능해야 함유효성: 사용자의 목적을 정확하고 완벽하게 달성해야 함학습성: 누구나..

4장 서버 프로그램 구현

모듈화 (Modularity)소프트웨어의 성능 향상, 시스템의 수정 및 재사용, 유지 관리 등이 용이하도록시스템의 기능들을 모듈 단위로 나눈 것목표 모듈 간 결합도(Coupling)의 최소화모듈 내 요소들의 응집도(Cohesion)를 최대화 객체지향 설계 원칙 (SOLID)단일 책임 원칙 (SRP): 객체는 단 하나의 책임만 가져야 함개방-폐쇄 원칙 (OCP): 기존의 코드 변경하지 않고 기능 추가할 수 있도록 설계해야 함리스코프 치환 원칙 (LSP): 자식 클래스는 최소한 부모 클래스의 기능을 수행할 수 있어야 함인터페이스 분리 원칙 (ISP): 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 함의존 역전 원칙 (DIP): 의존 관계 성립 시 추상성이 높은 클래스와 의존 관계를..

728x90