Title: CODEPAINTER Revolution Trainer Course
1CODEPAINTER RevolutionTrainer Course
- Max Vizzini
- Zucchetti International Operation
2Software Engineering
3What is Software Engineering all about?
4Software Engineering
The Mythical Man-Month?
REUSE!!!
5CODEPAINTER Methodology
- Template-Based source code generation
- Object-Oriented programming
- Rapid Prototyping
REUSE
6DOMAIN ANALYSIS
YOU DO NOT HAVE TO DO IT. WE DID IT FOR YOU!!!
7MASTER 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).
8MASTER/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.
9DETAIL 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.
10ROUTINE
- 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.
11DATABASE 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.
12DIALOG 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.
13OUTPUT
- 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.
14HOW ALL ENTITIES INTERACT AND EXCHANGE DATA?
LINKS
15LINKS
- Relationship
- Parent/Child
- Dataflow
- Event
- Read data ... from
16Relationship 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).
17Parent/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.
18Dataflow 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.
19Event 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.
20Read 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.
21Cardinalities Relationship Link
0,1
0...N
0,1
0...N
0,1
0...N
22Cardinalities Parent/Child Link
0,1
1
0...N
1
0...N
1
23Questions?
24Example
Customer Requirements
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.
25Solution
Items
Orders
Price Lists per Item
26Solution 2
Price Lists
V.A.T. Rates
Items
Orders
Price Lists per Item
27Items Entity
- ITEMS
- ItemCode Char(8) Primary Key
- ItemDescr Char(40) Secondary Key
- ItemVAT Char(8)
- ItemStock Num(10)
28Price 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
29Orders Entity
- ORDERS
- OrderCode Char(8) Primary Key
- OrderDate Date
- CPROWNUM Num(8) Rep. Primary Key
- OrderItem Char(8) Rep.
- OrderQty Num(10) Rep.
30Price Lists Per Item Entity
- PRICE LISTS PER ITEM
- PLIItem Char(8) Primary Key
- PLICode Char(8) Rep. Primary Key
- PLIPrice Char(8) Rep.
31 Links
VATCode ?(R) ItemVAT
PLCode ?(R) PLICode
ItemCode ?(R) OrderItem
ItemCode ?(P/C) PLIItem
ItemStock ?(R) lt-- OrderQty ()
32EXERCISELibrary Management
33COFFEE BREAK