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

Slides:



Advertisements
Similar presentations
KAIST CS712 병렬처리 특강 차세대 무선 네트워크 및 보안 동향 Syllabus Network & Security Lab.
Advertisements

1 08 시스템 구성도 고려사항 * 웹 서버 클러스터 구성  클러스터 구축은 ㈜ 클루닉스의 Encluster 로 구축 (KT 인증,IT 인증 획득, 실제 클러스터 구축 사이트 200 여곳 )  웹 서버 클러스터는 Dynamic, Static, Image.
Cinema Manager System 최종 발표 조 team05 발표자 : 임 창목 1.
2010 서 희 명 ) 시스템 아키텍처 감리 - 강의계획서 -
Real Time Systems Lab. rtlab.knu.ac.kr 무인 헬리콥터 자율비행 소프트웨어의 실시간 성능 개선을 위한 CAN 기반 센서 네트워크 경북대학교 실시간 시스템 연구실 이재신.
펌핑노드 성능평가 RTLAB 김병철 08/09/25.
컴퓨터 운영체제의 역사 손용범.
팀 구성 : 조재민 (팀장), 고광춘, 유기민, 김대진, 이재호 발표 일자:
일반 요구 사항 비즈니스 요구사항 고객/정보/위치/상태 탐색방법 제품/서비스 홍보 및 광고 방법
MS SQL Server 학기, 소프트웨어 설계 및 실험 ( Ⅰ )
리눅스 관리의 신개념 Levanta Intrepid M Demo
DIGITAL RACK MIXER M32C MIDAS NAME MODEL 제조사
뇌를 자극하는 Windows Server 2012 R2
온라인국민참여포탈 클러스터 시스템 구성 제안
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
3 장 OSI 기본 참조 모델 OSI : Open System Interconnection
Windows Server 장. Windows Server 2008 개요.
Operating Systems Overview
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
24 장 TCP/IP 24.1 개요 24.2 네트워크층 24.3 주소 지정 24.4 서브넷팅틍
소개: Unix란 무엇인가? 숙명여대 창병모 2009/09.
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
Bluetooth & ZigBee 통합 Interface - IEEE
2장 운영 체제의 개요 운영체제의 개념 운영체제의 유형 운영체제의 발전 과정 운영체제의 구성 운영체제 서비스 시스템 구조
11 장 LAN 기본 개념과 Ethernet LAN
컴퓨터과학 전공탐색 배상원.
소프트웨어 공학 Introduction 박 수 용 서강대학교 컴퓨터공학과.
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
1980년대 컴퓨터시스템 연구개발 전길남 KAIST KSC rev12.10/12.20.
뇌를 자극하는 Windows Server 장. 장애 조치 클러스터.
제9장 네트워크 성능 및 품질 평가 과 목 : 네트워크 설계 및 실험 조 명 : 1 조
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
Method & library.
Transmission & Analysis
05. 소프트웨어 시스템 기능/비기능 요구사항 명지대학교 융합소프트웨어학부 김정호 교수.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
기계어변천사.
22 장 전송층(Transport Layer)
Spring 프레임워크의 이해 1.Architecture.
Smart Workplace 개발자 가이드
OSI Reference Model.
10. 소프트웨어 아키텍처 뷰 설계 명지대학교 융합소프트웨어학부 김정호 교수.
과거사 청산, 밝은 미래를 위하여 역사 청산 비교 분석-독일과 우리나라.
Xscale Educational Kit
21 장 전송층(Transport Layer)
Mobile braille system for the blind
Chapter 03. 관계 데이터베이스 설계.
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
-네트워크 관리 개요 및 SNMP 프로토콜 동작과정
Packet sniffing 응용 레벨이 아닌 네트워크 디바이스 레벨에서의 데이타을 얻는 것 네트워크 상의 트래픽을 분석
제1장 정리 컴퓨터소프트웨어과 2-A반 주세호.
Distributed Multimedia System Lab.
12. 소프트웨어 아키텍처 문서화 명지대학교 융합소프트웨어학부 김정호 교수.
Level 0 Level 1 Level 2 Level 3 공모전 후기 모음 웹 서비스 1. 웹 페이지 설계 2. 웹 서버 구현
LAN의 구성요소 학습내용 서버 클라이언트 NIC(Network Interface Card) 전송매체
                              아키텍처 분석과 설계 – 아키텍처 스타일 (SI 트랙)                              
