[정보처리기사/필기] 1장. 요구사항 확인(2)

Happy Jiwon·2023년 1월 7일
1

정보처리기사

목록 보기
2/5
post-thumbnail

시작하기 전....

저번 포스팅인 요구사항 확인(1) 부분을 다시 읽어보니 너무 장황하게 쓴 것 같은 느낌을 받았다.. 그래서 이번에는 최대한 깔끔하고 보기 쉽게 작성하려한다.


6. 요구사항 정의

요구사항이란?

  • 어떤 문제를 해결하기 위해 필요한 조건이나 제의사항을 요구하는 것이다.
  • 요구사항은 개발에 참여하는 이해관계자들 간의 의사소통을 원활하게 하는 데 도움을 줌

요구사항의 유형

요구사항은 크게 기능과 비기능으로 구분할 수 있다.

유형내용
1. 기능 요구사항 (Funtional requirements) - 시스템이 무엇을 하는지, 어떤 기능을 하는지에 대한 사항
- 시스템이 반드시 수행해야 하는 기능
2. 비기능 요구사항 (Non-Funtional requirements) - 시스템 장비 구성 요구사항 : 하드웨어, 소프트웨어, 네트워크 등
- 성능 요구사항 : 처리 속도 및 시간, 처리량, 동적/정적 적용량, 가용성 등
- 인터페이스 요구사항 : 사용자와 인터페이스에 대한 요구사항
- 데이터 요구사항 : 데이터를 구축하기 위해 필요한 요구사항
- 테스트 요구사항 : 제대로 운영되는지를 테스트하고 점검하기 위한 요구사항
- 보안 요구사항 : 데이터, 기능, 운영 접근을 통제하기 위한 요구사항
- 품질 요구사항 : 관리가 필요한 품질 항목, 평가 대상에 대한 요구사항으로 가용성, 정합성, 상호 호환성, 대응성, 신뢰성, 사용성, 유지관리성, 이식성, 확장성, 보안성 등으로 구분하여 기술
- 제약사항 : 설계, 구축 운영과 관련한 제약조건
- 프로젝트 관리 요구사항 : 프로젝트에 원활한 수행을 위한 방법에 대한 요구사항
- 프로젝트 지원 요구사항 : 원활한 수행을 위한 지원 사항이나 방안에 대한 요구사항
3. 사용자 요구사항
(User requirements)
- 시스템이 무엇을 하는지, 어떤 기능을 하는지에 대한 사항
- 시스템이 반드시 수행해야 하는 기능
4. 시스템 요구사항
(System requirements)
- 시스템이 무엇을 하는지, 어떤 기능을 하는지에 대한 사항
- 시스템이 반드시 수행해야 하는 기능

💡가용성
사용하고자 할 때 언제라도 사용할 수 있는 정도
💡정합성
데이터의 값이 서로 모순 없이 일관되게 일치
💡상호 호환성
다른 소프트웨어와 정보를 교환할 수 있는 정도
💡대응성
발생한 상황에 대처하는 정도
💡이식성
다양한 하드웨어 환경에서도 운용 가능하도록 쉽게 수정될 수 있는 정도
💡확장성
규모나 범위를 넓힐 수 있는 정도

요구사항 개발 프로세스

요구사항은 도출 ➜ 분석 ➜ 명세 ➜ 확인 과정을 거치는데, 각 단계에서 무엇을 수행하는지 살펴보자.

1. 요구사항 도출 (Requirement Elicitation, 요구사항 수집)
서로의 의견이 어디에 있는지, 어떻게 수집할 것인지 식별하고 이해하는 과정이다.

  • 소프트웨어가 해결해야 할 첫 번째 단계
  • 개발자와 고객 사이의 관계가 만들어지고 이해관계자(Stakeholder)가 식별 됨
  • 다양한 이해관계자 간의 효율적인 의사소통이 중요
  • 소프트웨어 개발 생명주기(SDLC: Software Development Life Cycle) 동안 지속적으로 반복됨
  • 요구사항을 도출하는 주요 기법 : 청취와 인터뷰, 설문, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스

💡유스케이스
사용자의 요구사항을 기능 단위로 표현하는 것


2. 요구사항 분석(Requirement Analysis)

