140 likes | 158 Views
Learn about object-oriented analysis and design, applying UML notation and patterns, and assigning responsibilities to objects. Understand the concepts of analysis, design, and synthesis in the context of software development.
E N D
1. Introduction Object-oriented analysis & design
Objectives • Compare analysis versus design • Define object-oriented analysis & design • Illustrate with a brief example
Applying UML & Patterns in OOA/D An object system design is good when it: • Each object’s function is clear • Object interactions are clear • Functions correctly • Is easy to modify (simple as possible?) • Performs well.
Applying UML & Patterns in OOA/D • UML stands for Unified Modeling Language. • UML is onlya notation used to: • Explore an object design space • Express/communicate a design
Applying UML & Patterns in OOA/D • Assigning responsibilities to objects is fundamental to design. • Such assignments benefit from principles & heuristics. • The principles & heuristics depend on the object domain. • Do the principles of assigning responsibilities to software objects apply to meatware objects? • Should you use these principles to assign responsibilities to team members?
What Is Analysis & Design Analysis A resolution of anything, whether an object of the senses or of the intellect, into its constituent or original elements; an examination of the component parts of a subject, each separately, as the words which compose a sentence, the tones of a tune, or the simple propositions which enter into an argument. Synthesis Composition, or the putting of 2 or more things together, as in compounding medicines.
What Is Analysis & Design Design • To draw preliminary outline or main features of; to sketch for a pattern or model; to delineate; to trace out; to draw. • To create or produce, as a work of art; to form a plan or scheme of; to form in idea; to invent; to project; to lay out in the mind; as, a man designs an essay, a poem, a statue, or a cathedral.
What is Object-Oriented Analysis OOA A resolution of a system into its constituentobjects or concepts. OOD To invent a model delineating the key objects of a system that satisfies a set of requirements.
Book title What is Object-Oriented Analysis A key object or concept has representations • Domain concept • Visualization of concept • Programming language representation • public class book • { • private String title; • public Chapter getChapter(); • }
Book title What is Object-Oriented Analysis Object/concept representations • Domain concept • Visualization of concept • Programming language representation public class book { private String title; public Chapter getChapter(); }
An Example Mandelbrot Set Visualizer Define use cases 1. Visualize Mandelbrot Set: User selects a region to visualize. User sets visualization parameters. System displays selected region accordingly.
MandelbrotSet Visualizer Controller region An Example Define a domain model notifies sets Region, parameters Domain model indicates key concepts, associations, & attributes.
An Example Define Interaction Diagrams :Controller MandelbrotSet Visualizer setRegion() setRegion( Region) notify()
MandelbrotSet region: Region viewer: Viewer Visualizer set: MandelBrotSet setRegion() setIterationLimit() notify() Controller set: MandelBrotSet setRegion() An Example Define Class Diagrams