슬라이드 1

Size: px
Start display at page:

Download "슬라이드 1"

Transcription

1 소프트웨어아키텍처패턴

2 소프트웨어아키텍처설계와패턴 2

3 시스템과아키텍처 시스템은하나이상의구성요소로연결된통합체이다. * Created by Sungwon Choi, Myoungji Univ. 3

4 기능과비기능요구사항의관계 System Requirement Funtional NonFunctional Stakeholders Concern Viewpoint View * Created by Sungwon Choi, Myoungji Univ. 4

5 소프트웨어시스템 개발생명주기 System requirements System Architecture Software requirements Hardware requirements Software requirements Software Design Hardware design Software design Software System System including both software and hardware 5

6 기능요구사항 - 개요 요구사항모델링기법 구조적분석 (Structured Analysis) Data Flow Diagram(DFD) Entity Relation Diagram(ERD) State Transition Diagram (STD) 유즈케이스분석 (Use Case Analysis) Use Case Modeling (UC) 목표와시나리오기반분석 (Goal and Scenario Based Analysis) Goal-Scenario Modeling(GS) 6

7 기능요구사항 - 개요 소프트웨어요구사항의 3 단계 1 단계 2 단계 3 단계 7

8 기능요구사항 - 유스케이스 유스케이스분석기법 사용자중심요구사항모델링 유즈케이스와액터간상호작용을통해시스템분석 사용자비즈니스와애플리케이션영역을이해 작업중심적 : Diagram 으로요구사항이해 유즈케이스는각각독립적 High Priority Use Case = High Priority Requirements 단순한유즈케이스나열 : 전체적인시스템요구사항이해어려움 비기능적인요구사항은표현이어려움 표준 Graphic 표기 Communication 개선, 해석의 Risk 감소 8

9 기능요구사항 - 유스케이스 ATM 시스템예제 9

10 비기능요구사항 - 개요 이해관계자를통한비기능요구사항추출 유스케이스다이어그램에서액터에서시스템이아닌사람은모두이해관계자이다. 이해관계자중액터가아닌사람도있다. 팀장, 기획자, 고객 ( 사용자가아닌 ), 유지보수자, 내부개발자등 이해관계자의이해를중심으로비기능요구사항을추출 각각의이해관계자를중심으로관심사항을추출하여비기능요구사항추출 프로젝트환경을통한비기능요구사항추출 프로젝트기간, 비용에대한이해후이슈를추출한다. 프로젝트조직 ( 개발인력의부족, SQA 분리등 ) 에대한이해후이슈를추출한다. 주의사항 무엇을 (What) 쓰는것이지 어떻게 (How) 를쓰는것이아니다. 시나리오기반으로작성 ( 상황을명확히표현 ) 하는것이이해하기가좋다. 모호한표현 (Ex. 잘, 쉬운, 의도되지않은, 유사시등 ) 을쓰지않는다. 10

11 비기능요구사항 작성예제 내부사용자가시스템에서비스실행을요구할때, 시스템이 3 초이내에응답하지않으면, 재요청을 3 회실시한다. 이때에도 3 초이내에응답하지않으면오류상태로인식하고시스템관리자에 SMS 으로알리며, 2 초이내에자동으로응급시스템으로전환한다. 11

12 아키텍처전략 - 개요 아키텍처전략선택 공학적기법사용 Encapsulation, Loosely Coupled, Highly Cohesive, Separate of Concern 법칙준수 Pattern, Tactics, Style 등을응용 소프트웨어기술및경험사용 주의사항 외부의아키텍처참조 ( 참조아키텍처 ) 자신의경험이나기술에의한결정추출 비기능요구사항에대응하는전략을작성한다. 비기능요구사항의표를사용하는것이좋다. 잘알려진전략이라면간단한단어를사용해도좋으나그렇지않을경우반드시근거및설명을달도록한다. 12

13 아키텍처전략 - 패턴 1. 소프트웨어아키텍처패턴 1) 다양한상황에서소프트웨어아키텍처수립하는방식을정형화한것을소프트웨어아키텍처패턴이라고한다. 2) 가장일반적인아키텍처패턴은아래표와같다. 3) 아키텍처패턴은지속적으로생성되고있으며 POSA(Pattern Oriented Software Architecture) 시리즈 (1 ~ 5권 ) 에자 세한내용이나와있다. 패턴명설명아키텍처예제 Layer 패턴 가장일반적으로사용하는아키텍처패턴으로서 subtask 들을그룹으로묶어사용허가관계를표시하는패턴이다. 모듈의재사용성을높여유지보수성이나이식성에좋은패턴이다. Broker 패턴 외부에분산된컴포넌트를호출하려고할때클라이언트 request 의분석하여서버컴포넌트에전달하고그결과값을전달하는역할을하는패턴을브로커패턴이라고한다. 보안이나, 안정성을높일수있는패턴이다. MVC 패턴 모델, 뷰, 컨트롤세개의컴포넌트로어플리케이션을구분한패턴으로사용자인터페이스를가지고있는많은어플리케이션에사용된다. 모델은기능과데이터를가지고있고뷰는사용자의화면표시를지원한다, 컨트롤러는이들과의관계를가지고사용자이벤트나모델의변화를감지하여모델과뷰에전달하는역할을한다. 뷰와모델사의사이의일관성을갖게하여변경용이성, 기능확장성을지원한다. 13

14 아키텍처전략 - 패턴 패턴명설명아키텍처예제 State-Logic-Display(3-tier) 패턴 비즈니스애플리케이션을개발할때가장일반적으로사용되는패턴으로사용자인터페이스 (UI) 와비즈니스로직, 데이터를구분하여변경용이성이좋다. 게임, 웹어플리케이션등많은분야에서사용되고있다. Sense-Compute-Control 패턴 일정한시간별로센서의값을읽어들이는 Sense 와센서의값을계산하여해야할행위를정의한 compute, actuator 에해야할기능이나행위를전달하는 control 로모듈을구분하는패턴을말한다, 임베디드애플리케이션을개발할때주로사용되는패턴이다. 14

15 아키텍처전략 스타일 1. 소프트웨어아키텍처스타일 1) 소프트웨어아키텍처수립하는수단으로아키텍처스타일을사용하기도한다. 아키텍처스타일은아키텍처패턴중에 Runtime view, Module view, Allocation view 에자주사용되는패턴을표준화한것이다. 2) 각종뷰를작성할때참조할수있는아키텍처패턴으로서 Call & Return style, Layer style, Uses style, Decomposition style 이많이쓰이고있다. ( 소프트웨어아키텍처문서화책참조 ) 뷰아키텍처스타일설명 Data Flow 데이터이동에목적을둔 Style (Ex. Batch sequential, pipes & filters) Runtime view Call & Return S/W 요소들의호출을특성화한 Style( 객체지향에서사용하는스타일 ) Interacting process Event Based 로 system 이움직이는 Style (Ex. Publish-Subscriber system) Module view Data-Sharing Decomposition Generalization Data Storage 를중심으로연동하는 Style 모듈을단계별로분리하여모듈을파악하는스타일 (UML 의 aggregation style) 부모, 자식모듈과의관계 (UML 의 inheritance) Uses (Layer style) 모듈간의사용성을표현한스타일 (UML 의 association 관계 ) (Layer style 은 Layer 패턴과같음 ) Allocation view Decomposition Implementation Work assignment Software 요소와 infra system(h/w, N/W) 과의관계를나타낸스타일 소프트웨어모듈과파일시스템 ( 디렉토리 ) 과의관계를나타낸스타일 소프트웨모듈을개발하는사람, 그룹가개발할모듈과의관계를나타낸스타일 15

