Object Orientation An alternative approach to systems development

Slides:



Advertisements
Similar presentations
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Advertisements

Ch 3 System Development Environment
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Ch 12: Object-Oriented Analysis
Object-Oriented Analysis and Design
Systems development life cycle & development methodologies
Introduction To System Analysis and Design
Alternative Methodologies Ken Peffers UNLV March 2004.
Object Oriented System Development with VB .NET
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
Contemporary Information Systems Development Chapter 10.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
1 Object-Oriented Software Engineering CIS 375 Bruce R. Maxim UM-Dearborn.
Chapter 1 The Systems Development Environment
Introduction To System Analysis and design
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
1 Introduction Chapter 1. 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding the organization.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Describing Methodologies PART II Rapid Application Development*
Prototyping. Introduction *Overview *What is the process *Changing roles of end users *What tools facilitate prototyping *Impact on traditional methodology.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 11 Slide 1 Chapter 1 The Systems Development Environment.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 4 Slide 1 Chapter 1 The Systems Development Environment.
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
© 2005 by Prentice Hall Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
The Systems Development Environment Systems Analysis and Design II.
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
ISTM 280, GWU1 Introduction to Systems Analysis and Design Lecture 1 Courtesy Subhasish Dasgupta.
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Information Systems Development
Methodology Conceptual Databases Design
Chapter 1: Introduction to Systems Analysis and Design
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Systems Analysis and Design
Fundamentals of Information Systems, Sixth Edition
Modern Systems Analysis and Design Third Edition
Business System Development
CASE Tools and Joint and Rapid Application Development
Object-Oriented Analysis and Design
Chapter 1 The Systems Development Environment
Methodology Conceptual Database Design
Approaches to Information Systems Development
Modern Systems Analysis and Design Third Edition
Unified Modeling Language
Business System Development
Systems Analysis and Design With UML 2
Chapter 1 The Systems Development Environment
Object Oriented Concepts
Entity Relationship Diagrams
Methodologies For Systems Analysis.
Entity Relationship Diagrams
Methodologies For Systems Analysis.
Modern Systems Analysis and Design Third Edition
Object Orientation An alternative approach to systems development
Chapter 20 Object-Oriented Analysis and Design
Modern Systems Analysis and Design Third Edition
Software Design Lecture : 15.
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
Copyright 2007 Oxford Consulting, Ltd
Chapter 1: Introduction to Systems Analysis and Design
Methodology Conceptual Databases Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Chapter 1: Introduction to Systems Analysis and Design
Modern Systems Analysis and Design Third Edition
Week 10 Systems Development
Presentation transcript:

Object Orientation An alternative approach to systems development No longer a fad Includes concepts, tools, methodologies and languages Represents a fundamentally different way of looking at systems and breaking them down into parts

What is an object? An object has both data and operations An object’s data is the information about the object An object’s operations represent things that happen that affect the object’s data This is called encapsulation An object represents a major element of the system Merges the process-driven and data-driven perspectives

Example: Banking Object Customer Object Account data: operations: Name = “Joe Smith” Address = “434 Maple St., Metro City, MD 92388” operations: new_customer change_address delete_customer Object Account data: AccountNumber = 2543238 DateOpened = “12/15/1998” CurrentBalance = 123.52 AccountType = “checking” operations: new_account make_deposit make_withdrawal close_account

Instantiation Class = a collection of objects, all of which have the same set of attributes (different values) and operations The objects that belong to a class are called instances of that class The class is instantiated when an object of that class is created Example: Joe Smith is an instance of Customer

Specialization and Generalization Classes can form a hierarchy, where more general classes are specialized into more specific classes Example: The class Student can be specialized into the classes Undergraduate Student and Graduate Student Example: The classes Frozen Food, Canned Food, and Perishable Food can be generalized into the class Food Item

Specialization and Generalization Student Food Item Frozen Food Perishable Food Undergraduate Student Graduate Student Canned Food

Inheritance A child class inherits all its parent’s attributes and operations A child class can also have other attributes and operations that did not come from the parent A child class can override an inherited operation with another operation with the same name - one form of polymorphism

OO Tools for Analysis & Design Use cases - scenarios that describe user’s requirements from the user’s point of view Class diagram - defines the class hierarchy State diagram - defines the events that affect objects Sequence diagram - the logical design of a use case

Use Cases Each use case represents a complete scenario describing how the system is used by some actor An actor represents a role that a user plays; one user can play several roles Use case scenarios are initiated by the actor, and can involve more than one actor There can be relationships between use cases

<< extends >> Use Case Diagram Rent video Return video Video Store Clerk Video Store Customer << extends >> Calculate late fees

Class Diagrams Similar to ER diagrams, except operations are added Classes are like entities Attributes are the same concept Associations are like relationships Operations are new Shows the hierarchy of classes and their specializations and generalizations

Class Diagram Examples Account Customer Account# DateOpened CurrentBalance AccountType new_account make_deposit make_withdrawal close_account Name Address new_customer change_address delete_customer Owns 1..* 0..* owner owner_type

Class Diagram Examples Medical Complaint description Diagnose() Gastrointestinal foodDiary Upper Respiratory coughType Muscular/Skeletal areaOfBody Other Complaint

Class Diagram Examples PhotoEquipment Model# price make Test() Lens Test(Camera) Camera filmType Test(Lens, Flash) 0..* Flash 1..* 1..* 1..* 0..* fits uses Test(Camera) 0..* requires quantity requires quantity Battery size type 0..1 0..1

State Diagrams A state of an object is some condition that it satisfies; most objects have many possible states, but they are in only one state at a time An event is something that occurs at a specified point in time that changes an object’s state A state transition is when an object changes from one state to another as a result of an event

State Diagram Example Customer Prospective Current Former Makes purchase / LastPurchaseDate = CurrentDate Makes inquiry Prospective 6 months Current Makes purchase / LastPurchaseDate = CurrentDate [CurrentDate - LastPurchaseDate > 1 year] Former 3 years Makes purchase / LastPurchaseDate = CurrentDate

Rapid Application Development Motivated by the need for shorter development cycles A general strategy for developing systems faster, not a specific methodology or technique Appropriate when the number one concern is to produce a system quickly

Basic RAD Concepts Streamlining the SDLC process User involvement combining phases eliminating iteration User involvement helps ensure quick acceptance at end helps eliminate iteration Integrated CASE tools rapid prototyping minimizing effort to transform prototype to working system

Tools used in RAD Prototyping Code generation quickly design and generate parts of interface Code generation eliminates need for handwriting source code generates software from a design Visual development environments facilitates coding, especially implementing GUI interfaces JAD

RAD Advantages Products developed more quickly End product is more closely aligned with user needs because of less time between requirements and delivery Often lower costs System more aligned with user needs Makes it possible to produce systems in rapidly changing environments

RAD Disadvantages Quality often suffers interface consistency lacking no adherence to standards reusability and maintainability No time for in-depth understanding of the organizational environment risk of a major mismatch that is not understood until the end of the process High dependence on user’s willingness to be involved throughout the process