시스템순서도 (system sequence diagram)contents.kocw.net/kocw/document/2013/koreasejong/... ·...
TRANSCRIPT
시스템 순서도(System Sequence Diagram)
시스템분석 및 설계(Systems Analysis & Design)
9주차
2
목차
♥ Use Case Descriptions♦ Brief Description♦ Full Descriptions
♥ Activity Diagrams for Use Cases ♥ System Sequence Diagram
Use Case Descriptions
♥ Brief description♦ 한 문장으로 서술
♣ one sentence description showing the main steps in a use case♦ 대부분의 단순한 사용사례에 대해
♣ Write a brief description for most use cases.
Use case Brief description
Look up Patient Info Check if the patient is new, registered, or reserved.Find the patient’s information after they get the result of treatment.
Create Patient Info Enter patient information such as name, social security number, address, and phone number.
Update Patient Info Update information when an emergency patient suddenly comes or reserved patient comes late.
Delete Patient Info Delete patient information when patient requests to discard their information.
Use Case Descriptions
♥ 복잡한 사용사례에 대해♦ Write a fully developed use case description
♥ 전형적인 full description 항목들(templates):♦ 사용사례 명칭(Use case name)♦ 필요한 경우, 시나리오(Scenario, if needed)♦ 촉발 사건(Triggering event)♦ 간단 서술(Brief description)♦ 행위자(Actors)♦ Related use cases (<<includes>>)♦ 이해관계자(Stakeholders)♦ 사전조건(Preconditions)♦ 사후조건(Post conditions)♦ 활동흐름(Flow of activities)♦ 예외조건(Exception conditions)
Source: Introduction to Systems Analysis and Design, 6th Edition
Use Case Description Details
♥ 사용사례 명칭(Use case name)♦ 목적어+동사(Verb+noun)
♥ 필요한 경우, 시나리오(Scenario, if needed)♦ A use case can have more than one scenario (special case or
more specific path)♥ 촉발 사건(Triggering event)
♦ Based on event decomposition technique♥ 간단 서술(Brief description)
♦ Written previously when use case was identified♥ 행위자(Actors)
♦ One or more users from use case diagrams
Source: Introduction to Systems Analysis and Design, 6th Edition
Use Case Description Details
♥ Related use cases (<<includes>>)♦ If one use case invokes or includes another
♥ 이해관계자(Stakeholders)♦ Anyone with an interest in the use case
♥ 사전조건(Preconditions)♦ What must be true before the use case begins
♥ 사후조건(Post conditions)♦ What must be true when the use case is completed♦ Use for planning test case expected results
♥ 활동흐름(Flow of activities)♦ The activities that go on between actor and the system
♥ 예외조건(Exception conditions)♦ Where and what can go wrong
Source: Introduction to Systems Analysis and Design, 6th Edition
Full description♥ Sample
Use case name : Setup room state.
Scenario :
Triggering event : A customer makes a new reservation or cancel a reservation.
Brief description : When a customer reserves or cancel a room, the landlord changes the room state.
Actors : Landlord, Customer
Related use case : reserve room, cancel room
Stakeholders : Landlord, Customer
Preconditions :The room must be empty for reservation.The room must be reserved for cancellation.
Postconditions : Room state must be changed and saved.
Flow of activities :
Customer System Landlord
1. Customer reserves rooms.
4. Customer acknowledges the approval.
1.1. System changes the roomstate.
1.2. System sends reservation to landlord.
2.1 System sends the approval to customer.
3.1 System sends completed reservation to customer.
2. Landlord approve the reservation.
3. Landlord send completed reservation to system.
Exception1. Landlord rejects the reservation.
UML Activity Diagram for Use Case♥ ‘Purchase Ticket ’ use case
UML Activity Diagram for Use Case♥ ‘고객 정보 관리’ use case
고객 직원 시스템
신규고객
회원여부 확인고객정보
요청
주소 또는 전화번호
조회결과
고객 등록
YesNo
등록정보확인 요청
변경여부
고객정보
고객정보확인
No
Yes
고객 정보갱신
System Sequence Diagram (SSD)
♥ UML 순서도의 한 유형(A UML sequence diagram)♥ 순서도의 특수형태(Special case for a sequence diagram)
♦ 행위자와 단 하나의 개체(Only shows actor and one object)♦ 단 하나의 개체가 전체 기술시스템을 나타냄
(The one object represents the complete system)♦ 사용사례에 관련된 입출력 메시지를 보여줌
(Shows input & output messaging requirements for a use case)
♥ 4가지 요소로 구성♦ 행위자(Actor )♦ 시스템 개체(:System)♦ 개체 수명선(object lifeline)♦ 메시지(Messages)
Source: Introduction to Systems Analysis and Design, 6th Edition
Message Notation
♥ [true/false condition] return-value := message-name (parameter-list)
Source: Introduction to Systems Analysis and Design, 6th Edition
Steps for Developing SSD
1. Identify input message♦ See use case flow of activities or activity diagram
2. Describe the message from the external actor to the system using the message notation
♦ Name it verb-noun: what the system is asked to do ♦ Consider parameters the system will need
3. Identify any special conditions on input messages♦ Iteration/loop frame♦ Opt or Alt frame
4. Identify and add output return values♦ On message itself: aValue:= getValue(valueID)♦ As explicit return on separate dashed line
Source: Introduction to Systems Analysis and Design, 6th Edition
Sequence Diagram Sample
: SystemCustomer
CreatesNewCustomer (name, phone, address, e-mail, zipcode, gender, birth)
Cust ID, name, phone, address, e-mail, zipcode, gender, birth
*address details := inputAddress (address)
product information
* [another product] description, price
:= addProduct (ProductID, option)
Loop for all products
inquireOnProduct (categoryID, ProductID, inventory)
inputCredit/DebitCard(CDC-information)
Credit/debit card, cash information details
create orderuse case
Sequence Diagram Sample♥ ‘비디오 반납’ use case – 반복 표시
: SystemCustomer
반납처리시작()
returnMovie (barCode)
비디오 제목
Loop for all videos
반납처리완료()
반납 비디오 갯수
Sequence Diagram Sample♥ ‘회원가입’ use case – 반복, 조건 표시
사용자
:System
* [중복여부] 사용자ID := createNewUserId (사용자ID)
기본정보입력 (이름, 생년월일, 휴대폰번호, 소속기관명)
기본정보 상세조회
회원 가입 요청
회원 가입 요청 완료