Object-Oriented Analysis and Design

Slides:



Advertisements
Similar presentations
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
Advertisements

Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Chapter 4: Inception is Not the Requirements Phase
Object-Oriented Analysis and Design Introduction 1.
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)
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Rational Worldwide Software Symposium
Dr. Kivanc DincerCS319 Week 1 - Sept.12,20051 Chapter 4 INCEPTION IS NOT THE REQUIREMENTS PHASE Objectives Define the inception step. Motivate the following.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
NJIT Evolutionary Requirements Chapter 5 Applying UML and Patterns Craig Larman.
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
COMP 350: Object Oriented Analysis and Design Lecture 2
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Satzinger Chp. 2 Part Part 4 of 4 2 Object-Oriented Analysis and Design with the Unified Process Testing Testing is critical discipline Testing activities.
Object-Oriented Analysis and Design OVERVIEW. Objectives  Describe Information Systems  Explain the role of a systems analyst  Introduce object-oriented.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Object-Oriented Analysis and Design An Introduction.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman.
Chapter 7 Applying UML and Patterns -Craig Larman
Chapter 7 Applying UML and Patterns Craig Larman
Jan 7, A UP project organizes the work and iterations across four major phases: – Inception -- approximate vision, business case, scope, vague estimates.
Object-Oriented Analysis and Design Fall 2009.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
Object-Oriented Analysis and Design ธนวัฒน์ แซ่ เอียบ.
Chapter 5 Evolutionary Requirements. Introduction 5.1 Definition: Requirements 5.2 Evolutionary vs. Waterfall Requirements 5.3 What are Skillful Means.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Chapter 4. Inception is NOT Requirements: Inception is a short, initial stage. Its purpose is a common vision and scope measurement. needed to do: –analyze.
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.
Understanding Requirements Chapter 5 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.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Software Design & Documentation Anita Kuchera John Sturman UP Introduced.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Object Oriented Analysis & Design By Rashid Mahmood.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
TK2023 Object-Oriented Software Engineering
UNIT 1.
Evolutionary requirements
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Unified Process(UP) popo.
UML: Unified modeling language
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Rational Worldwide Software Symposium
Rational Unified Process
Evolutionary Requirements
Rational Worldwide Software Symposium
Rational Worldwide Software Symposium
Other System Requirements
CSCI 360: Software Architecture & Design
Presentation transcript:

Object-Oriented Analysis and Design Chapter 1 Object-Oriented Analysis and Design

Key Components of Course Object-oriented analysis (OOA) Analysis: Investigation of the problem and requirements Example questions: How will the system be used? What functions must it perform? OOA: Find and describe the domain objects Example: Flight information system Objects: Plane, Flight, Pilot Object-oriented design (OOD) or object design Design: A conceptual solution that fulfills requirements NOT the implementation Excludes low-level details OOD: Define software objects and how they collaborate. Most critical learning goal in this class: Assigning responsibilities to software objects.

Key Components of Course UML: Unified Modeling Language A standard diagramming notation How to write down requirements, design intent, etc. in a standardized, graphical way so your teammates can understand it. Software tools for manipulating UML documents An iterative development process The Rational Unified Process The “agile” (light, flexible) approach

Fig. 1.2

Short Example: Dice Game Software simulates the player rolling two dice If total is seven, they win. Otherwise, they lose. A few key steps and diagrams in iterative development Define use cases Define domain model Draw interaction diagrams, assign object responsibilities Draw design class diagrams Use cases: A description of the user-system interaction Player requests to roll the dice System presents results If the dice face value totals seven, player wins Otherwise, player loses

2. Define domain model (real world objects, not software objects)

Draw interaction diagrams, assign object responsibilities

Draw interaction diagrams, assign object responsibilities

4. Draw class diagrams (software objects)

The UML A visual language for specifying, constructing, and documenting systems A standard diagramming notation Three perspectives to use UML Conceptual perspective Software specification perspective Software implementation perspective

Fig. 1.6

Chapter 2

The Waterfall Lifecycle Phases Gather Requirements Specification Design Implementation Integration Product

Iterative and evolutionary development Result of each iteration: An executable but incomplete system

Fig. 2.2

Fig. 2.5

UP Phases Inception: Approximate vision Business case Elaboration: Refined vision, Implementation of core architecture Identification of most requirements and scope Construction Iterative implementation of rest Preparation for deployment Transition Beta tests Deployment

Unified Process Phases

UP Disciplines vs. Project Iterations

Some key rules of thumb The purpose of modeling (sketching UML) especially early in the project, is to understand and communicate, NOT to document Do modeling in groups Know that all models will be inaccurate Final code and design may be very different from initial model Developers themselves should do the modeling

A POS system, layers (tiers)

The Inception Phase Inception: Short initial phase What is the vision for this project? Is it feasible? Do some preliminary requirements and use cases work In your class project, we will assume that this phase has been already carried out Earlier work tells you that the project is feasible Preliminary requirements have been explored

Requirements Definition: Requirements are the capabilities that the system must support and the conditions to which it must conform. RUP approach to requirements A systematic approach to finding documenting organizing, and tracking the changing requirements of a system

Categories of requirements: FURPS+ Functional: Features, capabilities, security Usability: Human factors, help, documentation Reliability: Frequency of failure, recoverability, predictability Performance: Response times, throughput, accuracy, availability, resource usage Supportability: Adaptability, maintainability, internationalization, configurability + Implementation: Resource limitations, languages and tools, hardware Interface: Interfacing with external systems Operations: System management where it is going to be used Packaging Legal

How are requirements organized and stored? UP artifacts Use-case model: A set of typical scenarios of using a system Supplementary specification: All non-functional requirements, features Glossary Key terms Data dictionary Vision Big ideas of project The business case Business rules: Rules of the domain you have to operate in Tax laws Aviation laws Laws of physics