SlideShare a Scribd company logo
1 of 47
Applications Simultaneously -  프레임웍과 어플리케이션 동시에 구축하기 Ko sang won funkcode@gmail.com / funkcode.tistory.com High Performance Computing and Object Technology Lab. Hanyang University
http://hillside.net/conferences/plop.htm : Pattern Languages of Programs   “ Building Frameworks and  Applications Simultaneously” - Andreas Ruping ’’
Why  make the Framework ? App App App Framework
TEAM  B Application TEAM  A Application TEAM  C Application Framework ? Framework ? Framework ?
Application Framework I’m sorry I am late … roblem The  Framework     must  be built  in  parallel     to applications that are going to use it
Overview of the Pattern Language A Pattern Language helps the framework developer uggestion
unning Example ,[object Object],[object Object],To build
 
The  interface  to the application program To  manage  the  versioning of logical entities To  store  and  retrieve  objects in database
 
 
Application  don’t  yet exist - Competing interests ‘ Rule of Three’ A first version of the framework
[object Object],[object Object],[object Object],[object Object]
Requirement Requirement Requirement Restrict the mapping of logical entities onto physical tables Only simple mappings are possible
“ THREE EXAMPLES” - Evolving frameworks “ TWO PILOT APPLICATIONS” “ BUDGET FACTOR 2.5”
 
 
[object Object],[object Object]
= 30 person months 12 person months x 2.5 5 people (2 people - full time) Maintaining the just released version Preparing a new version coaching delay
“ SIZE THE ORGANISATION” “ SIZE THE SCHEDULE” - A Generative Development-Process Pattern Language “ RULE OF THREE” and “BUDGET FACTOR 2.5” framework development = 2.5 * application development 3 * application development = framework development + 3 * framework instantiation framework instantiation = 1/6 * application development
 
Some functionality,  but use it in  different ways . There is  a common abstraction None  of these applications have been built so far Have to find the  right abstractions  for your framework
[object Object],[object Object],[object Object]
The health insurance system is a very typical one “ Two-dimensional versioning”
“ USER INVOLVEMENT” ,[object Object],[object Object],“ ENGAGE CUSTOMERS” - A Generative Development-Process Pattern Language “ IT’S A RELATIONSHIP NOT A SALE” - Customer Interaction Patterns “ TESTS BASED ON PILOT APPLICATIONS”
 
A Framework with a relatively is more easily understood A  smaller  number of  more  powerful functions A  larger  number of  less  powerful functions ?
[object Object],[object Object],[object Object]
The data access layer  keeps  track  of which objects have been changed A session applications can  commit  all or some of changes to the database ,[object Object],[object Object],[object Object]
“ FINE-GRAINED OBJECTS” - Evolving frameworks The risk of architectural mismatch
 
Application Developer ? Framework
Run common workshops Provide tools and demonstrate how to use these tools Offer tests of how an application and your framework collaborate Show the users how to optimize the applications Make tutorials and documentation
[object Object],[object Object],[object Object],[object Object]
“ TWO PILOT APPLICATIONS” “ BUILD TRUST” - Customer Interaction Patterns “ BUDGET FACTOR 2.5”
 
Your framework is  a framelet ,  - cannot be tested alone Test case coverage   is much harder to achieve Can be difficult to find  realistic test scenarios Framework Need applications that use the framework to act as test drivers
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],Two pilot systems
“ TWO PILOT APPLICATIONS” “ USER INVOLVEMENT”
 
Application Development Teams Framework Development Team “ I have to keep the framework  simple ”
[object Object],[object Object]
The printing system The workflow system An additional function Several requests for extending the two-dimensional
“ FRAMELETS FOR MULTIPLE USE” ..at least three times
 
[email_address] http://funkcode.tistory.com - Thank you for your attention

More Related Content

What's hot

Why vb is known as front end tool
Why vb is known as front end toolWhy vb is known as front end tool
Why vb is known as front end toolMark Arangcon
 
Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development IntroductionGanuka Yashantha
 
Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)  Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering) MuhammadTalha436
 
Chapter 08
Chapter 08Chapter 08
Chapter 08guru3188
 
