[정의] 프로그램/시스템 컴포넌트, 컴포넌트 간의 상호관계 구조이며 이들을 설계하기 위한 지침과 원리 [중요성] SW 프레임워크에 설계기반제공, SW 스타일을 제공 [구성요소] Architecture Description, 이해관계자, 관심사, 관점, View [아키텍처 설계절차] 요참모프배 아키텍처 요구파악 참조 아키텍처 준비 아키텍처 모델링 아키텍처 프로토타이핑 아키텍처 배포 [설계 원리] 분할과 정복 - 세분화된 작은 시스템부터 개발(상향식) 추상화 - 과정 추상화, 데이터 추상화, 제어 추상화 단계적 분해 - 기능 세분화 후 점진적 구체화(하향식) 모듈화 - 작업 단위화, 응집도 및 결합도 정보은닉 - 모듈간 독립화, 인터페이스 통해 필요정보만 송수신 [소프트웨어 아키텍처 설계 시 고려사항] 기능 요구사항 - 시스템이 구현해야 하는 기능 요구사항에 대해 설계 단계에서 책임 할당 품질 속성 - 시스템 품질속성, 비즈니스 품질속성, 아키텍처 품질속성 제약사항 - 프로그래밍 언어, Legacy 재사용, H/W, COTS
6. 아래와 같은 간단한 응용에 대한 소프트웨어 아키텍처를 작성하고자 한다. 다음질문에답하시오. (1) C&C 뷰(Component & Connector, 프로세스뷰)를작성할때가장적당한아키텍처스타일을제시하고필요한컴포넌트와커넥터를제시하시오. (2) 위에서제시한아키텍처스타일에따라아키텍처를작성하시오. (3) 위응용에대한모듈뷰(논리뷰) 작성을 위한 컴포넌트를 제시하고 아키텍처를 작성하시오.
92회_관리_3
2
4. 소프트웨어 아키텍처의 중요성 및 품질속성을 시스템, 비즈니스, 아키텍처 관점으로 구분하여 설명하시오.
87_조직_3
3
6. 소프트웨어 아키텍처의 정의, 역할, 아키텍처모델의중요성을설명하고, 여러가지아키텍처스타일을설명하시오.
86_관리_3
4
6. A기관 차세대통합정보시스템 구축 사업에서는 웹서비스 방식으로 모든 서비스를 제공할 계획이다. 고객제안요청서에서는 CBD (Component Based Development)방법론으로구축을요구하고있으나, 현재개발업체입장은과제해결에요구되는몇가지기존소프트웨어컴포넌트구매가필요하고, 나머지는 EJB(Enterprise Java Beans)환경으로 개발을 고려하고 있다. 고객과의이견차이를좁히기위한적합한응용소프트웨어아키텍처구현방안을 다음사항을 기준으로 설명하시오. 1) 개발방법론(팩키지+CBD) 적용방안을 제시하시오. 2) 응용소프트웨어아키텍처구성방안을기술하시오. 3) 기성소프트웨어컴포넌트와신규개발컴포넌트간인터페이스방안설명.
83_관리_4
5
소프트웨어 아키텍처(Software Architecture)를정의하시오. 세가지주요요소를중심으로기술하시오. UML의 4+1View, 프레임워크(FW 모델들), 스타일
81_관리_1
6
1. 소프트웨어 아키텍처(Software Architecture)를정의하시오. 세가지주요요소를중심으로기술하시오.
81_응용_2
7
2.CBD 방법론을적용하여프로젝트를수행하려고한다. 컴포넌트정의에앞서소프트웨어아키텍처에대해정의하고자한다. 가. 소프트웨어 아키텍처 단계의 목적(작업완료기준)을기술하시오. 나. 수행내용을 기술하시오. 다. 고려할 사항 등에 대하여 기술하시오.
80_관리_4
8
1. 소프트웨어 아키텍처 품질 속성 시나리오의 개념 및 구성요소를 설명하고 소프트웨어 아키텍처 품질 속성 시나리오 중에서 신뢰성, 보안성, 유지보수성에대한시나리오를설명하시오.
모의_2019.07_응용_3
9
5. 소프트웨어 아키텍처 패턴의 개념과 종류를 설명하고, layer, Broker, MVC 패턴의장/단점에대해설명하시오.
모의_2018.01_응용_2
10
5. 아키텍처를 이해관계자들이 원하는 수준으로 품질 속성을 달성하기 위해서 소프트웨어 아키텍처 품질 속성 시나리오를 작성하고자 한다. 아키텍처품질속성시나리오의개념및구성요소를설명하고소프트웨어아키텍처품질속성시나리오중에서 가용성, 변경용이성, 수행성능에대한시나리오를설명하시오.
모의_2017.12_관리_3
11
4. 소프트웨어 아키텍처란 소프트웨어 시스템의 구성을 위한 중대한 결정사항들이라 할 수 있다. 소프트웨어아키텍처에 대한 다음 질문에 답하시오. 가. 품질속성시나리오 나. 아키텍처설계전술 다. 아키텍처스타일
모의_2017.04_관리_3
I. 소프트웨어컴포넌트와인터페이스간의상호관계및구조, 소프트웨어 아키텍처의 개요
가. 소프트웨어 아키텍처(Software Architecture)의정의
- 프로그램/시스템컴포넌트, 컴포넌트간의상호관계구조이며이들을설계하기 위한 지침과 원리
- 소프트웨어컴포넌트들과외부적으로보여지는특성, 그들의상호관계들로구성되는해당시스템의구조
나. 소프트웨어 아키텍처의 등장배경
SW 목적, 기능의 다양성 증가
▷
Software Architecture 활용
▷
품질 및 생산성 향상
분할과 통합 과정 복잡도 증가
품질 고려한 체계적 설계 필요
- 이해관계자(Stakeholder)간에 관점 조율, 우선순위결정과요구사항들간 Trade off 분석 통한 시스템 최적화
- 요구사항간조화및충돌조정 (성능: 정보보호, 유지보수성: 안정성, 개발단가:투자단가등)
다. 소프트웨어 아키텍처의 특징
구분
특징
내용
비즈니스 측면
변화 민첩성
- Agility(민첩성) 통한 RTE 구현, 적시성. - 다양한비즈니스요구사항의민첩한대응및처리
비용 절감
- 소프트웨어재사용, 자산화통한개발비절감
표준화
- 재사용가능한산업별표준화지원
기술적 측면
의사소통 수단
- 이해관계자들간원활한의사소통수단
간략성
- 소프트웨어복잡성증가에따른해결대안
관점(Aspect)모형
- 이해관계자들간관심사에대한모형제시
II. SW 아키텍처프레임워크및구성요소
가. SW 아키텍처 프레임워크의 주요 구성요소
요소
내용
Architecture Description (AD)
- 아키텍처를 기록하기 위한 산출물들 - 하나의 AD는 System에대한관심사를나타내는관심사(Concern)와관련, 이에대응하는하나이상의 Stakeholder와연관됨
이해관계자 (Stakeholder)
- 소프트웨어 시스템 개발에 관련된 모든 사람과 조직을 의미 - 고객, 최종사용자, 개발자, 프로젝트관리자, 유지보수자, 마케팅담당자등을포함.
관심사 (Concerns)
- 동일한 시스템에 대해 각 이해관계자들이 가지는 서로 다른 의견과 목표. (예) 사용자입장: 기본적인기능 + 신뢰성/보안/사용성요구//유지보수자입장: 유지보수용이성//개발자입장: 적은비용과인력으로개발가능해야함
관점 (Viewpoint)
- 서로 다른 역할이나 책임으로 시스템이나 산출물들에 대한 이해관계자들의 관점. - Viewpoint는 View 구성하기위한규칙정의하는 패턴. 각각의 View에 1:1로 대응.
[정의] - 다수의 IT 프로젝트를 기업 비즈니스전략과 정렬하고 프로젝트 별 기업 자원 투입, PMO 간 의견 조율 등을 수행하는 최상위 PMO 도입절차] 도입계획수립-PMO가동준비-PMO운영-PMO지속적개선 [PMO제도의 한계점] 예산부족, 예산편성기준 부재, 명확한 도입대상 기준부재, PMO 도입 부정적인식, PMO 권한과 책임 애매함, 감리업체와 충돌 [PMO 선정기준] 수행인력, 업무계획, 수행실적, 품질 및 성과관리 [PMO유형] 기상대, 코치, 컨트롤타워 [PMO단계] PMO사업추진(도입검토,발주및계약,착수) PMO사업수행(본사업기획단계, 본사업집행단계, 본사업 사후관리단계) PMO사업종료(PMO사업검사,PMO사업 산출물인수, PMO사업 추진실적제출)
토픽 이름(중)
(외부)EPMO, 공공 PMO
분류
PM > (외부)EPMO, 공공 PMO
키워드(암기)
PMO(Project Management Office)의 유형, 공공 PMO, EPMO
암기법(해당경우)
[기집사] 기획, 집행, 사후관리
기출문제
번호
문제
회차
1
최근 정부에서는 공공기관의 전문성을 보완하고, 중소소프트웨어기업의성공적인사업추진및품질확보를위해 PMO(Project Management Officier) 제도를추진하고있다. 공공정보화사업에서의 PMO 제도적용과관련하여다음에대해설명하시오. 가. 프로젝트단계별 PMO 도입시기에따른장,단점 나. CDB 방법론을활용한정보화 사업에서 프로젝트 단계별 PMO 역할 다. PMO의도입효과및기술사적 입장에서 PMO제도의성공적인도입방안
관리 98회
기업 전략에 기반을 둔 상시적, 포괄적 조직, EPMO 개념
EPMO(Enterprise PMO) 정의
EPMO의등장배경
EPMO의개념및역할
데이터를 저장함과 동시에 일정한 규칙에 의해 사용자 어플리케이션에 의해 처리될 수 있도록 함
기업 조직 내 EPMO 위치및역할
EPMO와 PMO의비교
공공정보화 사업에서의 PMO 제도, 공공 PMO 개요
가. 공공 PMO 정의
- 전자정부사업의사업의위험을방지하고품질을향상시키기위해 전자정부사업의 관리 감독 업무 일부 또는 전체를 전문가에게 위탁하는 제도
-체계적인사업관리방법론및경험, 노하우부족을보완 -사업관리전문역량이강화되며, PMO 관련업체는공공정보화 시장이 사업영역으로 확장
공공정보화 사업 PMO 제도 도입의 범위
법적 근거
구분
규정 및 대상
전자정부법 제64조의2
- (전자정부사업관리의위탁) ① 행정기관등의 장은 전자정부사업을 효율적으로 수행하기 위하여 다음 각 호의 어느 하나에 해당하는 사업에 대하여 관리ㆍ감독하는 업무(이하 "전자정부사업관리"라한다)의전부또는일부를전문지식과기술능력을갖춘자에게위탁할 수 있으며, 대상이되는전자정부사업의구체적인 범위 및 전자정부사업관리를 수탁할 수 있는 자의 자격요건은 대통령령으로 정한다.
전자정부법 제64조의3
- (전자정부사업관리자의책무등) 전자정부사업관리자가 전자정부사업관리업무를 수행할 때 계약을 위반하거나 고의나 과실로 발주자에게 손해를 발생시킨경우에는 그손해를배상하여야 한다.
전자정부법 시행령 제78조의2
- (관리ㆍ감독업무를 위탁할 수 있는 전자정부사업의 범위 등) ①법제64조의2제1항에따른 관리ㆍ감독 업무(이하 "전자정부사업관리"라 한 다)를위탁할수있는전자정부사업의구체적인범위는 다음 각 호와 같다.
전자정부법 시행령 제78조의3
- (전자정부사업관리자의자격요건) 법제64조의2제1항에따라 전자정부사업관리를 수탁할수있는자의자격요건은 다음 각 호와 같다.
전자정부법 시행령 제78조의4
- (전자정부사업관리자의선정기준) ① 중앙행정기관등의 장은 법 제64조의2제2항에 따른전자정부사업관리를 위탁받아 수행하는 자(이하 "전자정부사업관리자"라한다)를다음각호의기준을고려하여평가한후선정하여야 한다.
전자정부법 시행령 제78조의5
- (표준계약서) 행정자치부장관은 중앙행정기관등이 전자정부사업관리에 대한 위탁업무를 효율적으로 처리하기 위하여 필요하다고 인정하는 경우에는 표준계약서를 정하여 고시할 수 있다.
위탁규정
- (전자정부사업관리위탁에관한규정) 위탁대상사업, 용역대가산정, 전자정부사업관리수행등규정 - 「전자정부법」제64조의2, 같은법시행령제78조의2부터 제78조의4까지의 규정에서 위임한 사항과 전자정부사업관리의 위탁에 필요한 사항을 정함을 목적
- 시스템에구현될화면레이아웃및화면간의네비게이션(Navigation) 정의 - 데이터모델링을통한 DB 설계 - 컴포넌트식별기법을사용한컴포넌트식별, 컴포넌트간상호작용관계정의 - 컴포넌트내부클래스및시퀀스다이어그램작성을통해객체의 속성 및 오퍼레이션과 객체 간 메시지 전달 흐름을 설계
1. 단일책임의 원칙 ( SRP : Single Response Principle ) [응집도 향상] - 시스템의 모든 객체는 하나의 책임만을 가지며, 객체가 제공하는 모든 서비스는 그 하나만의 책임만을 수행해야 한다는 설계 원칙 2. 개방 폐쇄 원칙 ( OCP : Open Closed Principle) [전략패턴] - 확장에는 열려있고 수정에는 닫혀있어야 한다는 설계 원칙 - Open(클래스 수직관계), Close(클래스 수평관계) 3. 리스코프 치환의 원칙 (LSP :Liskov Substitution Principle) - 부모 클래스의 객체들이 자식 클래스 사용되는 곳에 대체되야한다는 원칙 4. 인터페이스 분리의 원칙 (ISP : Interface Segregation Principle) - 어떤 클래스가 다른 클래스에 종속될 때는 최소한의 인터페이스만을 사용해야 한다는 설계 원칙 5. 의존성 역전의 원칙(DIP/Dependency Inversion Principle) - 높은 레벨의 모듈은 낮은 레벨의 모듈을 의존하면 안되며 서로 추상에 의존해야 한다는 설계 원칙
4. 소프트웨어재사용성과유지보수향상을위하여객체지향설계 5대 원칙을 적용하고 있다. 다음에대하여답하시오. 가. 의존성 역전 원칙(Dependency Inversion Principle)을설명하시오 나. 의존성 주입(Dependency Injection)을구현하는 3가지 방식을 설명하고 각 방식별 아래의 조건을 고려하여 구현 예시를 작성하시오
121.관.2
2
LSP(Liskov Substitution Priciple)
105.컴.1.2
3
1. 객체지향소프트웨어설계에많은도움을주는 GoF의디자인 패턴(Design Pattern)영역을목적과범위에따라분류하고, 분류별특성을설명하시오. 또한, 객체지향시스템에서개발된기능의재사용을위해사용되는대표적기법인 화이트박스 재사용(White-box Reuse), 블랙박스재사용(Black-box Reuse) 및 위임(Delegation)이패턴과어떤관계가있는지설명하시오.
104.관.3.1
4
객체지향기법의 기본원칙을 기술하고, 구조적기법과차별화되는개념을설명하시오.
응용98.2
5
객체지향 언어로 알려진 C++과 JAVA에대하여 클래스(class) 관점에서차이점을설명하시오
응용93.2
6
소프트웨어 개발방법론은 구조적방법론, 정보공학방법론, 객체지향방법론, 컴포넌트기반방법론의형태로발전되어왔다. 이중정보공학방법론의 특징과 의의를 타 방법론과 비교하여 설명하시오.
관리90.4
재사용성과 유지보수 향상을 위한, 객체지향설계 5대원칙의개요
소프트웨어 개발 및 유지보수성 향상을 위한 설계관점의 기본원칙
코드를 좀더 유지보수하기 쉽고, 유연하고, 확장하기쉽게만들기위한설계
재 사용성, 유지보수성, 이식성통한생산성및품질의향상
모형의 적합성: 현실세계및인간의사고방식과유사
일관성, 추적성: 전체공정에서각단계간의전환과변경이자연스럽고신속함
객체지향 설계 원칙 ( 5대원칙, SOLID )
구분
설명
정의
- 시스템의모든객체는하나의책임만을가지며, 객체가 제공하는 모든 서비스는 그 하나만의 책임만을 수행해야 한다는 설계 원칙
특징
- 응집도향상으로유지보수성향상 - 하나의책임만을수행하기때문에변화에적응도높음 - 두개이상의책임을가지면, 온전한책임을다할수있도록 분리
예시
예시 설명
-(a)는단일책임원칙을따르지않은클래스로메서드가 DB관련메서드들과비즈니스관련메서드들로구성되어있음. - 단일책임의 원칙을 지키기 위해 (b)와같이각각의책임을갖는두개의클래스로분할
개방 폐쇄 원칙 ( OCP : Open Closed Principle)
구분
설명
정의
- 소프트웨어 Entity(classes, Modules, Function)는 확장에는 열려있고 수정에는 닫혀있어야 한다는 설계 원칙
특징
- 기존코드의 변경 없이 확장을 통한 코드의 변경을 허용 - 오버라이딩 - 상속을의미하지만, 크게유연석확보차원의원리 - 기능의상속이아닌설계의유연성을강조 Open(클래스수직관계),Close(클래스수평관계) - Strategy 패턴 : 인터페이스변경은어려우나구현은열려있음
예시
예시 설명
- 원칙을따르지않고설계시, 삼각형, 사각형, 원 등의 면적을 구하려면 (a)와같이각도형의면적을구하는메서드가하나의클래스에모두존재하게 됨. - 상속의개념을 적용하여 (b)와같이설계하면클라이언트가추상클래스에의존하므로구체클래스의내부변경에영향을 받지 않음.
리스코프 치환의 원칙 (LSP :Liskov Substitution Principle)
구분
설명
정의
부모 클래스의 객체(타입과매소드의집합)들이자식클래스사용되는곳에대체될 수 있어야 한다는 설계 원칙 that objects of a superclass shall be replaceable with objects of its subclasses without breaking the application.
- 의존관계 역전의 원칙은 상속 개념을 적용할 때 (a)와같이구체클래스에서상속을받는구조로설계하지말라는것, 이유는구체클래스는추상클래스(인터페이스)보다변하기쉽기때문 - 의존관계를 구체 클래스에서 추상 클래스로 바꾸면 향후 변경에 따른 영향을 최소화할 수 있고, 느슨한결합도를 유지할 수 있다. - (b)처럼변화에 따른 충격에서 자유롭도록 추상 클래스를 만들고 그 추상 클래스와 상속 관계를 유지하도록 설계
객체지향 언어에서는 클래스를 이용함으로써 데이터와 프로세스를 함께 추상화의 구조에 넣어 보다 완벽한 추상화 실현 1) 기능추상화(Method 부여): 클래스내메소드를정의(obj.getName()) 2) 데이터추상화(Type 부여): 객체클래스자체를테이터타입으로사용(String, Class) 3) 제어추상화: 제어행위에대한 개념화, 명령및이벤트(if, for, while)
장점
복잡한 프로그램을 간단하게 해줌
Code
public class Clock{ int hour; int minute; int second; public void display(){ //시간 출력 } }
- 캡슐화 방법으로 class 내부정보를은닉하고, 접근제한의 단계를 두어 보안적인 구현 가능 - 클래스 내부에서 사용되는 변수(필드) 들을 private 이나 protected 등으로선언해줌으로, 자기클래스, 혹은자식클래스외에는직접적으로제어를불가능하게 해주는 성질 - 복잡하거나 변경가능 한 부분을 캡슐 내부에 감추고 외부에는 추상화되고 변경가능성이 낮은 인터페이스만을 제공하는 객체지향의 원리
특징
- 복잡성제거 : 외부에는불필요한내부적으로만사용되는 부분을 감춰서 복잡성을 줄임 - Data 보호 : 외부로부터데이터를보호하기위함
Code
- 접근제어자의종류
마. 상속성(Inheritance)
구분
상 세 내 용
정의
- 상속은클래스에서만 통용되는 개념으로 미리 만들어 둔 클래스를 다시 이용하는 방법
특징
- 하위클래스가상위 클래스를 상속 받았을 때, 하위클래스는상위클래스의모든권한소유 - 상속을받는순간 현재의 클래스는 곧 상위 클래스에서 출발 - 단일 : 부모와자식클래스간의관계가수퍼클래스와 서브클래스로 유지 - 다중 : 하나의클래스가하나이상의클래스로부터상속 - 반복 : 같은조부모클래스로부터상속받은두부모 클래스로부터 상속
[모노리식 아키텍처] 기존의 전통적인 웹 시스템 개발 스타일로, 하나의 애플리케이션 내에 모든 조직들이 들어 가 있는 구조 [마이크로 서비스 아키텍처] 대규모 웹 분산 환경에서 응용소프트웨어를 독립적으로 배치 가능한 서비스 조합으로 설계하는 아키텍처 스타일
조직구성 = 아키텍처
토픽 이름
Architecture
분류
PM > Agile > Architecture
키워드(암기)
모놀리식, 마이크로서비스아키텍처
암기법(해당경우)
기출문제
번호
문제
회차
1
4. 최근 대규모의 소프트웨어 개발에 적용을 하기 위한 다양한 아키텍처가 사용되고 있다. 아래의항목에대해 설명하시오. 가. 마이크로서비스아키텍처(Micro Service Architecture)의필요성과개념 나. 마이크로서비스의장단점 다. 블루그린배포(Blue Green Deployment)와카나리아 배포(Carnary Deployment)
모의_2018.07.관리.3교시.4번
2
7. 마이크로 서비스 아키텍처(Micro Service Architecture)에대하여설명하시오.
모의_2017.01.관리.1교시.7번
대용량 웹서비스를 위한 Agile Architecture 개요
구분
정의
모노리식 아키텍처
기존의 전통적인 웹 시스템 개발 스타일로, 하나의 애플리케이션 내에 모든 조직들이 들어 가 있는 구조
마이크로 서비스 아키텍처
대규모 웹 분산 환경에서 응용소프트웨어를 독립적으로 배치 가능한 서비스 조합으로 설계하는 아키텍처 스타일
모노리식 아키텍처, 마이크로서비스아키텍처구성도및아키텍쳐특성
모노리식 아키텍처, 마이크로서비스아키텍처특성
구분
특성
모노리식 아키텍처
각 컴포넌트들은 상호 호출을 함수를 이용하는 call-by-reference 구조
전체 애플리케이션을 하나로 처리하기 때문에, 개발 툴 등에서 하나의 애플리케이션만 개발
배포 역시 간편하며 테스트도 하나의 애플리케이션만 수행하면 되기 때문에 편리
마이크로 서비스 아키텍처
서비스는 데이터에서부터 비즈니스 로직까지 독립적으로 상호 컴포넌트간의 의존성이 없이 개발된 컴포넌트(이를 버티컬 슬라이싱 / Vertical Slicing - 수직적 분할이라고 한다.)로 REST API와 같은 표준 인터페이스로 그 기능을 외부로 제공.
모노리식 아키텍처, 마이크로 서비스 아키텍처 비교
구분
모노리식 아키텍쳐
마이크로 서비스 아키텍처
데이터 저장관점
중앙 집중화된 하나의 통합 데이터베이스(보통 RDBMS) 사용
서비스 별로 별도의 데이터 베이스를 사용 서비스가 API에서부터 데이터 베이스까지 분리되는 수직 분할 원칙(Vertical Slicing)에 따라서 독립된 데이터 베이스 사용
컴포넌트
전체 애플리케이션을 재 컴파일하여 전체를 다시 통으로 재배포
변경이 있는 서비스 부분만 부분 배포
확장성
전체 서버의 수를 늘리거나 각 서버의 CPU수를 늘려줘야 함
부하를 많이 받는 서비스 컴포넌트만 가능
특징
작은 크기의 애플리케이션에서는 용이. 시스템 컴포넌트들이 서로 참조에 의한 호출 (call-by-reference)기반으로 타이트하게 연결
컴포넌트를 되도록이면 업무 단위로 잘게 자르는 fine grained(작은 덩어리)의 서비스를 지향.
단점
잦은 배포가 있는 시스템의 경우 불리. 컴포넌트 별로 기능/비기능적 특성에 맞춰서 다른 기술을 도입하고자 할 때 유연하지 않음. 특정 컴포넌트나 모듈에서의 성능 문제나 장애가 다른 컴포넌트에까지 영향.
서비스를 컴포넌트의 URL 수 증가. API를 사용하는 클라이언트에서 서버간의 통신이나, 서버간의 API 통신의 경우 p2p(Point to Point)형태로 토폴로지가 복잡해지고 거미줄 모양의 서비스 컴포넌트간의 호출 구조는 향후 관리의 문제 발생 가능.
[추가자료: Agile Architecture 배경적지식]
1) Agile Architecture 개념
- S/W 개발시, 상세함을 대체하면서 결과 verify를용이하게할수있는 Architecture.
- Agile Manifesto 에 6원칙에기초하여등장하게됨
2) Microservice 배경
- Agile이적용된조직Organization이 비대 또는, 시스템 Scale이커지면, Scrum of scrum/SAFe(Scaled Agile Framework) 등의사소통채널및시스템 Iteration(Sprint) 도증가. 이는 Agile 사상에벗어나는고민에서출발한개념 (Microservice를 SOA 개념/등장배경에견주어설명하기도함)
- 독립적인적용이가능한 unit으로 구성된 Microservice-based 시스템일경우, 기능이 명확히 분리된 단위라서 상호 서비스 영향이 없기 때문에 빠르고 쉽게 적용이 가능, 장점이라고얘기함
[그림해설] S/W 개발을 예로 들면, Microservices 가 Agile 진행에서 하나의 구조적 단계로 볼 수 있다는 의미
[정의] Agile 프로젝트기반 조직에서 점수(Story Point)를 산정하여 Sprint 계획대비 현재진행을 파악할 수 있는 차트 스토리포인트(Story Point) 산정, Sprint 진척률 가시화 ----- Burn down(소멸차트) 상세설명 기울기를 통하여 작업수행 속도 판단 Story Point 산정 및 담당 업무할당에 너무 많은 시간이 소요되면 진척에 역효과 발생. 적절한 이해관계자 들간의 범위 및 일정조율 중요.
Burn-dwon Chart, Burn-up Chart, 기능 차트
토픽 이름
번다운차트(Burn down)
분류
PM > Agile > 번다운차트
키워드(암기)
번업차트, 스토리포인트(Story Point), Sprint 진척률가시화
암기법(해당경우)
번쓰 (번다운/스토리포인트/스프린트)
기출문제
번호
문제
회차
1
Burn-down chart와 EVM를비교하시오.
합숙.2014.7.26.1교시.3
2
11. Burn down chart에대하여설명하시오.
모의.2011.01.1교시.11
3
Agile 프로세스가국내에많이도입이 되고 있다. 프로젝트관리자로서, 프로젝트마다개별개발방법론과프로세스의테일러링이필요하다. 다음 질문에 대해 설명하시오. 가. SW의획득가치기법인 EVM과 Burn Down Chart를비교하시오. 나. 린프로세스를정의하고 7개원칙에대해 5가지이상설명하시오. 다. Kanban과린프로세스를비교하시오.
[CI의 정의] - 개발자 별로 소스코드를 지속적/연속적 통합하여 자동화된 빌드, 테스트 및 배포 기능을 통하여 단기간에 고품질의 SW를 획득하는 기술 (형상관리 필수적용) [CD의 정의] 변경된 요구사항에 대한 개발/통합/배포/테스트/릴리즈를 자동화함으로써 SW의 개발과 운영을 통합하여 DevOps를 지원하는 소프트웨어 연속적인 배포 출시 전략
CI, 자동화, 통합, 빌드, 배포, Jenkins 연속적 소스 머지, 연속 배포 CI : 소스파일을 실행파일(바이너리파일)로 컴파일, 테스트, 테스트서버에 배포까지 프로 세스(Build Tool)
토픽 이름
CI (Continuous Integration), CD (Continuous Delivery)
분류
PM > Agile > CI, CD
키워드(암기)
소스파일의 연속적인 통합(CI) 및연속적배포(CD) CI : 소스코드의통합/테스트/배포 자동화를 통한 고품질 SW 획득 CD : S/W 개발및운영통합을통한 DevOps를지원하는연속적인배포
다양한 요구 변화에 대한 품질을 확보하며 안정적인 시스템 운영을 위해 스타트업 기업 위주로 DevOps 사상을 도입하는 경우가 증가하고 있다. DevOps 의부각배경과 CI(Continuous Integration) 도구, 그리고 DevOps 적용시고려사항에대해서설명하시오.