새소식

대학생활/소프트웨어공학

소프트웨어 공학 이론 정리 -9장- <요구사항 설계와 접근법 2부>

  • -

유저 케이스에 What to Write About? (무엇을 쓸 것인가?)

-      Requirements Engineering의 두 산출물 {inception, elicitation}을 적는다.
       이 둘은 use cases를 작성하는데 필요한 정보를 제공할 것이다.

-      Use cases를 개발 시작할 때, 특정한 actor가 활동을 진행하는데 필요한 함수 목록을 적어야 한다.

-      Required system functionsstakeholders 간의 대화를 통해서, activity diagram 으로부터 얻을 수 있다. (activity         diagram은 시스템이 수행하는 작업을 나열해 놓은 diagram이다.)

-      이런 형식의 use casesprimary scenarios 라고 불린다.

       Alternative Interaction(시스템과 actor간의 상호작용은 alternative하다)
       Actor가 시스템 내에서 다른 대안행동을 선택할 수 있도록 내용을 기재해야 한다.
       이에 아래와 같은 세 질문을 던진다.

-      지금 이 순간에 actor가 택할 수 있는 다른 action이 있는가?

-      Actorerror condition을 직면할 수 있는가?

-      Actor가 다른 행동에 직면할 수 있는가?  
       위 세 질문의 답변을 통해 secondary scenarios가 만들어 질 수 있다.

Defining Exceptions

예외(exception) 상황을 묘사해 actor의 대안적 선택이나, 오류 처리를 할 수 있게 한다.

-      Exception cases‘validation function’의 역할을 할 수 있는가? => validation function은 보다 가치 있는 선택을         할 수 있도록 하는 함수.

-      Exception cases가 요구사항의 결과를 거절(반환)할 수 있는가? Error handling

-      Poor system performance의 결과가 예상치 못 한, 혹은 원하지 않는 user action을 만들진 않는가?

 

 

Documenting Use Cases

-      Acotr에 의해 수행되는 가장 중요한 작업과 함수는 무엇입니까?

-      Actor가 얻거나, 생산, 수정할 수 있는 System Information이 무엇이 있는가?

-      Actor가 시스템에게 어떤 정보를 제공해야 하는가? 만약 주지 않는다면, 시스템은 스스로 변화를 감지하고 대응할         수 있는가?

-      Actor가 결과적으로 시스템으로부터 얻길 원하는 정보가 무엇인가?

-      Actor가 의도치 않게 변한 시스템 정보를 안내받길 원하는가?

-      선행조건(precondition), triggers, exceptions, 일반적인 이슈(open issues)는 무엇이 있는가?

Use Case Diagram

 

Class-Based Modeling

시스템 모델링을 위한 모델링 기법 중 하나

-      Objects : 시스템이 조종하는 객체다.

-      Operations(methods, services) : 오브젝트 안에 명시되어 있으며, system manipulation effect를 적용하는데             사용된다.

-      Relationships (some hierarchical) : 오브젝트 간의 관계를 표현할 때 사용된다.

-      Collaborations : 선언 되어있는 classes 간 협업이 발생한다.

 

Identifying Analysis Classes(클래스를 명확하게 하는 방법)

요구사항 모델을 개발하며 만든 usage scenarios를 검증하며, 문법적인 구문(“grammatical parse”)을 수행한다.

-      Class scenario에 나와있는 문법적인 구문 내 명사들을 테이블에 기재해 class 후보로 놓는다.

-      유사한(Synonyms) 명사들을 주요하게 생각한다.

-      Class(명사)solution을 구성하는데 필요하다면, solution space에 포함된다.
       또한, 만약 특정 클래스가 솔루션을 기술하는데 필요하다 하면 이것은 problem space에 묶인다.

Potential Analysis Classes
(
클래스로 선택 받을 수 있는 명사는 무엇이 있는가?)

-      External Entities (외부 장비, 다른 시스템, 사람들)

-      Things

-      Occurrences of events

-      Roles

-      Organizational units

-      Places

-      Structures

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.