Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Sungchul Park
PDF, PPTX
4,465 views
변경에 강한 애플리케이션, 유기적 애플리케이션
유기물처럼 변화에 대응하는 애플리케이션을 개발하려면 가장 먼저 바꾸어야 하는 SW 개발에 대한 심상을 얘기해 봅니다.
Software
◦
Read more
70
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 49
2
/ 49
3
/ 49
4
/ 49
5
/ 49
6
/ 49
7
/ 49
8
/ 49
9
/ 49
10
/ 49
11
/ 49
12
/ 49
13
/ 49
14
/ 49
15
/ 49
16
/ 49
17
/ 49
18
/ 49
19
/ 49
20
/ 49
21
/ 49
22
/ 49
23
/ 49
24
/ 49
25
/ 49
26
/ 49
27
/ 49
28
/ 49
29
/ 49
30
/ 49
31
/ 49
32
/ 49
33
/ 49
34
/ 49
35
/ 49
36
/ 49
37
/ 49
38
/ 49
39
/ 49
40
/ 49
41
/ 49
42
/ 49
43
/ 49
44
/ 49
45
/ 49
46
/ 49
47
/ 49
48
/ 49
49
/ 49
More Related Content
PDF
자바 서버 애플리케이션 아키텍처 안티 패턴
by
Sungchul Park
PDF
스프링보다 중요한 스프링 이야기
by
Sungchul Park
PPTX
SpringMVC 전체 흐름 알아보기
by
Myung Woon Oh
PDF
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
by
Sungchul Park
PDF
keras 빨리 훑어보기(intro)
by
beom kyun choi
PDF
스프링 코어 강의 2부 - Java 구성을 활용한 스프링 코어 사용
by
Sungchul Park
PDF
스프링 코어 강의 1부 - 봄 맞이 준비 운동
by
Sungchul Park
PDF
자바8 람다 나머지 공개
by
Sungchul Park
자바 서버 애플리케이션 아키텍처 안티 패턴
by
Sungchul Park
스프링보다 중요한 스프링 이야기
by
Sungchul Park
SpringMVC 전체 흐름 알아보기
by
Myung Woon Oh
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
by
Sungchul Park
keras 빨리 훑어보기(intro)
by
beom kyun choi
스프링 코어 강의 2부 - Java 구성을 활용한 스프링 코어 사용
by
Sungchul Park
스프링 코어 강의 1부 - 봄 맞이 준비 운동
by
Sungchul Park
자바8 람다 나머지 공개
by
Sungchul Park
Viewers also liked
PPTX
유지보수성이 sw의 품질이다.
by
도형 임
PDF
[오픈소스컨설팅]Spring MVC
by
Ji-Woong Choi
PDF
OAF Developer Guide 13.1.3
by
crwanare
PPTX
Hibernate5.x
by
visual khh
PPTX
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
by
Minchul Jung
PPTX
3-1. css
by
JinKyoungHeo
PDF
Performance test using_j_meter_ver1.2
by
Tommy Lee
PDF
10 steps to implement edms
by
LogicalDOC
PDF
쏠그룹
by
해형 유
PPTX
고품질 Sw와 개발문화
by
도형 임
PDF
Spring3 발표자료 - 김연수
by
Yeon Soo Kim
PDF
Work With Engineer
by
Sungchul Park
PDF
LogicalDOC White Paper
by
LogicalDOC
PDF
Spring으로 콩 심기
by
경원 이
PDF
java 8 람다식 소개와 의미 고찰
by
Sungchul Park
PPTX
진행사항
by
해형 유
PDF
Spring@mvc웹호스팅
by
J.H Ahn
PPTX
쏠그룹 조사
by
해형 유
PDF
ON SEOUL : 온서울
by
동일 김
유지보수성이 sw의 품질이다.
by
도형 임
[오픈소스컨설팅]Spring MVC
by
Ji-Woong Choi
OAF Developer Guide 13.1.3
by
crwanare
Hibernate5.x
by
visual khh
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
by
Minchul Jung
3-1. css
by
JinKyoungHeo
Performance test using_j_meter_ver1.2
by
Tommy Lee
10 steps to implement edms
by
LogicalDOC
쏠그룹
by
해형 유
고품질 Sw와 개발문화
by
도형 임
Spring3 발표자료 - 김연수
by
Yeon Soo Kim
Work With Engineer
by
Sungchul Park
LogicalDOC White Paper
by
LogicalDOC
Spring으로 콩 심기
by
경원 이
java 8 람다식 소개와 의미 고찰
by
Sungchul Park
진행사항
by
해형 유
Spring@mvc웹호스팅
by
J.H Ahn
쏠그룹 조사
by
해형 유
ON SEOUL : 온서울
by
동일 김
Similar to 변경에 강한 애플리케이션, 유기적 애플리케이션
PDF
[1C3]소프트웨어개발 방법론을 건축가에게서만 배워야 하는가
by
NAVER D2
PDF
모바일 앱 개발을 위한 Agile 적용
by
Kevin Kim
PPTX
위대한개발문화
by
신승환
PDF
클라우드 네이티브로의 전환을 위한 여정
by
VMware Tanzu Korea
PPTX
소프트웨어 개발 프로세스 개선
by
Jung Dohyun
PPTX
제13회컨퍼런스 조대협 서버사이드개발
by
Terry Cho
PPTX
소프트웨어개발자는누구인가?
by
Minsuk Lee
PDF
INFCON2023-지속 가능한 소프트웨어 개발을 위한 경험과 통찰
by
Myeongseok Baek
PPTX
현장에서 사용하는 Software production
by
Jinho Yoo
PPTX
더 나은 S/W를 만드는 것에 관하여 (OKKY 세미나)
by
Jeongho Shin
PDF
[오픈소스컨설팅]소프트웨어 개발 준비 과정
by
Ji-Woong Choi
PPTX
행복한 소프트웨어
by
Hong Jae Kwon
PDF
Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰 - 정시 퇴근을 위해 우리는 어떻게 해야할 것인가?
by
정민 안
PDF
AWS Cloud Job Fair 2022 발표자료
by
Jesang Yoon
PPTX
글로벌 SW를 꿈꾸다
by
uEngine Solutions
PPTX
아키텍트대회 유엔진-장진영-Sw공학표준을 기반한 alm
by
uEngine Solutions
PDF
애자일 프랙티스
by
한 경만
PPTX
SOSCON2015 SI이노베이션
by
DoHyun Jung
PPTX
Node.js 를 이용한 문서화 실전 사례 20130618
by
광명 우
PPTX
창의와 열정, 소프트웨어 엔지니어
by
Kyung Koo Yoon
[1C3]소프트웨어개발 방법론을 건축가에게서만 배워야 하는가
by
NAVER D2
모바일 앱 개발을 위한 Agile 적용
by
Kevin Kim
위대한개발문화
by
신승환
클라우드 네이티브로의 전환을 위한 여정
by
VMware Tanzu Korea
소프트웨어 개발 프로세스 개선
by
Jung Dohyun
제13회컨퍼런스 조대협 서버사이드개발
by
Terry Cho
소프트웨어개발자는누구인가?
by
Minsuk Lee
INFCON2023-지속 가능한 소프트웨어 개발을 위한 경험과 통찰
by
Myeongseok Baek
현장에서 사용하는 Software production
by
Jinho Yoo
더 나은 S/W를 만드는 것에 관하여 (OKKY 세미나)
by
Jeongho Shin
[오픈소스컨설팅]소프트웨어 개발 준비 과정
by
Ji-Woong Choi
행복한 소프트웨어
by
Hong Jae Kwon
Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰 - 정시 퇴근을 위해 우리는 어떻게 해야할 것인가?
by
정민 안
AWS Cloud Job Fair 2022 발표자료
by
Jesang Yoon
글로벌 SW를 꿈꾸다
by
uEngine Solutions
아키텍트대회 유엔진-장진영-Sw공학표준을 기반한 alm
by
uEngine Solutions
애자일 프랙티스
by
한 경만
SOSCON2015 SI이노베이션
by
DoHyun Jung
Node.js 를 이용한 문서화 실전 사례 20130618
by
광명 우
창의와 열정, 소프트웨어 엔지니어
by
Kyung Koo Yoon
More from Sungchul Park
PDF
DDD 산책
by
Sungchul Park
PDF
자바 테스트 자동화
by
Sungchul Park
PDF
자바에서 null을 안전하게 다루는 방법
by
Sungchul Park
PDF
Java.next
by
Sungchul Park
PDF
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
by
Sungchul Park
PDF
Java the good parts
by
Sungchul Park
PDF
애자일 안한 이야기
by
Sungchul Park
PDF
자바8 나머지 공개
by
Sungchul Park
ODP
팀장 잔소리
by
Sungchul Park
PDF
Java null survival guide
by
Sungchul Park
PDF
Open Source가 바꾼 자바
by
Sungchul Park
PDF
Geeks at SK Planet
by
Sungchul Park
DDD 산책
by
Sungchul Park
자바 테스트 자동화
by
Sungchul Park
자바에서 null을 안전하게 다루는 방법
by
Sungchul Park
Java.next
by
Sungchul Park
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
by
Sungchul Park
Java the good parts
by
Sungchul Park
애자일 안한 이야기
by
Sungchul Park
자바8 나머지 공개
by
Sungchul Park
팀장 잔소리
by
Sungchul Park
Java null survival guide
by
Sungchul Park
Open Source가 바꾼 자바
by
Sungchul Park
Geeks at SK Planet
by
Sungchul Park
변경에 강한 애플리케이션, 유기적 애플리케이션
1.
유기적 애플리케이션 SW 개발에 대한 관점 바꾸기 ‑ 박성철 ‑
2.
生卽苦 (생 즉 고)
3.
SW 개발이란?
6.
공장 테일러리즘(과학적 관리법) 생산 수단은 회사 소유 단순 근로자
7.
공장 같은 개발
8.
인공물
9.
10.
11.
12.
13.
생물 같은 인공물
14.
15.
16.
17.
18.
생물의 특징 번식(복재) 세대 반복, 유전 진화 성장, 변태 회복
19.
생물의 생존 “결국 살아남는 종은 강인한 종도 아니고, 지적 능력 이 뛰어난 종도 아니다. 변화에 가장 잘 대응하는 종 이 종국에는 살아남는 것이다.” ‑ 찰스 다윈
20.
변화 “The only thing that never changes is that everything changes.” ― Louis LʹAmour
21.
SW 유지보수란? 교정적 유지보수: 21.7% 긴급 수정(12.4%), 정규 수정(9.3%) 적응적 유지보수: 23.6% 데이터 규격 변경(17.4%), H/W 변경(6.2%) 완성도 향상 유지보수: 51.3% 요구 사항 변경(41.8%), 문서화(5.5%), 최적화(4%) 기타(예방적 유지보수 포함): 3.4%
23.
변화 준비 “너무 크고 꼬여있거나 복잡해서 유지 보수가 더 이 상 악화될 수 없는 코드는 없다.” ‑ 제랄드 와인버그 SW의 변화는 필연 의식적이고 계획적인 대응 필요 변화를 진화의 기회로 활용 가능 내적인 질의 향상 유도
25.
설계
26.
SW 설계
27.
분해(Decomposition)?
28.
리팩터링
29.
리팩터링 “소프트웨어를 보다 쉽게 이해할 수 있고, 적은 비용 으로 수정할 수 있도록 겉으로 보이는 동작의 변화 없이 내부 구조(?)를 개선(?)하는 것”
30.
Re‑factor‑ing factoring = decomposing
31.
테스트 자동화와 리팩터링
32.
테스트 주도 개발 TDD 주기 1. 실패하는 테스트 작성 2. 통과하는 코드 작성 3.
리팩터링 점진적인 테스트 보강
33.
TDD의 리팩터링 TDD = 점진적으로 테스트와 구현을 추가 열린 설계 완성된 SW보다 만족시켜야 할 테스트 수가 적음 훨씬 과격하고 큰 변화가 가능한 리팩터링 TDD = 테스트 주도 설계(Test Driven Design)
34.
테스트 주도 설계 TDD를 설계관점에서 바라봄 단순한 TDD 주기에서 설계가 창발 적절한 추상화(YAGNI!) 최적의 설계
35.
창발적 설계 점진적인 리팩터링과 구현의 반복에서 창발하는 설계 코드안에서 설계(명사) 발견 효율적인 추상화 모색 관용적 패턴을 수확 코딩이 여전히 단순 생산 작업인가?
36.
소스 코드 = 설계 문서
38.
코딩 = 설계
39.
두 공장 비교 구분 기존 모델 새 모델 설계 단계
포괄적 사전 설계 코딩 단계 생산 단계 코딩 단계 컴파일/빌드 단계 프로그래머 코더(단순 노동자) 설계자(전문가)
40.
TDD 필수? 핵심은 점진적인 구현과 리팩터링의 반복 설계로서의 리팩터링 TLD + CI도 가능
41.
창발적 설계와 아키텍처
42.
SW 아키텍처 “Architecture represents the significant design decisions that shape a system, where significance is measured by cost of change.” ‑ Grady Booch
43.
오염된 도메인 추상 계층별로 관심사에 따라 계층을 나누고 다중 계층 아키 텍처 적용했으나 의존 방향이 잘못되어 도메인이 표현이나 데이터(Infra)에 역으로 의존하게 되는 상황
44.
전통적 계층형 아키텍처의 문제 추상 수준에 따라 계층을 나누는 계층형 아키텍처는 전통적 인 시스템 추상화 순서에 따라 계층을 나누기 때문에 도메인 계층이 데이터 계층에 의존하게 됨
45.
DIP에 따른 계층형 아키텍처 “고차원의 모듈은 저차원의 모듈에 의존하면 안된다. 이 두 모듈 모두 다른 추상화된 것에 의존 해야 한다.”
46.
계층형 아키텍처 = 안티패턴
47.
진화하는 아키텍처 (evolutionary architecture) 설계가 코딩의 결과라면 결국 설계는 계획되는 것이 아니라 창발되는 것이며 아키텍처도 그에 따라서 진화해야 한다고 보는 관점
48.
스프링과 진화적 아키텍처
49.
결론 변화는 불가피하다, 기회로 활용하자 반복적인 리팩토링이 수반되는 코딩은 설계이다 코드 = 설계도, 코딩 = 설계 설계는 창발적 작업이다 창발적 설계를 지원하는 아키텍처는 진화할 수 있다 스프링은 창발적 설계와 진화적 아키텍처를 지원한다.
Download