학교 프로젝트에 대한 프로그램을 문서화해야하며 "문제 도메인"이라는 섹션이 있지만이 섹션에서 무엇을 논의해야할지 모르겠습니다.
따라서 문제는 : 문제 영역에서 무엇을 논의해야합니까?
학교 프로젝트에 대한 프로그램을 문서화해야하며 "문제 도메인"이라는 섹션이 있지만이 섹션에서 무엇을 논의해야할지 모르겠습니다.
따라서 문제는 : 문제 영역에서 무엇을 논의해야합니까?
답변:
통신 장 비용 내장 소프트웨어를 작성합니다. 내 문제 도메인은 이더넷, 음성 및 비디오 프로토콜입니다. 다시 말해서, 내가 프로그래밍하고있는 언어와 관련이 없지만 소프트웨어를 작성하려면 여전히 이해해야하는 모든 것들입니다. 사진 서비스 판매를위한 웹 사이트를 만드는 경우 문제 영역은 사진 및 전자 상거래입니다. 군용 항공기 용 펌웨어를 작성하는 경우 문제 영역은 무기, 센서 및 제어 시스템입니다. 사진 가져와? 이해가 되세요?
문제 영역 에 관한 Wikipedia 기사에서 :
문제 영역은 문제를 해결하기 위해 검토 할 필요가 전문 지식 또는 응용 프로그램의 영역입니다. 문제 영역은 단순히 관심있는 주제 만보고 나머지는 모두 배제하는 것입니다.
응용 프로그램에서 해결하려는 문제가 속하는 영역입니다.
모든 사람이 컴파일러, 버그 추적기, 프레임 워크 또는 기타 컴퓨터 소프트웨어 패키지를 작성하는 것은 아닙니다.
어떤 사람들은 모래와 자갈 산업을위한 소프트웨어를 작성합니다. 일부 사람들은 정유 굴절 탑을 모니터링하기위한 소프트웨어를 작성합니다. 어떤 사람들은 플라스틱 비닐 봉지의 제조를 통제하는 소프트웨어를 작성합니다. 어떤 사람들은 케첩 패킷을 채우기 위해 소프트웨어를 작성합니다.
이것들은 모두 문제가있는 도메인입니다. 좋은 소프트웨어를 작성하려면 준비된 콘크리트와 같이 도메인에 대해 조금 알아야합니다.
Ian K. Bray는 그의 저서 요구 공학에 대한 소개 (p9)에서 문제 영역을 다음과 같이 정의합니다.
문제가 존재하는 우주의 그 부분 .
예를 들어, 리프트 제어 시스템의 경우 기존 하드웨어 (리프트, 모터, 버튼, 표시기, 센서 등), 건물 특성 (바닥 및 리프트 샤프트 수), 예상되는 패턴 등이 포함됩니다. 사용법, 사용자의 특성, 고객의 리프트 사용 정책 (예 : 사용자가 짧은 여행에 리프트를 사용하지 않는 것이 좋습니까?) 등이 있습니다.
리프트 제어 문제 영역 내에서, 위에서 언급 한 바와 같이, 문제는 '이 건물에서 리프트를보다 효율적으로 사용할 제어 시스템이 필요합니다.'입니다. 실제로, 우리는 일반적으로 문제를 전체 하위 문제 세트로 세분화하지만, 지금은 문제를 해결하기 위해 솔루션 시스템이 문제 영역 내에서 일부 효과를 생성해야한다는 점에 유의하십시오. . 요구 사항을 구성하는 것이 원하는 효과입니다.
따라서 문제 영역은 새로운 솔루션 시스템 (때로는 SS로 단축 됨)이 작동하고 필요한 효과를 생성 할 세계의 일부로 똑같이 간주 될 수 있습니다. 소프트웨어 기반 솔루션 시스템을 응용 프로그램이라고하는 경우가 많으므로 문제 도메인을 응용 프로그램 도메인이라고합니다.