본문 바로가기

학교 공부/소프트웨어공학6

소프트웨어 공학 - 애자일 프로세스 모델(scrum) 오늘은 애자일 프로세스 모델 (애자일 개발 방법론)에 대해 알아보겠다. 그중 scrum에 대해 자세히 알아볼 예정이다. 애자일 프로새스 모델 일단 애자일의 사전적 의미를 먼저 알아보도록 하자. 사전적 의미는 '날렵한', '민첩한'이란 뜻이다. 그렇다면 이 애자일 프로세스 모델은 무엇일까? 이 모델은 고객의 요구에 '민첩'하게 대응하고 그때그때 주어지는 문제를 풀어나가는 방법론을 말한다. 등장 배경 폭포수 모델처럼 계획을 기반으로 하는 프로세스 중심의 전통적인 모델은 산출물 위주의 거대하고 무거운 방법론에 해당한다. 이러한 방법론들은 요구 사항의 변화에 유연하게 대처하기 어렵다는 큰 문제점이 있다. 따라서 가볍고 비교적 변화를 수용하기 쉬운 방법론이 필요하게 됐는데, 이것이 익스트림 프로그래밍( XP : .. 2022. 5. 19.
소프트웨어 공학 - 나선형 모델, 단계적 개발 모델, 통합 프로세스 모델(UP모델) 오늘 알아볼 모델들은 나선형, 단계적 개발, 통합 프로세스 모델들이다. 먼저 나선형 모델이다. 나선형 모델 개요 나선형 모델이란 이름에서 볼 수 있듯이 개발 과정이 뱅글뱅글 돌아 점점 완성도가 높은 제품이 만들어지는 모델이다. 이 나선형 모델은 전 포스팅에서 말했듯이 진화적 프로토타입 모델의 대표적인 예이다. 나선형 모델의 개발 방식은 프로토타입 모델에서 최종 프로토타입을 버리지 않고 계속 개발하여 최종 완성시킨다. 이 모델이 프로토타입 모델과 다른 점은 위험 분석 단계가 추가되었다는 것이다. 나선형 모델의 특성 나선형 모델은 초기 요구 분석 후 프로토타입 개발 이전에 위험 분석 단계를 거친다. 이렇게 만들어진 프로토타입을 사용자가 평가한 후 개발자가 추가 또는 수정 요구를 받아들여 위험 분석을 거쳐 2.. 2022. 4. 30.
소프트웨어 공학 - V 모델, 진화적 프로세스 모델(Prototype Model) 저번에 이어 소프트웨어 개발 프로세스들에 대해 알아볼 것이다. 이번에는 V 모델과 진화적 프로세스 모델에 대해 알아보겠다. V 모델 폭포수 모델의 변형버전이다. 폭포수 모델에 테스트 단계를 추가 확장시켰다. 각 개발 단계를 검증하는데 초점을 맞추었다. (폭포수 모델은 결과 중심) 그림을 보면 왜 이름이 V 모델인지 알 수 있다. V 모델을 폭포수 모델에 테스트 단계를 추가한 것이니, 테스트 단계만 살펴보자. 만약 폭포수 모델이 뭔지 모른다면, 전 글을 보고 오자. 1) 단위 테스트 우선 단위 테스트(unit test)에는 모듈 검증을 하는데 이 모듈이 뭔지부터 알아보자. 모듈이란 함수, 서브 시스템을 구현하는데 필요한 기능들을 말한다. 그리고 이 테스트의 목표는 이 모듈을 개별적으로 다 검증하는 것이다... 2022. 4. 8.
소프트웨어 공학 - 주먹구구식 모델, 폭포수(선형 순차적) 모델 이번에 알아볼 것은 소프트웨어 개발 프로세스 모델들인데 그중에서도 맨 처음 배운 2가지를 가지고 와봤다. 바로 본론으로 들어가자. 먼저 소프트웨어 개발 프로세스에 대해 알아보자. 소프트웨어 개발 프로세스 소프트웨어 개발 프로세스는 Software Development Life cycle 줄여서 SDLC라고도 불린다. 1) 프로세스 : 여기서 프로세스는 일을 처리하는 과정 또는 순서이다. 프로세스의 목적으로는 주어진 일 해결이 있고, 순서가 정해져 수행되는 일련의 절차이기도 하다. 2) 소프트웨어 개발 프로세스 : 소프트웨어 개발 프로세스의 좁은 의미는 사용자의 요구사항을 SW 시스템으로 구현하기 위한 일련의 활동이다. 넓은 의미로는 절차나 과정 + 도구, 장비 + 참여자 즉, 소프트웨어 개발 목적을 이루.. 2022. 4. 7.
소프트웨어공학 - 소프트웨어 개발 단계 *학교에서 공부하는 내용을 정리하여 필자가 이해한 내용을 바탕으로 쓰는 글입니다. 저번에 소프트웨어공학의 개념과 필요성을 알아보았다. 이번에는 소프트웨어의 개발 단계에 대해 알아보자. 소프트웨어 개발 단계우선 소프트웨어 개발 단계의 큰 틀은 아래와 같다. 계획 - 분석 - 설계 - 구현 - 테스트 - 유지보수그러면 이제 세부적으로 알아보자. 1) 소프트웨어 개발 1단계 (계획)계획 단계에서는 비용, 기간 등 프로젝트를 수행하는 데 필요한 것에 대해 계획한다. 그중 개발 비용을 산정할 때 쓰는 대표적인 방법으로 COCOMO모델과 FP(function Point) 모델이 있다. 국내에서는 주로 FP 즉 기능점수 모델을 자주 사용한다고 한다. 또한 일정 계획도 세워야 한다. 일정 계획은 WBS(작업 분할 구조.. 2022. 3. 15.