시나공 기준 개정된 2020 정보처리기사에서는 E-R 다이어그램 표기법에서 정보 공학 표기법이나 바커 표기법 등의 표기법이 추가되었다. E-R (Entity-Relationship, 개체-관계) 모델의 개요 - 개념적 데이터 모델의 대표적인 모델 - 피터 첸에 의해 제안됨 - 개체와 개체 간의 관계를 개념적인 논리 데이터로 표현하기 위한 방법 - 데이터를 개체(Entity), 관계(Relationship), 속성(Attribute)로 묘사함 - E-R 다이어그램으로 표현하며 1:1, 1:N, N:M 등 관계 유형을 제한없이 나타낼 수 있음 E-R 다이어그램 - E-R 모델의 아이디어를 이해하기 쉽게 기호를 사용해 시각적으로 표현한 그림 - E-R 다이어그램 표기법에는 피터 첸 표기법, 정보 공학 표기법,..
시나공 기준, 개정된 2020 정보처리기사에서는 데이터베이스 파트에 스키마에 대한 내용 (스키마 3계층 등)이 제외된 것 같다. 혹시 몰라 추가해놓는다. 데이터베이스 설계 순서 - 요구조건 분석 : 요구 조건 명세서 작성 - 개념적 설계 : 개념 스키마, 트랜잭션 모델링, E-R 모델링 - 논리적 설계 : 논리 스키마, 트랜잭션 인터페이스 설꼐 - 물리적 설계 : 구조의 데이터로 변환 - 구현 : DDL로 데이터베이스 생성, 트랜잭션 작성 1) 요구조건 분석 - 데이터베이스를 사용할 사람들의 필요한 용도를 파악 - 데이터의 종류, 용도, 형태 등을 수집 - 수집된 정보를 바탕으로 요구 조건 명세를 작성 2) 개념적 설계 - 개념 스키마 모델링과 트랜잭션 모델링을 수행 - 개념 스키마를 설계 - 요구분석 ..
시나공 기준 개정된 2020 정보처리기사에서는 이전과 달리 모듈 부분에 결합도와 응집도는 똑같지만 팬인/팬아웃이 추가되었다. 모듈 (Module) 개요 - 모듈은 모듈화를 통해 분리된 시스템의 각 기능들을 의미 - 모듈은 단독으로 컴파일이 가능, 재사용 가능 - 모듈의 독립성은 결합도와 응집도에 의해 측정됨 - 독립성을 높이려면 결합도는 약하게, 응집도는 강하게, 모듈의 크기는 작게 만들어야 함 * 모듈화 : 소프트웨어 성능 향상이나 수정 및 재사용 등이 용이하도록 시스템의 기능들을 모듈 단위로 분해하는 것 결합도 (Coupling) - 약할수록 좋음 - 모듈간에 상호 의존하는 정도, 두 모듈 사이의 연관 관계를 의미 - 결합도가 강하면 시스템 구현 및 유지보수가 어려움 - 결합도의 종류 : 자료 < 스..
NCS 기반으로 개편된 2020 정보처리기사의 경우 자료구조 파트가 소프트웨어 개발 과목으로 넘어왔다. 확실히 삭제된 부분도 많고, 새로 추가된 부분도 많고 전체적인 구조도 많이 바뀐 것 같다. 자료구조의 분류 - 선형 구조: 배열, 선형리스트(연속리스트, 연결리스트) 스택, 큐, 데크 - 비선형 구조: 트리, 그래프 배열 (Array) - 동일한 자료형의 데이터들이 같은 크기로 나열됨 - 순서를 갖고 있는 집합 - 기억장소의 추가가 어려움 - 데이터 삭제 시 메모리 낭비 발생 연결리스트 (Linear List) - 노드의 포인터를 이용해 서로 연결시킨 자료 구조 - 노드의 삽입, 삭제 작업이 용이함 - 링크가 필요하기 때문에 순차 리스트에 비해 기억 공간의 이용 효율이 좋치 않음 - 포인터를 찾아야해서..
왜인지는 모르겠으나 시나공을 기준으로 2020 정보처리기사에는 객체지향의 주요 개념에 추상화와 정보 은닉이 사라지고 캡슐화/상속성/다형성만 남았다. 하지만, 추상화와 정보은닉도 추가해두려 한다. 객체지향(Object-Oriented) 이란 - 현실 세계를 그대로 모형화 - 소프트웨어 개발 시 객체들을 조립해 작성 가능 - 소프트웨어 재사용 및 확장을 용이, 유지보수가 쉬움 - 주요 요소와 개념에는 객체, 클래스, 캡슐화, 상속, 다형성이 존재함 객체지향의 주요 요소 (객체, 클래스) 객체 객체란, 데이터와 데이터를 처리하는 함수를 캡슐화한 하나의 모듈이다. - 함수는 객체가 수행하는 기능, 객체가 갖는 데이터를 처리하는 알고리즘 - 함수는 객체가 메시지를 받아 실행해야 할 객체의 구체적 연산을 정의 - ..
UML (Unified Modeling Language) 이란? - 시스템 개발 과정에서 개발자와 고객 혹은 개발자 상호간의 원활한 의사소통을 위해 표준화한 객체지향 모델링 언어 - UML을 사용 시 6개의 구조 다이어그램, 7개의 행위 다이어그램 작성 가능 - UML의 구성 요소 : 사물, 관계, 다이어그램 사물 (Things) - 다이어그램 안에서 관계가 형성될 수 있는 대상을 말함 - 구조사물, 행동사물, 그룹사물, 주해사물 관계 (Relationships) - 사물과 사물 사이의 연관성을 표현하는 것 - 연관관계, 집합관계, 포함관계, 일반화관계, 의존관계, 실체화관계 등 연관관계 - 양방향 관계인 경우 실선으로 표현, 아니면 화살표 - 연관에 참여한는 객체의 수(다중도)를 표기함 집합관계 - 포..
스크럼(Scrum) 기법 스크럼은 팀이 중심이 되어 개발의 효율성을 높이는 방식으로 팀원 스스로 스크럼 팀을 구성, 개발 작업에 대한 모든것을 스스로 해결할 수 있어야 한다. 스크럼팀의 구성 - 제품 책임자 : 개발 의뢰자나 사용자가 담당, 제품에 대한 요구사항을 작성하는 주체, 백로그 작성 - 스크럼 마스터 : 스크럼팀의 가이드 역할을 수행함, 개발 과정에서의 장애 요소를 공론화해 처리함 - 개발팀 : 제품 책임자와 스크럼 마스터를 제외한 모든 팀원 백로그란 : 제품 개발에 필요한 요구사항을 모두 모아 우선순위를 부여한 목록을 말함 (제품 책임자가 작성) 스크럼 개발 프로세스 1) 제품 백로그 - 백로그를 기반으로 릴리즈 계획을 수립함 릴리즈 : 몇개의 요구사항이 적용되어 부분적으로 기능이 완료된 제품..
시나공책 기준, 개정된 2020 정보처리기사에서 소프트웨어 생명주기 모형은 폭포수, 프로토타입, 나선형, 애자일로 기존의 폭포수, 프로토타입, 나선형, 4GT에서 4GT가 빠지고 애자일이 추가되었다. '소프트웨어 생명주기' 란 소프트웨어 생명주기란 소프트웨어 개발을 하기 위한 정의, 운용, 유지보수 등의 각 과정을 단계별로 나눈 것을 말한다. 폭포수 모형 - 소프트웨어 개발 각 단계를 확실히 매듭짓고 그 결과를 철저히 검토해 승인 과정을 거침 - 이전단계로 돌아갈 수 없음 - 가장 오래되고 폭넓게 사용된 전통적인 소프트웨어 생명 주기 모형 - 선형 순차적 모형 - 개발 순서 : 타당성 검토 -> 계획 -> 요구분석 -> 설계 -> 구현 -> 검사 -> 유지보수 장점 단점 - 모형의 적용 경험과 성공 사례..