16 아키텍처전략 - 스타일 1. 소프트웨어아키텍처패턴과스타일비교 16

17 아키텍처전략 스타일 1. 소프트웨어아키텍처수립전술 (tactics) 1) 소프트웨어아키텍처에요구되는품질속성을만족시키는특정기법의모음을 tactics 라고한다. 2) 아키텍처수립전술은 Computer science 적인기법과소프트웨어구조로문제가포함되어있다. ( 패턴, 스타일과의 차이점 ) 3) 주로소프트웨어아키텍처를수립하고부족한품질속성을높이는데사용된다. 4) 보다자세한사항은 아키텍처이론과실제 4장에나와있다. 품질속성명 안정성유지보수성성능 관련 tactics 그래프 17

18 Graphics & Image Data Management Data Interchange International Operations User Interface Location & Directory Transaction Processing System & Network Management Security Software Engineering 아키텍처전략 - 참조아키텍처 참조모델 (TOGAF, etc.) 참조아키텍처 (J2EE, SOA, etc.) S/W 아키텍처 (XX 프로젝트아키텍처, etc.) 아키텍처패턴 (Call-Return, etc.) 참조모델 특정도메인의기능을요소별로구분하여놓은것 참조아키텍처 Implementation F/W (Spring, Struts, etc.) 참조모델과아키텍처패턴을결합하여특정품질을항상시켜놓은아키텍처 Implementation F/W 참조아키텍처를기준으로프레임워크으로개발된상용제품 Qualities Infrastructure Applications Business Applications Application Programming Interface Operating System Services Network Services Communications Infrastructure Interface Communication Infrastructure TOGAF TRM 18

19 패턴 Overview 19

20 패턴개요 패턴 특정문제에대한해법을추상화하고그안의공통된요인을추출하여정형화한것을패턴이라고한다. 패턴의 3 가지의스키마 정황 (Context) : 문제를발생시키는상황 문제 (Problem) : 해당정황에서반복적으로발생하는문제 해법 (Solution) : 해당문제에대해검증된해답 소프트웨어시스템개발에서의패턴종류 소프트웨어아키텍처패턴 문제를해결하는해법으로소프트웨어시스템의기본구조와관련된것을다룰경우아키텍처수준의패턴이라고말한다. 디자인패턴 소프트웨어시스템의서브시스템이나컴포넌트들, 혹은그것들간의관계를해법으로사용하는경우, 디자인패턴이라고말한다. 이디엄 (Idiom) 특정프로그래밍언어의기능을이용하여컴포넌트들혹은컴포넌트들간관계의특정측면을구현하는방법을이디엄이라고한다. 20

21 아키텍처패턴종류 Layer Blackboard Pipes and Filters Broker Model-View-Controller Publisher-Subscriber (Event-Bus) Presentation-Abstraction- Control Microkernel Reflection Interceptor Reactor Procator Half-sync/half-async Leader/Followers 21

22 Layer 패턴 22

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

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

25 Layer 패턴 정황 (Context) 시스템의규모가커서분해할필요가있을경우 문제 (Problem) 하위레벨과상위레벨이슈가서로혼재해있다는점이주된특징인시스템을설계할경우 시스템의기능이수직적으로나눠져있거나수평적인경우와혼재되어있는경우 해법 (Solution) 시스템의상호연동관계가있는모듈들을모아계층으로추상화 ( 최하위계층 : Layer 1, 최상위계층 : Layer N) Layer J 는반드시 Layer J-1 이제공하는서비스만사용. 다른계층의서비스를사용해서는안됨 25

26 Layer 패턴 설계순서 1. 계층별로모듈을묶는추상기준을정의 2. 추상기준에따라계층을몇레벨로나눌지결정 3. 계층마다역할및태스크부여 4. 계층별제공서비스를상세히정의 5. 계층별상세인터페이스정의 6. 시스템기능이계층에서동작하는것이가능한지확인 ( 예. 유스케이스시나리오를시뮬레이션하는방식 ) 7. 계층내부에대한구조정의 8. 인접한계층간의통신방식정의 9. 예외처리방식을정의 26

27 Layer 패턴 설계순서예제 계층을 5개로구분하고그역할을정의함 계층별객체를선언하고그들의관계를정의함 계층패턴의원칙을어긋나는객체가없는지확인 27

28 Layer 패턴 OSI 7 Layer 패턴예제 28

29 Layer 패턴 Java Virtual Machine 예제

30 Layer 패턴 장점 계층별연동을한정할수있어 Loosely coupled 원칙을지킬수있음 계층별로변화에대한영향력을한정할수있어코딩이나테스트를계층별로진행할수있음 인터페이스정의가잘되어있다면계층을통째로교체할수있음 모듈의재사용성을높여유지보수성이나이식성이필요한시스템에적용하기좋은패턴임 단점 계층의원칙을지키기위해각계층을모두거쳐야하므로성능측면에불이익을받을수있음 계층을구분하기어렵고잘못구분할경우설계수정이빈번히발생할수있음 계층의적절한개수및규모를정의하는것이어려움 30

31 Blackboard 패턴 31

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

33 Blackboard 패턴 Copy right by 패턴예제 - 음성인식시스템 Input: 파형형태의음성 Output: 시스템이인식한문장 33

34 Blackboard 패턴 Copy right by 정황 (Context) 도메인의해법이명확하지않은경우 문제 (Problem) 컴퓨터비전, 음성인식, 화상인식등도메인분야와같이상위수준의데이터구조로변환하기위한명확한해법이존재하지않음 하나의문제를분해하면여러가지도메인의하위문제들이발생함. 하위문제들을해법이있다해도다시취합하여상위수준의문제를포괄적으로해결하는데어려움이있음 해법 (Solution) 일반적인데이터구조 (blackboard) 를가지고각각독립적으로동작하는프로그램들 (Knowledge sources) 로이뤄져있음 통제컴포넌트 (Control) 에의해모든독립적인프로그램들은하나의해법을찾기위해서로협력하여동작함 34

35 Blackboard 패턴 Copy right by 구성컴포넌트 Blackboard 문제의현재상태를제시 데이터를관리 Knowledge Sources Blackboard 상태를업데이트 특정도메인의해법을제시 Blackboard에그해법을적용 Control Blackboard 상태모니터링 Knowledge Sources 스케줄을관리하고실행시킴 35

36 Blackboard 패턴 패턴예제흐름도 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 36

37 Blackboard 패턴 패턴예제흐름도 37

