SlideShare a Scribd company logo
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
 
Dairy management system project report..pdf
Dairy management system project report..pdfDairy management system project report..pdf
Dairy management system project report..pdfKamal Acharya
 
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
 
Dairy management system project report..pdf
Dairy management system project report..pdfDairy management system project report..pdf
Dairy management system project report..pdf
 
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
 

Recently uploaded

Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...Sri Ambati
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesThousandEyes
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...Product School
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 

Recently uploaded (20)

Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 

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