고객이 시스템에 요구하는 서비스가 무엇인지 확립하고 시스템을 개발하고 운영하는 동안 충족해야하는 제약사항(constraint)이 무엇인가를 정립하는 과정.
실질적인 개발 과정에서 가장 먼저 진행되는 작업이다. 이 작업의 결과를 바탕으로 이후의 설계(design), 구현(implementation), 테스트(test)가 진행되기 때문에 굉장히 중요한 단계라고 볼 수 있다.
시스템에 대한 요구사항을 완전하게(complete), 그리고 요구사항 간의 충돌이 없도록 일관성 있게(consistent) 정립하는 것을 추구한다.
일반적으로 기능적, 비기능적 요구사항으로 구분하며, 기술 관점과 대상 범위에 따라 시스템 요구사항, 사용자 요구사항으로 나뉜다.
(요구사항 엔지니어링 프로세스 라는 뜻)
개발 대상에 대한 요구사항을 체계적으로 도출하고 이를 분석한 후 분석 결과를 명세서에 정리한 다음 마지막으로 이를 확인 및 검증하는 일련의 구조화된 활동이다.
소프트웨어 개발 프로젝트에서 요구사항을 분석하고 시스템의 기능을 정의하는 데 사용되는 기법이다. 문제에 대해 객관적으로 생각하고 프로젝트의 범위를 식별함으로써 복잡한 시스템을 보다 쉽게 이해하고 관리할 수 있게 된다.
+논리가 작동하지 않을 때엔 누락되거나 중복된 기능을 식별하거나 순서를 조정하고, 동시에 발생하는 기능을 식별하기 위해 "이 기능이 수행될 때, 무엇이 또한 수행되거나 이 기능에 의해 발생하는가?"를 다시 되짚어보면 된다.
소프트웨어 개발 과정 전반에 걸쳐 품질을 최우선으로 두는 접근 방식
아래와 같은 원칙들이 있다.
사용자가 시스템과 상호작용하는 방식을 보여준다.
시스템의 기능을 나타내기 위해 사용자의 요구를 추출하고 분석하는데 사용
유스케이스(시스템 기능), 액터(시스템과 상호작용 하는 것)으로 구성된다.
액터가 될 수 있는 것에는 사용자가 맡은 일, 다른 시스템이 있다.
액터를 찾기 위한 질문
부마위키
https://buma.wiki
내가 다니는 부산소프트웨어마이스터고에서 쓰는 교내 나무위키다.
처음에 야심차게 다른 학교에도 만들어주겠다고 만들었는데 다른 소프트웨어마이스터고에서도 따라서 만들어서 실패한 것 같다.
아무튼 이걸 보고 간단하게 쓴 use case model을 보고 가자~
잘 쓴 것은 아니기에 충분히 좋은 use case model을 참고하길 바란다.
끝~
출처
https://newdevlog.tistory.com/14
https://lizarmong-water.tistory.com/16