What is an object? An object has both data and operations

Similar documents
OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

Managing the development and purchase of information systems (Part 2)

*ANSWERS * **********************************

Meltem Özturan

History of object-oriented approaches

Object-Oriented Systems Analysis and Design Using UML

C++ Important Questions with Answers

Data Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques. Version 03.s 2-1

SE310 Analysis and Design of Software Systems

IT101. Inheritance, Encapsulation, Polymorphism and Constructors

Architectural Blueprint

What are the characteristics of Object Oriented programming language?

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Chapter 12. Systems Design. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

1. i. What are the 3 major components of a information system and show their relationship input output

Data Structures (list, dictionary, tuples, sets, strings)

Introduction to OOP. Procedural Programming sequence of statements to solve a problem.

Object-Oriented Systems. Development: Using the Unified Modeling Language

Systems Analysis and Design in a Changing World, Fourth Edition

1. Write two major differences between Object-oriented programming and procedural programming?

Object oriented programming Concepts

Enhanced Class Design -- Introduction

On the Purpose of Object-Oriented Analysis

Chapter 11. Categories of languages that support OOP: 1. OOP support is added to an existing language

Design Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1

Object-Oriented Design

Chapter 12. View Design and Integration. Outline. Motivation. Motivation for view design and integration View design with forms View integration

System Development Life Cycle Methods/Approaches/Models

Suggested answers are provided below. These answers are presented top-down, left to right.

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Syllabus Technosoft Academy. Course Syllabus. 1 P a g e

CSE 544 Data Models. Lecture #3. CSE544 - Spring,

DESIGN: ARCHITECTURE AND METHODOLOGY

The software lifecycle and its documents

Overview of OOP. Dr. Zhang COSC 1436 Summer, /18/2017

Systems Analysis & Design

VB.NET. Exercise 1: Creating Your First Application in Visual Basic.NET

Object-Oriented Analysis and Design Using UML (OO-226)

Object-Oriented Design

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Introduction to System Analysis and Design

Object-Oriented Design

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

A Hierarchical Model for Object- Oriented Design Quality Assessment

OBJECTIVES DEFINITIONS CHAPTER 1: THE DATABASE ENVIRONMENT AND DEVELOPMENT PROCESS. Figure 1-1a Data in context

Siebel Application Deployment Manager Guide. Version 8.0, Rev. A April 2007

Lecture 4. Lecture 4: The E/R Model

Future Directions in Simulation Modeling. C. Dennis Pegden

Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci)

Systems Analysis & Design

Topic 01. Software Engineering, Web Engineering, agile methodologies.

1: Specifying Requirements with Use Case Diagrams

System Models. Minsoo Ryu. Hanyang University. Real-Time Computing and Communications Lab., Hanyang University

Object-Oriented Design

OO Requirements to OO design. Csaba Veres Alan M. Davis (1995), Colorado

Chapter 1: Introduction to Systems Analysis

Major Topics. Prototyping and Rapid Application Development

Components vs. Objects

Software Engineering

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation

C H A P T E R SYSTEM DESIGN

e2e etrac to etrac Setup and Configuration

350 Index 2005 GOAL/QPC

Analysis and Design with UML

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 2: Review of Object Orientation

What is Inheritance?

A Data Modeling Process. Determining System Requirements. Planning the Project. Specifying Relationships. Specifying Entities

M Introduction to Visual Basic.NET Programming with Microsoft.NET 5 Day Course

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours

SOFTWARE ENGINEERING. To discuss several different ways to implement software reuse. To describe the development of software product lines.

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS

CREATED BY: Muhammad Bilal Arslan Ahmad Shaad. JAVA Chapter No 5. Instructor: Muhammad Naveed

Abstraction. Abstraction

Object Oriented System Development

UML Views of a System

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

Systems Analysis and Design

Gradational conception in Cleanroom Software Development

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

Strategic Information Systems Systems Development Life Cycle. From Turban et al. (2004), Information Technology for Management.

Testing Tools to Support Agile Software Delivery. The Critical Role of Automated Functional Testing in Enterprise Environments

Object-Oriented Software Engineering. Chapter 2: Review of Object Orientation

1. BlueJ bank example with subclasses of BankAccount 2. Transparency of UML diagram for BankAccount class hierarchy

Lecture 5. Lecture 5: The E/R Model

University of Toronto. CSC340S - Information Systems Analysis and Design

Software Architectures

Test bank for accounting information systems 1st edition by richardson chang and smith

2559 : Introduction to Visual Basic.NET Programming with Microsoft.NET

Chapter 2: The Database Development Process

e-canteen System Presentation

Weak Entity Sets. A weak entity is an entity that cannot exist in a database unless another type of entity also exists in that database.

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University

Software Development Methodologies

EXAM Microsoft MTA Software Development Fundamentals. Buy Full Product.

Unit 2 - Data Modeling. Pratian Technologies (India) Pvt. Ltd.

Collage: A Declarative Programming Model for Compositional Development and Evolution of Cross-Organizational Applications

Object Oriented Programming

Introduction to ALM, UFT, VuGen, and LoadRunner

STUDENT LESSON A20 Inheritance, Polymorphism, and Abstract Classes

Transcription:

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 data: 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 Undergraduate Student Graduate Student Frozen Food Canned Food Perishable 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

Use Case Diagram Rent video Video Store Customer Return video << extends >> Video Store Clerk 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 Customer Name Address new_customer change_address delete_customer 1..* Owns 0..* owner owner_type Account Account# DateOpened CurrentBalance AccountType new_account make_deposit make_withdrawal close_account

Class Diagram Examples Medical Complaint description Diagnose() Gastrointestinal Upper Respiratory Muscular/Skeletal Other Complaint fooddiary coughtype areaofbody

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

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 Makes inquiry Prospective Makes purchase / LastPurchaseDate = CurrentDate 6 months Current Makes purchase / LastPurchaseDate = CurrentDate [CurrentDate - LastPurchaseDate > 1 year] Makes purchase / LastPurchaseDate = CurrentDate Former 3 years

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 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 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