본문 바로가기
반응형

(Pilot) 탑기공23

큐(Queue) - "큐피포" 선형 자료 구조에서 종종 비교되는 것이 스택(Stack)과 큐(Queue)입니다. 스택은 지난번 포스팅했던 것처럼 LIFO의 특징을 갖고 있는데, 큐는 FIFO의 특징을 갖고 있습니다. 또한, 스택은 삽입/삭제가 한곳에서 이루어지는 것에 반해 (Top) 큐는 삽입/삭제하는 곳이 분리되어 있습니다.(Rear, Front) 스택은 깊이 우선 탐색(DFS) 구현에 활용될 수 있고, 큐는 너비 우선 탐색(BFS) 구현에 활용 될 수 있습니다. 큐(Queue) 선형 자료 구조의 하나로, 스택과 달리 삽입되는 곳과 삭제되는 곳이 다른 자료 구조 큐는 뒤에서(Rear) 삽입되고 앞(Front)에서 삭제할 수 있는 구조 FIFO(First Input, First Output) 특징 보유 큐의 개념도 출처 : 탑싯 에센.. 2022. 12. 16.
스택(Stack) - "스리포 3!4!" 한번 보면 절대 잃어버리지 않을 두음을 만들면 희열을 느낍니다. 룰라의 3!4!를 아시나요? 스택(Stack)의 핵심 특징은 LIFO(리포, Last In, First Out)입니다. 스택(Stack) LIFO Last In, First Out 스택(Stack) 선형 자료구조의 하나로 데이터가 입력된 순서로 기억공간에 저장되어 출력 시 가장 나중에 쌓인 데이터가 가장 먼저 출력을 하게 되는 자료 구조 스택의 개념도 스택의 연산 종류 연산 종류 설명 top() 스택의 맨 위에 있는 데이터 값을 반환한다 push() 스택에 데이터를 삽입한다. pop() 스택에서 데이터를 삭제하여 반환한다. isempty() 스택에 원소가 없으면 true 값을 반환하고 있으면 false 값을 반환한다. isfull() 스택에.. 2022. 12. 15.
[탑기공] 역공학 역공학 소프트웨어 공학의 한 분야로 이미 만들어진 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 일 시스템을 이해하여 수정하는 소프트웨어 유지보수 단계에 수행하는 일련의 활동 즉, 소프트웨어 생명주기의 마지막 단계에서 얻어지는 프로그램 또는 문서 등을 이용하여 생명주기 초기 단계의 산출물에 해당하는 정보 또는 문서를 만들어 내는 일로서 설계부터 순차적으로 수행하는 순공학에 상대되는 개념 출처: 탑싯 에센스 소프트웨어 3R 개념도 역공학의 Input / Output Input Output 원시코드, 목적코드, 작업절차, 라이브러리 등 입출력 형태의 자료, 문서 구조도, 자료 흐름도, 제어 흐름 그래프, 개체 관계도 역공학의 종류 종류 설명 논리 역공학 원시코드로부터 정보를 추출하여.. 2022. 12. 14.
[탑기공] 소프트웨어 재사용 소프트웨어 3R - 역공학, 재공학, 재사용 소프트웨어 재사용 정의 사용 소프트웨어 개발 관련 지식(기능, 모듈, 구성 등)을 표준화하여 개발 생산성을 높이기 위하여 반복적으로 사용하기에 적합하도록 구성하는 방법 기존 개발 기능, 성능 및 품질을 인정받았던 소프트웨어의 전체 또는 일부분을 다시 사용하여 신규 개발되는 소프트웨어의 품질과 생산성 및 신뢰성을 높이고 개발 일정 및 비용을 감소시켜주는 대응 방안 기존 개발 모듈이나 프로그램, 산출물 등을 동일한 응용 분야, 서로 다른 응용업무, 혹은 서로 다른 기업 간에 다시 사용하거나 일부 수정 후 재사용할 수 있는 개념 소프트웨어 3R 개념도 소프트웨어 재사용의 목적 신뢰성, 확장성, 생산성, 사용성, 유지보수성, 적응성 재사용(Reuse) 활용 기법 Co.. 2022. 12. 13.
[탑기공] 04. 애자일 개발 방법론 04 애자일 개발 방법론 애자일 개발 방법론 개념 절차나 문서보다 사람과 업무 자체를 중요시하여 유연하고 신속한 개발을 추구하는 방법론 애자일 소프트웨어 개발 선언 [두음] 개작고변 우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고 있다. 이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다: 공정과 도구보다 개인과 상호작용을 포괄적인 문서보다 작동하는 소프트웨어를 계약 협상보다 고객과의 협력을 계획을 따르기보다 변화에 대응하기를 가치있게 여긴다. 이 말은, 왼쪽에 있는 것들도 가치가 있지만, 우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다. 주요 애자일 방법론 스크럼(Scrum), 익스트림 프로그래밍(eXtreme Programmi.. 2022. 12. 12.
[탑기공] 03. 소프트웨어 개발 방법론 03 소프트웨어 개발 방법론 소프트웨어 개발 방법론 소프트웨어를 개발하는 방법에 대한 이론으로서, 소프트웨어 개발 과정, 절차, 방법, 산출물, 기법, 도구들을 체계적으로 정리하고 표준화시킨 것 소프트웨어 개발 방법론의 특징 개발 단계를 각각 정의하고 각 단계별 수행 활동, 산출물, 검증절차, 완료 기준을 정의하고, 개발 계획, 분석, 설계 및 구현의 수행 단계에 대해 정형화된 방법과 절차, 지원 도구를 정의한다. 소프트웨어 개발 방법론의 필요성 [두음] 생프소품 개발 생산성 향상, 효과적인 프로젝트 관리, 의사소통 수단 제공, 품질 보증 소프트웨어 개발 방법론의 구성 [두음] 절방산관기도, 절산 방관 기도 소프트웨어 개발 방법론 종류 [두음] 구정객CPA 소프트웨어 개발 방법론 기술사 공부하실 계획이 .. 2022. 12. 7.
[탑기공] 02. 소프트웨어 개발 생명주기 정리는 틈틈이 ~ 소프트웨어 개발 생명주기(SDLC) 소프트웨어의 생성에서 소멸까지의 과정을 단계별로 나눈 것으로, 각 단계별 주요활동과 산출물을 통해 프로젝트의 진행방향을 명확하게 파악하고, 관리를 용이하게 한다. 생명주기 활동 구분 타당성 검토 - 개발 계획 - 요구사항 분석 - 설계 - 구현 - 테스트 - 운용 - 유지보수 소프트웨어 생명주기 모델 종류 V 모델, VP 모델, 점증적 모델, 진화 모델 생명주기 모델은 "개폭프나반라" 6개 정도는 알고 있으면 좋습니다. V 모델 시스템 요구사항이 모두 식별되고 명확할 때 이상적인 생명주기 모델 특징 - 프로젝트에 적용, 관리하기가 용이하다 - 개발 활동의 시작/종료 조건 및 프로젝트를 효과적으로 관리할 수 있는 척도 등이 명확하게 정의될 수 있다. -.. 2022. 12. 6.
[탑기공] 01. 소프트웨어 공학의 배경과 목적 01 소프트웨어 공학의 배경과 목적 다기능화 및 대규모화되는 소프트웨어를 성공적으로 개발하기 위해서는 소프트웨어 공학 기술의 적용 필요 소프트웨어 공학 소프트웨어의 개발, 운용, 유지보수 등의 생명주기 전반을 체계적이고 서술적이며 정량적으로 다루는 학문 소프트웨어 공학의 4가지 중요 요소 [두음] 방도절사 방법, 도구, 절차, 사람 [두음] 방구세다 방법, 도구, 프로세스, 패러다임 기술사 시험에서는 "절방산관기도", "절산 방관 기도"로 일반적으로 외웁니다. 작업 절차, 산출물, 작업 방법, 관리, 기법, 도구 성공적인 프로젝트의 핵심 요소 [두음] PPT 프로세스(Process), 인력(People), 기술(Technology) 체계적인 업무 방식 및 흐름의 정의와 이를 적용할 수 있는 프로세스 전문.. 2022. 12. 6.
728x90
반응형