Agile performance engineering with cloud 2016
Agile performance engineering with cloud   2016Agile performance engineering with cloud   2016
Agile performance engineering with cloud 2016Ken Chan
 
Quality Assurance with Manual Testing
Quality Assurance with Manual TestingQuality Assurance with Manual Testing
Quality Assurance with Manual TestingEdureka!
 
System models of sdlc- v model
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v modelMinal Kashyap
 
Top 10 Software Testing Tool to Help You The Most!
Top 10 Software Testing Tool to Help You The Most!Top 10 Software Testing Tool to Help You The Most!
Top 10 Software Testing Tool to Help You The Most!Harish Chand
 
Approaches to Software Development
Approaches to Software DevelopmentApproaches to Software Development
Approaches to Software DevelopmentReem Alattas
 
Code camp 2015 visual programming mm
Code camp 2015 visual programming mmCode camp 2015 visual programming mm
Code camp 2015 visual programming mmMitch Miller
 
IGT's Intelligent Automation Framework
IGT's Intelligent Automation FrameworkIGT's Intelligent Automation Framework
IGT's Intelligent Automation Frameworkgreyaudrina
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionGanuka Yashantha
 
Automation Testing
Automation TestingAutomation Testing
Automation TestingMphasis
 

What's hot (20)

Why vb is known as front end tool
Why vb is known as front end toolWhy vb is known as front end tool
Why vb is known as front end tool
 
Ijetcas14 413
Ijetcas14 413Ijetcas14 413
Ijetcas14 413
 
.NET Developer
.NET Developer.NET Developer
.NET Developer
 
Slides chapters 26-27
Slides chapters 26-27Slides chapters 26-27
Slides chapters 26-27
 
Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development Introduction
 
Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)  Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Testing webapps
Testing webappsTesting webapps
Testing webapps
 
Agile performance engineering with cloud 2016
Agile performance engineering with cloud   2016Agile performance engineering with cloud   2016
Agile performance engineering with cloud 2016
 
Reuse landscape
Reuse landscapeReuse landscape
Reuse landscape
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Quality Assurance with Manual Testing
Quality Assurance with Manual TestingQuality Assurance with Manual Testing
Quality Assurance with Manual Testing
 
System models of sdlc- v model
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v model
 
Top 10 Software Testing Tool to Help You The Most!
Top 10 Software Testing Tool to Help You The Most!Top 10 Software Testing Tool to Help You The Most!
Top 10 Software Testing Tool to Help You The Most!
 
Approaches to Software Development
Approaches to Software DevelopmentApproaches to Software Development
Approaches to Software Development
 
Code camp 2015 visual programming mm
Code camp 2015 visual programming mmCode camp 2015 visual programming mm
Code camp 2015 visual programming mm
 
TestCraft
TestCraftTestCraft
TestCraft
 
IGT's Intelligent Automation Framework
IGT's Intelligent Automation FrameworkIGT's Intelligent Automation Framework
IGT's Intelligent Automation Framework
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
 

Viewers also liked

IoC and DI Pattern
IoC and DI PatternIoC and DI Pattern
IoC and DI PatternSangwon Ko
 
프레임워크와 어플리케이션 동시에 구축하기
프레임워크와 어플리케이션 동시에 구축하기프레임워크와 어플리케이션 동시에 구축하기
프레임워크와 어플리케이션 동시에 구축하기Sangwon Ko
 
동영상입문
동영상입문동영상입문
동영상입문Sukjin Yun
 
HolubOnPatterns/chapter2_2
HolubOnPatterns/chapter2_2HolubOnPatterns/chapter2_2
HolubOnPatterns/chapter2_2SeungHyun Hwang
 
Builder, prototype, singleton pattern
Builder, prototype, singleton patternBuilder, prototype, singleton pattern
Builder, prototype, singleton patternYoonJong Choi
 
Servlet design pattern
Servlet design patternServlet design pattern
Servlet design patternSukjin Yun
 
Unit of Mitigation
Unit of MitigationUnit of Mitigation
Unit of MitigationSangwon Ko
 
CDP2.0 - cloudpack night #7 -
CDP2.0 - cloudpack night #7 -CDP2.0 - cloudpack night #7 -
CDP2.0 - cloudpack night #7 -SORACOM, INC
 
