03/12/2001 © Bennett, McRobb and Farmer 2002 Refining the Requirements Model Based on Chapter 8 of Bennett, McRobb and Farmer: Object Oriented Systems.

Slides:



Advertisements
Similar presentations
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Advertisements

© 2010 Bennett, McRobb and Farmer1 Requirements Analysis 1: Requirements and Classes Based on Chapter 7 of Bennett, McRobb and Farmer: Object Oriented.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Object-Oriented Analysis and Design. Priorities in O-O Analysis and Design Understanding a system in terms of objects and associations between them. Representing.
03/12/2001 © Bennett, McRobb and Farmer Class Design Based on Chapter 14 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
COMP1007 Intro to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to Requirements Analysis Object Oriented.
Refining the Structure of the Requirements Model Aim: To create the conditions for software re-use. Bennett, McRobb and Farmer ch 8.
Requirements Analysis 15.1 Specialised Associations b515.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
03/12/2001 © Bennett, McRobb and Farmer Problems in Information Systems Development Based on Chapter 2 of Bennett, McRobb and Farmer: Object Oriented.
03/12/2001 © Bennett, McRobb and Farmer Modelling Concepts Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Requirements Analysis 9. 1 OO Concepts b509.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Object.
Requirements Analysis
03/12/2001 © Bennett, McRobb and Farmer Activity Diagrams Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
03/12/2001 © Bennett, McRobb and Farmer Development Process Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
03/12/2001 © Bennett, McRobb and Farmer What Is Object-Orientation? Based on Chapter 4 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
03/12/2001 © Bennett, McRobb and Farmer Use Case Diagrams Based on Chapter 6 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Design Patterns Ref : Chapter 15 Bennett et al. useful groups of collaborating classes that provide a solution to commonly occuring problems. provide.
1 © Bennett, McRobb and Farmer 2002, and De Montfort University 2002 Systems Development Methodologies Based on Chapter 22 of Bennett, McRobb and Farmer:
PRJ566: PROJECT PLANNING AND MANAGEMENT Class Diagrams.
Introduction to software design patterns For CSE 3902 By: Matt Boggus.
IS0514Slide 1 IS0517 Lecture Week 8 Class Diagrams III.
Refining the Requirements Model
University of Toronto at Scarborough © Bennett, McRobb and Farmer 2005 CSCC40 classes 1 Use CasesUse Case Model Campaign Management PackageModelSub-system.
Software Development Processes
WXGC6102: Object-Oriented Techniques Refining the Requirements Model References: Chapter 7 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
What Is Object-Orientation?
Object Oriented Analysis & Design & UML (Unified Modeling Language)1 Part V: Design The Design Workflow Design Classes Refining Analysis Relationships.
Presented by: CHAN LAI SAN ( ) REBAH DAW SARREB ( ) FIDA AL-OBAISI ( ) 08 April 2008 (Tuesday 6pm – 7:30pm)
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
A Reference Model for Event Patterns Christian Silberbauer
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: An Aside: The Quickest Tour through the UML that you will ever get.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 - Domain Classes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
10/27/20151 WXGC6102: Object-Oriented Techniques Requirements Analysis References: Chapter 7 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
© Bennett, McRobb and Farmer Requirements Analysis Based on Chapter 7 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Chapter 16 Applying UML and Patterns Craig Larman
03/12/2001 © Bennett, McRobb and Farmer 2005 Refining the Requirements Model Based on Chapter 8 of Bennett, McRobb and Farmer: Object Oriented Systems.
03/12/2001 © Bennett, McRobb and Farmer 2002 Refining the Requirements Model Based on Chapter 8 of Bennett, McRobb and Farmer: Object Oriented Systems.
Modeling system requirements. Purpose of Models Models help an analyst clarify and refine a design. Models help simplify the complexity of information.
© 2010 Bennett, McRobb and Farmer1 Development Process Based on Chapter 5 Bennett, McRobb and Farmer Object Oriented Systems Analysis and Design Using.
© 2010 Bennett, McRobb and Farmer1 Object Interaction – Interaction Overview Diagrams Timing Diagrams Based on Chapter 09 Bennett, McRobb and Farmer Object.
© 2010 Bennett, McRobb and Farmer1 Requirements Analysis 2: Realizing Use Cases Based on Chapter 7 of Bennett, McRobb and Farmer: Object Oriented Systems.
Object-Oriented Analysis and Design CHAPTERS 9, 31: DOMAIN MODELS 1.
03/12/2001 © Bennett, McRobb and Farmer Modelling Concepts Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
IM 2042 – Information Systems Modeling and Design Topic 4 – Refining the Requirements Model. Design Patterns Based on chapters 8 and 15 of Bennett, McRobb.
Database Design – Lecture 12 Object Oriented Database Design cont’d.
Chapter 12 Object-oriented design for more than one class.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
D ESIGN P ATTERNS Vasanth Raja Chittampally
Software Modelling Class Diagram. Class Diagrams The main building block in object oriented modeling They are used both for general conceptual modeling.
Development Process Based on Chapter 5 Bennett, McRobb and Farmer
GRASP – Designing Objects with Responsibilities
Object Interaction – Interaction Overview Diagrams Timing Diagrams
Problems in Information Systems Development
Object-Oriented Modeling with UML
Modelling Concepts Based on Chapter 5 Bennett, McRobb and Farmer
Software Engineering Lecture #11.
Patterns.
IS0514 Lecture Week 3 Use Case Modelling.
Object Interaction – Sequence Diagrams
What Is Object-Orientation?
Systems Analysis and Design I
Systems Analysis and Design I
Refining the Requirements Model
Presentation transcript:

