Selling Fusebox - PowerPoint PPT Presentation

About This Presentation
Title:

Selling Fusebox

Description:

Fusebox was used successfully on 2 projects in 2003 for Federal Agency B. Similar Projects ... Integration with Project A2s and restructuring to use the same ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 42
Provided by: Sandy133
Category:
Tags: fusebox | selling

less

Transcript and Presenter's Notes

Title: Selling Fusebox


1
Selling Fusebox
2
What is a framework
  • "A Framework is a partially complete software
    system that is intended to be instantiated. It
    defines the architecture for a family of systems
    and provides the basic building blocks to create
    them. It also defines the places were adaptations
    for specific functionality should be made.
  • Frank Buschmann
  • Corporate Research, Siemens, AG, Munich, Germany

3
Frameworks are very popular in the object
oriented world
  • There are over 50 Frameworks available for Java
    including
  • Struts, Apache
  • Java Application Framework - Sun
  • Frameworks are important in the object oriented
    world.
  • While frameworks are not yet as popular in the
    ColdFusion world, they are gaining in popularity
    as companies try to create large scale
    applications.

4
The first major ColdFusion framework
  • Spectra
  • First released by Allaire in 1999.
  • Cost approximately 12,000
  • Discontinued by Macromedia

5
The Fusebox Framework
  • Community Driven
  • Free
  • Over 20,000 downloads of the core files.

6
The Fusebox Philosophy
  • There are two ways of constructing a software
    design One way is to make it so simple that
    there are obviously no deficiencies, and the
    other way is to make it so complicated that there
    are no obvious deficiencies. The first method is
    far more difficult.C.A.R. Hoare

7
What's the problem?
  • According to The Standish Group, a research firm
    that focuses on mission critical project
    management applications, in year 2000, the
    percent of successful software projects was 28.
  • This was cited as "good news" since the figure
    was up from only 16 in 1984.
  • At least three other studies have confirmed these
    low success rates.

8
Point-to-Point Routing
New York
Tampa
9
Hub-and-Spoke System
Chicago
Seattle
New York
Atlanta
Los Angeles
Tampa
10
Point-to-Point Programming
Module F
Module E
Module B
Module C
Module A
Module D
11
Fusebox Programming
Module E
Module F
Module C
Fusebox
Module A
Module B
Module D
12
Perceptions
  • Too complicated
  • Small Applications
  • Takes too long to write FB applications
  • Isnt scalable
  • Many small files Too fragmented
  • URLs
  • Too much work

13
Benefits - Clients
  • Pay less overall costs
  • Get software sooner
  • Higher quality less costly to maintain

14
Benefits - Managers
  • Leverage investments in tools and training
  • Less dependent on individual employees
  • Produce in less time at less cost
  • Can easily use outside experts to augment
    in-house skills

15
Benefits - Developers
  • Work at appropriate skill level
  • Spend less time maintaining code
  • Work together on one application easily
  • Active online community

16
The Fusebox LifeCycle Process
17
Requirements Gathering
18
Requirements Gathering
19
Analysis and Design
20
Coding and Testing
21
Testing
22
FUSEBOX FOR Federal Agency A
  • Project A was designed with the Fusebox 4
    framework for several reasons
  • Standard Framework
  • Proven Success
  • Easier Maintenance
  • Scope Expansion more easily accomplished
  • Ability for Reuse

23
Proven Success
  • Fusebox was used successfully on 2 projects in
    2003 for Federal Agency B
  • Similar Projects
  • Requirements were non-existent
  • Scope constantly changed
  • Timeline was expedited.

24
Proven Success
  • Project B
  • Project C
  • Both were Peer Review Management Systems but with
    widely divergent requirements.

25
Proven Success
  • Project B
  • 80 Displays
  • 388 Files
  • 18,032 Lines of Code
  • Project C
  • 28 Displays
  • 197 Files
  • 8,586 Lines of Code

Reuse between Systems 40 Total Development
Time of both systems in parallel 5 months with
1 programmer
26
Project A Metrics
  • Project A started out as one project and ended up
    becoming 2 projects (Project A1 and Project A2)
  • Project A2
  • 2 Distinct Displays
  • 40 Files
  • 2264 Lines of Code
  • 732 Lines of Documentation
  • 23 Code Reuse within System

