Object Oriented Analysis & Design (OOAD)
|
|
- Andra Booker
- 6 years ago
- Views:
Transcription
1 Object Oriented Analysis & Design (OOAD) 1
2 OOAD It focuses on objects where system is broken down in terms of the objects that exist within it. Functions (behaviour) and data (state) relating to a single object are self-contained or encapsulated in one place. 2
3 Objects Object is an abstraction of something in a problem domain, reflecting the capabilities of the system to keep information about it, interact with it, or both. Objects are entities in a software system which represent instances of real-world and system entities 3
4 Objects Object Identity Behaviors State An employee Mr. John Join(), Joined, Retire() Retired. A book Book with title Object Oriented Analysis Design AddExemplar, Rent, available, reserved A sale Sale no 0015, 15/12/98 SendInvoiced(), Cancel(). Invoiced, cancelled. 4
5 Object Class Class is a description of a set of objects that share the same attributes, operations, methods, relationship and semantics. Object classes are templates for objects. They may be used to create objects. An object represents a particular instance of a class. 5
6 Term of objects Attribute: data items that define object. Operation: function in a class that combine to form behavior of class. Methods: the actual implementation of procedure (the body of code that is executed in response to a request from other objects in the system). 6
7 Employee object & class Class Employee name: string address: string dateofbirth: Date employeeno: integer socialsecurityno: string department: Dept manager: Employee salary: integer status: {current, left, retired} taxcode: integer... join () leave () retire () changedetails () Object Employee16 name: John address: M Street No.23 dateofbirth: 02/10/65 employeeno: 324 socialecurityno:e department: Sale manager: Employee1 salary: 2340 stauts:current taxcode: Eployee16.join(02/05/1997) Eployee16.retire(03/08/2005) Eployee16.changeDetail( X 7 Street No. 12 )
8 Encapsulation and Data Hiding Packaging related data and operations together is called encapsulation. Data hiding: hides the internal data from external by methods (interface). 8
9 Encapsulation private attributes and methods are encapsulated within the class, they cannot be seen by clients of the class public methods define the interface that the class provides to its clients Customer private attributes public methods - numcustomers = 0 - MIN_BUDGET = name: String - address: String - budget: int + printnumcustomer( ): void + placeorder( ): void Customer class 9
10 Object communication Objects communicate with each other by sending messages a message is a method call from a message-sending object to a message-receiving object a message consists of an object reference which indicates the message receiver a method name (corresponding to a method of the receiver), and parameters (corresponding to the arguments of the calling method) a message-receiving object is a server to a messagesending object, and the message-sending object is a client of the server 10
11 Message Passing message name = Alex address = 1 Robinson Rd budget = 2000 placeorder( ): void alex takeorder( sofa, name, address, ) 199 return value message name = Lawrence employeeno =15 commission = 200 takeorder( ): int lawrence lawrence.takeorder( sofa, 1 Robinson Rd, ) object reference method name parameters 11
12 Message Passing Customer - numcustomers = 0 - MIN_BUDGET = name: String - address: String - budget: int + printnumcustomer( ): void + placeorder( ): void SalesPerson - MAX_ PRICE = name: String - employeeno: String - commission: int + takeorder( ): void alex takeorder lawrence client server 12
13 Inheritance Object classes may inherit attributes and services from other object classes. Inheritance represents the generalization of a class. 13
14 A generalisation hierarchy Employee Manager budgetscontrolled dateappointed Programmer project proglanguage Project Manager projects Dept. Manager dept Strategic Manager responsibilities 14
15 Library Item Catalogue Number Acquisition date Cost Type Status Number of copies Acquire () Catalogue () Dispose () Issue () Return () Library class hierarchy Published item Title Publisher Recorded item Title Medium Book Author Edition Publication date ISBN Year Issue Magazine Film Director Date of release Distrib Computer program Version Platform 15
16 Library user Name Address Phone Registration # User class hierarchy Register () De-register () Reader Affiliation Borrower Items on loan Max. loans Staff Department Department phone Student Major subject Home address 16
17 Multiple inheritance Rather than inheriting the attributes and services from a single parent class, a system which supports multiple inheritance allows object classes to inherit from several super-classes Can lead to semantic conflicts where attributes/services with the same name in different super-classes have different semantics Makes class hierarchy reorganisation more complex 17
18 Multiple inheritance Book Author Edition Publication date ISBN Voice recording Speaker Duration Recording date Talking book # Tapes 18
19 Advantages of inheritance It is an abstraction mechanism which may be used to classify entities It is a reuse mechanism at both the design and the programming level The inheritance graph is a source of organisational knowledge about domains and systems 19
20 Problems with inheritance Object classes are not self-contained. they cannot be understood without reference to their superclasses Designers have a tendency to reuse the inheritance graph created during analysis. Can lead to significant inefficiency The inheritance graphs of analysis, design and implementation have different functions and should be separately maintained 20
21 Inheritance and OOD There are differing views as to whether inheritance is fundamental to OOD. View 1. Identifying the inheritance hierarchy or network is a fundamental part of object-oriented design. Obviously this can only be implemented using an OOPL. View 2. Inheritance is a useful implementation concept which allows reuse of attribute and operation definitions. Identifying an inheritance hierarchy at the design stage places unnecessary restrictions on the implementation Inheritance introduces complexity and this is undesirable, especially in critical systems 21
22 Objects Association Modeling an association between two classes means that there is some sort of relationship between objects of each class that may be connected. Student studies 0..* 1..* Course 22
23 Object aggregation Aggregation model shows how classes which are collections are composed of other classes Similar to the part-of relationship in semantic data models 23
24 Object aggregation Study pack Course title Number Year Instructor * Assignment Credits OHP slides Slides 1..* Text 1..* Lectur e notes Videotape Tape ids. 0..* * 1..* Exercises #Problems Description Solutions Text Diagrams 24
25 Object Cohesion & Coupling Cohesion of a component is a measure of how well it fits together. Each operation provides functionality which allows the attributes of the object to be modified, inspected or used as a basis for service provision. Coupling is an indication of the strength of interconnections between program units. Highly coupled systems have strong interconnections, with program units dependent on each other (shared variables, interchange control function). Loosely coupled system which are independent. 25
26 Polymorphism the ability of different objects to perform the appropriate method in response to the same message is known as polymorphism. the selection of the appropriate method depends on the class used to create the object Shape name getname( ) calculatearea( ) radius calculatearea( ) Circle Square side calculatearea( ) 26
27 class Shape { Example Polymorphism private String name; public Shape(String aname) { name=aname; } public String getname( ) { return name; } public float calculatearea( ) { return 0.0f; } } // End Shape class a generic action inheritance class Circle extends Shape { private float radius; public Circle(String aname) { super(aname); radius = 1.0f; } public Circle(String aname, float radius) { super(aname); this.radius = radius; } overloading public float calculatearea() { return (float)3.14f*radius*radius; } } // End Circle class overriding 27
28 class Square extends Shape { private float side; public Square(String aname) { super(aname); side = 1.0f; } public Square(String aname, float side) { super(aname); this.side = side; } public float calculatearea() { return (float) side*side; } } // End Square class 28
29 Polymorphism Example public class ShapeDemoClient { public static void main(string argv[ ]) { Shape c1 = new Circle("Circle C1"); Shape c2 = new Circle("Circle C2", 3.0f); Shape s1 = new Square("Square S1"); Shape s2 = new Square("Square S2", 3.0f); Shape shapearray[ ] = {c1, s1, c2, s2}; rule of subtype for (int i = 0; i < shapearray.length; i++) { System.out.println("The area of " + shapearray[i].getname( ) + " is " + shapearray[i].calculatearea( ) + " sq. cm."); } } // End main } // End ShapeDemoClient1 class dynamic binding 29
30 OO Analysis and Design OO Analysis - examines requirements from the perspective of the classes and objects found in the vocabulary of the problem domain. In other words, the world (of the system) is modelled in terms of objects and classes. OO Design - OO decomposition and a notation for depicting models of the system under development. Structures are developed whereby sets of objects collaborate to provide the behaviours that satisfy the requirements of the problem. 30
31 Object Oriented Analysis Analyze the domain problem Describe the process systems Identify the objects Specify attributes Defining operations Inter-object Communication 31
32 Identifying Object Objects can be: External Entity (e.g., other systems, devices, people) that produce or consume information to be used by system Things (e.g., reports, displays, letters, signals) that are part of information domain for the problem Places (e.g., book s room) that establish the context of the problem and the overall function of the system. Organizational units (e.g., division, group, team, department) that are relevant to an application, Transaction (e.g., loan, take course, buy, order). 32
33 Example of candidate objects Just a Line management wishes to increase security, both in their building and on site, without antagonizing their employees. They would also like to prevent people who are not part of the company from using the Just a Line car park. It has been decide to issue identity cards to all employees, which they are expected to wear while on the Just a Line site. The cards records the name, department and number of the member of staff, and permit access to the Just a Line car park. A barrier and a card reader are placed at the entrance to the car park. The driver of an approaching car insert his or her numbered card in the card reader, which then checks that the card number is known to the Just a Line system. If the card is recognized, the reader sends a signal to raise the barrier and the car is able to enter the car park. At the exit, there is also a barrier, which is raised when a car wishes to leave the car park. When there are no spaces in the car park a sign at the entrance display Full and is only switched off when a car leaves. Special visitor s cards, which record a number and the current date, also permit access to the car park. Visitor s cards may be sent out in advance, or collected from reception. All visitor s cards must be returned to reception when the visitor leaves Just a Line. 33
34 Candidate objects: Just a Line management security building site employee people company car park card name department number member of staff access barrier card reader entrance driver car system signal exit space sign visitor reception 34
35 Candidate objects rejection duplicates: if two or more objects are simply different names for the same thing. irrelevant: objects which exists in the problem domain, but which are not intended. vague: when considering words carefully it sometimes becomes clear that they do not have a price meaning and cannot be the basis of a useful in the system. general: the meaning is too broad. attributes: as the attribute of objects. associations: actually represents the relationships between objects. roles: sometimes objects referred to by the role they play in a particular part of the system. 35
36 Rejected Candidate objects Candidate objects Just a Line, member of staff management,company, building, site, visitor and reception security, people system name, department, access driver Rejection criteria duplicates with company, employee respectively irrelevant to the system vague too general attribute association role 36
37 Rest Objects Car park Staff Card Visitor s card Employee Entrance exit card reader barrier Full sign space sensor car 37
38 Define class attributes Car Park capacity spaces inc.spaces() dec.spaces() space left() Barrier type: up:boolean raise() lower() Full sign on:boolean switch on() switch off() Card Reader valid card nos. read card() card OK() 38
39 Data Dictionary Barrier: type + up type = [ Entrance Exit ] up = [ true false ] raise: if the barrier is not already raised, this operation takes as argument an object of the barrier class and returns an object of the same class, with the up attribute set to true. If the barrier is already up, the operation returns the error message barrier is already raised lower: if the barrier is not already lower, this operation takes as argument an object of the barrier class and returns an object of the same class, with the up attribute set to false. If the barrier is already down, the operation returns the error message barrier already lowered. 39
40 Objects Relationship Car Park Car Park 2..* Barrier 2..* Sensor 1..* Card Reader 1.. * 1 Valid cards Card 1.. * Visitor s Card Staff Card 40
41 Object behaviour modelling A behavioural model shows the interactions between objects to produce some particular system behaviour that is specified as a usecase Sequence diagrams (or collaboration diagrams) in the UML are used to model interaction between objects 41
42 Sequence Diagram for Entrance :User :CarPark :Sensor :CardReader :Valid card :Barrier :Full Sign Car present Check space left Full Sign off Yes Card number Card returned Card number Card OK Raise Car not present lower Decrement Space Check space left Yes 42
43 OO Analysis and Design Object-Oriented (OO) development is very different from structured development: Structured approach focuses on major functions within a system and on the data used by the functions. OO approach focuses on the objects in a system and on the relationships between those objects. 43
44 Unlike functional decomposition, OO views a complex problem as a meaningful collection of objects that collaborate to achieve some higher level behaviour => closely mirrors how people view complex problems => using OO should make the job of developing large, complex systems more manageable. 44
45 Object Oriented Model 45
46 Structured Model 46
47 Comparison OO: Systems decomposed into collections of data objects; function + data in one place => System components more independent => more resilient to requirements and maintenance changes. Inheritance and polymorphism are possible => reuse, extension, and tailoring of software/designs is possible. Closely mirrors how humans decompose and solve complex. Structured: Systems decomposed into functions; functions and data modelled separately => System components are more dependent on each other => requirements and maintenance changes more difficult Inheritance and polymorphism not possible => limited reuse possible. System components do not map closely to real-world entities => difficult to manage 47 complexity.
48 Comparison OO: Process allows for iterative and incremental development => Integration of programs is series of incremental prototypes. Users and developers get important feedback throughout development. Testing resources distributed more evenly. If time is short, coding and testing can begin before the design is finished. Structured: Process less flexible and largely linear => Integration of programs is big bang effect. Users or developers provided with little or no feedback; see system only when it has been completed. Testing resources are concentrated in the implementation stage only. Coding and testing cannot begin until all previous stages are complete. 48
OO System Models Static Views
OO System Models Static Views UML Class & Object Diagrams Software Engineering OO Models Class Diagram Slide 1 Objective Introduces the evolutionary approach for building classes Explain how to identify
More informationSystem models Abstract descriptions of systems whose requirements are being analysed. System modelling. Structured methods
System models Abstract descriptions of systems whose requirements are being analysed Ian Sommerville 995/2000 (Modified by Spiros Mancoridis 999) Software Engineering, 6th edition. Chapter 7 Slide System
More informationCh t 8 Chapter 8. System Models
Ch t 8 Chapter 8. System Models Objectives To explain why the context t of a system should be modelled d as a part of requirements engineering process To describe behavioural modelling, data modelling
More informationChapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin
Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain
More informationSoftware Engineering
Software Engineering Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) armahmood786@yahoo.com alphasecure@gmail.com alphapeeler.sf.net/pubkeys/pkey.htm http://alphapeeler.sourceforge.net pk.linkedin.com/in/armahmood
More informationObject Oriented Software Development CIS Today: Object Oriented Analysis
Object Oriented Software Development CIS 50-3 Marc Conrad D104 (Park Square Building) Marc.Conrad@luton.ac.uk Today: Object Oriented Analysis The most single important ability in object oriented analysis
More informationEstablishing the overall structure of a software system
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance To explain why multiple models are required to document
More informationObject-oriented Design
Object-oriented Design Objectives To explain how a software design may be represented as a set of interacting objects that manage their own state and operations To describe the activities in the objectoriented
More informationExam Duration: 2hrs and 30min Software Design
Exam Duration: 2hrs and 30min. 433-254 Software Design Section A Multiple Choice (This sample paper has less questions than the exam paper The exam paper will have 25 Multiple Choice questions.) 1. Which
More informationSoftware Design Fundamentals. CSCE Lecture 11-09/27/2016
Software Design Fundamentals CSCE 740 - Lecture 11-09/27/2016 Today s Goals Define design Introduce the design process Overview of design criteria What results in a good design? Gregory Gay CSCE 740 -
More informationDatabase Systems. A Practical Approach to Design, Implementation, and Management. Database Systems. Thomas Connolly Carolyn Begg
Database Systems A Practical Approach to Design, Implementation, and Management For these Global Editions, the editorial team at Pearson has collaborated with educators across the world to address a wide
More informationLesson 06. Requirement Engineering Processes
Lesson 06 Requirement Engineering Processes W.C.Uduwela Department of Mathematics and Computer Science Objectives To describe the principal requirements engineering activities and their relationships To
More informationCSD Univ. of Crete Fall Applying Inheritance to Solve problems
Applying Inheritance to Solve problems 1 Classification, Generalization and Specialization Classification the act of identifying and categorizing similar objects into classes is known as classification
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical
More informationWhat are the characteristics of Object Oriented programming language?
What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is
More informationIntroduction to Object-Oriented Programming
Polymorphism 1 / 19 Introduction to Object-Oriented Programming Today we ll learn how to combine all the elements of object-oriented programming in the design of a program that handles a company payroll.
More informationMechEng SE3 Lecture 7 Domain Modelling
MechEng SE3 Lecture 7 Domain Modelling Simon Gay (slides by Phil Gray) 17 February 2010 1 This week s supplementary reading Zero Balances and Zero Responsibility Michael Bolton http://www.developsense.com/essays/zero.html
More informationDesign Engineering. Dr. Marouane Kessentini Department of Computer Science
Design Engineering Dr. Marouane Kessentini Department of Computer Science 1 Design Starts mostly from/with requirements (evolving mostly from functionalities and other non functional characteristics) How
More informationCSCU9T4: Managing Information
CSCU9T4: Managing Information CSCU9T4 Spring 2016 1 The Module Module co-ordinator: Dr Gabriela Ochoa Lectures by: Prof Leslie Smith (l.s.smith@cs.stir.ac.uk) and Dr Nadarajen Veerapen (nve@cs.stir.ac.uk)
More informationComputer Science for Engineers
Computer Science for Engineers Lecture 5 Object Orientation part 3 Prof. Dr. Dr.-Ing. Jivka Ovtcharova Dipl. Wi.-Ing. Dan Gutu 27 th of November 2009 Aggregation and Composition (1) A special case of an
More informationBCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT OBJECT ORIENTED PROGRAMMING
BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT OBJECT ORIENTED PROGRAMMING Wednesady 23 rd March 2016 Afternoon Answer any FOUR questions out of SIX. All
More informationDarshan Institute of Engineering & Technology for Diploma Studies
REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all
More informationCREATED BY: Muhammad Bilal Arslan Ahmad Shaad. JAVA Chapter No 5. Instructor: Muhammad Naveed
CREATED BY: Muhammad Bilal Arslan Ahmad Shaad JAVA Chapter No 5 Instructor: Muhammad Naveed Muhammad Bilal Arslan Ahmad Shaad Chapter No 5 Object Oriented Programming Q: Explain subclass and inheritance?
More informationSoftware Architectures. Lecture 6 (part 1)
Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements
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 informationObject-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language
More informationModelling with Classes. CITS1220 Software Engineering
Modelling with Classes CITS1220 Software Engineering Lecture Overview Classes and UML Associations between classes Special types of association: is-a, has-a, is-part-of Modelling Example Implementing associations
More informationCHAPTER 9 DESIGN ENGINEERING. Overview
CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative
More informationObject Model. Object Orientated Analysis and Design. Benjamin Kenwright
Object Model Object Orientated Analysis and Design Benjamin Kenwright Outline Submissions/Quizzes Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean
More informationObject Oriented Programming
Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering
More informationObjects First with Java A Practical Introduction using BlueJ
Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling Extensions by H.-J. Bungartz and T. Neckel 2.1 Course Contents Introduction to object-oriented programming with
More informationAbstract Classes. Abstract Classes a and Interfaces. Class Shape Hierarchy. Problem AND Requirements. Abstract Classes.
a and Interfaces Class Shape Hierarchy Consider the following class hierarchy Shape Circle Square Problem AND Requirements Suppose that in order to exploit polymorphism, we specify that 2-D objects must
More informationCOMP Instructor: Dimitris Papadias WWW page:
COMP 5311 Instructor: Dimitris Papadias WWW page: http://www.cse.ust.hk/~dimitris/5311/5311.html Textbook Database System Concepts, A. Silberschatz, H. Korth, and S. Sudarshan. Reference Database Management
More informationPrepared By:Mitali sonar
Prepared By:Mitali sonar OOAD It focuses on objects where system is broken down in terms of the objects that exist within it. Functions (behaviour) and data (state) relating to a single object are selfcontained
More informationSEEM4570 System Design and Implementation. Lecture 11 From Design to Implementation
SEEM4570 System Design and Implementation Lecture 11 From Design to Implementation Introduction We learned programming and we learned UML, but separately. Now, the question is how can we translate a design
More informationObjects First with Java A Practical Introduction using BlueJ
Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling Extensions by H.-J. Bungartz, T. Neckel and M. Roderus 2.1 Course Contents Introduction to object-oriented programming
More informationBCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. Object Oriented Programming
BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT Object Oriented Programming Examiner s Report March 2017 A1. a) Explain what is meant by the following terms:
More informationElementary Concepts of Object Class
Elementary Concepts of Object Class Modeling entities and their behaviour by objects. A class as a specification of objects and as an object factory, computation as message passing/function call between
More informationOBJECT ORİENTATİON ENCAPSULATİON
OBJECT ORİENTATİON Software development can be seen as a modeling activity. The first step in the software development is the modeling of the problem we are trying to solve and building the conceptual
More information1. Write two major differences between Object-oriented programming and procedural programming?
1. Write two major differences between Object-oriented programming and procedural programming? A procedural program is written as a list of instructions, telling the computer, step-by-step, what to do:
More informationEXAM Microsoft MTA Software Development Fundamentals. Buy Full Product.
Microsoft EXAM - 98-361 Microsoft MTA Software Development Fundamentals Buy Full Product http://www.examskey.com/98-361.html Examskey Microsoft 98-361 exam demo product is here for you to test the quality
More informationIdioms and Design Patterns. Martin Skogevall IDE, Mälardalen University
Idioms and Design Patterns Martin Skogevall IDE, Mälardalen University 2005-04-07 Acronyms Object Oriented Analysis and Design (OOAD) Object Oriented Programming (OOD Software Design Patterns (SDP) Gang
More informationCredit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects
Lecture 4: Fundamentals of Object Technology Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture
More informationCOURSE 2 DESIGN PATTERNS
COURSE 2 DESIGN PATTERNS CONTENT Fundamental principles of OOP Encapsulation Inheritance Abstractisation Polymorphism [Exception Handling] Fundamental Patterns Inheritance Delegation Interface Abstract
More informationArchitectural Blueprint
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint
More informationObject Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming
Overview of OOP Object Oriented Programming is a programming method that combines: a) Data b) Instructions for processing that data into a self-sufficient object that can be used within a program or in
More informationChapter 8: Class and Method Design
Chapter 8: Class and Method Design Objectives Become familiar with coupling, cohesion, and connascence. Be able to specify, restructure, and optimize object designs. Be able to identify the reuse of predefined
More informationIan Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 1
System models Slide 1 Objectives To explain why the context of a system should be modelled as part of the RE process To describe behavioural modelling, data modelling and object modelling To introduce
More informationWelcome to Design Patterns! For syllabus, course specifics, assignments, etc., please see Canvas
Welcome to Design Patterns! For syllabus, course specifics, assignments, etc., please see Canvas What is this class about? While this class is called Design Patterns, there are many other items of critical
More informationInheritance and Polymorphism
Object Oriented Programming Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. Al-Azhar University Website: eaymanelshenawy.wordpress.com Email : eaymanelshenawy@azhar.edu.eg
More informationProgrammazione. Prof. Marco Bertini
Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Introduction Why OO Development? Improved structure of software easier to: Understand Maintain Enhance Reusable
More informationInheritance and Interfaces
Inheritance and Interfaces Object Orientated Programming in Java Benjamin Kenwright Outline Review What is Inheritance? Why we need Inheritance? Syntax, Formatting,.. What is an Interface? Today s Practical
More informationInformation System Design (IT60105)
Information System Design (IT60105) Lecture 26 Object-Oriented System Testing Lecture #23 Procedural vs OO paradigms Why not Traditional Testing? Issues Methodology 2 Procedural Vs OO p Procedural Vs OO
More informationIntroduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M
Introduction to UML Part I 1 What is UML? Unified Modeling Language, a standard language for designing and documenting a system in an object- oriented manner. It s a language by which technical architects
More informationTHE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9)
THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9) By: Mr.Prachet Bhuyan Assistant Professor, School of Computer Engineering, KIIT Topics to be Discussed 9.1 INTRODUCTION 9.2 THE O-O DESIGN PROCESS
More informationPart 7 - Object Oriented Concepts Classes, Objects, Properties and Methods
Part 7 - Object Oriented Concepts Classes, Objects, Properties and Methods Object Orientated Paradigm... 2 Abstract Data Types (ADT) & Encapsulation... 3 Encapsulation... 5 Classes and Objects... 6 Methods
More informationSoftware Engineering II - Specimen Exam Answers Page 1 of 10
Software Engineering II - Specimen Exam Answers Page 1 of 10 A1(a) Encapsulation adopts the principle of "information hiding" so that the objects state can only be accessed through the objects operations.
More informationJava Object Oriented Design. CSC207 Fall 2014
Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code
More informationPrinciples of Software Construction: Objects, Design, and Concurrency
Principles of Software Construction: Objects, Design, and Concurrency Designing (sub-) systems Responsibility assignment Charlie Garrod Michael Hilton School of Computer Science 1 Administrivia Reading
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 informationExamples. Object Orientated Analysis and Design. Benjamin Kenwright
Examples Object Orientated Analysis and Design Benjamin Kenwright Outline Revision Questions Group Project Review Deliverables Example System Problem Case Studey Group Project Case-Study Example Vision
More informationObject-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered
Object-oriented development Object-oriented Design Object-oriented analysis, design and programming are related but distinct. OOA is concerned with developing an object model of the application domain.
More informationCE221 Programming in C++ Part 1 Introduction
CE221 Programming in C++ Part 1 Introduction 06/10/2017 CE221 Part 1 1 Module Schedule There are two lectures (Monday 13.00-13.50 and Tuesday 11.00-11.50) each week in the autumn term, and a 2-hour lab
More informationIntroduction to Object Oriented Analysis and Design
A class note on Introduction to Object Oriented Analysis and Design Definition In general, analysis emphasizes an investigation of the problem and requirements of the domain, rather than a solution. Whereas,
More informationIntroduction to OOP. Procedural Programming sequence of statements to solve a problem.
Introduction to OOP C++ - hybrid language improved and extended standard C (procedural language) by adding constructs and syntax for use as an object oriented language. Object-Oriented and Procedural Programming
More information06. Analysis Modeling
06. Analysis Modeling Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Overview of Analysis Modeling 1 Requirement Analysis 2 Analysis Modeling Approaches
More informationObject- Oriented Design with UML and Java Part I: Fundamentals
Object- Oriented Design with UML and Java Part I: Fundamentals University of Colorado 1999-2002 CSCI-4448 - Object-Oriented Programming and Design These notes as free PDF files: http://www.softwarefederation.com/cs4448.html
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More information7. Inheritance & Polymorphism. Not reinventing the wheel
7. Inheritance & Polymorphism Not reinventing the wheel Overview Code Inheritance Encapsulation control Abstract Classes Shared Members Interface Inheritance Strongly Typed Data Structures Polymorphism
More informationCS487 Midterm Exam Summer 2005
1. (4 Points) How does software differ from the artifacts produced by other engineering disciplines? 2. (10 Points) The waterfall model is appropriate for projects with what Characteristics? Page 1 of
More informationSoftware Engineering Chap.7 - Design and Implementation
Software Engineering Chap.7 - Design and Implementation Simão Melo de Sousa RELEASE (UBI), LIACC (Porto), CCTC (Minho) Computer Science Department University of Beira Interior, Portugal Eng.Info./TSI,
More informationProgramming Language Concepts Object-Oriented Programming. Janyl Jumadinova 28 February, 2017
Programming Language Concepts Object-Oriented Programming Janyl Jumadinova 28 February, 2017 Three Properties of Object-Oriented Languages: Encapsulation Inheritance Dynamic method binding (polymorphism)
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 informationGoals of the Lecture OO Programming Principles
Goals of the Lecture OO Programming Principles Object-Oriented Analysis and Design - Fall 1998 n Discuss OO Programming Principles Ð Messages Ð Information Hiding Ð Classes and Instances Ð Inheritance
More informationLecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 19 Essentials of Class Models 1 On Naming classes
More informationTopics. Modularity and Object-Oriented Programming. Dijkstra s Example (1969) Stepwise Refinement. Modular program development
Topics Modularity and Object-Oriented Programming 申 @ 케이유티 Modular program development Step-wise refinement Interface, specification, and implementation Language support for modularity Procedural abstraction
More informationProject #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently.
Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently. User Request: Create a simple magazine data system. Milestones:
More informationEND TERM EXAMINATION
END TERM EXAMINATION THIRD SEMESTER [BCA] DECEMBER 2007 Paper Code: BCA 209 Subject: Object Oriented Programming Time: 3 hours Maximum Marks: 75 Note: Attempt all questions. Internal choice is indicated.
More informationS T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A
S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A G R A M S ) WHAT IS CLASS DIAGRAM? A class diagram
More informationITI Introduction to Computing II
ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Inheritance Introduction Generalization/specialization Version of January 20, 2014 Abstract
More informationModeling Databases Using UML
Modeling Databases Using UML Fall 2017, Lecture 4 There is nothing worse than a sharp image of a fuzzy concept. Ansel Adams 1 Software to be used in this Chapter Star UML http://www.mysql.com/products/workbench/
More informationENCAPSULATION AND POLYMORPHISM
MODULE 3 ENCAPSULATION AND POLYMORPHISM Objectives > After completing this lesson, you should be able to do the following: Use encapsulation in Java class design Model business problems using Java classes
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 informationObject Oriented Analysis and Design: An Overview
Object Oriented Analysis and Design: An Overview Balaji Rajagopalan Credits: Material for the slides is drawn from a variety of sources including Object Oriented Analysis and Design using UML by Ali Bahrami.
More informationCompositional Design Principles
Chapter 16 Compositional Design Principles Learning Objectives In this chapter, I will more formally introduce the three principles that form the 3-1- 2 process. The learning focus is understanding how
More informationC++ Important Questions with Answers
1. Name the operators that cannot be overloaded. sizeof,.,.*,.->, ::,? 2. What is inheritance? Inheritance is property such that a parent (or super) class passes the characteristics of itself to children
More informationOBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis
UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance
More informationTopic : Object Oriented Design Principles
Topic : Object Oriented Design Principles Software Engineering Faculty of Computing Universiti Teknologi Malaysia Objectives Describe the differences between requirements activities and design activities
More informationLab # 1. Structuring System Requirements: Diagrams
Lab # 1 Structuring System Requirements: Diagrams Objectives 1. Use Case diagrams 2. Class Objects (CO) diagrams 3. Context Data Flow Diagrams (Context DFDs) 4. Level-0 Data Flow Diagrams (Level-0 DFDs)
More informationClasses and Objects. Object Orientated Analysis and Design. Benjamin Kenwright
Classes and Objects Object Orientated Analysis and Design Benjamin Kenwright Outline Review Previous Weeks Object Model, Complexity,.. What do we mean by Classes and Objects? Summary/Discussion Review
More informationSEEM4570 System Design and Implementation Lecture 11 UML
SEEM4570 System Design and Implementation Lecture 11 UML Introduction In the previous lecture, we talked about software development life cycle in a conceptual level E.g. we need to write documents, diagrams,
More informationChapter : Analysis Modeling
Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints
More informationCOP 3330 Final Exam Review
COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time
More informationCSE 1325 Project Description
CSE 1325 Summer 2016 Object-Oriented and Event-driven Programming (Using Java) Instructor: Soumyava Das Project III Assigned On: 7/12/2016 Due on: 7/25/2016 (before 11:59pm) Submit by: Blackboard (1 folder
More informationITI Introduction to Computing II
ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Inheritance Introduction Generalization/specialization Version of January 21, 2013 Abstract
More informationObject Oriented Relationships
Lecture 3 Object Oriented Relationships Group home page: http://groups.yahoo.com/group/java CS244/ 2 Object Oriented Relationships Object oriented programs usually consisted of a number of classes Only
More informationThe Final Exam Paper. Duration: 2 hours Reading: 15 minutes Total marks: 65 Hurdle: 32.5
Review Lectures 1 The Final Exam Paper Duration: 2 hours Reading: 15 minutes Total marks: 65 Hurdle: 32.5 2 The Structure Sections Questions Marks Multiple Choice Short Answer Long Answer Total 22 6 3
More information12. Object-oriented Design
Object-oriented Design 1 12. Object-oriented Design Objectives The objective of this chapter is to introduce an approach to software design where the design is structured as interacting objects. When you
More informationREVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION
c08classandmethoddesign.indd Page 282 13/12/14 2:57 PM user 282 Chapter 8 Class and Method Design acceptance of UML as a standard object notation, standardized approaches based on work of many object methodologists
More informationRequirements & Domain Models. Lecture 13: Object Oriented Modelling. Nearly anything can be an object. Object Oriented Analysis
Lecture 3: Object Oriented Modelling Object Oriented Analysis Rationale Identifying Classes Attributes and Operations Class Diagrams Associations Multiplicity Aggregation Composition Generalization Easterbrook
More information