Sunteți pe pagina 1din 4

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN

OBJECTIVES

To learn basic OO analysis and design skills through an elaborate case study To use the UML design diagrams To apply the appropriate design patterns

UNIT I Introduction to OOAD What is OOAD? What is UML? What are the United process(UP) phases - Case study the NextGen POS system, Inception -Use case Modeling - Relating Use cases include, extend and generalization. UNIT II Elaboration - Domain Models - Finding conceptual classes and description classes Associations Attributes Domain model refinement Finding conceptual class hierarchies- Aggregation and Composition- UML activity diagrams and modeling UNIT III System sequence diagrams - Relationship between sequence diagrams and use cases Logical architecture and UML package diagram Logical architecture refinement - UML class diagrams - UML interaction diagrams UNIT IV GRASP: Designing objects with responsibilities Creator Information expert Low Coupling Controller High Cohesion Designing for visibility - Applying GoF design patterns adapter, singleton, factory and observer patterns. UNIT V UML state diagrams and modeling - Operation contracts- Mapping design to code -UML deployment and component diagrams TEXT BOOK: 1. Craig Larman,"Applying UML and Patterns: An Introduction to object-oriented Analysis and Design and iterative development, Third Edition, Pearson Education, 2005 REFERENCES: 1. Mike ODocherty, Object-Oriented Analysis & Design: Understanding System Development with UML 2.0, John Wiley & Sons, 2005. 2. James W- Cooper, Addison-Wesley, Java Design Patterns A Tutorial, 2000. 3. Micheal Blaha, James Rambaugh, Object-Oriented Modeling and Design with UML, Second Edition, Prentice Hall of India Private Limited, 2007

4. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides,Design patterns: Elements of Reusable object-oriented software, Addison-Wesley, 1995.

Object-oriented analysis and design (OOAD) is a software engineering approach that models a system as a group of interacting objects. Each object represents some entity of interest in the system being modeled, and is characterized by its class, its state (data elements), and its behavior. Various models can be created to show the static structure, dynamic behavior, and run-time deployment of these collaborating objects. There are a number of different notations for representing these models, such as the Unified Modeling Language (UML). Object-oriented analysis (OOA) applies object-modeling techniques to analyze the functional requirements for a system. Object-oriented design (OOD) elaborates the analysis models to produce implementation specifications. OOA focuses on what the system does, OOD on how the system does it.

Contents

1 Object-oriented systems 2 Object-oriented analysis 3 Object-oriented design 4 Literature 5 See also 6 References 7 External links

Object-oriented systems
An object-oriented system is composed of objects. The behavior of the system results from the collaboration of those objects. Collaboration between objects involves them sending messages to each other. Sending a message differs from calling a function in that when a target object receives a message, it decides on its own what function to carry out to service that message. The same message may be implemented by many different functions, the one selected depending on the state of the target object. The implementation of "message sending" varies depending on the architecture of the system being modeled, and the location of the objects being communicated with.

Object-oriented analysis

Object-oriented analysis (OOA) is the process of analyzing a task (also known as a problem domain), to develop a conceptual model that can then be used to complete the task. A typical OOA model would describe computer software that could be used to satisfy a set of customer-defined requirements. During the analysis phase of problemsolving, the analyst might consider a written requirements statement, a formal vision document, or interviews with stakeholders or other interested parties. The task to be addressed might be divided into several subtasks (or domains), each representing a different business, technological, or other areas of interest. Each subtask would be analyzed separately. Implementation constraints, (e.g., concurrency, distribution, persistence, or how the system is to be built) are not considered during the analysis phase; rather, they are addressed during object-oriented design (OOD). The conceptual model that results from OOA will typically consist of a set of use cases, one or more UML class diagrams, and a number of interaction diagrams. It may also include some kind of user interface mock-up.

Object-oriented design
Main article: Object oriented design During object-oriented design (OOD), a developer applies implementation constraints to the conceptual model produced in object-oriented analysis. Such constraints could include not only constraints imposed by the chosen architecture but also any nonfunctional technological or environmental constraints, such as transaction throughput, response time, run-time platform, development environment, or those inherent in the programming language. Concepts in the analysis model are mapped onto implementation classes and interfaces resulting in a model of the solution domain, i.e., a detailed description of how the system is to be built.
OOAD is a Software Engineering approach that models a system as a group of interacting objects and its object represents some entity or attribute in this system and its object defined by its class, its state, and its behavior.In other defination we can say that OOAD is a methodology which helps to analyze,design and develop application using objects and their relations and message based communication to each other.In OOAD everything rotates on objects and classes. OOAD introduced a paradigm shift from thinking and programming procedurally to objects oriented programming.This approach helps in designing complex real time systems.Some of its features like Data Abstraction and Encapsulation, Inheritance and Polymorphism form are basic fundamentals of object oriented programming.

he acronym OOAD stands for Object Oriented Analysis and Design. OOAD is a software engineering approach that models and designs a system as a group of interacting objects. Object is the term used to describe some entity or thing of interest. These objects are typically modeled after real world entities or concepts. For the business analyst, these would be the real-world entities that arise within the business (invoice, product, contract, etc).

Objects have attributes which can be set to specific values. This defines the state of the object. Objects also have methods or functions which define their behavior. Here is a quick example for illustrative purposes. Consider the real world object Car. Our car has attributes that can be defined with specific values such as,

make = ford model = escape year = 2002 color = green maximum speed = 130 mph current speed = 50 mph ideal tire pressure = 35 psi current tire pressure = 31 psi remaining fuel = 12 gallons

Each of these attributes define the state of the vehicle. They describe the car as it is at some point in time. Additionally, the car has certain behaviors such as

accelerate () decelerate () refuel () fill tires ()

Each of these behaviors of the real world object can be represented as a method of the object when designing the system (methods are also known as a functions in some programming languages). These methods can change the values of the attributes causing a change in state. OOAD is comprised of two parts: (1) object oriented analysis (2) object oriented design Models of different types can be created to reflect the static structure, dynamic behavior, and run-time deployment of the collaborating objects of a system. During the object-oriented analysis (OOA) phase object-modeling techniques are used to analyze the functional requirements for a system and create models which reflect the logical design of the system. During the object-oriented design (OOD) phase of the system, models are elaborated upon to include implementation specific details that show how the physical design of the system will come together. OOA focuses on what the system does (its static structure and behavior), OOD on how the system does it (its run-time implementation).

S-ar putea să vă placă și