+ All Categories
Home > Documents > 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution...

13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution...

Date post: 21-Dec-2015
Category:
View: 216 times
Download: 0 times
Share this document with a friend
Popular Tags:
67
13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery
Transcript
Page 1: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

13 September 2007Jeroen Snijders

Functional Design Patterns

Your Partner In eBusiness Solution Delivery

Page 2: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

2

Agenda• About us (Company profile)• The applications we build • The problems we encounter• FDPs – our approach• FDPs – examples• Case• FDPs and development• Future

Page 3: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

3

Agenda• About us (Company profile)• The applications we build • The problems we encounter• FDPs – our approach• FDPs – examples• Case• FDPs and development• Future

Page 4: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

4

Company profile

• Founded March 2000• Profitable since start up• Over 80 employees• Lean organization• Continuous growth

Your partner for development of insurance solutions using a modern

technology, delivering a superior price/performance ratio

0

1

2

3

4

5

6

7

Turnover (in mln euro per year)

0

10

20

30

40

50

60

70

80

number of employees

Page 5: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

5

Markets• 90% of our revenues are in the financial

sector :– Insurance– Banking– Intermediaries

(Brokers)

Page 6: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

6

Subset of our customers

                                                                            

Page 7: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

7

Core competences• Project management• Information analysis & Functional design• Technical design• Programming• Testing (management and execution)• Technical consultancy (J2EE, WebSphere, …)• Infrastructure design and implementation• Training and coaching

Page 8: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

8

Technology• J2EE (Java 2 Enterprise Edition)• Databases: Oracle, IBM DB2, MS SQL Server,

PostgreSQL, MySQL• Application Servers: IBM WebSphere, Apache

Tomcat, JBoSS, Borland Enterprise Server, Tomcat

• Framework: Struts, Quinity Framework• Various: XML, XSLT, SOAP, WebServices

Page 9: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

9

Controller

Model

Multi Channel Transactions

Transaction Control Transaction ControlSecurity (Access verification and limits)

Screen handling &

Navigation

SOAPServiceProvider

Batch program

Database

Web serviceClient

View

HTTP-requestHTMLXHTML

XML

SOAP-request

Files(XML,CSV,…)

External serverSystem

BatchOnlineDialogues

(intranet, extranet, internet)webservices

Authentication/autorisation Authentication/autorisation

IBM DB2IBM DB2 for z/OSOracleMS SQL Server

BrowserIE, firefox, ...

External System(Business Partner Website,

GIM, etc.)

J2E

E/J

EE

Operating SystemWindowsLinuxIBM z/OSIBM i5/OS

IBM AIXSUN SolarisHP-UX

JSP

Page 10: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

10

Agenda• About us (Company profile)• The applications we build • The problems we encounter• FDPs – our approach• FDPs – examples• Case• FDPs and development• Future

Page 11: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

11

Page 12: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

12

Page 13: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

13

Page 14: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

14

Page 15: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

15

Page 16: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

16

Page 17: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

17

Page 18: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

18

Page 19: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

19

Page 20: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

20

Page 21: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

21

Page 22: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

22

CharacteristicsComplex functionality:

– Complex and big data structures– Time dependent data and functionality– Complex (actuarial) calculations– Complex interfaces and output– Non stop functional changes

– Generic solution <-> custom-made – Maintainability <-> flexibility

Page 23: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

23

Agenda• About us (Company profile)• The applications we build • The problems we encounter• FDPs – our approach• FDPs – examples• Case• FDPs and development• Future

Page 24: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

24

Problems• Lack of standard way to describe functionality• No standard way to translate a functional design to

technical design and/or code• Software is hard to understand and hard to maintain (no

deterministic path from functionality to implementation and vice versa)

• Software is buggy due to big complexity -> high costs for testing and debugging

• Lack of way to describe reusable solutions -> software for one customer / project

Page 25: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

25

Consequences

• Many projects fail / are cancelled

• Extreme exceeding of the budget and time