03/12/2001 © Bennett, McRobb and Farmer 2002 Refining the Requirements Model Based on Chapter 8 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design Using UML, (2 nd Edition), McGraw Hill, 2002.

© Bennett, McRobb and Farmer In This Lecture You Will Learn: n What is meant by a component n How generalization and aggregation help to develop reusable components n How to identify generalization and composition n How to model generalization and composition n What is meant by the term pattern n What types of patterns can be used in software development

© Bennett, McRobb and Farmer 2002 Component-based Development n Component-based development means either: –Assembling software from pre-existing components, or –Building components for others to use n Why are components hard? –The NIH (Not-Invented-Here) syndrome –Model organization

© Bennett, McRobb and Farmer 2002 Component-based Development n The contribution of object-orientation: –Encapsulation of internal details makes it easier to use components in systems for which they were not designed –Generalization hierarchies make it easier to create new specialized classes when they are needed –Composition and aggregation structures can be used to encapsulate components

© Bennett, McRobb and Farmer 2002 Composition and Aggregation n Special types of association, both sometimes called whole–part n A campaign is made up of adverts: Campaign Advert 0..*1 Unfilled diamond signifies aggregation

© Bennett, McRobb and Farmer 2002 Composition and Aggregation n Aggregation is essentially any whole– part relationship n Semantics can be very imprecise n Composition is ‘stronger’: –Each part may belong to only one whole at a time –When the whole is destroyed, so are all its parts

© Bennett, McRobb and Farmer 2002 Composition and Aggregation n An everyday example n Clearly not composition –Students could be in several classes –If class is cancelled, students are not destroyed! Class Student 0..*1..*

© Bennett, McRobb and Farmer 2002 Composition and Aggregation n Another everyday example n This is (probably) composition –Ingredient is in only one meal at a time –If you drop your dinner on the floor, you probably lose the ingredients too Meal Ingredient 1..*1 Filled diamond signifies composition

© Bennett, McRobb and Farmer 2002 Adding Structure n Add generalization structures when –Two classes are similar in most details, but differ in some respects –May differ n In behaviour (operations or methods) n In data (attributes) n In associations with other classes

© Bennett, McRobb and Farmer 2002 Adding Structure n Two types of staff: Have qualifications recorded Can be client contact for campaign Bonus based on campaigns they have worked on Creative Admin Qualifications are not recorded Not associated with campaigns Bonus not based on campaign profits

© Bennett, McRobb and Farmer 2002 Adding Structure calculateBonus( ) StaffMember {abstract} staffName staffNo staffStartDate calculate Bonus( ) assignNewStaffGrade( ) getStaffDetails( ) CreativeStaff qualification assignStaffContact( ) AdminStaff calculateBonus( )

© Bennett, McRobb and Farmer 2002 Software Development Patterns A pattern n “describes a problem which occurs over and over again in our environment, and then describes the core of a solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.” Alexander et al. (1977)

© Bennett, McRobb and Farmer 2002 Software Development Patterns n A pattern has –A context—a set of circumstances or preconditions for the problem to occur –Forces—the issues that must be addressed –A software configuration—that resolves the forces

© Bennett, McRobb and Farmer 2002 Software Development Patterns n Patterns are found at many points in the systems development lifecycle –Analysis patterns are groups of concepts useful in modelling requirements –Architectural patterns describe the structure of major components of a software system –Design patterns describe the structure and interaction of smaller software components

© Bennett, McRobb and Farmer 2002 Software Development Patterns n Patterns have been applied widely in software development –Organization patterns describe structures, roles and interactions in the software development organization itself n Antipatterns document bad practice –Mushroom Management is an organization antipattern

© Bennett, McRobb and Farmer 2002 Summary In this lecture you have learned about: n Components, and how generalization and aggregation help to model them n How to identify and to model generalization and composition n What is meant by ‘pattern’, and the types of pattern that can be used in software development

© Bennett, McRobb and Farmer 2002 References n Coad et al (1997) n Fowler (1997) (For full bibliographic details, see Bennett, McRobb and Farmer)