본문 바로가기

소프트웨어 공학20

[소프트웨어 공학] 요구 사항 분석 요구 사항 분석 요구 분석이란 새 시스템이나 변경할 시스템의 요구를 결정하는 작업입니다. 이 작업에는 사용 자, 개발자, 관리자 등 관련되는 여러 사람이 참여하므로 서로의 어긋나는 요구를 잘 조정하여야 한다. 요구 분석이 프로젝트 성패의 열쇠라 할 수 있습니다. 체계적인 요구 분석을 요구 공학이라고도 부른다. 요구 공학은 요구 수집, 도메인 분석, 요구 명세, 검증 등으로 구성됩니다. 요구는 측정할 수 있고 시험할 수 있어야 하며 비즈니스 요구에 부합하여야 하며 설계를 할 수 있도록 충분히 상세하여야 합니다.소프트웨어 개발에 있어서 가장 어려운 부분은 무엇을 개발할 것인가를 정확히 결정하는 일입니다. 그 외의 일, 예를 들면 자세한 설계와 구현, 테스트 등 은 잘못되었을 때 적은 비용으로 수정할 수 있으.. 2024. 5. 23.
[소프트웨어 공학] 소프트웨어 생명주기 - 애자일 프로세스 애자일 프로세스 폭포수 프로세스는 복잡한 문제를 잘 파악하고 이해하여 해결하는 프로젝트에는 적합합니다. 하지만 프로그램을 개발한다는 측면에서는 문서화 등의 오버헤드가 많은 단점이 있습니다. 이런 단점을 개발하기 위한 것이 애자일 프로세스입니다. 애자일 프로세스는 팀워크, 사용자와 협력하여 개발, 변경을 위한 설계, 짧은 주기의 반복으로 빠른 속도로 개발하고 자주 출시한다는 면을 강조합니다. 애자일 프로세스는 새로운 가치와 원리, 최적의 방법을 제시하고 있는데 이로써 폭포수 프로세스의 단점을 해결하고 있다.애자일 프로세스는 다음 네 가지 가치를 철학으로 담고 있다.1. 절차와 도구보다는 개인과 소통을 중요시합니다.전통적인 프로세스에서는 계획 위주의 절차가 프로젝트 성공을 위하여 필수적이라고 믿습니다. 즉 .. 2024. 5. 23.
[소프트웨어 공학] 소프트웨어 생명주기 - 나선형 모델, V자 모델 나선형 모델 Boehm이 제안한 나선형 (spiral model) 모델은 위험 관리를 위한 독특한 프로세스이다. 아래 그림에 나타낸 것처럼 모델의 작업이 복수의 주기를 가진 나사와 같이 구성되어 있다. 반복되는 나선형의 각 주기는 목표를 설정하는 일부터 시작한다. 또한 목표를 성취하기 위한 다른 방안과 존재하는 제약 사항을 파악한다. 다음은 여러 대안들을 저울질하고 평가해 본다. 평가의 초 점은 프로젝트의 위험이라는 개념이다. 다음 단계는 문제와 위험을 해결하는 전략을 개발하는데 벤치마킹, 시뮬레이션, 프로토타이핑과 같은 방법을 이용한다. 그 후에 소프트웨어를 개발하고 다음 단계를 계획한다.나선형 모델의 중요한 특징은 개발을 위한 계획 및 요구분석 후에 위험 요 소와 차선책에 대하여 검토하는 단계가 있다.. 2024. 5. 22.
[소프트웨어 공학] 소프트웨어 생명 주기 - 진화적 모델 진화적 모델 초기의 소프트웨어 개발은 몇 년이라는 긴 시간이 걸리더라도 고객이 이해하고 기다렸습니다. 그러나 최근의 비즈니스 환경은 개발 사이클이 긴 것을 허용하지 않습니다. 새로운 소프트웨어 시스템을 빠른 시간에 시장에 내놓는 것이 기업의 이윤과 사활에 직결되기 때문입니다. 결국 진화적 모델은 폭포수 모델이 한 번에 릴리스 하기 전에는 사용자가 아무것도 경험하지 못하고 피드백 할 수 없는 단점, 즉 빅뱅(big bang) 릴리스를 보완하려는 방법입니다.  기본적인 아이디어는 사용자에게 시스템을 조기에 경험하게 하고 출시를 빠르게 하기 위하여 아래 그림에 표현한 것처럼 조금씩 점증적으로 개발하는 것입니다. 즉 시스템을 여러 번 나누어 릴리스 하는 방법으로 중 요하고 기초적인 기능을 우선 개발하여 사용하게.. 2024. 5. 22.