49
Sections Introduction Key Issues in Software Development The Process Overview

StarUML NS Guide - Introduction

  • Upload
    -

  • View
    348

  • Download
    9

Embed Size (px)

DESCRIPTION

StarUML NS Guide - Introduction

Citation preview

Page 1: StarUML NS Guide -  Introduction

Sections

Introduction

Key Issues in Software Development

The Process Overview

Page 2: StarUML NS Guide -  Introduction

Lecture Objectives

Introduction

본 과정에 관련된 선 지식 습득

소프트웨어 개발의 핵심 이슈에 관한 개요

본 과정에 사용될 소프트웨어 프로세스 개요

Page 3: StarUML NS Guide -  Introduction

Introduction

Key Issues in Software Development

Section 1.

Page 4: StarUML NS Guide -  Introduction

Contents

Introduction

Background

Component-Based Development

Software Process

Iterative Development

Software Architecture

Unified Modeling Language

Model Driven Architecture

Page 5: StarUML NS Guide -  Introduction

Background

Introduction

Page 6: StarUML NS Guide -  Introduction

Component-Based Development

Introduction

What is Software Component?

• A software component is a unit of composition with contractually specified

interfaces and explicit context dependencies only.

• It can be deployed independently and is subject to composition by third

parties

(Szyperski, Queensland University)

Page 7: StarUML NS Guide -  Introduction

Component-Based Development (cont.)

Introduction

Page 8: StarUML NS Guide -  Introduction

Component-Based Development (cont.)

Introduction

Component Platforms

• Microsoft ActiveX/COM and .NET

• OMG CORBA

• Sun JavaBeans/EJB

Page 9: StarUML NS Guide -  Introduction

Software Process

Introduction

Page 10: StarUML NS Guide -  Introduction

Software Process (cont.)

Introduction

Software Process

• Development Process

• Management Process

Page 11: StarUML NS Guide -  Introduction

Software Process (cont.)

Introduction

Page 12: StarUML NS Guide -  Introduction

Software Process (cont.)

Introduction

Page 13: StarUML NS Guide -  Introduction

Iterative Development

Introduction

반복적 개발(Iterative Development)

• 전체 개발을 여러 번의 반복으로 나눔

• 한 번의 반복이 요구사항부터 구현, 테스트까지 포함

• 소프트웨어를 점진적으로 개발

• 사용자의 피드백(Feedback)을 자주 받을 수 있음

Page 14: StarUML NS Guide -  Introduction

Iterative Development (cont.)

Introduction

Waterfall Model (conventional development)

• 요구사항부터 구현, 테스트까지 순차적으로 수행

• 위험요소의 발견 및 해결이 프로젝트 종반으로 지연

Page 15: StarUML NS Guide -  Introduction

Iterative Development (cont.)

Introduction

위험 요소(risk)를 조기에 발견하고 해결

Page 16: StarUML NS Guide -  Introduction

Iterative Development (cont.)

Introduction

변화를 쉽게 수용(Embracing Changes)

• 요구사항에서의 변화

• 일정상의 변화

• 참여인력의 변화

• 비용 및 기타 환경의 변화

Page 17: StarUML NS Guide -  Introduction

Iterative Development (cont.)

Introduction

Iteration Planning

• 높은 위험 요소를 먼저 수행

• 중요한 요구사항을 먼저 반영

• 변화를 수용

Page 18: StarUML NS Guide -  Introduction

Iterative Development (cont.)

Introduction

Iteration Planning (cont.)

Page 19: StarUML NS Guide -  Introduction

Iterative Development (cont.)

Introduction

How many iterations?

• 반복 횟수를 많이

• 위험도가 높을 수록

• 요구사항 파악이 힘들 수록

• 반복 횟수를 적게

• 경험 많은 프로젝트 일 수록 (위험도가 낮을 수록)

• 요구사항이 명확할 수록

Page 20: StarUML NS Guide -  Introduction

Software Architecture

Introduction

소프트웨어 컴포넌트와 그것들의

관계로 표현되어지는 시스템의

거시적 구조

소프트웨어 시스템의 조직에 관

한 중대한 결정

Page 21: StarUML NS Guide -  Introduction

Software Architecture (cont.)

Introduction

Why Is Architecture Important?

• Communication Vehicle

• Early Design Decision

