The document discusses domain models and how they are represented using UML class diagrams. It explains that a domain model shows the key concepts or objects in a domain and the associations between them. It should not include software artifacts or responsibilities. Conceptual classes are identified by examining noun phrases. Descriptions classes are used to store attributes that describe other classes. Associations indicate meaningful relationships between classes that need to be preserved.
The document provides guidelines for merchandise presentation and visual merchandising. It discusses colour blocking merchandise by zones, with zone 1 being the most visible area to showcase new items, zone 2 for basics, and zone 3 displaying themes. Colour blocking involves arranging items by colour vertically according to the colour wheel to make the full range visible. Hanging and stacking should group similar styles together.
The document discusses algorithmic game theory and its applications to modeling new online markets. It provides examples of how classical economic models like Fisher's market model can be analyzed using algorithms and combinatorial optimization techniques. New market models like ad auctions are also discussed. The paper outlines the development of algorithms for computing market equilibria in these models.
Refactoring Toward Deeper Insight
DDD Findings in Batch Processing, a Case Study When I was introduced to the Domain-Driven Design (DDD) approach close to ten years ago, it provided me with some of the missing pieces I needed to implement Object-Orientation in an effective way. And over the years I've been coming back to Eric Evans' very rich and deep book many times to discover something new to help me design better software - thinking tools and practical design advice, in the small and in the large. Over the years Object-Orientation has become less important to me, but DDD is still my default starting point when I am helping teams to refactor their architectures and take control over their code bases. Many teams have already made attempts to implement DDD, but very often they don't get the effects they were hoping for. It turns out that DDD is hard to get right. In a current project I have been involved in yet another effort to implement DDD on a legacy code base. And I have made some interesting findings. Batch processing scenarios opened up my eyes to some intrinsic problems with the DDD approach. Issues that have been have been nagging me over the years became very clear. And yet again I managed to gain deeper insight in the DDD approach and come up with some quite interesting ways to implement it.
Andreas Brink, factor10
PowerDesigner is a modeling tool that can be used to model various aspects of an enterprise data management system. It allows users to create conceptual data models, logical data models, physical data models, data movement models, and more. The presentation discussed how PowerDesigner can be used to model the migration of an OLTP database to a data warehouse, including reverse engineering the source database, generating models for the data warehouse, defining transformations, and generating scripts to move data. It concluded that PowerDesigner and a model-driven approach can accelerate development and increase productivity for data warehouse projects.
This document outlines Nu Skin's sales compensation plan, which provides earnings from fast-start payments, retail profits, and commissions. Distributors can become executives by building their organization and monthly sales volume. As executives, they qualify for additional bonuses from their downline sales volume. The plan aims to maximize earnings potential through fast-start bonuses, retail profits, commissions on downline sales volume, breakaway executive bonuses, and shares of regional bonus pools.
Sustainable business strategy for an evolving lighting marketpriyamgeorge
1) The document discusses the Indian lighting industry in 2010, analyzing it by technology, application, and market value segmentation.
2) It finds that the indoor lighting market was 67% of the total market value, led by office, retail, and institutional lighting, while the outdoor market was 33%.
3) By technology, conventional lighting like CFL and fluorescent made up the vast majority at 70% of the market, while incandescent was slowly declining and LED was emerging as the future.
The document provides guidelines for merchandise presentation and visual merchandising. It discusses colour blocking merchandise by zones, with zone 1 being the most visible area to showcase new items, zone 2 for basics, and zone 3 displaying themes. Colour blocking involves arranging items by colour vertically according to the colour wheel to make the full range visible. Hanging and stacking should group similar styles together.
The document discusses algorithmic game theory and its applications to modeling new online markets. It provides examples of how classical economic models like Fisher's market model can be analyzed using algorithms and combinatorial optimization techniques. New market models like ad auctions are also discussed. The paper outlines the development of algorithms for computing market equilibria in these models.
Refactoring Toward Deeper Insight
DDD Findings in Batch Processing, a Case Study When I was introduced to the Domain-Driven Design (DDD) approach close to ten years ago, it provided me with some of the missing pieces I needed to implement Object-Orientation in an effective way. And over the years I've been coming back to Eric Evans' very rich and deep book many times to discover something new to help me design better software - thinking tools and practical design advice, in the small and in the large. Over the years Object-Orientation has become less important to me, but DDD is still my default starting point when I am helping teams to refactor their architectures and take control over their code bases. Many teams have already made attempts to implement DDD, but very often they don't get the effects they were hoping for. It turns out that DDD is hard to get right. In a current project I have been involved in yet another effort to implement DDD on a legacy code base. And I have made some interesting findings. Batch processing scenarios opened up my eyes to some intrinsic problems with the DDD approach. Issues that have been have been nagging me over the years became very clear. And yet again I managed to gain deeper insight in the DDD approach and come up with some quite interesting ways to implement it.
Andreas Brink, factor10
PowerDesigner is a modeling tool that can be used to model various aspects of an enterprise data management system. It allows users to create conceptual data models, logical data models, physical data models, data movement models, and more. The presentation discussed how PowerDesigner can be used to model the migration of an OLTP database to a data warehouse, including reverse engineering the source database, generating models for the data warehouse, defining transformations, and generating scripts to move data. It concluded that PowerDesigner and a model-driven approach can accelerate development and increase productivity for data warehouse projects.
This document outlines Nu Skin's sales compensation plan, which provides earnings from fast-start payments, retail profits, and commissions. Distributors can become executives by building their organization and monthly sales volume. As executives, they qualify for additional bonuses from their downline sales volume. The plan aims to maximize earnings potential through fast-start bonuses, retail profits, commissions on downline sales volume, breakaway executive bonuses, and shares of regional bonus pools.
Sustainable business strategy for an evolving lighting marketpriyamgeorge
1) The document discusses the Indian lighting industry in 2010, analyzing it by technology, application, and market value segmentation.
2) It finds that the indoor lighting market was 67% of the total market value, led by office, retail, and institutional lighting, while the outdoor market was 33%.
3) By technology, conventional lighting like CFL and fluorescent made up the vast majority at 70% of the market, while incandescent was slowly declining and LED was emerging as the future.
1. The document provides instructions for a directed reading course, including defining a topic of study, signing up under the instructor's course section, and draft/feedback deadlines of November 19th and 25th respectively, with a final report due December 2nd.
2. The syllabus outlines topics for the software valuation course, including why software should be valued, open source software, principles of valuation, market value of software companies, intellectual property, and risks of outsourcing.
3. The review discusses how understanding software value allows for rational design and business decisions, and could improve software education by considering quality over quantity in assignments.
Presentation at IBM IOD 2011 by Larry Bob, BI Architect at The Boeing Company about what a skilled Framework Manager modeler can do in a large environment to advance both simplicity and excellence at the same time.
Agile practitioners can be design avoidant! DDD helps improve communication through ubiquitous language; improve thinking through mapping patterns; and ensuring design and reality match.
This document discusses patterns of data distribution that are commonly used when building distributed systems and applications. It identifies three main patterns: publish-subscribe, point-to-point, and request-reply. The document argues that middleware platforms typically implement these patterns in a rigid way, whereas a better approach is for platforms to be built using fundamental "super-patterns" that can be constrained or composed to derive the common patterns. This allows platforms to be more flexible and performant while still providing familiar patterns to application developers. The document also discusses challenges for platform builders in areas like system architecture, performance, and application interfaces.
Melbourne agile and scrum sig slides v01-00Craig Brown
This document discusses the tensions between agile developers and data architects. It presents patterns as a way to enable both agility and architecture. The document provides tips for using patterns, including generalizing concepts, extending tailored patterns, and taking an enterprise view. It advocates the "T-model" approach of high-level patterns with drill-downs only where needed. The takeaways are that patterns can deliver frameworks in weeks, but agile modelers also need agile skills and integration focus. Both sides should communicate expectations and welcome each other's contributions.
The document discusses agile architecture and solution design, outlining how an architect should understand the customer problem, uncover and communicate a feasible solution through describing the architecture, simplifying it based on constraints, and delivering the software solution through iterative development and demos using a technique called "rainbow planning".
Modelling a complex domain with Domain-Driven DesignNaeem Sarfraz
Domain-Driven Design is an approach to modelling business complexity explicitly in your software. This deck of slides runs through the key concepts focusing on both the strategic and tactical aspects of DDD.
Automatic generation of domain models for call centersDavid Przybilla
The document proposes a method to automatically generate domain models and taxonomies for call centers from noisy transcriptions of call audio. It uses an automatic speech recognition system to transcribe calls, performs natural language processing on the transcripts to extract features, clusters the calls into topics, and builds a taxonomy of the clusters. It also extracts typical questions, answers, actions and call statistics for each topic cluster to build a domain model. The method was able to capture most topics from labeled calls and generate topic-specific phrases that matched hand-generated sets.
These are my slides from the Bare-Bones Software Architecture course at XP Days Ukraine 2012. The workshop outlines a quick workshop-oriented process for initiating software projects
GDC 2012: The Rise of Free-to-Play Core GamingMitch Lasky
The document discusses the rise of free-to-play (F2P) games as a disruption in the core video game industry. It states that F2P removes barriers to access and transforms games into long-term services through microtransactions. F2P allows games to find an audience through free distribution and generate revenue through optional virtual goods purchases from a subset of players. The success of F2P depends on factors like great game design, robust e-commerce systems, data analytics, and social marketing. Emerging F2P publishers now have an opportunity to build multi-title platforms and compete with traditional incumbents.
A strong case of a personalised VW lead generation and database integration programme resulting in superior intentions to visit the VW showroom and to buy a new car.
particular architecture that'd used on a recent system. An application can be developed with an amazing architecture, using the latest technologies and having the best interface, etc.
The document discusses agile architecture and the role of a solution architect. It defines a solution architect as someone who understands the customer's problem, including constraints and domain knowledge, and uncovers and communicates a feasible solution. It emphasizes that discovering the solution is a team effort. The architect's responsibilities include understanding the problem, describing the problem context and domain model, describing the proposed solution, and simplifying and delivering the architecture and software.
The document discusses the advantages of software-as-a-service (SaaS) and how the economic downturn created opportunities for SaaS. It emphasizes understanding customers by developing buyer personas and focusing on their wants and needs rather than a company's products. The key is engaging customers through personalized messaging and community building to attract and retain their attention.
This document discusses guidelines for creating a domain model, including:
1) The domain model represents key concepts and vocabulary in a domain to bridge the gap between the software representation and our mental model. It is bounded by current iteration requirements.
2) Conceptual classes are identified from use cases, category lists, and noun phrases. Associations between classes are included where the relationship needs to be preserved.
3) Description classes can model information that describes other entities when deleting instances would lose important data. Examples include product descriptions and flight schedules.
The document provides best practices for domain modeling through examples and guidelines on finding classes, attributes versus classes, using domain terms, and including appropriate associations.
How to organize the business layer in softwareArnaud LEMAIRE
The document discusses where to place business logic in an MVC application. It argues that the business layer should not be placed in the view or controller, as those deal with user interface concerns like HTTP requests. The model is also not a good fit, as it is often misunderstood and can become a bloated "God object" that violates principles like single responsibility.
Instead, it recommends creating separate classes for business logic following object-oriented principles like high cohesion and loose coupling. These could include value objects, entity objects, repositories, validation objects, view objects, policy objects, decorators, and service objects. It also discusses organizing these objects either by domain or type. Finally, it notes some pitfalls to avoid and
This document discusses mapping a domain model to a software design. It provides examples of mapping domain classes from a process sale use case to initial design classes for a cash till system. Key points are that domain classes often inspire but do not directly map to design classes, and that creating an initial design can help uncover questions about requirements.
This is the project in development right now to embrace the online business with our brand, worldwide. I hope could be usefull for you too.
Let me know your opinion please, it could be usefull for me too.
m
1. The document provides instructions for a directed reading course, including defining a topic of study, signing up under the instructor's course section, and draft/feedback deadlines of November 19th and 25th respectively, with a final report due December 2nd.
2. The syllabus outlines topics for the software valuation course, including why software should be valued, open source software, principles of valuation, market value of software companies, intellectual property, and risks of outsourcing.
3. The review discusses how understanding software value allows for rational design and business decisions, and could improve software education by considering quality over quantity in assignments.
Presentation at IBM IOD 2011 by Larry Bob, BI Architect at The Boeing Company about what a skilled Framework Manager modeler can do in a large environment to advance both simplicity and excellence at the same time.
Agile practitioners can be design avoidant! DDD helps improve communication through ubiquitous language; improve thinking through mapping patterns; and ensuring design and reality match.
This document discusses patterns of data distribution that are commonly used when building distributed systems and applications. It identifies three main patterns: publish-subscribe, point-to-point, and request-reply. The document argues that middleware platforms typically implement these patterns in a rigid way, whereas a better approach is for platforms to be built using fundamental "super-patterns" that can be constrained or composed to derive the common patterns. This allows platforms to be more flexible and performant while still providing familiar patterns to application developers. The document also discusses challenges for platform builders in areas like system architecture, performance, and application interfaces.
Melbourne agile and scrum sig slides v01-00Craig Brown
This document discusses the tensions between agile developers and data architects. It presents patterns as a way to enable both agility and architecture. The document provides tips for using patterns, including generalizing concepts, extending tailored patterns, and taking an enterprise view. It advocates the "T-model" approach of high-level patterns with drill-downs only where needed. The takeaways are that patterns can deliver frameworks in weeks, but agile modelers also need agile skills and integration focus. Both sides should communicate expectations and welcome each other's contributions.
The document discusses agile architecture and solution design, outlining how an architect should understand the customer problem, uncover and communicate a feasible solution through describing the architecture, simplifying it based on constraints, and delivering the software solution through iterative development and demos using a technique called "rainbow planning".
Modelling a complex domain with Domain-Driven DesignNaeem Sarfraz
Domain-Driven Design is an approach to modelling business complexity explicitly in your software. This deck of slides runs through the key concepts focusing on both the strategic and tactical aspects of DDD.
Automatic generation of domain models for call centersDavid Przybilla
The document proposes a method to automatically generate domain models and taxonomies for call centers from noisy transcriptions of call audio. It uses an automatic speech recognition system to transcribe calls, performs natural language processing on the transcripts to extract features, clusters the calls into topics, and builds a taxonomy of the clusters. It also extracts typical questions, answers, actions and call statistics for each topic cluster to build a domain model. The method was able to capture most topics from labeled calls and generate topic-specific phrases that matched hand-generated sets.
These are my slides from the Bare-Bones Software Architecture course at XP Days Ukraine 2012. The workshop outlines a quick workshop-oriented process for initiating software projects
GDC 2012: The Rise of Free-to-Play Core GamingMitch Lasky
The document discusses the rise of free-to-play (F2P) games as a disruption in the core video game industry. It states that F2P removes barriers to access and transforms games into long-term services through microtransactions. F2P allows games to find an audience through free distribution and generate revenue through optional virtual goods purchases from a subset of players. The success of F2P depends on factors like great game design, robust e-commerce systems, data analytics, and social marketing. Emerging F2P publishers now have an opportunity to build multi-title platforms and compete with traditional incumbents.
A strong case of a personalised VW lead generation and database integration programme resulting in superior intentions to visit the VW showroom and to buy a new car.
particular architecture that'd used on a recent system. An application can be developed with an amazing architecture, using the latest technologies and having the best interface, etc.
The document discusses agile architecture and the role of a solution architect. It defines a solution architect as someone who understands the customer's problem, including constraints and domain knowledge, and uncovers and communicates a feasible solution. It emphasizes that discovering the solution is a team effort. The architect's responsibilities include understanding the problem, describing the problem context and domain model, describing the proposed solution, and simplifying and delivering the architecture and software.
The document discusses the advantages of software-as-a-service (SaaS) and how the economic downturn created opportunities for SaaS. It emphasizes understanding customers by developing buyer personas and focusing on their wants and needs rather than a company's products. The key is engaging customers through personalized messaging and community building to attract and retain their attention.
This document discusses guidelines for creating a domain model, including:
1) The domain model represents key concepts and vocabulary in a domain to bridge the gap between the software representation and our mental model. It is bounded by current iteration requirements.
2) Conceptual classes are identified from use cases, category lists, and noun phrases. Associations between classes are included where the relationship needs to be preserved.
3) Description classes can model information that describes other entities when deleting instances would lose important data. Examples include product descriptions and flight schedules.
The document provides best practices for domain modeling through examples and guidelines on finding classes, attributes versus classes, using domain terms, and including appropriate associations.
How to organize the business layer in softwareArnaud LEMAIRE
The document discusses where to place business logic in an MVC application. It argues that the business layer should not be placed in the view or controller, as those deal with user interface concerns like HTTP requests. The model is also not a good fit, as it is often misunderstood and can become a bloated "God object" that violates principles like single responsibility.
Instead, it recommends creating separate classes for business logic following object-oriented principles like high cohesion and loose coupling. These could include value objects, entity objects, repositories, validation objects, view objects, policy objects, decorators, and service objects. It also discusses organizing these objects either by domain or type. Finally, it notes some pitfalls to avoid and
This document discusses mapping a domain model to a software design. It provides examples of mapping domain classes from a process sale use case to initial design classes for a cash till system. Key points are that domain classes often inspire but do not directly map to design classes, and that creating an initial design can help uncover questions about requirements.
This is the project in development right now to embrace the online business with our brand, worldwide. I hope could be usefull for you too.
Let me know your opinion please, it could be usefull for me too.
m
2. Domain Model in UML Class Diagram Notation
concept Sales
Item
or domain LineItem Records-sale-of
object 1
quantity 0..1
1..* *
Stocked-in
association Contained-in
1 1
Sale Store
attributes date address
time 0..1 name
1
1
Houses
Paid-by 1..*
1 Register
Captured-on 4
Payment
1
amount
A “visual dictionary”
3. Domain Models
• Key object-oriented analysis step: Decompose
domain into noteworthy concepts or objects
• UML class diagrams used to draw domain
models
– Conceptual perspective. Shows:
• Domain objects (conceptual classes)
• Associations between domain objects
• Attributes of conceptual classes
• Domain model is NOT a model of software
objects or our design
• The following should NOT be in a domain model
– Software artifacts: Window, database, …
– Responsibilities or methods
4. visualization of a real-world concept in
Sale the domain of interest
dateTime it is a not a picture of a software class
5. SalesDatabase
oid
software artifact; not part
av of domain model
Sale
oid software class; not part
av date of domain model
time
print()
6. Software Class Names Inspired by Domain Model Objects
UP Domain Model
Stakeholder's view of the noteworthy concepts in the domain.
Sale
A Payment in the Domain Model Payment 1
1 Pays-for
is a concept, but a Payment in date
the Design Model is a software amount
time
class. They are not the same
thing, but the former inspired the
inspires
naming and definition of the
objects
latter.
and
names in
This reduces the representational
gap.
Sale
This is one of the big ideas in Payment
object technology. 1 1 date: Date
Pays-for
amount: Money startTime: Time
getBalance(): Money getTotal(): Money
...
UP Design Model
The object-oriented developer has taken inspiration from the real world domain
in creating software classes.
Therefore, the representational gap between how stakeholders conceive the
domain, and its representation in software, has been lowered.
7. How to create a domain model?
• Find conceptual classes
– How?
• Re-use or modify existing models
• Use a category list
• Identify noun phrases
• More on these later
• Draw them as classes in a UML class
diagram
• Add associations and attributes
– More on this later
12. Candidate Conceptual Classes: Process Sale, Iteration 1
Register Item Store Sale
Sales
Cashier Customer Ledger
LineItem
Cash Product Product
Payment Catalog Description
13.
14. Attributes vs. Classes
• Should “something” be
– an attribute of a class, or
– a separate conceptual class
• Examples:
– Store: An attribute of Sale or separate class
• Store: Not a number or text
• Should be separate conceptual class
– Flight destination: An attribute or a separate class
• Destination is an airport, not a number
• Should be separate conceptual class
• Guideline:
– If we thing of something as simply a number or text in
real life, it should be an attribute.
– Otherwise it should be a conceptual class.
15. “Description” Classes
• A description class contains information that describes
something else
– Example: ProductDescription
– Records price, picture and text description of an item
• Why use them? Why not include all that information in
the Product class?
– We need this information stored and represented even though
there are no objects of that particular product type.
– Don’t want to duplicate product information for each duplicate
product object
• Serial number belongs with product object
• Picture of product belongs with product description
• Need objects that are “specifications” or “descriptions” of
other objects
16. Description class example
Item
description Worse
price
serial number
itemID
ProductDescription
Item
description Describes Better
price 1 * serial number
itemID
17. Description class example
Flight
Airport
date Flies-to Worse
number 1 name
time *
Flight
FlightDescription Better
Described-by
date
time * 1 number
*
Describes-flights-to
1
Airport
name
Even when that flight is not
scheduled that day, the flight description exists.
18. Associations
• Association: A relationship between (instances
of) classes that indicates some meaningful and
interesting connection.
• Used to show relationships that need to be
remembered and preserved for some duration
association
Records-current
Register Sale
1 1
19. Which relationships need to be remembered?
• Example: Does a Sale-SalesLineItem
relationship need to be remembered
(preserved)?
– Yes, otherwise can’t process returns or exchanges.
• Example: Cashier looks up ProductDescription
– Don’t need to remember/store.
• Example:
– What square is a Monopoly player on?
• Need to remember
– Dice total tells us which Square to move to
• Do we need to store this fact with the Dice or the Square?
• No!
23. Association Directionalities
-"reading direction arrow"
-it has no meaning except to indicate direction of
reading the association label
-often excluded
Register Records-current 4 Sale
1 0..1
association name multiplicity
24. How to name an association?
• Pattern:
– Class name – verb phrase – class name
– Readable and meaningful
• Try to avoid “has” or “uses”. These give no
extra information
28. POS Domain Model Example:
R e c o rd s -s a le -o f
P ro d u ct
Ledger P ro d u c t D e s c rip tio n
C a ta lo g C o n ta in s
1 1 .. *
1 1
1
0 ..1 R e c o rd s -
U s e d -b y D e s crib e s
a c c o u n ts -
S a le s fo r * *
L in e Ite m S to re
Ite m
S to c ks
1 1
* 1 ..*
1 .. *
1
C o n ta in e d -in Logs- H ouses
1 c o m p le te d 1 .. *
S a le * R e g iste r
C a p tu re d -o n
0 ..1 1
1 1 Is -fo r 1
P a id -b y 3 W o rk s -o n
1 1 1
C ashP aym ent C u s to m e r C a s h ie r
30. Attributes
attributes
Sale
dateTime
/ total : Money derived
attribute
• An attribute: A logical data value stored in an object
31. More detailed attribute notation
visibility name: type multiplicity = default value {property-string}
Sale Math Person
- dateTime : Date + pi : Real = 3.14 {readOnly} firstName
- / total : Money middleName : [0..1]
lastName
Private visibility Public visibility readonly
attributes attribute with initialization Optional value
• Attribute requirements (such as an optional middle name)
should also be placed in the Glossary.
32. Derivable attributes
SalesLineItem Item Each line item records a
0..1 Records-sale-of 1
separate item sale.
For example, 1 tofu package.
SalesLineItem Item
0..1 Records-sale-of 1..* Each line item can record a
group of the same kind of items.
For example, 6 tofu packages.
SalesLineItem Item
0..1 Records-sale-of 1..*
/quantity
derived attribute from
the multiplicity value
• The “/” sign: the value of this attribute can be calculated or
derived from other attributes
• Still, it is noteworthy and may be recorded separately
33. Most attribute types should be primitive data types
Cashier
Worse not a "data type" attribute
name
currentRegister
Cashier Register
Better 1 Uses 1
name number
• Guideline: The attributes in a domain model should be
(simple, primitive) data types
– Boolean, Date, Number (Integer, Real), String (Text), Time, Phone
Number, ID Number, Postal Code, …
• Non-data type relationships (i.e., conceptual class
relationships) should be expressed using associations, not
attributes.
34. Do we need a new box for these classes?
ItemID Address
Product 1 1 1 1 street1
OK id Store
Description street2
manufacturerCode
countryCode cityName
...
Product Store
Description
OK address : Address
itemId : ItemID
35. Attributes representing “foreign keys”
• Avoid them!
Cashier
Worse a "simple" attribute, but being
name used as a foreign key to relate to
currentRegisterNumber another object
Cashier Register
Better 1 Works-on 1
name number
36. Payment
not useful
amount : Number
Payment Quantity Unit
Has-amount4 Is-in4
1 1
* amount : Number * ...
Payment quantities are pure data
values, so are suitable to
amount : Quantity better
show in attribute section
Payment variation: Money is a
specialized Quantity whose
amount : Money unit is a currency
37. POS Domain Model Example:
R e c o rd s -s a le -o f
P ro d u c t
Ledger P ro d u c t D e s c rip tio n
C a ta lo g C o n ta in s
1 ite m ID
1 .. *
d e s c rip tio n
1 1
1 p ric e
0 ..1 R e c o rd s -
U s e d -b y D e s c rib e s
a c c o u n ts -
S a le s fo r * *
L in e Ite m S to re
Ite m
S to c k s
q u a n tity 1 nam e 1
a d d re s s * 1 ..*
1 .. *
1
C o n ta in e d -in Logs- H ouses
1 c o m p le te d 1 .. *
S a le * R e g is te r
d a te T im e C a p tu re d -o n id
0 ..1 1
/ to ta l
1
1 1
Is -fo r 3 W o rk s -o n
P a id -b y
1 1 1
C ashP aym ent C u s to m e r C a s h ie r
a m o u n tT e n d e re d id