Chapter 9 기능모델링 (Functional Modeling) 기능은입력물을받아결과물을내는활동이며, 기능을수행하는활동을프로세스라한다. 기능모델링은시스템에서요구되는정보의흐름과정보의변환을나타내주는프로세스를중심으로시스템을묘사하고있다. 이장에서는시스템을기능관점에서바라보고

Size: px
Start display at page:

Download "Chapter 9 기능모델링 (Functional Modeling) 기능은입력물을받아결과물을내는활동이며, 기능을수행하는활동을프로세스라한다. 기능모델링은시스템에서요구되는정보의흐름과정보의변환을나타내주는프로세스를중심으로시스템을묘사하고있다. 이장에서는시스템을기능관점에서바라보고"

Transcription

1 개정판 이해하기쉬운 소프트웨어 공학 윤청지음

2 Chapter 9 기능모델링 (Functional Modeling) 기능은입력물을받아결과물을내는활동이며, 기능을수행하는활동을프로세스라한다. 기능모델링은시스템에서요구되는정보의흐름과정보의변환을나타내주는프로세스를중심으로시스템을묘사하고있다. 이장에서는시스템을기능관점에서바라보고모델링하는대표적인방법인구조적분석기법 (Structured Analysis) 에대하여알아본다. 9.1 구조적분석기법개요 9.2 자료흐름도 (Data Flow Diagram) 배경도 (Context Diagram) 자료흐름도프로세스번호 원시프로세스 (Functional Primitive) 자료흐름도의균형 (Balancing) 자료사전 (Data Dictionary) 구조적분석기법과기능분할 9.3 문제설명서 (Problem Statement)

3 Chapter 9 기능모델링 (Functional Modeling) 학습목표 1. 프로세스 ( 기능 ) 를정의한다. 2. 구조적분석기법에서사용하는도구를설명한다. 3. 배경도 (Context Diagram) 를정의하고그용도를설명한다. 4. 자료흐름도의균형을설명한다. 5. 미니명세서를설명한다. 6. 자료사전의용도를설명한다. 구조적분석기법 시스템을기능관점에서보는것은매우자연스러운일이다. 예를들어, 현금자동인출기 (ATM) 를관찰해보자. 사용자는 ATM이우리에게어떤서비스, 즉기능 (function) 을제공할수있는가를우선생각할것이다. ATM은 현금인출, 잔액조회, 계좌이체 등다양한기능을우리에게제공한다. 이런기능관점의생각은시스템이가진정보나동작을파악하려는것보다우선한다. 결국소프트웨어시스템도기능관점에서바라보는것은본능적이고자연스러운모습이며, 그결과로기능중심의프로그래밍언어인 Fortran, Cobol, Pascal, C 등이제일먼저출현하였다. 기능관점은다양한분야에서아주중요하게사용된다. 프로젝트관리영역에서이루어지는모든활동도기능들의연속으로이해할수있다. 기능은입력물을받아결과물을내는활동이며이를프로세스라한다. 앞에서설명한프로젝트관리도프로젝트를바로기능관점에서바라본것이며, PMBOK은프로젝트관리활동을프로세스의연속적인흐름으로설명하고있다. 소프트웨어개발라이프사이클도기능중심의프로세스흐름으로이해되어이를개선하려는노력이광범위하게이루어지고있다. 소프트웨어시스템은받아들인정보를여러단계를거쳐새로운정보로변환시킨뒤내보내는것이라할수있다. 이렇게시스템을기능관점에서바라보고시스템에서요구되는정보의흐름과정보의변환을나타내는대표적인기능모델이구조적분석기법 (Structured Analysis) 이다. 구조적분석기법은 1979년디마르코 (Tom DeMarco) 가도식적기초를사용하여소개하였는데 [ DEM 79 ], 1980년대부터널리활용되기시작하여지금도요구사항분석에많이사용되고있는기법이다. 286 제 4부요구사항분석

4 Software Engineering 정보 ( 객체 ) 모델링 (Informantion(object) Modeling) 정보 ( 객체 ) 관점 기능관점 동적관점 소프트웨어시스템 동적모델링 (Dynamic Modeling) 기능모델링 (Functional Modeling) [ 그림 9.1] 시스템의 3 가지관점 이장에서는구조적분석기법을중심으로기능모델링에대하여살펴본다. 하향식으로시스템을분할해나가는구조적분석기법의개요와구성하는요소들에대하여알아본다. 특히구조적분석기법에서사용하는자료흐름도 (DFD: Data Flow Diagram) 의구체적인표현기호와배경도, 정보흐름, 프로세스, 자료사전등에대하여다룬다. 구조적분석기법의결과가구조적설계로넘어가는변환과정은자료흐름중심설계에기술되어있다. 9.1 구조적분석기법개요 구조적분석기법의뿌리는구조적프로그래밍 (Structured Programming) 에서찾을수있다. 구조적프로그래밍은대부분의경우프로그래밍언어시간에소개된다. 이는프로그래밍의간결성을유지하고수정을용이하게하기위해, 시스템이수행하는기능을모듈화시켜분할하는기법으로 1960년대부터소개되어사용되고있다. 그러나그후구조적프로그래밍만가지고는시스템개발의한계점에부딪쳤고좀더안정감있는시스템을만들기위해서설계의원칙들이필요하게되었다. 이에맞추어소개된것이구조적설계기법 (Structured Design) 이다. 그러나설계의원칙만가지고는더욱복잡해지는시스템의기능들을제대로표시하지못하였으므로요구사항분석의필요성이대두되었고, 그필요성에의해나타나게된것이바로구조적분석기법 (Structured Analysis) 이다. 이러한일련의역사적과정에서볼수있듯이소프트웨어의진화과정은어떤기법을적용하여그한계점에부딪치면그것을해결하기위해새로운개발방법을모색하는것 구조적분석기법 9 장기능모델링 (Functional Modeling) 287

5 자료흐름도 이었다. 결국소프트웨어의개발역사는어떤방법을시도해문제점을발견하면새로운변화를시도하는진화과정이라볼수있다. 구조적분석기법은자료흐름도 (DFD: Data Flow Diagram) 를사용하여정보의흐름과변환을제시하며, 하향식 (top-down) 방법으로높은차원의기능을작은기능단위로쪼개나간다. 구조적분석기법에서시스템은받아들인정보를가공처리하여새로운정보를내보내는하나의큰프로세스 (Process) 이며, 이프로세스는세부기능을수행하는작은프로세스들로나누어진다. 이와같이시스템이반복적으로분할되는것을자료흐름의상세화 (data flow refinement) 라하며 [ 그림 9.2] 에나타나있다. if K D/V 2=0 then for each n check if if engine -running is on then [ 그림 9.2] 시스템의분할 이예는 Cadre 사의승인을받고 Teamwork 의예제에서발췌한것이다. 레벨화계층화 일반적으로큰시스템을상세화하면서계층적인배열을두어서로의종속관계를표시하는것을레벨화 (leveling) 또는계층화라한다. 큰시스템을분석하기위해서분할의개념은필수적이며이때요구되는개념이레벨화이다. 하향식 (top-down) 기법인구조적분석기법은표현의정도를구분하고읽기쉽도록하기위해레벨화를도입하고있다. 이러한기능중심의분할과레벨화는우리의주변에서도많이볼수있다. 회사의구조를보면기능과정보의흐름을관리하기위하여여러부서로나누어져있다 ( 예를들어인사부, 총무부등 ). 이들부서는각자가고유기능을수행하고있으며, 필요하면서로정보를주고받기도한다. 288 제 4부요구사항분석

