SlideShare uma empresa Scribd logo
1 de 99
Software Architecture and
Project Management
Archetype and Archetype Patterns
By
SREEJA RAJESH
Department of Computer Science & Engineering
Jyothi Engineering College, Kerala
Module II
• Archetypes and Archetype Patterns
• Model Driven Architecture with Archetype Patterns.
• Literate Modeling, Archetype Pattern.
• Customer Relationship Management (CRM) Archetype
Pattern,
• Product Archetype Pattern,
• Quantity Archetype Pattern,
• Rule Archetype Pattern.
Party Archetype and Archetype Patterns
Party Archetype
The Party archetype pattern describes how to
represent essential information about people and
organizations. We use Party as a general term for a
person or an organization such as a business .
The Party archetype represents an identifiable,
addressable unit that may have a legal status and
that normally has autonomous control over (at least
some of) its actions.
Usually, the Party archetype captures essential
information about a person or an organization, but
it is merely a representation of that person or
organization within a software system.
Party Archetype
Party Archetype and Archetype Patterns
The information maintained by the Party Archetype
include:
Unique Identifier
Name
Address
Registered identifiers(passports,identity cards)
Preferences
Any other information that your company needs
Party Archetype
Party Archetype and Archetype Patterns
PartyIdentifier archetype represents a unique
identifier for a Party.
PartyIdentifier
UniqueIdentifier
UniqueIdentifier archetype represents an
identifier that is unique within a given context.
Party Archetype and Archetype Patterns
The characteristics of PartyIdentifier include:
It must be unique across your whole business.
It should usually be an alphanumeric string
It must not be null.
It must be created when a new Party object is
saved to persistent storage (such as a database).
It must not be changed.
It must have no significance.
PartyIdentifier
Party Archetype and Archetype Patterns
how to represent relationships between Parties
and the roles the Parties play in those
relationships
how to uniquely identify a PartyRole.
how to represent a relationship between three or
more Parties
PartyRole & PartyRelationship
PartyRoleIdentifier:
N-ary Relationships:
Party Archetype and Archetype Patterns
how to represent different types of PartyRoles
and PartyRelationships
PartyRoleType & PartyRelationshipType
Managing PartyRoles and PartyRelationships
how to manage complex networks of
PartyRelationships
Party Archetype and Archetype Patterns
how to constrain the types of PartyRoles that a
particular type of Party can play.
PartyRoleConstraint
PartyRelationshipConstraint
how to constrain the types of PartyRoles that can
act as the client and supplier sides of a specific
PartyRelationshipType
Party Archetype and Archetype Patterns
how to describe a particular activity that a
PartyRoleType may be expected to perform
Responsibility
AssignedResponsibility
how to capture the fact that a particular
Responsibility has been assigned to a particular
PartyRole
Party Archetype and Archetype Patterns
how to describe model the facts about what a
Party is capable of doing.
Capabilities
PartyRelationship archetype pattern
how to use this pattern effectively.
Party Archetype and Archetype Patterns
CRM is about actively managing the relationships
between your business and your customers, in
order to understand and increase customer value,
motivation, and loyalty.
CRM is about recognizing and treating the
customer as an individual.
known as relationship marketing because the
marketing activity is based on an established
relationship to a known customer.
Customer relationship management
archetype pattern (CRM)
Customer Relationship Management (CRM) Archetype Pattern
Assess the business value of the customer
Increase the business value of the customer
Increase customer satisfaction
Gain and maintain customer loyalty
Motivate customers to repeat business
Attract new customers
Understand which customers to keep and which
to lose
Save money by streamlining customer
interactions
Goals of CRM
Customer Relationship Management (CRM) Archetype Pattern
All CRM is predicated on having a unified view of
the customer that includes:
Customer information (name, address etc).
Customer needs (preferably anticipating these
needs!)
Customer preferences.
Customer value to the business
Customer buying patterns (behaviors)
Customer communications with the business
Unified View of customer
Customer Relationship Management (CRM) Archetype Pattern
What is a Customer?
Should you represent it as a type of Party?
Should you represent it as a role that a Party
plays?
Customer
Customer Archetype
how to represent the PartyRole that a Party may
play on the purchasing side of a sales process
Customer Relationship Management (CRM) Archetype Pattern
Customer as type of PartyRole
Customer Relationship Management (CRM) Archetype Pattern
how to represent the handover of a Communication
between CustomerServiceRepresentatives
CommunicationRouting
Customer Relationship Management (CRM) Archetype Pattern
how to capture all of the communications about a
specific topic related to a specific Customer
CustomerServiceCase
CustomerServiceCaseIdentifier
how to uniquely identify a CustomerServiceCase
Customer Relationship Management (CRM) Archetype Pattern
how to represent the business function of
managing Customer Communications as a set of
CustomerServiceCases
CustomerCommunicationManager
Communication
how to capture details of a communication between
two PartyRoles as a type of PartyRelationship
Customer Relationship Management (CRM) Archetype Pattern
CustomerCommunicationManager
Customer Relationship Management (CRM) Archetype Pattern
Knowing who you are communicating with, even if
the Customer is represented indirectly by an agent
Maintaining a record of all Communications
Making the Communication history available to
Parties authorized to interact with the Customer
Generating Actions based on Customer
Communications
Tracking Actions generated from Customer
Communications
Monitoring the Outcomes of Actions generated by
Customer Communications
Managing Customer Communication
Customer Relationship Management (CRM) Archetype Pattern
how to capture a sequence of Communications
about a particular topic
CommunicationThread
CustomerAgent
how to represent the role of someone who acts on
behalf of a CustomerServiceCase
Customer Relationship Management (CRM) Archetype Pattern
How to represent the role played by someone
who acts on behalf of the customer services
department
CustomerServiceRepresentative
Customer Relationship Management (CRM) Archetype Pattern
Hierarchical tree of Communication
Customer Relationship Management (CRM) Archetype Pattern
how to represent an action that is taken as the
result of a Communication
how to represent the actual or possible result of
an Action
Action
Outcome
Customer Relationship Management (CRM) Archetype Pattern
Actions & Outcomes
Customer Relationship Management (CRM) Archetype Pattern
All businesses make money by selling some
product, either goods or services.
The Product archetype pattern provides a way to
model goods and services effectively.
Products can take a number of different basic
forms, and the Product archetype pattern has to
accommodate all of them.
Product Archetype Pattern
Product Archetype Pattern
Unique things
 Artisan-produced products tend to be unique, with a one-to-one
correspondence between a catalog entry and the artifact itself.
Identical things
 Mass-produced products are a one-to-many correspondence