Servlet Architecture
Servlet ArchitectureServlet Architecture
Servlet ArchitectureJU Chae
 
Domain-Driven Design 훑어보기 Part 1
Domain-Driven Design 훑어보기 Part 1Domain-Driven Design 훑어보기 Part 1
Domain-Driven Design 훑어보기 Part 1Sangwon Ko
 
Getting started with Public Cloud and AWS
Getting started with Public Cloud and AWSGetting started with Public Cloud and AWS
Getting started with Public Cloud and AWSCohesive Networks
 
자바 서버 애플리케이션 아키텍처 안티 패턴
자바 서버 애플리케이션 아키텍처 안티 패턴자바 서버 애플리케이션 아키텍처 안티 패턴
자바 서버 애플리케이션 아키텍처 안티 패턴Sungchul Park
 
예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법hyun soomyung
 
SW개발자가 얘기하는 건축이야기
SW개발자가 얘기하는 건축이야기SW개발자가 얘기하는 건축이야기
SW개발자가 얘기하는 건축이야기Sangwon Ko
 
실용주의 디자인패턴 2 인터페이스로 프로그래밍하기
실용주의 디자인패턴   2 인터페이스로 프로그래밍하기실용주의 디자인패턴   2 인터페이스로 프로그래밍하기
실용주의 디자인패턴 2 인터페이스로 프로그래밍하기Cosmos Shin
 

Viewers also liked (19)

IoC and DI Pattern
IoC and DI PatternIoC and DI Pattern
IoC and DI Pattern
 
Heartbeat
HeartbeatHeartbeat
Heartbeat
 
프레임워크와 어플리케이션 동시에 구축하기
프레임워크와 어플리케이션 동시에 구축하기프레임워크와 어플리케이션 동시에 구축하기
프레임워크와 어플리케이션 동시에 구축하기
 
동영상입문
동영상입문동영상입문
동영상입문
 
Design patterns
Design patternsDesign patterns
Design patterns
 
HolubOnPatterns/chapter2_2
HolubOnPatterns/chapter2_2HolubOnPatterns/chapter2_2
HolubOnPatterns/chapter2_2
 
Builder, prototype, singleton pattern
Builder, prototype, singleton patternBuilder, prototype, singleton pattern
Builder, prototype, singleton pattern
 
Servlet design pattern
Servlet design patternServlet design pattern
Servlet design pattern
 
Unit of Mitigation
Unit of MitigationUnit of Mitigation
Unit of Mitigation
 
CDP総選挙 2013
CDP総選挙 2013CDP総選挙 2013
CDP総選挙 2013
 
CDP2.0 - cloudpack night #7 -
CDP2.0 - cloudpack night #7 -CDP2.0 - cloudpack night #7 -
CDP2.0 - cloudpack night #7 -
 
Servlet Architecture
Servlet ArchitectureServlet Architecture
Servlet Architecture
 
Domain-Driven Design 훑어보기 Part 1
Domain-Driven Design 훑어보기 Part 1Domain-Driven Design 훑어보기 Part 1
Domain-Driven Design 훑어보기 Part 1
 
Getting started with Public Cloud and AWS
Getting started with Public Cloud and AWSGetting started with Public Cloud and AWS
Getting started with Public Cloud and AWS
 
자바 서버 애플리케이션 아키텍처 안티 패턴
자바 서버 애플리케이션 아키텍처 안티 패턴자바 서버 애플리케이션 아키텍처 안티 패턴
자바 서버 애플리케이션 아키텍처 안티 패턴
 
예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법
 
Cloud Design Pattern
Cloud Design PatternCloud Design Pattern
Cloud Design Pattern
 
SW개발자가 얘기하는 건축이야기
SW개발자가 얘기하는 건축이야기SW개발자가 얘기하는 건축이야기
SW개발자가 얘기하는 건축이야기
 
실용주의 디자인패턴 2 인터페이스로 프로그래밍하기
실용주의 디자인패턴   2 인터페이스로 프로그래밍하기실용주의 디자인패턴   2 인터페이스로 프로그래밍하기
실용주의 디자인패턴 2 인터페이스로 프로그래밍하기
 

