중간고사

프로젝트

기말

소프트웨어 모델링

UML

모델링 종류

소프트웨어 아키텍처

UML 표기법

Use case Diagram

Class & Object

Class Diagram

Communication Diagram(Interaction Diagram)

Sequence Diagram(Interaction Diagram)

State Transition Diagram

Package

Concurrent Commnication Diagram

Deployment Diagram

UML Extension Mechanisms

COMET

클래스 분류

특징

과정

  1. Requirement Modeling: 기능적 요구사항 서술, throwaway prototype
  2. Analysis Modeling: static, dynamic modeling
  3. Desgin Modeling: sw 아키텍처 설계
  4. Incremental Software Construction: 자세한 설계, 코딩, 유닛 테스트
  5. Incremental Software Integration: 각각의 use case의 통합 테스트(화이트 박스), 각 통합에서 Incremental Prototyping을 만듦, 만약 중대한 문제가 발생한다면 이전 단계 중 하나로 복귀
  6. System Testing: 시스템의 기능 테스트(블랙 박스)

COMET의 차별점

SysML

유스 케이스 모델링

requirement > analysis > design

기능적 요구사항 vs 비기능적 요구사항

use-case 확장

요구 사항 명세서

use case model 특징

유스케이스 핵심 요소

Actor

Static Modeling

requirement > analysis > design

시스템 안에 클래스들과 그들의 속성, 연산, 관계를 정의

Association

Composition(집합) & Aggregation(구성)

Generalization & specialization

Constraints

static modeling

Context Modeling

«external class»

Entity Class

!정적 모델링은 오퍼레이션을 포함해야 하지만, 동적 모델링 이후에 만드는게 쉽다

Object & Class Structuring

Dynamic Interaction Modeling

Finite State Machines

시스템이나 객체의 제어와 과정을 모델링

실시간 시스템과 같은 많은 시스템은 상태 의존적임

상태 머신 다이어그램

Finite State Machine

Events

State

Gaurd Condition

entry action

exit action

flat statechart의 잠재적 위험

hierarchical statechart의 목적

Composite State

Aggregation State Transition

Othogonal statechart

statechart 가이드 라인

use case에서 statechart를 만들기 위해

Subsystem Architectural Design

분석 모델링 중에 use case를

설계 모델링 중에 소프트웨어 아키텍처를 설계하는 것에 의해