요구사항 중 명확하지 않거나 모호한 부분은 걸러내기 위한 과정

  • 타당성을 조사하고 비용과 일정 제약 설정
  • 내용이 서로 상충되는 요구사항이 있으면 중재하는 과정
  • 요구사항 분석 : 자료 흐름도 (DFD), 자료 사전 (DD)

💡자료 흐름도 (DFD: Data Flow Diagram)
요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법
💡자료 사전 (DD: Data Dictionary)
자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것
자세한 내용은 '7. 요구사항 분석' 부분에서 다룰 예정이다.


3. 요구사항 명세 (Requirement Analysis)

요구사항 명세는 명확하지 않거나 모호해 이해되지 않는 부분을 발견하고 걸러내기 위한 과정

  • 기능 요구사항에서는 빠짐없이 완전, 명확하게 기술 / 비기능 요구사항에서는 필요한 것만 명확하게 기술해야 함
  • 사용자가 이해하기 쉽고, 개발자가 효과적으로 설계할 수 있도록 작성
  • 잘못된 부분이 있을 경우 추적 가능해야 함
  • 구체적인 명세를 위한 방법 : 소단위 명세서(Mini-Spec)


    소프트웨어 요구사항 명세서 / 요구사항 명세 기법
    소프트웨어 요구사항 명세서 (SRS: Software Requirement Specification)
    - 소프트웨어가 반드시 제공해야 하는 기능, 특징, 제약조건 등을 명시
    - 성능, 보안, 사용성과 같은 품질도 기술되어야 함

    요구사항 명세 기법
    - 정형 명세 vs 비정형 명세
구분정형 명세 기법비정형 명세 기법
기법수학적 원리, 모델 기반상태/기능/객체 중심
작성방법수학적 기호, 정형화된 표기법일반 명사, 동사 등의 자연어 기반 또는 다이어그램으로 작성
특징- 요구사항을 정확하고 간결하게 표현
- 결과가 작성자에 관계없이 일관성이 있으므로 완전성 검증 가능
- 표기법이 어려워 사용자가 이해하기 어려움
- 자연어 사용 으로 결과가 작성자에 따라 다를 수 있어 일관성이 떨어짐, 해석 달라짐
- 내용 이해가 쉬워 의사소통이 용이
종류VDM, Z, Petri-net, CSP 등FSM, Decision Table, ER모델링, State Chart(SADT) 등



4. 요구사항 확인(Requierment Validation, 요구사항 검증)
개발 자원을 요구사항에 할당하기 전, 명세서가 정확하고 완전하게 작성되었는지 검토하는 활동

  • 이해관계자들이 검토해야 함
  • 요구사항 관리 도구를 이요해 요구사항 정의 문서들에 대해 형상 관리를 수행 함

💡 형상 관리(SCM: Software Confi-guration Management)
소프트웨어의 개발 과정에서 만들어지는 형상들의 변경 사항을 관리하는 일려의 활동


7. 요구사항 분석

요구사항 분석에 대해

소프트웨어 개발의 실제적인 첫 단계로 사용자의 요구사항을 이해하고 문서화(명세화)하는 활동

  • 타당성 조사 및 비용과 일정에 대한 제약 설정
  • 요구 정확히 추출, 어떤 방식으로 해결할 것인지 결정
  • 정확하고 일관성 있게 분석하여 문서화해야 함
  • 요구사항 분석에 이용되는 도구 : UML(Unified Modeling Language), 자료 흐름도(DFD), 자료 사전(DD), 소단위 명세서(Mini-Spec), 개체 관계도(ERD), 상태 전이도(STD), 제어 명세서

구조적 분석 기법

자료의 흐름과 처리를 중심으로 하는 방법

  • 도형 중심의 분석용 도구와 분석 절차를 이용해 요구사항을 파악하고 문서화 함
  • 분석가와 사용자 간의 대화 용이
  • 하향식 방법을 사용해 시스템 세분화, 중복 배제
  • 시스템 분석의 질 향상, 개발의 모든 단계에서 필요한 명세서 작성 가능

💡 하향식 방법
소프트웨어의 기능을 전체적인 수준에서 상세 수준까지 위에서 아래로 단계별로 분리하여 모델링하는 것

자료 흐름도 (DFD: Data Flow Diagram)