Similar to B Fn As

Object oriented software_engg
Object oriented software_enggObject oriented software_engg
Object oriented software_enggAnnie Thomas
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software developmentPratik Devmurari
 
generic-software-process-models.ppt
generic-software-process-models.pptgeneric-software-process-models.ppt
generic-software-process-models.pptAayush847388
 
An Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
An Empirical Study of the Improved SPLD Framework using Expert Opinion TechniqueAn Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
An Empirical Study of the Improved SPLD Framework using Expert Opinion TechniqueIJEACS
 
The Bespoke Software Product Factory (2007)
The Bespoke Software Product Factory (2007)The Bespoke Software Product Factory (2007)
The Bespoke Software Product Factory (2007)Peter Antman
 
SOFTWARE BUILD AUTOMATION TOOLS A COMPARATIVE STUDY BETWEEN MAVEN, GRADLE, BA...
SOFTWARE BUILD AUTOMATION TOOLS A COMPARATIVE STUDY BETWEEN MAVEN, GRADLE, BA...SOFTWARE BUILD AUTOMATION TOOLS A COMPARATIVE STUDY BETWEEN MAVEN, GRADLE, BA...
SOFTWARE BUILD AUTOMATION TOOLS A COMPARATIVE STUDY BETWEEN MAVEN, GRADLE, BA...ijseajournal
 
IT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docxIT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docxvrickens
 
Software Engineering
Software Engineering Software Engineering
Software Engineering JayaKamal
 
Component design and implementation tools
Component design and implementation toolsComponent design and implementation tools
Component design and implementation toolsKalai Vani V
 
Sen2 Software Processes
Sen2 Software ProcessesSen2 Software Processes
Sen2 Software ProcessesMatzeAtFontys
 
Best practice adoption (and lack there of)
Best practice adoption (and lack there of)Best practice adoption (and lack there of)
Best practice adoption (and lack there of)John Pape
 
Software Engineering - Software Models
Software Engineering - Software ModelsSoftware Engineering - Software Models
Software Engineering - Software ModelsReddhi Basu
 
A New Model for Study of Quality Attributes to Components Based Development A...
A New Model for Study of Quality Attributes to Components Based Development A...A New Model for Study of Quality Attributes to Components Based Development A...
A New Model for Study of Quality Attributes to Components Based Development A...Kiogyf
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptRayonJ1
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineeringMuhammadTalha436
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxethiouniverse
 

Similar to B Fn As (20)

software engineering
software engineering software engineering
software engineering
 
Object oriented software_engg
Object oriented software_enggObject oriented software_engg
Object oriented software_engg
 
Sdpl1
Sdpl1Sdpl1
Sdpl1
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 
generic-software-process-models.ppt
generic-software-process-models.pptgeneric-software-process-models.ppt
generic-software-process-models.ppt
 
An Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
An Empirical Study of the Improved SPLD Framework using Expert Opinion TechniqueAn Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
An Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
 
The Bespoke Software Product Factory (2007)
The Bespoke Software Product Factory (2007)The Bespoke Software Product Factory (2007)
The Bespoke Software Product Factory (2007)
 
SOFTWARE BUILD AUTOMATION TOOLS A COMPARATIVE STUDY BETWEEN MAVEN, GRADLE, BA...
SOFTWARE BUILD AUTOMATION TOOLS A COMPARATIVE STUDY BETWEEN MAVEN, GRADLE, BA...SOFTWARE BUILD AUTOMATION TOOLS A COMPARATIVE STUDY BETWEEN MAVEN, GRADLE, BA...
SOFTWARE BUILD AUTOMATION TOOLS A COMPARATIVE STUDY BETWEEN MAVEN, GRADLE, BA...
 
Software process model
Software process modelSoftware process model
Software process model
 
IT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docxIT 8003 Cloud ComputingFor this activi.docx
IT 8003 Cloud ComputingFor this activi.docx
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Component design and implementation tools
Component design and implementation toolsComponent design and implementation tools
Component design and implementation tools
 
Sen2 Software Processes
Sen2 Software ProcessesSen2 Software Processes
Sen2 Software Processes
 