between a catalog entry and a set of identical artifacts.
Identifiable things.
 things that are similar but individually identifiable (e.g., a car of a
particular make)
Three Broad Categories of Product
Product Archetype Pattern
If your business system needs to deal with only
unique things, you may find it more appropriate to use
a specifically optimized Product archetype pattern
pleomorph called UniqueProduct.
If your business system needs to handle only the
special case of identical things, it may be more
appropriate to use a specifically optimized Product
archetype pattern pleomorph called IdenticalProduct.
Product Archetype Pattern Pleomorphs
Product Archetype Pattern
Product Archetype Pattern
Product Archetype Pattern
Product Archetype Pattern
Product Archetype Pattern
ProductCatalog : contains descriptions for one or
more ProductTypes. A description is shared by many
ProductInstances, each of which has its own unique
identifier and may have optional features.
When you go into a shop to buy one of these
products, the ProductType represents the information
the salesperson gives you verbally or in a catalog or
leaflet, and the ProductInstance represents the actual
thing you walk out the door with.
Product Archetype Pattern
Product Archetype Pattern
ProductType archetype describes the common
properties of a set of goods or services.
• For example, the name "Epson Stylus C80" and its
associated specification describe a type of printer.
This is a ProductType.
ProductInstance archetype represents a specific
instance of a ProductType
• There are many specific instances of this printer,
these are represented by ProductInstances.
ProductType & ProductInstance
Product Archetype Pattern
Product Archetype Pattern
ProductType & ProductInstance
For each ProductInstance, there is exactly one
ProductType that describes the common properties of
the set of similar instances.
Product Archetype Pattern
ProductType & ProductInstance
Product Archetype Pattern
ProductType & ProductInstance Roles
Manufacturer
perspective
Seller
perspective
Customer
perspective
ProductType What you
specify
What you advertise in
a catalog for sale
What you sell
What you browse
in a catalog
What you order
ProductInstance What you
manufacture
What you hold in
Inventory
What you deliver
What you receive
Product Archetype Pattern
Uniquely identifying goods and services
Use a GTIN data structure
Use an ISBN
Product Archetype Pattern
Create your own identifier
Global Trade Item Number (GTIN) is an identifier for trade items
developed by GS1 comprising among others of the former
European Article Number (EAN) International and Uniform Code
Council.
Such identifiers are used to look up product information in a
database (often by inputting the number through a bar code
scanner pointed at an actual product) which may belong to a
retailer, manufacturer, collector, researcher, or other entity.
The uniqueness and universality of the identifier is useful in
establishing which product in one database corresponds to
which product in another database, especially across
organizational boundaries.
Product Archetype Pattern
GTIN
Currently, GTIN is used exclusively within bar codes,
but it could also be used in other data carriers such as
radio frequency identification (RFID).
The GTIN is only a term and does not impact any
existing standards, nor does it place any additional
requirements on scanning hardware.
Product Archetype Pattern
GTIN
The family of data structures comprising GTIN
include:
• GTIN-12 (UPC-A): this is a 12-digit number used
primarily in North America
• GTIN-8 (EAN/UCC-8): this is an 8-digit number used
predominately outside of North America
• GTIN-13 (EAN/UCC-13): this is a 13-digit number used
predominately outside of North America
• GTIN-14 (EAN/UCC-14 or ITF-14): this is a 14-digit
number used to identify trade items at
variouspackaging levels
Product Archetype Pattern
GTIN
GTINs are internationally recognized standard
identifiers.
This system creates globally unique identifiers.
The identifiers may be used in all business and public
sectors.
The identifiers include a check digit. This gives them
a degree of robustness.
Product Archetype Pattern
Advantages offered by GTIN approach
The identifiers may be easily encoded in a standard
way into a bar code symbol and should be compatible
with emerging tagging technologies such as radio
frequency identification (RFID).
There are now services that allow you to look up a bar
code symbol to find out information about the owning
company and its products.
Product Archetype Pattern
Advantages offered by GTIN approach
For books, you may obtain a unique International
Standard Book Number (ISBN) as defined in ISO 2108.
The identifier is preceded by the letters ISBN and is a
ten-digit number that is divided into four parts of
variable length.
These parts must be separated clearly by hyphens or
spaces.
Product Archetype Pattern
ISBN
Product Archetype Pattern
ISBN
Product Archetype Pattern
ISBN
ISBN Part Semantics
Group identifier Identifies a grouping of publishers by geographic or
language area, e.g., the English language grouping
(groups 0 and 1) includes the United States, the United
Kingdom, Canada, Australia, and so on; Switzerland is
covered by French language group 2, German language
group 3
Publisher identifier Refers to a particular publisher within a group
Title identifier Refers to a specific edition of a title published by the
Publisher
Check Digit Used to ensure data integrity.
Value is from 0 to X (representing 10)
The SerialNumber archetype represents a unique
identifier for a specific instance of a product (a
ProductInstance).
For services, the SerialNumber identifies a specific
delivery of a service and usually relates to some
record of that delivery an ISBN
Product Archetype Pattern
Serial number
Product Archetype Pattern
Serial number
The Batch archetype describes a set of
ProductInstances of a specific ProductType that are all
to be tracked together, usually for quality control
purposes.
A Batch is important when manufacturing products.
On the selling side, batchIdentifiers provide a means
of communicating information from manufacturer to
retailer to consumer, typically about safety or quality
control issues.
Product Archetype Pattern
Batch
Product Archetype Pattern
Serial number and Batch
A common business practice is to sell selections of
products grouped together as a unit. These selections
are often known as packages.
An example is a vacation package, where a number of
different travel-related products are sold as a unit.
Product Archetype Pattern
Packages
The PackageType archetype specifies a set of component
ProductTypes and rules about how these may be
combined to create PackageInstances. A PackageType is
a kind of ProductType.
The PackageInstance archetype represents a collection of
one or more ProductInstances sold together to increase
the business benefit generated by the sale. A
PackageInstance is a kind of ProductInstance.
Product Archetype Pattern
PackageType and PackageInstance
Each PackageInstance has an associated PackageType
that contains rules about what combinations of
ProductTypes the PackageInstance can contain.
Product Archetype Pattern
PackageType and PackageInstance
Product Archetype Pattern
Package
References a set of component ProductTypes that
comprise all the possible starter, main course, and
dessert ProductTypes.
Contains a rule that states that a PackageInstance
can contain exactly one starter, one main course, and
one dessert.
In other words, the PackageInstance can contain a
ProductInstance of one of the ProductTypes in each of
the starter, main course, and dessert ProductSets.
Product Archetype Pattern
PackageType
defines a Package Type
Product Archetype Pattern
Package Specification Process
Is a highly iterative and creative business process that
requires detailed negotiations between the marketing,
business strategy, stock control, and legal forces within the
business.
Depending on the nature of the ProductTypes involved,
there may also be an operational factor or product
combination constraints to consider.
Product Archetype Pattern
Package Specification Process
Product Archetype Pattern
Package Specification Process
Once a PackageType has been defined by the package
specification process, specific PackageInstances are
created by a package configuration process. This can take
one of two forms.
1. The business assembles one or more PackageInstances
based on the PackageType and offers these for sale. The
customer is offered a PackageInstance with a
predetermined configuration.
Product Archetype Pattern
Package Specification Process
2. The customer is allowed to construct a PackageInstance
at the point of sale based on the rules defined in the
PackageType and possibly constrained by the availability
of package components.
Product Archetype Pattern
Package Specification Process
Product Archetype Pattern
Product Relationship
The ProductRelationship archetype represents a fixed
relationship between ProductTypes that is not a packaging
or containment relationship.
Product Archetype Pattern
Product Relationship
When you want to purchase a product, you are sometimes
offered an upgrade to a higher specification product, possibly
at a reduced price. This activity, known as up-selling.
is an important way for businesses to maximize both the
business benefit and the customer satisfaction generated
from each sale.
ProductRelationship UpgradableTo captures the possibility of
an upgrade to a higher specification ProductType.
Product Archetype Pattern
Up-Selling
Occurs when you choose a product and are then
offered a compatible product, possibly at a reduced
price.
We capture the possibility of cross-selling with the
ProductRelationship ComplementedBy.
When up-selling and cross-selling are practiced with
integrity, they can generate advantages for both the
buyer and the seller.
Product Archetype Pattern
Cross-Selling
The Price archetype represents the amount of money
that must be paid in order to purchase a good or
service.
The essence of our model of pricing is that each
ProductType may have one or more Prices, and each
Price has an associated RuleSet that defines the
preconditions for the availability of that Price.
For example, you want to get Price X, you must first
satisfy RuleSet Y.
Product Archetype Pattern
Price
Product Archetype Pattern
PackageType
Pricing case Example
A single, fixed price A can of soup in a supermarket
A reserve (minimum) price and a
higher price determined at the point
of sale
An item for sale on an auction site
such as eBay
A price that shows some periodicity Seasonal rates for hotel
accommodation
Multiple prices that depend on the
application of business rules
CD prices that may be reduced if
you are a club member (our local
CD shop does this)
Multiple prices that depend on the
application of business rules and
that show some time dependence
An airline ticket
A price reduction that applies to any instance of a
ProductType is modeled as one of the ProductType's
Prices and may have preconditions.
Individual ProductInstances may also have an ad hoc
Price applied that overrides all the other possible
Prices.
for example, a price reduction for a shop-soiled item.
An ad hoc Price is modeled as an ArbitraryPrice.
Product Archetype Pattern
Price Reductions
The ArbitraryPrice archetype represents an ad hoc
Price applied to a specific ProductInstance that
overrides all other possible Prices.
Finally, price reductions may be applied as Discounts
to a whole Order rather than to individual
ProductTypes or ProductInstances.
Product Archetype Pattern
Price Reductions
The PricingStrategy archetype that determines how a
Price is calculated for a PackageType PricingStrategy.
ASSIGNED P = x
AGGREGATED P = ( i=1 to n ) pi
Product Archetype Pattern
Package Pricing
A service represents a process or activity that is
offered for sale.
In fact, only in inventory management is there any
difference between goods and services that makes a
difference from the modeling perspective.
Example: haircut from barbershop
Product Archetype Pattern
Services
A ServiceType archetype is a kind of ProductType that
represents a type of service.
Each ServiceType may optionally have two attributes
startOfPeriodOfOperation
endOfPeriodOfOperation
Product Archetype Pattern
ServiceType
A ServiceInstance archetype represents an instance or
execution of a ServiceType delivered to one or more
Parties.
ServiceInstances have an actual start and end as well
as an optional scheduledStart and sceduledEnd for
performance monitoring purposes.
Product Archetype Pattern
ServiceInstance
A ServiceDeliveryStatus archetype records the status of
the delivery of a particular ServiceInstance
This can take one of the values shown
Product Archetype Pattern
ServiceDeliveryStatus
SCHEDULED The ServiceInstance has been scheduled for
delivery
EXECUTING The ServiceInstance is in the process of delivery
CANCELLED The ServiceInstance has been cancelled
COMPLETED The delivery of the ServiceInstance has been
completed
Product Archetype Pattern
ServiceDeliveryStatus
A quantity is an amount of something measured
according to some standard of measurement.
Another way to say this is that a quantity of something
is a number expressed in a particular metric.
A metric is a standard of measurement.
The metric always has a name (e.g., kilogram) and
often has a standard symbol (e.g., kg).
Quantity Archetype Pattern
Quantity Archetype Pattern
In the business environment, Money is one of the
most important types of Quantities.
Currency is one of the most important types of
Metrics.
The Money archetype represents an amount of a
specific Currency.
This Currency is accepted in one or more Locales.
The Locale archetype represents a general notion of
place, location, or context.
Quantity Archetype Pattern
Money and Currency
There are two subclasses of Currency
 ISOCurrency
 NonISOCurrency