38 Blackboard 패턴 Copy right by 설계순서 1. 문제의도메인을정의하고해법을찾기위해일반적인지식분야를상세히살펴본다. 2. 해법에대한추상화수준을상위수준에서하위수준까지나눠서정의한다. 3. 해법수준에맞게 Knowledge source 를정이하고각수준으로분할한다. 4. 모든 Knowledge source 가 blackboard 와상호작용하는표현방식을찾아서정의한다. (blackboard 어휘를정의한다.) 5. Control 을정의한다. 38

39 Blackboard 패턴 Copy right by 퍼즐맞추기게임예제 How do you solve a puzzle? edges control regions organize pieces assemble parts 39

40 Blackboard 패턴 Copy right by 퍼즐맞추기게임예제 Level 4 assemble chunks Level 3 Level 2 Level 1 build chunks of edges build chunks of sky : collect water pieces collect sky pieces : Turn all pieces picture side up 40

41 Blackboard 패턴 퍼즐맞추기게임예제 Level 4 Level 3 Level 2 Level 1 Blackboard assemble chunks build chunks of edges build chunks of sky : collect water pieces collect sky pieces : turn all pieces picture side up write write write write KS KS KS KS Copy right by Knowledge Sources Sample Environment reads data flow from a to b event send from a to b a a b b Control Activates (e.g. events) repository process/object/thread 41

42 Blackboard 패턴 Copy right by F-22 Sensor Fusion System 예제 관심사항 비행기조종사는넘쳐나는데이터로인해많은스트레스를받는다. avoid being detected engage enemy fighters engage ground targets avoid terrain obstacles avoid surface-to-air ordinance navigate and find the targets oh yeah,... and fly the airplane too! 42

43 Blackboard 패턴 Copy right by F-22 Sensor Fusion System 예제 요구사항 기존시스템은센서, 표시판, 조절기능이분리되었음 조종사가데이터를조합하고판단하여야함 데이터통합 필요데이터만선별적으로보드에표시 보기좋은형태로데이터를표시 FL Radar TFTA Radar Airspeed Altitude Weapon Stores Aircraft Status Observability GPS/Compass 43

44 Blackboard 패턴 Copy right by F-22 Sensor Fusion System 예제 아키텍처패턴선정 F-22 비행기에서가장복잡한기계중에하나로서 blackboard 패턴을사용 44

45 Blackboard 패턴 Copy right by F-22 Sensor Fusion System 예제 The F-22 Advanced Tactical Fighter s Sensor Fusion System 은조종사가필요로하는정보를하나의계기판에표시해준다. FL Radar TFTA Radar Airspeed Altitude Weapon Stores Aircraft Status Observability GPS/Compass Mission Profile Sensor Fusion Computer Pilot Input Integrated air picture 45

46 Blackboard 패턴 Copy right by F-22 Sensor Fusion System 예제 Mission Profile Pilot Input Fusion Control interrupt Display Engine FL Radar TFTA Radar Airspeed Altitude Weapon Stores Radar KS Attitude KS Attitude KS Air Data Repository Aircraft Status Observability Profile KS GPS/Compass Navigation task data repository data interrupt : processes repository Integrated air picture 46

47 Blackboard 패턴 장점 완벽한해법을찾기어려운경우에사용할수있음 KS, Control, Blackboard 가독립적으로동작하여가변성이나유지보수성이좋음 KS 는타문제도메인에재사용될수있음 단점 완벽한해법을제시하지못하므로얼마동안동작해야하는지알수가없음 ( 성능문제 ) 계산결과가항상동일하지않아테스트가어려움 많은시간에걸쳐수정되어야하므로개발에많은노력이필요 47

48 Broker 패턴 48

49 Broker 패턴 정의 외부에분산된컴포넌트를호출하려고할때클라이언트요청값을분석하여서버컴포넌트에전달하고그결과값을전달하는역할을하는패턴 클라이언트와서버사이의브로커라는컴포넌트를두어보다효과적으로서버와클라이언트사이를분리할수있어분산시스템을구축하는데용이함 예제 광역네트워크기반의 CIS(city information system) 시스템 CORBA (Common Object Request Broker Architecture) 49

50 Broker 패턴 패턴예제 50

51 Broker 패턴 정황 (Context) 독립적인컴포넌트형태로이질적인환경에서작동하는분산시스템을개발하는경우 문제 (Problem) 독립컴포넌트마다실행환경이다르고이들끼리통신이필요한경우 클라이언트와서버들이추가, 삭제및변경이자주일어날경우 해법 (Solution) Broker 컴포넌트를도입하여클라이언트와서버사이를분리 Broker 컴포넌트가클라이언트와서버의정보를가지고있어서로간의통신을조율 클라이언트와서버 Proxy 를두어특정환경과관련된부분을처리 Bridge 를두어네트워크통신과관련된부분을이관하여처리 51

52 Broker 패턴 패턴구성도 52

53 Broker 패턴 패턴흐름도 53

54 Broker 패턴 설계순서 1. 객체모델을정의하거나기존모델을재사용할지결정 2. 컴포넌트들사이의상호연동을어떤방식으로할지결정 3. 클라이언트와서버간의협력을위한 Broker 컴포넌트의역할정의 4. Proxy 객체를사용해환경과관련된부분캡슐화설계 5. Broker 컴포넌트설계 6. IDL 컴파일러설계 54

55 Broker 패턴 CORBA(Common Object Request Broker Architecture) 예제 55

56 Broker 패턴 CORBA 예제 Server Code // Create an object request broker ORB orb = ORB.init(args, null); // Create a new address book... AddressBookServant servant = new AddressBookServant(); //... and connect it to our orb orb.connect(servant); // Obtain reference for our nameservice org.omg.corba.object object = orb.resolve_initial_references("nameservice"); // Since we have only an object reference, we must cast it to a NamingContext. We use a helper class for this purpose NamingContext namingcontext = NamingContextHelper.narrow(object); // Add a new naming component for our interface NameComponent list[] = { new NameComponent("address_book", "") }; // Now notify naming service of our new interface namingcontext.rebind(list, servant); 56

57 Broker 패턴 CORBA 예제 Client Code // Create an object request broker ORB orb = ORB.init(args, null); // Obtain object reference for name service... org.omg.corba.object object = orb.resolve_initial_references("nameservice"); //... and narrow it to a NameContext NamingContext namingcontext = NamingContextHelper.narrow(object); // Create a name component array NameComponent nc_array[] = { new NameComponent("address_book","") }; // Get an address book object reference... org.omg.corba.object objectreference = namingcontext.resolve(nc_array); //... and narrow it to get an address book address_book AddressBook = address_bookhelper.narrow(objectreference); // call the address book interface name = AddressBook.name_from_ ( ); 57

58 Broker 패턴 EJB(Enterprise Java Beans) 3.0 예제 Server public class HelloWorldBean { public String sayhello() { return "Hello World!!!"; } } Client Code InitialContext ic = new InitialContext(); Hello = (HelloRemote) ic.lookup("example/hellobean/remote"); 58

