Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN

Slides:



Advertisements
Similar presentations
Systems Analysis and Design in a Changing World, 6th Edition
Advertisements

Object-Oriented Analysis and Design Introduction 1.
Chap 1 UML vs Thinking in Objects! – Visual modeling Learning UML – Look at the book examples – Alan Holub’s UML reference card – Use library resources.
Object-Oriented Analysis and Design
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
CSSE 374: Introduction to Object- Oriented Analysis and Design Q1 Steve Chenoweth Office: Moench Room F220 Phone: (812)
Unified Modeling Language
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Object Oriented Analysis and Design
1 UML – an overview What is UML? UML stands for Unified Modelling Language. ”The Unified Modelling Language is a visual language for specifying, constructing.
NJIT 1 Domain Model Visualizing Concepts Chapter 9 Applying UML and Patterns Craig Larman.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
COMP 350: Object Oriented Analysis and Design Lecture 2
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Object Oriented Analysis and Design Using the UML
SYSTEMS ANALYSIS. Chapter Five Systems Analysis Define systems analysis Describe the preliminary investigation, problem analysis, requirements analysis,
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Introduction To System Analysis and design
Chapter 2: Approaches to System Development
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Craig Larman’s Applying UML and Patterns: Hands-on Mastery of OOA/D.
Object-Oriented Analysis and Design OVERVIEW. Objectives  Describe Information Systems  Explain the role of a systems analyst  Introduce object-oriented.
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Object-Oriented Analysis and Design Lecture 1 Instructor: John Cole 1Object-Oriented Analysis and Design - Intro.
Content The system development life cycle
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Object-Oriented Analysis and Design Fall 2009.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Object-Oriented Analysis and Design ธนวัฒน์ แซ่ เอียบ.
Copyright ©2004 Cezary Z Janikow 1 OOAD Overview n OO language – Necessary for OO systems? – Sufficient for OO systems? Owning a hummer doesn’t make you.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN Objectives Describe the book goals and scope Define OOA/D (Object-Oriented Analysis and Design) Illustrate.
Software Design. A well-known phenomenon You will learn…. –Thinking "object oriented“ –Define requirements and analyze the problem domain. –Design of.
Larman chapter 101 Domain Model: Visualizing concepts Larman chapter 10.
2 Systems Analysis – ITEC 3155 Systems Analysis Tasks.
Object Oriented Analysis & Design By Rashid Mahmood.
Introduction to OOAD and UML
Elaboration popo.
Chapter 5 System modeling
UNIT 1.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Chapter 5: Object Oriented Analysis and Design
Week 10: Object Modeling (1)Use Case Model
CS 519: Object-Oriented Analysis & Design IS 516: Selected Topics in Information Technology Instructor: Dr. Tarek Elghazaly Text Book: Craig Larman,
UML: Unified modeling language
COMP 350: Object Oriented Analysis and Design Lecture 2
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Chap 1 UML vs Thinking in Objects! Learning UML Visual modeling
Object oriented analysis and design
Object Oriented Analysis and Design
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Week 5.
Week 5.
Software Requirements
Software Requirements
CSCI 360: Software Architecture & Design
Presentation transcript:

Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN “Time is a great teacher, but unfortunately it kills all its pupils.” - Hector Berlioz Objectives Describe the book goals and scope Define OOA/D (Object-Oriented Analysis and Design) Illustrate a brief OOA/D example Overview UML and visual agile modeling

Applying UML and Patterns Larman’s book is a tool to help developers/students learn core skills in OOA/D. These skills are essential for the creation of well- designed, robust, and maintainable software using OO technologies and languages such as Java or C#. Knowing an object oriented language is necessary but insufficient first step to create object systems. Knowing how to “think in objects” is critical ! Owning a hammer doesn’t make one an architect” (Proverb) r

Fig. 1.1 Topics and skills covered in the book. UML notation Requirements analysis Principles and guidelines Patterns Iterative development with an agile Unified Process OOA / D The book illustrates this in the context of long-running case studies that evolve over several iterations.

Analysis Analysis emphasizes an investigation of the problem and requirements, rather than a solution. In software development, we are primarily concerned with two forms of analysis. Requirements Analysis is discovering the requirements that a system must meet in order to be successful. Object-Oriented Analysis is investigating the objects in a domain to discover information important to meet the requirements. r

Use Cases Writing Use Cases is not a specifically OO artifact – they are simply written stories. However, they are a best practice for elaborating and understanding requirements. r

Design Design emphasizes a conceptual solution that fulfills the requirements, rather than its implementation. Design ideas often exclude low-level or obvious details – obvious to the intended consumers. There are subsets of design, including architectural design, object design, database design. Do the right thing (analysis), and do the thing right (design). r

Object-Oriented Analysis and Design (OOA/D) During OOA, the emphasis is on finding and describing the objects (or concepts) in the problem domain, i.e., domain objects. During OOD (or simply object design), the emphasis is on defining software objects and how they collaborate to fulfill the requirements. During OOP (OO Programming) or Implementation, design objects are implemented in a programming language. Implementation is also known as Coding or Construction. r

Fig. 1.2 Object-orientation emphasizes representation of objects

Responsibility-Driven Design It is the classical OO design metaphor(symbol) The most important skill in OOA/D is assigning responsibilities to objects. That determines how objects interact and what classes should perform what operations. r

Design Patterns Certain tried-and-true solutions to design problems have been expressed as principles of best practice, often in the form of Design Patterns. A Design Pattern is a named problem solution formula that apply excellent design principles. r

The Unified Process (UP) A standardized approach to analysis and design helps to ensure that all necessary tasks are understood and completed in software development. Requirements analysis and OOA/D needs to be presented and practiced in the context of some development process. Here, an agile (light, flexible) approach to well-known Unified Process (UP) is used as a sample iterative development process. r

Unified Modeling Language (UML) UML is the de facto standard diagramming notation for drawing or presenting pictures related to OO software. UML is a visual language for specifying, constructing and documenting the artifacts of OO systems. Knowing UML helps you communicate with others in creating software. r

Three ways people apply UML are ... UML as sketch Informal and incomplete diagrams (often hand sketched on whiteboards) created to explore difficult parts of the problem or solution space Agile modeling emphasizes UML as sketch. UML as blueprint relatively detailed design diagrams used either for reverse engineering to visualize and better understand existing code, or for forward engineering to guide for code generation, either manually or automatically with a tool. UML as a programming language Complete executable specification of a sw system in UML. r

Three perspectives to apply UML are ... Conceptual perspective – the diagrams are interpreted as describing things in a situation of the real world or domain of interest. Specification (software) perspective – the diagrams describe sw abstractions or components with specifications and interfaces, but no commitment to a particular language implementation. Implementation perspective – the diagrams describe sw implementations in a particular technology. r

Fig. 1.6 Different perspectives with UML In practice, most software-oriented UML diagramming assumes an implementation perspective and the specification perspective is often used for design. r