ch05lect1_UD - Using UML, Patterns, and Java...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5: Analysis, Object Modeling
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 An overview of OOSE development activities and their products Requirements elicitation Analysis System design problem statement functional model nonfunctional requirements analysis object model dynamic model class diagram use case diagram statechart diagram sequence diagram
Background image of page 2
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Activities during Object Modeling Main goal: Find the important abstractions Steps during object modeling 1. Class identification Based on the fundamental assumption that we can find abstractions 2. Find the attributes 3. Find the methods 4. Find the associations between classes Order of steps Goal: get the desired abstractions Order of steps secondary, only a heuristic What happens if we find the wrong abstractions? We iterate and revise the model
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 Class Identification Class identification is crucial to object-oriented modeling Helps to identify the important entities of a system Basic assumptions: 1. We can find the classes for a new software system (Forward Engineering) 2. We can identify the classes in an existing system (Reverse Engineering) Why can we do this? Philosophy, science, experimental evidence.
Background image of page 4
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 Class Identification Approaches Application domain approach Ask application domain experts to identify relevant abstractions Syntactic approach Start with use cases Analyze the text to identify the objects Extract participating objects from flow of events Design patterns approach Use reusable design patterns Component-based approach Identify existing solution classes.
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 Class identification is a Hard Problem One problem: Definition of the system boundary: Which abstractions are outside, which abstractions are inside the system boundary? Actors are outside the system Classes/Objects are inside the system. An other problem: Classes/Objects are not just found by taking a picture of a scene or domain The application domain has to be analyzed Depending on the purpose of the system different objects might be found How can we identify the purpose of a system? Scenarios and use cases => Functional model
Background image of page 6
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 There are different types of Objects Entity Objects Represent the persistent information tracked by the system (Application domain objects, also called “Business objects”) Boundary Objects Represent the interaction between the user and the system Control Objects Represent the control tasks performed by the system.
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Bernd Bruegge & Allen H. Dutoit
Background image of page 8
Image of page 9
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 30

ch05lect1_UD - Using UML, Patterns, and Java...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online