본문 바로가기

소프트웨어 생명주기4

[소프트웨어 공학] 소프트웨어 생명주기 - 나선형 모델, V자 모델 나선형 모델 Boehm이 제안한 나선형 (spiral model) 모델은 위험 관리를 위한 독특한 프로세스이다. 아래 그림에 나타낸 것처럼 모델의 작업이 복수의 주기를 가진 나사와 같이 구성되어 있다. 반복되는 나선형의 각 주기는 목표를 설정하는 일부터 시작한다. 또한 목표를 성취하기 위한 다른 방안과 존재하는 제약 사항을 파악한다. 다음은 여러 대안들을 저울질하고 평가해 본다. 평가의 초 점은 프로젝트의 위험이라는 개념이다. 다음 단계는 문제와 위험을 해결하는 전략을 개발하는데 벤치마킹, 시뮬레이션, 프로토타이핑과 같은 방법을 이용한다. 그 후에 소프트웨어를 개발하고 다음 단계를 계획한다.나선형 모델의 중요한 특징은 개발을 위한 계획 및 요구분석 후에 위험 요 소와 차선책에 대하여 검토하는 단계가 있다.. 2024. 5. 22.
[소프트웨어 공학] 소프트웨어 생명 주기 - 진화적 모델 진화적 모델 초기의 소프트웨어 개발은 몇 년이라는 긴 시간이 걸리더라도 고객이 이해하고 기다렸습니다. 그러나 최근의 비즈니스 환경은 개발 사이클이 긴 것을 허용하지 않습니다. 새로운 소프트웨어 시스템을 빠른 시간에 시장에 내놓는 것이 기업의 이윤과 사활에 직결되기 때문입니다. 결국 진화적 모델은 폭포수 모델이 한 번에 릴리스 하기 전에는 사용자가 아무것도 경험하지 못하고 피드백 할 수 없는 단점, 즉 빅뱅(big bang) 릴리스를 보완하려는 방법입니다.  기본적인 아이디어는 사용자에게 시스템을 조기에 경험하게 하고 출시를 빠르게 하기 위하여 아래 그림에 표현한 것처럼 조금씩 점증적으로 개발하는 것입니다. 즉 시스템을 여러 번 나누어 릴리스 하는 방법으로 중 요하고 기초적인 기능을 우선 개발하여 사용하게.. 2024. 5. 22.
[소프트웨어 공학] 소프트웨어 생명 주기 - 프로토타이핑 모델 프로토타이핑 모델 프로그래밍에 관한 전문적 지식이 없는 대부분의 사용자들은 개발될 소프트웨어에 대한 개략적인 목적과 기능들에 대하여 요구할 수는 있으나 입력, 출력, 내부 처리에 대하여 정확히 요구하기란 쉽지 않습니다. 또한 발주자의 입장에서는 알고리즘의 타당성, 운영체제와의 조화, 사용자 인터페이스의 형식 등을 개발 도중에 확인할 방법이 없습니다. 즉, 프로젝트의 실현 가능성을 보장받을 수가 없습니다. 이러한 경우에 프로토타이핑은 좋은 방법이 될 수 있습니다. 프로토타이핑이란 시스템의 일부 혹은 시스템의 모형이 될 만한 것을 만드는 과정입니다. 예를 들면, 시스템을 사용하는 과정을 보여줄 시나리오나 화면 모형을 말합니다. 이는 시스템의 작동을 시뮬레이션 하여 사용자가 볼 수 있는 반응을 보여준다. 시범.. 2024. 5. 22.
[소프트웨어 공학] 소프트웨어 생명 주기 - 폭포수 모델 폭포수 모델 폭포수 모델은 요구분석, 설계, 테스트 등의 작업을 순서대로 쭉 헤나가는 프로세스입니다. 1970년대 많이 소개되어 산업계에서 보편적으로 사용되어 해오던 방식입니다. 원래는 1950년대 항공 방위 소프트웨어 시스템 개발 경험으로 소개되었던 것입니다.원해 폭포수 모델은 폭포에서 내려오는 물이 아래로 떨어지듯이 각 단계가 순차적으로 진행되는, 즉 병행되어 진행되거나 거슬러 반복 진행되는 경우가 없습니다. 그러나 실제 사용되고 있는 폭포수 모델은 아래 그림처럼 표현한 것처럼 각 단계의 결과가 확인된 후에 다음 단계로 넘어갈 수 있기 때문입니다. 이는 사용자의 의견이 다르거나 중간 결과를 점검한 결과 전 단계의 작업에 결함이 있다면 다시 수정하도록 전 단계로 돌아가는 점이 있습니다.  폭포수 모델의.. 2024. 5. 22.