OODA - Foundations of Software Engineering (for...

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

View Full Document Right Arrow Icon
Foundations of Software Engineering (for non-software engineers) Object Oriented Design (OOD) / Object Oriented Analysis (OOA) Guy-Vincent Jourdan
Background image of page 1

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

View Full DocumentRight Arrow Icon
Object oriented design/analysis Object oriented methodology seems to be the most promising idea around. It gives a united view for the analysis, design and implementation steps of the software development life cycle, and provides Good mapping to the “real world” Good modularity Good potential for reusability Wealth of tools to help different parts of the processes
Background image of page 2
Object oriented design/analysis Futrell, R., Shafer, D. and Shafer L., Quality Software Project Management , Prentice Hall PTR, 2002 Van Vliet, H. Software Engineering: Principles and Practice, 2 nd Edition , Wiley, 2000 Meyer, B. Object Oriented Software Construction, , 2 nd Edition, Prentice Hall, 1997 Lethbridge, T. and Laganière, R., Object-Oriented Software Engineering, 2 nd Edition , McGraw Hill, 2005
Background image of page 3

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

View Full DocumentRight Arrow Icon
Object oriented design/analysis OO models are typically organized around “real world” objects existing in the user’s worlds. These objects are defined in terms of their responsibilities (behavior), their data (attributes) and their relationships with each others. Functions and data of the objects are encapsulated (hidden) in the objects themselves, allowing to modify the objects with limited impact to the system.
Background image of page 4
OOA/OOD benefits Increased productivity thanks to a focus to analysis/design, away from a focus on code/debug Modeling of the real worlds through classes, not algorithms Good modularization, systems easy to modify Good traceability of requirements Good support of iterative approaches and prototyping Continuity between analysis, design and implementation Attempt to reduce complexity of the system Availability of powerful tools to help in the various stages of the process
Background image of page 5

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

View Full DocumentRight Arrow Icon
Object oriented analysis Object oriented analysis specifies the structure and the behavior of the “objects”. It requires several models to capture de definition of the objects in the system (name, attributes, relationships to other objects…) as well as the possible states the objects exist in, and the actions and interactions of objects. The following model are typically involved: Class diagrams Use cases Activity diagrams
Background image of page 6
Object oriented analysis Class diagrams The class diagram represents the static view of all the classes, their attributes and operations, and the different types of relationships between the classes.
Background image of page 7

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

View Full DocumentRight Arrow Icon
Object oriented analysis A class A class is an abstraction of something in the application domain, either conceptual or physical: a book, a customer, a waiting list etc. A class has
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.

This note was uploaded on 01/09/2012 for the course EMP EMP5117 taught by Professor Bohehm during the Fall '11 term at University of Ottawa.

Page1 / 39

OODA - Foundations of Software Engineering (for...

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