The ISOCurrency archetype represents a type of
Currency whose name, alphabeticCode, and
numericCode are defined in ISO 4217.
The NonISOCurrency archetype represents a type of
Currency that is not defined in ISO 4217.
Quantity Archetype Pattern
Currency
ISO 4217 is the international standard describing three
letter codes (also known as the currency code) to
define the names of currencies established by the
International Organization for Standardization (ISO).
Quantity Archetype Pattern
ISO 4217
Quantity Archetype Pattern
Money and Currency
Quantity Archetype Pattern
ExchangeRate and CurrencyConverter
ExchangeRate: how to represent the price of one type
of money relative to another
ExchangeRateType: how to represent a category of
ExchangeRates
CurrencyConverter: how to represent the function of
converting Money in one Currency into an equivalent
amount of another Currency
Quantity Archetype Pattern
Payment
Payment: how to represent Money paid by one Party to
another
PaymentMethod: how to represent the medium by
which a Payment may be made
Cash: how to represent a Payment made in a physical
amount of a Currency
Check: how to represent a bill of exchange drawn on a
bank and payable on demand
Quantity Archetype Pattern
Payment
PaymentCard: how to represent a physical token such
as a plastic card that authorizes the Party identified on
it to charge the cost of goods or services to an
account
 CreditCard: how to represent a PaymentCard that comes
with a line of credit
 DebitCard: how to represent a PaymentCard where
Payments are immediately debited from a source account
Rule Archetype Pattern
Rule Archetype Pattern
Rule pattern is to give you a concrete basis for
understanding and working with the various kinds of
rules you will encounter in business analysis and
system development.
Use to implement simple rules-based systems.
Rule Archetype Pattern
Rules
Rules are constraints.
The typical dictionary definition of a rule is:
 A code or principle that governs or constrains action
or behavior (i.e., a constraint on an action)
 An established or normal quality or condition of things
(i.e., a constraint on the state of something)
So some rules are simple statements of fact about the
state of something, while others may be used
explicitly to trigger actions.
These two aspects of rules are of equal importance.
Rule Archetype Pattern
Business Rule
A business rule is a constraint on the operation of the
business.
A business system rule is a constraint on the
operation of the software systems of the business.
Rule Archetype Pattern
Business Rule
A business rule is a constraint on the operation of the
business.
A business system rule is a constraint on the
operation of the software systems of the business.
Rule Archetype Pattern
Business Rule
A business rule may constraint the business in two
fundamentally different ways.
1.It may constrain the structure of the business. For
example, relationship between various subunits of the
organization, such as marketing and manufacturing.
2.It may constrain the operation of the business. For
example, sequence of actions in business workflows
such as order processing.
Rule Archetype Pattern
Business Rule
Business rules are pervasive and exist at all levels of
the organization.
Business rules form a hierarchy from the very general
to the very specific.
This hierarchy is itself subject to the constraint that
all of its rules must be consistent with each other.
Rule Archetype Pattern
Business System Rules
Business system rules are specific constraints on the
operation of the software systems of the business.
They are derived from business rules via a software
engineering process.
Rule Archetype Pattern
Business System Rules
Organizations that have many legacy software
systems can be particularly prone to the problem
where the systems themselves constrain the activities
of the whole business.
Rule Archetype Pattern
Business System Rules
Rule Archetype Pattern
Rules and Business Processes
A business process is a sequence of business
activities that, when executed, is designed to lead to
some business benefit
Rules can affect business processes in two ways.
1. They can embody information about the state of the
business.
2. They can conditionally trigger business activities
based on that information.
Rule Archetype Pattern
Business Process
The business process of selling an insurance policy to
a customer. This process can be summarized as:
if customerAge >= minimumAge then
sellPolicy()
The process requires three rules for its operation. Two of
these rules just embody information, while the third rule
triggers a business activity.
Rule Archetype Pattern
Business Process
The three rules are listed in the table:
ID Rule Type Semantics
1 customerAge = 17 Information A fact about the customer
2 minimumAge = 18 Information A fact about the business
(here, the circumstances
under which it is prepared
to do business)
3 if customerAge >= minimumAge then
sellPolicy()
Activity A rule that triggers a
business activity
Rule Archetype Pattern
Physical Location of Rules
Business system rules can exist in three places:
1. In the source code
2. As database triggers
3. As explicit rules managed and manipulated by a rules
engine
Rule Archetype Pattern
Location Advantages Disadvantages
Source
code
Applications have good
performance
Rules are very hard to change, and it is
expensive to make the change
Rules are generally not reusable across
applications
Applications are inflexible
Database
triggers
Rules are more accessible
to change
Applications are more
flexible
Rules are coupled to data
Rules are not reusable across data sets
Not all rules can be encoded in this way
Advantages & Disadvantages of Physical Location of Rules
Rule Archetype Pattern
Location Advantages Disadvantages
Explicit
rules
managed
by a rules
engine
Rules are completely
accessible to change, and
it is easy and inexpensive
to make the change
Rules are made explicit
and so are open to
inspection and review
Rules are separate from
applications and data
Applications are very
flexible
Applications may not perform as well as
they would with hard-coded rules. This
depends on the rules engine
Advantages & Disadvantages of Physical Location of Rules
REFERENCE
• Jim Arlow, Ila Neustadt , "Enterprise Patterns and MDA".

Mais conteúdo relacionado

Mais procurados

Aspect-Oriented Software Development with Use Cases
Aspect-Oriented Software Development with Use CasesAspect-Oriented Software Development with Use Cases
Aspect-Oriented Software Development with Use Caseswww.myassignmenthelp.net
 
Oracle Succession Planning Setup
Oracle Succession Planning SetupOracle Succession Planning Setup
Oracle Succession Planning SetupFeras Ahmad
 
Salesforce Presentation
Salesforce PresentationSalesforce Presentation
Salesforce PresentationChetna Purohit
 
08 define enterprise hcm information
08 define enterprise hcm information08 define enterprise hcm information
08 define enterprise hcm informationmohamed refaei
 
Customize the New Salesforce Mobile App with Lightning App Builder
Customize the New Salesforce Mobile App with Lightning App BuilderCustomize the New Salesforce Mobile App with Lightning App Builder
Customize the New Salesforce Mobile App with Lightning App BuilderSalesforce Admins
 
Ch11-Software Engineering 9
Ch11-Software Engineering 9Ch11-Software Engineering 9
Ch11-Software Engineering 9Ian Sommerville
 

Mais procurados (9)

Ch4 req eng
Ch4 req engCh4 req eng
Ch4 req eng
 
Aspect-Oriented Software Development with Use Cases
Aspect-Oriented Software Development with Use CasesAspect-Oriented Software Development with Use Cases
Aspect-Oriented Software Development with Use Cases
 
Oracle Succession Planning Setup
Oracle Succession Planning SetupOracle Succession Planning Setup
Oracle Succession Planning Setup
 
Oracle gl consolidations
Oracle gl consolidationsOracle gl consolidations
Oracle gl consolidations
 
Salesforce Presentation
Salesforce PresentationSalesforce Presentation
Salesforce Presentation
 
08 define enterprise hcm information
08 define enterprise hcm information08 define enterprise hcm information
08 define enterprise hcm information
 
Customize the New Salesforce Mobile App with Lightning App Builder
Customize the New Salesforce Mobile App with Lightning App BuilderCustomize the New Salesforce Mobile App with Lightning App Builder
Customize the New Salesforce Mobile App with Lightning App Builder
 
View only roles_v2
View only roles_v2View only roles_v2
View only roles_v2
 
Ch11-Software Engineering 9
Ch11-Software Engineering 9Ch11-Software Engineering 9
Ch11-Software Engineering 9
 

Destaque

Software Architecture and Project Management Module II archetype pattern
Software Architecture and Project Management Module II archetype patternSoftware Architecture and Project Management Module II archetype pattern
Software Architecture and Project Management Module II archetype patternsreeja_rajesh
 
Archetypes ppt
Archetypes pptArchetypes ppt
Archetypes pptstjohnso1
 
Using interactive models to enhance UML education
Using interactive models to enhance UML educationUsing interactive models to enhance UML education
Using interactive models to enhance UML educationStephen Frezza
 
System Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureSystem Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureAdnan Masood
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architectureHimanshu
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
Business Model Archetypes
Business Model ArchetypesBusiness Model Archetypes
Business Model ArchetypesNeal Cabage
 
Salesforce com-architecture
Salesforce com-architectureSalesforce com-architecture
Salesforce com-architecturedrewz lin
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering conceptsKomal Singh
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptswweinmeyer79
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 

Destaque (13)

Software Architecture and Project Management Module II archetype pattern
Software Architecture and Project Management Module II archetype patternSoftware Architecture and Project Management Module II archetype pattern
Software Architecture and Project Management Module II archetype pattern
 
Archetypes ppt
Archetypes pptArchetypes ppt
Archetypes ppt
 
2015 Presentation: Front End Meetup
2015 Presentation: Front End Meetup2015 Presentation: Front End Meetup
2015 Presentation: Front End Meetup
 
Using interactive models to enhance UML education
Using interactive models to enhance UML educationUsing interactive models to enhance UML education
Using interactive models to enhance UML education
 
System Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureSystem Quality Attributes for Software Architecture
System Quality Attributes for Software Architecture
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
Business Model Archetypes
Business Model ArchetypesBusiness Model Archetypes
Business Model Archetypes
 
Salesforce com-architecture
Salesforce com-architectureSalesforce com-architecture
Salesforce com-architecture
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering concepts
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 

Semelhante a Module ii archetype pattern

Software Architecture and Project Management
Software Architecture and Project ManagementSoftware Architecture and Project Management
Software Architecture and Project Managementsreeja_rajesh
 
Data Modeling PPT
Data Modeling PPTData Modeling PPT
Data Modeling PPTTrinath
 
Subtypes vs, roles
Subtypes vs, rolesSubtypes vs, roles
Subtypes vs, rolesRalph Mohr
 
Subtypes vs, roles
Subtypes vs, rolesSubtypes vs, roles
Subtypes vs, rolesRalph Mohr
 
Claro Networked Business Model Canvas
Claro Networked Business Model CanvasClaro Networked Business Model Canvas
Claro Networked Business Model CanvasClaro Partners Inc.
 
Business Model Ontology
Business Model OntologyBusiness Model Ontology
Business Model Ontologystevendiebold
 
Samples of Database and Website Design
Samples of Database and Website DesignSamples of Database and Website Design
Samples of Database and Website DesignSherri Orwick Ogden
 
Case Study Taxonomy of crm
Case Study Taxonomy of crmCase Study Taxonomy of crm
Case Study Taxonomy of crmOnkar Kapoor
 
Social Observational ActivitySpend some time observing another.docx
Social Observational ActivitySpend some time observing another.docxSocial Observational ActivitySpend some time observing another.docx
Social Observational ActivitySpend some time observing another.docxsamuel699872
 
Social Observational ActivitySpend some time observing another.docx
Social Observational ActivitySpend some time observing another.docxSocial Observational ActivitySpend some time observing another.docx
Social Observational ActivitySpend some time observing another.docxrosemariebrayshaw
 
Business model Canvas
Business model CanvasBusiness model Canvas
Business model CanvasIbrahim Faza
 
Feature Injection River Glide
Feature Injection River GlideFeature Injection River Glide
Feature Injection River GlideSkills Matter
 
Hvordan passer teknologien inn i din forretningsmodell
Hvordan passer teknologien inn i din forretningsmodellHvordan passer teknologien inn i din forretningsmodell
Hvordan passer teknologien inn i din forretningsmodellVictor Sanchez Barrera
 
Emodel
EmodelEmodel
Emodeljim
 
3.(Ecothon Group1)Development of Business Model I (1).pdf
3.(Ecothon Group1)Development of Business Model I (1).pdf3.(Ecothon Group1)Development of Business Model I (1).pdf
3.(Ecothon Group1)Development of Business Model I (1).pdfazizahfauziahmisbahu
 
SALESmanago: Buyer Persona in Marketing Automation
SALESmanago: Buyer Persona in Marketing AutomationSALESmanago: Buyer Persona in Marketing Automation
SALESmanago: Buyer Persona in Marketing Automationsalesmanago
 
Tca best practices2
Tca best practices2Tca best practices2
Tca best practices2huynhducbi
 

Semelhante a Module ii archetype pattern (20)

Software Architecture and Project Management
Software Architecture and Project ManagementSoftware Architecture and Project Management
Software Architecture and Project Management
 
Data Modeling PPT
Data Modeling PPTData Modeling PPT
Data Modeling PPT
 
Data Modelling..pptx
Data Modelling..pptxData Modelling..pptx
Data Modelling..pptx
 
Subtypes vs, roles
Subtypes vs, rolesSubtypes vs, roles
Subtypes vs, roles
 
Subtypes vs, roles
Subtypes vs, rolesSubtypes vs, roles
Subtypes vs, roles
 
11.pptx
11.pptx11.pptx
11.pptx
 
Claro Networked Business Model Canvas
Claro Networked Business Model CanvasClaro Networked Business Model Canvas
Claro Networked Business Model Canvas
 
Business Model Ontology
Business Model OntologyBusiness Model Ontology
Business Model Ontology
 
Samples of Database and Website Design
Samples of Database and Website DesignSamples of Database and Website Design
Samples of Database and Website Design
 
Case Study Taxonomy of crm
Case Study Taxonomy of crmCase Study Taxonomy of crm
Case Study Taxonomy of crm
 
Social Observational ActivitySpend some time observing another.docx
Social Observational ActivitySpend some time observing another.docxSocial Observational ActivitySpend some time observing another.docx
Social Observational ActivitySpend some time observing another.docx
 
Social Observational ActivitySpend some time observing another.docx
Social Observational ActivitySpend some time observing another.docxSocial Observational ActivitySpend some time observing another.docx
Social Observational ActivitySpend some time observing another.docx
 
Business model Canvas
Business model CanvasBusiness model Canvas
Business model Canvas
 
Crm
CrmCrm
Crm
 
Feature Injection River Glide
Feature Injection River GlideFeature Injection River Glide
Feature Injection River Glide
 
Hvordan passer teknologien inn i din forretningsmodell
Hvordan passer teknologien inn i din forretningsmodellHvordan passer teknologien inn i din forretningsmodell
Hvordan passer teknologien inn i din forretningsmodell
 
Emodel
EmodelEmodel
Emodel
 
3.(Ecothon Group1)Development of Business Model I (1).pdf
3.(Ecothon Group1)Development of Business Model I (1).pdf3.(Ecothon Group1)Development of Business Model I (1).pdf
3.(Ecothon Group1)Development of Business Model I (1).pdf
 
SALESmanago: Buyer Persona in Marketing Automation
SALESmanago: Buyer Persona in Marketing AutomationSALESmanago: Buyer Persona in Marketing Automation
SALESmanago: Buyer Persona in Marketing Automation
 
Tca best practices2
Tca best practices2Tca best practices2
Tca best practices2
 

Último

CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfisabel213075
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSsandhya757531
 
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfPaper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfNainaShrivastava14
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...Erbil Polytechnic University
 
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书rnrncn29
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
Industrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal CompressorsIndustrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal CompressorsAlirezaBagherian3
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdfAkritiPradhan2
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESkarthi keyan
 
OOP concepts -in-Python programming language
OOP concepts -in-Python programming languageOOP concepts -in-Python programming language
OOP concepts -in-Python programming languageSmritiSharma901052
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmDeepika Walanjkar
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSneha Padhiar
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxStephen Sitton
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 

Último (20)

CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdf
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
 
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfPaper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...
 
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Industrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal CompressorsIndustrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal Compressors
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
 
OOP concepts -in-Python programming language
OOP concepts -in-Python programming languageOOP concepts -in-Python programming language
OOP concepts -in-Python programming language
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptx
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 