59 Broker 패턴 장점 컴포넌트간의위치투명성을제공 플랫폼간의 Portability 제공함 서버다른시스템의연동을용이하게함 재사용컴포넌트확보에용이 단점 성능에대한불이익 장애대처율이떨어짐 테스트디버깅의복잡함 ( 서버, 클라이언트연동시에 ) 분산환경을지원하는시스템이많지않음 59

60 MVC 패턴 60

61 MVC 패턴 정의 하나의데이터값 ( 도메인오브젝트 ) 을여러개의클라이언트화면으로일관적으로보여줄수있는패턴 화면 (View) 과데이터값 (Model) 의연결부분을컨트롤러 (Control) 가관리하여 View 의추가, 변경, 삭제가 Model 에영향을미치지않고 Model 의변화도 View 에영향을미치지않게하는패턴 예제 웹기반서비스시스템 ( 거의대부분 ) IOS application 서비스 61

62 MVC 패턴 패턴예제 - Tomcat 62

63 MVC 패턴 정황 (Context) 상호작용이많은시스템에유연한 HCI(Human-Computer Interface) 를개발하는경우 문제 (Problem) 사용자인터페이스의변경이많이일어나는경우 같은기능을사용하는사용자화면이다른경우 ( 예. 마우스로값입력 vs. 키보드로입력 ) 사용자인터페이스들끼리서로연관성이복잡할경우 해법 (Solution) Model, View, Controller 이렇게 3 개의영역으로구분 Model : 핵심데이터와기능을캡슐화 View : 사용자의정보를화면에표시 Controller : View 로부터입력정보를받아관련된 View 나 Model 을호출함 63

64 MVC 패턴 패턴구성도 64

65 MVC 패턴 패턴흐름도 초기화 65

66 MVC 패턴 패턴흐름도 이벤트발생 66

67 MVC 패턴 구현순서 1. 서비스의핵심기능과사용자인터페이스부분을분리한다. 2. Publisher-Subscriber (Observer) 패턴을적용하여모델을구현한다. 3. View를설계하고구현한다. 4. Controller를설계하고구현한다. 5. View와 Controller 관계를설계하고구현한다. 67

68 MVC 패턴 장점 동일한모델로부터여러 View 들을표현할수있음 View들을동기화할수있음 View의추가, 변경, 삭제가자유로움 프레임워크로확장하여구현이가능함 단점 설계가복잡하고개발이어려움 View 와 Controller 는밀접히관련되어있음 68

69 Publishers-Subscribers(Event-Bus) 패턴 69

70 Publisher-Subscriber 패턴 정의 하나의 Publisher 가다수의 Subscriber 에게상태가변경되었음을단방향전파로통지하는패턴 협력컴포넌트들의상태를동기화하는데유용함 Observer 패턴, Dependents 패턴, Event 패턴으로사용됨 예제 GUI 애플리케이션 사용자의요청에따른화면의변화 ( 줌인, 포커스, 클릭등 ) MVC 패턴을애플리케이션 70

71 Publisher-Subscriber 패턴 정황 (Context) 한번의호출로다수의협력컴포넌트의상태를변경해야하는경우 문제 (Problem) 특정컴포넌트에서발생하는상태변경정보를하나이상의컴포넌트에서수신해야함 Publisher 와 Subscriber 는서로 tightly coupled 되어서는안된다. 해법 (Solution) 하나의컴포넌트를 Publisher 로두고상태변경을받을컴포넌트들을 subscriber 로둔다. Subscriber 는 Publisher 에서제공하는인터페이스를통해서등록한다. Publisher 의상태가변경되면등록된 Subscriber 에게변경상태를전송한다. 71

72 Publisher-Subscriber 패턴 구현 이벤트기반으로 Publisher-Subscriber 패턴을구현한다. 이벤트기반으로구현하면시스템변경을쉽게할수있다. 이벤트가명확히전송되었는지알수가없다. (Non-Deterministic) 응답시간을명확히예측할수없다. (Non-Deterministic) Event-Bus 기반으로구현 Explicit Invocation 변경정보를전달한대상을명확히알고변경정보를전달함 Implicit Invocation 변경정보를전달할대상을명확히알지않고정보를전달함 72

73 Publisher-Subscriber 패턴 Copy right by 패턴예제 Implicit Invocation 73

74 Publisher-Subscriber 패턴 Copy right by 패턴예제 Explicit Invocation 74

75 Publisher-Subscriber 패턴 Referenced by : David Garlan, Lecture notes of / Architecture for software system, Institute for software research, CMU, 패턴예제 분산환경이벤트전송방법 75

76 Publisher-Subscriber 패턴 Copy right by 패턴예제 분산환경이벤트전송방법 76

77 Publisher-Subscriber 패턴 Referenced by : David Garlan, Lecture notes of / Architecture for software system, Institute for software research, CMU, 패턴예제 공유메모리를이용한이벤트전송방법 77

78 Publisher-Subscriber 패턴 장점 다수의컴포넌트에게동시에변경공지를할수있음 GUI 인터페이스를쉽게만들수있음 GUI 빌더나프레임워크를쉽게만들수있음 단점 Non-deterministic 한문제 이벤트핸들러와프로세스로직이 Tightly coupled 되어있다. 78

79 Pipes and Filters 패턴 79

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

81 Pipes and Filters 패턴 패턴예제 - Programming Language Compiler 81

82 Pipes and Filters 패턴 Copy right by 정황 (Context) 입력된데이터스트림을처리하거나변환해야함 문제 (Problem) 다수의개발자가참여하여시스템을구축해야함 데이터스트림을처리하는프로세싱단계가쉽게변할수있음 프로세싱단계를재사용할수있어야함 다양한방식으로처리결과물을보여줄수있어야함 해법 (Solution) 입력된데이터를처리하는단계를순차적 (sequencial) 으로처리 하나의처리단계 (Filter 로구현 ) 에서처리된결과물은다음처리단계의입력물 각각의처리단계를 Pipe 로연결 82

83 Pipes and Filters 패턴 Copy right by 구성컴포넌트 Filters 데이터가입력되면시작 데이터를보강하거나정제, 변형하는프로세스를진행 Pipes 데이터가흐르는공간 필터와필터사이를연결 데이터소스와최초필터간의역할 최종필터와데이터싱크간의연결 연결된 Filter 에게데이터를입력하고출력하는역할 Data Source 시스템에들어오는입력값 동일한구조체나타입으로이뤄진일련의데이터값 Data Sink Pipe 를통해나오는최종결과물을취합 83

84 Pipes and Filters 패턴 설계순서 1. 처리단계순서에맞게시스템의작업을나눈다. 각단계는이전단계의아웃풋에만의존성을가져야한다. 2. 데이터포맷을결정한다. 3. 파이프간의연결방법을설계한다. 4. 필터설계하고구현한다. 5. 에러핸들링을설계하고구현한다. 6. 파이프라인을구현한다. 84

85 Pipes and Filters 패턴 Pipes and Filters 패턴예제 시그널처리와관련된어플리케이션에주로사용된다. radar medical process control sonar audio video telemetry 등등 85

