본문 바로가기

CS101

[SW공학] V-모형의 개념과 프로세스 V모형에 대해 알아보고, 그 프로세스를 살펴봅니다. [ Contents ] 1. V-모형 개발과 검증 작업 사이의 관계를 명백히 드러낸 폭포수 모델의 확장 형태 폭포수 모델에서의 분석과 설계 단계는 왼편에, 테스트와 검증은 오른편에 두어 명확히 관계를 표시한 모델입니다. 모든 단계에서 테스트와 검증이 있어 오류를 줄일 수 있으므로 신뢰성이 필요한 분야에 적합한 개발 방식입니다. 2023.04.26 - [CS] - [SW공학] 폭포수 모델(Waterfall)의 개념과 장단점 [SW공학] 폭포수 모델(Waterfall)의 개념과 장단점 폭포수 모델은 [요구사항 정의 - 시스템 & 소프트웨어 설계 - 구현 및 단위테스트 - 통합 및 시스템 테스트 - 운용 & 유지보수]의 과정을 거쳐서 개발하는 프로세스입니다... 2023. 4. 26.
[SW공학] 나선형 모델(Spiral Model)의 특징과 프로세스 워터폴 방식과 프로토타이핑 방식의 장점을 취한 나선형 모델에 대해서 알아보겠습니다. [ Contents ] 1. 나선형 모델 (Spiral Model) 위험을 최소화하며 점진적으로 완성해가는 개발 프로세스 나선형 모델은 '폭포수 모델(waterfall)'의 체계적인 단계와 '프로토타이핑 모델(Prototyping)'의 반복 개선 특성을 수용한 모델입니다. 기존 폭포수 모델은 초기 설계가 잘못 되었을 경우, 되돌릴 수 없다는 한계와 위험성을 갖고 있었습니다. 또한 개발이 다 되고나서야 제품을 테스트할 수 있다는 맹점도 있었습니다. 하지만 나선형 모델은 프로토타이핑 모델의 특성을 받아들여, 계속 테스트하면서 점진적으로 개발해갑니다. 이를 통해 잠재적 위험성을 최소하며 대규모 시스템을 개발할 수 있습니다. (.. 2023. 4. 26.
[SW공학] 프로토타이핑(프로토타입) 모델의 개념과 프로세스 프로토타이핑 모델의 개념과 프로세스에 대해서 알아보겠습니다. [ Contents ] 1. 프로토타이핑(Prototyping) 모델 사용자 요구분석을 위해, 견본품(Prototype)을 만들어 의사소통 도구로 사용하는 방식 프로토타입은 '시제품'으로, 사용자에게 어떻게 만들어질지를 보여주는 샘플입니다. 따라서 성능, 품질 따지지 않고 단순히 동작만 하도록 구현합니다. 사실 상황에 따라서는 프로그램 코드로 구현하지 않고, 스케치북이나 PPT 등을 활용해서 만들 수도 있습니다. 프로토타입의 목적은 사용자의 요구를 파악하고 분석하는 데에 있으므로, 빠르고 값싸게 만들어서 피드백을 얻고 폐기합니다. 프로토타입을 보완해서 실제 제품을 만드는 경우도 있으나, 소프트웨어 공학에서는 지양하고 있습니다. 2. 프로토타이핑.. 2023. 4. 26.
[SW공학] 폭포수 모델(Waterfall)의 개념과 장단점 폭포수 모델은 [요구사항 정의 - 시스템 & 소프트웨어 설계 - 구현 및 단위테스트 - 통합 및 시스템 테스트 - 운용 & 유지보수]의 과정을 거쳐서 개발하는 프로세스입니다. 이러한 폭포수 모델의 특성과 장단점을 살펴보겠습니다. [ Contents ] 1. 폭포수(Waterfall) 모델 폭포처럼 각 단계가 순차적으로 진행되는 정형화된 모델 물이 거슬러 올라갈 수 없듯이, 폭포수 모델도 한 번 지나친 단계는 다시 돌아가지 못하는 모델로 유명합니다. 하지만 요즘에는 문제가 있을 시, 이전 단계로 되돌아가기도 합니다. 다만 에자일과 같은 방식처럼, 이전 단계로 돌아가는 걸 상정하진 않습니다. 단계별로 시간을 들여 확실하게 하는 대신, 다시 되돌아가는 비용을 줄이는 모델이죠. 여기에서 확실하게 진행한다는 건,.. 2023. 4. 26.
[SW공학] 소프트웨어 생명주기(SDLC): 계획, 분석, 설계, 구현, 시험, 유지보수 소프트웨어는 [계획 - 분석 - 설계 - 구현 - 시험 - 유지보수] 단계를 거쳐서 탄생하고 폐기됩니다. 이 과정에 대해서 알아보겠습니다. [ Contents ] 1. 소프트웨어 생명주기(Software Devlopment Life Cycle) 소프트웨어가 만들어져서 폐기되기까지의 단계를 말합니다. 유지보수를 얼마나 하느냐에 따라 생명주기는 크게 달라지나 보통 5~8년 정도 사용하게 됩니다. 소프트웨어는 비마모성이라, 많이 사용한다고 훼손되거나 닳지 않습니다. 하지만 품질이 점점 나빠지게 됩니다. 유지보수로는 한계가 있죠. IT업계는 빠르게 발전하고 있고, 최신 기술의 효용성은 상당히 높습니다. 결국 기존 데이터는 그대로 끌고 가더라도, 시스템은 새로 개발하게 됩니다. 2. 소프트웨어 생명주기 단계 계획.. 2023. 4. 26.
[SW공학] 소프트웨어(Software)의 개념과 특징 소프트웨어의 개념과 특징에 대해서 알아봅니다. [ Contents ] 1. 소프트웨어의 개념 소프트웨어는 프로그램 뿐만 아니라, 개발과 운용 및 유지보수에 관련된 모든 문서와 정보를 포함한다. 소프트웨어는 단순히 프로그램을 의미하지 않습니다. 기획, 개발 및 테스트 문서를 비롯해서 사용자 가이드까지 포함합니다. 소프트웨어 공학에서는 프로그램 구현(개발) 외적으로, 체계적으로 기획하고 문서화하는 작업을 주로 다루게 됩니다. 2. 소프트웨어의 특징 1) 유형성 소프트웨어도 '형태'가 있는 '유형'의 물질입니다. 소프트웨어는 프로그램 코드로 이루어져 있고, 이를 분석/설계의 산출물로 가시화할 수 있습니다. 2) 동적행위성 프로그램은 정적인 반면, 소프트웨어는 동적입니다. 하드웨어에 의해 실행된 프로그램이 '사.. 2023. 4. 26.
[DB] 데이터 웨어하우스와 데이터 마트, 그리고 ETL이란? 데이터 웨어하우스는 기업에서 사용하는 업무용 데이터 창고입니다. 그리고 각 업무 담당자는 데이터 마트에서 자료를 찾아서 사용합니다. 이러한 작업이 가능한 이유는 ETL 덕분입니다. 이에 대해서 자세히 알아보겠습니다. [ Contents ] 1. 데이터 웨어하우스 (Data Warehouse) 보다 정보에 입각한 의사결정을 내릴 수 있도록, 다양한 소스의 대량 데이터를 연결하고 통합한 데이터베이스 데이터 웨어하우스는 말 그대로 '창고'입니다. DB의 데이터를 수집해서 모아두는 창고 역할을 합니다. 그리고 업무별, 목적별로 나누어서 데이터 마트로 보냅니다. 업무 담당자는 자신의 업무와 관련있는 정보만 쉽게 찾을 수 있죠. 2. 데이터 웨어하우스의 특징 - 주제별, 분야별로 정리된 데이터 - 통합된 데이터 -.. 2023. 4. 25.
[DB] 데이터베이스 병행(동시성) 제어 기법: 로킹, 기본적 2PL 데이터베이스 병행 작업 시 문제점을 해결하기 위한 로킹과 기본적 2PL에 대해서 알아보겠습니다. [ Contents ] 1. 병행작업의 문제점 운영체제에서 같은 자원을 쓰는 프로세스를 병렬 처리할 때 교착상태(Deadlock)에 빠지듯이, DB에서도 같은 데이터를 동시에 여러 트랜잭션이 처리할 때 문제가 생깁니다. 이를 해결하기 위해서 병행 제어 기법을 사용합니다. 2023.04.25 - [Data Engineering] - [DB] 데이터베이스 동시성 제어(병행 제어)와 문제점 [DB] 데이터베이스 동시성 제어(병행 제어)와 문제점 데이터베이스는 여러 트랜잭션을 번갈아가며 함께 처리합니다. 그러다 보니 서로 얽히는 경우도 생기는데, 이러한 병행수행의 문제점에 대해서 알아보겠습니다. [ Contents .. 2023. 4. 25.
[DB] 데이터베이스 동시성 제어(병행 제어)와 문제점 데이터베이스는 여러 트랜잭션을 번갈아가며 함께 처리합니다. 그러다 보니 서로 얽히는 경우도 생기는데, 이러한 병행수행의 문제점에 대해서 알아보겠습니다. [ Contents ] 1. 동시성 제어 (병행 제어) 동시 실행되는 여러 트랜잭션의 작업에서 문제가 발생하지 않도록 제어하는 기법 트랜잭션은 동시에 실행될 수 있으나, 결과는 독립적으로 연속되어 실행된 결과와 같아야 합니다. (트랜잭션의 고립성/격리성) 흔히 수강신청이나 선착순 예약을 떠올리시면 이해하기 쉽습니다. 동시에 여러 트랜잭션이 수행되지만, 실행순서대로 직렬성이 보장되어야 합니다. 그리고 응답시간을 최소화하면서 데이터의 무결성과 일관성을 보장하는 기법이 '동시성 제어(병행 제어)'라고 보면 되겠습니다. 2. 병행 수행의 문제점 운영체제와 마찬가.. 2023. 4. 25.