일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘
- 배열 소수
- 프로그래머스
- 백준 2775번
- 비트시프트
- 백준 달팽이
- 백준 10989
- 10989 C
- 공부
- 10진수 2진수
- 백준 세수
- 백준 1712번
- 백준 알고리즘
- C
- 백준 1026번
- 백준 10817번
- 8진수
- c 백준 4344번
- 백준 2751번
- 백준 2869번
- 십진수 이진수
- 2751번 C
- 백준 4344번
- 16진수
- programers
- 백준 1003번
- 백준
- 백준 2839번
- 백준 손익분기점
- 백준 1978번
- Today
- Total
IT Diary
정보처리기사 2과목 - 소프트웨어 개발 본문
1장
데이터 입출력 구현
자료구조의 정의
효율적인 프로그램을 작성할 때 가장 우선적인 고려사항 : 저장 공간 효율성, 수행시간의 신속성
자료 구조는 자료의 표현과 그것과 관련된 연산이다.
자료 구조는 일련의 자료들을 조직하고 구조화하는 것이다.
선형 리스트
일정한 순서에 의해 나열된 자료구조입니다.
연속 리스트 | 연결 리스트 |
연속 리스트는 기억장소를 연속적으로 배정받기 때문에 기억장소 이용 효율은 밀도가 1로서 가장 좋다. 빈공간이 있어야 한다. |
연결리스트는 자료들을 반드시 연속적으로 배열시키지는 않고 기억공간 순차 리스트에 비해 기억 공간의 이용 효율이 좋지 않다 |
트리
노드(Node) : 트리의 기본 요소로서 자료 항목과 다른 항목에 대한 가지(Branch)를 합친 것
근 노드(root Node) : 트리의 맨 위에 있는 노드
디그리(Degree) : 각 노드에서 뻗어 나온 가지의 수
단말 노드(Terminal Node) = 잎 노드(Leaf Node) : 자식이 하나도 없는 노드
자식 노드(Son Node) : 어떤 노드에 연결된 다음 레벨의 노드들
부모 노드(Parent Node) : 어떤 노드에 연결된 이전 레벨의 노드들
형제 노드(Brother Node, Sibling) : 동일한 부모를 갖는 노드들
트리의 디그리 : 노드들의 디그리 중에서 가장 많은 수
데이터저장소
소프트웨어 개발 과정에서 다루어야 할 데이터들을 논리적인 구조를 조직화하거나, 물리적인 공간에 구축한 것
데이터 저장소는 논리 데이터 저장소와 물리 데이터 저장소로 구분
논리 데이터저장소는 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화한 것을 의미
물리 데이터저장소는 논리 데이터저장소에 저장된 데이터와 구조들을 소프트웨어가 운용될 환경의 물리적 특성을 고려하여 하드웨어적인 저장장치에 저장한 것을 의미
데이터베이스
특정 조직의 업무를 수행하는데 필요한 상호 관련된 데이터들의 모임으로 다음과 같이 정의
통합된 데이터(Intergrated Data) : 자료의 중복을 배제한 데이터 모임
저장된 데이터(Stored Data) : 컴퓨터가 접근할 수 있는 저장 매체에 저장
운영 데이터(Operational Data) : 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 필요자료
공용데이터(Shared Data) : 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료
DBMS
정의(Definition) : 모든 응용 프로그램들이 요구하는 데이터 구조를 지원하기 위해 데이터베이스에 저장될 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능
조작(Manipulation) : 데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 사용자와 데이터베이스 사이의 인터페이스 수단을 제공
제어(Control) : 데이터 베이스를 접근하는 갱신, 삽입, 삭제 작업이 정확하게 수행되어 데이터의 무결성이 유지되도록 제어
데이터 입출력 개요
데이터 입출력을 소프트웨어 구현하기 위해 개발 코드 내에 SQL 코드를 삽입하거나, 객체와 데이터를 연결하는 것을 데이터 접속(Data Mapping)
데이터 접속
SQL MAPPING : 프로그래밍 코드 내에 SQL을 직접 입력하여 DBMS의 데이터에 접속하는 기술로, 관련 프레임워크 JDBC, ODBC, MYBATIS
ORM : 객체지향 프로그래밍의 객체(Object)와 관계형 데이터베이스의 데이터를 연결하는 기술
절차형 SQL의 개요
C, JAVA 등의 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL을 의미
절차형 SQL은 일반적인 프로그래밍 언어에 비해 효율은 떨어지지만 단일 SQL 문장 처리하기 어려운 연속적인 작업들을 처리하는데 적합
프로시저 : 특정 기능을 수행하는 일종의 트랜잭션 언어로 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행
트리거 : 데이터베이스 시스템에서 데이터의 입력, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행
통합구현
단위 모듈로 구현되는 하나의 기능을 단위 기능
단위 기능 명세서 -> 입출력 기능 구현 -> 알고리즘 구현
단위 모듈 테스트의 개요
단위 모듈 테스트는 단위 테스트이며, 화이트 박스 테스트와 블랙박스 테스트
소프트웨어 패키징
개요
모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것을 의미
사용자 중심으로 진행
패키징 시 고려사항
사용자의 시스템 환경, 즉 운영체제(OS), CPU, 메모리 등에 필요한 최소 환경을 정의
소프트웨어는 단순히 패키징하여 배포하는 것으로 끝나는 것이 아니라 하드웨어와 함께 관리될 수 있도록 Manged Service 형태로 제공하는 것이 좋음
패키징 작업 순서
애자일 기법 2 - 4주 내에서 지정
기능 식별
모듈화
빌드 진행
사용자 환경 분석
패키징 및 적용 시험
패키징 변경 개선
배포
'Study > 정보처리기사' 카테고리의 다른 글
2과목 소프트웨어개발 - 애플리케이션 테스트 관리 (0) | 2020.09.22 |
---|---|
정보처리기사 이해하기 힘든 것을 모아 요점 정리 (0) | 2020.09.21 |
정보처리기사 요점정리 (0) | 2020.09.16 |
정보처리기사 1과목 - 소프트웨어 설계 (0) | 2020.09.15 |
정보처리기사 5과목 (0) | 2020.09.11 |