전체 글 129

[2과목 소프트웨어 개발] 제품 소프트웨어 패키징 - 046. ⭐ 소프트웨어 패키징

모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것개발자가 아닌 사용자 중심으로 진행모듈화하여 패키징다양한 환경에서 손쉽게 사용할 수 있도록 일반적인 배포 형태로 패키징1. 패키징 시 고려사항운영체제(OS), CPU, 메모리 등 필요한 최소 환경 정의UI는 시작적인 자료와 함께 제공하고 매뉴얼과 일치시켜 패키징하드웨어와 함게 관리될 수 있도록 Managed Service형태로 제공내부 콘텐츠에 대한 암호화 및 보안을 고려다른 여러 콘텐츠 및 단말기 간 DRM(디지털 저작권 관리) 연동을 고려편의성을 위한 복잡성 및 비효율성 문제 고려제품 소프트웨어 종류에 적합한 암호화 알고리즘 적용2. 패키징 작업 순서개발 기법에 따라 달라짐애자일 경우 2-4주 내 지정각 주기가 끝날 때마다 패키징 수행주..

[2과목 소프트웨어 개발] 통합 구현 - 045. 개발 지원 도구

1. 통합 개발 환경 (IDE; Integrated Development Environment)코딩, 디버스, 컴파일, 배포 등 프로그램 개발과 관련된 모든 작업을 하나의 프로그램에서 처리할 수 있도록 제공하는 소프트웨어적인 개발 환경하나의 인터페이스로 통합하여 제공통합 개발 환경 도구 기능코딩(Coding) : 프로그래밍 언어로 프로그램을 작성하는 기능컴파일(Compile) : 고급언어로 된 프로그램을 컴퓨터가 이해할 수 있는 목적 프로그램으로 번역하여 컴퓨터에서 실행 가능한 형태로 변환하는 기능디버깅(Debugging) : 소프트웨어나 하드웨어의 오류나 잘목된 동작, 즉 버그를 찾아 수정하는 기능배포(Deployment) : 소프트웨어를 사용자에게 전달하는 기능2. 빌드 도구소스 코드 파일을 컴퓨터에..

[2과목 소프트웨어 개발] 통합 구현 - 044. 단위 모듈 테스트 = 단위 테스트(Unit Test)