요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법 (자료 흐름 그래프, 버블 차트라고도 함)

  • 구조적 분석 기법에 이용
  • 단계적으로 세분화 됨
  • 자료는 처리(Process)를 거쳐 변환될 때마다 새 이름이 부여되며, 처리는 입력 자료가 발생하면 기능을 수행한 후 출력 자료를 산출함
  • 자료 흐름도에서 자료의 흐름과 기능을 프로세스(Process), 자료 흐름(Flow), 자료 저장소(Data Store), 단말(Terminal) 의 네 가지 기본 기호로 표시함

    1. 프로세스(Process)
    - 자료를 변환시키는 시스템의 한 부분/처리 과정을 나타내며 처리, 기능, 변환, 버블이라고도 함
    - 이나 둥근 사각형으로 표시하고 그 안에 프로세스 이름 기입
    2. 자료 흐름 (Data Flow)
    - 자료의 이동/흐름이나 연관관계를 나타냄
    - 화살표 위에 자료 이름 기입
    3. 자료 저장소 (Data Stor)
    - 시스템에서의 자료 저장소(파일, 데이터베이스)를 나타냄
    - 도형 안에 자료 저장소 이름 기입
    4. 단말 (Terminal)
    - 시스템과 교신하는 외부 개체로, 입력 데이터가 만들어지고 출력 데이터를 받음
    - 도형 안에 이름 기입

💡 자료의 흐름
각 절차에 따라 컴퓨터 기반의 시스템 내부를 흘러다니는데, 이를 자료의 흐름이라 함



자료 사전 (DD: Data Dictionary)

자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것
이처럼 데이터를 설명하는 데이터를 데이터의 데이터 또는 메타 데이터(Meta Data)라고 함

기호의미
=자료의 정의: is composed of
+자료의 연결: and
( )자료의 생략: Optional
[ | ]자료의 선택: or
{ }자료의 반복: Iteration of
* *자료의 설명: Commant




8. 요구사항 분석 CASE와 HIPO

요구사항 분석을 위한 CASE(자동화 도구)

요구사항을 자동으로 분석하고, 명세서를 기술하도록 개발된 도구를 의미한다.

요구사항 분석을 위한 자동화 도구 종류 : SADT, SREM, ASL/PSA, TAGS, EPOS 등이 있다.

1. SADT (Structured Analysis and Design Technique)

  • SoftTech사에서 개발
  • 구조적 분석 및 설계 도구
  • 블록 다이어그램을 채택한 자동화 도구

2. SREM (Software Requirements Engineering Methodology) = RSL/REVS

  • TRW 사에서 개발
  • 싯시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 목적으로 개발
  • RSL과 REVS를 사용하는 자동화 도구

    💡 SRL(Requirement StateMent Language)
    요소, 속성, 관계, 구조들을 기술하는 요구사항 기술 언어
    💡 REVS(REquirement Engineering and Validation System)
    RSL로 기술된 요구사항들을 자동으로 분석하여 명세서 출력하는 분석기

3. PSL/PSA

  • 미시간 대학에서 개발
  • PSL과 PSA를 사용하는 자동화 도구

    💡 PSL (Problem Statement Language)
    문제 / 요구사항 기술 언어
    💡 PSA (Problem Statement Analyzer)
    PSL로 기술한 요구사항을 자동으로 분석하여 보고서를 출력하는 분석기

4. TAGS(Technology for Automated Generation of Systems)

  • 시스템 공학 방법 응용에 대한 자동 접근 방법
  • 개발 주기의 전 과정에 이용 가능한 통합 자동화 도구
  • IORL, 요구사항 분석과 IORL 처리 도구, 기초적인 TAGS 방법론



HIPO (Hierarchy Input Process Output)

시스템의 분석 및 설계나 문서화할 때 사용되는 기법 (입력, 처리, 출력 기능)

  • 하향식 소프트웨어
  • 체계적인 문서관리 가능
  • 기호, 도표 등을 사용해 보기 쉽고 이해 쉬움
  • 기능과 자료의 의존관계 동시에 표현 가능
  • 변경, 유지보수 용이
  • 기능을 모듈로 분할하여 인터페이스를 계층 구조로 표현한 것 : HIPO Chart

HIPO CHart의 종류

