부록 a - UML a.1 UML (Unified Modeling Language) 계획 (planning)-분석(analysis)- 설계 (design)-구현(implement)- 테스트 (test)-유지보수 (maintenance) 로시스템개발절차가수행되는시스템개발
|
|
- 성연 금
- 7 years ago
- Views:
Transcription
1 부록 a UML with StarUML
2 부록 a - UML a.1 UML (Unified Modeling Language) 계획 (planning)-분석(analysis)- 설계 (design)-구현(implement)- 테스트 (test)-유지보수 (maintenance) 로시스템개발절차가수행되는시스템개발생명주기 (SDLC, System Development Life Cycle) 는어떠한시스템을제작하더라도일반적으로적용될수있는절차이다. 건축물을구축하는절차도 SDLC를적용한다. 건축계획을세우고설계를한다음실제공사를진행하는구현절차가진행된다. 건축물을계획하고분석하며설계하는과정에서설계도라는산출물을만들어낸다. 건축물의설계도란외관을나타내는설계도, 평면도, 토목설계도, 설비설계도, 전기설계도등의다양한설계도면으로구현하고자하는건축물의형태를정의한다. 소프트웨어시스템의설계도이와같다. 객체지향방법론으로구현하고자하는현실세계의시스템을분석하고, 이를설계도로나타내는데일반적으로통합모델링언어 (UML, Unified Modeling Language) 를사용하여소프트웨어시스템에대한다양한관점의설계도를산출한다. UML (unified modeling language) UML(unified modeling language) 이란객체지향방법론을적용하여개발하는정보시스템에대한 SDLC를적용해나가며그결과를모델또는설계도로나타내기위한모델링언어를말한다. 1980년대중반부터활발히연구되었던객체지향방법론은그래디부치 (Grady Booch), 제임스럼바 (James Rumbaugh), 이바야콥슨 (Ivar Jacobson) 등의선구자에의해 OOD/Booch, OMT, OOAD, RDD, GOOD, HOOD, OOSD, OOJD 등과같은다양한방법론과표기법이 50여개이상존재하였다. 이중에서 Booch의방법론과 Jacobson의 Objectory 및 Rumbaugh의 OMT가가장주목을받았으며, 이들의방법론을통합하여현존하는객체지향분석및설계방법론을완성하고, 이를 Rational Unified Process(RUP) 또는 Unified Software Development Process(USDP) 라고호칭하였다. RUP 등은 1997년에 Object Management Group(OMG, 에의해통합되어 UML로명명되고 version 1.0이발표되었고, version 2.0까지발표되었다. UML은객체지향개념이나철학또는절차를명시하는객체지향방법론이아닌단지객체지향방법론의결과로산출되는정보시스템을모델링하는도구또는언어이다. 따라서인간세상의언어가그러하듯표준화가상당히중요한과제이기에 OMG에의해범세계적인표준을유지하고있다. 또한백문이불여일견 ( 百聞이不如一見 ) 이기에 UML의표기법은그래픽 (graphic) 중심으로나타낸다. UML은 OMG에의해지금도진화가되고있다. 즉, 건축기술이발달함에따라설계도
3 에나타내는표현법이계속추가되듯이소프트웨어시스템의설계도를나타내는 UML도발전적진화를계속하며변화되고있다. 현재 OMG에서발행한 UML 매뉴얼은거의 600여페이지가넘는다. 직업적인전문가가되기이전에이를모두다습득한다고하는것은어려운일이다. 이는마치한국어나영어가수십만단어로구성되어있지만, 현실세계의우리는수백또는수천의단어로도훌륭히의사소통이가능한것과마찬가지이다. 이러한진화와변경의과정에서도이제까지제시되었던핵심적인개념과표현법은변화되지않고다만추가적인, 세분화된표현법이지속적으로개발되고추가되고있다. 따라서지엽적인, 보다세부적인 UML 표현법을모두본교재에서다루기는힘들기에핵심적이고본질적인표현법을다루기로한다. UML의작성절차 UML의작성과정은객체지향방법론이그러하듯밀러의법칙 (Miller's law) 에기반을둔반복과점증 (iterative and increment) 의원칙을따른다. UML의작성은처음부터완벽한버전을만들려고하기보다는초기버전은시스템에대한최초인식을바탕으로최적의 UML을생성한후, 실세계에대한좀더세밀한분석을통해더많은지식을추출하고, 이를바탕으로좀더정확하고 (accurate, iteration) 확장된 (extend, increment) 버전을만들어간다. 즉, 모든것을한번에, 동시에생각하는것보다밀러의법칙에기초하여한번에예닐곱개 (magic number seven plus minus two) 의영역 (chunk) 으로문제를구분하고분석하여 UML을작성한다음, 다음단계에서각각의영역에대한분석을통해더많은지식을습득하고이를 UML에반영하여수정하는단계별세분화 (stepwise refinement) 과정으로진행하는것이 UML 개발을쉽게할수있는방법이다. StarUML < 그림 a1-1> StarUML 로고 본교재에서는 UML의작성도구로서소스가공개된 StartUML( 을사용한다. StartUML 은 Win32 플랫폼에서운영되는공개된무료패키지로서, OMG의 UML 2.0을지원하는 UML/MDA(Model Driven Architecture) 플랫폼을지원하여 UML을보다쉽게작성할수있는도구이다. StartUML 의통합개발환경 (IDE, integrated development environment) 은 < 그림 a1-2> 의모델탐색기에서나타낸바와같이객체지향 < 그림 a1-2> 모델탐색기방법론에의한정보시스템개발제단계에서나타내는각종모델을지원한다. 객체지향소프트웨어는사용사례지향 (use-case driven) 또는모델지향구조 (model driven architecture) 이기에 StarUML 도이들의절차를지원한다. 즉, 사용자가인식또는기대하는시스템의
4 부록 a - UML 서비스를파악하는 <<use case model>> 의작성을시작으로, <<analysis model>>, <<design model>> 및 <<implementation model>> 을작성하여시스템을설계및구현하고, 이를서버에배포하여실현하는 <<deployment model>> 의작성을지원한다. 이를다시 StartUML 을이용하여객체지향분석과설계절차에서산출되는다이어그램을다이어그램탐색기로구분하면 < 그림 a1-3> 과같다. 객체지향요구분석모델 (object-oriented requirement analysis model) 정보시스템으로구축하고자하는문제영역 (problem domain) 에대한객체지향방법론의관점은실세계를 협업하는객체들이지원하는사용사례의집합 (a set of use cases that are supported by a set of collaborating objects) 으로정의된 < 그림 a1-3> 다이어그램탐색기다. 이를개념화하면 < 그림 a1-4> 와같다. 좌측은복잡한제품의생산프로세스를나타내는그림이며, 이를객체지향방법론에서는중앙의그림과같이상호협력하는객체들로나타낸다. UML 모델이란 < 그림 a1-4> 의우측그림처럼협업하는객체들을객체들의구조적인면 (object structure) 과객체들의행위적인면 (object behavior) 으로설계하되, 기업모델링 (enterprise modeling)- 비즈니스영역분석 (business area analysis)- 시스템디자인 (system design)- 구축 (construction) 등으로하향식 (topdwon) 으로세분화하는것이라할수있다. < 그림 a1-4> 객체지향요구분석모델개념도 < 그림 a1-3> 에서예시된각각의다양한다이어그램이 < 그림 a1-4> 의개념도와같이 정보시스템의구조와행위를체계적으로나타내도록활용되는관계는 < 그림 a1-5> 와같다.
5 < 그림 a1-5> UML 산출물의관계도 객체지향요구분석모델 (object-orient requirement analysis model) 은구축하고자하는문제영역 (problem area), 즉실세계 (real world) 에대해기능적모델 (function model), 구조적모델 (structural model) 및행위모델 (behavioral model) 등과같이 3 가지관점에서모델링한다. 개발될시스템에대한사용자가기대또는요구하는기능을나타내는기능적모델은사용사례다이어그램 (use case diagram) 로나타내며, 이는외부의사용자에의해발생되는이벤트 (event) 에기반을둔다. 문제영역에서발견되는클래스들의정적인구조 (static structure of classes) 를나타내는구조적모델은클래스다이어그램 (class diagram) 으로나타낸다. 기능모델과구조모델을기반으로세분화하여구현을위한행위모델을개발한다. 행위모델이란사용사례를지원하기위한클래스들의동적인행위와오퍼레이션 (dynamic behavior and operation) 을나타내는상호작용다이어그램 (interaction diagram) 또는순서다이어그램 (sequence diagram) 로모델링한다. 이들다이어그램간의관계가 < 그림 a1-5> 에예시되어있다. 이벤트 (events) 로부터개발한사용사례다이어그램과사물 (things) 에서부터출발한클래스다이어그램은프로그램코드를개발할수있는기반인순서도를개발하기위해필요한보조적다이어그램을개발한다. 다이어그램를구체화하기위해각다이어그램에대한구체적인수행절차를개발하기위해사용사례기술서 (use case description) 또는활동다이어그램 (activity diagram) 를개발한다. 또한주요한클래스의상태변화를살펴보기위해상태다이어그램 (statechart diagram 또는 state machine diagram) 을작성한다. 이들보조다이어그램들은순서다이어그램을개발하기위해중간단계로개발하는것이다.
6 부록 a - UML a.2 사용사례다이어그램 (use case diagram) 개발될시스템에대한사용자의기대또는요구하는기능을나타내는사용사례다이어그램 (use case diagram) 은정보시스템의기능적모델을나타낸다. 행위자 (actor) 와사용사례 (use case) 가주요구성요소인사용사례다이어그램은다음과같은두가지관점을나타낸다. o 사람이관여하고 (person involved) o 그사람이시스템을사용한다 (the person uses the system). 즉, 사용사례다이어그램은사용자의다양한역할과역할에따라시스템을어떻게사용할것인가를나타낸다. 달리설명하면시스템이어떻게사용될것인지를규명하고, 이를모델링하는것이다. 복잡한시스템은사용사례다이어그램을하나로구성할수없다. 이경우, 행위자별로또는하위시스템 (subsystem) 별로사용사례다이어그램을별도로작성한다. 사용사례도의기본구성사용사례다이어그램은정보시스템과정보시스템을이용하는사용자 (users) 간의상호작용 (interaction) 을나타낸다. 사용사례다이어그램의최소한의기본구성은 < 그림 a2-1> 과같이행위자 (actor), 사용사례 (use case) 및관계 (association) 를나타내는그래픽개체로나타낸다. < 그림 a2-1> 은현금인출기 (ATM, automatic teller machine) 에대한사용사례도의예이다. 즉, 시스템을사용하는외부행위자인고객 (customer) 은 ATM 에대해거래내역확인 (retrieveaccountdetails), 출금 (withdrawcash), 입금 (depositcash) 및송금 (transfercash) 을행할수있기를기대하며, ATM은이러한요구사항을충족할수있는기능을보유한시스템으로제작되어야함을나타낸다. < 그림 a2-1> ATM 에대한사용사례도의예 n 행위자 (actor) 행위자 (actor) 는시스템외부존재하는개체로서사용자 (user) 또는시스템을시작시키는발기인 (initiator) 의역할 (role) 을담당하며, 다음과같은역할을한다. - 행위자는시스템에대해한가지이상의역할을담당할수있다. < 그림 a2-2> 은고객입장에서바라본은행 (bank) 에대한사용사례도의예이다. 이경우,
7 은행의고객 (customer) 은예금자 (depositor) 의역할도하며또한대출자 (borrower) 의역할도 담당한다. - 행위자는복수개의사용사 례와상호작용할수있다. < 그림 a2-2> 은행의사용사례도의예 즉, 고객은거래내역확인사용사례 (retrieveaccountdetails use case) 부터이자납입 (payinterestonload use case) 에대해상호작용한다. - 행위자는항상사람일필요는없다. 해당시스템의서비스를사용하는다른시스템이될수도있다. - 행위자는일반화 (generalization) 될수있다. < 그림 a2-2> 에서예금자 (depositor) 와대출자 (borrower) 는모두은행에대한고객이기에보다일반화된개념인고객 (customer) 으로일반화될수있다. 실세계의은행시스템이 < 그림 a2-2> 와같이단순하지않고수백, 수천가지의서비스를제공해야하는것은고객만이행위자가아니라은행에대한모든이해관계자 (stakeholder) 를역할별로구분하여그들이요구하는모든서비스를제공해야하기때문이다. n 사용사례 (use case) 사용사례 (use case) 는시스템의행위를나타내는것으로서타원에행위를나타내는사용사례이름과함께표현된다. 각각의사용사례는서로독립적인한가지사례를나타내기에사용사례이름을구체적인행위를나타내는동사 (verb) 와그행위가행해질구체적인대상체 (object) 를나타낼수있도록 verb+object 로나타내야한다. n 관계 (association) 사용사례다이어그램을구성하는행위자 (actor) 는다른행위자와관계 (association) 가있을수있으며, 사용사례 (use case) 는다른사용사례와관계가있을수있다. 또한행위자와사용사례사이에도관계가있을수있다. 관계는보다직접적으로유도관계 (directed association) 와일반화 (generalization) 로구체화할수있다. < 그림 a2-2> 에서예금자와대출자는고객과일반화관계를형성하고있다. 사용사례의확장 가장기본적인사용사례다이어그램 (use case diagram) 은행위자 (actor) 와그행위자와직접
8 부록 a - UML 관련있는사용사례 (use case) 를추출하는것이다. 이러한사용사례다이어그램은문제영역에대한이해를심층적으로함에따라기본적으로추출된사용사례와관계가있는추가적인사용사례를 < 그림 a2-3> 과같이추출할수있다. 기본적인사용사례가항상사용하는사용사례는포함관계 (include association) 에있다고하며, 기본적인사용사례가선택적으로사용하는사용사례는확장관계 (extend association) 에있다고한다. < 그림 a2-3> 사용사례에대한포함및확장관계의예 n <<include>> 관계 포함관계 (include association) 는하나의사용사례가다른사용사례의서비스를활용할때표현된다. 즉, 어떤사용사례가다른사용사례의행위를포함할때이들두사용사례간에는포함관계가형성되며, 도구상자의로나타낸다. 일반적으로포함관계에있는사용사례는복수개의사용사례에의해공통으로재사용되는경우가많다. < 그림 a2-3> 에서사용자 (customer) 가주문을하거나 (createorder), 주문을수정할때 (updateorder) 항상고객을확인하고 (validatecustomeraccount) 재고를확인하는 (checkitemavailability) 서비스가필요하다. 그러나주문을조회할때에는 (inquireorder) 고객확인서비스만필요할것이다. 이경우 checkitemavailability 및 validatecustomeraccount 는이들의서비스를사용하는사용사례에대해포함관계에있다고한다. n <<extend>> 관계 확장관계 (extend association) 는어떤사용사례가추가적인행위가필요할경우두사용사례간에는확장관계가형성되며, 도구상자의을이용하여나타낸다. 일반적으로확장관계는어떤특정조건에의해수행되는선택적행위를나타낼때활용된다.
9 < 그림 a2-3> 의예에서고객이주문을행할때 (createorder) 기존고객을확인하고 (validatecustomeraccount), 만약등록안된고객일경우신규고객등록 (createnewcustomer) 서비스를이용하여고객등록을행하여야할것이다. 이경우, 신규고객등록 (createnewcustomer) 서비스는주문 (createorder) 서비스에대해확장관계에있다고한다.
10 부록 a - UML a.3 활동다이어그램 (activity diagram) 활동다이어그램 (activity diagram) 은각각의사용사례 (use case) 또는사용사례기술서 (use case description 또는 use case scenario) 에대한비즈니스프로세스워크플로우 (workflow of business process) 를문서화하는데활용되는표준 UML2.0 다이어그램이다. 활동다이어그램은분석단계에서하나의사용사례에대한구체적인처리흐름을표현하기위해사용된다. 설계단계에서클래스의내부오퍼레이션을나타내는메서드의알고리즘이나구체적인로직을나타내는데도활용된다. 또한활동다이어그램은분석가또는디자이너가업무의흐름을분석하거나화면의흐름을디자인할때유용이활용된다. 정보시스템이란인간이행하는행동또는기업이나조직이행하는비즈니스활동을모델링하여소프트웨어시스템으로개발하는것이라고간략히정의할수있다. 이경우, 활동 (activity) 이란일련의구체적인활동또는행위 (action) 들로세분화가될수있는절차를말한다. 행위 (action) 란더이상분할될수없는 (non-decomposable) 원자성 (atomic) 을나타내는절차로정의된다. 따라서활동다이어그램이란인간의행동또는기업이나조직의비즈니스활동을행위로세분화하는데활용되는도구라할수있다. 활동과전이 (activity/action and transition) < 그림 a3-1> 은가장기본적인활동다이어그램의구조를예시한것이다. 모든처리절차에 는시작과끝이존재한다. 시작은시작점 (initialstate, 점 (finalstate, ) 으로나타낸다. 시작과종료사이에각각의처리절차를나타내는활동 (activity, ) 를표시한다. 만약선택적인활동이있다 면선택 (decision, ) 을이용하여표시한다. < 그림 a3-3> 은 Activity1 을수행한다음만약특정조건이 true 이면 Activity2 를, false 이면 Activity4 를수행한다. 마지막으 로 Activity4 를수행한다. 라고해석된다. ) 으로나타내고끝은종료 < 그림 a3-1> 활동다이어그램의예 활동들의수행되는순서는전이 (transition, 시한다. ) 로표 활동다이어그램의확장과세분화밀러의법칙이란인간이한순간에생각할수있는인지의범위가약예닐곱개라는것이다. 기본적으로활동다이어그램은사용사례다이어그램의한가지사용사례를구체적으로나타내는기능을담당하지만사용사례의한가지사용사례라는것자체가상당히추상적인개념이다.
11 활동다이어그램을개발하는대상이포괄적인사용사례라면수십또는수백가지의활동으로세분화될것이고, 그대상이구체적인사용사례라면몇개의활동으로표현할수있을것이다. 따라서반복과점증의원칙에따라활동다이어그램도단계별세분화 (stepwise refinement) 방식으로개발되어야한다. 즉, 초기버전의활동다이어그램은각 ActionState 가활동 (Activity) 을표현하면서시작점부터종료점까지의전체적흐름을먼저개발한이후, 각각의활동을세분화하여더이상분할 (decomposition) 할수없는행위 (Action) 로표현하는것이행위다이어그램을개발하는올바른절차이다. 활동다이어그램은개발하고자하는대상이얼마나포괄적이냐에따라물리적인크기가달라져몇페이지로개발될수도있으며, 일반적인처리절차가그러하듯반복적인루프 (loop) 도나타날수있다. 이경우, 을이용하여페이지를연결하거나, 반복점을표현할수있다. 또한수영경기장의레인을구분하듯이특정흐름에대해구분하는것이필요하다면을이용하여구획면을표시하기도한다. 어떤 ActionState 가내장된주요한하위행위를포함하고있다면이를을이용하여나타낸다. 또한조건에맞을때까지자신의행위를반복적으로수행할경우는을이용하여표시한다. 또한동시에수행할 ActionState 가있다면즉, 동기화는으로나타낸다. 프로세스가외부로부터입력장치를통해입력을받아야한다면 표현하고, 반대로외부로신호를보내는절차는으로나타낸다. 으로 활동다이어그램의사례 < 그림 a3-2> 는현금인출기 (ATM) 의입금 (deposit) 사용사례에대한활동다이어그램의예 를예시한것이다. < 그림 a3-2> ATM 의입금 (deposit) 사용사례에대한활동다이어그램의예
12 부록 a - UML a.2 순서도 (sequence diagram) 클래스다이어그램 (class diagram) 은객체지향애플리케이션의구조 (structure) 를나타낸 다. 즉, 애플리케이션영역에서발견되는클래스들과이들간의관계 (association) 를표현한 다. a.1 클래스다이어그램 (class diagram) 클래스다이어그램 (class diagram) 은객체지향애플리케이션을형성하고있는클래스들 의구조 (structure) 를나타낸다. 즉, 애플리케이션영역에서발견되는클래스들과이들간의 관계 (association) 를표현한다. 클래스 (class) 클래스 (class) 는 의 사각형으로표현한다. 을이용하여 < 그림 a1-1> 과같이 추상적인것에서부터시작하여구체화해가는하향식 (top-dwon) 원칙에따라최초에는 가 ) 와같이클래스이름만파악하여기술한다. 애플리케이션영역의분석과디자인이좀더 구체화되면서나 ) 와같이메서드가추가되고다 ) 와같이속성이추가된다. < 그림 a1-1> 클래스의 3 가지표현의예 클래스에다음의 3가지정보를정의한다. o 클래스이름 o 클래스의속성 (attribute) 또는데이터멤버 (data member) o 클래스의행동을나타내는메서드 (method) < 그림 a1-2> 속성과메서드의추가 클래스에속성또는메서드를추가하려면해당클래스를 선택하고오른쪽마우스를클릭하면팝업메뉴가나타난다. add attribute 또는 add operation 을선택하여속성또는메서드를클래스에추가한다.
13 UML 모델에구성되어있는클래스등의자원에대한상세내역을조회하려면 < 그림 a1-3> 과같이 의 <<design model>> 을확장하면확인할수있다. < 그림 a1-3> Model Explorer 창 클래스, 속성및메서드의상세내역을설정하 거나조회하려면 < 그림 a1-4> 와같이 창을이용하면된다. < 그림 a1-4> Class, Operation 및 Attribute 의상세내역을설정하는 Properties 창 접근한정자 (access modifier) 클래스는캡슐화한다. 즉, 자바실행환경 (runtime environment) 은프로그래머가달리지정하지않는한클래스내부구조를외부에노출되지않는것을보장한다. 따라서프로그래머는클래스의속성또는메서드에접근할수있는권한을다음과같은접근제한자 (access modifier) 를이용하여알맞게설정하여야한다. o public: (+) 기호로표시된다. 누구든지접근가능 모든객체가접근가능하도록하려면속성, 데이터또는메서드를 public으로선언한다. public 으로선언한다는것은캡슐밖으로노출시켜어떤객체라도자유롭게사용하도록만든다는의미이다. o private: (-) 기호로표시된다. 이클래스로부터만들어진객체들만접근가능 속성, 데이터또는메서드를 private 으로선언하면캡슐내로은닉한다는의미이다. 즉, private 으로선언되면오직이클래스로부터생성된객체들만접근할수있음을의미한다. 정보은닉 (information hiding) 원칙에따라노출해야만하는메서드만 public으로선언하고그이외는 private 으로선언해야한다. o protected: (#) 기호로표시된다. 이클래스의객체들과파생클래스들만이접근가능 protect 로선언되는속성, 데이터및메서드는오직이클래스와이클래스로부터파생된클래스들의객체즉, 동일상속체계에있는후손객체들만접근가능하다는의미이다.
14 부록 a - UML 클래스의해당데이터나메서드를더블클릭하면 < 그림 a-5> 와같이접근한정자를선택하여설정할수있다. < 그림 a-5> 접근제한자 관계 (association) 객체지향세상이란관련또는연관 (association) 있는객체들이상호작용 (interact) 또는협업 (collaboration) 하는애플리케이션공간이다. 클래스다이어그램은애플리케이션공간에존재하는클래스를나타낼뿐만아니라서로관련이있는클래스들을파악하여이들의관계를나타낸다. 관계 (relation) 란서로다른두개의클래스가서로관련이있을경우 두클래스는상호간에관계가있다 라고한다. 수십억인구가살아가는현실세계에서 나 와전혀관계없는사람들도있지만 나 와가족관계, 선후배관계, 동호회회원관계등의직접적인연관이있거나, 같은한국사람으로서동일한국적관계, 같은성별로서동일한성별관계등의훨씬더포괄적이고추상적인관계까지도있다. 그러나객체지향모델에서는포괄적, 추상적관계는배제하고직접적인관련또는연관관계만을모델링한다. 또한모든관계는양방향이다. 나 와가족관계이거나선후배관계이거나또는동호회회원관계에있는클래스는그클래스에서 나 는가족관계이거나선후배관계이거나또는동호회회원관계이다. 그러나클래스다이어그램에서는관계를양방향으로표현하지않고주요관심사인클래스를중심으로한방향으로나타내는것이일반적이다. 연관관계 (association relation) 는 2개의클래스가상호관련있을경우 의을이용하여표현한다. 연관관계는업무영역에대한분석이진행됨에따라구체적인연관관계인상속관계, 복합연관관계, 집합연관관계, 의존관계등으로세 < 그림 a1-6 연관관계 > 분화또는구체화된다. < 그림 a1-6> 은 4개의클래스로구성된클래스들의연관관계를나타낸사례이다. 교수 (Professor) 클래스와학생 (Student) 클래스는서로지도하고지도받는관계이며, 학생과그행생의아버지 (FatherOfStudent) 는부모- 자식관계이다. 또한학생은등 하교를스쿠터를이용하기에학생과스쿠터 (Scooter) 클래스는의존관계이다. 이렇듯연관관계는항상상호적으로양방향에서나타난다. 필요할경우관계이름 (name) 을화살표에표기하기도한다. 교수와학생의관계는강의담당교수와수강생의관계또는지도교수와지도학생과의관계등다양하기에 < 그림 a1-6> 에서는지도교수와지도학생의관계를이름짓고, 표기하였다. 상속관계는항상부모- 자식관계이기에관계이름의명기를일반적으로생략한다. 그러나학생과스쿠터관계는학생이스쿠터를이용하고, 스쿠터는학생에게이용당하지만, 이용하는관계가중요하기에 Student 클래스에서 Scooter 클래스의일방향으로만관계를명시
15 한다. 상속 (inheritance, IsA) 관계 클래스간의상속관계는 의을이용하여표현한다. 공통관점으로분류될수있는클래스는일반화하여계층구조로표현한다. 원 (Circle), 삼각형 (Triangle) 및사각형 (Square) 은도형 (shape) 으로일반화할수있기에 < 그림 a1-7> 과같이상속관계 (inherit relation) 로나타낸다. 상속관계는 IsA' 관계라고도한다. 즉, ~ 이다 로설명되는관계로서 사각형은도형이다 라는설명이참 (true) 이면 shape 클래스와상속관계가성립하는것이다. 상속관계는일반화 (generalization) 관계라고도한다. < 그림 a1-7> 상속관계상속관계의상위클래스 (super class) 는추상클래스 (abstract class) 이며, 하위클래스 (sub class) 는구상클래스 (concrete class) 라고한다. < 그림 a1-7> 에서 Shape 클래스는상위클래스이다. 따라서 Shape 클래스는객체를직접생성할수없는추상클래스이며, 기울임글자체로추상클래스임을나타낸다. 원, 삼각형및사각형의길이를구하는 getwidth() 메서드는모든도형에동일하게적용될수있기에 Shape 클래스에구현코드가작성되는구상메서드 (concrete method) 로나타냈다. 그러나도형을출력하는 display() 메서드는원, 삼각형및사각형이각각다른모양으로출력해야하기때문에 Shape 클래스의 display() 메서드는구현할수가없다. 다만 Shape 클래스에서각하위클래스인 Circle, Triangle 및 Square 클래스의출력행동통일 ( 메서드이름통일 ) 을위해구현코드가없이메서드헤더만정의하는추상메서드 (abstract method) 로표현하였고기울임글자체로표시된다. 그리고 Shape 클래스에정의된 display() 메서드의각각의행위 ( 출력모양 ) 를구현하기위해각하위클래스에구상메서드인 display() 를표현하였다. 집합연관 (aggregation, HasA) 관계 클래스간의집합연관관계는 의을이용하여표현한다. 집합연관관계 (aggregate relation) 는두객체간의관계로 ~ 에있다 또는 ~ 를가지고있다 라고표현되기에 HasA' 관계라고도한다. < 그림 a1-8> 집합연관관계 공항 (AirPort) 에는비행기 (Aircraft) 가있다 라는의미의클래스간의관계는집합연관관계로 < 그림 a1-8> 과같이표현한다. 여객기와헬리콥터는일종의비행기이기에 Aircraft 클래스의하위클래스로구성하여상속관계를나타내었다. 복합연관 (composition, APartOf) 관계
16 부록 a - UML 복합연관관계는 의을이용하여표현한다. 복합연관관계 (composite relation) 는두객체간의관계가 ~ 으로구성되어있다 로설명되어질때존재하며이를 APartOF 관계라고도한다. 자동차 (Car) 는타이어 (Tire) 와엔진 (Engine) 으로구성되어있다 라는의미의복합연관관계가 < 그림 a1-9> 에예시되어있다. 복합연관관계는그관계를해지할때각각의클래스단독으로는애플리케이션에서의미가없는경우에표현된다. < 그림 a1-9> 복합연관관계이와반하여집합연관관계는 < 그림 a1-8> 의사례와같이공항이아닌곳에서도여객기와헬리콥터는독립적으로충분히의미가있는경우에표현된다. 의존또는사용 (dependency 또는 use) 관계 의존또는사용관계는 class 도구상자 의을이용하여표현한다. 클래스또는객체는상호협업 (collaboration) 또는작용 (interaction) 을한다. 즉, 서비스를요청하는클래스또는객체는서비스를제공하는클래스또는객체에의존관계 (dependent relation) 또는사용관계 (use relation) 에있다고말한다. 의존관계또는사용관계는 ~ 을이용한다. 또는 ~ 의서비스에의존한다. 라는의미를가진다. < 그림 a1-9> 에서운전자인 Driver 클래스는자동차인 Car 클래스를이용하고있음을나타낸다. 애플리케이션이실제객체지향언어로구현될때의존관계는해당객체의메서드를호출하여제공하는서비스를이용하는형태로나타난다. a.2 협업도 (sequence diagram) 클래스다이어그램 (class diagram) 은객체지향애플리케이션의구조 (structure) 를나타낸 다. 즉, 애플리케이션영역에서발견되는클래스들과이들간의관계 (association) 를표현한 다. a.2 순서도 (sequence diagram) 클래스다이어그램 (class diagram) 은객체지향애플리케이션의구조 (structure) 를나타낸 다. 즉, 애플리케이션영역에서발견되는클래스들과이들간의관계 (association) 를표현한 다.
17 클래스 (class) 사각 클래스 (class) 는 의 을이용하여 < 그림 a-1> 과같이
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소프트웨어공학 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 informationq 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2
객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가
More informationMicrosoft PowerPoint - 1주차 UML의 구성과 도구
UML의 구성과 도구 v UML(Unified Modeling Language) v UML의 구성 요소 v UML의 관계 v UML의 다이어그램 v UML 도구 UML(Unified Modeling Language) l 모델링 과정(modeling process)과 모델링 언어(modeling language)를 제안 모델링 과정 : 객체지향으로 분석하고 설계하는
More informationPowerPoint Presentation
Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음
More informationPowerPoint Presentation
public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +
More information슬라이드 1
201111339 김민우 201111344 김재엽 201211386 최하나 1 UML 이란 2 UML 특징 3 UML 의구성요소 3.1 UML Building Blocks 구성요소 사물 (Things) 관계 (Relationship) 다이어그램 (Diagram) 4 UML 모델링 Tools : CASE UML(Unified Modeling Language)
More information슬라이드 1
2 장 UML 의구성 UML 아키텍처 UML 메커니즘 한빛미디어 ( 주 ) 학습목표 UML 의구성요소를학습한다. UML 의관계를이해한다. 다이어그램의개념을이해한다. 2 UML 의구성요소 UML은기본요소를구성하는 사물 (Things) 사물간의관계를나타내는 관계 (Relationship) 사물과관계를도형으로표현하는 다이어그램 (Diagram) [ 그림 2-1]
More informationgnu-lee-oop-kor-lec06-3-chap7
어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base
More informationuml.hwp
Project Team T3 Date 2013-03-21 Team Information 양승민 200911400 정세진 200911418 한종철 200911429 1 1. Basic concept of UML - UML이란 UML은소프트웨어시스템이나업무모델링그리고기타비소프트웨어시스템등을나타내는가공물을구체화하고, 시각화하고, 구축하고, 문서화하기위해만들어진언어이다.
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 informationexample 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 informationAPI - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어
메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -
More informationPowerPoint Presentation
public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +
More informationJAVA PROGRAMMING 실습 08.다형성
2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스
More information제2장객체지향분석과설계
제 3 주차강의교안 1. 교수목표 : Object-Oriented Analysis and Design(OOAD) 란무엇인가를이해하고클래스생성방법을터득한다. 2. 강의시수 : 이론 - 1시간, 실습 - 2시간, Test - 1시간 3. 수업내용 이론 Object-Oriented Analysis and Design(OOAD) 란 실습 class 생성하기 Test
More informationJVM 메모리구조
조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.
More information< 소프트웨어모델링및분석 > - UML 보고서 조원 : 홍준택 신재용 정재호 김철웅
< 소프트웨어모델링및분석 > - UML 보고서 조원 : 200611525 홍준택 200711441 신재용 200711470 정재호 200710115 김철웅 UML 의역사 UML 은 'Unified Modeling Language' 의약자입니다. 무엇을통합했기에 'Unified' 라는말이붙게된것일까요? 먼저, UML 의역사를간단히살펴보면아래그림과같습니다. 객체지향적분석과디자인에대해다양한방면으로실험적인접근을하던방법론자들에의해서다양한객체지향모델링방법이등장하게됩니다.
More informationSomething 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 informationMicrosoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx
OOPT Stage 2040 - Design Feesual CPT Tool Project Team T8 Date 2017-05-24 T8 Team Information 201211347 박성근 201211376 임제현 201411270 김태홍 2017 Team 8 1 Table of Contents 1. Activity 2041. Design Real Use
More informationRose교육.ppt
UML RUP RUP consulting@kicco.com Concept of Object Introduction of UML Introduction of RUP Business Modeling Requirements Analysis & Design Concept of Object Object-Oriented View What is a Object? Object
More informationConvenience Timetable Design
Convenience Timetable Design Team 4 2 Contents 1. Introduction 2. Decomposition description 3. Dependency description 4. Inter face description 5. Detailed design description 3 1. Introduction Purpose
More information제목
Object-Oriented Design Agile for Software Development Story 4. 작 성 자 : 고형호 메 일 : hyungho.ko@gmail.com 홈페이지 : 최초작성일 : 2007.06.12 최종작성일 : 2007.08.31 1 2 Goal Flexibility & Reusability Content 1. Flexibility
More information1. 파일 명명규칙
소프트웨어 공학 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슬라이드 1
4 장클래스다이어그램 구성요소 객체와클래스 클래스추출 한빛미디어 ( 주 ) 학습목표 클래스의개념과구성요소를이해한다. 클래스추출과관계를학습한다. 관계를코드로이해한다. 2 학습목표 클래스의구성요소 클래스이름 (class name) 공통의속성, 메서드 ( 오퍼레이션 ), 관계, 의미를공유하는객체들의집합에대한기술이다. 속성 (attributes) 클래스의구조적특성에이름을붙인것으로구조적특성에해당하는인스턴스가보유할수있는값의범위를기술한다.
More informationPowerPoint Presentation
데이터처리프로그래밍 Data Processing Programming 08 객체와클래스 목차 1. 객체와클래스 2. 인스턴스변수, 클래스변수 3. 클래스매직메소드 4. 클래스의상속 데이터처리프로그래밍 (Data Processing Programming) - 08 객체와클래스 3 1. 객체와클래스 객체 Object 객체란존재하는모든것들을의미 현실세계는객체로이루어져있고,
More informationC++ Programming
C++ Programming 상속과다형성 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 상속의이해 상속과다형성 다중상속 2 상속과다형성 객체의이해 상속클래스의객체의생성및소멸 상속의조건 상속과다형성 다중상속 3 상속의이해 상속 (Inheritance) 클래스에구현된모든특성 ( 멤버변수와멤버함수 )
More informationUML의 구성과 도구
UML 의구성과도구 UML(Unified Modeling Language) UML 의구성요소 UML 의관계 UML 의다이어그램 UML 도구 UML(Unified Modeling Language) 모델링과정 (modeling process) 과모델링언어 (modeling language) 를제안 모델링과정 : 객체지향으로분석하고설계하는프로세스 모델링언어 : 설계를표현할때사용하는그래픽심볼
More informationMicrosoft PowerPoint - 06_ClassDiagram(2010).ppt [호환 모드]
LECTURE 6 UML 클래스다이어그램 클래스다이어그램은 UML 의중심 최은만, CSE 4039 소프트웨어공학 목차 UML 이란? UML 의역사 UML 클래스다이어그램 Exercise 클래스다이어그램설계 최은만, CSE 4039 소프트웨어공학 2 UML 분석, 설계를비주얼화, 문서화하기위한그래픽언어 Unified 이전의 OO 방법들의통합 Modeling 객체지향분석설계를위한비주얼모델링
More information06.AnalysisModeling.key
CSE4006 Software Engineering Analysis Modeling Scott Uk-Jin Lee Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2018 Overview of Analysis Modeling 1. 2.
More informationMicrosoft PowerPoint - 26.pptx
이산수학 () 관계와그특성 (Relations and Its Properties) 2011년봄학기 강원대학교컴퓨터과학전공문양세 Binary Relations ( 이진관계 ) Let A, B be any two sets. A binary relation R from A to B, written R:A B, is a subset of A B. (A 에서 B 로의이진관계
More informationMicrosoft PowerPoint 장강의노트.ppt
클래스와객체 클래스와객체 객체 : 우리주변의어떤대상의모델 - 예 : 사람, 차, TV, 개 객체 = 상태 (state) + 행동 (behavior) - 예 : 개의상태 - 종자, 이름, 색개의행동 - 짖다, 가져오다 상태는변수로행동은메소드로나타냄 객체는클래스에의해정의된다. 클래스는객체가생성되는틀혹은청사진이다. 2 예 : 클래스와객체 질문 : 클래스와객체의다른예는?
More information소프트웨어공학개론 강의 7: 시퀀스다이어그램 최은만동국대학교컴퓨터공학과
소프트웨어공학개론 강의 7: 시퀀스다이어그램 최은만동국대학교컴퓨터공학과 UML 시퀀스다이어그램 l 시퀀스다이어그램 (Sequence Diagram) l 사용사례가어떻게수행되는지어떤메시지가언제보내지는지나타낸그림 l 시스템의동적인측면을캡처한것 l 동적뷰 (dynamic view) l 시간의흐름에따라정리해놓은것 l 페이지내려갈수록시간이흐름 l 객체는왼쪽에서오른쪽으로나열
More informationMicrosoft PowerPoint _UML
GRID 소프트웨어공학 UML 작성자 : 서경석정보처리기술사 2005 년하반기 [ 이원석기술사 (wslee@skcc.com) ] 1 UML(Unified Modeling Language) 1. UML 의개요 1) UML 의정의 - 객체기술에관한국제표준화기구 (OMG:Object Management Group) 에서인정한 객체지향분석, 설계를위한통합모델링언어
More informationDesign Issues
11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance
More informationMicrosoft PowerPoint - 2강
컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.
More information쉽게 풀어쓴 C 프로그래밍
Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법
More informationPowerPoint 프레젠테이션
Software Modeling & Analysis - UML Report T6 200811425 김평석 200811435 신성호 200811449 이찬희 200811454 전인서 200811462 최현빈 Contents History of UML & Rational Unified Process Construction of UML & Diagram Use Case,
More informationPowerPoint Presentation
public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +
More informationNo Slide Title
상속 이충기 명지대학교컴퓨터공학과 상속 Q: 건설회사는기존아파트와조금다르거나추가적인특징들을가진새아파트를지을때어떻게하는가? A: 2 상속 상속 (inheritance) 은클래스들을연관시키는자연스럽고계층적인방법이다. 상속은객체지향프로그래밍의가장중요한개념중의하나이다. 상속은 은 이다 라는관계 (is-a relationship) 를나타낸다. 이관계를적용하여클래스들을상하관계로연결하는것이상속이다.
More information1
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 informationMicrosoft PowerPoint - additional08.ppt [호환 모드]
8. 상속과다형성 (polymorphism) 상속된객체와포인터 / 참조자의관계 정적바인딩과동적바인딩 virtual 소멸자 Jong Hyuk Park 상속의조건 public 상속은 is-a 관계가성립되도록하자. 일반화 ParttimeStd 구체화 2 상속의조건 잘못된상속의예 현실세계와완전히동떨어진모델이형성됨 3 상속의조건 HAS-A( 소유 ) 관계에의한상속!
More information2Q 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 informationPowerPoint Template
16-1. 보조자료템플릿 (Template) 함수템플릿 클래스템플릿 Jong Hyuk Park 함수템플릿 Jong Hyuk Park 함수템플릿소개 함수템플릿 한번의함수정의로서로다른자료형에대해적용하는함수 예 int abs(int n) return n < 0? -n : n; double abs(double n) 함수 return n < 0? -n : n; //
More information13 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<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.
More information쉽게 풀어쓴 C 프로그래밍
제 11 장상속 1. 상속의개념을이해한다. 2. 상속을이용하여자식클래스를작성할수있다. 3. 상속과접근지정자와의관계를이해한다. 4. 상속시생성자와소멸자가호출되는순서를이해한다. 이번장에서만들어볼프로그램 class Circle { int x, y; int radius;... class Rect { int x, y; int width, height;... 중복 상속의개요
More information제목
Object-Oriented Design Agile for Software Development Story 7. 작 성 자 : 고형호 메 일 : hyungho.ko@gmail.com 홈페이지 : 최초작성일 : 2007.08.10 최종작성일 : 2007.09.05 1 Goal A Set of Contained Responsibilities 2 Content 1.
More informationPowerPoint Presentation
Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section
More information쉽게 풀어쓴 C 프로그래밍
Power Java 제 11 장상속 이번장에서학습할내용 상속이란? 상속의사용 메소드재정의 접근지정자 상속과생성자 Object 클래스 종단클래스 상속을코드를재사용하기위한중요한기법입니다. 상속이란? 상속의개념은현실세계에도존재한다. 상속의장점 상속의장점 상속을통하여기존클래스의필드와메소드를재사용 기존클래스의일부변경도가능 상속을이용하게되면복잡한 GUI 프로그램을순식간에작성
More information제11장 프로세스와 쓰레드
제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드
More informationPowerPoint 프레젠테이션
Lab 4 ADT Design 클래스로정의됨. 모든객체들은힙영역에할당됨. 캡슐화 (Encapsulation) : Data representation + Operation 정보은닉 (Information Hiding) : Opertion부분은가려져있고, 사용자가 operation으로만사용가능해야함. 클래스정의의형태 public class Person { private
More informationPowerPoint 프레젠테이션
Team 1 201611293 전다윤 201311287 엄현식 201311318 최정헌 01. 문서수정 02. System Test Review 03. Static Test Review 04. 소감 1 문서수정 문서수정 수정 System Test 문서 + 전문서에없던수정사항 수정 System Test 문서 문서수정 소프트웨어검증팀의문서대로수정한사항들 1008
More informationMicrosoft PowerPoint - additional07.ppt [호환 모드]
보충자료 7. 상속 (inheritance) 의이해 상속의기본개념 상속의생성자, 소멸자 protected 멤버 Jong Hyuk Park 상속의기본개념 Jong Hyuk Park 상속의기본개념 상속의예 1 " 철수는아버지로부터좋은목소리와큰키를물려 받았다." 상속의예 2 "Student 클래스가 Person 클래스를상속한다." 아버지 Person 철수 Stduent
More information- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=
JPA 와 Hibernate - 스프링의 JDBC 대신에 JPA를이용한 DB 데이터검색작업 - JPA(Java Persistence API) 는자바의 O/R 매핑에대한표준지침이며, 이지침에따라설계된소프트웨어를 O/R 매핑프레임워크 라고한다. - O/R 매핑 : 객체지향개념인자바와관계개념인 DB 테이블간에상호대응을시켜준다. 즉, 객체지향언어의인스턴스와관계데이터베이스의레코드를상호대응시킨다.
More informationPowerPoint 프레젠테이션
OOAD Stage 2000 Payback ATM Mun gi tae / Han sang min Chart Revise Plan Synchronize Artifacts Analyze Revise Plan OOAD Stage 1000 ver1. OOAD Stage 1000 ver2. Revise Plan -Send Money -Withdraw
More informationMicrosoft PowerPoint Relations.pptx
이산수학 () 관계와그특성 (Relations and Its Properties) 2010년봄학기강원대학교컴퓨터과학전공문양세 Binary Relations ( 이진관계 ) Let A, B be any two sets. A binary relation R from A to B, written R:A B, is a subset of A B. (A 에서 B 로의이진관계
More information(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345])
클래스의응용 클래스를자유자재로사용하자. 이장에서다룰내용 1 객체의치환 2 함수와클래스의상관관계 01_ 객체의치환 객체도변수와마찬가지로치환이가능하다. 기본예제 [7-1] 객체도일반변수와마찬가지로대입이가능하다. 기본예제 [7-2] 객체의치환시에는조심해야할점이있다. 복사생성자의필요성에대하여알아보자. [ 기본예제 7-1] 클래스의치환 01 #include
More information설계란 무엇인가?
금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현
More information쉽게 풀어쓴 C 프로그래밍
제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace
More informationJAVA PROGRAMMING 실습 02. 표준 입출력
# 왜생겼나요..? : 절차지향언어가가진단점을보완하고다음의목적을달성하기위해..! 1. 소프트웨어생산성향상 객체지향소프트웨어를새로만드는경우이미만든개체지향소프트웨어를상속받거나객체를 가져다재사용할수있어부분수정을통해소프트웨어를다시만드는부담줄임. 2. 실세계에대한쉬운모델링 실세계의일은절차나과정보다는일과관련된많은물체들의상호작용으로묘사. 캡슐화 메소드와데이터를클래스내에선언하고구현
More informationC++ Programming
C++ Programming 클래스와데이터추상화 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 객체지향프로그래밍 클래스와객체 2 객체지향프로그래밍 객체지향언어 (Object-Oriented Language) 프로그램을명령어의목록으로보는시각에서벗어나여러개의 독립된단위, 즉 객체 (Object) 들의모임으로파악
More informationclass Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,
Level 1은객관식사지선다형으로출제예정 1. 다음은 POST(Post of Sales Terminal) 시스템의한콜레보레이션다이어그램이다. POST 객체의 enteritem(upc, qty) 와 Sale 객체의 makellineitem(spec,qty) 를 Java 또는 C ++, C # 언어로구현하시오. 각메소드구현과관련하여각객체내에필요한선언이있으면선언하시오.
More informationIntroduction to UML 소프트웨어모델링 유준범교수님 황정아 김성민 이한빈
Introduction to UML 소프트웨어모델링 유준범교수님 201111397 황정아 201111341 김성민 201111379 이한빈 1. Subject : UML ( Unified Modeling Language ) and UML Tools 2. Outline 1. Subject 2. Outline 3. What is UML? A. 정의 B. 배경 C.
More informationInclusion Polymorphism과 UML 클래스 다이어그램 구조에 의거한 디자인패턴 해석
Inclusion Polymorphism 과 UML 클래스다이어그램구조에의거한디자인패턴해석 이랑혁, 이현우, 고석하 rang2guru@gmail.com, westminstor@naver.com, shkoh@cbnu.ac.kr 충북대학교경영정보학과 충북청주시흥덕구개신동 12 번지충북대학교학연산공동기술연구원 843 호 Tel:043-272-4034 55 Keyword
More information제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호
제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법
More informationSlide 1
SeoulTech 2011-2 nd 프로그래밍입문 (2) Chapter 14. 상속 박종혁교수 (http://www.parkjonghyuk.net) Tel: 970-6702 Email: jhpark1@snut.ac.kr Learning Objectives 상속의기본 파생클래스와생성자 protected: 제한자 멤버함수의재정의 상속되지않는함수들 상속을이용한프로그래밍
More informationMicrosoft PowerPoint - CSharp-10-예외처리
10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.
More informationMVVM 패턴의 이해
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 information01-OOPConcepts(2).PDF
Object-Oriented Programming Concepts Tel: 02-824-5768 E-mail: hhcho@selabsoongsilackr? OOP (Object) (Encapsulation) (Message) (Class) (Inheritance) (Polymorphism) (Abstract Class) (Interface) 2 1 + = (Dependency)
More informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More information03.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 informationPowerPoint Template
9. 객체지향프로그래밍 대구가톨릭대학교 IT 공학부 소프트웨어공학연구실 목차 2 9.1 개요 9.2 객체지향프로그래밍언어 9.3 추상자료형 9.4 상속 9.5 동적바인딩 9.1 객체지향의개념 (1) 3 객체지향의등장배경 소프트웨어와하드웨어의발전불균형 소프트웨어모듈의재사용과독립성을강조 객체 (object) 란? 우리가다루는모든사물을일컫는말 예 ) 하나의점, 사각형,
More informationIBM 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 informationMicrosoft PowerPoint - chap11
10 장객체 - 지향프로그래밍 II 상속 상속 (Inheritance) 상속이란무엇인가? 기존의클래스로부터새로운클래스를유도하는것 자식클래스는부모클래스의메쏘드와데이터를상속 자식클래스에새로운변수나메쏘드를추가할수있다. 기존클래스 부모클래스 (parent class), 수퍼클래스 (superclass), 기반클래스 (base class) 유도클래스 자식클래스 (child
More informationPowerPoint Template
7. 상속 (inheritance) 의이해 상속의기본개념 상속의생성자, 소멸자 protected 멤버 Jong Hyuk Park 상속의기본개념 Jong Hyuk Park 상속의기본개념 상속의예 1 " 철수는아버지로부터좋은목소리와큰키를물려받았다." 상속의예 2 "Student 클래스가 Person 클래스를상속한다." 아버지 Person 철수 Stduent 3
More informationPowerPoint 프레젠테이션
@ Lesson 4 (Object) (Class) (Instance) (Method) (Constructor) Memory 1 UML 1 @ & 1 (Real World) (Software World) @ &.. () () @ & 2 (Real World) (Software World) OOA/ Modeling Abstraction Instantiation
More information(Microsoft Word - \301\337\260\243\260\355\273\347.docx)
내장형시스템공학 (NH466) 중간고사 학번 : 이름 : 문제 배점 점수 1 20 2 20 3 20 4 20 5 10 6 10 7 15 8 20 9 15 합계 150 1. (20 점 ) 다음용어에대해서설명하시오. (1) 정보은닉 (Information Hiding) (2) 캡슐화 (Encapsulation) (3) 오버로딩 (Overloading) (4) 생성자
More information쉽게 풀어쓴 C 프로그래밍
객체지향프로그래밍 (OOP: object-oriented programming) 은우리가살고있는실제세계가객체 (object) 들로구성되어있는것과비슷하게, 소프트웨어도객체로구성하는방법이다. 객체는상태와동작을가지고있다. 객체의상태 (state) 는객체의속성이다. 객체의동작 (behavior) 은객체가취할수있는동작 ( 기능 ) 이다. 객체에대한설계도를클래스 (class)
More informationMicrosoft PowerPoint - VB.NET_06.pptx
6 주차 객체프로그래밍 대림대학 2011 년도 1 학기홍명덕 (myungduk.hong@gmail.com) 객체실세계에존재하는물건을가상세계인컴퓨터안으로가져온개념 2 객체의장점 부품을만들듯이객체설계객체를조립해서완성된프로그램을개발 부품을교환하듯이객체를수정및교환유지보수쉬어짐객체의특징메서드 : 실세계의행위역할수행속성 : 어떤상태에있는지를값으로저장기타 : 멤버변수,
More informationMicrosoft 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 informationMicrosoft PowerPoint - java2 [호환 모드]
10 장객체- 지향프로그래밍 II 창병모 1 상속 창병모 2 상속 (Inheritance) 상속이란무엇인가? 기존의클래스로부터새로운클래스를유도하는것 자식클래스는부모클래스의메쏘드와데이터를상속 자식클래스에새로운변수나메쏘드를추가할수있다. 기존클래스 부모클래스 (parent class), 수퍼클래스 (superclass), 기반클래스 (base class) 유도클래스
More informationMicrosoft PowerPoint - Lect04.pptx
OBJECT ORIENTED PROGRAMMING Object Oriented Programming 이강의록은 Power Java 저자의강의록을사용했거나재편집된것입니다. Class 와 object Class 와객체 클래스의일생 메소드 필드 String Object Class 와객체 3 클래스 클래스의구성 클래스 (l (class): 객체를만드는설계도 클래스로부터만들어지는각각의객체를특별히그클래스의인스턴스
More informationRVC 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 information27 2, 17-31, , * ** ***,. K 1 2 2,.,,,.,.,.,,.,. :,,, : 2009/08/19 : 2009/09/09 : 2009/09/30 * 2007 ** *** ( :
27 2, 17-31, 2009. -, * ** ***,. K 1 2 2,.,,,.,.,.,,.,. :,,, : 2009/08/19 : 2009/09/09 : 2009/09/30 * 2007 ** *** (: dminkim@cau.ac.kr) 18 한국교육문제연구제 27 권 2 호, 2009. Ⅰ. (,,, 2004). (,, 2006).,,, (Myrick,
More informationMicrosoft PowerPoint - Chapter 6.ppt
6.Static 멤버와 const 멤버 클래스와 const 클래스와 static 연결리스트프로그램예 Jong Hyuk Park 클래스와 const Jong Hyuk Park C 의 const (1) const double PI=3.14; PI=3.1415; // 컴파일오류 const int val; val=20; // 컴파일오류 3 C 의 const (1)
More information. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요
. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요소로써안드로이드시스템에서는 Activities, Services, Content Providers,
More informationJAVA PROGRAMMING 실습 05. 객체의 활용
public class Person{ public String name; public int age; } public Person(){ } public Person(String s, int a){ name = s; age = a; } public String getname(){ return name; } @ 객체의선언 public static void main(string
More informationecorp-프로젝트제안서작성실무(양식3)
(BSC: Balanced ScoreCard) ( ) (Value Chain) (Firm Infrastructure) (Support Activities) (Human Resource Management) (Technology Development) (Primary Activities) (Procurement) (Inbound (Outbound (Marketing
More information열거형 교차형 전개형 상승형 외주형 회전형 도해패턴 계층형 구분형 확산형 합류형 대비형 상관형 (C) 2010, BENESO All Rights Reserved 2
c 2010, BENESO All rights reserved 1 열거형 교차형 전개형 상승형 외주형 회전형 도해패턴 계층형 구분형 확산형 합류형 대비형 상관형 (C) 2010, BENESO All Rights Reserved 2 u 열거형 : 대소, 위치등의관계에대해설명 u 교차형 : 중복, 합동, 복합, 공동등의관계에대해설명 설명도, 대소관계도, 제휴관계도,
More information목차 1. 개요 소개... 3 A. 배경... 3 B. 목적... 3 C. 특징... 4 D. 용도 구성요소... 6 A. 사물 (Element)... 6 B. 관계 (Relationship)...10 C. 다이어그램 (Diagram)...
Software Modeling & Analysis 소프트웨어모델링및분석 보고서 #1 Team. T1 201111388 조연호 201211374 이창오 201211379 장종훈 201314196 양동혁 목차 1. 개요... 3 2. 소개... 3 A. 배경... 3 B. 목적... 3 C. 특징... 4 D. 용도... 4 3. 구성요소... 6 A. 사물
More informationC# 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감각형 증강현실을 이용한
대한산업공학회/한국경영과학회 2012년 춘계공동학술대회 감각형 증강현실을 이용한 전자제품의 디자인 품평 문희철, 박상진, 박형준 * 조선대학교 산업공학과 * 교신저자, hzpark@chosun.ac.kr 002660 ABSTRACT We present the recent status of our research on design evaluation of digital
More informationadfasdfasfdasfasfadf
C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.
More information어댑터뷰
04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결
More information소프트웨어공학개론 강의 5: 객체지향개념 최은만동국대학교컴퓨터공학과
소프트웨어공학개론 강의 5: 객체지향개념 최은만동국대학교컴퓨터공학과 왜객체지향인가? l 절차적패러다임 vs. 객체지향패러다임 l 뭐가다르지? 2 C 언어 l 프로그램은데이터와함수로구성 l 함수는데이터를조작 l 프로그램을조직화하기위해 l 기능적분할 l 자료흐름도 l 모듈 Main program global data call call call return return
More informationthesis
( 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 informationSW¹é¼Ł-³¯°³Æ÷ÇÔÇ¥Áö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 informationContents 1. Introduction What is UML? What are UML Components? 소프트웨어개발방법론 모델 (Model) 클래스다이어그램
UML Report What is UML? How to use UML Tools? On 22 Mar 2013 Team Organization T4 Kim, Sang Yoon 200811411 gdzergling@core-a.org Oh, Na Yun 200814189 brilliantjay@naver.com Lim, Min Woo 200910793 dn3108@gmail.com
More informationIndex Chapter Page 1. What about OOAD 1) Definition & History 3 2) Terms 4 3) Modeling 8 4) OOA & OOD 11 5) Summary of OOAD What about UM
- 1 - Software Engineering Team9 Introduction to OOAD using UML tools 200911385 박기남 200911425 조서경 200911426 조성완 200911427 조아라 - 2-0. Index Chapter Page 1. What about OOAD 1) Definition & History 3 2) Terms
More information