Submit Search
Upload
Lecture note05 slides
•
0 likes
•
461 views
S
Sten99String
Follow
Design by Responsibilities
Read less
Read more
Education
Report
Share
Report
Share
1 of 22
Download now
Download to read offline
Recommended
Crc cards
Crc cards
Preeti Mishra
Ooad presentatin crc cards
Ooad presentatin crc cards
Hitachi Systems Micro Clinic
HCI 3e - Ch 12: Cognitive models
HCI 3e - Ch 12: Cognitive models
Alan Dix
interaction norman model in Human Computer Interaction(HCI)
interaction norman model in Human Computer Interaction(HCI)
Daroko blog(www.professionalbloggertricks.com)
Extended Walkthrough – Template
Extended Walkthrough – Template
Alan Dix
Nota sendiri hci-HCI
Nota sendiri hci-HCI
Shafy Fify
Ch16
Ch16
phanleson
Decision tree
Decision tree
Estiak Khan
Recommended
Crc cards
Crc cards
Preeti Mishra
Ooad presentatin crc cards
Ooad presentatin crc cards
Hitachi Systems Micro Clinic
HCI 3e - Ch 12: Cognitive models
HCI 3e - Ch 12: Cognitive models
Alan Dix
interaction norman model in Human Computer Interaction(HCI)
interaction norman model in Human Computer Interaction(HCI)
Daroko blog(www.professionalbloggertricks.com)
Extended Walkthrough – Template
Extended Walkthrough – Template
Alan Dix
Nota sendiri hci-HCI
Nota sendiri hci-HCI
Shafy Fify
Ch16
Ch16
phanleson
Decision tree
Decision tree
Estiak Khan
rmoore.smartquery KScope15
rmoore.smartquery KScope15
Ron Moore
C++ Unit_01
C++ Unit_01
Prashanth Shivakumar
Marta de la Cruz-Informe Final
Marta de la Cruz-Informe Final
Marta de la Cruz Martos
Unit iii ppt
Unit iii ppt
tamizh arthanari
Chapter5
Chapter5
Dang Tuan
ARS Ted Grossardt and John Ripy, Kentucky Tranportation Center and Laxmi Rama...
ARS Ted Grossardt and John Ripy, Kentucky Tranportation Center and Laxmi Rama...
Stephanie Camay
Socio organizational issues ppt
Socio organizational issues ppt
tamizh arthanari
User Support
User Support
Irfan Haidar
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and Design
Amr E. Mohamed
Beit 381 se lec 19 - 18 - 12 apr24 - eraa and data modeling
Beit 381 se lec 19 - 18 - 12 apr24 - eraa and data modeling
babak danyal
Chapter 11 designing interfaces and dialogues
Chapter 11 designing interfaces and dialogues
Job Master
Student Name Daniel RosadoCourseCIS339Session (month, ye.docx
Student Name Daniel RosadoCourseCIS339Session (month, ye.docx
emelyvalg9
Trends and innovations in database course
Trends and innovations in database course
Neetu Sardana
From use case to software architecture
From use case to software architecture
Ahmad karawash
Object oriented software engineering
Object oriented software engineering
Varsha Ajith
Student Name CourseCIS339Session (month, year)032019.docx
Student Name CourseCIS339Session (month, year)032019.docx
cpatriciarpatricia
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
B.T.L.I.T
Creating a Use Case
Creating a Use Case
CruzIbarra161
OOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.ppt
itadmin33
Exam – june 2010 – qp 11
Exam – june 2010 – qp 11
nic_vickers
Scenario 4
Scenario 4
alexwiggin
Scenario 4
Scenario 4
tomlangley
More Related Content
What's hot
rmoore.smartquery KScope15
rmoore.smartquery KScope15
Ron Moore
C++ Unit_01
C++ Unit_01
Prashanth Shivakumar
Marta de la Cruz-Informe Final
Marta de la Cruz-Informe Final
Marta de la Cruz Martos
Unit iii ppt
Unit iii ppt
tamizh arthanari
Chapter5
Chapter5
Dang Tuan
ARS Ted Grossardt and John Ripy, Kentucky Tranportation Center and Laxmi Rama...
ARS Ted Grossardt and John Ripy, Kentucky Tranportation Center and Laxmi Rama...
Stephanie Camay
Socio organizational issues ppt
Socio organizational issues ppt
tamizh arthanari
User Support
User Support
Irfan Haidar
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and Design
Amr E. Mohamed
Beit 381 se lec 19 - 18 - 12 apr24 - eraa and data modeling
Beit 381 se lec 19 - 18 - 12 apr24 - eraa and data modeling
babak danyal
Chapter 11 designing interfaces and dialogues
Chapter 11 designing interfaces and dialogues
Job Master
What's hot
(11)
rmoore.smartquery KScope15
rmoore.smartquery KScope15
C++ Unit_01
C++ Unit_01
Marta de la Cruz-Informe Final
Marta de la Cruz-Informe Final
Unit iii ppt
Unit iii ppt
Chapter5
Chapter5
ARS Ted Grossardt and John Ripy, Kentucky Tranportation Center and Laxmi Rama...
ARS Ted Grossardt and John Ripy, Kentucky Tranportation Center and Laxmi Rama...
Socio organizational issues ppt
Socio organizational issues ppt
User Support
User Support
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and Design
Beit 381 se lec 19 - 18 - 12 apr24 - eraa and data modeling
Beit 381 se lec 19 - 18 - 12 apr24 - eraa and data modeling
Chapter 11 designing interfaces and dialogues
Chapter 11 designing interfaces and dialogues
Similar to Lecture note05 slides
Student Name Daniel RosadoCourseCIS339Session (month, ye.docx
Student Name Daniel RosadoCourseCIS339Session (month, ye.docx
emelyvalg9
Trends and innovations in database course
Trends and innovations in database course
Neetu Sardana
From use case to software architecture
From use case to software architecture
Ahmad karawash
Object oriented software engineering
Object oriented software engineering
Varsha Ajith
Student Name CourseCIS339Session (month, year)032019.docx
Student Name CourseCIS339Session (month, year)032019.docx
cpatriciarpatricia
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
B.T.L.I.T
Creating a Use Case
Creating a Use Case
CruzIbarra161
OOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.ppt
itadmin33
Exam – june 2010 – qp 11
Exam – june 2010 – qp 11
nic_vickers
Scenario 4
Scenario 4
alexwiggin
Scenario 4
Scenario 4
tomlangley
Building an Information System
Building an Information System
Jo Balucanag - Bitonio
A laboratory for teaching object oriented thinking
A laboratory for teaching object oriented thinking
Home
Credential Transparency Initiative (CTI)Step 1 – Functional Requirements
Credential Transparency Initiative (CTI)Step 1 – Functional Requirements
Illinois workNet
HND Assignment Brief Session Sept.docx
HND Assignment Brief Session Sept.docx
joyjonna282
Oose unit 3 ppt
Oose unit 3 ppt
Dr VISU P
As Applied ICT term 3 Ex 10
As Applied ICT term 3 Ex 10
Jordan_0009
Ch 6 only 1. Distinguish between a purpose statement, research p
Ch 6 only 1. Distinguish between a purpose statement, research p
MaximaSheffield592
Ch 6 only 1. distinguish between a purpose statement, research p
Ch 6 only 1. distinguish between a purpose statement, research p
nand15
Systems Analysis and Design 9th Edition Kendall Solutions Manual
Systems Analysis and Design 9th Edition Kendall Solutions Manual
bijavotyz
Similar to Lecture note05 slides
(20)
Student Name Daniel RosadoCourseCIS339Session (month, ye.docx
Student Name Daniel RosadoCourseCIS339Session (month, ye.docx
Trends and innovations in database course
Trends and innovations in database course
From use case to software architecture
From use case to software architecture
Object oriented software engineering
Object oriented software engineering
Student Name CourseCIS339Session (month, year)032019.docx
Student Name CourseCIS339Session (month, year)032019.docx
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
Creating a Use Case
Creating a Use Case
OOSE Unit 3 PPT.ppt
OOSE Unit 3 PPT.ppt
Exam – june 2010 – qp 11
Exam – june 2010 – qp 11
Scenario 4
Scenario 4
Scenario 4
Scenario 4
Building an Information System
Building an Information System
A laboratory for teaching object oriented thinking
A laboratory for teaching object oriented thinking
Credential Transparency Initiative (CTI)Step 1 – Functional Requirements
Credential Transparency Initiative (CTI)Step 1 – Functional Requirements
HND Assignment Brief Session Sept.docx
HND Assignment Brief Session Sept.docx
Oose unit 3 ppt
Oose unit 3 ppt
As Applied ICT term 3 Ex 10
As Applied ICT term 3 Ex 10
Ch 6 only 1. Distinguish between a purpose statement, research p
Ch 6 only 1. Distinguish between a purpose statement, research p
Ch 6 only 1. distinguish between a purpose statement, research p
Ch 6 only 1. distinguish between a purpose statement, research p
Systems Analysis and Design 9th Edition Kendall Solutions Manual
Systems Analysis and Design 9th Edition Kendall Solutions Manual
Recently uploaded
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
mary850239
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
chesterberbo7
Expanded definition: technical and operational
Expanded definition: technical and operational
ssuser3e220a
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
DhatriParmar
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
lancelewisportillo
Tree View Decoration Attribute in the Odoo 17
Tree View Decoration Attribute in the Odoo 17
Celine George
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
Mae Pangan
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Quiz Club NITW
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
Vanessa Camilleri
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Quiz Club NITW
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
Sayali Powar
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
JOYLYNSAMANIEGO
Indexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdf
Christalin Nelson
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
Celine George
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
karenfajardo43
How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17
Celine George
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
Prerana Jadhav
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
DhatriParmar
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx
mary850239
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITW
Quiz Club NITW
Recently uploaded
(20)
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
Expanded definition: technical and operational
Expanded definition: technical and operational
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Tree View Decoration Attribute in the Odoo 17
Tree View Decoration Attribute in the Odoo 17
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
Indexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdf
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITW
Lecture note05 slides
1.
Validation: CRC Cards Massimo
Felici JCMB-1402 0131 650 5899 1BP-G04 0131 650 4408 mfelici@inf.ed.ac.uk
2.
© 2004-2007 SEOC
- Lecture Note 05 2 What are CRC Cards? CRC: “Class-Responsibility-Collaborator” CRC cards provide the means to validate the class model with the use case model Responsibilities are a way to state the rationale of the system design CRC cards support responsibility-based modeling
3.
© 2004-2007 SEOC
- Lecture Note 05 3 Design by Responsibilities Responsibility-based Modeling allows • The identification of the components from which the system is constructed • The allocation of responsibilities to system components • The identification of the services (or functionalities) provided by them • The assessment how components satisfy the requirements as stated by the use cases Types of Responsibilities • To do something (active responsibilities) • To provide information (acting as a contact point)
4.
© 2004-2007 SEOC
- Lecture Note 05 4 Design Activities 1. Preparation: collection and selection of use cases 2. Invention: (incremental) identification of components and responsibilities 3. Evaluation: questions and scenarios stress test the design 4. Consolidation: further assessment of the tested components 5. Documentation: recording identified reasons and scenarios
5.
© 2004-2007 SEOC
- Lecture Note 05 5 Steps in Responsibility-based Design 1. Identify scenarios of use; bound the scope of design 2. Role play the scenarios, evaluating responsibilities 3. Name the required responsibilities to carry a scenario toward 4. Make sure that each component has sufficient information and ability to carry out its responsibility 5. Consider variations of the scenario; check the stability of the responsibility 6. Evaluate the components 7. Ask the volatility/stability of the component 8. Create variations 9. Run through the variant scenarios to investigate the stability of the components and responsibilities 10. Simulate if possible 11. Consolidate the components by level 12. Identify subsystems 13. Identify the different levels 14. Document the design rationale and key scenarios 15. Decide which scenarios to document 16. List the components being used that already exist 17. Specify each new component
6.
© 2004-2007 SEOC
- Lecture Note 05 6 CRC Cards: How do they look like? CRC Cards explicitly represent multiple objects simultaneously 1. The Name if the class it refers to 2. The Responsibilities of the class. These should be high level, not at the level of individual methods 3. The Collaborators that help discharge a responsibility Class Name Collaborators … Responsibilities … 1 2 3
7.
© 2004-2007 SEOC
- Lecture Note 05 7 CRC Cards in Design Development 1. Work using role play. Different individuals are different objects 2. Pick a use case to building a scenario to hand simulate 3. Start with the person who has the card with the responsibility to initiate the use case 4. In discharging a responsibility a card owner may only talk to collaborators for that responsibility 5. Gaps must be repaid and re-tested against the use case
8.
© 2004-2007 SEOC
- Lecture Note 05 8 Using CRC Cards 1. Choose a coherent set of use cases 2. Put a card on the table 3. Walk through the scenario, naming cards and responsibilities 4. Vary the situations (i.e., assumptions on the use case), to stress test the cards 5. Add cards, push cards to the side, to let the design evolve (that is, evaluate different design alternatives) 6. Write down the key responsibility decisions and interactions
9.
© 2004-2007 SEOC
- Lecture Note 05 9 A Design Example A Library System The library system must keep track of when books are borrowed and returned The system must support librarian work The library is open to university staff and students
10.
© 2004-2007 SEOC
- Lecture Note 05 10 A Design Example Borrower Record Record Borrow book Return book Record CopyKeep track Copy Librarian Book Record: Borrowed or Returned Book copies Book Book information Number of available copies
11.
© 2004-2007 SEOC
- Lecture Note 05 11 Playing CRC Cards Borrower Record Record Borrow book Return book 1 2 3 Record CopyKeep track 4 5 6 Copy Librarian Book Record: Borrowed or Returned Book copies 7 88 99 Book Book information Number of available copies10
12.
© 2004-2007 SEOC
- Lecture Note 05 12 What CRC Card help with Check use case can be achieved Check associations are correct Check generalizations are correct Detect omitted classes Detect opportunities to refactor the class model. That is: to move responsibilities about (and operations in the class model) without altering the overall responsibility of the system
13.
© 2004-2007 SEOC
- Lecture Note 05 13 CRC Cards and Quality Too many responsibilities • This indicates low cohesion in the system • Each class should have at most three or four responsibilities • Classes with more responsibilities should be split if possible Too many collaborators • This indicates high coupling • It may be the division of the responsibilities amongst the classes is wrong CRC Cards • provide a good, early, measure of the quality of the system (design). Solving problems now is better that later. • are flexible – use them to record changes during validation
14.
© 2004-2007 SEOC
- Lecture Note 05 14 Using CRC Cards: An Example Specimen Use Cases 1. Patient admitted to ward. When a patient arrives on a ward, a duty nurse must create a new record for this patient and allocate them to a bed. 2. Nurse handover. The senior duty nurse at the end of their shift must inform the new staff of any changes during the previous shift (i.e., new patients, patients discharged, changes in patient health, changes to bed status or allocations). NHS Trust Manager Hospital … Initialize system Check free beds …
15.
© 2004-2007 SEOC
- Lecture Note 05 15 Using CRC Cards: An Example continued Nurse Record,Bed Record Bed Bed, Record … Admit patients Update patient records Reserve beds Discharge patients … Record Nurse … Is_updated … Bed Nurse, Record Nurse … Is_allocated Is_reserved …
16.
© 2004-2007 SEOC
- Lecture Note 05 16 Principles for Refactoring Do not do both refactoring and adding functionality at the same time Make sure you have good tests before you begin refactoring Take short deliberate steps
17.
© 2004-2007 SEOC
- Lecture Note 05 17 When to Refactor? When you are adding a function to your design (program) and you find the old design (code) getting in the way When you are looking at design (code) and having difficulty understanding it
18.
© 2004-2007 SEOC
- Lecture Note 05 18 OO Design using CRC Cards 1. Review quality of class model 2. Identify opportunities for refactoring 3. Identify (new) classes that support system implementation 4. Identify further details (e.g., sub- responsibilities of class responsibilities, attributes, object creations, destructions and lifetimes, passed data, etc.)
19.
© 2004-2007 SEOC
- Lecture Note 05 19 OO Analysis using CRC Cards 1. Session focuses on a part of requirements 2. Identify classes (e.g., noun-phrase analysis) 3. Construct CRC cards for these and assign to members 4. Add responsibilities to classes 5. Role-play scenarios to identify collaborators
20.
© 2004-2007 SEOC
- Lecture Note 05 20 Common Domain Modeling Mistakes Overlay specific noun-phrase analysis Counter-intuitive or incomprehensible class and association names Assigning multiplicities to associations too soon Addressing implementation issues too early • Presuming a specific implementation strategy • Committing to implementation constructs • Tackling implementation issues (e.g., integrating legacy systems) Optimizing for reuse before checking use cases achieved
21.
© 2004-2007 SEOC
- Lecture Note 05 21 (Suggested) Readings Readings K. Beck, W. Cunningham. A Laboratory for Teaching Object-Oriented Thinking. In Proceedings of OOPSLA ’89. Suggested Readings A. Cockburn’s papers • Responsibility-based Modeling • Using CRC Cards
22.
© 2004-2007 SEOC
- Lecture Note 05 22 Summary We should try to check the completeness of the class model (early assurance the model is correct) CRC Cards are a simple way of doing this CRC Cards support responsibility-based modeling and design CRC Cards identify errors and omissions They also give an early indication of quality Use the experience of simulating the system to refactor if this necessary
Download now