멀티미디어시스템 제 4 장. 멀티미디어 데이터베이스 정보환경 IT응용시스템공학과 김 형 진 교수.
06. 소프트웨어 아키텍처 설계 전략 명지대학교 융합소프트웨어학부 김정호 교수.
Map Designer Solution 소개자료
08. 소프트웨어 아키텍처 설계 전략 명지대학교 융합소프트웨어학부 김정호 교수.
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
03. 소프트웨어 아키텍처 개념 명지대학교 융합소프트웨어학부 김정호 교수.
소리가 작으면 이어폰 사용 권장!.
Installation Guide.
교량 구조물의 개념 설계 및 프로토타입 제작 과정
07. DB 설계 명지대학교 ICT 융합대학 김정호.
상속 (Inheritance) private 전용부분 전용부분 공용부분 공용부분 public 기본 클래스
Windows XP Professional 장점
소프트웨어 설계 및 실습 강기준.
LEON3 DBT 엔진을 이용한 ERC32 기반의 하이퍼바이저 프로토 타입 개발
Presentation transcript:

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

Retrospect 소프트웨어 아키텍처 드라이버 소프트웨어 아키텍처 설계 전략 기능 요구사항 비기능 요구사항 입력과 출력의 변형 Use Case 모델링 비기능 요구사항 제약 사항 품질 속성 6가지 factor로 구성된 품질 시나리오로 모델링 소프트웨어 아키텍처 설계 전략 아키텍처 전술 (Tactics) 변경용이성 성능 가용성 보안

목 차 소프트웨어 아키텍처 설계 전략 소프트웨어 아키텍처 전술(Tactics) 소프트웨어 아키텍처 패턴 참조 아키텍처 변경용이성(Modifiability) 성능 (Performance) 안정성 (Availability) 보안 (Security) 소프트웨어 아키텍처 패턴 Layer Blackboard Pipes and Filters Publishers&Subscribers Broker MVC 참조 아키텍처 Spring Hibernate …

Layer 패턴 정의 예제 특정 추상 레벨에 있는 서브태스크들끼리 서로 묶어서 하나의 그룹으로 분류하는 방식 하위 수준의 이슈를 상위 수준에 이슈와 분리시켜 소프트웨어의 재사용성을 높여주는 패턴 예제 네트워크 프로토콜 아키텍처 (e.g. OSI 7 layer) 가상 머신 (e.g. interpreters, JVM)

Layer 패턴 Issues Applications& interfaces Major processes - Separation of concerns Applications& interfaces Major processes Domain classes Mechanisms Services

Layer 패턴

Layer 패턴

Layer 패턴

Layer 패턴

Blackboard 패턴 정의 예제 Shared data, database와 같은 데이터 중심 패턴 중에 하나 명확히 정의된 문제 해법이 없을 때 문제를 풀어가는 하나의 방식을 정의한 패턴 대략적으로 해법을 수립하기 위해 특수한 서비스 시스템의 지식을 조합하는 패턴 예제 AI system Signal processing Radar/sonar Vision processing Speech processing repository Accessor Middleware repository Accessor Shared data DBMS

Blackboard 패턴 1. Start Control::loop 2. Control::nextSource Referenced by : David Garlan, Lecture notes of “17-655/17-755 Architecture for software system”, Institute for software research, CMU, 2011. 1. Start Control::loop 2. Control::nextSource 3. determine potential knowledge sources by calling Blackboard::inspect 4. Invoke KnowledgeSource::execCondition of each candidate knowledge source 5. Each candidate knowledge source invokes Blackboard::inspect to determine if/how it can contribute to current state of solution 6. Control chooses a knowledge source to invoke by calling KnowledgeSource::execAction 7. Executes KnowledgeSource::updateBlackboard 8. Calls Blackboard::inspect 9. Calls Blackboard::update

Pipes and Filters 패턴 정의 예제 데이터 스트림을 처리하는 패턴 데이터는 Pipe를 통해서 Filter로 전달 전달된 데이터는 Filter를 통해 걸러지고 pipe를 통해 다음 Filter로 이동 예제 Unix command system Ex>> cat etc/passwd | grep “joe” | sort > junk

Pipes and Filters 패턴 Programming Language Compiler

Question ?