6 Software Engineering 이들부서들은더욱분할되어각부서는다음레벨에서여러과로구성되어있고, 이들사이에도정보가교류하고있다. 한예로인사부의경우인사과, 인사기획과, 급여과등으로나누어져서로정보를주고받으며업무를수행한다. 자료흐름도는회사의경우에서볼수있는것과같이하향식방식으로시스템을분할하고그것을그림으로보여준다 ( 회사의경우도각부서간의자료흐름도를그리면유용하게사용할수있을것이다 ). 자료흐름도를이용하면여러단계를거쳐기능을분할해나갈수있는데, 이러한자료흐름도는프로세스사이의데이터흐름을강조하는관점에서시스템을기술한것이다. 구조적분석기법은자료흐름도외에각말단프로세스들의기능을설명하는프로세스명세서 (process specification), 자료흐름도에사용되는데이터의정의등을기록하여놓는자료사전 (data dictionary) 으로구성되어있다. 이장에서는구조적분석기법의기본개념을알아보고자동속도조절장치 (Perform Cruise Control and Monitoring System) 를모델링하는과정을살펴보기로한다. 프로세스명세서 9.2 자료흐름도 (Data Flow Diagram) 소프트웨어시스템은정보를받아들여가공처리하는변환기 (transformer) 라고볼수있고, 자료흐름도는정보가입력되어적용되는변화와그결과 ( 출력 ) 를그림으로묘사해주는도식적기법이라할수있다. 자료흐름도는기본적으로다음의 4가지기호를사용하여표기하고있다. 외부객체 : 시스템의외부에서시스템과정보를주고받는사용자등의 외부객체이다. 프로세스 : 시스템안에서정보를처리하고변환시키는변환기이며버블 이라고도부른다. 데이터항목 : 정보의흐름을표시하는자료항목또는데이터단위이며화 살표는데이터의흐름을표시한다. 자료저장소 : 오랫동안보관되는데이터를저장해놓는파일이나데이터베 이스시스템을말한다. [ 그림 9.3] 자료흐름도표기기호 9 장기능모델링 (Functional Modeling) 289

7 자료흐름도는데이터의흐름또는정보의흐름에초점을맞추었기때문에처리의순서나제어는명확하게표시하지못한다. 앞에서언급되었듯이구조적분석기법은기능관점을나타내고그외의동적관점, 정보관점은나타내지않는다. 이것을보완한것이다음장에나올확장된자료흐름도인데시스템의정보흐름뿐만아니라제어의흐름을포함한다. [ 그림 9.4] 는자료흐름도의간단한예를보여주고있다. 정보흐름 a는외부객체 S로부터오며프로세스 X에의해정보흐름 b로변환된다. 계속해서정보흐름 b는파일 F의정보흐름 d와결합하여프로세스 Y에의해새로운정보흐름 c를만들어내고외부객체 T에제공된다. S a X b Y c T d F [ 그림 9.4] 간단한자료흐름도 이때프로세스의이름은데이터의입력과출력에의해결정되어야하며, 프로세스에의해입출력데이터이름이결정되는것은바람직하지않다. 이는데이터흐름의이름이프로세스이름에우선한다는것을의미한다. 그러므로 프로세스 X는정보흐름 a를정보흐름 b로바꾸어준다. 고표현하는것이자연스러우며, 정보흐름 b는프로세스 Y에사용되기위해 X로부터만들어졌다. 고불리지는않는다. 각프로세스는앞에서언급했던것처럼더욱세부적으로묘사하기위해분할될수있다. [ 그림 9.5] 는하나의프로세스가계속하여단계별로분할될수있음을보여 주고있다. X 1 부터 X 5 까지의프로세스는 X 의자녀들이며, X 4.1, X 4.2, X 4.3 은 X 4 의자녀들이다. 290 제 4부요구사항분석

8 Software Engineering b a X b X 5 a c X 2 e g X 1 X 4 d X 3 f e X 4.1 h g f X 4.3 X 4.2 i [ 그림 9.5] 프로세스의분할 자료흐름도는시스템을하나의프로세스로놓고외부와의정보흐름을표시하는배경도 (context diagram) 로시작하며더이상쪼갤필요가없을때까지단계별로분할하여나간다. 더이상쪼개어지지않는프로세스를원시프로세스 (functional primitive) 라한다. [ 그림 9.5] 에서보듯이프로세스 X는그다음단계의그림 (X 1 에서 X 5 ) 로대치될수있으며 X 4 는그다음단계의 (X 4.1, X 4.2, X 4.3 ) 프로세스들로대치될수있다. 따라서배경도나중간과정의프로세스들은모두쪼개어지지않는원시프로세스들로대치될수있으며, 자료흐름도를그리는목적은이렇게원시프로세스와원시프로세스들사이의정보흐름을규명하는것이라볼수있다. 원시프로세스 배경도 (Context Diagram) 자료흐름도는상위프로세스, 중간프로세스, 원시프로세스들로구성되어있다. 최상위의하나로된프로세스를그린그림을배경도라하며, 이는분할되기이전시스템을하나의큰프로세스로이해한것이다. 배경도는우리가개발해야할시스템의영역을기술하고, 시스템과외부환경과의경계를결정하며, 외부와의인터페이스를제시하여시스템의입출력데이터를보여준다. 배경도는시스템을블랙박스로본것으로시스템과외부환경과의인터페이스 배경도 9 장기능모델링 (Functional Modeling) 291

9 에초점을맞춘다. 분석초기에, 분석가는사용자와시스템이상호어떠한데이터를주고받으며어떠한상호교류가일어나는지에우선초점을맞추어야한다. 배경도가완성되어사용자가무엇을얻을것인가를확립하게되면, 이를실현시키기위해시스템의내부에대한분석이이루어진다. 이는시스템을개발하는데있어서목표에대한우선순위를부여하는것과같다. 배경도는문제설명서 (Problem Statement) 또는제안서에기술되어있는데이터와시스템이반응해야하는행위, 사건등에서시스템과외부객체사이에오가는정보를추출하여만들어진다. 또한시스템의외부에서바라본시스템의모습을기술한다. 다음그림은자동차의자동속도조절장치 (Automobile Cruise Control System) 의배경도이다. Context Diagram Perform Cruise Control and Monitoring Driver ( 운전자 ) Command Display Shift_ Rotation Drive Shaft ( 변속기 ) Throttle_Position Perform Cruise Control and Monitoring 0 Engine_Running Fuel Engine ( 엔진 ) Gas Station ( 발유통 ) [ 그림 9.6] 자동속도조절장치배경도 이예는 Cadre 사의승인을받고 Teamwork 의예제에서발췌한것이다 자료흐름도프로세스번호 레벨화를구체적으로표시하기위해서각프로세스와자료흐름도는번호를가진다. 각자료흐름도는상위레벨의부모자료흐름도와연관된프로세스로부터번호를부여받는다. 배경도의프로세스는최상위프로세스로번호 0을가지고있다. 배경도의프로세스는분할되어자료흐름도로표시되며이자료흐름도에도 제 4부요구사항분석

10 Software Engineering 이란번호가붙는다. [ 그림 9.6] 배경도의프로세스 0은프로세스 1, 2, 3, 4를자녀프로세스로가지며, 프로세스 0은프로세스 1, 2, 3, 4의부모프로세스이다. 각프로세스의번호는그프로세스를분할하여표시하는자료흐름도의번호와일치하며, 이를통해프로세스와자료흐름도의관계및프로세스의구체적세부상황을보여준다. 프로세스는부모자료흐름도의번호와. 그리고프로세스자체의번호를붙인고유번호를가지게되고, 프로세스의레벨은프로세스번호에나오는. 의수보다하나가더많다. 예를들어, 프로세스 4.1.3은레벨 3에속하며프로세스 4.1의자녀프로세스이다. 다음그림은레벨화되어있는자료흐름도를보여준다. [ 그림 9.7] 은 [ 그림 9.6] 배경도프로세스의자료흐름도이며, [ 그림 9.6] 과의비교를통해이들이어떻게서로연결되어있는지를쉽게규명할수있기를바란다. [ 그림 9.8] 은프로세스 4(Monitor Automobile) 의자료흐름도이다. Diagram 0 Perfrom Cruise Control and Monitoring Shift_ Rotation Determine Speed 1 Pulse_Count Measure Mile 2 Shift_ Rotation Speed Distance Engine_ Running Control Speed 3 Control_ Command Throttle_ Position Monitor_ Command Monitor Automobile 4 Fuel Display [ 그림 9.7] 레벨 1 자료흐름도 이예는 Cadre 사의승인을받고 Teamwork 의예제에서발췌한것이다. 9 장기능모델링 (Functional Modeling) 293

