10. 소프트웨어 아키텍처 뷰 설계 명지대학교 융합소프트웨어학부 김정호 교수.

Slides:



Advertisements
Similar presentations
StarUML UOS, SELab. Jinhan Kim.. University of Seoul, Software Engineering Laboratory 1. StarUML 특징  StarUML™ 은 UML(Unified Modeling Language)
Advertisements

SW Testing Foundation 교육 1 일 기술 2G 배경호. Test in Life Cycle Request STATIC DYNAMIC Design Code Compo nent Integra tion System Accept ance.
기술분야에너지 관리 연구과제명 Advanced Energy Mgmt. Algorithm 개발 필요성신재생 발전기기, 에너지 저장장치, 에너지 소비장치가 공존하는 Smart Grid Home 환경에서 사용자의 불편을 최소화하면서 효율적으로 에너지를 절감할 수 있는 새로운.
제 2 장 UML. 2 Contents  UML 이란 ?  UML 역사와 역할  UML 구성요소 Things Relationships Diagrams  UML 확장  Summary.
Introduction to UML © copyright 2001 SNU OOPSLA Lab.
더존다스 경영전략과 비젼 1 ERP 개발부문
© DBLAB, SNU 화일구조. 강의 소개 - 화일구조  Instructor : Prof. Sukho Lee (301 동 404 호 )  홈페이지 :  교과목 개요 – 이 과목은 데이타 관리와 응용을 위한 화일 구조의 설계와.
시스템 개요 진화 과정 RIA & X-Internet Web Client/Server Main FRame
OS 소개 Introduction 설계목표 기본 용어 Resource Management History.
화일구조.
Chapter 2 정보시스템 아키텍처 (IS Architecture)
APPEON SOLUTION INTRODUCTION.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
ERP(Enterprise Resource Planning)
Comshare Decision을 이용한 SCM Monitoring
10장. 웹 서비스 공격 (Attacking Web Service)
Dept. of Computer Engineering, Hannam Univ. Won Goo Lee
Introduction to Web Service Computing
웹 서비스 (Web Services).
Internet Computing KUT Youn-Hee Han
12. 데이터베이스 설계.
소프트웨어 공학 (Software Engineering)
[멀티미디어 문서구조화특론 ] Workflow
Excel OLAP Reporting / OWC를 이용한
PXA255-FPGA 장비 개요 및 실습 Lecture #9.
[2008년 상반기 신입사원 입문 교육] 비즈니스 프로세스 관리 기술지원센터 기술기획팀.
소프트웨어공학 UML 학기.
인스톨쉴드9 데브스튜디오 사용 매뉴얼 (VB6에서 개발후 배포프로그램 만들기)
InstallShield Professional Services ( Services Pack / Education / Consulting ) ㈜소프트뱅크 커머스.
2장. UML 기본 개념.
NTAS 소개 (Network Transaction Application Server)
PXA255-FPGA 장비 계요 및 실습 Lecture #9.
VHDL Package and Sub program
1. 시멘틱웹(Semantic Web) Preview 항목 상세내역 개요 기출여부 관련KeyWord 추천사이트
A system is a set of related components that work together in a particular environment to perform whatever functions are required to achieve the system’s.
Ch2-2. VHDL Basic VHDL lexical element VHDL description
Socket & Plug 기반의 u-Banking Platform
2장 운영 체제의 개요 운영체제의 개념 운영체제의 유형 운영체제의 발전 과정 운영체제의 구성 운영체제 서비스 시스템 구조
선진사 Benchmarking 결과보고 통합 ERP 구축 전담반.
소프트웨어설계 UML 학기.
제 2 장 데이터베이스 시스템 개념과 아키텍처 Fundamentals of Database Systems
BAF Team IT Engineering Center
웹 서비스 (Web Services).
SOAP 클라이언트 개발 Guide
Rhapsody + MFC 개발 가이드.
객체 지향 프로그래밍.
김 정 석 Web Programming 김 정 석
AIMS 2016 설비.물류 통합 모니터링 솔루션 Advanced Integrated Monitoring Solution
NTAS 소개 (Network Transaction Application Server)
myfood.com 상명대 맛집 홈페이지 구축 제안서
시스템 분석 및 설계 글로컬 IT 학과 김정기.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
소프트웨어 형상관리: 목차 변경 및 형상관리의 기초 개념 형상항목 확인 및 버전관리 변경관리 감사 및 감사보고 99_11
Chapter 02. 소프트웨어와 자료구조.
07. 소프트웨어 아키텍처 설계 전략 명지대학교 융합소프트웨어학부 김정호 교수.
화일구조.
성공적인 웹사이트 구축 (2) 변화 발전하는 Site의 미래를 예측 반영해야 함.
UML과 객체지향 모델링 UML의 개요 객체지향 모델링.
Architecture.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
                              아키텍처 분석과 설계 – 아키텍처 스타일 (SI 트랙)                              
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
1. 데이터베이스 환경.
Christian F. Tschudin 발표자 : 전기공학부 이 진 호
Introduction to Computer System Spring, 2019
Dynamic Graph Query Primitives for SDN-based Cloud Network Management Ramya Raghavendra, Jorge Lobo, Kang-Won Lee 2012 HotSDN 정보통신공학과.
Eclipse를 이용한 Embedded Linux 응용 프로그램 개발
Deployment Diagram (배치 다이어그램)
Presentation transcript:

10. 소프트웨어 아키텍처 뷰 설계 명지대학교 융합소프트웨어학부 김정호 교수

Retrospect 소프트웨어 정의 소프트웨어 아키텍처 정의 소프트웨어 아키텍처 설계 순서 시스템 생각 특정 목적을 이루기 위한 구조(요소들의 관계) 소프트웨어 아키텍처 설계 순서 이해관계자와 Concerns 기능 요구사항과 비기능 요구사항 소프트웨어 설계 전략 Tactics Patterns Reference Architecture

