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