*** 요구사항 정리

 – 기초공사
 – 사용자로부터 필요
 – 시스템 구축의 첫 과정
 – 요구사항 도출, 기술, 확인하는 활동
+ 유스케이스 모델링 기법 이용
+ 체계적인 요구사항 도출
+ 명확한 기술 방법 설명

   ** 요구사항의 유형

  * 기능적 요구사항 : 시스템이 제공해야 하는 동작/행위에 대한 요구사항
 – 교수/학생 정보를 등록, 검색, 수정, 삭제, 조회할 수 있는 기능
 – 강좌/강의를 등록, 검색, 수정, 삭제, 조회할 수 있는 기능
 – 수강 신청, 성적 등록, 성적 조회, 출석부 조회 기능
 – 로그인, 로그아웃, 암호 변경 기능

  * 비기능적 요구사항 : 동작/행위와 관련된 제약사항
 – 성능
 – 신뢰도
 – 사용 편의성
 – 유지 보수성

   ** 비기능적 요구사항

  * 성능
 – 정해진 특정 시간 내에 결과가 나와야 한다는 조건
 – ex) “학번, 이름을 입력한 후에 검색 명령을 내리고 검색 결과를 2초 이내에 화면에 보여 주어야 한다.”
 – 설계 활동의 중요한 요소로 작용
 – ex) JDBC로 직접 데이터베이스 조작, 무상태 세션 빈 사용, 성능 향상을 위한 프로그래밍 기술 사용

  * 신뢰도
 – 오류가 발생하지 않으면서 시스템이 동작할 확률
 – ex) 항공기 제어 시스템, 미사일 추적 시스템 등의 실시간 시스템
 – 특별한 기술 사용

  * 사용 편의성
 – 사용자들이 얼마나 편리하고 쉽게 시스템을 사용할 수 있는가
 – ex) 효과적인 메뉴 체계 정의
 – ex) UI화면의 일관되고 효과적인 정의
 – ex) 도움말 온라인 제공

  * 유지 보수성
 – 얼마나 유지 보수를 쉬우면서 효율적으로 할 수 있는가의 정도
 – 설계 시 약속된 기능을 정확히 제공
 – 설계 시 유지 보수 측면 고려

   ** 요구사항 정의의 중요성

  * 요구사항 정의 활동의 산출물
 – 개발자들에게 구축할 시스템의 정보 제공
 – 개발할 시스템 파악(개발자)

  * 요구사항 정의 활동 개발자와 분석/설계 개발자가 다른경우
 – 산출물을 바탕으로 한 작업 진행
 – 정확성과 완전성이 중요함

  * 요구사항의 명확한 정의 이후 개발 진행

  * 결정된 요구사항에 대한 사용자와 개발자 간의 합의 필요

   ** 요구사항 정의 활동

 – 시스템이 제공할 기능과 범위 밖을 명확하게 구분
 – 시스템의 결계 결정

  ** 유스케이스 모델링

 – Ivar Jacobson에 의해서 제안
 – 요구사항 도출 및 기술에 사용
 – 액터 : 개발할 시스템 외부의 존재
 – 유스케이스 : 시스템 범위 안에서 개발될 시스템의 단위 기능

    *** 액터

  * 개발될 시스템과 상호 작용을 하는 모든 대상
 – 사용자 액터
 – 시스템 액터

  * 사용자 액터
 – 개발될 시스템의 기능을 이용하는 사용자

  * 시스템 액터
 – 개발될 시스템과 연동 되는 또 다른 시스템
 – ex) 신용 대출 시스템 : 신용 정보 제공 시스템
 – ex) 대학 정보 시스템 : 수강료 청구서 발급 시스템

   ** 액터 이름

  * 액터의 이름
 – 액터의 의미를 명확히 애해할 수 있는 단어 사용

  * 사용자 액터
 – 시스템 관점의 사용자 역할
 – ex) 교수, 학생, 학사 담당자, 수업 담당자
 – 역할 추측 가능한 구체적인 단어 사용

  * 시스템 액터
 – 해당 시스템의 이름 사용
 – 문제 기술서에 시스템의 이름이 명시되어 있음
 – ex) 수강료 청구서 발급 시스템, 신용 평가 시스템

   ** 액터 설명

  * 액터가 할 수 있는 일 기록
 – ex) 학사 담당자 : 교수 및 학생 정보를 관리한다.

   ** 액터의 특성

  * 개발될 시스템 범위 밖에 존재
 – 개발자가 개발할 범위가 아니라는 것.
 – ex) 대학 정보 시스템 : 수강료 청구서 발급 시스템

  * 역할을 나타내야 함
 – 구체적인 실제 사용자가 아님
 – 시스템의 관점에서 바라본 그 사용자의 역할
 – 한 명이 두 개 이상의 역할을 하는 경우 : 대응되는 각각 사용자 액터를 정의
 – ex) 1명(도서 관리, 학생/교수 관리) : 사서, 학사 담당자 액터

   ** 액터 찾기

  * 질문 :  누가 개발될 시스템의 주요 기능을 이용하는가?
 – 문제 기술서 활용
 – 학적과의 학사 담당자는 학생 및 교수 정보를 관리해야 한다.
 – 수업 담당자는 새로운 강좌를 등록할 수 있다.
 – 학생을 수강 신청을 온라인 상으로 직접 할 수 있다.
 – 교수는 매 학기마다 자신이 강의하는 강좌를 신청한 학생 명단을 확인할 수 있다.

  * 질문 : 누가 이 시스템을 통해서 자신의 업무를 지원 받을 수 있는가
 – ex) 대학 정보 시스템 : 학사 담당자

  * 질문 : 누가 시스템이 만들어 낸 결과에 관심을 가지는가?

  * 질문 : 누가 시스템이 잘 운영될 수 있도록 유지 보수 및 관리를 하는가?
 – Primary actor : 시스템 본연의 기능을 이용하는 사용자
 – Secondary : 시스템의 유지 보수 기능을 이용하는 사용자
 – 음료수 자동 판매기 : 청소 및 관리자
 – 현금 자동 인출기 : 유지 보수 담당자
 – 시스템이 유지 보수 기능을 제공하지 않으면 유지 보수 담당자는 액터로 표기될 수 없음

  * 질문 : 개발할 시스템과 연동되는 다른 시스템에는 어떤 것이 잇는가?
 – 시스템 액터를 찾을 때 유용
 – ex) 대학 정보 시스템 : 기존에 존재하는 수강료 청구서 발급 시스템

Tags: ,

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.