Best practice adoption (and lack there of)
Best practice adoption (and lack there of)Best practice adoption (and lack there of)
Best practice adoption (and lack there of)
 
Software Engineering - Software Models
Software Engineering - Software ModelsSoftware Engineering - Software Models
Software Engineering - Software Models
 
A New Model for Study of Quality Attributes to Components Based Development A...
A New Model for Study of Quality Attributes to Components Based Development A...A New Model for Study of Quality Attributes to Components Based Development A...
A New Model for Study of Quality Attributes to Components Based Development A...
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.ppt
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineering
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
Week 10
Week 10Week 10
Week 10
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Recently uploaded (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

B Fn As

  • 1. Applications Simultaneously - 프레임웍과 어플리케이션 동시에 구축하기 Ko sang won funkcode@gmail.com / funkcode.tistory.com High Performance Computing and Object Technology Lab. Hanyang University
  • 2. http://hillside.net/conferences/plop.htm : Pattern Languages of Programs “ Building Frameworks and Applications Simultaneously” - Andreas Ruping ’’
  • 3. Why make the Framework ? App App App Framework
  • 4. TEAM B Application TEAM A Application TEAM C Application Framework ? Framework ? Framework ?
  • 5. Application Framework I’m sorry I am late … roblem The Framework must be built in parallel to applications that are going to use it
  • 6. Overview of the Pattern Language A Pattern Language helps the framework developer uggestion
  • 7.
  • 8.  
  • 9. The interface to the application program To manage the versioning of logical entities To store and retrieve objects in database
  • 10.  
  • 11.  
  • 12. Application don’t yet exist - Competing interests ‘ Rule of Three’ A first version of the framework
  • 13.
  • 14. Requirement Requirement Requirement Restrict the mapping of logical entities onto physical tables Only simple mappings are possible
  • 15. “ THREE EXAMPLES” - Evolving frameworks “ TWO PILOT APPLICATIONS” “ BUDGET FACTOR 2.5”
  • 16.  
  • 17.  
  • 18.
  • 19. = 30 person months 12 person months x 2.5 5 people (2 people - full time) Maintaining the just released version Preparing a new version coaching delay
  • 20. “ SIZE THE ORGANISATION” “ SIZE THE SCHEDULE” - A Generative Development-Process Pattern Language “ RULE OF THREE” and “BUDGET FACTOR 2.5” framework development = 2.5 * application development 3 * application development = framework development + 3 * framework instantiation framework instantiation = 1/6 * application development
  • 21.  
  • 22. Some functionality, but use it in different ways . There is a common abstraction None of these applications have been built so far Have to find the right abstractions for your framework
  • 23.
  • 24. The health insurance system is a very typical one “ Two-dimensional versioning”
  • 25.
  • 26.  
  • 27. A Framework with a relatively is more easily understood A smaller number of more powerful functions A larger number of less powerful functions ?
  • 28.
  • 29.
  • 30. “ FINE-GRAINED OBJECTS” - Evolving frameworks The risk of architectural mismatch
  • 31.  
  • 33. Run common workshops Provide tools and demonstrate how to use these tools Offer tests of how an application and your framework collaborate Show the users how to optimize the applications Make tutorials and documentation
  • 34.
  • 35. “ TWO PILOT APPLICATIONS” “ BUILD TRUST” - Customer Interaction Patterns “ BUDGET FACTOR 2.5”
  • 36.  
  • 37. Your framework is a framelet , - cannot be tested alone Test case coverage is much harder to achieve Can be difficult to find realistic test scenarios Framework Need applications that use the framework to act as test drivers
  • 38.
  • 39.
  • 40. “ TWO PILOT APPLICATIONS” “ USER INVOLVEMENT”
  • 41.  
  • 42. Application Development Teams Framework Development Team “ I have to keep the framework simple ”
  • 43.
  • 44. The printing system The workflow system An additional function Several requests for extending the two-dimensional
  • 45. “ FRAMELETS FOR MULTIPLE USE” ..at least three times
  • 46.  
  • 47. [email_address] http://funkcode.tistory.com - Thank you for your attention