11 Diagram 4 Monitor Automobile Distance Count Mile 4.1 Miles Miles Miles Compute Average Speed 4.3 Average_ Speed_ Display Monitor_Command Fuel Look Up Maintenance Schedule 4.2 Maintenance_ Display [ 그림 9.8] 레벨 2 자료흐름도 이예는 Cadre 사의승인을받고 Teamwork 의예제에서발췌한것이다 원시프로세스 (Functional Primitive) 원시프로세스미니명세서프로세스명세서 프로세스중더이상그아래로쪼개어지지않는하위프로세스를원시프로세스라한다. 프로세스를어디까지쪼갤것인가는분석가의손에달려있으며요구사항이충분히표시되어있으면더이상쪼개지않아도된다. 일반적으로는하나의프로세스가하나의기능을수행할정도로충분히작게쪼개는것이이상적이다. 원시프로세스의상세한설명은미니명세서 (mini-specification) 에기록한다. 미니명세서는프로세스명세서 (process specification) 라고도한다. 프로세스에미니명세서가있다는것은그프로세스가원시프로세스라는것을의미한다. 미니명세서의번호는그프로세스의번호와같다. 결국완성된미니명세서의수는원시프로세스의개수와일치한다. 일반적으로미니명세서의내용은한페이지에요약될수있을정도가적당하다. 앞에서도언급하였듯이자료흐름도의목표는원시프로세스를찾아내고, 원시프로세스들이서로어떻게연결되어있는지를규명하는것이다. 원시프로세스를제외한중간과정의프로세스들은원시프로세스로대치될수있으므로미니명세서가필요하지않다. [ 그림 9.9] 는프로세스 4.1(Count Miles) 의미니명세서를보여주고있다. 이프로세스는매번주행마일수가 1마일씩증가할때마다전체마일수및다른측정거리를증가시킨다. 294 제 4부요구사항분석

12 Software Engineering [ 그림 9.9] 의미니명세서가시스템의요구사항을담고있는지 (what), 또는수행하는방식 (how to) 을제시하고있는지에주의하며살펴보기바란다. 이렇듯구조적분석기법은요구사항명세서를나타내는모델이며, 시스템이제공해야할 ( 또는사용자가알아보아야할 ) 기능을어떻게수행하는지는표시하지않는다. Name 4.1 TITLE Count Miles / * 마일계산 */ INPUT/OUTPUT Distance : data_in Miles : data_out BODY /* * 이프로시저는매주행마일마다측정하는마일수를 *1마일씩증가시킨다. */ FOR EACH Distance Cummulative_Distance= Cummulative_Distance + Distance IF Cummulative_Distance >= 1 Mile THEN Increment MPG_Mileage Inerement Miles_Since_Oil_Change Increment Miles_Since_Air_Filter_Change Increment Miles_Since_Major_Service Increment Trip_Mileage Reset Cummulative_Distance END IF [ 그림 9.9] 미니명세서 9 장기능모델링 (Functional Modeling) 295

13 9.2.4 자료흐름도의균형 (Balancing) 자료흐름도의균형 부모자료흐름도의정보입출력은자녀자료흐름도의입출력과같아야하는데이는정보흐름의연속성을유지하기위하여필요하다. 이러한제약조건을자료흐름도의균형이라부른다. [ 그림 9.6] 의배경도입출력과자녀자료흐름도의입출력은균형이이루어져있는가? Display, Shift_Rotation, Engine_Running, Fuel, Throttle_ Position 등은 [ 그림 9.6] 과 [ 그림 9.7] 에서동일하게발견되고있다. 그러나 [ 그림 9.6] 의 Command는 [ 그림 9.7] 에서발견되지않으며대신 Control_Command와 Monitor_Command로나타나있다. 그렇다면이그림은균형이이루어져있는가? 만약 Command가 Control_Command와 Monitor_Command의결합으로이루어져있다고명시되어있으면이자료흐름도는균형을이루고있다고할수있다. 이러한균형의형태는상위레벨에서많은데이터를묶어하나로표시하고하위레벨로내려가면서쪼개어표시하는것에서나타난다. 이러한방법은읽기쉽다는장점이있다. 균형에대한정보는자료사전 (Data Dictionary) 에정의하여놓는다. 결국 Command가 Control_Command와 Monitor_Command 로이루어져있다는것이자료사전에표시되어있으면, 이자료흐름도는균형을이루고있는것이다. 자료사전에이관계가나타나지않은경우이자료흐름도는불균형의상태에있다고할수있다 자료사전 (Data Dictionary) 자료사전 자료흐름도로표시되어있는시각적인정보는체계적이며조직적으로모아져야한다. 자료사전은자료흐름도에나타난데이터에관한정보를한곳에모아놓음으로써개발자나사용자들이편리하게사용할수있게해준다. 자료사전은메타데이터 (metadata), 즉데이터에대한데이터를모아놓는저장소이며데이터항목, 데이터흐름등에관한정의가포함되어있다. 자료사전에서사용되는기호는다음과같다. 296 제 4부요구사항분석

14 Software Engineering 연산자 예 의미 = a = b + c a 는 b + c로구성된다 + a + b AND: a와 b의합성 [ ] [ a b ] OR: a와 b 중하나선택 { } 3{ a }5 a를 3번에서 5번사이반복 ( ) ( a ) a는선택적 (0{ a }1과동일 ) [ 그림 9.10] 자료사전기호 자료사전에들어가는예들은다음과같다. Command = Control_Command + Monitor_Command Engine_Running = [ ON OFF ] 구조적분석기법과기능분할 시스템의중요요소나기능을찾아내어분할해나가는것은분석가의임무이며일반적으로쉬운일이아니다. 시스템을어떻게분할해나갈것인가는간단한문제가아니다. 또한어떻게분할하면좋은지에대한완벽한가이드라인조차없다. 구조적분석기법 (Classical Structured Analysis) 은이들기능을분할하는일반적인방법을제시해주고있다. 이기법이잘적용되지않는경우에이용할수있는또다른방법으로서의사건분할 (event partitioning) 방식은시스템과외부객체사이의상호교류하는사건을이용하여시스템을분할하여자료흐름도를그려나가는것이다. 이러한사건분할방식은모던구조적분석기법 (Modern Structured Analysis) 에서제안되었다. 하향식 (top-down) 접근방법인구조적분석기법에유스케이스 (use case) 를적용하여분석할수있다. 유스케이스에의한분석방법은우선시스템을사용자의관점에서바라보아시스템을사용하는사용자들이볼수있는기능만을밝혀낸다. 그다음이기능들을사용하여 다이어그램 0 에서부터가장아래프로세스까지분할한다. 결국사용자가이용가능한기능에서출발하여시스템의중요요소들을찾아내려가며분할한다. 이런접근방법을사용하면시스템의분석이사용자의관점에서이루어질수있다. 또한사용자가볼수있는기능은다른기능보다찾아내기쉬우며, 사용자들도분석과정에참여하며그결과를쉽게이해할수있다는장점이있다. 구조적분석기법 9 장기능모델링 (Functional Modeling) 297

15 S of t ware 산책 ❶ 분할분석이란문제를쪼개서정복하는 (divide and conquer) 과정이다. 분석은어떤것을그기본요소들로분해하는것과관련되어있고이에요구되는개념이세분화또는분할 (partitioning) 이다. 이개념은우리의지식을체계적으로정돈하기위해필요하며추상화와공통적특성을이용하여더작고단순한것들로나누는것이다. 불행하게도분할에정도 ( 正道 ) 는없으며분할되어나타나는프로세스나객체들을쉽게찾아낼수있는간단한해결방법은없다. 시스템을어떻게분할해나갈것인가의문제는시스템을개발하는대부분의사람들에게어렵게느껴지는문제이다. 기존의분할에사용할수있는정보가있는경우이를활용할수도있다. 회사업무를위한시스템을만들때회사의조직 ( 인사부, 자재부등 ) 은기능중심으로이미분류되어있는경우가많고이를활용하여시스템을분할해나갈수도있다. 만약기존의정보가없이새로운시스템을만들어나갈경우분할은더욱어려운문제로느껴진다. 회사의분류방법을살펴보면기능을수행하는조직들은내부가단단히뭉쳐져있고외부조직과의결합은최소화되도록만들어져있음을볼수가있다. 이는시스템요소들이만들어질때응집력 (cohesion) 이극대화되고요소들사이의결합도 (coupling) 는최소화되도록설계되어있음을볼수있다. 일반적으로시스템분할에서추구하는중요한목표는, 요소들이독립성을가지며요소내부의결합도가높고외부와의결합은최소화되도록시스템을설계하는것이다. 모델링의결과는과학적인사실에근거하여엔지니어의관점이반영된균형잡힌예술품이되어야한다. 모델링은엔지니어의과학적인기술은물론문화, 얼이같이섞여어우러진합작품이라볼수있다. 모델링은업무분야나만들고자하는시스템에대한전문적인지식을가진전문가가하는것이바람직하며, 그렇지못한경우정확하지못한분할이이루어져시스템전체에큰손실을끼치게된다. 9.3 문제설명서 (Problem Statement) 문제설명서제안서 시스템을개발하려고할때우선되어야하는첫번째단계는시스템의요구사항을기술하는일이다. 일반적으로프로젝트를계획하거나계약할시기에는모든구체적인요구사항이정의되기어려우며추상적인시스템의목적만을나열한문제설명서 ( 문제기술 ) 또는제안서로일이시작되는경우가많다. 문제설명서에포함되어야하는내용은다음과같다. 1. 해결하려는문제점에대하여명확히기술해야한다. 현재의상황, 배경, 시 스템개발의필요성, 문제제약조건, 달성하려는목표에대한기술이포함 되어야한다. 문제설명서는고객의관점에서고객이사용하는용어로기술 298 제 4부요구사항분석

