200 likes | 513 Views
Object Oriented Analysis. By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D. Sources. Object-Oriented & Classical Software Engineering by Stephen R. Schach – seventh edition Object-Oriented Analysis by David Brown http://www.wikipedia.org
E N D
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D
Sources • Object-Oriented & Classical Software Engineering by Stephen R. Schach – seventh edition • Object-Oriented Analysis by David Brown • http://www.wikipedia.org • Applying UML and Patterns by Craig Larman
Object Oriented ConceptsOverview • Information hiding: The ability to protect some components of the object from external entities. This is realized by language keywords to enable a variable to be declared as private or protected to the owning class. • Inheritance: The ability for a class to extend or override functionality of another class. The so called sub class has a whole section that is the super class and then it has its own set of functions and data. • Interface: The ability to defer the implementation of a method. The ability to define the functions or methods signatures without implementing them. • Polymorphism: The ability to substitute an object with its sub objects. The ability of an object-variable to contain, not only that object, but also all of its sub objects as well.
OO Analysis & Design • Object-oriented analysis and design (OOAD) is a software engineering methodology that models a system as a group of interacting objects . • An object represents some entity of interest in the system being modeled. • There are a number of different notations for representing these models, including the Unified Modeling Language (UML).
Relationship • Object-oriented analysis (OOA) utilizes object-modeling techniques to analyze the functional requirements for a system. • Object-oriented design (OOD) builds on the analysis models to produce implementation specifications. • OOA focuses on what the system does, OOD on how the system does it.
OO Analysis In Detail • Object-oriented analysis (OOA) looks at the problem domain, with the aim of creating a conceptual model of the information that exists in the area being analyzed. • The basis for the analysis can be a written requirements statement, a formal vision document, interviews with stakeholders or other interested parties. A system may be divided into multiple domains, representing different business, technological, or other areas of interest, each of which are examined separately. • The result of object-oriented analysis is a portrayal of what the system is functionally required to do, in the form of a conceptual model. That will usually be presented as a set of use cases, one or more UMLclass diagrams, and a number of interaction diagrams. It may also include some kind of user interface mock-up.
Focus on Analysis • OO Analysis is a key component of the OO paradigm. • When this workflow is performed, the classes are extracted. • The use cases and the classes are the basis of the object-oriented software product to be developed.
Definitions • Class - defines the conceptual characteristics of a thing (object), including the thing's characteristics (its attributes, fields or properties) and the thing's behaviors (the things it can do or methods or features). • Use Case - is description of sequences of events that, lead to a system doing something useful. Each use case provides one or more scenarios that express how the system should interact with the users called actors to achieve a specific business goal or function. Use case actors may be end users or other systems.
ERD Modeling • ERD stands for Entity Relationship Diagram. • It is a way to model data in a system and then use that model as a template for database design.
4 ERD functions • Allows us to understand the users’ business. • Documents the information needs for the business. • Provides the Data Administrator with the tool needed for understanding, documenting, and ultimately controlling the data. • Forms a template, or pattern, for database design.
Class Diagram • In the Unified Modeling Language (UML), a class diagram is a type of static structure diagram that describes the construct of a system by showing the system's classes, their attributes, and the relationships between the classes.
CRC Cards • Class-Responsibility-Collaboration cards (CRC cards) are a brainstorming tool used in the design of object-orientedsoftware. • They were proposed by Ward Cunningham. • They are typically used when first deciding which classes are needed and how they will interact.
Summary • The goal of Object Oriented Analysis is to obtain a deeper understanding of the requirements to increase the success of the development. • You have to know the rules of the game to play successfully.
Will OOA solve all of our problems? • No. • It is not simply one technology, and it may well cause more problems than it solves. • Key is to have knowledge of an array of tools to solve the many different problems. • It’s also important to make note of today’s standards while anticipating the next new paradigm.