Presentation is loading. Please wait.

Presentation is loading. Please wait.

End User Development for the Non-Programmer

Similar presentations


Presentation on theme: "End User Development for the Non-Programmer"— Presentation transcript:

1 End User Development for the Non-Programmer
Ali Hikmet Doğru M.E.T.U

2 Contents End User Development Variability in SPL
Service Oriented Architecture Axiomatic Design Theory Compositional approaches Motivation Project

3 End User Development Software Development for self İndividuals
Hobby Aid at job Professional Organizations Development - NOT for others

4 EUD: Demand? U.S. Bureau of Labor and Statistics, by 2012 :
< 3 million professional programmers > 55 million people using spreadsheets and databases Andrew J. Ko, Robin Abraham, Laura Beckwith, Alan Blackwell, Margaret Burnett, Martin Erwig, Chris Scaffidi, Joseph Lawrence, Henry Lieberman, Brad Myers, Mary Beth Rosson, Gregg Rohtermel, Mary shaw, Susan Wiedenbeck, “The State of the Art in End-User Software Engineering”, ACM Computing Surveys, Vol. 43, No. 3, Article 21, April 2011.

5 Actually, Automate my Bank !

6 Key Concept: What is Missing? What is at hand? Detail in Requirements
Domain Knowledge Key Concept: Automatic Code Generation = filling in for missing requirements the less requirement details, the more automatic generation Domain knowledge = Offering alternatives for what to fill Variabliity= managing the offering and SELECTION of alternatives Variability

7 Reinterpreting some Concepts
Automatic Code Generation = filling in for missing requirements the less requirement details, the more automatic generation Domain knowledge = Offering alternatives for what to fill Variability= managing the offering and SELECTION of alternatives

8 Paradigm Shift From code writing to composition
Service Oriented Architecture Software Product Lines Component Orientation Model Driven Development Aspect Orientation

9 Automatic Code Generation
input High-level Model Knowledge Transformation / code generation Additional Input Lower--level Model (code)

10 Variability Software Product lines: Domain Model Domain Engineering
Analysis – Design - Implementation Product Engineering Analysis – Design - Implementation Deployment Load time commonalities variabilities Runtime

11 Variability in further models
Feature Model transport Component Variability: Variability transformation by replacement Fill air fuel conduct maintenance Fill gasoline by configuration Process Variability Component Variability

12 Service Oriented Architecture
SOA is usually comprised of three primary parties: Provider (of services); basic service producers and aggregators Requester (of services); service consumers and end users Broker (of services); middleware, directories and registries

13 Web Services Technology Stack
Choreography(WS-BPL,ebBP) Mediation(WSMO,ESB,Biztalk) Enterprise(WS-BPEL,WS-Management) QualityOfService(WS-Security,WS-ReliableMessaging, WS-Addressing,WS-Transaction) Description&Discovery(WSDL,WS-Policy,UDDI,ebXML) Messaging(XML,XSD,SOAP,SOAPAttachment) Transport (HTTP, HTTPS, SMTP,FTP)

14 Loosely Coupled Executable System
Process Model Components

15 Customer Organization
The Project End User (BasicLevel) Domain Feature Model Tool Developer Feature selections Default Components Feature and Component selections The GENAU Tool Default Process Model Process/sub-process selections End User (Intermediate Level) Customer Specific Application Customer Organization Feature and Component selections Process/sub-process selections End User (Advanced Level) Feature,Component, and Process Definitions

16 User Capabilities Basic_EUD selectFeature() selectComponent()
selectProcess() Intermediate_EUD defineFeature() defineComponent() defineProcess() Advanced_EUD Development !

17 End User Interaction Environment

18 Axiomatic Design Theory
Domain Hierarchies Zigzagging Design Axioms Axiom 1(Independence): Maintain the independence of the functional requirements Axiom 2(Information): Minimize the information content of the design Nam Suh Suh, N. P. (1990). The Principles of design. New York, Oxford University Press. Currently at KAIST

19 Axiomatic Design Theory: Decomposition Support
ZIG ZAG ZIG USER NEEDS FUNCTIONAL REQUIRMENTS DESIGN PARAMETERS PROCESS VARIABLES ZAG ZIG ZAG

20 Towards EUD Architecture
USER NEEDS FUNCTIONAL REQUIRMENTS DESIGN PARAMETERS PROCESS VARIABLES ZIG ZAG FEATURE MODEL PROCESS COMPONENTS zeg AVERAGE ( “ZIG”, “ZAG”) “ZEG “

21 Constraint Propagation
change FEATURE MODEL COMPONENTS PROCESS MODEL

22 Screens from the Tool Feature Tree:

23 Process Modeling Screen

24 Commercial Success? Utilization Client Project 1 EMKO ELEKTRONİK
Research/Development Processes Management 2 Technical University of Bursa, Directorate of Strategy Processes Management 3 YALIN Software Management Processes 4 PROCOLOR Service Tracking Software for Machines 5 ITHINKA E-Billing and Account Tracking Application 6 TEKNOVA TSE Standards Tracking Application 7 KALDER NGO Budget Monitoring Software 8 BİSİAD Member Relations Tracking App. 9 ULUTEK Company Owners Portal 10 AYDIN TEKSTİL Web Orders Inventory Tracking 11 AKARGRUP Tradeshow Orders Tracking Software with Barcodes Sale Other Usage

25 Any ... Questions ???


Download ppt "End User Development for the Non-Programmer"

Similar presentations


Ads by Google