86 Pipes and Filters 패턴 Copy right by 패턴예제 - Signaling Process 지속적으로들어오는아날로그신호를디지털신호로변경 다시디지털신호를아날로그신호로바꿔주는방식

87 Pipes and Filters 패턴 Copy right by 패턴예제 - Signaling Process Digital Audio Analog to Digital Converters (ADC) -> analog voltages to digital values. Digital to Analog Converters (DAC) -> digital values to voltages. Amplifier audio signal ADC DAC 87

88 Pipes and Filters 패턴 Copy right by 패턴예제 신디사이저 1950 년대에 Max Mathews 는 unit generators (UG) 라는네트워크모듈을이용하여신디사이저를개발했다. UG 는신디사이저의핵심으로다음과같은기능을한다. 사운드재생과사운드처리에사용 ( 최근까지사용 ) 처음에는하드웨어로개발되었으나최근에는소프트웨어로개발 이기술은최근에음악기기, 레코더, 음악재생기계 (CDs, MP3 players) 등에사용되고있다. Sampler Digital Equalizer Digital amplifier Audio Input Hardware filter data flow sink device source device Audio Output Hardware 88

89 Pipes and Filters 패턴 Copy right by 패턴예제 - Modern Audio Application filter data flow sink device source device Sampler Compressor Delay Distortion Equalizer Sampler Compressor Flange Equalizer Merge AmpOut Sampler Compressor Echo Reverb Equalizer All in done in software 89

90 Pipes and Filters 패턴 장점 중간결과파일이불필요함 Filter의교환이나재조합이쉬움 Filter의재사용성이좋음 Parallel 프로세싱에용이함 단점 다음과같은처리시간이성능에악영향 Filter 간의전송시간 Context switching 시간 Synchronization 에러처리가어려움 ( 데이터복구작업등 ) 90

슬라이드 1

슬라이드 1 소프트웨어아키텍처 설계패턴 김정호대표이사 패턴개요 패턴 특정문제에대한해법을추상화하고그안의공통된요인을추출하여정형화한것을패턴이라고한다. 패턴의 3 가지의스키마 정황 (Context) : 문제를발생시키는상황 문제 (Problem) : 해당정황에서반복적으로발생하는문제 해법 (Solution) : 해당문제에대해검증된해답 소프트웨어시스템개발에서의패턴종류 소프트웨어아키텍처패턴

More information

소프트웨어개발방법론

소프트웨어개발방법론 사용사례 (Use Case) Objectives 2 소개? (story) vs. 3 UC 와 UP 산출물과의관계 Sample UP Artifact Relationships Domain Model Business Modeling date... Sale 1 1..* Sales... LineItem... quantity Use-Case Model objects,

More information

UML

UML Introduction to UML Team. 5 2014/03/14 원스타 200611494 김성원 200810047 허태경 200811466 - Index - 1. UML이란? - 3 2. UML Diagram - 4 3. UML 표기법 - 17 4. GRAPPLE에 따른 UML 작성 과정 - 21 5. UML Tool Star UML - 32 6. 참조문헌

More information

제8장 자바 GUI 프로그래밍 II

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 언어 변환 1.4. 기대 효과 4.4. 프로그램 Restructuring 4.5. 소스 모듈 관리 2. SeeMAGMA 적용 전략 2.1. SeeMAGMA

More information

thesis

thesis CORBA TMN Surveillance System DPNM Lab, GSIT, POSTECH Email: mnd@postech.ac.kr Contents Motivation & Goal Related Work CORBA TMN Surveillance System Implementation Conclusion & Future Work 2 Motivation

More information

Intro to Servlet, EJB, JSP, WS

Intro to Servlet, EJB, JSP, WS ! Introduction to J2EE (2) - EJB, Web Services J2EE iseminar.. 1544-3355 ( ) iseminar Chat. 1 Who Are We? Business Solutions Consultant Oracle Application Server 10g Business Solutions Consultant Oracle10g

More information

Chap7.PDF

