chlqhrud0208
나 혼자 코딩
chlqhrud0208
전체 방문자
오늘
어제
  • 분류 전체보기 (23)
    • Git & Github (2)
    • 그로스 해킹 (2)
    • 소프트웨어공학 (19)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 그로스 해킹

공지사항

인기 글

태그

  • GitHub
  • 그로스 해킹
  • Git
  • 그로스해킹

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
chlqhrud0208

나 혼자 코딩

요구분석 (Part2)
소프트웨어공학

요구분석 (Part2)

2024. 10. 21. 11:51

요구사항 분석

유스케이스(Use Case) 다이어 그램

  • 개발자와 고객 사이의 요구를 이해시키는 수단
  • 예외 사항을 개발자에게 이해시켜 줌
  • 대략적인 계획을 위하여 기능의 수준 파악
  • 구성
    - 시스템
    - 액터
    - 관계
    - 유스케이스

특징

  • 서비스를 제공하기 위한 상호작용의 단위
  • 사용자나 외부 시스템과의 상호작용을 모델링
  • 이를 바탕으로 설계를 진행하는 데 유용
  • 개발자와 이해 당사자 간의 계약

주의사항

  • 비기능적 요소를 찾기는 어려움 (비기능적 요소가 표시되지 않음)
  • 시스템의 흐름도가 아님
  • '어떻게'가 아니라 '무엇을'만 담으면 됨

시스템 (System)

  • 만들고자 하는 시스템
  • 유스케이스를 둘러싼 사각형 틀
  • 시스템 명칭도 포함해야 함

액터 (Actor)

  • 시스템을 사용하는 사람 (시스템의 외부에 위치)
  • 주요 액터 (Primary actor)
    - 행동을 하는 사람 (대부분의 액터가 여기에 포함)
  • 시스템 액터 (System actor)
    - 개발 범위가 아니지만 연동되는 외부 시스템

유스케이스 (Use Case)

  • 사용자가 시스템에서 사용하고 싶은 기능
  • 시스템이 액터에게 제공해야되는 기능
  • 시스템의 요구사항
  • 요구사항 도출에서 도출된 기능만 넣을 수 있음
    -> 요구 사항 도출에서 필요한 모든 기능을 도출해야 함

관계 (Relationship)

  • 액터와 유스케이스 사이의 관계
  • 유스케이스와 유스케이스 사이의 관계
  • 액터와 액터와의 관계

연관 관계 (Association)

  • 실선으로 표현
  • 액터와 유스케이스와의 관계
  • 액터와 유스케이스의 상호작용

포함 관계 (Include)

  • 점선으로 표현
  • 유스케이스와 유스케이스 사이의 관계 (의존성)
  • 하나의 기능을 실행할 때 포함된 유스케이스가 반드시 실행되는 것
  • 공통적으로 발견되는 시스템 기능 표현 (중복을 방지)
  • 포함되는 유스케이스 쪽으로 화살표

확장 관계 (Extend)

  • 점선으로 표현
  • 유스케이스와 유스케이스 사이의 관계 
  • 특정 조건에서 한 유스케이스만으로 확장되는 것 (부가적인 기능)
  • 항상 일어나는 기능쪽으로 화살표

일반화 관계 (Generalization)

  • 실선으로 표현
  • 유스케이스와 유스케이스 사이의 관계
  • 액터와 액터와의 관계 (상속)
  • 상위 유스케이스의 기능을 하위 유스케이스도 상속 받아 공유
  • 상위 유스케이스 쪽으로 화살표

점검 사항

  • 유스케이스 사이에는 연관 관계가 있을 수 없음
  • 잘못된 연관 관계가 있나 확인 (액터가 유스케이스를 사용하는 관계가 연관 관계임)
  • 잘못된 유스케이스가 없나 확인 (시스템을 사용하는 사람의 입장에서 추출되어야 함)

요구사항의 문서화

요구분석명세서 (SRS)

  • 분석한 요구사항이 빠짐없이 들어가야 함
  • 기능적 요구사항과 비기능적 요구사항이 모두 포함
  • 사용자가 읽고 쉽게 이해할 수 있도록 작성
  • 개발자가 설계와 코딩에 잘 이용할 수 있도록 작성
  • 테스트에 이용할 수 있도록 정량적으로 작성

요구사항 검증

  • 사용자의 요구가 빠짐없이 반영되었는지 (완전성)
  • 요구분석 명세서가 설계 단계에서 사용하기 적합한지
  • 요구사항이 일관성을 유지하고 있는지
  • 명세서의 내용이 명확한지
  • "무엇을"에 관점을 두고 서술했는지 (기능성)

 

 

'소프트웨어공학' 카테고리의 다른 글

설계 (Part2) UML 모델링  (0) 2024.10.21
설계 (Part1)  (0) 2024.10.21
계획(프로젝트 계획과 관리) (part 2)  (0) 2024.10.20
계획 (프로젝트 관리와 계획) Part 1  (1) 2024.10.20
소프트웨어 공학과 개발 프로세스 (Part2)  (4) 2024.10.20
    '소프트웨어공학' 카테고리의 다른 글
    • 설계 (Part2) UML 모델링
    • 설계 (Part1)
    • 계획(프로젝트 계획과 관리) (part 2)
    • 계획 (프로젝트 관리와 계획) Part 1
    chlqhrud0208
    chlqhrud0208

    티스토리툴바