단위 기능을 구현하는 모듈이 정해진 기능을 정확히 수행하는지 검증하는 것화이트박스 테스트, 블랙박스 테스트 기법 사용모듈을 단독적으로 실행할 수 있는 환경과 테스트에 필요한 데이터가 모두 준비되어야 함에러를 쉽게 발견하고 수정 가능시스템 수준의 오류는 발견 불가능1. 테스트 케이스 (Test Case)요구사항을 정확하게 준수했는지 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 데스트 항목에 대한 명세서단위 모듈을 테스트 하기 전에 입력 데이터, 테스트 조건, 예상 결과를 모아 테스트 케이스를 만듦테스트 케이스를 이용하지 않으면 검증 누락, 불필요한 검증 반복 등으로 인력과 시간 낭비를 함ISO/IEC/IEEE 29119-3표준에 따름테스트 케이스 포함 항목식별자(Identifier..

[2과목 소프트웨어 개발] 통합 구현 - 043. 단위 모듈 구현

단위 모듈 : 한 가지 동작을 수행하는 기능을 모듈로 구현한 것단위 기능 : 단위 모듈로 구현되는 하나의 기능두 개의 단위 모듈이 합쳐질 경우 두 개의 기능을 구현단위 모듈 구성요소 : 처리문, 명령문, 데이터 구조독립적인 컴파일이 가능다른 모듈에 호출되거나 삽입되기도 함단위 기능 명세서 작성 후 입 · 출력 기능과 알고리즘을 구현단위 기능 명세서 작성 → 입 · 출력 기능 구현 → 알고리즘 구현1. 단위 기능 명세서 작성설계 과정에서 작성하는 기능 및 코드 명세서나 설계 지침과 같이 단위 기능을 명세화한 문서단순화 하기 위한 추상화 작업 필요대형 시스템을 분해하여 단위 기능별로 구분, 각 기능들을 계층적으로 구성하는 구조화 과정을 거침모듈의 독립적인 운용과 한 모듈 내의 정보가 다른 모듈에 영향을 주기..

[2과목 소프트웨어 개발] 데이터 입·출력 구현 - 042. 절차형 SQL

프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL일반적인 프로그래밍 언어에 비해 비효율적이지만 단일 SQL문장으로 처리하기 어려운 연속적인 작업을 처리하는데 적합다양한 기능을 수행하는 저장 모듈 생성 가능DBMS 엔진에서 직접 실행되기 때문에 입 · 출력 패킷이 적은 편BEGIN ~ END 형식의 블록구조프로시저(Procedure)특정 기능을 수행하는 트랜잭션 언어호출을통해 실행되어 미리 저장해 놓은 SQL작업 수행트리거(Trigger)CRUD 등의 이벤트(Event)가 발생할 때마다 관련 작업이 자동으로 수행사용자 정의 함수프로시저와 유사 = 일련의 작업을 연속적으로 처리종료 시 예약어 Return을 사용해 처리 결과를 단일값으로 반환1. 테스트와 디버깅테스트를 통해 오류..

[2과목 소프트웨어 개발] 데이터 입·출력 구현 - 041. 데이터 입 · 출력

SQL를 사용해 데이터 조작의 모든 행위를 함데이터 접속(Data Mapping) : 객체와 데이터를 연결하는 것트랜잭션 : 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들1. SQL (Structured Query Language)IBM SEQUEL에서 유래관계대수와 관계해석을 기초로 한 혼합 데이터 언어데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL)로 구분2. 데이터 접속 (Data Mapping)SQL Mapping프로그래밍 코드 내 SQL을 직접 입력하여 DBMS의 데이터에 접속하는 기술JDBC, ODBC, MyBatisORM (Object-Relational Mapping)객체지향 프로그래밍의 객체(Object)와 관계형(..

[2과목 소프트웨어 개발] 데이터 입·출력 구현 - 040.데이터베이스 개요

데이터들을 논리적인 구조로 조직화하거나 물리적인 공간에 구축하는 것논리 데이터 저장소 : 데이터 간의 연관성, 제약조건을 식별해 논리적인 구조로 조직화한 것물리 데이터 저장소 : 논리 데이터 저장소에 저장된 데이터와 구조들을 하드웨어적인 저장장치에 저장한 것논리 데이터 저장소를 거쳐 물리 데이터 저장소를 구축하는 과정 = 데이터베이스 구축과정1. 데이터베이스여러 사람에 의해 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 쉽게 접근하여 처리할 수 있도록 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 **운영** 데이터통합된 데이터(Integrated Data) : 자료 중복 베제저장된 데이터(Stored Data) : 컴퓨터가 접근할 수 있는 저장매체에 저장된 자료운영 데이터(Operationa..

[2과목 소프트웨어 개발] 데이터 입·출력 구현 - 039. ⭐ 검색 - 이분검색 / 해싱

1. 이분검색 (Binary Search)전체 파일을 두 개의 서브파일로 분리해가면서 Key 레코드를 검색파일의 중간값과 비교하면서 검색을 반복중간 레코드 번호 M = (F + L) / 2 (F:첫 번째, L:마지막)2. 해싱 (Hashing)해시 테이블(Hash Table) 기억공간을 할당하고 해시 함수(Hash Function)을 이용해 레코드 키에 대한 해시 테이블 내의 홈 주소(Home Address)를 계산한 후 주어진 레코드를 해당 기억장소에 저장하고나 검색 작업을 수행하는 방식1) 해시 테이블 (Hash Table)레보드를 한 개 이상 보관할 수 있는 버킷들로 구성된 기억공간버킷(Bucket)하나의 주소를 갖는 파일 구역버킷 크기는 같은 주소에 포함될 수 있는 레코드 수슬롯(Slot)한 개의..

카테고리 없음 2024.06.17

[2과목 소프트웨어 개발] 데이터 입·출력 구현 - 038. ⭐ 정렬 (Sort)

1. 삽입 정렬 (Insertion Sort)이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬2. 쉘 정렬 (Shell Sort)Insertion Sort 확장매개변수 값으로 서브파일을 구성 → 각 서브파일을 Insertion 정렬방식으로 순서 배열하는 과정을 반복하는 정렬방식3. 선택 정렬 (Selection Sort)n개 레코드 중 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복4. 버블 정렬 (Bubble Sort)인접한 두 개의 레코드 키 값을 비교해 그 크기에 따라 레코드 위치를 서로 교환하는 정렬방식정렬 여부를 플래그 비트(f)로 결정5. 퀵 정렬 (Quick Sort)레코드의 많은 자료 이동..

[2과목 소프트웨어 개발] 데이터 입·출력 구현 - 037. ⭐ 트리 (Tree)

정점(Node, 노드)과 선분(Branch, 가지)을 이용해 사이클을 이루지 않도록 구성한 그래프(Graph)의 특수한 형태트리 응용분야가족의 계보(족보)조직도트리 관련 용어노드(Node) : 자료 항목과 다른 항목에 대한 가지를 합친 것 (A, B, C, D, E, F, G, H, I, J)근 노드(Root Node) : 트리의 맨 위에 있는 노드 (A)디그리(Degree) : 각 노드에서 뻗어 나온 가지의 수 (A=2, B=2, E=1)단말 노드(Terminal Node) = 잎 노드(Leaf Node) : 자식이 하나도 없는 노드 = 디그리가 0인 노드 (F, G)자식 노드(Son Node) : 다음 레벨의 노드 (H, I의 부모 노드=D)부모 노드(Parent Node) : 이전 레벨의 노드 (D..