33
CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Embed Size (px)

Citation preview

Page 1: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

CODEPAINTER RevolutionTrainer Course

Max Vizzini

Zucchetti International Operation

Page 2: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Software Engineering

CODEPAINTER METHODOLOGY

Page 3: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

What is Software Engineering all about?

Page 4: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

Software Engineering

The MythicalMan-Month?

Go to the essence!

REUSE!!!

Page 5: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

CODEPAINTER Methodology

• Template-Based source code generation

• Object-Oriented programming

• Rapid Prototyping

REUSE

Page 6: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

DOMAIN ANALYSIS

YOU DO NOT HAVE TO DO IT.

WE DID IT FOR YOU!!!

Page 7: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

MASTER FILE

• Contains a Form for data entry and a Database Table.

• Use it when records must be processed one by one (i.e. Each record is processed on its own).

Page 8: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

MASTER/DETAIL

• Contains a Form and two database tables (Master Table and Detail Table).

• Master table contains all unrepeated fields.• Detail Table contains all repeated fields.• The primary key of the Detail Table is

formed by the primary key of the Master Table plus all attributes constituing a key for the Detail Table.

Page 9: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

DETAIL FILE

• Costituted by a Database Table and a Form.

• All the unrepeated fields are part of the primary key.

• The primary key must also contain repeated field.

• Usually this entity has a Parent/Child Relationship with a Master File.

Page 10: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

ROUTINE

• They do not have an user interface

• They can represent functions, procedures and batches

• They use a meta-language that is portable between different programming languages.

Page 11: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

DATABASE TABLE

• They do not have an user interface

• They are usually linked with Routine and Dialog Window Entities.

• They are used as working table or to store historical data.

Page 12: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

DIALOG WINDOW

• They do not have database tables.

• They are usally connected with other entities with database tables.

• They contain variables ONLY and they are quite used as “Option Windows”.

Page 13: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

OUTPUT

• They represent output like Zooms, Graphs, Reports, MS Word Documents, and MS Excel SpreedSheets.

• These entities are defined during run-time using the Visual Framework generated with the application.

Page 14: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

HOW ALL ENTITIES INTERACT AND

EXCHANGE DATA?

LINKSLINKS

Page 15: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

LINKS

• Relationship

• Parent/Child

• Dataflow

• Event

• Read data ... from

Page 16: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

Relationship Link

• It establishes a referential integrity between the two tables belonging to the connected entities.

• Some data can be read from one table to another.

• Some back updates can be specified.

• It has a direction (from Entity A to Entity B).

Page 17: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

Parent/Child Link• It establishes a link between a Parent Entity and a Child Entity.

• The Child Entity Primary key must be made with the Parent one.

• Referential integrity is established between the two database tables.

• When a row is deleted in the Parent ALL related rows are deleted in the Child.

Page 18: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

Dataflow Link

• It represents the flow of data between entities.

• A Routine Entity must be placed at one link end.

• No code is generated. Documentation purpose ONLY.

Page 19: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

Event Link

• This link establishes a triggering event for a given Entity.

• The Database Table Entity cannot be triggered by an event.

• The list of Events is not customizable.

Page 20: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

Read data ... From ... Link

• It shows how Routine, Dialog Window and Output Entities read data from other entities.

• It is used for documentation purpose ONLY.

• No code is generated.

Page 21: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

Cardinalities: Relationship Link

0,1 0...N

0,1 0...N

0,1 0...N

Page 22: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

Cardinalities: Parent/Child Link

1 0,1

1 0...N

1 0...N

Page 23: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

Questions?

Page 24: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

Example

Manage a Warehouse so that it is possible to add / modify / delete items, and place purchasing orders. In particular, each item must have a V.A.T. code, and a set of price lists associated.

Customer Requirements:

Page 25: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

Solution

Items

OrdersPrice Lists per Item

Page 26: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

Solution 2

Items

OrdersPrice Lists per Item

V.A.T. RatesPrice Lists

Page 27: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

“Items” Entity

ITEMS:

• ItemCode Char(8) Primary Key

• ItemDescr Char(40) Secondary Key

• ItemVAT Char(8)

• ItemStock Num(10)

Page 28: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

“Price Lists” & “VAT Rates” Entities

PRICE LISTS:

• PLCode Char(8) Primary Key

• PLDescr Char(40) Secondary Key

VAT RATES:

• VATCode Char(8) Primary Key

• VATDescr Char(40) Secondary Key

Page 29: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

“Orders” Entity

ORDERS:

• OrderCode Char(8) Primary Key

• OrderDate Date

• CPROWNUM Num(8) Rep. Primary Key

• OrderItem Char(8) Rep.

• OrderQty Num(10) Rep.

Page 30: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

“Price Lists Per Item” Entity

PRICE LISTS PER ITEM:

• PLIItem Char(8) Primary Key

• PLICode Char(8) Rep. Primary Key

• PLIPrice Char(8) Rep.

Page 31: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

Links

VATCode (R) ItemVAT

PLCode (R) PLICode

ItemCode (P/C) PLIItem

ItemCode (R) OrderItem

ItemStock (R) <-- OrderQty (+)

Page 32: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

EXERCISELibrary Management

Page 33: CODEPAINTER Revolution Trainer Course Max Vizzini Zucchetti International Operation

Trainer Course Max Vizzini – Zucchetti International Operation

COFFEE BREAK