본문 바로가기
대학공부/소프트웨어공학

UML

by 진진리 2023. 10. 6.
728x90
  • UML(Unified Modeling Language, 통합 모델링 언어): 요구 분석, 시스템 설계, 시스템 구현 등의 개발 과정에서 개발자 간 의사소통을 원할하게 이루어지게 하기 위하여 표준화한 범용 모델링 언어. 
    • 구성요소: thing, relationship, diagrams
    • 코드의 전체적인 구조를 이해하는 데 도움
    • knowledge sharing/transfer에 긍정적

 

  • 많이 사용되는 UML diagrams
    • Class diagram: class들의 타입, 내용, 관계를 표시함으로써 시스템의 구조를 기술. Java나 C++같은 객체지향 프로그래밍 언어가 사용하는 경우 상속 등 객체간의 관계를 분석
    • Sequence diagram: 시나리오 기능을 수행하는데 필수적인 객체들 간의 교환되는 일련의 메시지와 시나리오에 수반되는 객체와 클래스를 표현. loop, alt, opt 등으로 상황 표시
    • State machine diagram: states, initial/final states, transition, state actions 등
    • Activity diagram: 시스템의 단계별 작업흐름을 그림으로 표현
    • Component diagram: 컴포넌트들이 선으로 연결되어 더 큰 컴포넌트나 시스템 구성을 보여줌, 복잡한 시스
      템 구조를 묘사하기 위해 사용됨
    • Depolyment diagram: 시스템의 물리적 구조(실행 구조)를 모델링
    • Timing diagram: 주요 목적이 시간에 대한 추론일 때의 상호작용을 보여줌
    • Use case diagram: 사용자-시스템 간 상호작용의 표현으로 시스템에서 제공해야 하는 기능이나 서비스 등 요구사항을 명세한 다이어그램. 시스템의 상위 기능과 scope 묘사

 

  • UML model에서의 defect 발견
    • 메소드가 sequence diagram을 호출하지 않음
    • 클래스가 sequence diagram에서 발생하지 않음
    • 메세지가 메소드에 대응하지 않음, 메소드가 없는 클래스, 이름이 없는 객체 등

  • UseCase Diagram: 시스템과 사용자간의 일련의 (high-level) 상호작용을 다이어그램으로 표현한 것. 사용자 관점에서 시스템을 모델링하는 것이 목적.
    • 구성요소: actor(사람, 시스템, 시스템과 상호작용하는 hw), usecase(수행작업), relation
    • UseCase Scenario(=description): usecase이름, actor 이름, 개요, precondition&postcondition, basic(기본 작동 순서), alt(예외상황) 등을 작성


  • Non-Functional Requirements(NFR): 비기능적 요구사항
    • 소프트웨어 품질과 밀접한 관계
    • 효율성, 기능성(보안성, 안전성), 신뢰성, 사용성, 유지보수성 등

'대학공부 > 소프트웨어공학' 카테고리의 다른 글

SPI, CMMI, 기타 용어  (0) 2023.10.06
Formal Methods 정형 기법  (0) 2023.10.06
Inspection  (0) 2023.10.06
Requirements Engineering(요구공학)  (0) 2023.10.06
소프트웨어공학이란?  (0) 2023.10.06