1. 가시적 도표(도식 목차, Visual Table of Contents)
시스템의 전체적인 기능과 흐름을 보여주는 계층 구조도

2. 총체적 도표(총관도표, 개요도표, Overview Diagram)
프로그램을 구성하는 기능을 기술
입력, 처리, 출력에 대한 전반적인 정보를 제공하는 도표

3. 세부적 도표(상세 도표, Detail Diagram)
총체적 도표에 표시된 기능을 구성하는 기본 요소들을 상세히 기술


9. UML(Unified Modeling Language)

UML 개요

시스템 분석, 설계, 구현 등 개발과정에서 개발자와 고객 또는 개발자 상호간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어

  • 럼바우(OMT), Booch, Jacobson등의 객체지향 방법론의 장점을 통합
  • 국제표준화기구인 OMG(Object Management Group)에서 표준으로 지정
  • 6개의 구조 다이어그램과 7개의 행위 다이어그램을 작성할 수 있음
  • UML 구성 요소 : 사물, 관계, 다이어그램

💡 모델링 언어
우리가 만들고자 하는 것을 시각적으로 표현할 수 있는 표기법, 도구 등을 의미

1. 사물(Things)

  • 모델을 구성하는 가장 중요한 기본 요소
  • 다이어그램 안에서 관계가 형성될 수 있는 대상

사물에는 구조 사물, 행동 사물, 그룹 사물, 주해 사물이 있다.

사물내용
구조 사물
Structural Things
시스템의 개념적, 물리적 요소 표현Class, Use Case, Component, Node 등
행동 사물
Behavioral Things
시간과 공간에 따른 요소들의 행위 표현Interaction(상호작용), State Machine 등
그룹 사물
Grouping Things
요소들을 그룹으로 묶어서 표현Package
주해 사물
Annotation Things
부가적인 설명이나 제약조건 등을 표현Note

💡 Component
문서, 소스코드, 파일, 라이브러리 등과 같은 모듈화된 자원으로 재사용이 가능함

2. 관계(Relationships)

  • 사물과 사물 사이의 연관성을 표현하는 것

관계에는 연관 관계, 집합 관계, 집합 관계, 일반화 관계, 의존 관계, 실체화 관계 등이 있다.

연관 관계 (Association)

  • 2개 이상의 사물이 서로 관련되어 있음
  • 사물 사이 실선으로 연결, 방향은 화살표로 표현
  • 양방향 관계의 경우 화살표 생략, 실선으로만 표현
  • 참여하는 객체의 개수를 의미하는 다중도를 선 위에 표기
➜ 위 그림은 사람이 집을 소유하는 관계이다.
➜ 사람은 소유하고 있는 집에 대해 알고있지만, 집은 누구에 의해 소유되고 있는지 모른다는 의미
➜ '사람'쪽에 다중도가 '1'이므로 집은 한 사람에 의해서만 소유될 수 있다.
➜ '집'쪽에 다중도가 '1'이므로 사람은 집을 하나만 소유할 수 있다. ➜ 위 그림은 선생님은 학생을 가르치고 학생은 선생님으로부터 가르침을 받는 것과 같이 서로 관계가 있다.
➜ '선생님'쪽에 다중도가 '1..*'이므로 학생은 한 명 이상의 선생님으로 부터 가르침을 받는다.
➜ '학생'쪽에 다중도가 '1..*'이므로 선생님은 한 명 이상의 학생을 가르친다.




집합 관계 (Aggregation)

  • 하나의 사물이 다른 사물에 포함되어 있는 관계
  • 서로 독립적
  • 포함하는 쪽으로 빈 마름모를 연결하여 표시한다.
➜ 위 그림은 프린터가 컴퓨터에 연결하여 사용할 수 있으며 다른 컴퓨터에 연결해서 사용할 수 있다.




포함 관계 (Composition)

  • 집합 관계의 특수한 형태
  • 서로 독립될 수 없음
  • 포함하는 쪽으로 채워진 마름모를 연결하여 표시

    ➜ 위 그림에서, 문을 열 수 있는 키는 하나이며, 해당 키로 다른 문을 열 수 없음
    ➜ 문이 없어지면 키도 더이상 필요하지 않음