16 Software Engineering 되어야한다. 2. 자동화하는데요구되는추진전략및방법을기술한다. 적용하고자하는개발방법론및접근방법등이구체적으로기술된다. 3. 제공되어야할기능, 만들어질시스템의제약조건, 요구되는하드웨어, 연관된소프트웨어, 일의범위등을기술한다. 4. 시스템차원의목표, 개발과정에서요구되는사항, 결과물등이기술된다. 5. 추상적인차원 (high-level) 에서합격판정검증기준을확립하여기술한다. 6. 시스템이개발되었을때예상되는기대효과및활용방안을기술한다. 우리나라에서흔히연구또는개발에사용하는제안서의양식은다음과같다. 1. 연구 개발의필요성가. 국내 외기술개발현황나. 연구 개발하려는기술 ( 또는연구 개발내용 ) 의수준다. 문제점라. 앞으로의전망마. 연구 개발의중요성 2. 연구 개발목표 3. 연구 개발내용및범위 4. 연구결과물 5. 추진전략및방법 6. 지금까지의연구 개발실적 7. 기대성과및활용방안 8. 인원편성표 9. 연구 개발기자재현황 10. 연구추진일정계획 11. 소요예산명세 12. 참고문헌 문제설명서를쓰는과정은일반적으로계획단계에서이루어진다고볼수있 다. 문제설명서는문제를이해하기위한출발점이기때문에완벽한문서일수없 다. 따라서문제설명서뒤에이루어지는요구사항분석은문제점을완벽하게이 9 장기능모델링 (Functional Modeling) 299

17 해하기위한노력이라볼수있다. 문제설명서는일반적으로완벽하거나구체적이지못하여이를사용해시스템을검증하는일은쉽지않다. 2장에서언급한것과마찬가지로제안서는사회에서의헌법에해당되며제안서의목적을구체적으로분석한요구사항명세서는법률에해당된다고볼수있다. 따라서요구사항명세서는시스템을검증할수있는구체적인기준을제시해주어야한다. 다음은현금자동지급기 (ATM) 문제설명서로는부적당하다. 그이유를생각해보라. 고객이 ATM을사용하고자할때는 ATM 카드구멍에카드를넣어야한다. ATM은현금카드로부터고객번호를읽어들이고유효일자와소속은행등을조사하여유효한카드인지검증한다. 만약유효한카드이면고객이 PIN 번호 ( 암호 ) 를넣기를요구한다. 만약고객이정확한 PIN 번호를넣으면고객의요구를처리하게된다. 만약 PIN 번호가잘못되었으면 ATM은고객에게 PIN 번호를넣도록요구한다. ATM은고객에게 3번의기회를주며 3번째에도틀리게되면현금카드를압수하고합당한메시지를고객에게보여준다. 다음은 ATM 문제설명서로적당하다. 위의예와비교하여생각해보라. 고객은 ATM을사용하여그의구좌에서현금을찾을수있다. ATM은고객의요구를처리하기전에현금카드와암호를읽어유효한카드인지검증한다. 한번에찾을수있는현금의한계가있으며현금의지불이허용되면현금과영수증을고객에게지불한다. 300 제 4부요구사항분석

18 Software Engineering S of t ware 산책 ❷ 무엇 (What) 과어떻게 (How to) 이책은 무엇 (What) 을만들것인가와 어떻게 (How to) 만들것인가를구별하는것의중요성을설명하고, 무엇을만들것인가에우선순위를두라고제시하고있다. 앞에서설명하였듯이요구사항명세서에는 무엇 을, 설계명세서에는 어떻게 를기술하여야한다. 그러나실제개발에있어서 무엇 과 어떻게 가명확히구별되지않는경우가많다. 만약최적화된해답을구하는문제에서주경로 (critical path) 또는임계경로를구하는알고리즘이있다고하자. 이알고리즘을요구사항명세서에넣는것이맞는지, 설계명세서에넣는것이옳은지생각해보라. 디자이너가더좋은알고리즘을구하거나만들수있다면이알고리즘은요구사항명세서에들어가면안된다. 만약이문제에대한해답이이알고리즘하나밖에없으면 (unique) 요구사항명세서에들어갈수도있다. 문제를해결하는방법이오직하나이거나, 이방법을쓰기로모든사람이이미동의하고추후에도바꿀가능성이전혀없는경우요구사항명세서에기록할수있다. 필자의경험을하나들겠다. 연구소시절분산데이터베이스의병렬제어 (concurrency control) 를위한요구사항명세서를쓰게되었다. 요구사항명세서에병렬제어를위한로킹 (locking) 알고리즘을포함하여기술하였다. 데이터베이스의병렬제어해결방법으로는로킹, 타임스탬프 (time stamp) 등의여러기법이있다. 필자의상사는요구사항명세서에서이알고리즘을지우기를권유하며, 이는개발자 (developer) 들이결정할문제라고충고하였다. 시스템을개발하면서해결방법이하나밖에없어추후변할가능성이없는것은일종의프로그램이라하더라도요구사항명세서에기록될수있다. 무엇 과 어떻게 를굳어있는틀로해석해서는안된다. 무엇 과 어떻게 를구별하는것은우선순위를두고체계적인엔지니어링을하기위한것이목적이지, 그것을구별하는것자체가목적은아니기때문이다. 9 장기능모델링 (Functional Modeling) 301

19 요약 요구사항분석에가장많이사용되는구조적분석기법은정보의흐름과정보의변환을도식화시켜나타내는모델이다. 구조적분석기법은시스템과외부와의정보흐름에서시작하여하향식으로시스템의기능을분할해나간다. 이것은우리가지금까지해왔던구조적프로그래밍및구조적설계와깊은관계가있다. 구조적분석기법에서나온결과는다음단계인설계단계에서필요로하는시스템의골격을제공한다. 자료흐름도의각프로세스는설계에서필요로하는모듈 ( 또는모듈들 ) 로될가능성이높으며, 이경우각정보흐름은모듈들사이의매개변수로나타난다. 구조적설계는응용분야의관점에서컴퓨터관점으로이동하여, 구조적분석의결과에살을붙여가는과정이다. 현재구조적분석기법을지원하는많은 CASE 도구들이상업화되어활용되고있으며, 이들도구들은모델의무결성및오류에대한검증등을해결해준다. 구조적분석기법의실시간용확장은다음장에서소개되는데, 이기법들은복잡한문제들에효과적으로적용할수있는더욱강력한분석도구로발전하였다. 또한이들도구들은요구사항분석의결과를체계적으로문서화할수있게해주고수정을용이하게하여문서관리에많은도움을주고있다. 참고문헌 [BOO 94] Booch, G., Object-Oriented Analysis and Design with Applications, Benjamin/Cummings, [CAD 90] An Introduction to TeamWork Release 4.0, CORE Product Training Workbook, [DEM 79] Demarco, T., Structured Analysis and System Specification, Yourdon Press, [JAC 92] Jacobson, I., Object-Oriented Software Engineering, Addison-Wesley, [MIR 96] Mirza, M., 차승훈, 정재일, 이기종, 윤청, Use Case Driven Structured Analysis, Proceedings of IEEE COMSAC Conference, [MYN 90] Mynatt, B., Software Engineering with Student Project Guidance, Prentice Hall, [PRE 92] Pressman, R., Software Engineering : A Practitioner s Approach, McGraw-Hill, [YOU 79] Yourdon, E., and Constantine L., Structured Design, Yourdon Press, [YOU 89] Yourdon, E., Modern Structured Analysis, Yourdon Press, [ 왕창종 92] 왕창종, 구연설, 이언배, 구조적시스템분석과설계기법, 정익사, [ 우치수 94] 우치수, 구조적기법소프트웨어공학, 상조사, 제 4부요구사항분석