• If an application is delivered, maintenance is often too expensive

• The result is often not what the customers really wanted/expected

Page 26: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

26

Agenda• About us (Company profile)• The applications we build • The problems we encounter• FDPs – our approach• FDPs – examples• Case• FDPs and development• Future

Page 27: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

27

Our approach: Patterns• Technical Design Patterns

– Reusable patterns in class structures and behaviour– (GOF patterns, J2EE patterns; ie MVC)

• User Interface Patterns– Reusable patterns in user interaction

• Functional Design Patterns– Reusable patterns in functionality

• Performance patterns– Reusable patterns for performance and capacity

Page 28: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

28

Functional Design patterns

Functional Design Pattern

Functional Design Section

Realisation Section

Core conceptsInformation

function segments

Data pattern

Technical design details Implementation details

Interaction patterns

• describe recurring functionality of applications in which functionality is defined as: “All behaviour of an information system concerning the storage, manipulation and display of data”

Page 29: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

29

Performance patterns• describe a specific performance aspect in such a

way that the solution can be reused in different situations / projects.

Page 30: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

30

Agenda• About us (Company profile)• The applications we build • The problems we encounter• FDPs – our approach• FDPs – examples• Case• FDPs and development• Future

Page 31: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

31

Manage/maintain functions with search, add, delete, a navigator and sorting per column

Page 32: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

32

Same for a different client and project

Page 33: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

33

Tabs with general attributes and sub tabs with associated entities

Page 34: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

34

Page 35: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

35

Implementation: code generation

Datamodel in Visio

DDL(Data DefinitionLanguage)

XML withdata definition

12 XSLT sheetsfor i.e. manage/detailsscreen

Code generation for previous patterns on aspect level, based on data model

Java classes and JSP pageswith basic patterns

Custom Java classes and JSP pages

Database Combined with MVC framework

Page 36: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

36

A form consisting of groups and questions

Page 37: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

37

Page 38: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

38

Page 39: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

39

... generic datamodel and

maintenance functions

Page 40: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

40

Implementation: components

Client 1

Standard components:1. formcomponent2. Support (user management) 3. Report generator4. content management system

Implementation using components

Implementation per client:1. Parameterizing of components2. Subclassing of component3. Customizing Java classes and

JSP templates4. XSLT-sheets (interfaces and

PDF)5. Additional (custom) functionality

Client 2 Client 3

Client 4

Page 41: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

41

FDP workflow – insurance companyInvoerkanaal:

Intranet/Extranet

inbehandeling

geven

afwijzen

accepteren

verwerken

Verwerkt

verzenden

Te verwerkenTer beoordeling[acceptatieniveau]

[gewijzigd]

In behandeling[acceptatieverwerking]

Niet verwerken[reden]

annuleren

aanmakenaanvraag of

mutatieaanmaken offerte

annuleren

Workflow on aspect level:• Statuses and actions• Subject• Dimensions:

• Travel with the subject from status to status

• Determine possible actions• Show how the current status is

reached• Process dimensions

• Partial actions• Diagram

Ter beoordeling[acceptatieniveau]

[gewijzigd]

In behandeling[acceptatieverwerking]

[verzoeksoort]

wijzigen wijzigen

omzettenofferte inaanvraag

Aparte dimensies voor:

- Acceptatieverwerking

- Acceptatieniveau

Page 42: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

42

FDP workflow – additionsExtra input channels:• SOAP• Internet

Ter accordering

aanbiedenter

accordering

afwijzendoor

consumentaccorderen

Niet verwerken[reden]

Invoerkanaal:Internet

aanmakenaanvraag

Ter beoordeling[acceptatieniveau]

[gewijzigd]

Te verwerken

afwijzen

annuleren

accepterenInvoerkanaal:

SOAP

Niet verwerken[reden]

Te verwerken

aanmakenaanvraag

Ter beoordeling[acceptatieniveau]

[gewijzigd]

Page 43: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

43

Workflow in a project ...

Page 44: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

44

Page 45: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

45