일반화 관계 (Generalization)

  • 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지 표현
  • 예를 들어, 사람은 남자보다 일반적인 개념, 남자는 사람보다 구체적인 개념이다.
  • 구체적인 사물에서 일반적 사물 쪽으로 빈 화살표를 연결하여 표시

    ➜ 위 그림에서, 아메리카노와 에스프레소는 커피이다. 다시말하면, 커피에는 아메리카노와 에스프레소가 있다.




의존 관계 (Dependency)

  • 사물 사이에 서로 연관은 있으나 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계
  • 소유 관계는 아니지만, 변화가 있으면 다른 사물에도 영향을 미침
  • 일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개 변수로 사용하는 경우에 나타남
  • 점선 화살표로 연결

    ➜ 위 그림에서, 등급이 높으면 할인율을 적용하고, 낮으면 적용하지 않음을 나타낸다.




실체화 관계 (Realization)

  • 사물이 할 수 있거나 해야 하는 기능(오퍼레이션, 인터페이스)으로 서로를 그룹화 할 수 있는 관계를 표현
  • 의미적 관계
  • 점선 화살표로 표현

    ➜ 비행기는 날 수 있고 새도 날 수 있다. 그러므로 비행기와 새는 날 수 있다는 행위로 그룹화 할 수 있다.



다이어그램 (Diagram)

  • 사물과 관계를 도형으로 표현
  • 가시화한 뷰를 제공하믕로써 의사소통에 도움을 줌
  • 정적 모델링에서는 구조적 다이어그램을, 동적 모델링에서는 행위 다이어그램을 사용

구조적 다이어그램 (Structural) - 정적 모델링

다이어그램내용
클래스 다이어그램
Class Diagram
- 클래스와 클래스가 가지고 있는 속성, 클래스 사이의 관계를 표현함
- 시스템 구조를 파악하고 문제점 도출 가능
객체 다이어그램
Object Diagram
- 클래스에 속한 사물들, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현
- 럼바우 객체지향 분석 기법에서 객체 모델링에 활용 됨
컴포넌트 다이어그램
Component Diagram
- 실제 구현 모델인 컴포넌트 간의 관계, 인터페이스를 표현
- 구현 단계에서 사용
배치 다이어그램
Deployment Diagram
- 결과물, 프로세스, 컴포넌트물리적 요소들의 위치를 표현
- 노드와 의사소통(통신) 경로를 표현
- 구현 단계에서 사용
복합체 구조 다이어그램
Composite Structure Diagram
- 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현
패키지 다이어그램
Package Diagram
- 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현

행위 다이어그램 (Behavioral) - 동적 모델링

다이어그램내용
유스케이스 다이어그램
Use Case Diagram
- 사용자의 요구 분석, 기능 모델링 작업에 사용
- 사용자와 사용 사례로 구성(여러 형태의 관계로 이루어짐)
순차 다이어그램
Sequence Diagram
- 상호 작용하는 시스템이나 객체들이 주고받는 메시지를 표현
커뮤니케이션 다이어그램
Communication Diagram
- 순차 다이어그램과 같이 동작에 참여하는 객체들이 주고받는 메시지를 표현하는데, 뿐만 아니라 객체들 간의 연관까지 표현
상태 다이어그램
State Diagram
- 변화 혹은 상호작용에 따라 객체가 어떻게 변화하는지 표현
-럼바우 객체지향 분석 기법에서 동적 모델링에 활용
활동 다이어그램
Activity Diagram
- 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현
상호작용 개요 다이어그램
Interaction Overview Diagram
- 상호작용 다이어그램 간의 제어 흐름을 표현
타이밍 다이어그램
Timing Diagram
- 객체 상태 변화와 시간 제약을 명시적으로 표현




스테레오 타입(Stereotype)

UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현하기 위해 사용

  • 길러멧(Guilemet)이라 부르는 겹화살괄호(<<>>) 사이에 표현할 형태를 기술함
  1. include : 연결된 다른 UML 요소에 대해 포함 관계에 있는 경우
  2. extend : 연결된 다른 UML 요소에 대해 확장 관계에 있는 경우
  3. interface : 인터페이스를 정의하는 경우
  4. exception : 예외를 정의하는 경우
  5. constructor : 생성자 역할을 수행하는 경우


10. 주요 UML 다이어그램