27
Project A1/Project A2 Metrics
  • Project A1
  • 6 Distinct Displays
  • 61 Files
  • 3634 Lines of Code
  • 2141 Lines of Documentation
  • 30 Code Reuse within System

28
Project A1/Project A2 Metrics
  • Shared between Systems
  • 3 Distinct Displays
  • 29 Files
  • 718 Lines of Code
  • 696 Lines of Documentation

29
Easier Maintenance
  • Computer Science teaches that each function or
    procedure should do one thing only.
  • Most users of ColdFusion dont follow this.
  • This creates scripts which are large (500-1200
    lines long)
  • Long scripts are difficult to maintain.
  • Chances are when something changes it affects
    something elsewhere which isnt realized until it
    breaks.

30
Easier Maintenance
  • Fusebox operates with the idea of fuses
  • Small scripts each doing one thing
  • Smaller scripts are easier to reuse
  • Much easier to debug using small scripts

31
Easier Maintenance (cont)
  • Model View Controller Design Pattern
  • Common Design Pattern in Interface Development
  • Model All Business Logic including DB calls
  • View All user interface
  • Controller Only publicly accessible area, acts
    as a traffic cop and as a map to the model and
    the view
  • Easier to know what is being called
  • Easier to know where to go to fix

32
Scope Expansion more easily accomplished
  • Project A1 went through 3 scope expansions which
    changed the architecture dramatically
  • Went from hitting views for each report to
    creating temporary tables for all reports meeting
    that criteria as well as saving report criteria
    (hit lists)
  • Database Structural Changes
  • Integration with Project A2s and restructuring to
    use the same code base between.

33
Scope Expansion more easily accomplished
  • The architectural changes were limited in nature
    each time due entirely to the framework
  • Hit List Temporary Tables Change
  • Most changes took place in the Controller
  • One query changed where it took data from
  • Extra Circuit was added to support the new hit
    list requirement.
  • Time spent on changes to architecture 1 Day
  • Rest of time spent programming the new
    requirements.

34
Scope Expansion more easily accomplished
  • Database Structure Change
  • Fields in the database were changed and moved
    around.
  • queries affected were easily found and changed
  • Time spent 30 minutes

35
Scope Expansion more easily accomplished
  • Project A2 Changes
  • Project A2 and Project A1 needed to share
  • security
  • lookup tables
  • searches
  • A global circuit was created and the required
    items were moved into it.
  • Circuit aliases were changed for Project A1
  • Time spent 1 hour

36
Scope Expansion
  • In each case, there were no side effect bugs
  • Fusebox is designed to be loosely coupled
  • Each fuse knows all it needs to about what comes
    in and what needs to go out.
  • Any fuse can be reused without fear of side
    effects

37
Ability for Reuse
  • Because of loose coupling all fuses may be reused
    within their circuits
  • All links, form submits and relocations are
    accomplished with XFAs
  • xfa eXit FuseAction
  • Ability to set where a fuse goes at runtime
    outside the actual fuse.
  • This means that forms can and are regularly
    reused for creating, updating and viewing.
  • As long as a queries return the same recordset,
    the same display may show the results from
    multiple queries.
  • The more fuses are reused, the less chance of
    forgetting to make changes in multiple places.

38
Research Results (Script penetration)
  • In publicly accessible web sites, ColdFusion is
    by far the largest scripting language used in the
    Federal Government(1)
  • In the com, org, net, us and edu domains,
    ColdFusion is the third most widely used language
    coming after php and asp
  • php is most widely used in the com and net
    domains
  • asp is most widely used in the org and edu
    domains.
  • jsp is the 5th used language in all domains
    except gov where it is the 6th used language.

(1) Searches run through Google using
site(domain)
39
Research Results (script penetration)
40
Research Results (Fusebox/CFM)
  • Fusebox comprises the following development in
    domains
  • gov 9.40
  • .mil 10.15
  • .edu 1.11
  • .us 10.86
  • .net 7.49
  • .org 7.35
  • .com 13.28

41
Percent of Fusebox Pages in ColdFusion by Domain
Write a Comment
User Comments (0)
About PowerShow.com