FDP Time dependent data• Entity

– identification– Start/enddate for linking (use)

• EntityInstance– Time dependent values– Start/enddate for validity

• All end dates are ‘including’• Two reference dates:

– For linking– For retrieving valid instance

EntityentityIdexternalIdentifierdateUseStartdateUseEnd<time-indep. data>

EntityInstentityIdentityInstIddateStartdateEnd<tijdafh. data>

EntityInstentityIdentityInstIddateStartdateEnd<time-dep. data>

Page 46: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

46

FDP Authorisation

Functioneleorganisatie-

structuur

Organisatie-functie

Entiteit

OrganisatiefunctieBedrijfsactiviteit

Matrix

InformatiefunctieEntiteitMatrix

Bedrijfsproces-structuur

Informatie-systeem-structuur

Gegevens-infrastructuur

Bedrijfsfunctie Informatiesysteem

Bedrijfs-activiteit

Informatie-functie

BedrijfsactiviteitInformatiefunctie

Matrix

OrganisatiefunctieInformatiefunctie

Matrix

BedrijfsactiviteitEntiteitMatrix

OrganisatiefunctieEntiteitMatrix

Bestaat uit

Bestaat uit

Bestaat uit

Bestaat uit

Page 47: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

47

FDP Authorisation

Organisation function Information function Entity

Information functionEntityMatrix

Business activity

Organisation functionBusiness activity

Matrix

Business activityInformation function

Matrix

Page 48: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

48

FDP Authorisation

Organisation function Informatino function Entity

Information functionEntityMatrix

Business activity

Organisation functionBusiness activity

Matrix

Business activityInformation function

Matrix

Person

PersonOrganisation function

Matrix

Page 49: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

49

FDP Authorisation

Organisation function Information functionBusiness activity

Organisation functionBusiness activity

Matrix

Business activityInformation function

Matrix

Person

PersonOrganisation function

Matrix

Page 50: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

50

FDP Authorisation

Role InformationFunctionInformationFunction

Group

RoleInformationFunctionGroup

InformationFunctionGroupInformationFunction

User

Page 51: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

51

FDP Authorisation• Compare with J2EE:

Group ResourceRole

RoleGroup ResourceRole

User

UserRole

Page 52: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

52

FDP Authorisation - extended

Information function

Entity Attribute 1 Attribute 2 Attribute 3

Fieldrestriction

Rowrestriction

Role InformationFunctionInformationFunction

Group

RoleInformationFunctionGroup

InformationFunctionGroupInformationFunction

User

Contextrestriction Condition

ContextrestrictionCondition

Page 53: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

53

Describing FDPs• Default template

• Default (functional) language– drawing techniques

• Marking:– ‘Clever idea’– ‘Needs investigation’

Page 54: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

54

Agenda• About us (Company profile)• The applications we build • The problems we encounter• FDPs – our approach• FDPs – examples• FDPs and development• Future

Page 55: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

55

Agenda• About us (Company profile)• The applications we build • The problems we encounter• FDPs – our approach• FDPs – examples• Case• FDPs and development• Future

Page 56: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

56

Software Development At Quinity

• Combination of:– LAD:

– DSDM:

Requirements RealisationFunctional

Design

iterate iterate

Acceptance Testing

Usage / Maintenance

feedback

request for change

Definition study

Basic designDetailed design

RealisationUsage/

Maintenance

Feasibility study

Business study

Functional model

System design/build

Usage

iterate iterate

feedbackfeedbackfeedback

Page 57: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

57

Functional designCreate quotation for design phase

Create requirements document (optional)

Create quotation for realisation phase

CreateInformation functions

(Functional description,Use-cases)

- Use of FDPs and UIPs -

Create data model- Use of FDPs -

Create mock-up

- Use of UIPs -

Tim

e

Page 58: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

58

Technical design• We have technical design (patterns) for functionality

described in FDPs.– Technical documentation of standard components– Technical documentation of standard constructs

• We have technical documentation for the framework– technical documentation for the use of superclasses, libraries,

