A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07.

Slides:



Advertisements
Similar presentations
Component Development for the Component Description Framework (CDF) Training Dr.-Ing. Ulrich Dinger.
Advertisements

From Ontology Design to Deployment Semantic Application Development with TopBraid Holger Knublauch
SQL Server Accelerator for Business Intelligence (SSABI)
Framework is l Reusable Code, often domain specific (GUI, Net, Web, etc) l expressed as l a set of classes and l the way objects in those classes collaborate.
XHTML Presenters : Jarkko Lunnas Sakari Laaksonen.
MIT iCampus iLabs Software Architecture Workshop June , 2006.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Content Management Systems Why to use. And, if you’re going to use one, which one???
Reuse Activities Selecting Design Patterns and Components
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
AgriDrupal - a “suite of solutions” for agricultural information management and dissemination, built on the Drupal CMS; - the community of practice around.
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Health Level Seven Experience Report Paul V. Biron Kaiser Permanente W3C XML Schema User Experience Workshop, Jun 21-22, 2005.
Sage CRM v7.2 Developers Course An Introduction to the Developer Program.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
9 Feb 2004Mikko Mäkinen & Saija Ylönen Joint UNECE/Eurostat/OECD work session on statistical metadata (METIS) Geneva, 9-11 February 2004, Topic (ii): Metadata.
Christopher Jeffers August 2012
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Elliott eOrders.Net Edward M. Kwang, President Rachel R. Locklair, Project Lead.
1 A Web Specific Language for Content Management Systems Viðar Svansson, Roberto E. Lopez-Herrejon Computing Laboratory University of Oxford.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Event Driven Programming
March 12 & 13, 2007 Practical Code Generation Peter Bell SystemsForge.
Life cycle Application Generation Peter Bell Chief Technology Officer SystemsForge Peter Bell Chief Technology Officer SystemsForge.
Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager.
Automate Administration with KURL Shayne Koestler.
Updating JUPITER framework using XML interface Kobe University Susumu Kishimoto.
Ahmed M. Gamal, J2EE Mohamed Maaty, Information hp INTRODUCING JBPM.
L10 - April 12, 2006copyright Thomas Pole , all rights reserved 1 Lecture 10: Software Assets and Text: Ch. 8: Language Anatomy and Ch 9: Families.
Kuali Enterprise Workflow Ryan Kirkendall (Indiana University) Brian McGough (Indiana University)
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.
Office Business Applications Workshop Defining Business Process and Workflows.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Automated Transformation of Statements Within Evolving Domain Specific Languages Peter Bell CEO/CTO, SystemsForge 7th OOPSLA Workshop on Domain-Specific.
Frameworks CompSci 230 S Software Construction.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
XML Alyssa Roberts. What is XML? Extensible Markup Language Specification to creating custom mark-up languages Simplified version of SGML, originally.
Software Product Lines Peter Bell CEO/CTO, SystemsForge cf.Objective() 2008 Peter Bell CEO/CTO, SystemsForge cf.Objective() 2008.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
February 8, 2006copyright Thomas Pole , all rights reserved 1 Lecture 3: Reusable Software Packaging: Source Code and Text Chapter 2: Dealing.
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
Declarative Languages and Model Based Development of Web Applications Besnik Selimi South East European University DAAD: 15 th Workshop “Software Engineering.
Requirements and Estimating Scotch on the Rocks ‘08 Peter Bell SystemsForge Peter Bell SystemsForge.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Sitecore. Compelling Web Experiences Page 1www.sitecore.net Patrick Schweizer Director of Sales Enablement 2013.
Website Update and Use of Official accounts Dr.Lasantha Ranwala ( MBBS,MSc-Biomedical Informatics) Medical Officer - Health Informatics RDHS Office.
XML 2002 Annotation Management in an XML CMS A Case Study.
Comparison B/W Word Press and Joomla By Joomdev Software Solution Pvt Ltd.
Trimantra Software Solution Offshore Software Development Outsourcing Company Visit :
Custom Authentication Providers For DotNetNuke v5.0 Stan Schultes – Sarasota, FL Florida Community Leader
Application generation Peter Bell SystemsForge Peter Bell SystemsForge Beyond Scaffolding.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Drupal Basics May 30, 2012 By Sean Fitzpatrick. Sean Fitzpatrick | Welcome We're going to talk about Drupal We're going to keep it pretty.
Software Reuse. Objectives l To explain the benefits of software reuse and some reuse problems l To discuss several different ways to implement software.
How a Component Content Management System Can Save Your Sanity
XML Based Interoperability Components
Chapter 7 –Implementation Issues
Execute your Processes
Emerging Platform#3 Android & Programming an App
Presentation transcript:

A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07

Overview What we do The problem Our approach Lessons learned

What We Do... Custom web applications Small/mid sized businesses $10,000 - $50,000 Content management E-commerce Document management Workflow...

The Problems Clients don’t know Elicit requirements Clients don’t care Efficient feature reuse Clients DO care Build anything, change everything

Clients Don’t Know... Problem: Marketing managers/CEOs No software experience Vague requirements Fixed bid/scope/timeframe Need: Quick, flexible approach

Clients Don’t Care... Problem: Don’t want to specify everything Mainly want “good enough” Need: Reusable “best practices” Efficient fabrication

Clients DO Care... Care about some things Covers all areas Build anything - change everything

Our Approach Software product line Specification process Feature model Decision support Domain Specific Languages Dynamic framework

Software Product Lines Lots of similar applications Framework Components Configuration Extension Bounded/Unbounded Layered approach

Specification Process Business intent Roles/personas Essential tasks Packages Screens/Actions IA Look and feel

Feature Modeling Commercial products pure:variants Big Lever Our approach Feature tree Essential/optional metadata Feature constraints

Decision Support Associating optional metadata Decision tree Non-technical users

Domain Specific Languages “Efficiently encode executable intent” Everything is a DSL Language, API, XML, Data model, etc. Flexibility in implementation “When I use a word, it means just what I choose it to mean” - Humpty Dumpty

Domain Specific Languages Abstract grammar vs. Concrete Syntax Projections (storage/editing) Edit: cms Store: db Publish: XML Consume: Framework/API

Dynamic Framework Powered by parameterization Where are the classes? Merging DSLs with code Inheritance, AOP, mixins (object/class), code blocks

Lessons Learned Reuse specs - not code Framework vs. code generation Evolution is key

Questions? Read the paper :) Website: Blog: Yahoo: freshstartsw - AIM: