SlideShare une entreprise Scribd logo
1  sur  71
Seminar 3: Making Good Progress Programming Paradigms [The Paradigms - Group 2]
We will always use system analysis and design at the start of every software project.
No approaches were taught to derived
Knowing an good approach can build a robust system design.
Let us learn an approach to do system analysis and design 
What is Object-Oriented Analysis & Design? 7 Teacher Student An approach that models a system as a group of interacting objects.
New approach to analysis & design 8
CRC Approach 9
What is CRC? Class, Responsibility & Collaboration Discovering the real world objects is a system Mapping the collaboration among classes and their responsibilities
Why CRC? Uses brainstorming and role-playing to maximize advantages of group work
Basics of CRC approach
OO Characteristics 13
The things they do  Their relationship to other classes
Back of the card is used list attributes and write class description The things they do  Their relationship to other classes
16
QuickCRC  17
CRC books 18
19
CRC Card 1. Discovering Candidate Classes 1. Read Requirements Documents 2. Clarifying the Scope 2. Underline nouns and noun phrases. 3. Selecting Core Classes 3. Add them to candidate class list.  4. Brainstorm to find other potential classes.
The ATM System will interface with the customer through a display screen , numeric and special input keys, a bankcard reader, a deposit slot, and a receipt printer. Customer may make deposits, withdrawals and balance inquires using the ATM machine, but the update of accounts will be handled by an interface to the Accounts system. Customers will be assigned a PIN and clearance level by the security system which will be verified prior to transactions. We would allow customers to update routine information such as change of address or phone number using the ATM. 1.Discovering The Candidate Class List 1. Read Requirements Documents
The ATM System will interface with the customer through a display screen , numeric and special input keys, a bankcard reader, a deposit slot, and a receipt printer. Customer may make deposits, withdrawals and balance inquires using the ATM machine, but the update of accounts will be handled by an interface to the Accounts system. Customers will be assigned a PIN and clearance level by the security system which will be verified prior to transactions. We would allow customers to update routine information such as change of address or phone numberusing the ATM. 1. Discovering The Candidate Class List 2. Underline nouns and noun phrases.
23 1. Discovering The Candidate Class List Candidate Class List 3. Add them to candidate class list.  ,[object Object]
Customer
Display screen
Numeric
Special input keys
Bankcard reader
Deposit slot
Receipt printer
Deposits
Withdrawals
Balance inquires
Accounts
PIN
Clearance level
Security system
Transactions
Change of address
Phone number,[object Object]
25 Q: How does the customer access the ATM? 1. Discovering The Candidate Class List 4. Brainstorm to find other potential classes.
1.Discovering The Candidate Class List Candidate Class List
27 CRC Card 1. Read Requirements Documents 1. Discovering Candidate Classes 2. Underline nouns and noun phrases. 2. Clarifying the Scope 3. Add them to candidate class list.  3. Selecting Core Classes 4. Brainstorm to find other potential classes.
Clarifying System Scope What is and what is not part of the system.
Clarifying System Scope 29 What is the scope of the ATM system? Questions Does it handle everything? banking application user interface interactions between them Does it..  updates accounting records? records and mediates the transaction activity? Other Possible questions
Clarifying System Scope
31 Clarifying System Scope The sharper the system boundaries, the easier the evaluation of candidate class list.
32 CRC Card 1. Read Requirements Documents 1. Discovering Candidate Classes 2. Underline nouns and noun phrases. 2. Clarifying the Scope 3. Add them to candidate class list.  3. Selecting Core Classes 4. Brainstorm to find other potential classes.
Sort Candidate Class List
Essential Classes for the application 4. Selecting Core Classes
Class that we are NOT able to categorize without knowing the system boundaries and definition 4. Selecting Core Classes To be Reviewed further for categorization
Classes that are outsidethe system scope Printer, ScreenSave, and Prompt.  Related to the user interface subsystem But not to the core banking application 4. Selecting Core Classes
37 3. Selecting Core Classes Eliminate Unnecessary Classes Architectural Design Issues 1. Identify hot spots 1. Remove ghost classes 2. Use appropriate design patterns 2. Combine synonyms  3. Take advantage of existing software  frameworks 3. Distinguish attributes from classes
What are Hot Spots? A hot spot is a portion of the system that is likely to change from one system variant to another.
What are Hot Spots? Hot spots encapsulatethe variable aspects within components.  ,[object Object]
Interfaces and the relationships among components will become less prone to changes.Aid in designing components where changes is seldom necessary or constraint to a class
 Identify Hot Spots Identify hot spot by answering: ,[object Object],(Help to generate a List of hot spots) Let’s apply this question to our ATM domain ...
Identify Hot Spots Analysis of ATM Q: Which aspects of the domain differ fromapplication to application? ,[object Object],Future
Identify hot spots Withdrawal handling is a hot spot. Initially supports the dispensing of cash; future may require update of cash cards. The classes that touch this hot spot include Account, Withdrawal, FundsAvailable, and BankCard.
Benefits of Hot Spots
44 3. Selecting Core Classes Eliminate Unnecessary Classes Architectural Design Issues 1. Identify hot spots 1. Remove ghost classes 2. Use appropriate design patterns 2. Combine synonyms  3. Take advantage of existing software  frameworks 3. Distinguish attributes from classes
Design Patterns A design pattern is a design structure that has been successfully used in a similar context “No Point Reinventing the Wheel” “Reuse and Adapt existing”
Design Patterns Pioneers have laid out the foundations There exist library of patterns Apply them to them to the CRC cards Speed up analysis Application of Design Patterns may result in new classes that are not found during brainstorming
“System Interaction Pattern" AuthorizeSystemInteraction
Example AuthorizeSystemInteraction Encapsulate Communication between ATM and the bank existing security system
Example of Patterns that can be considered Clients Servers Transactions Interacting Systems Interacting Devices Etc…
Some Good Pattern Books
51 3. Selecting Core Classes Eliminate Unnecessary Classes Architectural Design Issues 1. Identify hot spots 1. Remove ghost classes 2. Use appropriate design patterns 2. Combine synonyms  3. Take advantage of existing software  frameworks 3. Distinguish attributes from classes
Framework A collection of classes that captures the architecture and basic operation of an application system.  Systems are created by extending the given classes to add the specialized behaviors.
Frameworks are "upside down libraries“.  System control resides in framework code that calls "down" to user-supplied code. A blue print for the implementation Framework
Example in ATM 54 There are many papers on ATM that has been successfully built These framework can also be standards that existing ATM follows

Contenu connexe

En vedette

What its ‘real’ about my video
What its ‘real’ about my videoWhat its ‘real’ about my video
What its ‘real’ about my video
sarahlambe
 
Self-Branding
Self-Branding Self-Branding
Self-Branding
mayra3
 
Efectos potenciales a la salud por transgenicos y pesticidas
Efectos potenciales a la salud por transgenicos y pesticidasEfectos potenciales a la salud por transgenicos y pesticidas
Efectos potenciales a la salud por transgenicos y pesticidas
CHST
 
GSM Laos-Thailand GSM Signal Wattay Airport Terminal
GSM Laos-Thailand GSM Signal Wattay Airport TerminalGSM Laos-Thailand GSM Signal Wattay Airport Terminal
GSM Laos-Thailand GSM Signal Wattay Airport Terminal
deklolay
 
Make the Switch to Learner centered Experiences
Make the Switch to Learner centered ExperiencesMake the Switch to Learner centered Experiences
Make the Switch to Learner centered Experiences
Allen Partridge
 
New consumer trends 2011 food 2.0
New consumer trends 2011 food 2.0New consumer trends 2011 food 2.0
New consumer trends 2011 food 2.0
margietzo
 
My memorable meal
My memorable mealMy memorable meal
My memorable meal
luis_90
 
Adobe photoshop cs3
Adobe photoshop cs3Adobe photoshop cs3
Adobe photoshop cs3
altan81
 
EDCI.500.Coffman.Summer.2012
EDCI.500.Coffman.Summer.2012EDCI.500.Coffman.Summer.2012
EDCI.500.Coffman.Summer.2012
staffordlibrary
 
Keys to managing test anxiety
Keys to managing test anxietyKeys to managing test anxiety
Keys to managing test anxiety
drmccreedy
 

En vedette (20)

What its ‘real’ about my video
What its ‘real’ about my videoWhat its ‘real’ about my video
What its ‘real’ about my video
 
Convergence – Social Enterprise
Convergence – Social EnterpriseConvergence – Social Enterprise
Convergence – Social Enterprise
 
Self-Branding
Self-Branding Self-Branding
Self-Branding
 
Efectos potenciales a la salud por transgenicos y pesticidas
Efectos potenciales a la salud por transgenicos y pesticidasEfectos potenciales a la salud por transgenicos y pesticidas
Efectos potenciales a la salud por transgenicos y pesticidas
 
PRESENT PERFECT
PRESENT PERFECTPRESENT PERFECT
PRESENT PERFECT
 
GSM Laos-Thailand GSM Signal Wattay Airport Terminal
GSM Laos-Thailand GSM Signal Wattay Airport TerminalGSM Laos-Thailand GSM Signal Wattay Airport Terminal
GSM Laos-Thailand GSM Signal Wattay Airport Terminal
 
Make the Switch to Learner centered Experiences
Make the Switch to Learner centered ExperiencesMake the Switch to Learner centered Experiences
Make the Switch to Learner centered Experiences
 
Semnarea digitala a unui e mail
Semnarea digitala a unui e mailSemnarea digitala a unui e mail
Semnarea digitala a unui e mail
 
New consumer trends 2011 food 2.0
New consumer trends 2011 food 2.0New consumer trends 2011 food 2.0
New consumer trends 2011 food 2.0
 
My memorable meal
My memorable mealMy memorable meal
My memorable meal
 
Systems Integration in the Cloud Era, Kai Wähner MaibornWolff
Systems Integration in the Cloud Era, Kai Wähner MaibornWolffSystems Integration in the Cloud Era, Kai Wähner MaibornWolff
Systems Integration in the Cloud Era, Kai Wähner MaibornWolff
 
Adobe photoshop cs3
Adobe photoshop cs3Adobe photoshop cs3
Adobe photoshop cs3
 
Wh3
Wh3Wh3
Wh3
 
Consumer Opinion on Electric Vehicles: Enprecis Mobility Panel
Consumer Opinion on Electric Vehicles: Enprecis Mobility PanelConsumer Opinion on Electric Vehicles: Enprecis Mobility Panel
Consumer Opinion on Electric Vehicles: Enprecis Mobility Panel
 
Play as Product: How Play and Playfulness can help us build better Products a...
Play as Product: How Play and Playfulness can help us build better Products a...Play as Product: How Play and Playfulness can help us build better Products a...
Play as Product: How Play and Playfulness can help us build better Products a...
 
EDCI.500.Coffman.Summer.2012
EDCI.500.Coffman.Summer.2012EDCI.500.Coffman.Summer.2012
EDCI.500.Coffman.Summer.2012
 
Азбука схемы принятия решения - как продавать большим компаниям
Азбука схемы принятия решения - как продавать большим компаниямАзбука схемы принятия решения - как продавать большим компаниям
Азбука схемы принятия решения - как продавать большим компаниям
 
Keys to managing test anxiety
Keys to managing test anxietyKeys to managing test anxiety
Keys to managing test anxiety
 
Startups: Jung - SECLUDIT
Startups: Jung - SECLUDITStartups: Jung - SECLUDIT
Startups: Jung - SECLUDIT
 
Programming humans
Programming humansProgramming humans
Programming humans
 

Similaire à Programming Paradigms Seminar 3

Creating a Use Case
Creating a Use Case                                               Creating a Use Case
Creating a Use Case
CruzIbarra161
 
Bortniker_S610_ReconProject
Bortniker_S610_ReconProjectBortniker_S610_ReconProject
Bortniker_S610_ReconProject
Justin Bortniker
 
BMIS 530Systems Analysis and Redesign Project Phase 1 Assignm
BMIS 530Systems Analysis and Redesign Project Phase 1 AssignmBMIS 530Systems Analysis and Redesign Project Phase 1 Assignm
BMIS 530Systems Analysis and Redesign Project Phase 1 Assignm
JeniceStuckeyoo
 
Object oriented software engineering
Object oriented software engineeringObject oriented software engineering
Object oriented software engineering
Varsha Ajith
 

Similaire à Programming Paradigms Seminar 3 (20)

M azhar
M azharM azhar
M azhar
 
Usecase
UsecaseUsecase
Usecase
 
Building an Information System
Building an Information SystemBuilding an Information System
Building an Information System
 
Sadcw 6e chapter4
Sadcw 6e chapter4Sadcw 6e chapter4
Sadcw 6e chapter4
 
Applying UML and Patterns (CH1, 6, 9, 10)
Applying UML and Patterns (CH1, 6, 9, 10)Applying UML and Patterns (CH1, 6, 9, 10)
Applying UML and Patterns (CH1, 6, 9, 10)
 
Chapter 7 ooad
Chapter 7 ooadChapter 7 ooad
Chapter 7 ooad
 
Project Management (2017) slip question (MUM University)
Project Management (2017) slip question (MUM University)Project Management (2017) slip question (MUM University)
Project Management (2017) slip question (MUM University)
 
SE UNIT-2.pdf
SE UNIT-2.pdfSE UNIT-2.pdf
SE UNIT-2.pdf
 
Creating a Use Case
Creating a Use Case                                               Creating a Use Case
Creating a Use Case
 
Ch07
Ch07Ch07
Ch07
 
Ch07
Ch07Ch07
Ch07
 
Bortniker_S610_ReconProject
Bortniker_S610_ReconProjectBortniker_S610_ReconProject
Bortniker_S610_ReconProject
 
BMIS 530Systems Analysis and Redesign Project Phase 1 Assignm
BMIS 530Systems Analysis and Redesign Project Phase 1 AssignmBMIS 530Systems Analysis and Redesign Project Phase 1 Assignm
BMIS 530Systems Analysis and Redesign Project Phase 1 Assignm
 
Domain class model
Domain class modelDomain class model
Domain class model
 
Design patterns
Design patternsDesign patterns
Design patterns
 
6. ch 5-understanding requirements
6. ch 5-understanding requirements6. ch 5-understanding requirements
6. ch 5-understanding requirements
 
PROJECT MANAGEMENT - (2016) SEM-VI - PRACTICAL (SLIP) QUESTIONS
PROJECT MANAGEMENT - (2016) SEM-VI - PRACTICAL (SLIP) QUESTIONSPROJECT MANAGEMENT - (2016) SEM-VI - PRACTICAL (SLIP) QUESTIONS
PROJECT MANAGEMENT - (2016) SEM-VI - PRACTICAL (SLIP) QUESTIONS
 
Software Development Process - REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Software Development Process -  REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...Software Development Process -  REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Software Development Process - REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
 
Object oriented software engineering
Object oriented software engineeringObject oriented software engineering
Object oriented software engineering
 
types of testing with descriptions and examples
types of testing with descriptions and examplestypes of testing with descriptions and examples
types of testing with descriptions and examples
 

Programming Paradigms Seminar 3

  • 1. Seminar 3: Making Good Progress Programming Paradigms [The Paradigms - Group 2]
  • 2. We will always use system analysis and design at the start of every software project.
  • 3.
  • 4. No approaches were taught to derived
  • 5. Knowing an good approach can build a robust system design.
  • 6. Let us learn an approach to do system analysis and design 
  • 7. What is Object-Oriented Analysis & Design? 7 Teacher Student An approach that models a system as a group of interacting objects.
  • 8. New approach to analysis & design 8
  • 10. What is CRC? Class, Responsibility & Collaboration Discovering the real world objects is a system Mapping the collaboration among classes and their responsibilities
  • 11. Why CRC? Uses brainstorming and role-playing to maximize advantages of group work
  • 12. Basics of CRC approach
  • 14. The things they do Their relationship to other classes
  • 15. Back of the card is used list attributes and write class description The things they do Their relationship to other classes
  • 16. 16
  • 19. 19
  • 20. CRC Card 1. Discovering Candidate Classes 1. Read Requirements Documents 2. Clarifying the Scope 2. Underline nouns and noun phrases. 3. Selecting Core Classes 3. Add them to candidate class list. 4. Brainstorm to find other potential classes.
  • 21. The ATM System will interface with the customer through a display screen , numeric and special input keys, a bankcard reader, a deposit slot, and a receipt printer. Customer may make deposits, withdrawals and balance inquires using the ATM machine, but the update of accounts will be handled by an interface to the Accounts system. Customers will be assigned a PIN and clearance level by the security system which will be verified prior to transactions. We would allow customers to update routine information such as change of address or phone number using the ATM. 1.Discovering The Candidate Class List 1. Read Requirements Documents
  • 22. The ATM System will interface with the customer through a display screen , numeric and special input keys, a bankcard reader, a deposit slot, and a receipt printer. Customer may make deposits, withdrawals and balance inquires using the ATM machine, but the update of accounts will be handled by an interface to the Accounts system. Customers will be assigned a PIN and clearance level by the security system which will be verified prior to transactions. We would allow customers to update routine information such as change of address or phone numberusing the ATM. 1. Discovering The Candidate Class List 2. Underline nouns and noun phrases.
  • 23.
  • 35. PIN
  • 40.
  • 41. 25 Q: How does the customer access the ATM? 1. Discovering The Candidate Class List 4. Brainstorm to find other potential classes.
  • 42. 1.Discovering The Candidate Class List Candidate Class List
  • 43. 27 CRC Card 1. Read Requirements Documents 1. Discovering Candidate Classes 2. Underline nouns and noun phrases. 2. Clarifying the Scope 3. Add them to candidate class list. 3. Selecting Core Classes 4. Brainstorm to find other potential classes.
  • 44. Clarifying System Scope What is and what is not part of the system.
  • 45. Clarifying System Scope 29 What is the scope of the ATM system? Questions Does it handle everything? banking application user interface interactions between them Does it.. updates accounting records? records and mediates the transaction activity? Other Possible questions
  • 47. 31 Clarifying System Scope The sharper the system boundaries, the easier the evaluation of candidate class list.
  • 48. 32 CRC Card 1. Read Requirements Documents 1. Discovering Candidate Classes 2. Underline nouns and noun phrases. 2. Clarifying the Scope 3. Add them to candidate class list. 3. Selecting Core Classes 4. Brainstorm to find other potential classes.
  • 50. Essential Classes for the application 4. Selecting Core Classes
  • 51. Class that we are NOT able to categorize without knowing the system boundaries and definition 4. Selecting Core Classes To be Reviewed further for categorization
  • 52. Classes that are outsidethe system scope Printer, ScreenSave, and Prompt. Related to the user interface subsystem But not to the core banking application 4. Selecting Core Classes
  • 53. 37 3. Selecting Core Classes Eliminate Unnecessary Classes Architectural Design Issues 1. Identify hot spots 1. Remove ghost classes 2. Use appropriate design patterns 2. Combine synonyms  3. Take advantage of existing software frameworks 3. Distinguish attributes from classes
  • 54. What are Hot Spots? A hot spot is a portion of the system that is likely to change from one system variant to another.
  • 55.
  • 56. Interfaces and the relationships among components will become less prone to changes.Aid in designing components where changes is seldom necessary or constraint to a class
  • 57.
  • 58.
  • 59. Identify hot spots Withdrawal handling is a hot spot. Initially supports the dispensing of cash; future may require update of cash cards. The classes that touch this hot spot include Account, Withdrawal, FundsAvailable, and BankCard.
  • 61. 44 3. Selecting Core Classes Eliminate Unnecessary Classes Architectural Design Issues 1. Identify hot spots 1. Remove ghost classes 2. Use appropriate design patterns 2. Combine synonyms  3. Take advantage of existing software frameworks 3. Distinguish attributes from classes
  • 62. Design Patterns A design pattern is a design structure that has been successfully used in a similar context “No Point Reinventing the Wheel” “Reuse and Adapt existing”
  • 63. Design Patterns Pioneers have laid out the foundations There exist library of patterns Apply them to them to the CRC cards Speed up analysis Application of Design Patterns may result in new classes that are not found during brainstorming
  • 64. “System Interaction Pattern" AuthorizeSystemInteraction
  • 65. Example AuthorizeSystemInteraction Encapsulate Communication between ATM and the bank existing security system
  • 66. Example of Patterns that can be considered Clients Servers Transactions Interacting Systems Interacting Devices Etc…
  • 68. 51 3. Selecting Core Classes Eliminate Unnecessary Classes Architectural Design Issues 1. Identify hot spots 1. Remove ghost classes 2. Use appropriate design patterns 2. Combine synonyms  3. Take advantage of existing software frameworks 3. Distinguish attributes from classes
  • 69. Framework A collection of classes that captures the architecture and basic operation of an application system. Systems are created by extending the given classes to add the specialized behaviors.
  • 70. Frameworks are "upside down libraries“. System control resides in framework code that calls "down" to user-supplied code. A blue print for the implementation Framework
  • 71. Example in ATM 54 There are many papers on ATM that has been successfully built These framework can also be standards that existing ATM follows
  • 72. Part of a Framework 55
  • 73. 56 In the event where there is no available framework Use design patterns to aid the design and analysis part of the application
  • 74. 57 3. Selecting Core Classes Eliminate Unnecessary Classes Architectural Design Issues 1. Identify hot spots 1. Remove ghost classes 2. Use appropriate design patterns 2. Combine synonyms  3. Take advantage of existing software frameworks 3. Distinguish attributes from classes
  • 75. Remove ghost classes Classes that do not fit within the application Classes that are related entities but are outside the system.
  • 76. Example Printer, and Keypad are relevant but outside the application.
  • 77. 60 3. Selecting Core Classes Eliminate Unnecessary Classes Architectural Design Issues 1. Identify hot spots 1. Remove ghost classes 2. Use appropriate design patterns 2. Combine synonyms  3. Take advantage of existing software frameworks 3. Distinguish attributes from classes
  • 78. Combine synonyms  Use a common name for same items This situation may arise when different groups within an organization use different names to refer to the same thing.
  • 79. Similarity BankCustomerand AccountHolder are probably synonyms. Adopt one of them or create a new name.
  • 80. Situation based Balance and FundsAvailablemay or may not be different in concepts Example: A policy of disallowing withdrawals for some period after deposit of a check.
  • 81. Caution! Be careful when the same word actually refers to different things! New core classes may be needed.
  • 82. 65 3. Selecting Core Classes Eliminate Unnecessary Classes Architectural Design Issues 1. Identify hot spots 1. Remove ghost classes 2. Use appropriate design patterns 2. Combine synonyms  3. Take advantage of existing software frameworks 3. Distinguish attributes from classes
  • 83. Distinguish attributes from classes Some candidate classes may turn out to represent information only! A candidate class may be an attribute if: It does not have any operations It does not change
  • 84.
  • 85.
  • 86. 69 So what do we have so far?
  • 87. Annotated Candidate Class List Critical Classes FinancialTransaction Account BalanceInquiry Withdrawal Deposit AuthorizeSystemInteraction BankCard Undecided Classes BankCustomer(ghost - integrated with AuthorizeSystemInteraction) PIN (attribute) SavingsAccount(attribute of Account) CheckingAccount(attribute of Account) ATM (ghost -> system name) FundsAvailable(attribute) Balance (attribute) AccountHolder(synonym)
  • 88. Annotated Candidate Class List Irrelevant Items Transfer Receipt ReceiptPrinter Keypad Screen CashDispenser ScreenMessage Display Deposit EnvelopeFailure TimeOut KeyTransaction LogPrinter ScreenSaver Prompt Numeric Key Key
  • 89. Thank you! End of Presentation

Notes de l'éditeur

  1. If a class depends on upon other classes, to help carry out it’s responsibilities, it will have collaborators written by side the responsibilityIf a card is part of a hierarchy, it may have superclass or subclasses.
  2. If a class depends on upon other classes, to help carry out it’s responsibilities, it will have collaborators written by side the responsibilityIf a card is part of a hierarchy, it may have superclass or subclasses.
  3. Discovering Candidate ClassesRead Requirements DocumentsUnderline nouns and noun phrasesAdd them to candidate class listBrainstorm to find other potential classesClarifying the ScopeSelecting Core ClassesArchitectural DesignIdentify hot spotsUse appropriate design patternsTake advantage of existing software frameworksEliminate Unnecessary ClassesRemove ghost classesCombine synonyms Distinguish attributes from classes
  4. Does it handle everything--Is the ATM responsible for updating accounting records? or just recording and mediating the transaction activity?
  5. Limits its scope to banking information capture -- Leaving the user interface, security and actual account update to other systems.
  6. Pree definition: Specialization (=adaption) takes place at points of predefined refinement that we call hot spots (Pree,1995, 1996, 1997).Predefine refinement aka the framework of the domain.
  7. Hotspot also enables the reuse of the overall system architecture and common code.The Abstract classes of the framework intertwine with hotspots highlighted in grey.
  8. http://docs.google.com/viewer?a=v&q=cache:ihjN-VmNNaEJ:citeseerx.ist.psu.edu/viewdoc/download%3Fdoi%3D10.1.1.97.6069%26rep%3Drep1%26type%3Dpdf+hot+spots+driven+approach&hl=en&gl=sg&pid=bl&srcid=ADGEESgC8vV6UzFjxHOKDLqcxcnVf1w-lJnBU13X9N-fsIP1trelhEudmWNpYpGhrfo-CcSlxFokUONDuYqRfajy_KDGuWHJYrU7kBJlVHjSBgHzCNHspTZ5_-rrcBVVgeN_9rrkfESg&sig=AHIEtbSbl7ozvrNrZ8ZTj9GxfgzZoBXpXAhttp://docs.google.com/viewer?a=v&q=cache:L-Yyq-nbVakJ:citeseerx.ist.psu.edu/viewdoc/download%3Fdoi%3D10.1.1.76.4910%26rep%3Drep1%26type%3Dpdf+Wolfgang+pree+Which+aspects+of+the+domain+differ+from+application+to+application%3F&hl=en&gl=sg&pid=bl&srcid=ADGEESgBvu4B0-28tpkoszuKNLtOEoPjFUX36Mqk3AGyln5jDpwqb4NCPFoDIPvcYiyMw247ms-dPWtzz6S3Cz8BsKdv3ThLRyfZ5xllYa5IUACILcS96Lu4FuqLqiEiMHn8tXmR3Xhq&sig=AHIEtbQqPZKDE0evqNqUfZNF2vmG519FRQ
  9. After Hotspot has been identified…
  10. A framework is a collection of classes--some abstract, some concrete--that captures the architecture and basic operation of an application system. Systems are created by extending the given classes to add the specialized behaviors.