Topics. Instance object. Instance object. Fundamentals of OT. Object notation. How do objects collaborate? Pearson Education 2007 Appendix (RASD 3/e)
|
|
- Silvia Stone
- 6 years ago
- Views:
Transcription
1 Appedix (RASD 3/e) MACIASZEK, L.A. (2007): Requiremets Aalysis ad System Desig, 3 rd ed. Addiso Wesley, Harlow Eglad ISBN Appedix Fudametals of Object Techology Pearso Educatio Limited 2007 Topics Istace object Class Variables, methods, ad costructors Associatio Aggregatio ad compositio Geeralizatio ad iheritace Abstract class Appedix (Maciaszek - RASD 3/e) 2 Fudametals of OT BOOCH, G. (1994): Object Orieted Aalysis ad Desig with Applicatios, 2 d ed, The Bejami/Cummigs Publ Object has State Behavior Idetity (equal idetical) Objects ad atural systems Istace object Class a abstractio (geeric descriptio) for a set of objects a class for objects (but better to avoid the term object class because a class ca be istatiated ito a object object class object would soud a bit strage) Istace object a istace of a class object, istace, but ot object istace Class object a istatiated class (everythig i a object orieted system is a BOOCH, G. (1994): Object Orieted Aalysis ad Desig with Applicatios, 2 d ed, object) The Bejami/Cummigs Publ Appedix (Maciaszek - RASD 3/e) 3 Appedix (Maciaszek - RASD 3/e) 4 Object otatio objectame: classame attributeame: [type] = value How do objects collaborate? : Orde r a role that may objects ca play c1 : Course course_umber = COMP227 course_ame = Requiremets Aalysis ad Systems Desig c1 : Course :Course c1 aoymous object classame suppressed No compartmet for operatios i objects! Exceptio prototypical (delegatio-based) laguages, such as Self or Newto 1. ship(ord : ) 2. getproducts(ord : ) : Shipmet : Stock a message ivokig a operatio o a object (umbers do ot imply ay sequece of executio) 4. reorder(prd : Product) 3. aalyzelevels( ) : Purchase Appedix (Maciaszek - RASD 3/e) 5 Appedix (Maciaszek - RASD 3/e) 6 MACIASZEK (2007): Req Aalysis & Syst Desig 1
2 Appedix (RASD 3/e) How objects idetify each other? object idetifier - OID Object logevity Persistet object outlives the executio of the program swizzlig to covert persistet OID (disk address) to trasiet OID (memory address) Trasiet object c1 : Course CCC888 course_umber = COMP227 course_ame = Requiremets Aalysis ad Systems Desig teacher: idetity = TTT999 OIDs to implemet associatios c1 : Course course_umber = COMP227 course_ame = Requiremets Aalysis ad Systems Desig c2 : Course teacher teacher course course t1 : Teacher Appedix (Maciaszek - RASD 3/e) 7 Appedix (Maciaszek - RASD 3/e) 8 Trasiet lik How does a object kow the OID of aother object if there is o persistet lik? Previous access to a object still memorized i some program variable Search o the database A map object that associates objects to other objects by logical idetifiers (primary keys) or similar meas Creatig a ew object Message passig crs_ref.getcoursename(out crs_ame) i, out, ad i/out argumets Most OO laguages do ot make such distictio explicit I Java: message argumets of primitive data types are passed by value act as iput argumets the chage of argumet values ot possible because the operatio acts o a copy of the argumet pass by value for o-primitive data types results i the operatio receivig the referece of the argumet, ot its value the referece ca be used to access ad possibly modify the attribute values withi the passed object the above elimiates the eed for explicit i/out argumets retur type of a operatio substitutes a eed for explicit out argumets operatio ca retur oly oe retur value or o value at all (void) however, it ca retur o-primitive type (i.e. a object of ay complexity) Appedix (Maciaszek - RASD 3/e) 9 Appedix (Maciaszek - RASD 3/e) 10 Class, attributes Role ames / attributes desigatig a class Class a overloaded term! Class ame ordernumber : Iteger orderdate : Date ordervalue : Currecy the theshipmet Shipmet ship(ord : ) Attributes aalysis model Operatios() Course course_umber : Strig course_ame : Strig order_umber : Iteger order_date : Date order_value : Currecy ordernumber : Iteger orderdate : Date ordervalue : Currecy theshipmet : Shipmet Shipmet the : ship(ord : ) implemetatio model Appedix (Maciaszek - RASD 3/e) 11 Appedix (Maciaszek - RASD 3/e) 12 MACIASZEK (2007): Req Aalysis & Syst Desig 2
3 Appedix (RASD 3/e) Attribute visibility private attributes ad public operatios operatios ecapsulate attributes Purchase - purchasenumber : Strig - purchasedate : Date - purchasevalue : Currecy + reorder(prd : Product) Operatios i object collaboratio : 1. ship(ord : ) 2. getproducts(ord : ) 3. aalyzelevels( ) : Shipmet : Stock 4. reorder(prd : Product) : Purchase Purchase purchasenumber : Strig purchasedate : Date purchasevalue : Currecy Product Stock getproducts(ord : ) : Collectio aalyzelevels() reorder(prd : Product) Shipmet Purchase BOOCH, G. (1994): Object Orieted Aalysis ad Desig with Applicatios, 2 d ed, The Bejami/Cummigs Publ ship(ord : ) reorder(prd : Product) Appedix (Maciaszek - RASD 3/e) 13 Appedix (Maciaszek - RASD 3/e) 14 Operatio, visibility, scope, class object method procedure that implemets a operatio message ame = method ame sigature = list of formal argumets of a method visibility scope istace scope whe operatio ivoked o istace object (fidempage()) class scope whe operatio ivoked o class object (fidaverageage()) Class object most prog. lag. do ot istatiate class object they oly provide a sytax to refer to the class ame i order to access a class-scope attribute or call a classscope operatio static attribute/operatio Example ext slide Class-scope scope attributes ad operatios - example Studet studetid : S trig studetname : S trig umberofs tudets : it maxcoursesp ersemester : it <<static>> averagestudetage() : double public class Studet private Strig studetid; //accessible via Studet s operatios private Strig studetname; //accessible via Studet s operatios private static it umberofstudets; //accessible oly to Studet s static methods, such as averagestudetage() public static it maxcoursespersemester; //accessible via Studet:: maxcoursespersemester public static double averagestudetage() implemetatio code here //callable by referrig to the class ame Studet::averageStudetAge() //callable also with a object of the class std.averagestudetage() Appedix (Maciaszek - RASD 3/e) 15 Appedix (Maciaszek - RASD 3/e) 16 Variables, methods, costructors Associatio Variable ame for a storage space data member variable declared i a class istace variable (istace scope) class variable (class scope) local variable variable declared i a method body Method implemetatio of a operatio method prototype = ame + sigature + retur type overloaded methods same ames, differet sigatures Costructor special method to istatiate objects of the class costructor ame = class ame costructor has o retur type class must have at least oe costructor ivoked with the ew keyword Studet std22 = ew Studet(); //default costructor ordernumber : Iteger orderdate : Date ordervalue : Currecy the theshipmet OrdShip Shipmet shipmetid : Strig shipmetdate : Date carrier : Strig ship(ord : ) Appedix (Maciaszek - RASD 3/e) 17 Appedix (Maciaszek - RASD 3/e) 18 MACIASZEK (2007): Req Aalysis & Syst Desig 3
4 Appedix (RASD 3/e) Associatio degree Biary Uary (sigular) Terary Associatio multiplicity maagedby 0..1 Employee maagerof 0.. Teacher taughtby ismaagedby isichargeof 0.. teaches 0.. CourseOfferig Appedix (Maciaszek - RASD 3/e) 19 Appedix (Maciaszek - RASD 3/e) 20 Associatio lik ad extet Associatio class Lik associatio istace represets a roleame ca be a collectio of refereces Extet set of associatio istaces i the figure, the exted of the associatio is five (five liks) CourseOfferig Studet 1 Lik 1 with 3 refereces Lik 2 Lik 3 Shipmet 1 Shipmet 2 Assessmet mark : List(Number) totalmark : Number grade : Byte Parameterized type 2 Lik 5 Lik 4 with 2 refereces Shipmet 23 Appedix (Maciaszek - RASD 3/e) 21 Appedix (Maciaszek - RASD 3/e) 22 Compositio ad aggregatio Compositio aggregatio by value Aggregatio aggregatio by referece Properties: Trasitivity Asymmetry Existece depedecy Implemeted by buried refereces or ier classes ext slides Book Chapter Sectio is_part_of has Crate BeerBottle Implemetig aggregatio by buried referece ot differet to associatio by meas of variable with private visibility however, i Java, classes caot have private visibility subset classes must have public or package visibility title : Strig Book search(what : Strig) : boolea Book() -thebook -thechapter Chapter text : Text figure : Graphics search(what : Strig) : boolea Chapter() -thebook public class Book private Strig title; private Chapter thechapter[]; private TableOfCotets thetableofcotets; public Book() //default costructor public boolea search(strig what) retur true; -thetableofcotets 1 TableOfCotets g eerate() : V oid TableOfCotets() Appedix (Maciaszek - RASD 3/e) 23 Appedix (Maciaszek - RASD 3/e) 24 MACIASZEK (2007): Req Aalysis & Syst Desig 4
5 Appedix (RASD 3/e) Implemetig aggregatio by ier classes title : S trig <<ier>> TableOfCotets geerate() : Void TableOfCotets() -toc 1 Book displaytoc() : Void search(what : S trig) : bo olea Book() -ch <<ier>> Chapter text : Text figure[ ] : Graphics search(what : Strig) : boolea Chapter(chNum : it) outer class istatiates ier objects i its ow costructor ier class ca be private (accessible oly from outer class) public class Book private Strig title; private Chapter[] ch; private TableOfCotets toc; public Book(...)... toc = ew TableOfCotets(); ch = ew Chapter[umberChapters]; for (it i=0; i<umberchapters; i++) ch[i] = ew Chapter(); public Void displaytoc() toc.geerate(); retur; private class TableOfCotets private Void geerate()... Geeralizatio A subclass iherits the structure ad behavior of its superclass BOOCH, G. (1994): Object Orieted Aalysis ad Desig with Applicatios, 2 d ed, The Bejami/Cummigs Publ Not a good visualizatio of geeralizatio. Subclasses iherit types, ot values (a ose ot a log ose)! Appedix (Maciaszek - RASD 3/e) 25 Appedix (Maciaszek - RASD 3/e) 26 Geeralizatio Polymorphism Perso fullname : Strig dateofbirth : java.util.date age() : it getyear() : it getyear(date : java.util.date) : it Perso() Employee datehired : java.util.da te salary : it leaveetitlemet : it leavetake : it remaiigleave() : it Employee() public class Perso private Strig fullname; private Date dateofbirth; public Perso()... public it age() retur getyear() - getyear(dateofbirth); public class Employee exteds Perso private Date datehired; private it salary; private it leaveetitlemet; private it leavetake; public Employee()... public it remaiigleave() retur leaveetitlemet - leavetake; Perso fullname : Strig dateofbirth : java.util.date age() : it P erso() Employee datehired : java.util.date salary : it leaveetitlemet : it leavetake : it remaiigleave() : it Employee() public class Maager exteds Employee private Date dateappoited; private it leavesupplemet; public Maager()... public it remaiigleave() it mrl; mrl = super.remaiigleave() + leavesupplemet; retur mrl; Maager dateappoited : java.util.date leavesupplemet : it remaiigleave() : it Maager() The same sigature (operatio ame ad the umber ad type of argumets) Appedix (Maciaszek - RASD 3/e) 27 Appedix (Maciaszek - RASD 3/e) 28 Multiple iheritace Perso fullname : Strig dateofbirth : Date age() : Iteger Multiple classificatio Multiple iheritace A class may have may superclasses, but a sigle class must be defied for each object Multiple classificatio A object is simultaeously the istace of two or more classes Teacher Tutor S tudet PostgraduateStudet The problem arises if Perso is specialized i few orthogoal hierarchies Perso ca be Employee or Studet, Male or Female, Child or Adult,, etc. Without multiple classificatio eed to defie classes for each legal combiatio betwee the orthogoal hierarchies ChildFemaleStudet etc. Appedix (Maciaszek - RASD 3/e) 29 Appedix (Maciaszek - RASD 3/e) 30 MACIASZEK (2007): Req Aalysis & Syst Desig 5
6 Appedix (RASD 3/e) Dyamic classificatio A object does ot oly belog to multiple classes but it ca gai or lose classes over its lifetime A Perso object ca be just a employee oe day ad a maager (ad employee) aother day I most curret object-orieted programmig eviromets, a object caot chage its class after it has bee istatiated (created) Appedix (Maciaszek - RASD 3/e) 31 Abstract class Paret class that will ot have direct istace objects Abstract class caot istatiate objects because it has at least oe abstract operatio public abstract class public abstract Double retalcharge(); V ideotape V ideotape() VideoDisk public class VideoDisk exteds public... public Double retalcharge() retur ull; Appedix (Maciaszek - RASD 3/e) 32 Iterface vs abstract class Iterface a defiitio of a sematic type with attributes (costats oly) ad operatios but without actual declaratios (implemetatios) of operatios classes that implemet the iterface provide the declaratios Abstract class has udesirable effect of the fragile base class problem Ulike abstract classes iterfaces are helpful for modelig situatios that ask for multiple iheritace iterface does ot implemet (eve partially) ay of its methods but still, pure abstract class iterface i case of iterface, ay class i the system ca implemet it, ot just the subclasses a class ca implemet ay umber of iterfaces iterface defies a referece type that separates cliet objects from the implemetatio chages i the supplier objects the implemetatio of the iterface ca chage ad the cliet object may ot be affected Multiple implemetatio iheritace ot allowed i Java VideoTape VideoTape() Not allowed i Java! VideoDisk VideoEquipmet purchaseprice : Double dateofpurchase : java.sql.date VideoPlayer VideoCamera Appedix (Maciaszek - RASD 3/e) 33 Appedix (Maciaszek - RASD 3/e) 34 Implemetig Java iterface public iterface Double retalcharge(); VideoPlayer VideoPlayer() SoudSystem VideoEquipmet purchaseprice : Double dateofpurchase : java.sql.date VideoCamera Usig iterface to elimiate depedecy to supplier ChargeCalculator getretalcharge() : Double ChargeCalculator() <<uses>> thevideo public class ChargeCalculator thevideo; public Double getretalcharge() retur thevideo.retalcharge(); VideoEquipmet purchaseprice : Double dateofpurchase : java.sql.date VideoTape VideoTape() VideoDisk public class VideoPlayer exteds VideoEquipmet implemets public VideoPlayer()... public Double retalcharge() retur ull; VideoTape V ideodisk VideoTape() VideoPlayer V ideop layer() SoudSystem VideoCamera Appedix (Maciaszek - RASD 3/e) 35 Appedix (Maciaszek - RASD 3/e) 36 MACIASZEK (2007): Req Aalysis & Syst Desig 6
7 Appedix (RASD 3/e) Summary Each object has a state, behavior ad idetity There are istace objects ad class objects Class defies attributes ad operatios There are three kids of relatioships associatio, aggregatio, geeralizatio Geeralizatio provides the basis for polymorphism ad iheritace Commercial programmig eviromets support multiple iheritace directly (C++, C#) or by meas of iterfaces (Java) Multiple ad dyamic classificatio is still ot supported commercially Abstract classes ad iterfaces are importat i modelig Appedix (Maciaszek - RASD 3/e) 37 MACIASZEK (2007): Req Aalysis & Syst Desig 7
Appendix Fundamentals of Object Technology
MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Appendix Fundamentals of Object Technology Pearson Education Limited 2007
More informationΤεχνολογία Λογισμικού
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr
More informationChapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 10 Defiig Classes Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 10.1 Structures 10.2 Classes 10.3 Abstract Data Types 10.4 Itroductio to Iheritace Copyright 2015 Pearso Educatio,
More informationWhat Is Object-Orientation?
Iformatio Systems Cocepts What Is Object-Orietatio? Roma Kotchakov Birkbeck, Uiversity of Lodo Based o Chapter 4 of Beett, McRobb ad Farmer: Object Orieted Systems Aalysis ad Desig Usig UML, (4th Editio),
More informationClasses and Objects. Again: Distance between points within the first quadrant. José Valente de Oliveira 4-1
Classes ad Objects jvo@ualg.pt José Valete de Oliveira 4-1 Agai: Distace betwee poits withi the first quadrat Sample iput Sample output 1 1 3 4 2 jvo@ualg.pt José Valete de Oliveira 4-2 1 The simplest
More informationChapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved.
Chapter 11 Frieds, Overloaded Operators, ad Arrays i Classes Copyright 2014 Pearso Addiso-Wesley. All rights reserved. Overview 11.1 Fried Fuctios 11.2 Overloadig Operators 11.3 Arrays ad Classes 11.4
More informationChapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 4 Procedural Abstractio ad Fuctios That Retur a Value Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 4.1 Top-Dow Desig 4.2 Predefied Fuctios 4.3 Programmer-Defied Fuctios 4.4
More informationGoals of the Lecture UML Implementation Diagrams
Goals of the Lecture UML Implemetatio Diagrams Object-Orieted Aalysis ad Desig - Fall 1998 Preset UML Diagrams useful for implemetatio Provide examples Next Lecture Ð A variety of topics o mappig from
More informationChapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 9 Poiters ad Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 9.1 Poiters 9.2 Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Slide 9-3
More informationGoals of the Lecture Object Constraint Language
Goals of the Lecture Object Costrait Laguage Object-Orieted Aalysis ad Desig - Fall 1998 Preset the Object Costrait Laguage Ð As best as possible, with the limited iformatio available from UML i a Nutshell
More informationJava Inheritance. Class ADT (Abstract Data Type) Interface. Classes implement the concept of ADT: Interfaces define interaction contracts: Rui Moreira
Java Iheritace Rui Moreira Class ADT (Abstract Data Type) Classes implemet the cocept of ADT: Provide a coheret represetatio for the declaratio of structured data types ad also the code for maipulatig
More informationGoals of this Lecture Activity Diagram Example
Goals of this Lecture Activity Diagram Example Object-Orieted Aalysis ad Desig - Fall 998 Preset a example activity diagram Ð Relate to requiremets, use cases, ad class diagrams Also, respod to a questio
More informationCS 11 C track: lecture 1
CS 11 C track: lecture 1 Prelimiaries Need a CMS cluster accout http://acctreq.cms.caltech.edu/cgi-bi/request.cgi Need to kow UNIX IMSS tutorial liked from track home page Track home page: http://courses.cms.caltech.edu/courses/cs11/material
More informationFrom last week. Lecture 5. Outline. Principles of programming languages
Priciples of programmig laguages From last week Lecture 5 http://few.vu.l/~silvis/ppl/2007 Natalia Silvis-Cividjia e-mail: silvis@few.vu.l ML has o assigmet. Explai how to access a old bidig? Is & for
More informationChapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 5 Fuctios for All Subtasks Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 5.1 void Fuctios 5.2 Call-By-Referece Parameters 5.3 Usig Procedural Abstractio 5.4 Testig ad Debuggig
More informationn We have discussed classes in previous lectures n Here, we discuss design of classes n Library design considerations
Chapter 14 Graph class desig Bjare Stroustrup Abstract We have discussed classes i previous lectures Here, we discuss desig of classes Library desig cosideratios Class hierarchies (object-orieted programmig)
More informationChapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig
More informationArchitectural styles for software systems The client-server style
Architectural styles for software systems The cliet-server style Prof. Paolo Ciacarii Software Architecture CdL M Iformatica Uiversità di Bologa Ageda Cliet server style CS two tiers CS three tiers CS
More informationn Haskell n Covered syntax, lazy evaluation, static typing n Algebraic data types and pattern matching n Type classes n Monads and more n Types
Aoucemets Exam 2 is graded, but I will eed some time to go over it I ll release grades this eveig (figers crossed!) Raibow grades: HW1-6, Exam 1-2, Quiz 1-5 Will post aswer key Still gradig: Quiz 6, HW7
More informationComputers and Scientific Thinking
Computers ad Scietific Thikig David Reed, Creighto Uiversity Chapter 15 JavaScript Strigs 1 Strigs as Objects so far, your iteractive Web pages have maipulated strigs i simple ways use text box to iput
More informationPython Programming: An Introduction to Computer Science
Pytho Programmig: A Itroductio to Computer Sciece Chapter 6 Defiig Fuctios Pytho Programmig, 2/e 1 Objectives To uderstad why programmers divide programs up ito sets of cooperatig fuctios. To be able to
More informationLast class. n Scheme. n Equality testing. n eq? vs. equal? n Higher-order functions. n map, foldr, foldl. n Tail recursion
Aoucemets HW6 due today HW7 is out A team assigmet Submitty page will be up toight Fuctioal correctess: 75%, Commets : 25% Last class Equality testig eq? vs. equal? Higher-order fuctios map, foldr, foldl
More informationData Structures and Algorithms. Analysis of Algorithms
Data Structures ad Algorithms Aalysis of Algorithms Outlie Ruig time Pseudo-code Big-oh otatio Big-theta otatio Big-omega otatio Asymptotic algorithm aalysis Aalysis of Algorithms Iput Algorithm Output
More informationToday s objectives. CSE401: Introduction to Compiler Construction. What is a compiler? Administrative Details. Why study compilers?
CSE401: Itroductio to Compiler Costructio Larry Ruzzo Sprig 2004 Today s objectives Admiistrative details Defie compilers ad why we study them Defie the high-level structure of compilers Associate specific
More informationChapter 4 Remote Procedure Calls and Distributed Transactions
Prof. Dr.-Ig. Stefa Deßloch AG Heterogee Iformatiossysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@iformatik.ui-kl.de Chapter 4 Remote Procedure Calls ad Distributed Trasactios Outlie Remote Procedure
More informationExercise Set: Implementing an Object-Oriented Design
Exercise Set: Implemetig a Object-Orieted Desig I this exercise set, we have marked questios we thik are harder tha others with a [ ]. We have also marked questios for which solutios are provided at the
More informationBehavioral Modeling in Verilog
Behavioral Modelig i Verilog COE 202 Digital Logic Desig Dr. Muhamed Mudawar Kig Fahd Uiversity of Petroleum ad Mierals Presetatio Outlie Itroductio to Dataflow ad Behavioral Modelig Verilog Operators
More informationA SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON
A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON Roberto Lopez ad Eugeio Oñate Iteratioal Ceter for Numerical Methods i Egieerig (CIMNE) Edificio C1, Gra Capitá s/, 08034 Barceloa, Spai ABSTRACT I this work
More informationThe Magma Database file formats
The Magma Database file formats Adrew Gaylard, Bret Pikey, ad Mart-Mari Breedt Johaesburg, South Africa 15th May 2006 1 Summary Magma is a ope-source object database created by Chris Muller, of Kasas City,
More informationCOSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1
COSC 1P03 Ch 7 Recursio Itroductio to Data Structures 8.1 COSC 1P03 Recursio Recursio I Mathematics factorial Fiboacci umbers defie ifiite set with fiite defiitio I Computer Sciece sytax rules fiite defiitio,
More informationAbstract Data Types (ADTs) Stacks. The Stack ADT ( 4.2) Stack Interface in Java
Abstract Data Types (ADTs) tacks A abstract data type (ADT) is a abstractio of a data structure A ADT specifies: Data stored Operatios o the data Error coditios associated with operatios Example: ADT modelig
More informationBEA Tuxedo. Creating CORBA Server Applications
BEA Tuxedo Creatig CORBA Server Applicatios BEA Tuxedo Release 8.0 Documet Editio 8.0 Jue 2001 Copyright Copyright 2001 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software ad documetatio
More informationRequirements Analysis
Iformatio Systems Cocepts Requiremets Aalysis Roma Kotchakov Birkbeck, Uiversity of Lodo Based o Chapter 7 of Beett, McRobb ad Farmer: Object Orieted Systems Aalysis ad Desig Usig UML, (4th Editio), McGraw
More informationOutline and Reading. Analysis of Algorithms. Running Time. Experimental Studies. Limitations of Experiments. Theoretical Analysis
Outlie ad Readig Aalysis of Algorithms Iput Algorithm Output Ruig time ( 3.) Pseudo-code ( 3.2) Coutig primitive operatios ( 3.3-3.) Asymptotic otatio ( 3.6) Asymptotic aalysis ( 3.7) Case study Aalysis
More informationCOP4020 Programming Languages. Functional Programming Prof. Robert van Engelen
COP4020 Programmig Laguages Fuctioal Programmig Prof. Robert va Egele Overview What is fuctioal programmig? Historical origis of fuctioal programmig Fuctioal programmig today Cocepts of fuctioal programmig
More informationWYSE Academic Challenge Sectional Computer Science 2005 SOLUTION SET
WYSE Academic Challege Sectioal Computer Sciece 2005 SOLUTION SET 1. Correct aswer: a. Hz = cycle / secod. CPI = 2, therefore, CPI*I = 2 * 28 X 10 8 istructios = 56 X 10 8 cycles. The clock rate is 56
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 18 Strategies for Query Processig Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio DBMS techiques to process a query Scaer idetifies
More informationWhat are Information Systems?
Iformatio Systems Cocepts What are Iformatio Systems? Roma Kotchakov Birkbeck, Uiversity of Lodo Based o Chapter 1 of Beett, McRobb ad Farmer: Object Orieted Systems Aalysis ad Desig Usig UML, (4th Editio),
More informationimplement language system
Outlie Priciples of programmig laguages Lecture 3 http://few.vu.l/~silvis/ppl/2007 Part I. Laguage systems Part II. Fuctioal programmig. First look at ML. Natalia Silvis-Cividjia e-mail: silvis@few.vu.l
More informationRunning Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments
Ruig Time Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects. The
More informationTask scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation
6-0-0 Kowledge Trasformatio from Task Scearios to View-based Desig Diagrams Nima Dezhkam Kamra Sartipi {dezhka, sartipi}@mcmaster.ca Departmet of Computig ad Software McMaster Uiversity CANADA SEKE 08
More informationRunning Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments
Ruig Time ( 3.1) Aalysis of Algorithms Iput Algorithm Output A algorithm is a step- by- step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects.
More informationAnalysis of Algorithms
Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Ruig Time Most algorithms trasform iput objects ito output objects. The
More informationLinked Lists 11/16/18. Preliminaries. Java References. Objects and references. Self references. Linking self-referential nodes
Prelimiaries Liked Lists public class StrageObject { Strig ame; StrageObject other; Arrays are ot always the optimal data structure: A array has fixed size eeds to be copied to expad its capacity Addig
More informationPseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance
Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Pseudocode ( 1.1) High-level descriptio of a algorithm More structured
More informationΤεχνολογία Λογισμικού
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr
More informationExtending The Sleuth Kit and its Underlying Model for Pooled Storage File System Forensic Analysis
Extedig The Sleuth Kit ad its Uderlyig Model for Pooled File System Foresic Aalysis Frauhofer Istitute for Commuicatio, Iformatio Processig ad Ergoomics Ja-Niclas Hilgert* Marti Lambertz Daiel Plohma ja-iclas.hilgert@fkie.frauhofer.de
More informationAppendix D. Controller Implementation
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Appedix D Cotroller Implemetatio Cotroller Implemetatios Combiatioal logic (sigle-cycle); Fiite state machie (multi-cycle, pipelied);
More informationChapter 2. C++ Basics. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 2 C++ Basics Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 2.1 Variables ad Assigmets 2.2 Iput ad Output 2.3 Data Types ad Expressios 2.4 Simple Flow of Cotrol 2.5 Program
More informationModern Systems Analysis and Design Seventh Edition
Moder Systems Aalysis ad Desig Seveth Editio Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Desigig Databases Learig Objectives ü Cocisely defie each of the followig key database desig terms: relatio,
More informationOutline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs
Dyamic Aalysis ad Desig Patter Detectio i Java Programs Outlie Lei Hu Kamra Sartipi {hul4, sartipi}@mcmasterca Departmet of Computig ad Software McMaster Uiversity Caada Motivatio Research Problem Defiitio
More informationCIS 121. Introduction to Trees
CIS 121 Itroductio to Trees 1 Tree ADT Tree defiitio q A tree is a set of odes which may be empty q If ot empty, the there is a distiguished ode r, called root ad zero or more o-empty subtrees T 1, T 2,
More informationSchema for the DCE Security Registry Server
Schema for the Security egistry Server Versio Date: 0/20/00 For questios or commets cocerig this documet, sed a email ote to dce-ldap@opegroup.org or call Doa Skibbie at 52 838-3896. . Itroductio...3 2.
More informationJava net programming II
Java et programmig II https://docs.oracle.com/javase/tutorial/etworkig/sockets/ Overview The problem Basic backgroud: TCP/IP, ports, Cliet/Server, sockets Commuicatio with sockets java.et (overview) Simple
More informationn Haskell n Syntax n Lazy evaluation n Static typing and type inference n Algebraic data types n Pattern matching n Type classes
Aoucemets Quiz 7 HW 9 is due o Friday Raibow grades HW 1-6 plus 8. Please, read our commets o 8! Exam 1-2 Quiz 1-6 Ay questios/cocers, let us kow ASAP Last Class Haskell Sytax Lazy evaluatio Static typig
More informationAbstract Syntax Trees. AST Data Structure. Visitor Interface. Accept methods. Visitor Methodology for AST Traversal CS412/CS413
Abstract Syta Trees CS412/CS413 Itroductio to Copilers Ti Teitelbau Lecture 12: Visitors; Sybol Tables February 18, 2005 Separate AST costructio fro seatic checkig phase Traverse the AST ad perfor seatic
More informationOverview. Chapter 18 Vectors and Arrays. Reminder. vector. Bjarne Stroustrup
Chapter 18 Vectors ad Arrays Bjare Stroustrup Vector revisited How are they implemeted? Poiters ad free store Destructors Iitializatio Copy ad move Arrays Array ad poiter problems Chagig size Templates
More informationPearson Education 2005 Chapter 5 (Maciaszek - RASD 2/e) 2
MACIASZEK, L.A. (2005): Requirements Analysis and System Design, 2 nd ed. Addison Wesley, Harlow England, 504p. ISBN 0 32 20464 6 Chapter 5 Moving from Analysis to Design Pearson Education Limited 2005
More information10/23/18. File class in Java. Scanner reminder. Files. Opening a file for reading. Scanner reminder. File Input and Output
File class i Java File Iput ad Output TOPICS File Iput Exceptio Hadlig File Output Programmers refer to iput/output as "I/O". The File class represets files as objects. The class is defied i the java.io
More informationChapter 8. Strings and Vectors. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 8 Strigs ad Vectors Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 8.1 A Array Type for Strigs 8.2 The Stadard strig Class 8.3 Vectors Copyright 2015 Pearso Educatio, Ltd..
More informationCode Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013
Code Review s Authors: Mika V. Mätylä ad Casper Lasseius Origial versio: 4 Sep, 2007 Made available olie: 24 April, 2013 This documet cotais further details of the code review defects preseted i [1]. of
More informationDefinitions. Error. A wrong decision made during software development
Debuggig Defiitios Error A wrog decisio made durig software developmet Defiitios 2 Error A wrog decisio made durig software developmet Defect bug sometimes meas this The term Fault is also used Property
More informationAnalysis of Algorithms
Aalysis of Algorithms Ruig Time of a algorithm Ruig Time Upper Bouds Lower Bouds Examples Mathematical facts Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite
More informationCSE 417: Algorithms and Computational Complexity
Time CSE 47: Algorithms ad Computatioal Readig assigmet Read Chapter of The ALGORITHM Desig Maual Aalysis & Sortig Autum 00 Paul Beame aalysis Problem size Worst-case complexity: max # steps algorithm
More informationUniversity of Waterloo Department of Electrical and Computer Engineering ECE 250 Algorithms and Data Structures
Uiversity of Waterloo Departmet of Electrical ad Computer Egieerig ECE 250 Algorithms ad Data Structures Midterm Examiatio ( pages) Istructor: Douglas Harder February 7, 2004 7:30-9:00 Name (last, first)
More informationHow do we evaluate algorithms?
F2 Readig referece: chapter 2 + slides Algorithm complexity Big O ad big Ω To calculate ruig time Aalysis of recursive Algorithms Next time: Litterature: slides mostly The first Algorithm desig methods:
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 26 Ehaced Data Models: Itroductio to Active, Temporal, Spatial, Multimedia, ad Deductive Databases Copyright 2016 Ramez Elmasri ad Shamkat B.
More informationLazy Type Changes in Object-oriented Database. Shan Ming Woo and Barbara Liskov MIT Lab. for Computer Science December 1999
Lazy Type Chages i Object-orieted Database Sha Mig Woo ad Barbara Liskov MIT Lab. for Computer Sciece December 1999 Backgroud wbehavior of OODB apps compose of behavior of persistet obj wbehavior of objects
More informationBEA WebLogic Server. Programming WebLogic Enterprise JavaBeans
BEA WebLogic Server Programmig WebLogic Eterprise JavaBeas WebLogic Server 6.0 Documet Date March 3, 2001 Copyright Copyright 2001 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software
More informationLast Class. Announcements. Lecture Outline. Types. Structural Equivalence. Type Equivalence. Read: Scott, Chapters 7 and 8. T2 y; x = y; n Types
Aoucemets HW9 due today HW10 comig up, will post after class Team assigmet Data abstractio (types) ad cotrol abstractio (parameter passig) Due o Tuesday, November 27 th Last Class Types Type systems Type
More information. Written in factored form it is easy to see that the roots are 2, 2, i,
CMPS A Itroductio to Programmig Programmig Assigmet 4 I this assigmet you will write a java program that determies the real roots of a polyomial that lie withi a specified rage. Recall that the roots (or
More informationSoftware development of components for complex signal analysis on the example of adaptive recursive estimation methods.
Software developmet of compoets for complex sigal aalysis o the example of adaptive recursive estimatio methods. SIMON BOYMANN, RALPH MASCHOTTA, SILKE LEHMANN, DUNJA STEUER Istitute of Biomedical Egieerig
More informationChapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings
Operatig Systems: Iterals ad Desig Priciples Chapter 4 Threads Nith Editio By William Stalligs Processes ad Threads Resource Owership Process icludes a virtual address space to hold the process image The
More informationExceptions. Your computer takes exception. The Exception Class. Causes of Exceptions
Your computer takes exceptio s s are errors i the logic of a program (ru-time errors). Examples: i thread mai java.io.filenotfoud: studet.txt (The system caot fid the file specified.) i thread mai java.lag.nullpoiter:
More informationElementary Educational Computer
Chapter 5 Elemetary Educatioal Computer. Geeral structure of the Elemetary Educatioal Computer (EEC) The EEC coforms to the 5 uits structure defied by vo Neuma's model (.) All uits are preseted i a simplified
More informationData diverse software fault tolerance techniques
Data diverse software fault tolerace techiques Complemets desig diversity by compesatig for desig diversity s s limitatios Ivolves obtaiig a related set of poits i the program data space, executig the
More informationtop() Applications of Stacks
CS22 Algorithms ad Data Structures MW :00 am - 2: pm, MSEC 0 Istructor: Xiao Qi Lecture 6: Stacks ad Queues Aoucemets Quiz results Homework 2 is available Due o September 29 th, 2004 www.cs.mt.edu~xqicoursescs22
More informationAnalysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis
Itro to Algorithm Aalysis Aalysis Metrics Slides. Table of Cotets. Aalysis Metrics 3. Exact Aalysis Rules 4. Simple Summatio 5. Summatio Formulas 6. Order of Magitude 7. Big-O otatio 8. Big-O Theorems
More informationCOP4020 Programming Languages. Compilers and Interpreters Prof. Robert van Engelen
COP4020 mig Laguages Compilers ad Iterpreters Prof. Robert va Egele Overview Commo compiler ad iterpreter cofiguratios Virtual machies Itegrated developmet eviromets Compiler phases Lexical aalysis Sytax
More informationChapter 8. Strings and Vectors. Copyright 2014 Pearson Addison-Wesley. All rights reserved.
Chapter 8 Strigs ad Vectors Overview 8.1 A Array Type for Strigs 8.2 The Stadard strig Class 8.3 Vectors Slide 8-3 8.1 A Array Type for Strigs A Array Type for Strigs C-strigs ca be used to represet strigs
More informationKeywords Software Architecture, Object-oriented metrics, Reliability, Reusability, Coupling evaluator, Cohesion, efficiency
Volume 3, Issue 9, September 2013 ISSN: 2277 128X Iteratioal Joural of Advaced Research i Computer Sciece ad Software Egieerig Research Paper Available olie at: www.ijarcsse.com Couplig Evaluator to Ehace
More informationCIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19
CIS Data Structures ad Algorithms with Java Sprig 09 Stacks, Queues, ad Heaps Moday, February 8 / Tuesday, February 9 Stacks ad Queues Recall the stack ad queue ADTs (abstract data types from lecture.
More informationPython Programming: An Introduction to Computer Science
Pytho Programmig: A Itroductio to Computer Sciece Chapter 1 Computers ad Programs 1 Objectives To uderstad the respective roles of hardware ad software i a computig system. To lear what computer scietists
More informationOracle Server. What s New in this Release? Release Notes
Oracle email Server Release Notes Release 5.2 for Widows NT May 2001 Part No. A90426-01 These release otes accompay Oracle email Server Release 5.2 for Widows NT. They cotai the followig topics: What s
More informationChapter 3 Classification of FFT Processor Algorithms
Chapter Classificatio of FFT Processor Algorithms The computatioal complexity of the Discrete Fourier trasform (DFT) is very high. It requires () 2 complex multiplicatios ad () complex additios [5]. As
More informationn The C++ template facility provides the ability to define n A generic facility allows code to be written once then
UCLA PIC 10 B Problem Solvig usig C++ Programmig Ivo Diov, Asst. Prof. i Mathematics, Neurology, Statistics Istructor: Teachig Assistat: Suzae Nezzar, Mathematics Chapter 13 Templates for More Abstractio
More informationn Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis
Overview Chapter 6 Writig a Program Bjare Stroustrup Some thoughts o software developmet The idea of a calculator Usig a grammar Expressio evaluatio Program orgaizatio www.stroustrup.com/programmig 3 Buildig
More informationBOOLEAN MATHEMATICS: GENERAL THEORY
CHAPTER 3 BOOLEAN MATHEMATICS: GENERAL THEORY 3.1 ISOMORPHIC PROPERTIES The ame Boolea Arithmetic was chose because it was discovered that literal Boolea Algebra could have a isomorphic umerical aspect.
More informationCHAPTER IV: GRAPH THEORY. Section 1: Introduction to Graphs
CHAPTER IV: GRAPH THEORY Sectio : Itroductio to Graphs Sice this class is called Number-Theoretic ad Discrete Structures, it would be a crime to oly focus o umber theory regardless how woderful those topics
More informationCOP4020 Programming Languages. Subroutines and Parameter Passing Prof. Robert van Engelen
COP4020 Programmig Laguages Subrouties ad Parameter Passig Prof. Robert va Egele Overview Parameter passig modes Subroutie closures as parameters Special-purpose parameters Fuctio returs COP4020 Fall 2016
More informationThreads and Concurrency in Java: Part 1
Cocurrecy Threads ad Cocurrecy i Java: Part 1 What every computer egieer eeds to kow about cocurrecy: Cocurrecy is to utraied programmers as matches are to small childre. It is all too easy to get bured.
More informationWhat are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs
What are we goig to lear? CSC316-003 Data Structures Aalysis of Algorithms Computer Sciece North Carolia State Uiversity Need to say that some algorithms are better tha others Criteria for evaluatio Structure
More informationThreads and Concurrency in Java: Part 1
Threads ad Cocurrecy i Java: Part 1 1 Cocurrecy What every computer egieer eeds to kow about cocurrecy: Cocurrecy is to utraied programmers as matches are to small childre. It is all too easy to get bured.
More informationService Oriented Enterprise Architecture and Service Oriented Enterprise
Approved for Public Release Distributio Ulimited Case Number: 09-2786 The 23 rd Ope Group Eterprise Practitioers Coferece Service Orieted Eterprise ad Service Orieted Eterprise Ya Zhao, PhD Pricipal, MITRE
More informationHeaps. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015
Presetatio for use with the textbook Algorithm Desig ad Applicatios, by M. T. Goodrich ad R. Tamassia, Wiley, 201 Heaps 201 Goodrich ad Tamassia xkcd. http://xkcd.com/83/. Tree. Used with permissio uder
More informationRecursion. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Review: Method Frames
Uit 4, Part 3 Recursio Computer Sciece S-111 Harvard Uiversity David G. Sulliva, Ph.D. Review: Method Frames Whe you make a method call, the Java rutime sets aside a block of memory kow as the frame of
More informationPriority Queues. Binary Heaps
Priority Queues Biary Heaps Priority Queues Priority: some property of a object that allows it to be prioritized with respect to other objects of the same type Mi Priority Queue: homogeeous collectio of
More informationBaan Tools User Management
Baa Tools User Maagemet Module Procedure UP008A US Documetiformatio Documet Documet code : UP008A US Documet group : User Documetatio Documet title : User Maagemet Applicatio/Package : Baa Tools Editio
More informationCS211 Fall 2003 Prelim 2 Solutions and Grading Guide
CS11 Fall 003 Prelim Solutios ad Gradig Guide Problem 1: (a) obj = obj1; ILLEGAL because type of referece must always be a supertype of type of object (b) obj3 = obj1; ILLEGAL because type of referece
More informationIntroduction to OSPF. ISP Training Workshops
Itroductio to OSPF ISP Traiig Workshops 1 OSPF p Ope Shortest Path First p Lik state or SPF techology p Developed by OSPF workig group of IETF (RFC 1247) p OSPFv2 stadard described i RFC2328 p Desiged
More information