소프트웨어 공학 – 유즈케이스 다이어그램

Inception
우리가 만드려는 시스템이 무엇을 하는지 결정한다.
1. 시스템의 컨셉 결정, 2. 시스템이 갖춰야 되는 기능

Inception Phase

  1. BrainStorming
    시스템 컨셉, 기능에 대한 의견을 조사한다.
  2. Research
    논문, 시장 조사를 진행한다.
  3. Cost-Benefit Analysis
    투자 대비 이득을 파악한다.
  4. Prototyping
    일부의 기능을 미리 구현해본다.
  5. Use Case Analysis
    유즈케이스 다이어그램을 그린다.

유즈케이스 다이어그램

Actor(사람 모양): 시스템을 사용하는 사람, 시스템에 의존하는 업체 등
Usecase(동그라미 모양): 시스템이 제공하는 기능
include(화살표): 포함 내용 (해당 기능을 수행하기 위해 이전에 수행해야 되는 기능)
extend(화살표): 확장 내용 (부가적으로 수행할 수 있는 기능)
상속(화살표): (화살표가 가리키는 기능을 수행하기 위해 필요한 기능)

7급 전산직 소프트웨어공학 - 에듀온

ex) 사용자는 계좌조회, 계좌이체, 해외이체 기능을 사용할 수 있다. 계좌조회와 계좌이체 이전에 인증을 먼저 받아야 한다. 계좌이체 기능을 수행하기 위해서는 해외이체 기능이 필요하다. 계좌이체를 하면서 부가 기능으로 추가이체도 가능하다.

[문제]
수강신청 시스템 (현재 상태)

  • 현재 ESU의 수강 신청 과정은 불만스럽고 시간 소모가 많다.
  • 교수가 가르칠 과목을 결정하면, 학적 담당 부서에서는 컴퓨터 시스템에 해당 정보를 입력한다. 이러한 정보는 일괄 처리되어 수강 편람으로 출력되며 이 수강 편람은 학생들에게 배포된다.
  • 일반적으로 학생들은 4개의 과목을 등록할 수 있다. 학생들은 수강 신청서의 내용을 채우고, 학적 담당 부서에 제출한다. 학적 담당 부서에서는 이러한 정보를 컴퓨터에 입력한다.
  • 일단 학생들의 수강 신청 내용이 입력되면, 컴퓨터는 일괄 작업에 의해 학생들을 과목에 배정하기 위해서 밤새도록 작동한다. 대부분은 학생들이 선택한 과목을 수강할 수 있지만, 일부 등록에 문제가 있는 학생들에게는 추가적인 선택을 하도록 통보된다. 학생들이 성공적으로 수강 신청을 마치면, 수강 신청에 대한 문서가 해당 학생에게 확인을 위해서 보내어진다. 대부분의 학생들의 등록은 일주일 정도 걸리지만, 예외적인 경우는 2주까지 걸린다.
  • 등록 기간이 완료되면 교수들은 각각의 과목에서 가르칠 학생들의 명단을 받게 된다.

수강신청 시스템 (미래 상태)

  • 학기 초에 학생들은 그 학기의 수강 편람을 요청할 수 있다. 각 과목에 대한 정보 (교수, 학과, 선수 과목)가 수강 신청에 도움을 주기 위하여 학생들에게 수강 편람을 통해 제공된다.
  • 새로운 시스템에서 학생은 한 학기에 대해 4개의 과목을 선택할 수 있고, 수강 신청 초과나 취소 상황에 대비하여 2개의 대체 과목을 등록할 수 있다. 단, 한 과목은 10명의 학생을 초과할 수 없고 3명 미만의 과목도 개설될 수 없다. 즉, 3명 미만의 과목은 취소된다. 일단 한 학생에 대한 등록이 끝나면 시스템은 정보를 회계 시스템으로 보내어 학생에게 그 학기에 대한 청구서를 보낼 수 있게 한다.
  • 교수들은 온라인 시스템에 접근하여 자신이 강의할 과목을 지정한다. 그리고 교수들은 자신의 과목에 등록한 학생들을 볼 수 있다.
  • 각 학기에 대하여 학생이 자신의 수강 신청을 변경할 수 있는 기간이 있으며 학생들은 이 기간 동안에 과목을 추가하거나 삭제할 수 있다.

Q. 수강신청 시스템의 컨셉은 무엇인가?
Answer.
1. 학생 담당 부서에서 컴퓨터에 입력해서 일괄 처리하는 작업을 학생이 직접 시스템을 이용해서 처리할 수 있다.
(오프라인 -> 온라인)
2. 대체 과목을 추가하면서 수강 신청을 실패한 경우도 대비한다.

Q. 수강신청 시스템의 Actor는 무엇인가?
Answer.
1. Student (수강 신청)
2. Professor (강의 지정 및 학생 확인)
3. Registrar (수강 편람을 관리)
4. BillingSystem (회계 시스템으로 학생의 정보가 넘어감)

Q. 수강신청 시스템의 Use Case Diagram을 그리고 설명하시오.
Answer.

학생(Student)이 교과목을 신청하면 회계 시스템(BillingSystem)으로 학생 정보가 전달된다.
교수(Professor)는 가르칠 과목을 선택할 수 있고 출석부를 요청할 수 있다.
교무처(Registar)는 과목, 교수 정보, 학생 정보를 관리할 수 있고 수강 편람을 생성할 수 있다.

정상 흐름과 대안 흐름
정상 흐름: 유즈케이스가 정상적으로 동작하는 흐름
대안 흐름: 유즈케이스가 동작 중 비정상 상황일 때 나타나는 흐름

Q. 수강신청 시스템의 ‘수강 신청(Register for courses)’ use case에서 발생하는 이벤트 흐름에 대해
정상 흐름 1개와 대안 흐름 1개를 작성하시오.
Answer.
= 정상 흐름 =
1. 학생이 수강 신청 페이지에 접근한다.
2. 시스템은 학생에게 모든 과목 목록을 반환한다.
3. 학생은 수강하고 싶은 과목들을 선택하고 ‘수강 신청’ 버튼을 클릭한다.
4. 시스템은 학생이 신청한 과목들이 수강 인원 초과인지 확인한다.
5. 수강 인원 초과가 아니면, 시스템은 학생이 신청한 과목들에 학생을 등록한다.
6. 시스템은 회계 시스템에 학생 정보를 전달한다.
7. 유즈케이스를 종료한다.

= 대안 흐름 =
A1. 수강 인원 초과인 경우
1. 시스템은 학생이 신청한 대체 과목도 수강 인원 초과인지 확인한다.
2. 수강 인원 초과가 아니면 정상 흐름 5로 돌아간다.

Leave a Reply

Your email address will not be published. Required fields are marked *