Module ii archetype pattern

  • 1. Software Architecture and Project Management Archetype and Archetype Patterns By SREEJA RAJESH Department of Computer Science & Engineering Jyothi Engineering College, Kerala
  • 2. Module II • Archetypes and Archetype Patterns • Model Driven Architecture with Archetype Patterns. • Literate Modeling, Archetype Pattern. • Customer Relationship Management (CRM) Archetype Pattern, • Product Archetype Pattern, • Quantity Archetype Pattern, • Rule Archetype Pattern.
  • 3. Party Archetype and Archetype Patterns Party Archetype The Party archetype pattern describes how to represent essential information about people and organizations. We use Party as a general term for a person or an organization such as a business . The Party archetype represents an identifiable, addressable unit that may have a legal status and that normally has autonomous control over (at least some of) its actions. Usually, the Party archetype captures essential information about a person or an organization, but it is merely a representation of that person or organization within a software system.
  • 4. Party Archetype Party Archetype and Archetype Patterns
  • 5. The information maintained by the Party Archetype include: Unique Identifier Name Address Registered identifiers(passports,identity cards) Preferences Any other information that your company needs Party Archetype Party Archetype and Archetype Patterns
  • 6. PartyIdentifier archetype represents a unique identifier for a Party. PartyIdentifier UniqueIdentifier UniqueIdentifier archetype represents an identifier that is unique within a given context. Party Archetype and Archetype Patterns
  • 7. The characteristics of PartyIdentifier include: It must be unique across your whole business. It should usually be an alphanumeric string It must not be null. It must be created when a new Party object is saved to persistent storage (such as a database). It must not be changed. It must have no significance. PartyIdentifier Party Archetype and Archetype Patterns
  • 8. how to represent relationships between Parties and the roles the Parties play in those relationships how to uniquely identify a PartyRole. how to represent a relationship between three or more Parties PartyRole & PartyRelationship PartyRoleIdentifier: N-ary Relationships: Party Archetype and Archetype Patterns
  • 9. how to represent different types of PartyRoles and PartyRelationships PartyRoleType & PartyRelationshipType Managing PartyRoles and PartyRelationships how to manage complex networks of PartyRelationships Party Archetype and Archetype Patterns
  • 10. how to constrain the types of PartyRoles that a particular type of Party can play. PartyRoleConstraint PartyRelationshipConstraint how to constrain the types of PartyRoles that can act as the client and supplier sides of a specific PartyRelationshipType Party Archetype and Archetype Patterns
  • 11. how to describe a particular activity that a PartyRoleType may be expected to perform Responsibility AssignedResponsibility how to capture the fact that a particular Responsibility has been assigned to a particular PartyRole Party Archetype and Archetype Patterns
  • 12. how to describe model the facts about what a Party is capable of doing. Capabilities PartyRelationship archetype pattern how to use this pattern effectively. Party Archetype and Archetype Patterns
  • 13. CRM is about actively managing the relationships between your business and your customers, in order to understand and increase customer value, motivation, and loyalty. CRM is about recognizing and treating the customer as an individual. known as relationship marketing because the marketing activity is based on an established relationship to a known customer. Customer relationship management archetype pattern (CRM) Customer Relationship Management (CRM) Archetype Pattern
  • 14. Assess the business value of the customer Increase the business value of the customer Increase customer satisfaction Gain and maintain customer loyalty Motivate customers to repeat business Attract new customers Understand which customers to keep and which to lose Save money by streamlining customer interactions Goals of CRM Customer Relationship Management (CRM) Archetype Pattern
  • 15. All CRM is predicated on having a unified view of the customer that includes: Customer information (name, address etc). Customer needs (preferably anticipating these needs!) Customer preferences. Customer value to the business Customer buying patterns (behaviors) Customer communications with the business Unified View of customer Customer Relationship Management (CRM) Archetype Pattern
  • 16. What is a Customer? Should you represent it as a type of Party? Should you represent it as a role that a Party plays? Customer Customer Archetype how to represent the PartyRole that a Party may play on the purchasing side of a sales process Customer Relationship Management (CRM) Archetype Pattern
  • 17. Customer as type of PartyRole Customer Relationship Management (CRM) Archetype Pattern
  • 18. how to represent the handover of a Communication between CustomerServiceRepresentatives CommunicationRouting Customer Relationship Management (CRM) Archetype Pattern
  • 19. how to capture all of the communications about a specific topic related to a specific Customer CustomerServiceCase CustomerServiceCaseIdentifier how to uniquely identify a CustomerServiceCase Customer Relationship Management (CRM) Archetype Pattern
  • 20. how to represent the business function of managing Customer Communications as a set of CustomerServiceCases CustomerCommunicationManager Communication how to capture details of a communication between two PartyRoles as a type of PartyRelationship Customer Relationship Management (CRM) Archetype Pattern
  • 22. Knowing who you are communicating with, even if the Customer is represented indirectly by an agent Maintaining a record of all Communications Making the Communication history available to Parties authorized to interact with the Customer Generating Actions based on Customer Communications Tracking Actions generated from Customer Communications Monitoring the Outcomes of Actions generated by Customer Communications Managing Customer Communication Customer Relationship Management (CRM) Archetype Pattern
  • 23. how to capture a sequence of Communications about a particular topic CommunicationThread CustomerAgent how to represent the role of someone who acts on behalf of a CustomerServiceCase Customer Relationship Management (CRM) Archetype Pattern
  • 24. How to represent the role played by someone who acts on behalf of the customer services department CustomerServiceRepresentative Customer Relationship Management (CRM) Archetype Pattern
  • 25. Hierarchical tree of Communication Customer Relationship Management (CRM) Archetype Pattern
  • 26. how to represent an action that is taken as the result of a Communication how to represent the actual or possible result of an Action Action Outcome Customer Relationship Management (CRM) Archetype Pattern
  • 27. Actions & Outcomes Customer Relationship Management (CRM) Archetype Pattern
  • 28. All businesses make money by selling some product, either goods or services. The Product archetype pattern provides a way to model goods and services effectively. Products can take a number of different basic forms, and the Product archetype pattern has to accommodate all of them. Product Archetype Pattern Product Archetype Pattern
  • 29. Unique things  Artisan-produced products tend to be unique, with a one-to-one correspondence between a catalog entry and the artifact itself. Identical things  Mass-produced products are a one-to-many correspondence between a catalog entry and a set of identical artifacts. Identifiable things.  things that are similar but individually identifiable (e.g., a car of a particular make) Three Broad Categories of Product Product Archetype Pattern
  • 30. If your business system needs to deal with only unique things, you may find it more appropriate to use a specifically optimized Product archetype pattern pleomorph called UniqueProduct. If your business system needs to handle only the special case of identical things, it may be more appropriate to use a specifically optimized Product archetype pattern pleomorph called IdenticalProduct. Product Archetype Pattern Pleomorphs Product Archetype Pattern
  • 33. ProductCatalog : contains descriptions for one or more ProductTypes. A description is shared by many ProductInstances, each of which has its own unique identifier and may have optional features. When you go into a shop to buy one of these products, the ProductType represents the information the salesperson gives you verbally or in a catalog or leaflet, and the ProductInstance represents the actual thing you walk out the door with. Product Archetype Pattern Product Archetype Pattern
  • 34. ProductType archetype describes the common properties of a set of goods or services. • For example, the name "Epson Stylus C80" and its associated specification describe a type of printer. This is a ProductType. ProductInstance archetype represents a specific instance of a ProductType • There are many specific instances of this printer, these are represented by ProductInstances. ProductType & ProductInstance Product Archetype Pattern
  • 36. For each ProductInstance, there is exactly one ProductType that describes the common properties of the set of similar instances. Product Archetype Pattern ProductType & ProductInstance
  • 37. Product Archetype Pattern ProductType & ProductInstance Roles Manufacturer perspective Seller perspective Customer perspective ProductType What you specify What you advertise in a catalog for sale What you sell What you browse in a catalog What you order ProductInstance What you manufacture What you hold in Inventory What you deliver What you receive
  • 38. Product Archetype Pattern Uniquely identifying goods and services
  • 39. Use a GTIN data structure Use an ISBN Product Archetype Pattern Create your own identifier
  • 40. Global Trade Item Number (GTIN) is an identifier for trade items developed by GS1 comprising among others of the former European Article Number (EAN) International and Uniform Code Council. Such identifiers are used to look up product information in a database (often by inputting the number through a bar code scanner pointed at an actual product) which may belong to a retailer, manufacturer, collector, researcher, or other entity. The uniqueness and universality of the identifier is useful in establishing which product in one database corresponds to which product in another database, especially across organizational boundaries. Product Archetype Pattern GTIN
  • 41. Currently, GTIN is used exclusively within bar codes, but it could also be used in other data carriers such as radio frequency identification (RFID). The GTIN is only a term and does not impact any existing standards, nor does it place any additional requirements on scanning hardware. Product Archetype Pattern GTIN
  • 42. The family of data structures comprising GTIN include: • GTIN-12 (UPC-A): this is a 12-digit number used primarily in North America • GTIN-8 (EAN/UCC-8): this is an 8-digit number used predominately outside of North America • GTIN-13 (EAN/UCC-13): this is a 13-digit number used predominately outside of North America • GTIN-14 (EAN/UCC-14 or ITF-14): this is a 14-digit number used to identify trade items at variouspackaging levels Product Archetype Pattern GTIN
  • 43. GTINs are internationally recognized standard identifiers. This system creates globally unique identifiers. The identifiers may be used in all business and public sectors. The identifiers include a check digit. This gives them a degree of robustness. Product Archetype Pattern Advantages offered by GTIN approach
  • 44. The identifiers may be easily encoded in a standard way into a bar code symbol and should be compatible with emerging tagging technologies such as radio frequency identification (RFID). There are now services that allow you to look up a bar code symbol to find out information about the owning company and its products. Product Archetype Pattern Advantages offered by GTIN approach
  • 45. For books, you may obtain a unique International Standard Book Number (ISBN) as defined in ISO 2108. The identifier is preceded by the letters ISBN and is a ten-digit number that is divided into four parts of variable length. These parts must be separated clearly by hyphens or spaces. Product Archetype Pattern ISBN
  • 47. Product Archetype Pattern ISBN ISBN Part Semantics Group identifier Identifies a grouping of publishers by geographic or language area, e.g., the English language grouping (groups 0 and 1) includes the United States, the United Kingdom, Canada, Australia, and so on; Switzerland is covered by French language group 2, German language group 3 Publisher identifier Refers to a particular publisher within a group Title identifier Refers to a specific edition of a title published by the Publisher Check Digit Used to ensure data integrity. Value is from 0 to X (representing 10)
  • 48. The SerialNumber archetype represents a unique identifier for a specific instance of a product (a ProductInstance). For services, the SerialNumber identifies a specific delivery of a service and usually relates to some record of that delivery an ISBN Product Archetype Pattern Serial number
  • 50. The Batch archetype describes a set of ProductInstances of a specific ProductType that are all to be tracked together, usually for quality control purposes. A Batch is important when manufacturing products. On the selling side, batchIdentifiers provide a means of communicating information from manufacturer to retailer to consumer, typically about safety or quality control issues. Product Archetype Pattern Batch
  • 52. A common business practice is to sell selections of products grouped together as a unit. These selections are often known as packages. An example is a vacation package, where a number of different travel-related products are sold as a unit. Product Archetype Pattern Packages
  • 53. The PackageType archetype specifies a set of component ProductTypes and rules about how these may be combined to create PackageInstances. A PackageType is a kind of ProductType. The PackageInstance archetype represents a collection of one or more ProductInstances sold together to increase the business benefit generated by the sale. A PackageInstance is a kind of ProductInstance. Product Archetype Pattern PackageType and PackageInstance
  • 54. Each PackageInstance has an associated PackageType that contains rules about what combinations of ProductTypes the PackageInstance can contain. Product Archetype Pattern PackageType and PackageInstance
  • 56. References a set of component ProductTypes that comprise all the possible starter, main course, and dessert ProductTypes. Contains a rule that states that a PackageInstance can contain exactly one starter, one main course, and one dessert. In other words, the PackageInstance can contain a ProductInstance of one of the ProductTypes in each of the starter, main course, and dessert ProductSets. Product Archetype Pattern PackageType
  • 57. defines a Package Type Product Archetype Pattern Package Specification Process
  • 58. Is a highly iterative and creative business process that requires detailed negotiations between the marketing, business strategy, stock control, and legal forces within the business. Depending on the nature of the ProductTypes involved, there may also be an operational factor or product combination constraints to consider. Product Archetype Pattern Package Specification Process
  • 59. Product Archetype Pattern Package Specification Process
  • 60. Once a PackageType has been defined by the package specification process, specific PackageInstances are created by a package configuration process. This can take one of two forms. 1. The business assembles one or more PackageInstances based on the PackageType and offers these for sale. The customer is offered a PackageInstance with a predetermined configuration. Product Archetype Pattern Package Specification Process
  • 61. 2. The customer is allowed to construct a PackageInstance at the point of sale based on the rules defined in the PackageType and possibly constrained by the availability of package components. Product Archetype Pattern Package Specification Process
  • 62. Product Archetype Pattern Product Relationship The ProductRelationship archetype represents a fixed relationship between ProductTypes that is not a packaging or containment relationship.
  • 64. When you want to purchase a product, you are sometimes offered an upgrade to a higher specification product, possibly at a reduced price. This activity, known as up-selling. is an important way for businesses to maximize both the business benefit and the customer satisfaction generated from each sale. ProductRelationship UpgradableTo captures the possibility of an upgrade to a higher specification ProductType. Product Archetype Pattern Up-Selling
  • 65. Occurs when you choose a product and are then offered a compatible product, possibly at a reduced price. We capture the possibility of cross-selling with the ProductRelationship ComplementedBy. When up-selling and cross-selling are practiced with integrity, they can generate advantages for both the buyer and the seller. Product Archetype Pattern Cross-Selling
  • 66. The Price archetype represents the amount of money that must be paid in order to purchase a good or service. The essence of our model of pricing is that each ProductType may have one or more Prices, and each Price has an associated RuleSet that defines the preconditions for the availability of that Price. For example, you want to get Price X, you must first satisfy RuleSet Y. Product Archetype Pattern Price
  • 67. Product Archetype Pattern PackageType Pricing case Example A single, fixed price A can of soup in a supermarket A reserve (minimum) price and a higher price determined at the point of sale An item for sale on an auction site such as eBay A price that shows some periodicity Seasonal rates for hotel accommodation Multiple prices that depend on the application of business rules CD prices that may be reduced if you are a club member (our local CD shop does this) Multiple prices that depend on the application of business rules and that show some time dependence An airline ticket
  • 68. A price reduction that applies to any instance of a ProductType is modeled as one of the ProductType's Prices and may have preconditions. Individual ProductInstances may also have an ad hoc Price applied that overrides all the other possible Prices. for example, a price reduction for a shop-soiled item. An ad hoc Price is modeled as an ArbitraryPrice. Product Archetype Pattern Price Reductions
  • 69. The ArbitraryPrice archetype represents an ad hoc Price applied to a specific ProductInstance that overrides all other possible Prices. Finally, price reductions may be applied as Discounts to a whole Order rather than to individual ProductTypes or ProductInstances. Product Archetype Pattern Price Reductions
  • 70. The PricingStrategy archetype that determines how a Price is calculated for a PackageType PricingStrategy. ASSIGNED P = x AGGREGATED P = ( i=1 to n ) pi Product Archetype Pattern Package Pricing
  • 71. A service represents a process or activity that is offered for sale. In fact, only in inventory management is there any difference between goods and services that makes a difference from the modeling perspective. Example: haircut from barbershop Product Archetype Pattern Services
  • 72. A ServiceType archetype is a kind of ProductType that represents a type of service. Each ServiceType may optionally have two attributes startOfPeriodOfOperation endOfPeriodOfOperation Product Archetype Pattern ServiceType
  • 73. A ServiceInstance archetype represents an instance or execution of a ServiceType delivered to one or more Parties. ServiceInstances have an actual start and end as well as an optional scheduledStart and sceduledEnd for performance monitoring purposes. Product Archetype Pattern ServiceInstance
  • 74. A ServiceDeliveryStatus archetype records the status of the delivery of a particular ServiceInstance This can take one of the values shown Product Archetype Pattern ServiceDeliveryStatus SCHEDULED The ServiceInstance has been scheduled for delivery EXECUTING The ServiceInstance is in the process of delivery CANCELLED The ServiceInstance has been cancelled COMPLETED The delivery of the ServiceInstance has been completed
  • 76. A quantity is an amount of something measured according to some standard of measurement. Another way to say this is that a quantity of something is a number expressed in a particular metric. A metric is a standard of measurement. The metric always has a name (e.g., kilogram) and often has a standard symbol (e.g., kg). Quantity Archetype Pattern Quantity Archetype Pattern
  • 77. In the business environment, Money is one of the most important types of Quantities. Currency is one of the most important types of Metrics. The Money archetype represents an amount of a specific Currency. This Currency is accepted in one or more Locales. The Locale archetype represents a general notion of place, location, or context. Quantity Archetype Pattern Money and Currency
  • 78. There are two subclasses of Currency  ISOCurrency  NonISOCurrency The ISOCurrency archetype represents a type of Currency whose name, alphabeticCode, and numericCode are defined in ISO 4217. The NonISOCurrency archetype represents a type of Currency that is not defined in ISO 4217. Quantity Archetype Pattern Currency
  • 79. ISO 4217 is the international standard describing three letter codes (also known as the currency code) to define the names of currencies established by the International Organization for Standardization (ISO). Quantity Archetype Pattern ISO 4217
  • 81. Quantity Archetype Pattern ExchangeRate and CurrencyConverter ExchangeRate: how to represent the price of one type of money relative to another ExchangeRateType: how to represent a category of ExchangeRates CurrencyConverter: how to represent the function of converting Money in one Currency into an equivalent amount of another Currency
  • 82. Quantity Archetype Pattern Payment Payment: how to represent Money paid by one Party to another PaymentMethod: how to represent the medium by which a Payment may be made Cash: how to represent a Payment made in a physical amount of a Currency Check: how to represent a bill of exchange drawn on a bank and payable on demand
  • 83. Quantity Archetype Pattern Payment PaymentCard: how to represent a physical token such as a plastic card that authorizes the Party identified on it to charge the cost of goods or services to an account  CreditCard: how to represent a PaymentCard that comes with a line of credit  DebitCard: how to represent a PaymentCard where Payments are immediately debited from a source account
  • 84. Rule Archetype Pattern Rule Archetype Pattern Rule pattern is to give you a concrete basis for understanding and working with the various kinds of rules you will encounter in business analysis and system development. Use to implement simple rules-based systems.
  • 85. Rule Archetype Pattern Rules Rules are constraints. The typical dictionary definition of a rule is:  A code or principle that governs or constrains action or behavior (i.e., a constraint on an action)  An established or normal quality or condition of things (i.e., a constraint on the state of something) So some rules are simple statements of fact about the state of something, while others may be used explicitly to trigger actions. These two aspects of rules are of equal importance.
  • 86. Rule Archetype Pattern Business Rule A business rule is a constraint on the operation of the business. A business system rule is a constraint on the operation of the software systems of the business.
  • 87. Rule Archetype Pattern Business Rule A business rule is a constraint on the operation of the business. A business system rule is a constraint on the operation of the software systems of the business.
  • 88. Rule Archetype Pattern Business Rule A business rule may constraint the business in two fundamentally different ways. 1.It may constrain the structure of the business. For example, relationship between various subunits of the organization, such as marketing and manufacturing. 2.It may constrain the operation of the business. For example, sequence of actions in business workflows such as order processing.
  • 89. Rule Archetype Pattern Business Rule Business rules are pervasive and exist at all levels of the organization. Business rules form a hierarchy from the very general to the very specific. This hierarchy is itself subject to the constraint that all of its rules must be consistent with each other.
  • 90. Rule Archetype Pattern Business System Rules Business system rules are specific constraints on the operation of the software systems of the business. They are derived from business rules via a software engineering process.
  • 91. Rule Archetype Pattern Business System Rules Organizations that have many legacy software systems can be particularly prone to the problem where the systems themselves constrain the activities of the whole business.
  • 93. Rule Archetype Pattern Rules and Business Processes A business process is a sequence of business activities that, when executed, is designed to lead to some business benefit Rules can affect business processes in two ways. 1. They can embody information about the state of the business. 2. They can conditionally trigger business activities based on that information.
  • 94. Rule Archetype Pattern Business Process The business process of selling an insurance policy to a customer. This process can be summarized as: if customerAge >= minimumAge then sellPolicy() The process requires three rules for its operation. Two of these rules just embody information, while the third rule triggers a business activity.
  • 95. Rule Archetype Pattern Business Process The three rules are listed in the table: ID Rule Type Semantics 1 customerAge = 17 Information A fact about the customer 2 minimumAge = 18 Information A fact about the business (here, the circumstances under which it is prepared to do business) 3 if customerAge >= minimumAge then sellPolicy() Activity A rule that triggers a business activity
  • 96. Rule Archetype Pattern Physical Location of Rules Business system rules can exist in three places: 1. In the source code 2. As database triggers 3. As explicit rules managed and manipulated by a rules engine
  • 97. Rule Archetype Pattern Location Advantages Disadvantages Source code Applications have good performance Rules are very hard to change, and it is expensive to make the change Rules are generally not reusable across applications Applications are inflexible Database triggers Rules are more accessible to change Applications are more flexible Rules are coupled to data Rules are not reusable across data sets Not all rules can be encoded in this way Advantages & Disadvantages of Physical Location of Rules
  • 98. Rule Archetype Pattern Location Advantages Disadvantages Explicit rules managed by a rules engine Rules are completely accessible to change, and it is easy and inexpensive to make the change Rules are made explicit and so are open to inspection and review Rules are separate from applications and data Applications are very flexible Applications may not perform as well as they would with hard-coded rules. This depends on the rules engine Advantages & Disadvantages of Physical Location of Rules
  • 99. REFERENCE • Jim Arlow, Ila Neustadt , "Enterprise Patterns and MDA".