• Architectural Reuse

Page 22: StarUML NS Guide -  Introduction

Software Architecture (cont.)

Introduction

What Is Architectural View?

• 특정 관점(perspective)에서의 시스템에 대한 간략한 기술.

• 특정 이해관계자(stakeholder)의 의도를 반영.

• 아키텍처상 중요한 내용들만을 포함한다.

• 소프트웨어 시스템의 아키텍처는 여러 개의 아키텍처 관점(Architectural

View)들로 구성됨.

Page 23: StarUML NS Guide -  Introduction

Software Architecture (cont.)

Introduction

4+1 View Model of Architecture

Page 24: StarUML NS Guide -  Introduction

Unified Modeling Language

Introduction

UML은 소프트웨어 시스템의 산출물들을

• 시각화(Visualize),

• 명세화(Specify),

• 구축(Construct),

• 문서화(Documenting)

하기 위한 표준 언어이다.

Page 25: StarUML NS Guide -  Introduction

Unified Modeling Language (cont.)

Introduction

Page 26: StarUML NS Guide -  Introduction

Unified Modeling Language (cont.)

Introduction

Structural Modeling

• Class Diagram, Component Diagram, Deployment Diagram

Page 27: StarUML NS Guide -  Introduction

Unified Modeling Language (cont.)

Introduction

Behavioral Modeling

• Use Case Diagram, Sequence Diagram, Collaboration Diagram,

Statechart Diagram, Activity Diagram

Page 28: StarUML NS Guide -  Introduction

Model Driven Architecture

Introduction

MDA (Model Driven Architecture)

MDA는 플랫폼 기술로부터

비즈니스 혹은 애플리케이션의

로직을 분리해내기 위한 기술이다.

Page 29: StarUML NS Guide -  Introduction

Model Driven Architecture (cont.)

Introduction

Page 30: StarUML NS Guide -  Introduction

Introduction

The Process Overview

Section 2.

Page 31: StarUML NS Guide -  Introduction

Contents

Introduction

The Process In This Course

The Process

• Business Modeling

• Requirements

• Analysis

• Architectural Design

• Design

Process Summary

Configurations

Page 32: StarUML NS Guide -  Introduction

The Process In This Course

Introduction

Software Design Process

Features

• An Agile Process

• From Requirements to Design

• Use-Case Driven

• Configurable for not only OOAD but also CBD

• Make the best use of UML

Page 33: StarUML NS Guide -  Introduction

The Process

Introduction

Page 34: StarUML NS Guide -  Introduction

Business Modeling

Introduction

Page 35: StarUML NS Guide -  Introduction

Business Modeling (cont.)

Introduction

Page 36: StarUML NS Guide -  Introduction

Requirements

Introduction

Page 37: StarUML NS Guide -  Introduction

Requirements (cont.)

Introduction

Page 38: StarUML NS Guide -  Introduction

Analysis

Introduction

Requirements

Business

Modeling

(optional)

Analysis Design

Implementation

(not cover)

Test

(not cover)

Architectural

Design

(optional)

Page 39: StarUML NS Guide -  Introduction

Analysis (cont.)

Introduction

Page 40: StarUML NS Guide -  Introduction

Architectural Design

Introduction

Page 41: StarUML NS Guide -  Introduction

Architectural Design (cont.)

Introduction

Page 42: StarUML NS Guide -  Introduction

Design

Introduction

Page 43: StarUML NS Guide -  Introduction

Design (cont.)

Introduction

Page 44: StarUML NS Guide -  Introduction

Role Summary

Introduction

Page 45: StarUML NS Guide -  Introduction

Activity Summary

Introduction

Page 46: StarUML NS Guide -  Introduction

Artifact Summary

Introduction

Page 47: StarUML NS Guide -  Introduction

Process Configurations

Introduction

Page 48: StarUML NS Guide -  Introduction

Configuration for CBD

Introduction

Page 49: StarUML NS Guide -  Introduction

Lecture Summary

Introduction

현대의 소프트웨어 개발에서는 소프트웨어 프로세스, 반복

적 개발, CBD, UML, MDA 등의 핵심 이슈들이 적용되고 있

다.

본 과정에 적용할 소프트웨어 설계 프로세스는 비즈니스 모

델링, 분석, 아키텍처 설계, 설계 단계로 구성되어 있다.