Chap7.PDF Chapter 7 The SUN Intranet Data Warehouse: Architecture and Tools All rights reserved 1 Intranet Data Warehouse : Distributed Networking Computing Peer-to-peer Peer-to-peer:,. C/S Microsoft ActiveX DCOM(Distributed

More information

MVVM 패턴의 이해

MVVM 패턴의 이해 Seo Hero 요약 joshua227.tistory. 2014 년 5 월 13 일 이문서는 WPF 어플리케이션개발에필요한 MVVM 패턴에대한내용을담고있다. 1. Model-View-ViewModel 1.1 기본개념 MVVM 모델은 MVC(Model-View-Contorl) 패턴에서출발했다. MVC 패턴은전체 project 를 model, view 로나누어

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

untitled

untitled 3 IBM WebSphere User Conference ESB (e-mail : ljm@kr.ibm.com) Infrastructure Solution, IGS 2005. 9.13 ESB 를통한어플리케이션통합구축 2 IT 40%. IT,,.,, (Real Time Enterprise), End to End Access Processes bounded by

More information

final_thesis

final_thesis CORBA/SNMP DPNM Lab. POSTECH email : ymkang@postech.ac.kr Motivation CORBA/SNMP CORBA/SNMP 2 Motivation CMIP, SNMP and CORBA high cost, low efficiency, complexity 3 Goal (Information Model) (Operation)

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

ecorp-프로젝트제안서작성실무(양식3)

ecorp-프로젝트제안서작성실무(양식3) (BSC: Balanced ScoreCard) ( ) (Value Chain) (Firm Infrastructure) (Support Activities) (Human Resource Management) (Technology Development) (Primary Activities) (Procurement) (Inbound (Outbound (Marketing

More information

RVC Robot Vaccum Cleaner

RVC Robot Vaccum Cleaner RVC Robot Vacuum 200810048 정재근 200811445 이성현 200811414 김연준 200812423 김준식 Statement of purpose Robot Vacuum (RVC) - An RVC automatically cleans and mops household surface. - It goes straight forward while

More information

歯이시홍).PDF

歯이시홍).PDF cwseo@netsgo.com Si-Hong Lee duckling@sktelecom.com SK Telecom Platform - 1 - 1. Digital AMPS CDMA (IS-95 A/B) CDMA (cdma2000-1x) IMT-2000 (IS-95 C) ( ) ( ) ( ) ( ) - 2 - 2. QoS Market QoS Coverage C/D

More information

서현수

서현수 Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,

More information

김기남_ATDC2016_160620_[키노트].key

김기남_ATDC2016_160620_[키노트].key metatron Enterprise Big Data SKT Metatron/Big Data Big Data Big Data... metatron Ready to Enterprise Big Data Big Data Big Data Big Data?? Data Raw. CRM SCM MES TCO Data & Store & Processing Computational

More information

2Q SWG Teleweb Business Plan & 1Q Recovery Plan April 2, 2003

2Q SWG Teleweb Business Plan  & 1Q Recovery Plan     April 2, 2003 WBI Modeler V5.1.1 Rational Rose XDE WSAD-IE IBM on-demand Service Oriented Architecture RUP Full-life cycle Business-driven, Process-based LOB IT Seamless Service Modeling (Service, Component, Process

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

OZ-LMS TM OZ-LMS 2008 OZ-LMS 2006 OZ-LMS Lite Best IT Serviece Provider OZNET KOREA Management Philosophy & Vision Introduction OZNETKOREA IT Mission Core Values KH IT ERP Web Solution IT SW 2000 4 3 508-2

More information

Service-Oriented Architecture Copyright Tmax Soft 2005

Service-Oriented Architecture Copyright Tmax Soft 2005 Service-Oriented Architecture Copyright Tmax Soft 2005 Service-Oriented Architecture Copyright Tmax Soft 2005 Monolithic Architecture Reusable Services New Service Service Consumer Wrapped Service Composite

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 1 Tizen 실습예제 : Remote Key Framework 시스템소프트웨어특론 (2014 년 2 학기 ) Sungkyunkwan University Contents 2 Motivation and Concept Requirements Design Implementation Virtual Input Device Driver 제작 Tizen Service 개발절차

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

Business Agility () Dynamic ebusiness, RTE (Real-Time Enterprise) IT Web Services c c WE-SDS (Web Services Enabled SDS) SDS SDS Service-riented Architecture Web Services ( ) ( ) ( ) / c IT / Service- Service-

More information

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_20160320.pptx

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_20160320.pptx (보험TM) 소개서 2015.12 대표전화 : 070 ) 7405 1700 팩스 : 02 ) 6012 1784 홈 페이지 : http://www.itfact.co.kr 목 차 01. Framework 02. Application 03. 회사 소개 01. Framework 1) Architecture Server Framework Client Framework

More information

Something that can be seen, touched or otherwise sensed

Something that can be seen, touched or otherwise sensed Something that can be seen, touched or otherwise sensed Things about an object Weight Height Material Things an object does Pen writes Book stores words Water have Fresh water Rivers Oceans have

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

Slide 1

Slide 1 Clock Jitter Effect for Testing Data Converters Jin-Soo Ko Teradyne 2007. 6. 29. 1 Contents Noise Sources of Testing Converter Calculation of SNR with Clock Jitter Minimum Clock Jitter for Testing N bit

More information

감각형 증강현실을 이용한

감각형 증강현실을 이용한 대한산업공학회/한국경영과학회 2012년 춘계공동학술대회 감각형 증강현실을 이용한 전자제품의 디자인 품평 문희철, 박상진, 박형준 * 조선대학교 산업공학과 * 교신저자, hzpark@chosun.ac.kr 002660 ABSTRACT We present the recent status of our research on design evaluation of digital

More information

thesis

thesis CORBA TMN 1 2 CORBA, CORBA CORBA TMN CORBA 3 - IN Intelligent Network (Call) SMS : Service Management System SCP : Service Control Point SSP : Service Switching Point SCP SMS CMIP Signaling System No.7

More information

Intra_DW_Ch4.PDF

Intra_DW_Ch4.PDF The Intranet Data Warehouse Richard Tanler Ch4 : Online Analytic Processing: From Data To Information 2000. 4. 14 All rights reserved OLAP OLAP OLAP OLAP OLAP OLAP is a label, rather than a technology

More information

No Slide Title

No Slide Title J2EE J2EE(Java 2 Enterprise Edition) (Web Services) :,, SOAP: Simple Object Access Protocol WSDL: Web Service Description Language UDDI: Universal Discovery, Description & Integration 4. (XML Protocol

More information

TTA Journal No.157_서체변경.indd

TTA Journal No.157_서체변경.indd 표준 시험인증 기술 동향 FIDO(Fast IDentity Online) 생체 인증 기술 표준화 동향 이동기 TTA 모바일응용서비스 프로젝트그룹(PG910) 의장 SK텔레콤 NIC 담당 매니저 76 l 2015 01/02 PASSWORDLESS EXPERIENCE (UAF standards) ONLINE AUTH REQUEST LOCAL DEVICE AUTH

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for 2003 Development of the Software Generation Method using Model Driven Software Engineering Tool,,,,, Hoon-Seon Chang, Jae-Cheon Jung, Jae-Hack Kim Hee-Hwan Han, Do-Yeon Kim, Young-Woo Chang Wang Sik, Moon

More information

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

APOGEE Insight_KR_Base_3P11

APOGEE Insight_KR_Base_3P11 Technical Specification Sheet Document No. 149-332P25 September, 2010 Insight 3.11 Base Workstation 그림 1. Insight Base 메인메뉴 Insight Base Insight Insight Base, Insight Base Insight Base Insight Windows

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

IBM blue-and-white template

IBM blue-and-white template 쌍용자동차 CATIA V5 적용사례 쌍용자동차기술관리팀안재민 AGENDA 1. SYMC PRODUCT LINE UP 2. SYMC PDM Overview 3. CV5 & PDM Implementation Overview 4. PDM을이용한 CV5 Relational Design 5. 향후과제 6. Q & A 2 Presentation Title 1 2 1.

More information

thesis

thesis ( Design and Implementation of a Generalized Management Information Repository Service for Network and System Management ) ssp@nile nile.postech.ac..ac.kr DPE Lab. 1997 12 16 GMIRS GMIRS GMIRS prototype

More information

객체지향설계와패턴 Lecture #14: 아키텍처패턴 Eun Man Choi

객체지향설계와패턴 Lecture #14: 아키텍처패턴 Eun Man Choi 객체지향설계와패턴 Lecture #14: 아키텍처패턴 Eun Man Choi emchoi@dgu.ac.kr 학습목표 l 블랙보드패턴 l 브로커패턴 l PAC 패턴 l 마이크로패턴 l 리플렉션패턴 2 패턴중심소프트웨어아키텍처 l POSA Patterns l Pattern Oriented Software Architecture A System of Patterns

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Verilog: Finite State Machines CSED311 Lab03 Joonsung Kim, joonsung90@postech.ac.kr Finite State Machines Digital system design 시간에배운것과같습니다. Moore / Mealy machines Verilog 를이용해서어떻게구현할까? 2 Finite State

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2 FMX FMX 20062 () wwwexellencom sales@exellencom () 1 FMX 1 11 5M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2 FMX FMX D E (one

More information

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer Domino, Portal & Workplace WPLC FTSS Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer ? Lotus Notes Clients

More information

1. 파일 명명규칙

1. 파일 명명규칙 소프트웨어 공학 UML 과제 [UseCase Diagram] Use Case Diagram [ 목 차 ] 2.1.Use Case Diagram 개요 2.2.Use Case 구성요소 2.3.Relationship 2.4.작성방법 2.5.참고문헌 1. Use Case Diagram 1.1 Use Case 모델링 개요 - Use Case 는 개발자가 아닌 사용자

More information

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture3-2 Malware Analysis #3-2 Agenda 안드로이드악성코드분석 악성코드분석 안드로이드악성코드정적분석 APK 추출 #1 adb 명령 안드로이드에설치된패키지리스트추출 adb shell pm list packages v0nui-macbook-pro-2:lecture3 v0n$

More information

13 Who am I? R&D, Product Development Manager / Smart Worker Visualization SW SW KAIST Software Engineering Computer Engineering 3

13 Who am I? R&D, Product Development Manager / Smart Worker Visualization SW SW KAIST Software Engineering Computer Engineering 3 13 Lightweight BPM Engine SW 13 Who am I? R&D, Product Development Manager / Smart Worker Visualization SW SW KAIST Software Engineering Computer Engineering 3 BPM? 13 13 Vendor BPM?? EA??? http://en.wikipedia.org/wiki/business_process_management,

More information

歯I-3_무선통신기반차세대망-조동호.PDF

歯I-3_무선통신기반차세대망-조동호.PDF KAIST 00-03-03 / #1 1. NGN 2. NGN 3. NGN 4. 5. 00-03-03 / #2 1. NGN 00-03-03 / #3 1.1 NGN, packet,, IP 00-03-03 / #4 Now: separate networks for separate services Low transmission delay Consistent availability

More information

PowerPoint Template

PowerPoint Template SOFTWARE ENGINEERING Team Practice #3 (UTP) 201114188 김종연 201114191 정재욱 201114192 정재철 201114195 홍호탁 www.themegallery.com 1 / 19 Contents - Test items - Features to be tested - Features not to be tested

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Synergy EDMS www.comtrue.com opyright 2001 ComTrue Technologies. All right reserved. - 1 opyright 2001 ComTrue Technologies. All right reserved. - 2 opyright 2001 ComTrue Technologies. All right reserved.

More information

Model Investor MANDO Portal Site People Customer BIS Supplier C R M PLM ERP MES HRIS S C M KMS Web -Based

Model Investor MANDO Portal Site People Customer BIS Supplier C R M PLM ERP MES HRIS S C M KMS Web -Based e- Business Web Site 2002. 04.26 Model Investor MANDO Portal Site People Customer BIS Supplier C R M PLM ERP MES HRIS S C M KMS Web -Based Approach High E-Business Functionality Web Web --based based KMS/BIS

More information

Social Network

Social Network Social Network Service, Social Network Service Social Network Social Network Service from Digital Marketing Internet Media : SNS Market report A social network service is a social software specially focused

More information

SK IoT IoT SK IoT onem2m OIC IoT onem2m LG IoT SK IoT KAIST NCSoft Yo Studio tidev kr 5 SK IoT DMB SK IoT A M LG SDS 6 OS API 7 ios API API BaaS Backend as a Service IoT IoT ThingPlug SK IoT SK M2M M2M

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with

More information

15_3oracle

15_3oracle Principal Consultant Corporate Management Team ( Oracle HRMS ) Agenda 1. Oracle Overview 2. HR Transformation 3. Oracle HRMS Initiatives 4. Oracle HRMS Model 5. Oracle HRMS System 6. Business Benefit 7.

More information

03.Agile.key

03.Agile.key CSE4006 Software Engineering Agile Development Scott Uk-Jin Lee Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2018 Background of Agile SW Development

More information

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi 소프트웨어공학 Tutorial #2: StarUML Eun Man Choi emchoi@dgu.ac.kr Contents l StarUML 개요 l StarUML 소개및특징 l 주요기능 l StarUML 화면소개 l StarUML 설치 l StarUML 다운 & 설치하기 l 연습 l 사용사례다이어그램그리기 l 클래스다이어그램그리기 l 순서다이어그램그리기 2

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

2002년 2학기 자료구조

2002년 2학기 자료구조 자료구조 (Data Structures) Chapter 1 Basic Concepts Overview : Data (1) Data vs Information (2) Data Linear list( 선형리스트 ) - Sequential list : - Linked list : Nonlinear list( 비선형리스트 ) - Tree : - Graph : (3)

More information

Software Modeling < < OOAD Stage 김정태 최정명 이낙원 송준현

Software Modeling < < OOAD Stage 김정태 최정명 이낙원 송준현 Software Modeling < < OOAD Stage 1000 200611460 김정태 200611521 최정명 200611499 이낙원 200611481 송준현 Activity. 1001 Name?? Act 1001 Name?? Smart DJ Coffee Maker! Act 1001 Turn Table!! 연속적으로

More information

세션 3 (오이식).ppt

세션 3 (오이식).ppt 05. 7. 21 1. EAI 2. EAI Architecture 3. EAI 4. Copyright 2005 MOCOCO, Inc.. All rights reserved. Copyright 2005 MOCOCO, Inc.. All rights reserved. ntents EAI 1 EAI EAI EAI EAI EAI EAI EAI Copyright 2005

More information

SW¹é¼Ł-³¯°³Æ÷ÇÔÇ¥Áö2013

SW¹é¼Ł-³¯°³Æ÷ÇÔÇ¥Áö2013 SOFTWARE ENGINEERING WHITE BOOK : KOREA 2013 SOFTWARE ENGINEERING WHITE BOOK : KOREA 2013 SOFTWARE ENGINEERING WHITE BOOK : KOREA 2013 SOFTWARE ENGINEERING WHITE BOOK : KOREA 2013 SOFTWARE ENGINEERING

More information

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드]

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드] 전자회로 Ch3 iode Models and Circuits 김영석 충북대학교전자정보대학 2012.3.1 Email: kimys@cbu.ac.kr k Ch3-1 Ch3 iode Models and Circuits 3.1 Ideal iode 3.2 PN Junction as a iode 3.4 Large Signal and Small-Signal Operation

More information

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D> VHDL 프로그래밍 D. 논리합성및 Xilinx ISE 툴사용법 학습목표 Xilinx ISE Tool 을이용하여 Xilinx 사에서지원하는해당 FPGA Board 에맞는논리합성과정을숙지 논리합성이가능한코드와그렇지않은코드를구분 Xilinx Block Memory Generator를이용한 RAM/ ROM 생성하는과정을숙지 2/31 Content Xilinx ISE

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 CRM Data Quality Management 2003 2003. 11. 11 (SK ) hskim226@skcorp.com Why Quality Management? Prologue,,. Water Source Management 2 Low Quality Water 1) : High Quality Water 2) : ( ) Water Quality Management

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