S/W 아키텍처 요소 Structures 와 View의 관계 Human Body Structure Static View Dynamic View Dynamic View 심장 전문의 Static View 외과 전문의

S/W 아키텍처 View View 란? 시스템을 이루는 요소들의 집합과 그들의 연관 관계를 추상적으로 표현한 것 뷰 포인트 소프트웨어 시스템 소프트웨어 아키텍처 뷰

<<interface>> S/W 아키텍처 View Viewtype 란? view를 구조화 하는 방법을 viewtype이라고 한다. Module viewtype : Code unit들을 어떻게 구성하지? Runtime viewtype : S/W system 요소들의 runtime behavior와 interaction은 어떻게 표현하지? Allocation viewtype : S/W 요소들이 non-software 환경과 어떻게 mapping이 되지? Examples Semantic Definition NodeAnalyzer Expression Statement Main <<interface>> Visitor Error Module viewtype Runtime viewtype Allocation viewtype

S/W 아키텍처 style 아키텍처 style 이란? S/W 제약 사항을 표현할 수 있는 S/W 구성 요소와 연관관계의 특별한 type을 말한다. Module viewtype Decomposition Style : 계층적으로 모듈을 분리하여 작성, Concurrent System 개발에 유리한 Style Generalization Style : Reuse를 목적으로 계층을 특성화 한 Style Layered Style : Portability, Reusability을 위한 Style Runtime viewtype Data Flow Style : 데이터 이동에 목적을 둔 Style Ex. Batch sequential, pipes & filters Call & Return : S/W 요소들의 호출을 특성화 한 Style Ex. Main program/subroutines, Information hiding Interacting process : Event Based로 system이 움직이는 Style Ex. Implicit, Explicit event Data-Sharing : Data Storage를 중심으로 연동하는 Style Ex. Compound Documents Allocation viewtype Deployment Style, Implementation Style, Work assignment style

Module viewtype Decomposition Style S/W 요소(Elements) : Code에 근간을 둔 Modules 연관관계 (relationship) : “is part of ” A B C D A C B D

Module viewtype Generalization Style S/W 요소(Elements) : Code에 근간을 둔 Modules 연관관계 (relationship) : Generalize, “is a” UML 등으로 표시 A A B C D B C D

Module viewtype Layered Style S/W 요소(Elements) : Layers, a virtual machine, etc. 연관관계 (relationship) : Allowed-to-use, depends-on

Runtime viewtype S/W 요소(Elements) 연관관계 (relationship) 특성 (Properties) Components : Run-time과 연관되는 핵심 단위 Connectors : Component들 간의 연동 Mechanism을 표시 연관관계 (relationship) Ports : Component들 간의 연동을 위한 gate Roles : Component와 연동하기 위한 Connector의 역할 특성 (Properties) S/W 개발과 분석을 위해 정보를 특성화 하는 것 Ex. 품질 요구사항 port Connector Component 1 Component 2 role

Runtime viewtype Pipe and Filter Style Components => Filters Connectors => Pipes 데이터가 흘러 다니는 파이프 Constraints 데이터는 한 곳으로 흘러야 하며, Filter간의 state 정보 공유가 필요 없다. Ex>> cat etc/passwd | grep “joe” | sort > junk

Runtime viewtype Call & Return Style Components Connectors 종류 서비스를 제공하는 단위로서 서비스를 요청하거나 제공한다. Connectors 서비스를 Callee에게 요청하고 return 되는 서비스를 Caller에게 전달하는 역할을 한다. 종류 Object model, Tier model

Runtime viewtype Event-Based Style Components Connectors 종류 Event 전달을 목적으로 하는 Event Bus 종류 Explicit, Implicit Event type

Allocation viewtype S/W 요소(Elements) : Module 혹은 Runtime style을 그대로 유지, 주변 환경 요소들 연관관계 (relationship) : allocated-to Deployment style : Runtime 요소와 H/W와의 관계 Deployment style

Allocation viewtype Implementation Style : 클래스 혹은 소스 코드와 디렉토리와의 연관 관계

아키텍처 뷰 – 작성 예제

아키텍처 뷰 – 작성 예제

아키텍처 뷰 – 작성 예제

아키텍처 뷰 – 작성 예제 Architecture는 SOA를 지향하며, Scalability와 Modifiability를 위해 tiered Architecture로 총 5개의 tier 로 구성 Tier Description Client 관리자 Browser 및 가입자 단말기 Presentation UI를 제공하기 위한 로직 구현 Business Service 비즈니스 기능을 구현 Information & Secure 보안서비스 및 정보저장 서비스를 관리 Integration 대내외 시스템 통합을 담당

아키텍처 뷰 – 작성 예제 Presentation Layer : OM&A 포털이 제공하는 UI 기능을 식별 Business Logic Layer외 : 주요 Sub System별 제공 Functionality를 식별 Integration : EIS에 구현하여야할 연계 모듈 Business Common : 업무 공통 모듈

아키텍처 뷰 – 작성 예제 Allocation View – Deployment style EIS : Service Mediatior를 통한 대내외 연계 기능을 제공. MCP OMA : Presentation Layer 및 Business Functionality를 모두 포함. 운영시 Light한 구현을 지향 함. PIP  : PIP의 채널특성, 성능특성을 고려하여 별도로분리

아키텍처 뷰 – 작성 예제 Allocation view - Implementation Style Interface 기반 구현 Presentation Layer와 Business Logic의 Decoupling Busniess Logic(Service)는 WebService 적용을 위한 특성 반영

Question ?