20 [ 연습문제 ] Software Engineering 객관식문제 1 프로세스 (Process) 에대한설명으로틀린것은? 1 시스템은받아들인정보를가공처리하여새로운정보를내보내는하나의큰프로세스 (Process) 이다. 2 큰프로세스는세부기능을수행하는작은프로세스들로나누어진다. 3 프로세스는입력물을받아결과물을내는활동이며, 기능을수행하는활동이다. 4 프로세스는정보와오퍼레이션의묶음이다. 2 프로세스정의에대한설명중옳은것은? 1 동적행위를일으키는주체 2 시간에종속적인프로그램 3 객체의속성 4 입력물을받아결과물을내는활동과기능 3 DFD(Data Flow Diagram) 에대한설명으로거리가먼것은? 1 자료흐름그래프또는버블 (Bubble) 차트라고도한다. 2 구조적분석기법에이용된다. 3 시간흐름의개념을명확하게표현할수있다. 4 DFD의요소는화살표, 원, 사각형, 직선 ( 단선 / 이중선 ) 으로표시한다. 4 자료흐름도 (DFD) 의구성요소가아닌것은? 1 프로세스 2 데이터저장소 3 데이터사전 4 데이터흐름 9 장기능모델링 (Functional Modeling) 303

21 [ 연습문제 ] 5 자료흐름도의핵심요소는? 1 프로세스와자료흐름 2 상태와사건 3 엔티티와관계 4 객체와클래스 6 미니명세서 (Mini-Specification) 에관한내용중옳지않은것은? 1 원시프로세스의상세한설명이다. 2 프로세스명세서 (process specification) 라고도한다. 3 미니명세서가있다는것은그프로세스가원시프로세스라는것을의미한다. 4 미니명세서의번호는그프로세스의번호와다르다. 7 미니명세서에관한내용중옳지않은것은? 1 일반적으로미니명세서의내용은한페이지에요약될수있을정도가적당하다. 2 미니명세서는구조적언어를사용하지않고, 자연어를사용하여이해하기쉽고엄밀하게기술한다. 3 원시프로세스를제외한중간과정의프로세스들은원시프로세스로대치될수있으므로미니명세서가필요하지않다. 4 미니명세서작성에는서술문장, 의사결정나무, 의사결정표, 표, 그래프등을사용한다. 8 자료흐름도의목표는? 1 원시프로세스를찾아내고, 원시프로세스들이서로어떻게연결되어있는지를규명하는것이다. 2 원시프로세스를제외한중간과정의프로세스들에대한미니명세서를작성하는것이다. 3 시스템이제공해야할기능을어떻게수행하는지표시하는것이다. 4 시스템의동작을보여주는것이다. 304 제 4 부요구사항분석

22 Software Engineering 9 자료흐름도의자료사전 (Data Dictionary) 에서필수가아닌선택을의미하는기호는? 1 = 2 { } ( ) 10 배경도 (Context Diagram) 에대한설명으로틀린것은? 1 최상위의하나로된프로세스를그린그림을말하며, 이는시스템이분할되기이전의프로세스이다. 2 배경도는우리가개발해야할시스템의영역을기술하고, 시스템과외부환경과의경계를결정하며, 외부와의인터페이스를제시하여시스템의입출력데이터를보여준다. 3 배경도는시스템을화이트박스로본것이며시스템내부인터페이스에초점을맞춘다. 4 배경도는사용자가무엇을얻을것인가를보여주는그림이다. 11 자료흐름도의균형 (Balancing) 에대한설명중틀린것은? 1 하위레벨에서많은데이터를묶어하나로표시하고상위레벨로올라가면서쪼개어표시하는것이다. 2 부모자료흐름도의정보입출력은자녀자료흐름도의입출력과같아야한다. 3 정보흐름의연속성을유지하기위하여필요하다. 4 균형에대한정보는자료사전에정의하여놓는다. 12 자료흐름도의자료사전에대한설명으로합당하지않은것은? 1 자료흐름도로표시되어있는시각적인정보를체계적이며조직적으로모아놓는것이다. 2 데이터에관한정보를한곳에모아놓음으로써개발자나사용자들이편리하게사용할수있게해준다. 3 메타데이터 (metadata), 즉데이터에대한데이터를모아놓는저장소이며데이터항목, 데이터흐름등에관한정의가포함되어있다. 4 원시프로세스들사이의정보흐름을설명하는것이다. 9 장기능모델링 (Functional Modeling) 305

23 [ 연습문제 ] 객관식주관식문제 1 구조적분석기법을정의하라. 2 기능모델링은시스템을어떤관점에서묘사하는가? 3 구조적분석기법과구조적프로그래밍의관계를설명하라. 4 구조적분석기법에서사용하는도구들을열거하라. 5 구조적분석기법의분할방식에대하여기술하라. 6 구조적분석기법의레벨화와여러분이속한조직의레벨화와연관지어보고여러분이 속해있는조직의자료흐름도를그려라. 7 프로세스명세서, 제어명세서, 자료사전, 배경도 (Context Diagram) 를정의하라. 8 시스템경계 (System boundary) 를정의하고그중요성을설명하라. 9 원시프로세스와미니명세서의수는어떤관계가있는가? 10 자료흐름도의균형이란무엇이며왜필요한가? 11 자료사전의용도는무엇인가? 12 문제설명서 (Problem Statement) 와요구사항명세서의역할분담에대하여논의하라. 13 앞에서다루었던자판기의기능에다음과같은기능이추가될때의자료흐름도를작성 하라. 크레디트카드를넣을수있는기능 자판기의물건이떨어지거나문제가발생하였을때관리자를호출할수있는기능 306 제 4 부요구사항분석

24 Software Engineering 14 자판기의편리함을위해추가할수있는기능들을 3 가지만써라. 15 CD 1 백장을수록하고일정금액을넣고즉석에서음악을들을수있는음악자판기의 문제설명서를작성하고자료흐름도와자료사전을사용하여요구사항명세서를작성하라. 16 즉석에서자신이원하는명함을만들수있는컬러명함자판기의문제설명서를작성하 고자료흐름도를사용하여요구사항을분석하라. 17 앞의질문들에서자판기의재사용가능한구성요소들을식별해보라. 18 사거리신호등시스템에대한문제설명서를작성하고요구사항명세서는자료흐름도를 사용하여작성하라. 19 프로세스와모듈의차이점을기술하라. 20 현금자동교환기 (ATM) 시스템에대한문제설명서를작성하고요구사항명세서는자료 흐름도를사용하여작성하라. 21 구조적설계기법을이용하여현금자동교환기의분석결과를설계하라. 22 엘리베이터에대한문제설명서를작성하고자료흐름도를사용하여요구사항명세서를 작성해보라. 23 구조적설계기법을이용하여엘리베이터의분석결과를설계하라. 24 고속도로통행료징수시스템 (tollway system) 대한문제설명서를작성하고자료흐름도 를사용하여요구사항명세서를작성해보라. 25 구조적설계기법을이용하여고속도로통행료징수시스템의분석결과를설계하라. 객관식문제정답 장기능모델링 (Functional Modeling) 307

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

Microsoft PowerPoint - 1주차 UML의 구성과 도구

Microsoft 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 information

슬라이드 1

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

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

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

Microsoft Word - PLC제어응용-2차시.doc

Microsoft Word - PLC제어응용-2차시.doc 과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,

More information

유니티 변수-함수.key

유니티 변수-함수.key C# 1 or 16 (Binary or Hex) 1:1 C# C# (Java, Python, Go ) (0101010 ). (Variable) : (Value) (Variable) : (Value) ( ) (Variable) : (Value) ( ) ; (Variable) : (Value) ( ) ; = ; (Variable) : (Value) (Variable)

More information

자연언어처리

자연언어처리 제 7 장파싱 파싱의개요 파싱 (Parsing) 입력문장의구조를분석하는과정 문법 (grammar) 언어에서허용되는문장의구조를정의하는체계 파싱기법 (parsing techniques) 문장의구조를문법에따라분석하는과정 차트파싱 (Chart Parsing) 2 문장의구조와트리 문장 : John ate the apple. Tree Representation List

More information

A NEW CSE ATM OOPT Stage 1000 Project Team T3 Date Team Information 이원오 이재규

A NEW CSE ATM OOPT Stage 1000 Project Team T3 Date Team Information 이원오 이재규 A NEW CSE ATM OOPT Stage 1000 Project Team T3 Date 2018-04-17 ----------------------------------- Team Information 201311299 이원오 201311301 이재규 201311309 전홍준 INDEX 1. Activity 1001. Define Draft Plan 2.

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