유스케이스 다이어그램, 클래스 다이어그램, 순차 다이어그램에 대해 알아보겠다.

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

개발될 시스템과 관련된 외부 요소들, 즉 사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현한 것

유스케이스 다이어그램 구성요소
1. 시스템 / 시스템 범위(System/System Scope)
시스템 내부에서 수행되는 기능들을 외부 시스템과 구분하기 위해 내부 유스케이스들을 사각형으로 묶어 시스템의 범위를 표현함

2. 액터(Actor)
시스템과 상호작용하는 모든 외부 요소 (사람, 외부 시스템 등)
주액터) 시스템을 사용함으로써 이득을 얻는 대상(사람)
부액터) 주액터의 목적 달성을 위해 서비스 제공하는 외부시스템(조직, 기관)

3. 유스케이스(Use Case)
사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스 또는 기능을 표현

4. 관계(Relationship)
유스케이스 다이어그램에서의 관계는 액터와 유스케이스, 유스케이스와 유스케이스 사이에서 나타날 수 있으며, 연관 관계, 포함 관계, 확장 관계, 일반화 관계를 표현할 수 있음

💡 포함 관계
두 개 이상의 유스케이스에 공통적으로 적용되는 기능을 별도로 분리하여 새로운 유스케이스로 만든 경우, 새롭게 분리된 유스케이스와 관계를 포함 관계라고 함
💡 확장 관계
유스케이스가 특정 조건에 부합되 기능이 확장 될 때 그 관계를 확장 관계라고 한다.



클래스(Class) 다이어그램

시스템을 구성하는 클래스, 클래스의 특성인 속성과 오퍼레이션, 속성과 오퍼레이션에 대한 제약조건, 클래스 사이의 관계를 표현한 것이다.

  • 구조적 다이어그램
  • 시스템 구성 요소를 문서화하는 데 사용
  • 시스템 모델링 시 자주 사용

클래스 다이어그램 구성요소
1. 클래스(Class)
- 각각의 객체들이 갖는 속성과 오퍼레이션(동작)을 표현함
- 일반적으로 3개의 구획(Compartment)으로 나눠 클래스의 이름, 속성, 오퍼레이션을 표기함
- 속성: 클래스의 상태나 정보 표현
- 오퍼레이션 : 클래스가 수행할 수 있는 동작으로, 함수라고도 함

2. 제약조건
속성에 입력될 값에 대한 제약 조건이나 오퍼레이션 수행 전후에 지정해야 할 조건이 있다면 이를 적음

3. 관계(Relationship)
클래스와 클래스 사이의 연관성을 표현
클래스 다이어그램을 표현하는 관계에는 연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계가 있음

💡 접근제어자

  • public ➜ +
  • private ➜ -
  • protected ➜ #
  • package ➜ ~



순차(Sequence) 다이어그램 - 동적 다이어그램

시스템이나 객체들이 메시지를 주고받으며 시간의 흐름에 따라 상호 작용하는 과정을 액터, 객체 메시지 등의 요소를 사용해 그림으로 표현한 것

순차 다이어그램 구성요소
1. 액터(Actor)
시스템으로부터 서비스를 요청하는 외부 요소(사람, 외부 시스템)

2. 객체(Object)
메시지를 주고받는 주체

3. 생명선(Lifeline)
객체 메모리에 존재하는 기간, 객체 아래쪽에 점선을 그어 표현

4. 실행 상자(Active Box)
객체가 메시지를 주고받으며 구동되고 있음을 표현

5. 메시지(Message)
객체가 상호 작용을 위해 주고받는 메시지


지금까지 1과목 소프트웨어 설계 에서 1장인 요구사항 확인에 대해 정리해봤다.
나는 지금 2과목을 공부중인데 정리하는 건 생각보다 오래 걸려서 아직 1과목에 1장이다..

이 글을 볼 수도 있는 블로그 이용자들이 다시 봤을 때 정리하면서 볼 수 있게 하고싶은데 (그래도 정리하면서 나한테는 도움이 된다...ㅎ) 생각보다 너무 어렵고 시간도 오래 걸리는 것 같다.

... 마무리

다음엔 2장 화면 설계로 돌아오게따!

profile
공부가 조은 안드로이드 개발자

0개의 댓글