SchoolNet튜토리얼.PDF

SchoolNet튜토리얼.PDF Interoperability :,, Reusability: : Manageability : Accessibility :, LMS Durability : (Specifications), AICC (Aviation Industry CBT Committee) : 1988, /, LMS IMS : 1997EduCom NLII,,,,, ARIADNE (Alliance

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r Jakarta is a Project of the Apache

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 A 반 T2 - 김우빈 (201011321) 임국현 (201011358) 박대규 (201011329) Robot Vacuum Cleaner 1 Motor Sensor RVC Control Cleaner Robot Vaccum Cleaner 2 / Event Format/ Type Front Sensor RVC 앞의장애물의유무를감지한다. True / False,

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

Microsoft PowerPoint - XP Style

Microsoft PowerPoint - XP Style Business Strategy for the Internet! David & Danny s Column 유무선 통합 포탈은 없다 David Kim, Danny Park 2002-02-28 It allows users to access personalized contents and customized digital services through different

More information

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석 ,, Even the short history of the Web system, the techniques related to the Web system have b een developed rapidly. Yet, the quality of the Webbased application software has not improved. For this reason,

More information

논리적 구조 설계: 패키지도

논리적 구조 설계: 패키지도 논리적구조설계 : 패키지도 Objectives. UML. 2 객체설계로옮겨가기 (interaction diagram). /.. : UML -UML. -UML. -. 1. 2. 3 문맥 Sample UP Artifact Relationships Business Modeling Domain Model * * Requirements Use-Case Model Vision

More information

1. 회사소개 및 연혁 - 회사소개 회사소개 회사연혁 대표이사: 한종열 관계사 설립일 : 03. 11. 05 자본금 : 11.5억원 인 원 : 18명 에스오넷 미도리야전기코리 아 미도리야전기(일본) 2008 2007 Cisco Premier Partner 취득 Cisco Physical Security ATP 취득(진행) 서울시 강남구 도심방범CCTV관제센터

More information

Voice Portal using Oracle 9i AS Wireless

Voice Portal using Oracle 9i AS Wireless Voice Portal Platform using Oracle9iAS Wireless 20020829 Oracle Technology Day 1 Contents Introduction Voice Portal Voice Web Voice XML Voice Portal Platform using Oracle9iAS Wireless Voice Portal Video

More information

J2EE & Web Services iSeminar

J2EE & Web Services iSeminar 9iAS :, 2002 8 21 OC4J Oracle J2EE (ECperf) JDeveloper : OLTP : Oracle : SMS (Short Message Service) Collaboration Suite Platform Email Developer Suite Portal Java BI XML Forms Reports Collaboration Suite

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

Chap 6: Graphs

Chap 6: Graphs 5. 작업네트워크 (Activity Networks) 작업 (Activity) 부분프로젝트 (divide and conquer) 각각의작업들이완료되어야전체프로젝트가성공적으로완료 두가지종류의네트워크 Activity on Vertex (AOV) Networks Activity on Edge (AOE) Networks 6 장. 그래프 (Page 1) 5.1 AOV

More information

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 애플리케이션기초 애플리케이션컴포넌트 액티비티와태스크 Part 1 프로세스와쓰레드 컴포넌트생명주기 Part 2 2 Library Java (classes) aapk.apk (android package) identifiers Resource & Configuration aapk: android

More information

초보자를 위한 분산 캐시 활용 전략

초보자를 위한 분산 캐시 활용 전략 초보자를위한분산캐시활용전략 강대명 charsyam@naver.com 우리가꿈꾸는서비스 우리가꿈꾸는서비스 우리가꿈꾸는서비스 우리가꿈꾸는서비스 그러나현실은? 서비스에필요한것은? 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 핵심적인기능 서비스에필요한것은? 적절한기능 서비스안정성 트위터에매일고래만보이면? 트위터에매일고래만보이면?

More information

<32382DC3BBB0A2C0E5BED6C0DA2E687770>

<32382DC3BBB0A2C0E5BED6C0DA2E687770> 논문접수일 : 2014.12.20 심사일 : 2015.01.06 게재확정일 : 2015.01.27 청각 장애자들을 위한 보급형 휴대폰 액세서리 디자인 프로토타입 개발 Development Prototype of Low-end Mobile Phone Accessory Design for Hearing-impaired Person 주저자 : 윤수인 서경대학교 예술대학

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

KDTÁ¾ÇÕ-1-07/03

KDTÁ¾ÇÕ-1-07/03 CIMON-PLC CIMON-SCADA CIMON-TOUCH CIMON-Xpanel www.kdtsys.com CIMON-PLC Total Solution for Industrial Automation PLC (Program Logic Controller) Sphere 8 Total Solution For Industrial Automation PLC Application

More information

Windows Live Hotmail Custom Domains Korea

Windows Live Hotmail Custom Domains Korea 매쉬업코리아2008 컨퍼런스 Microsoft Windows Live Service Open API 한국 마이크로소프트 개발자 플랫폼 사업 본부 / 차세대 웹 팀 김대우 (http://www.uxkorea.net 준서아빠 블로그) Agenda Microsoft의 매쉬업코리아2008 특전 Windows Live Service 소개 Windows Live Service

More information

Microsoft PowerPoint - AC3.pptx

Microsoft PowerPoint - AC3.pptx Chapter 3 Block Diagrams and Signal Flow Graphs Automatic Control Systems, 9th Edition Farid Golnaraghi, Simon Fraser University Benjamin C. Kuo, University of Illinois 1 Introduction In this chapter,

More information

No Slide Title

No Slide Title Copyright, 2001 Multimedia Lab., CH 3. COM object (In-process server) Eun-sung Lee twoss@mmlab.net Multimedia Lab. Dept. of Electrical and Computer Eng. University of Seoul Seoul, Korea 0. Contents 1.

More information

Oracle Apps Day_SEM

Oracle Apps Day_SEM Senior Consultant Application Sales Consulting Oracle Korea - 1. S = (P + R) x E S= P= R= E= Source : Strategy Execution, By Daniel M. Beall 2001 1. Strategy Formulation Sound Flawed Missed Opportunity

More information

JavaGeneralProgramming.PDF

JavaGeneralProgramming.PDF , Java General Programming from Yongwoo s Park 1 , Java General Programming from Yongwoo s Park 2 , Java General Programming from Yongwoo s Park 3 < 1> (Java) ( 95/98/NT,, ) API , Java General Programming

More information

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이 모바일웹 플랫폼과 Device API 표준 이강찬 TTA 유비쿼터스 웹 응용 실무반(WG6052)의장, ETRI 선임연구원 1. 머리말 현재 소개되어 이용되는 모바일 플랫폼은 아이폰, 윈 도 모바일, 안드로이드, 심비안, 모조, 리모, 팜 WebOS, 바다 등이 있으며, 플랫폼별로 버전을 고려하면 그 수 를 열거하기 힘들 정도로 다양하게 이용되고 있다. 이

More information

Microsoft PowerPoint - C7_김형진 [호환 모드]

Microsoft PowerPoint - C7_김형진 [호환 모드] Plant Conference 2010 LNG 플랜트액화공정 Stimulation을통한 OTS 기반구축 고등기술연구원플랜트엔지니어링센터김형진 2010. 12. 17 연구배경 LNG 플랜트 test-bed 건설및운영시발생가능한위험과비용을감소시킬목적으로 가상 LNG 플랜트로 contol logic 이나 start-up, emergency shut-down 등운전특성을사전에점검하고

More information

Microsoft PowerPoint - a10.ppt [호환 모드]

Microsoft PowerPoint - a10.ppt [호환 모드] Structure Chapter 10: Structures t and Macros Structure 관련된변수들의그룹으로이루어진자료구조 template, pattern field structure를구성하는변수 (cf) C언어의 struct 프로그램의 structure 접근 entire structure 또는 individual fields Structure는

More information