소프트웨어개발방법론

소프트웨어개발방법론 사용사례 (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

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

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

슬라이드 제목 없음

슬라이드 제목 없음 5.2 ER 모델 ( 계속 ) 관계와관계타입 관계는엔티티들사이에존재하는연관이나연결로서두개이상의엔티티타입들사이의사상으로생각할수있음 관계집합은동질의관계들의집합 관계타입은동질의관계들의틀 관계집합과관계타입을엄격하게구분할필요는없음 요구사항명세에서흔히동사는 ER 다이어그램에서관계로표현됨 ER 다이어그램에서다이어몬드로표기 관계타입이서로연관시키는엔티티타입들을관계타입에실선으로연결함

More information

열거형 교차형 전개형 상승형 외주형 회전형 도해패턴 계층형 구분형 확산형 합류형 대비형 상관형 (C) 2010, BENESO All Rights Reserved 2

열거형 교차형 전개형 상승형 외주형 회전형 도해패턴 계층형 구분형 확산형 합류형 대비형 상관형 (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

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다 이장에서사용되는 MATLAB 명령어들은비교적복잡하므로 MATLAB 창에서명령어를직접입력하지않고확장자가 m 인 text 파일을작성하여실행을한다. 즉, test.m 과같은 text 파일을만들어서 MATLAB 프로그램을작성한후실행을한다. 이와같이하면길고복잡한 MATLAB 프로그램을작성하여실행할수있고, 오류가발생하거나수정이필요한경우손쉽게수정하여실행할수있는장점이있으며,

More information

ii iv 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 2 3 4 5 1 3 6 37 제품군 제품분류 39 제출물관리대장 41 43 45 47 < 접수번호 > 관리번호 평가결과보고서 < 평가대상제품명 > 년월일 < 평가기관명 > 49 제 1 장개요 o 일반적으로다음의사항을포함한다. - 정보보호제품평가인증관련규정 (

More information

A NEW CSE ATM OOPT Stage 1000 Project Team T3 Date Team Information 이원오 이재규

A NEW CSE ATM OOPT Stage 1000 Project Team T3 Date Team Information 이원오 이재규 A NEW CSE ATM OOPT Stage 1000 Project Team T3 Date 2017-04-17 ----------------------------------- Team Information 201311299 이원오 201311301 이재규 201311309 전홍준 INDEX 1. Activity 1001. Define Draft Plan 2.

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

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

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

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

<B3EDB9AEC0DBBCBAB9FD2E687770>

<B3EDB9AEC0DBBCBAB9FD2E687770> (1) 주제 의식의 원칙 논문은 주제 의식이 잘 드러나야 한다. 주제 의식은 논문을 쓰는 사람의 의도나 글의 목적 과 밀접한 관련이 있다. (2) 협력의 원칙 독자는 필자를 이해하려고 마음먹은 사람이다. 따라서 필자는 독자가 이해할 수 있는 말이 나 표현을 사용하여 독자의 노력에 협력해야 한다는 것이다. (3) 논리적 엄격성의 원칙 감정이나 독단적인 선언이

More information

Chap 6: Graphs

Chap 6: Graphs AOV Network 의표현 임의의 vertex 가 predecessor 를갖는지조사 각 vertex 에대해 immediate predecessor 의수를나타내는 count field 저장 Vertex 와그에부속된모든 edge 들을삭제 AOV network 을인접리스트로표현 count link struct node { int vertex; struct node

More information

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < > . 변수의수 ( 數 ) 가 3 이라면카르노맵에서몇개의칸이요구되는가? 2칸 나 4칸 다 6칸 8칸 < > 2. 다음진리표의카르노맵을작성한것중옳은것은? < 나 > 다 나 입력출력 Y - 2 - 3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < > 2 2 2 2 2 2 2-3 - 5. 다음진리표를간략히한결과

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

STATICS Page: 7-1 Tel: (02) Fax: (02) Instructor: Nam-Hoi, Park Date: / / Ch.7 트러스 (Truss) * 트러스의분류 트러스 ( 차원 ): 1. 평면트러스 (planar tru

STATICS Page: 7-1 Tel: (02) Fax: (02) Instructor: Nam-Hoi, Park Date: / / Ch.7 트러스 (Truss) * 트러스의분류 트러스 ( 차원 ): 1. 평면트러스 (planar tru STATICS Page: 7-1 Instructor: Nam-Hoi, Park Date: / / Ch.7 트러스 (Truss) * 트러스의분류 트러스 ( 차원 ): 1. 평면트러스 (planar truss) - 2 차원 2. 공간트러스 or 입체트러스 (space truss)-3 차원트러스 ( 형태 ): 1. 단순트러스 (simple truss) 삼각형형태의트러스

More information

Drucker Innovation_CEO과정

Drucker Innovation_CEO과정 ! 피터드러커의 혁신과 기업가정신 허연 경희대학교 경영대학원 Doing Better Problem Solving Doing Different Opportunity ! Drucker, Management Challenges for the 21st Century, 1999! Drucker, Management: Tasks, Responsibilities,

More information

Microsoft PowerPoint - 발표자료.pptx

Microsoft PowerPoint - 발표자료.pptx LOGO Software Requirements 200412358 최상현 Contents www.themegallery.com 1 THE CONTEXT OF SOFTWARE REQUIREMENTS 2 REQUIREMENTS ENGINEERING PROCESS 3 REQUIREMENTS ELICITATION 4 REQUIREMENTS ANALYSIS Contents

More information

Microsoft PowerPoint - T1 ERS (Elevator Reservation System)SASD2.pptx

Microsoft PowerPoint - T1 ERS (Elevator Reservation System)SASD2.pptx Team : T1 Member : 김영훈, 남장우, 황규원 Presenter : 김영훈 Statement of Purpose System Context Diagram Event List Data Flow Diagram Process Specification i Structured Charts Elevator Reservation System(ERS) -ERS는입력이들어오면입력을스케줄에저장한다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 03 모델변환과시점변환 01 기하변환 02 계층구조 Modeling 03 Camera 시점변환 기하변환 (Geometric Transformation) 1. 이동 (Translation) 2. 회전 (Rotation) 3. 크기조절 (Scale) 4. 전단 (Shear) 5. 복합변환 6. 반사변환 7. 구조변형변환 2 기하변환 (Geometric Transformation)

More information

UML의 구성과 도구

UML의 구성과 도구 UML 의구성과도구 UML(Unified Modeling Language) UML 의구성요소 UML 의관계 UML 의다이어그램 UML 도구 UML(Unified Modeling Language) 모델링과정 (modeling process) 과모델링언어 (modeling language) 를제안 모델링과정 : 객체지향으로분석하고설계하는프로세스 모델링언어 : 설계를표현할때사용하는그래픽심볼

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

<4D F736F F D20C0CCBEBEC1A6BEEE5FC3A5BCD2B0B35F >

<4D F736F F D20C0CCBEBEC1A6BEEE5FC3A5BCD2B0B35F > 이씨제어 한글기술서적소개 1. SIMATIC S7-300/400 초급과정교육교재 S7-300/400 에대한초급교육에사용되는한글판교육교재. * 참고영어원문 : Programming with STEP 7, Automating with STEP 7 in STL and SCL A4 단면 280 쪽, 파워포인트컬러판 2. SIMATIC S7-300/400 중급과정교육교재

More information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

Microsoft Word - [TP_3][T1]UTP.docx

Microsoft Word - [TP_3][T1]UTP.docx Unit Testing Plan for Point Of Sale System Test Plan Test Design Specification Test Cases Specification Project Team Team 1 Date 2017-11-03 Team Information 201211337 김재현 201112052 방민석 201312259 백만일 201211383

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Team 1 201611293 전다윤 201311287 엄현식 201311318 최정헌 01. 문서수정 02. System Test Review 03. Static Test Review 04. 소감 1 문서수정 문서수정 수정 System Test 문서 + 전문서에없던수정사항 수정 System Test 문서 문서수정 소프트웨어검증팀의문서대로수정한사항들 1008

More information

chap x: G입력

chap x: G입력 재귀알고리즘 (Recursive Algorithms) 재귀알고리즘의특징 문제자체가재귀적일경우적합 ( 예 : 피보나치수열 ) 이해하기가용이하나, 비효율적일수있음 재귀알고리즘을작성하는방법 재귀호출을종료하는경계조건을설정 각단계마다경계조건에접근하도록알고리즘의재귀호출 재귀알고리즘의두가지예 이진검색 순열 (Permutations) 1 장. 기본개념 (Page 19) 이진검색의재귀알고리즘

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

소프트웨어공학의 이해

소프트웨어공학의 이해 소프트웨어설계 Software Engineering C2014 Kim, Haeng Kon 우리는설계를서둘러끝냄으로써 개발에많은시간을배려하려고하지만, 그개발이란서둘렀던설계상의문제를해결하는데보다많은시간을낭비하고만다. - G.Myers, 1978 2 소프트웨어설계개념 (1) 소프트웨어설계 요구사항분석단계에서규명된필수기능들의구체적인구현방법을명시하는단계 장치, 프로세스그리고시스템을명확하고자세하게정의하며실질적으로실현가능하도록관련된기술과원칙을적용하는과정

More information

Artificial Intelligence: Assignment 6 Seung-Hoon Na December 15, Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제

Artificial Intelligence: Assignment 6 Seung-Hoon Na December 15, Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제 Artificial Intelligence: Assignment 6 Seung-Hoon Na December 15, 2018 1 1.1 Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제 6.5에서 찾아볼 수 있다. http://incompleteideas.net/book/bookdraft2017nov5.pdf

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

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할 저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할수없습니다. 변경금지. 귀하는이저작물을개작, 변형또는가공할수없습니다. 귀하는, 이저작물의재이용이나배포의경우,

More information

Flowchart 작성법

Flowchart 작성법 Flowchart 작성법 Flowchart 란? Algorithm 어떤문제를해결하기위해수행할작업을순서대로파악해서, 그순서에따라해결방법을결정하는방법 수학의문제해결방법으로사용할뿐만이아니라일상생활과일의경우에도무의식적으로사용 Flowchart Algorithm 을정해진기호를이용한그림으로표시하여시각적으로표현한것 2 Flowchart 란? Program Flowchart

More information

Microsoft Word - [2017SMA][T8]OOPT_Stage_1000 ver2.docx

Microsoft Word - [2017SMA][T8]OOPT_Stage_1000 ver2.docx OOPT Stage 1000 - Plan & Elaboration Feesual CPT Tool Project Team T8 Date 2017-04-13 T8 Team Information 201211347 박성근 201211376 임제현 201411270 김태홍 2017 Team 8 1 Table of Contents 1 Activity 1001. Define

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

2017 년 1 학기 공학논문작성법 (3 강 ) 공학논문작성방법개요 좋은공학논문작성을위해서는무엇이필요한가? (1) 논리적이고정확하게글쓰기 (2강내용에연결 ) (2) Abstract 작성법의예

2017 년 1 학기 공학논문작성법 (3 강 ) 공학논문작성방법개요 좋은공학논문작성을위해서는무엇이필요한가? (1) 논리적이고정확하게글쓰기 (2강내용에연결 ) (2) Abstract 작성법의예 2017 년 1 학기 공학논문작성법 (3 강 ) 공학논문작성방법개요 좋은공학논문작성을위해서는무엇이필요한가? (1) 논리적이고정확하게글쓰기 (2강내용에연결 ) (2) Abstract 작성법의예 Homework #2 [2] 답의예 ( 학생 1): 소폭수정 다양한외부환경을효과적으로검지할수있는센서기술은검지변환, 신호처리및지능화기술등융합 적특성을갖고있음. 현재대부분실용화중심의연구가주류를이루고있으며,

More information

Ver. 2017SE-POS-SRS-3.0 Software Requirement Analysis for Point Of Sale System Project Team Team 6 Date Team Information 김병식 2016

Ver. 2017SE-POS-SRS-3.0 Software Requirement Analysis for Point Of Sale System Project Team Team 6 Date Team Information 김병식 2016 Software Requirement Analysis for Point Of Sale System Project Team Team 6 Date 2017.11.06 Team Information 201311264 김병식 201610379 김나연 201611248 강병성 201610070 김지우 Team 6 1 Table of Contents 1 Introduction

More information

슬라이드 1

슬라이드 1 2 장 UML 의구성 UML 아키텍처 UML 메커니즘 한빛미디어 ( 주 ) 학습목표 UML 의구성요소를학습한다. UML 의관계를이해한다. 다이어그램의개념을이해한다. 2 UML 의구성요소 UML은기본요소를구성하는 사물 (Things) 사물간의관계를나타내는 관계 (Relationship) 사물과관계를도형으로표현하는 다이어그램 (Diagram) [ 그림 2-1]

More information

PowerPoint Presentation

PowerPoint 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 information

Frama-C/JESSIS 사용법 소개

Frama-C/JESSIS 사용법 소개 Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

Microsoft PowerPoint - 08_DesignPrinciple(2010).ppt [호환 모드]

Microsoft PowerPoint - 08_DesignPrinciple(2010).ppt [호환 모드] LECTURE 8 설계원리와구조적설계 똑똑한사람은문제를해결한다. 그러나현명한사람은문제를예방한다. 최은만, CSE 4039 소프트웨어공학 읽기 교과서 4 장설계 참고문헌 Code Complete( 제 2판 ), 스티브맥코넬, 정보문화사, 2005. Chapter 5, pp129-196. 최은만, CSE 4039 소프트웨어공학 2 설게 (Design) 이란? 최은만,

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

Microsoft Word - [2017SMA][T8]OOPT_Stage_1000_ docx

Microsoft Word - [2017SMA][T8]OOPT_Stage_1000_ docx OOPT Stage 1000 - Plan & Elaboration Feesual CPT Tool Project Team T8 Date 2017-03-30 T8 Team Information 201211347 박성근 201211376 임제현 201411270 김태홍 2017 Team 8 1 Table of Contents 1 Activity 1001. Define

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

용어사전 PDF

용어사전 PDF 0100010111000101010100101010101010010101010010101010101000101010101010101010101010001001011000101001010100001010111010 1101101101111010011101010010101000010111010000101010101010101110010010011111101010101010010101010101010100101010100001

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

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim();

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim(); 인터페이스적용 오리객체설계하기 ) 청둥오리, 물오리를설계하세요. 1 단계 : 필요한객체설계 class 청둥오리 { class 물오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim(); mallardduck.fly(); mallardduck.quack(); redheadduck.swim();

More information

슬라이드 1

슬라이드 1 강력한성능! 인터넷 / 업무용데스크탑 PC NX-H Series Desktop PC NX1- H700/H800/H900 NX2- H700/H800/H900 NX1-H Series 사양 Series 제품설명 ( 모델명 ) NX1-H Series, 슬림타입 기본형모델중보급형모델고급형모델 NX1-H800:112SN NX1-H800:324SN NX1-H800:534MS

More information

<4D F736F F F696E74202D205B34C0E55D20BFE4B1B8BBE7C7D720B0B3B9DF20B9D720B0FCB8AE2E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D205B34C0E55D20BFE4B1B8BBE7C7D720B0B3B9DF20B9D720B0FCB8AE2E BC8A3C8AF20B8F0B5E55D> 1 4. 요구사항개발및관리 주요내용 요구사항이란무엇인가? 요구사항개발은어떻게진행되는것인가? 유스케이스기반의요구사항분석은무엇인가? 2 목차 강의내용 팀프로젝트 (5 주차 ) - 요구사항개발 - 제안서발표 - 요구사항개발프로세스 - 유스케이스기반의요구사항분석 3 4 요구사항개발 요구사항이란? 정의 - 문제의해결또는목적달성을위하여고객에의해요구되거나, 표준이나명세등을만족하기위하여시스템이가져야하는서비스또는제약사항

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

Microsoft PowerPoint Predicates and Quantifiers.ppt

Microsoft PowerPoint Predicates and Quantifiers.ppt 이산수학 () 1.3 술어와한정기호 (Predicates and Quantifiers) 2006 년봄학기 문양세강원대학교컴퓨터과학과 술어 (Predicate), 명제함수 (Propositional Function) x is greater than 3. 변수 (variable) = x 술어 (predicate) = P 명제함수 (propositional function)

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

ICT개론2017_07

ICT개론2017_07 Chapter 7: Software Engineering Chapter 7: Software Engineering 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 7.3 Software Engineering Methodologies 7.4 Modularity 7.5 Tools of the

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

소개 는 국내 산업계 IC 전문 인재양성과 기술 보급을 위한 IC 표준화 및 시험인증 전문 교육기관입니다. IC 글로벌 경쟁력 제고를 위한 핵심인재 양성을 목적으로 교육세나 및 자격시험 서비스를 제공합니다. 교육 훈련비용 일부를 지원하는 직업능력개발훈련과정을 운영합니다

소개 는 국내 산업계 IC 전문 인재양성과 기술 보급을 위한 IC 표준화 및 시험인증 전문 교육기관입니다. IC 글로벌 경쟁력 제고를 위한 핵심인재 양성을 목적으로 교육세나 및 자격시험 서비스를 제공합니다. 교육 훈련비용 일부를 지원하는 직업능력개발훈련과정을 운영합니다 edu.tta.or.kr IC 핵심역량 강화를 위한 탁월한 선택 소개 는 국내 산업계 IC 전문 인재양성과 기술 보급을 위한 IC 표준화 및 시험인증 전문 교육기관입니다. IC 글로벌 경쟁력 제고를 위한 핵심인재 양성을 목적으로 교육세나 및 자격시험 서비스를 제공합니다. 교육 훈련비용 일부를 지원하는 직업능력개발훈련과정을 운영합니다. 연혁 2016 근로자 직업능력

More information

리눅스 프로세스 관리

리눅스 프로세스 관리 프로세스 (Process) Process 프로그램이나명령어를실행하면메모리에적재되어실제로실행되고있는상태를의미 이러한프로세스들은프로세스가시작하면서할당받는프로세스식별번호인 PID(Process ID), 해당프로세스를실행한부모프로세스를나타내는 PPID(Parent Process ID), UID 와 GID 정보를통해해당프로세스가어느사용자에속해있는지, 프로세스가파일에대해갖는권한및프로세스가실행된터미널,

More information

Ver. T3_DWS.UTP-1.0 Unit Testing Plan for Digital Watch System Test Plan Test Design Specification Test Cases Specification Date Team Infor

Ver. T3_DWS.UTP-1.0 Unit Testing Plan for Digital Watch System Test Plan Test Design Specification Test Cases Specification Date Team Infor Unit Testing Plan for Digital Watch System Test Plan Test Design Specification Test Cases Specification Date 2012-10-25 Team Information Sanghyun Yoon shyoon.dslab@gmail.com Dependable Software Laboratory

More information

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할 저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할수없습니다. 변경금지. 귀하는이저작물을개작, 변형또는가공할수없습니다. 귀하는, 이저작물의재이용이나배포의경우,

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

*BA_01

*BA_01 PART 1 CHAPTER ONE. CHAPTER TWO. CHAPTER ONE,,,,,....,.,.,,,,,,..,,. 3 BEAUTIFUL ARCHITECTURE,.,..,.,.,,.,...,.. (Jim Waldo) (Waldo 2006)....,,,,,, 4 CHAPTER ONE.,. Venustas, Firmitas, Utilitas,,...,.,..,......

More information

소성해석

소성해석 3 강유한요소법 3 강목차 3. 미분방정식의근사해법-Ritz법 3. 미분방정식의근사해법 가중오차법 3.3 유한요소법개념 3.4 편미분방정식의유한요소법 . CAD 전처리프로그램 (Preprocessor) DXF, STL 파일 입력데이타 유한요소솔버 (Finite Element Solver) 자연법칙지배방정식유한요소방정식파생변수의계산 질량보존법칙 연속방정식 뉴톤의운동법칙평형방정식대수방정식

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

Microsoft 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 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

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

Inclusion Polymorphism과 UML 클래스 다이어그램 구조에 의거한 디자인패턴 해석

Inclusion 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

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

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에대하여 AB=BA 1 가성립한다 2 3 (4) 이면 1 곱셈공식및변형공식성립 ± ± ( 복호동순 ), 2 지수법칙성립 (은자연수 ) < 거짓인명제 >

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우. 소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423

More information

<432B2BC7C1B7CEB1D7B7A1B9D628BABBB9AE5FC3D6C1BE295B315D2E687770>

<432B2BC7C1B7CEB1D7B7A1B9D628BABBB9AE5FC3D6C1BE295B315D2E687770> 저 자 약 력이상정순천향대학교컴퓨터학부교수, sjlee@sch.ac.kr 조영일수원대학교컴퓨터학과교수, yicho@suwon.ac.kr 김은성순천향대학교전기전자공학과교수, eskim@sch.ac.kr 박종득공주대학교컴퓨터공학부교수, pjd@kongju.ac.kr C++ 언어는 C 에 C 언어의증가연산자 ++ 를덧붙인 C++ 라는이름이의미하는바와같이 C 언어의문법을대부분그대로사용하면서객체지향프로그래밍기법을추가한

More information

< B3E220C1A632C8B820C4C4C7BBC5CDBFEEBFEBBBE72041C7FC28C3D6C1BE292E687770>

< B3E220C1A632C8B820C4C4C7BBC5CDBFEEBFEBBBE72041C7FC28C3D6C1BE292E687770> 국 가 공 인 자 격 검 정 2010년 9월 11일 시행 무 단 전 재 금 함 대 한 상 공 회 의 소 수험번호 제한 80분 형별 다음 문제를 읽고 알맞은 것을 골라 답안카드의 답란 (①, ②, ③, ④)에 표기하시오. 성 명 7. 다음 중 기억장치의 단편화에 대한 설명으로 옳은 1. 다음 중 운영체제에 대한 설명으로 옳지 않은 8. 다음 중 상주모니터 기법의

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

내지(교사용) 4-6부

내지(교사용) 4-6부 Chapter5 140 141 142 143 144 145 146 147 148 01 02 03 04 05 06 07 08 149 활 / 동 / 지 2 01 즐겨 찾는 사이트와 찾는 이유는? 사이트: 이유: 02 아래는 어느 외국계 사이트의 회원가입 화면이다. 국내의 일반적인 회원가입보다 절차가 간소하거나 기입하지 않아도 되는 개인정보 항목이 있다면 무엇인지

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

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

<4D F736F F F696E74202D205B36C0E55D20BCB3B0E820B9D720B1B8C7F62E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D205B36C0E55D20BCB3B0E820B9D720B1B8C7F62E BC8A3C8AF20B8F0B5E55D> 6. 설계및구현 1 주요내용 프로젝트에서설계란무엇인가? 프로젝트에서설계는왜중요한가? 프로젝트에서설계원리는무엇인가? 효과적인모듈설계는어떠해야하는가? 객체지향설계란무엇인가? 구현작업이란무엇인가? 2 목차 강의내용 팀프로젝트 (10, 11 주차 ) - 설계의정의 - 상위설계와하위설계 - 설계원리 - 효과적인모듈설계 - 객체지향의개념 - 구현 - 설계문서작성및제출

More information

Microsoft Word - CSWP_sample(KOR).docx

Microsoft Word - CSWP_sample(KOR).docx SOLIDWORKS CSWP 예제 Certified SOLIDWORKS Professional: Solid Modeling Specialist (CSWP-CORE) 공인솔리드웍스프로페셔널 : 솔리드모델링전문가 (CSWP-코어) CSWP는 SOLIDWORKS 고급기술시험을통과한프로페셔널을의미합니다. CSWP는 SOLIDWORKS의다양한복합적인피처를사용하여변수지정과파트및구동어셈블리를설계하고분석하는능력을보유하고있다는것을증명하는자격입니다.

More information

(Hyunoo Shim) 1 / 24 (Discrete-time Markov Chain) * 그림 이산시간이다연쇄 (chain) 이다왜 Markov? (See below) ➀ 이산시간연쇄 (Discrete-time chain): : Y Y 의상태공간 = {0, 1, 2,..., n} Y n Y 의 n 시점상태 {Y n = j} Y 가 n 시점에상태 j 에있는사건

More information

<4D F736F F F696E74202D2035BBF3C6F2C7FC5FBCF8BCF6B9B0C1FA2E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D2035BBF3C6F2C7FC5FBCF8BCF6B9B0C1FA2E BC8A3C8AF20B8F0B5E55D> 5. 상평형 : 순수물질 이광남 5. 상평형 : 순수물질 상전이 phase transition 서론 ~ 조성의변화없는상변화 5. 상평형 : 순수물질 전이열역학 5. 안정성조건 G ng ng n G G 자발적변화 G < 0 G > G or 물질은가장낮은몰Gibbs 에너지를갖는상 가장안정한상 으로변화하려는경향 5. 상평형 : 순수물질 3 5. 압력에따른Gibbs

More information

Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오.

Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오. Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, 2018 1 George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오. 실행후 Problem 1.3에 대한 Display결과가 나와야 함) George 그림은 다음과

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information