3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 1 February 20, 2004 Lecture 3: Introduction to Software Analysis and.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Database Systems: Design, Implementation, and Management Tenth Edition
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Informática II Prof. Dr. Gustavo Patiño MJ
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
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 Using the UML
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Chapter 14 (Web): Object-Oriented Data Modeling
Basic OOP Concepts and Terms
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
OBJECT ORIENTED ANALYSIS & DESIGN Vassilka Kirova Department of Computer & Information Science NJIT.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Chapter 14: Object-Oriented Data Modeling
UML and Object Oriented Concepts
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright  Rational Software, all rights reserved 1 Object Oriented Analysis.
Introduction To System Analysis and design
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Introduction to Object Technology.
Object Oriented Analysis and Design Using the UML Version 4.2 Introduction to Object Orientation Prepared by:Kandarp R. Somaiya.
Introduction to Object-oriented programming and software development Lecture 1.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill Chapter 2: Object Basics Object-Oriented Systems Development Using the Unified Modeling.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 13 (Online): Object-Oriented Data Modeling Modern Database Management 10 th Edition.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
EC-241 Object-Oriented Programming LECTURE 9. Objectives: Introduction to Object Oriented Design Revise the basic principles of object orientation Unified.
Basic OOP Concepts and Terms. In this class, we will cover: Objects and examples of different object types Classes and how they relate to objects Object.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
Object Oriented Analysis & Design Using UML (CS-512) M-Tech CSE (Ist & 3rd Sem) Part Time Mr. Pawan Luthra Assistant Professor (CSE Deptt.) SBSSTC, Ferozepur.
3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 4, Slide 1 February 20, 2004 Lecture 4: Introduction to Software Analysis and.
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.
Kal Bugrara, Ph.DSoftware Engineering Northeastern University Fundamentals Of Software Engineering Lecture V.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Object-Oriented Data Modeling
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
 Week08.  Review Schedule Weeks 8-14  This week o Review last class o Introduce Class Diagrams o ICE-03 Sheridan SYST Engineering Quality Systems.
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright  Rational Software, all rights reserved 1 Object Oriented Analysis.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Object Oriented Analysis and Design Using the UML
Didik Dwi h t t p : / / b l o g. e l e k t r o. u m. a c. i d / d i d i k Object Oriented Software Engineering.
Lecture 2: Review of Object Orientation. © Lethbridge/La ganière 2005 Chapter 2: Review of Object Orientation What is Object Orientation? Procedural.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
Concepts of Object Orientation lecture 1 –b. Objectives: Concepts of Object Orientation OOAD 2  Explain the basic principles of object orientation 
Basic Characteristics of Object-Oriented Systems
Welcome to OBJECT ORIENTED PROGRAMMING Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Chapter 5 – System Modeling
DATA REQIREMENT ANALYSIS
Object-Oriented Analysis and Design
Concepts of Object Orientation
System Modeling Chapter 4
Object Oriented Analysis and Design Using the UML
Basic OOP Concepts and Terms
Chapter 4 System Modeling.
Presentation transcript:

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 1 February 20, 2004 Lecture 3: Introduction to Software Analysis and Design - Object-Oriented Notions Prof. Kazimierz Subieta Polish-Japanese Institute of Information Technology Institute of Computer Science, Warsaw, Poland System Engineering and Databases

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 2 February 20, 2004 Content Acknowledgment: The material has been compiled from many Internet sources. It has no commercial purpose. Special thanks to anonymous authors of the Rational Software Corporation, who are the original authors of many of the presented slides.  Basic Principles of Object Orientation: Abstraction, Encapsulation, Modularity, Hierarchy  Basic Concepts of Object Orientation: Object, Class, Attribute, Operation, Component, Generalization, Association, Polymorphism  Strengths of Object Orientation  What is Class Diagram?  Object-oriented methodologies  Conceptual modelling  Notations in Analysis and Design

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 3 February 20, 2004 Objectives: Introduction to Object Orientation Understand the basic principles of object orientation Define the basic concepts and terms of object orientation Discuss the strengths of object orientation Understand some basic UML modeling mechanisms

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 4 February 20, 2004 Basic Principles of Object Orientation Object Orientation EncapsulationAbstraction Hierarchy Modularity

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 5 February 20, 2004 What is Abstraction? CustomerSalespersonProduct

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 6 February 20, 2004 What is Encapsulation? Hide implementation from clients –Clients depend on interface

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 7 February 20, 2004 What is Modularity? The breaking up of something complex into manageable pieces Order Processing System BillingOrder Entry Order Fulfillment

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 8 February 20, 2004 What is Hierarchy? Decreasing abstraction Increasing abstraction Asset RealEstate Savings BankAccount CheckingStock Security Bond Classes at the same level of the hierarchy should be at the same level of abstraction Levels of abstraction

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 9 February 20, 2004 Basic Concepts of Object Orientation Object Class Attribute Operation Component Generalization Association Polymorphism

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 10 February 20, 2004 What is an Object? Behavior State Unique identity English 101Geology 110 World History 200Algebra 110Music History 200Intro to OO 180

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 11 February 20, 2004 What is a Class? An object is defined by a class English 101Geology 110 World History 200Algebra 110Music History 200Intro to OO 180 CourseOffering

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 12 February 20, 2004 What is an Attribute? :CourseOffering number = 101 startTime = 900 endTime = 1100 :CourseOffering Name = 104 startTime = 1300 endTime = 1500 CourseOffering number startTime endTime Class Attribute Object Attribute Value

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 13 February 20, 2004 What is an Operation? CourseOffering addStudent deleteStudent getStartTime getEndTime Class Operation

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 14 February 20, 2004 A non-trivial, nearly independent, and replaceable part of a system that fulfills a clear function in the context of a well- defined architecture > Component Name Component Name What Is A Component? Design ModelImplementation Model Component Interface

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 15 February 20, 2004 What is Generalization? One class inherits from another Truck tonnage GroundVehicle weight licenseNumber Car owner register( ) getTax( ) Person 0..* Trailer 1 ancestor decendent generalization size

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 16 February 20, 2004 What is Association? public class Person { public Company employer; } public class Company { public Vector employee; } Position PersonCompany * employee+employer Association roles Position PersonCompany

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 17 February 20, 2004 What is Polymorphism? The ability to hide many different implementations behind a single interface Manufactor A Manufactor C

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 18 February 20, 2004 Strengths of Object Orientation A single paradigm –Single language used by users, analysts, designers, implementers Facilitates architectural and code reuse Models more closely reflect the real world –More accurately describe corporate data and processes –Decomposed based on natural partitioning –Easier to understand and maintain Stability –A small change in requirements does not mean massive changes in the system under development

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 19 February 20, 2004 Order Product Ship via A Simple Sales Order Example

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 20 February 20, 2004 What is Class Diagram? A representation of the types of objects in the system and the various kinds of static relationships that exist among them. It serves as the framework for the system design. Object - an identified, intelligent component of information system capability. Domain objects represent "things" in the world (entities). Capability - behavior that the object can perform, typically requiring variables (data attributes) and methods (procedural code). Class - a collection of objects having the same capabilities. Association - a relationship among objects Subtype Specialization (Subclasses) - subset of a class that extends its capabilities Constraint - a rule defining legal states of objects, classes, relationships, and subtypes.

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 21 February 20, 2004 SalespersonProduct Sale Corporate Customer IndividualTruck Vehicle Train Class Diagram for the Sales Example

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 22 February 20, 2004 Only the Truck class changes Suppose the requirements for shipping by a truck change... SalespersonProduct Sale Corporate Customer IndividualTruck Vehicle Train Effect of Requirements Change

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 23 February 20, 2004 Object-oriented methodologies Object-oriented methodologies employ the concepts of object-orientedness to conceptual modeling and to analysis and design of information systems. The main component of O-O methodologies is an object (class) diagram, which is some notational variant and extension of the popular entity- relationship diagrams. An object diagram represents: classes of objects, attributes of objects, methods that can be applied to objects, inheritance hierarchy among classes, relationships (associations, aggregations) among classes, cardinalities of these relationships, various constraints, and other information. Object diagrams are supported by: dynamic diagrams dealing with events, states and time, method passing diagrams, data flow and functional diagrams, etc. Recent O-O methodologies are driven by use case diagrams, which map the system structure and functionality form the user viewpoint.

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 24 February 20, 2004 Conceptual modeling Human perception of the problem (business) domain Abstract conceptual model of the domain Programmer’s view of data structures and operations... mapping The tendency in software modeling tools is simplifying the mappings between these three perspectives.

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 25 February 20, 2004 Notations in Analysis and Design Kinds of notations  A natural language  Graphical notations  Specifications - formalized statements Graphical notations have special meaning. Software engineering follows other technological domains, such as electronics and mechanics. Advantage of graphical notations are confirmed by psychological tests. Functions of notations  Tools for analysis and design, recording ideas and results  Interaction with users of designed systems  Communication with other members of a design team  Basis for implementation of software  Documentation of projects and software