Upload
griffin-ogrady
View
233
Download
3
Tags:
Embed Size (px)
Citation preview
CODEPAINTER RevolutionTrainer Course
Max Vizzini
Zucchetti International Operation
Software Engineering
CODEPAINTER METHODOLOGY
Trainer Course Max Vizzini – Zucchetti International Operation
What is Software Engineering all about?
Trainer Course Max Vizzini – Zucchetti International Operation
Software Engineering
The MythicalMan-Month?
Go to the essence!
REUSE!!!
Trainer Course Max Vizzini – Zucchetti International Operation
CODEPAINTER Methodology
• Template-Based source code generation
• Object-Oriented programming
• Rapid Prototyping
REUSE
Trainer Course Max Vizzini – Zucchetti International Operation
DOMAIN ANALYSIS
YOU DO NOT HAVE TO DO IT.
WE DID IT FOR YOU!!!
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).
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.
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.
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.
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.
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”.
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.
Trainer Course Max Vizzini – Zucchetti International Operation
HOW ALL ENTITIES INTERACT AND
EXCHANGE DATA?
LINKSLINKS
Trainer Course Max Vizzini – Zucchetti International Operation
LINKS
• Relationship
• Parent/Child
• Dataflow
• Event
• Read data ... from
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).
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.
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.
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.
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.
Trainer Course Max Vizzini – Zucchetti International Operation
Cardinalities: Relationship Link
0,1 0...N
0,1 0...N
0,1 0...N
Trainer Course Max Vizzini – Zucchetti International Operation
Cardinalities: Parent/Child Link
1 0,1
1 0...N
1 0...N
Trainer Course Max Vizzini – Zucchetti International Operation
Questions?
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:
Trainer Course Max Vizzini – Zucchetti International Operation
Solution
Items
OrdersPrice Lists per Item
Trainer Course Max Vizzini – Zucchetti International Operation
Solution 2
Items
OrdersPrice Lists per Item
V.A.T. RatesPrice Lists
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)
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
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.
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.
Trainer Course Max Vizzini – Zucchetti International Operation
Links
VATCode (R) ItemVAT
PLCode (R) PLICode
ItemCode (P/C) PLIItem
ItemCode (R) OrderItem
ItemStock (R) <-- OrderQty (+)
Trainer Course Max Vizzini – Zucchetti International Operation
EXERCISELibrary Management
Trainer Course Max Vizzini – Zucchetti International Operation
COFFEE BREAK