SE203b: OO Design for Software Engineers. Office: TEB349, Ext
|
|
- Shannon Ramsey
- 6 years ago
- Views:
Transcription
1 SE203b: OO Design for Software Engineers W0 : Course Overview Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa Teaching Team Instructor TAs o Hamada Ghenniwa Office: TEB349, Ext hghenniwa@eng.uwo.ca o Abdul Masaud amasaud@engga.uwo.ca o Raafat Aburukba roaburuk@engga.uwo.ca Course URL Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 2
2 Class, Lab & Tut Lecture & Lab (TEB 244) o Wed. 2:30 5:30 pm. Lab#2 (TEB 244) o Mon. 9:30-11:30 Tutorial (TEB 244) o Thu. 11:30 12:30 Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 3 The Scope Design NOT Programming Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 4
3 Programming: Implementation class Staff_Member { // superclass of the employee hierarchy // Instance variables: basic info for any staff member protected String name; protected String address; protected String phone_number; // Constructor public Staff_Member (String emp_name, String emp_address, String emp_phone) { name = emp_name; address = emp_address; phone_number = emp_phone; public double pay() { // default pay method: will be overridden return 0.0; public void print() { // display basic info for any staff member System.out.println ("Name: " + name); System.out.println ("Address: " + address); System.out.println ("Phone: " + phone_number); // class Staff_Member Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 5 Programming: Implementation (Cont.) // Class Employee represents a paid staff member. class Employee extends Staff_Member { // Specific Employee data protected String social_security_number; protected double pay_rate; // Constructor public Employee (String emp_name, String emp_address, String emp_phone, String emp_ssnumber, double emp_rate) { super (emp_name, emp_address, emp_phone); social_security_number = emp_ssnumber; pay_rate = emp_rate; public double pay () { // overrides pay method from superclass return pay_rate; public void print () { // prints Employee data super.print(); // uses superclass print method System.out.println ("SS number: " + social_security_number); System.out.println ("Pay rate: " + pay_rate); // class Employee Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 6
4 Programming: Implementation (Cont.) // Class Volunteer represents an unpaid staff member. class Volunteer extends Staff_Member { // No additional instance variables // Constructor // invokes the superclass constructor to init basic info public Volunteer (String emp_name, String emp_address, String emp_phone) { super (emp_name, emp_address, emp_phone); // Overrides pay() method from the superclass public double pay() { return 0.0; // Explicitly returns 0 for a Volunteer // print method inherited from superclass // class Volunteer Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 7 A Challenge Change your application to handle different payments for Engineers, Executives and Hourly employees. Also we need to handle other aspects of the Firm where staff is one element. Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 8
5 Class Diagram: Design main() Firm Staff staff_list: Staff_Member [ ] payday() 1 * Staff_Member name: String address: String; phone_number: String pay() print() Employee social_security_number: String pay_rate: double pay() Volunteer pay() print() Engineers Executive bonus: double award_bonus() pay() print() Hourly hours_worked: int add_hours() pay() print() Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 9 What is the application? Software Requirements: A POS System A computerized NextGen point-of-sale (POS) system is to: record sales, and handle payments. It includes H/S components such as: Computer Bar code scanner Software It interfaces to various service applications, such as: Third party tax calculators Inventory control It must support multiple and varied client-side terminals and interfaces, such as: A thin Web browser terminal A regular PC with Java Swing graphical UI Touch screen input Wireless PDA s Furthermore, it should support different clients with different business rules. Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 10
6 Software Design Class Diagram Store address name addsale() Uses ProductCatalog getspecification() Contains ProductSpecification description price itemid Houses Looks-in Descri bes Register SalesLineItem endsale() enteritem() makenewsale() makepayement() Cpatures quantity getsubtotal() Contains Sale Logs-completed date iscomplete time becomecomplete() makelineitem() makepayement() Paid-by Payment amount Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 11 Implementation public class ProductCatalog { private Map productspecifications = new Hashtable(1000); public ProductCatalog() { //populating with sample data Integer id1 = new Integer(100); Integer id2 = new Integer(200); Money price = new Money( 3, "CAD"); ProductSpecification ps; ps = new ProductSpecification( id1, new Money(3,"CAD"), "product 1" ); productspecifications. put( id1, ps ); ps = new ProductSpecification( id2, new Money(5,"CAD"), "product 2" ); productspecifications.put( id2, ps ); public ProductSpecification getspecification( Integer id ) { return (ProductSpecification)productSpecifications.get( id ); public class ProductSpecification { private Integer id; private Money price; private String description; public ProductSpecification ( Integer id, Money price, String description ) { this.id = id; this.price = price; this.description = description; public Integer getitemid() { return id; public Money getprice() { return price; public String getdescription() { return description; Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 12
7 Object-Oriented Technologies Object Oriented Programming 1967: Simula by O.J. Dahl Class and Instance 1972: Parnas Module by D.Parnas Information hiding 1972: Smalltalk72 by Xerox PARC 1977: CLU by B. Liskov Abstract data type Object Oriented Analysis and Design 1986: OOD by G. Booch 1988: Shlare/Mellor, 1991: Coad/Yordon, 1991: OMT by J.Rumbaugh 1995: OOSE by Ivar Jacobson Now: UML by Booch, Rumbaugh and Jacobson 1981: Smalltalk80 by Xerox Class library 1986: Objective-C by Cox, C++ by Strusrup 1988: Eiffel by B. Meyer 1989: CLOS by Moon Now: Java Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 13 Learning Objectives Understand the role of design in Software Lifecycle Understand the main issues of software design Understand the important concepts of OO design Understand the importance and the role of software design metrics Learn basic design issues of specific application environments e.g., real-time and distributed systems Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 14
8 At the Concrete Level!! Design software systems using OO design language UML (Unified Modeling Language) Implement the design using OO programming language Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 15 The Road Map 1. Introduction to Software Design 2. Introduction to OO Paradigm 3. Software Design with OO Paradigm 4. Patterns in Design and Architecture 5. Selected Design Topics Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 16
9 Textbook Course notes and supplementary material UML Distilled: A Brief Guide to the Standard Object Modeling language; Martin Fowler, Addison-Wesley, 2004, ISBN Practical Object Oriented Design with UML; Mark Priestley, McGraw Hill, 2000, ISBN Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 17 References Software Engineering: A Practitioner's Approach, 6th Ed, Roger Pressman, McGraw-Hill, The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, and Ivar Jacobson, Addison-Wesley, Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 18
10 Evaluation Assignments 12% Labs 20% Pop Quizzes 5% Attendance 5% Project (2-P Team) 30% Final 30% Bonus & Participation +5% Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa 19
Mapping Designs to Code
Mapping Designs to Code Creating Class Definitions from DCDs public class SalesLineItem private int quantity; private ProductDescription description ; public SalesLineItem(ProductDescription desc, int
More informationOO Design2. Design Artifacts
OO Design2 POS example - revisited LAR Ch 8 has entire POS design explained READ THIS CHAPTER and ASK Q s in class Design class diagrams Kinds of visibility of objects to one another Navigability of associations
More informationFrom designing to coding
From designing to coding l st step: sensibly split work among team members Choose splits along thin interfaces l Probably not equal parts; split biggest parts again later Formalize the interfaces think
More informationSchedule(3/3) March 18th 13:00 Unified Process and Usecase-Driven Approach. (problem definition, use case model)
Schedule(3/3) March 18th 13:00 Unified Process and Usecase-Driven Approach 14:30 Case Study of Elevator Control System (problem definition, use case model) March 19th 13:00 Case Study of Elevator Control
More informationCOMP 6471 Software Design Methodologies
COMP 6471 Software Design Methodologies Fall 2011 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp6471-fall2011.html Page 2 Sample UP Artifact Relationships Domain Model Context Business Modeling
More informationWhat is a Model? Copyright hebley & Associates
Modeling Overview... as we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there
More informationFile: D:\My Documents\Classes\Computer Science\Class Notes\Fall New\Polymorphism\Employee.java 7/20/1999, 10:53:52 AM
File: D:\My Documents\Classes\Computer Science\Class Notes\Fall New\Polymorphism\Employee.java 7/20/1999, 10:53:52 AM Employee.java Author: Lewis and Loftus Represents a general paid employee. class Employee
More informationCreating Class Definitions from Design Class Diagrams: public class SalesLineItem // Java { private int quantity;
24.3.204 Coding (Implementation) The design model (design class diagram and interaction diagrams) provides some of the information that is necessary to generate the code. (Not all of the code) Creating
More informationDesigning for Visibility & Mapping to Code CSSE 574: Session 4, Part 3
Designing for Visibility & Mapping to Code CSSE 574: Session 4, Part 3 Steve Chenoweth Phone: Office (812) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu Agenda Designing for Visibility Mapping
More informationThe software crisis. code reuse: The practice of writing program code once and using it in many contexts.
Inheritance The software crisis software engineering: The practice of conceptualizing, designing, developing, documenting, and testing largescale computer programs. Large-scale projects face many issues:
More informationSoftware Modeling & Analysis
Software Modeling & Analysis OOPT (Object Oriented Process with Trace) Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr What is OOPT? OOPT (Object Oriented Process with Trace) A software process based on RUP Revision
More informationPolymorphism. Polymorphism is an object-oriented concept that allows us to create versatile software designs
Polymorphism Polymorphism is an object-oriented concept that allows us to create versatile software designs Binding Consider the following method invocation: obj.doit(); At some point, this invocation
More informationThe software crisis. code reuse: The practice of writing program code once and using it in many contexts.
Inheritance The software crisis software engineering: The practice of conceptualizing, designing, developing, documenting, and testing largescale computer programs. Large-scale projects face many issues:
More informationBig software. code reuse: The practice of writing program code once and using it in many contexts.
Inheritance Big software software engineering: The practice of conceptualizing, designing, developing, documenting, and testing largescale computer programs. Large-scale projects face many issues: getting
More informationCOMPUTER SCIENCE DEPARTMENT PICNIC. Operations. Push the power button and hold. Once the light begins blinking, enter the room code
COMPUTER SCIENCE DEPARTMENT PICNIC Welcome to the 2016-2017 Academic year! Meet your faculty, department staff, and fellow students in a social setting. Food and drink will be provided. When: Saturday,
More informationConstantinos Constantinides Computer Science and Software Engineering Concordia University Montreal, Canada
1 Disclaimer: These slides are based on the 2 nd edition of Applying UML and Patterns; An introduction to OOAD and the Unified process by Craig Larman (2002). I take responsibility for any errors. Constantinos
More informationUML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools
UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide
More informationReferences: Applying UML and patterns Craig Larman
References: Applying UML and patterns Craig Larman 1 2 What are patterns? Principles and solutions codified in a structured format describing a problem and a solution A named problem/solution pair that
More informationAssigning Responsibilities (Patterns of Responsibility Assignment Principles: GRASP)
Subsystem design basics Assigning Responsibilities (Patterns of Responsibility Assignment Principles: GRASP) Dept. of Computer Science Baylor University Focus on modeling how subsystems accomplish goals
More informationCTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D
CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D Today s Objectives To explain the basic concepts of OO(A)D To describe some best practices regarding to OO(A)D What is NOT UML? The UML
More informationResponsibilities. Using several specific design principles to guide OO design decisions.
Designing Objects with Responsibilities Using several specific design principles to guide OO design decisions. Challenge Old-school advice on OOD After identifying i your requirements and creating a domain
More informationCOMP 6471 Software Design Methodologies
COMP 647 Software Design Methodologies Fall 20 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp647-fall20.html Course Introduction Course People Course Components What the course is What the
More informationProgramming in C# Inheritance and Polymorphism
Programming in C# Inheritance and Polymorphism C# Classes Classes are used to accomplish: Modularity: Scope for global (static) methods Blueprints for generating objects or instances: Per instance data
More informationObject-Oriented Analysis and Design
0. Object Orientation: An Subject/Topic/Focus: over this lecture Summary: Lecturer, lecture, rooms, assistants, lab classes, credit points... Need for systems analysis and software engineers Literature
More informationIntroduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of
Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt What
More informationLESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS
LP Rev. : 00 Page 1 of 6 UNIT: I FUNDAMENTALS SEMESTER : 5 FUNDAMENTALS 8 An overview of object oriented systems development Object basics Object oriented systems development life cycle. OBJECTIVE: To
More informationCOMP 354: INTRODUCTION TO SOFTWARE ENGINEERING
COMP 354: INTRODUCTION TO SOFTWARE ENGINEERING Introduction to UML d_sinnig@cs.concordia.ca Department for Computer Science and Software Engineering 28-May-14 Unified Modeling Language Structural Diagrams
More informationSoftware Engineering
Software Engineering Object-Oriented Analysis and Design and Modeling with UML Assoc. Prof. Marenglen Biba MSc in Computer Science, UoG-UNYT Foundation Programme 3-1 Material Get the material from http://www.marenglenbiba.net/foundprog/
More informationADVANCED SOFTWARE DESIGN LECTURE 7 GRASP
ADVANCED SOFTWARE DESIGN LECTURE 7 GRASP Dave Clarke 1 TODAY S LECTURE We will discuss 7 of the GRASP design patterns cohesion and coupling were covered earlier. These provide principles for evaluating
More informationDomain Modeling- 2. Generalization
Generalization Domain Modeling- 2 Conceptual superclasses and subclasses When to create a subclass? A superclass? Abstract classes Modeling state changes Operation contracts Attaching pre- /post-conditions
More informationIntroduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of
Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt Dr.
More informationUnified Modeling Language
jonas.kvarnstrom@liu.se 2015 Unified Modeling Language A Brief Introduction History In the early 1990s, three common OO modeling approaches James Rumbaugh's Object-modeling technique (OMT) 2 Grady Booch's
More informationUML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011
UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011 1 Goals of the Lecture Review the material in Chapter 2 of the Textbook Cover key parts of the UML notation
More informationEngineering Design w/embedded Systems
1 / 40 Engineering Design w/embedded Systems Lecture 33 UML Patrick Lam University of Waterloo April 4, 2013 2 / 40 What is UML? Unified Modelling Language (UML): specify and document architecture of large
More information1. Software Systems Complexity, OO Paradigm, UML
1. Software Systems Complexity, OO Paradigm, UML Software Systems Complexity Inherent Arbitrary Complexity Problem Domain Complexity Expressing the Requirements Changing Requirements System Evolution -
More informationPRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 00. WELCOME TO OBJECTVILLE. Speaking the Language of OO
PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 00. WELCOME TO OBJECTVILLE Speaking the Language of OO COURSE INFO Instructor : Alper Bilge TA : Gökhan Çıplak-Ahmet Alkılınç Time : Tuesdays 2-5pm Location
More informationUML Primer. -Elango Sundaram
UML Primer -Elango Sundaram About UML UML Can be thought of as a blue print for Software Graphical notation for expressing underlying OOA&D ideas Can be used to design any type of application, hardware,
More informationUML & OO Fundamentals. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012
UML & OO Fundamentals CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012 1 Goals of the Lecture Review the material in Chapter 2 of the Textbook Cover key parts of the UML notation
More informationIntroduction - SENG 330. Object-Oriented Analysis and Design
Introduction - SENG 330 Object-Oriented Analysis and Design SENG 330 Fall 2006 Instructor: Alex Thomo Email: thomo@cs.uvic.ca Office hours: Office Hours: TWF 12:30-1:30 p.m. Location: ECS 556 Objective:
More informationCS 112 Introduction to Programming
CS 112 Introduction to Programming Inheritance Hierarchy; Polymorphism Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu Admin q Class
More informationObject-Oriented Software Development Goal and Scope
Object-Oriented Software Development Goal and Scope Koichiro Ochimizu Japan Advanced Institute of Science and Technologies School of Information Science Scope and Goal Goal enable you to understand basic
More informationAdmin. q Admin and recap q Class inheritance
Admin CS 112 Introduction to Programming q Class project Please work on forming teams Inheritance Hierarchy; Polymorphism Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone:
More informationSome Software Engineering Techniques (Class Diagrams and Pair Programming)
Some Software Engineering Techniques (Class Diagrams and Pair Programming) } Programs typically begin as abstract ideas } These ideas form a set of abstract requirements } We must take these abstract requirements,
More informationCS111: PROGRAMMING LANGUAGE II
1 CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 8(a): Abstract Classes Lecture Contents 2 Abstract base classes Concrete classes Dr. Amal Khalifa, 2014 Abstract Classes and Methods
More informationLecture #2 on Object-Oriented Modeling
Outline Lecture #2 on Object-Oriented Modeling Thierry Géraud EPITA Research and Development Laboratory (LRDE) 2006 Thierry Géraud Lecture #2 on Object-Oriented Modeling EPITA-LRDE 2006 1 / 38 Outline
More informationDownload FirstOODesignPractice from SVN. A Software Engineering Technique: (Class Diagrams)
Download FirstOODesignPractice from SVN A Software Engineering Technique: (Class Diagrams) public class TicTacToe { private final int rows; private final int columns; private String[][] board; /** * Constructs
More informationUnified Modelling Language User Guide READ ONLINE
Unified Modelling Language User Guide READ ONLINE If you are looking for the ebook Unified modelling language user guide in pdf format, then you have come on to the right website. We present the utter
More informationIntroduction to Software Engineering. 5. Modeling Objects and Classes
Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities
More informationBCS Higher Education Qualifications. Diploma in IT. Object Oriented Programming Syllabus
BCS Higher Education Qualifications Diploma in IT Object Oriented Programming Syllabus Version 3.0 December 2016 This is a United Kingdom government regulated qualification which is administered and approved
More informationJava Programming Lecture 7
Java Programming Lecture 7 Alice E. Fischer Feb 16, 2015 Java Programming - L7... 1/16 Class Derivation Interfaces Examples Java Programming - L7... 2/16 Purpose of Derivation Class derivation is used
More informationInformation Expert (or Expert)
Page 2 Page 3 Pattern or Principle? Information Expert (or Expert) Class Responsibility Sale Knows Sale total SalesLineItem Knows line item total ProductDescription Knows product price The GRASP patterns
More informationLecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1
ECE155: Engineering Design with Embedded Systems Winter 2013 Lecture 33 April 4, 2013 Patrick Lam version 1 Unied Modelling Language The Unied Modelling Language (UML) is a language for specifying and
More informationCS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I
CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I Introduction to OOAD What is OOAD? What is UML? What are the United process(up) phases - Case study the NextGen POS system, Inception -Use case Modeling
More informationMSc programme (induction week) Department of Informatics INTRODUCTION TO UML
MSc programme (induction week) Department of Informatics INTRODUCTION TO UML Some of this material is based on Bernd Bruegge and Allen H. Dutoit (2009) Object-Oriented Software Engineering: Using UML,
More informationAdmin. CS 112 Introduction to Programming. Admin. Admin. Recap. Recap: Polymorphism and Arrays. the Google doc to record the teaming
Admin CS 112 Introduction to Programming Critters/Event-Driven Programming Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu q Class project
More informationCS 112 Introduction to Programming
CS 112 Introduction to Programming Critters/Event-Driven Programming Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu Admin q Class project
More informationSoftware Service Engineering
Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language
More informationCISC 322 Software Architecture
CISC 322 Software Architecture UML - The Unified Modelling Language Nicolas Bettenburg 1 DEFINITION The Unified Modelling Language (UML) is a graphical language for visualizing, specifying, constructing,
More informationCS111: PROGRAMMING LANGUAGE II
1 CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 8(b): Abstract classes & Polymorphism Lecture Contents 2 Abstract base classes Concrete classes Polymorphic processing Dr. Amal Khalifa,
More informationLABORATORY 1 REVISION
UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the
More informationReview of Object-Oriented Concepts in JAVA
Review of Object-Oriented Concepts in JAVA Object-Oriented Concepts supported by JAVA. Advantages of Object-Orientation. Inheritance. Abstract Classes. Interfaces. Review Questions. Object-Oriented Concepts
More informationThe Unified Modeling Language (UML)
The Unified Modeling Language (UML) A Very Distilled Introduction to The Unified Modeling Language (UML). A quick introduction to UML is given. Thereafter, the surface of class and activity diagrams and
More informationSoftware Engineering with Objects and Components 1 Overview
Software Engineering with Objects and Components 1 Overview Stuart Anderson Room 1610 Tel: 0131 650 5191 Email: soa@inf.ed.ac.uk Note 1 0-0 Administration Course Web Page please read it it is the main
More informationECE 122. Engineering Problem Solving with Java
ECE 122 Engineering Problem Solving with Java Lecture 17 Inheritance Overview Problem: Can we create bigger classes from smaller ones without having to repeat information? Subclasses: a class inherits
More informationBuilding custom components IAT351
Building custom components IAT351 Week 1 Lecture 1 9.05.2012 Lyn Bartram lyn@sfu.ca Today Review assignment issues New submission method Object oriented design How to extend Java and how to scope Final
More informationINTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling
User Centred Design 09 INTERACTION ARCHITECTURAL MODELING Lecture 9 Interaction Architectureal Modeling PREVIOUS LESSON(S) Synthetizing User Research Personas Actors / User Roles Scenarios Essential Use
More informationL02.1 Introduction... 2
Department of Computer Science COS121 Lecture Notes: L02 Introduction to UML and DP 25 July 2014 Copyright c 2012 by Linda Marshall and Vreda Pieterse. All rights reserved. Contents L02.1 Introduction.................................
More informationUML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.
UML Modeling UML diagrams UML (Unified Modeling Language) is a general purpose visual modeling language that provides different types of diagrammatic techniques and notations to specify, visualize, analyze,
More informationInheritance. Transitivity
Inheritance Classes can be organized in a hierarchical structure based on the concept of inheritance Inheritance The property that instances of a sub-class can access both data and behavior associated
More informationCMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Unified Modeling Language (UML) Department of Computer Science University of Maryland, College Park UML (Unified Modeling Language) UML is a modeling language for
More informationDetails of Class Definition
Schedule(2/2) Feb. 25th 13:00 Outline of UML: Static Modeling (details of class definition) 14:30 Outline of UML: Dynamic Modeling (state machine, communication diagram, sequence diagram) March. 4th 13:00
More informationS <: T Type compa*bility rela*on.
What is a programming language? Polymorphism n. the condi*on of occurring in several different forms Syntax: How is a program expressed? What are the syntac*c building blocks of a program? What combina*ons
More informationChapter 2a Class Relationships
Data Structures for Java William H. Ford William R. Topp Chapter 2a Class Relationships Bret Ford 2005, Prentice Hall Wrapper Classes Convert a value of primitive type to an object. Supply methods to access
More informationSequence Diagram. A UML diagram used to show how objects interact. Example:
Sequence Diagram A UML diagram used to show how objects interact. Example: r: Register s: Sale makepayment() makepayment() new() : Payment The above starts with a Register object, r, receiving a makepayment
More informationUML (Unified Modeling Language)
UML (Unified Modeling Language) UML Outline Software Institute of Nanjing University 2009 Instructor 刘嘉 (Liu Jia) Email : liujia@software.nju.edu.cn ext : 509 Office : 705 2 References [1] The Unified
More informationTopic 13 Object-oriented Analysis
Topic 3 Object-oriented Analysis a) f) DAAD Project Joint Course on Software Engineering Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade,
More informationCourse 3 7 March
Course 3 7 March adiftene@info.uaic.ro 1 From Courses 1, 2 Modeling Modeling Languages Graphic Languages UML History UML Definition UML Diagram Types UML Use Case Diagram Actors Use Case UML Class Diagrams
More information1 Introduction. 1.1 Introduction
1 Introduction 1.1 Introduction This book introduces and guides you through the use of the Unified Modeling Language (UML) and the Unified Process (both originally devised by Grady Booch, James Rumbaugh
More informationLecture Contents CS313D: ADVANCED PROGRAMMING LANGUAGE. What is Inheritance?
CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 5: Inheritance & Polymorphism Lecture Contents 2 What is Inheritance? Super-class & sub class Protected members Creating subclasses
More information3.0 Object-Oriented Modeling Using UML
3.0 Object-Oriented Modeling Using UML Subject/Topic/Focus: Introduction to UML Summary: History of OOAD leading to UML UML Diagrams: Overview UML Models in the Objectory Software Development Process Literature:
More informationSystems Analysis & Design
Systems Analysis & Design Dr. Ahmed Lawgali Ahmed.lawgali@uob.edu.ly Slide 1 Systems Analysis & Design Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition
More informationB. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics
Zarqa University Faculty: Information Technology Department: Computer Science Course title: Programming LAB 1 (1501111) Instructor: Lecture s time: Semester: Office Hours: Course description: This introductory
More informationRelationships Between Real Things CSE 143. Common Relationship Patterns. Employee. Supervisor
CSE 143 Object & Class Relationships Inheritance Reading: Ch. 9, 14 Relationships Between Real Things Man walks dog Dog strains at leash Dog wears collar Man wears hat Girl feeds dog Girl watches dog Dog
More informationCS313D: ADVANCED PROGRAMMING LANGUAGE
CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 5: Inheritance & Polymorphism Lecture Contents 2 What is Inheritance? Super-class & sub class Protected members Creating subclasses
More informationObject Fundamentals Part Three. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 4 09/03/2009
Object Fundamentals Part Three Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 4 09/03/2009 1 Lecture Goals Continue our tour of the basic concepts, terminology, and notations
More informationPolymorphism. Final Exam. November 26, Method Overloading. Quick Review of Last Lecture. Overriding Methods.
Final Exam Polymorphism Time: Thursday Dec 13 @ 4:30-6:30 p.m. November 26, 2007 Location: Curtiss Hall, room 127 (classroom) ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:
More informationLast Time: Object Design. Comp435 Object-Oriented Design. Last Time: Responsibilities. Last Time: Creator. Last Time: The 9 GRASP Patterns
Last Time: Object Design Comp435 Object-Oriented Design Week 7 Computer Science PSU HBG The main idea RDD: Responsibility-Driven Design Identify responsibilities Assign them to classes and objects Responsibilities
More informationAssigning Responsibilities by Larman
Assigning Responsibilities by Larman Core design activity: The identification of objects and responsibilities and providing a solution in terms of an interaction diagram this is the creative part where
More informationTopic 31 - inheritance
Topic 31 - inheritance Hierarchies Hierarchies used to organize organizations and information Kingdom - Animalia More general Phylum - Chordata Class- Mammalia Order - Carnivora Family - Felidae Genus
More informationIntroduction to Software Engineering. 5. Modeling Objects and Classes
Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities
More informationRelationships Between Real Things. CSE 143 Java. Common Relationship Patterns. Composition: "has a" CSE143 Sp Student.
CSE 143 Java Object & Class Relationships Inheritance Reading: Ch. 9, 14 Relationships Between Real Things Man walks dog Dog strains at leash Dog wears collar Man wears hat Girl feeds dog Girl watches
More informationLecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802
UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1
More informationChapter 3: Object Oriented Design
Chapter 3: Object Oriented Design Object Oriented Design The boundaries between analysis and design are fuzzy, although the focus of each is quite distinct. In analysis, the focus is to fully analyze the
More informationHow and Why to Use the Unified Modeling Language. among software components, architectural-based
This article addresses the Unified Modeling Language and its purpose, constructs, and application to defense software development applications. The Unified Modeling Language (UML) is a notation that can
More informationChapter 7. Inheritance
Chapter 7 Inheritance Introduction to Inheritance Inheritance is one of the main techniques of objectoriented programming (OOP) Using this technique, a very general form of a class is first defined and
More informationRelationships Between Real Things CSC 143. Common Relationship Patterns. Composition: "has a" CSC Employee. Supervisor
CSC 143 Object & Class Relationships Inheritance Reading: Ch. 10, 11 Relationships Between Real Things Man walks dog Dog strains at leash Dog wears collar Man wears hat Girl feeds dog Girl watches dog
More informationADVANCED SOFTWARE DESIGN LECTURE 4 GRASP. Dave Clarke
ADVANCED SOFTWARE DESIGN LECTURE 4 GRASP Dave Clarke TODAY S LECTURE We will discuss and apply the GRASP design patterns. These provide principles for evaluating and improving designs. friends User Name??
More informationLecture 36: Cloning. Last time: Today: 1. Object 2. Polymorphism and abstract methods 3. Upcasting / downcasting
Lecture 36: Cloning Last time: 1. Object 2. Polymorphism and abstract methods 3. Upcasting / downcasting Today: 1. Project #7 assigned 2. equals reconsidered 3. Copying and cloning 4. Composition 11/27/2006
More informationInheritance and Subclasses
Software and Programming I Inheritance and Subclasses Roman Kontchakov / Carsten Fuhs Birkbeck, University of London Outline Packages Inheritance Polymorphism Sections 9.1 9.4 slides are available at www.dcs.bbk.ac.uk/
More informationJava. Classes 3/3/2014. Summary: Chapters 1 to 10. Java (2)
Summary: Chapters 1 to 10 Sharma Chakravarthy Information Technology Laboratory (IT Lab) Computer Science and Engineering Department The University of Texas at Arlington, Arlington, TX 76019 Email: sharma@cse.uta.edu
More information