stylesheets et cetera– technical documentation for the generated parts

• We only create a technical design for (non-trivial) project-specific code.

Page 59: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

59

Semi structured use of FDPs

Requirements

Functional Design

ImplementationAcceptance Testing

Usage / Maintenance

Pattern combining

Guide technical design

Cost estimation

Pattern recognition

Structured client sessions

Diagram techniques

Pattern documentation

Common vocabulary

Acquisition

Pattern repository growth

Pattern searching

Page 60: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

60

Structured use of FDPsacquisition

Acquisition

Estimation details

QuotationSystem

descriptionEF:R3 EF:R4C:R1 Basic

decompositionEF:R2

EF:R5

Rule Person Involved activities

R1 Customer Deliver system description

R2 Experienced functional designer Analyse the system description for recurring functionality

R3 Experienced functional designer Check cost and planning experience in Functional Design Patterns

R4 Experienced functional designer Create cost and planning estimates for quotation

R5 Experienced functional designer Communicate basic analysis to functional designers

Page 61: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

61

Structured use of FDPsrequirements

Requirements

Requirements specification

Candidate patterns

Information functions

Conceptual architecture

Core conceptsF:R8 F:R9 F:R10

F:R7

F:R6C:R6

C:R7

Rule Person Involved activities

R6R7

Customer;Functional designer

Gather requirementsAcquaint with patternsEstablish a common vocabulary

R8 Functional designer Derive desired information functions from requirements specification

R9 Functional designer Decompose in conceptual problems to create a conceptual architecture

R10 Functional designer Find solutions for conceptual architectureRecognise patternsSelect candidate patters

Page 62: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

62

Structured use of FDPsfunctional design

Functional design R11

Core conceptsInformation

function segmentsData pattern

Interaction pattern

Data modelInformationfunction

descriptionMock-up

Functional design

F:R13 F:R14 F:R15

F:R16

F:R12

Refined concepts

Rule Person Involved activities

R11 Functional designer Decide between candidates and variants

R12 Functional designer Copy core concepts, refine when neededOptionally rename to clients preferred termsUse prescribed diagram style

R13 Functional designer Copy, combine and refine information function segments

R14 Functional designer Develop the data modelCreate basic modelSort patterns in order of importanceApply one data pattern at a timeMerge similar responsibilitiesReturn to information functionsExtend with pattern independent entities

Page 63: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

63

Structured use of FDPsrealisation

Realisation

Task

Technical design part

Technical design

T:R18

L:R22

Code part

T:R20

Technical design details

Implementation details

T:R21 L:R23

F:R17

Code

T:R19

Rule Person Involved activities

R17 Team leader Divide functional design in tasks

R18R19

Technical designer Write the Technical Design for a specific partCheck technical design details in patternsAssess advantages of copying versus referencingRefine technical design details in the technical design

R20R21

Technical designer Develop software using implementation details

R22 Team leader Merge technical design parts into technical design

R23 Team leader Merge code parts in code

Page 64: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

64

Structured use of FDPsusage and maintenance

Usage and maintenance

Updated pattern(s)

Technical designFunctional design T:R24F:R24

Rule Person Involved activities

R24 Team leader;Functional designer

Update the pattern repository with project experience

Page 65: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

65

Agenda• About us (Company profile)• The applications we build • The problems we encounter• FDPs – our approach• FDPs – examples• Case• FDPs and development• Future

Page 66: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

66

Future• Theory:

– Functional (meta) languages (diagram techniques)– Exchange information with universities/research centres

• Practice:– Incorporating the structured use of FDPs at Quinity – More (domain) specific FDPs

• based on knowledge in existing projects

– More research about performance patterns

• Trainees /students

Page 67: 13 September 2007 Jeroen Snijders Functional Design Patterns Your Partner In eBusiness Solution Delivery.

67

Any questions?Maliebaan 50

3581 CS Utrecht

+31 (0)30 233 5999

Your Partner In eBusiness Solution Delivery


Recommended