EVALUATION COPY. The Unified Modeling Language. Unauthorized reproduction or distribution is prohibited. Student Workbook

Size: px
Start display at page:

Download "EVALUATION COPY. The Unified Modeling Language. Unauthorized reproduction or distribution is prohibited. Student Workbook"

Transcription

1 The Unified Modeling Language Student Workbook

2 The Unified Modeling Language The Unified Modeling Language Lynwood Wilson Published by ITCourseware, LLC., 7245 South Havana Street, Suite 100, Centennial, CO Contributing Authors: Jamie Romero, Rick Sussenbach, and Rob Seitz. Editors: Danielle Hopkins and Jan Waleri Editorial Assistant: Dana Howell Special thanks to: Many instructors whose ideas and careful review have contributed to the quality of this workbook, offering comments, suggestions, criticisms, and insights. Copyright 2013 by ITCourseware, LLC. All rights reserved. No part of this book may be reproduced or utilized in any form or by any means, electronic or mechanical, including photo-copying, recording, or by an information storage retrieval system, without permission in writing from the publisher. Inquiries should be addressed to ITCourseware, LLC., 7245 South Havana Street, Suite 100, Centennial, Colorado, (303) All brand names, product names, trademarks, and registered trademarks are the property of their respective owners. Page ii Rev ITCourseware, LLC

3 The Unified Modeling Language Contents Chapter 1 - Course Introduction... 7 Course Objectives... 8 The Unified Process... 9 Course Overview Using the Workbook Suggested References Chapter 2 - Use Cases Use Cases Use Case Diagram Components Use Case Diagram Actor Generalizations Include Extend Specialize Other Systems Narrative Template for Use Case Narrative Using Use Cases Labs Chapter 3 - Class Diagrams Class Diagrams Attributes Attribute Properties Operations and Methods Inheritance Abstract Classes Interfaces Interfaces with Ball and Socket Notation Visibility Class Scope ITCourseware, LLC Rev Page iii

4 The Unified Modeling Language Labs Chapter 4 - Class Diagrams and Relationships Dependencies Associations Instance Creation Multiplicity Qualified Associations Association Classes Composition and Aggregation Labs Chapter 5 - Sequence Diagrams Sequence Diagrams Interaction Frames Decisions Loops Creating and Destroying Objects Activation Synchronous & Asynchronous Evaluating Sequence Diagrams Using Sequence Diagrams Labs Chapter 6 - Communication Diagrams Communication Diagrams Communication and Class Diagrams Evaluating Communication Diagrams Using Communication Diagrams Labs Chapter 7 - State Machine Diagrams What is State? State Notation Transitions and Guards Registers and Actions More Actions Page iv Rev ITCourseware, LLC

5 The Unified Modeling Language Internal Transitions Superstates and Substates Concurrent States Using State Machines Implementation Labs Chapter 8 - Activity Diagrams Activity Notation Decisions and Merges Forks and Joins Drilling Down Iteration Partitions Signals Parameters and Pins Expansion Regions Using Activity Diagrams Labs Chapter 9 - Supplemental UML Diagrams Modeling Groups of Elements - Package Diagrams Visibility and Importing Structural Diagrams Components and Interfaces Deployment Diagram Composite Structure Diagrams Timing Diagrams Interaction Overview Diagrams Labs Appendix A - UML Syntax Solutions Index ITCourseware, LLC Rev Page v

6 The Unified Modeling Language Page vi Rev ITCourseware, LLC

7 Chapter 1 Course Introduction Chapter 1 - Course Introduction 2013 ITCourseware, LLC Rev Page 7

8 THe Unified Modeling Language Course Objectives Use modeling in analysis and design, particularly in visual modeling. Use the Unified Modeling Language to create visual models of business problems and software solutions. Create models to show relationships between classes. Create models to portray activities performed by objects. Create models to portray complex algorithms. Create models to show object state. Create models to portray object creation. Page 8 Rev ITCourseware, LLC

9 Chapter 1 Course Introduction The Unified Process This workbook references the Unified Process. The Unified Process is an iterative process, made up of four major phases: The first phase is the Inception Phase, usually used to define what the project will be and create a business case for the project. The second phase is the Elaboration Phase. It is used to perform analysis, prototyping, define the initial architecture, and create a more in-depth business case. The Construction Phase is the third phase. This phase contains a repeating cycle of analysis design code and tests, which produces an increment of functionality. The final phase is the Transition Phase, in which you train the users and deliver the final working product. In each of these phases, diagrams can be created with different perspectives: The first perspective is the Domain Perspective, in which diagrams depict how the current system works. The second perspective is the Specification and Requirements Perspective, in which the diagrams depict what the new system will do. The last perspective is the Design Perspective. This perspective tells how the new system will perform the specification and requirements ITCourseware, LLC Rev Page 9

10 THe Unified Modeling Language Course Overview Audience: Programmers, analysts and software designers. Prerequisites: Experience with objects and object-oriented programming. Experience with analysis and design would be helpful. This course is based on UML Version 2.0, and occasionally mentions features from previous versions. Page 10 Rev ITCourseware, LLC

11 Chapter 1 Course Introduction Using the Workbook This workbook design is based on a page-pair, consisting of a Topic page and a Support page. When you lay the workbook open flat, the Topic page is on the left and the Support page is on the right. The Topic page contains the points to be discussed in class. The Support page has code examples, diagrams, screen shots and additional information. Hands On sections provide opportunities for practical application of key concepts. Try It and Investigate sections help direct individual discovery. In addition, there is an index for quick look-up. Printed lab solutions are in the back of the book as well as on-line if you need a little help. The Topic page provides the main topics for classroom discussion. The Support page has additional information, examples and suggestions. Java Servlets Chapter 2 Servlet Basics The Servlet Life Cycle The servlet container controls the life cycle of the servlet. When the first request is received, the container loads the servlet class and calls the init() method. Topics are organized into first (), second ( ) and For every request, the container uses a separate thread to call the service() method. third ( ) level When points. the servlet is unloaded, the container calls the destroy() method. As with Java s finalize() method, don t count on this being called. Override one of the init() methods for one-time initializations, instead of using a constructor. The simplest form takes no parameters. Hands On: Add an init() method to your Today servlet that initializes a bornon date, then print the bornon date along with the current date: Today.java... Code examples are in a fixed font and shaded. The on-line file name is listed above the shaded area. public class Today extends GenericServlet { private Date bornon; public void service(servletrequest request, ServletResponse response) throws ServletException, IOException {... // Write the document out.println("this servlet was born on " + bornon.tostring()); out.println("it is now " + today.tostring()); } public void init() { bornon = new Date(); } The init() method is called when the servlet is } loaded into the container. Callout boxes point out important parts of the example code. public void init() {...} If you need to know container-specific configuration information, use the other version. public void init(servletconfig config) {... Whenever you use the ServletConfig approach, always call the superclass method, which performs additional initializations. super.init(config); Page 16 Rev ITCourseware, LLC Pages are numbered sequentially throughout the book, making lookup easy. Screen shots show examples of what you should see in class ITCourseware, LLC Rev Page ITCourseware, LLC Rev Page 11

12 THe Unified Modeling Language Suggested References Bellin, David and Susan Simone The CRC Card Book. Addison-Wesley, Reading, MA. ISBN Booch, Grady, James Rumbaugh and Ivar Jacobson The Unified Modeling Language User Guide, Second Edition. Addison-Wesley, Reading, MA. ISBN Cockburn, Alistair Writing Effective Use Cases. Addison-Wesley, Reading, MA. ISBN Fowler, Martin, et al Refactoring: Improving the Design of Existing Code. Addison- Wesley, Reading, MA. ISBN Fowler, Martin UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition. Addison-Wesley, Reading, MA. ISBN Gamma, Erich, et al Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA. ISBN Jacobson, Ivar, Grady Booch and James Rumbaugh The Unified Software Development Process. Addison-Wesley, Reading, MA. ISBN Kruchten, Philippe The Rational Unified Process: An Introduction, Third Edition. Addison- Wesley, Reading, MA. ISBN Larman, Craig Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development, Third Edition. Prentice-Hall, Englewood Cliffs, NJ. ISBN Page-Jones, Meilir Fundamentals of Object-Oriented Design in UML. Addison-Wesley, Reading, MA. ISBN X. Pilone, Dan and Neil Pitman UML 2.0 in a Nutshell. O'Reilly & Associates, Sebastopol, CA. ISBN Rumbaugh, James, Ivar Jacobson and Grady Booch The Unified Modeling Language Reference Manual, Second Edition. Addison-Wesley, Reading, MA. ISBN Page 12 Rev ITCourseware, LLC

13 Chapter 1 Course Introduction 2013 ITCourseware, LLC Rev Page 13

14 THe Unified Modeling Language Page 14 Rev ITCourseware, LLC

15 Chapter 3 Class Diagrams Chapter 3 - Class Diagrams Objectives Describe UML syntax for class diagrams. Describe the format of class attributes and any constraints applied to those attributes. Show the notation for inheritance of superclasses. Show the various notations for interface implementation. Use class diagrams to depict abstract classes. Diagram class methods and attributes ITCourseware, LLC Rev Page 41

16 The Unified Modeling Language Class Diagrams A class is like a template for creating objects; it is the definition, description, or blueprint of the object. The class tells what attributes and methods each instance of that class will have. The class also describes the public interface through which other objects can interact with this class. The class is where the code for the methods is held. By convention, class names are capitalized. Here is the UML symbol for the Date class. Date Attributes (fields) and methods (member functions) can also be added to the class diagram. The attributes go in a second box, under the class name. The methods go in the third box. year month day Date getyear() setyear()... adddays() addmonths()... Page 42 Rev ITCourseware, LLC

17 Chapter 3 Class Diagrams You can organize your attributes and methods by adding stereotypes in your diagram. Within the stereotype add a descriptive name to identify a grouping. Student name:string gpa:float balance:float phone:string «constructors» Student() Student(name:String, gpa:float) «accessors» getname() getgpa() «mutators» setname() setgpa() After the third box other boxes can be added to include additional class information. A common possibility would be the class responsibilities that were determined during analysis and design. Another candidate would be a list of exceptions that might be generated by the class. Student Exceptions NegativeBalanceException DuplicateNameException 2013 ITCourseware, LLC Rev Page 43

18 The Unified Modeling Language Attributes Attributes can be simple datatypes or more complex relationships to other classes. The UML notation for an attribute is the attribute name, followed by a colon, with the specific type, followed by multiplicity, default values, and constraints. The following example shows a class with several attributes illustrating attribute notation: Class id:integer {id>0} students:students[1..30] title:string The datatypes of the attributes are often omitted in the early stages. In general, it's often useful to put off details as long as you reasonably can in order to concentrate on the concepts. If you make such decisions late, you'll know more and you're more likely to get them right the first time. It's easier to defer them than change them. Page 44 Rev ITCourseware, LLC

19 Chapter 3 Class Diagrams The member data items (attributes) go in the second box. We usually assume in the early stages that all data is hidden in the object and cannot be accessed from outside. Date day {1-31} month year Months are: January, February,... There are often rules (constraints) to govern the values of the attributes. There are only twelve months. Each has a maximum number of days. There are leap years. All these rules are written into the code that is part of the object so that the data is always maintained in a legal state and the outside code never has to worry about it. Such rules can be represented in a UML model as a text in a box with its corner turned down or as a constraint in curly braces. The box above specifies the legal values for the attribute month. The constraint in the curly braces specifies the legal values for day. You may also specify constraints and relationships between attributes in a separate text file associated with the object. The constraints on a Date are too complex to put in the above diagram. You'd create a separate text document. An outside function can add a day to a date, and rest assured that the Date object will handle wrapping around to the next month or next year, as necessary ITCourseware, LLC Rev Page 45

20 The Unified Modeling Language Attribute Properties Attributes can have several properties enclosed in curly braces after the attribute multiplicity. Some of the properties UML has specified include: ordered You use this to say that an attribute is sorted if the multiplicity of the attribute is greater than one. unique You use this to say that attribute values are unique if the multiplicity of the attribute is greater than one. readonly The attribute may not be modified once given an initial value. The following Invoice class has an array of item integers that will be stored in sorted order and does not allow duplicates. Invoice invno:integer date:date items:integer[1..20] {unique, ordered} balance:float {balance>=0} Page 46 Rev ITCourseware, LLC

21 Chapter 3 Class Diagrams 2013 ITCourseware, LLC Rev Page 47

22 The Unified Modeling Language Operations and Methods A method is a function that belongs to an object. These are sometimes called member functions, because they are members of the class. An operation is similar to a method, but at a more abstract level. Methods are concrete things: functions with code (or at least algorithms), arguments lists, and return types. Operations are abstract just a name that carries a general idea of what it will do, with or without the argument list and return type, but always lacking code. Usually there is a one-to-one relationship between the operations of a class and its methods that you define later as your model becomes more concrete. Sometimes an operation will yield several methods that do the same thing, but differ in argument list, datatypes, etc. A class can have methods that do not descend directly from an operation. Often these are private, for internal use only. Methods or operations go in the third box. The UML specification for a method is the method name, followed by the parameter list in parentheses, and then a colon with the return type of the method. The parameter listing will have the same specification format as attributes. Methods can have pre-condition and post-condition constraints enclosed in curly braces specifying when the method can be called and what the outcome should be. Page 48 Rev ITCourseware, LLC

23 Chapter 3 Class Diagrams Invoice invno:integer date:date items:integer[1..20] {unique, ordered} balance:float {balance>=0} senditems():boolean {precondition:balance=0}... Date year:integer month:integer day:integer same for month and day getyear():integer setyear(integer)... adddays(integer) addmonths(integer) addyears(integer)... cleanup() same for subtraction 2013 ITCourseware, LLC Rev Page 49

24 The Unified Modeling Language Inheritance Inheritance allows you to create a new class that contains all of the attributes and methods of an existing class, and then add to them. The new class is actually an instance of the parent class. The class you inherit from is often called the superclass, and the inherited class is the subclass. The subclass may add new attributes or methods, but it always has all of the attributes and methods of the superclass. The subclass may override one or more of the methods of the superclass by providing different implementations (code) for them. You show inheritance by drawing a solid line with a closed arrow from the child class to the parent class. Person Student Teacher Page 50 Rev ITCourseware, LLC

25 Chapter 3 Class Diagrams Person name address phone dateofbirth setname() getname()... Student stuid gpa classstanding getid() getname() empnum dept salary Teacher raisesalary() Other words for inheritance relationships: Superclass Subclass (This is traditional OO terminology) Generalization Specialization Base class Derived class (This is C++ terminology) Parent class Child class Ancestor class Descendent class 2013 ITCourseware, LLC Rev Page 51

26 The Unified Modeling Language Abstract Classes An abstract class is one that cannot be instantiated; it exists for the sake of an inheritance hierarchy. In UML, show that a class is abstract by italicizing its name. Graphic location color draw() You can also use a stereotype. «abstract» Graphic Abstract classes often contain one or more method declarations, which have no code. Note that draw() above is in italics to indicate that it has no implementation (code). The Graphic class could not draw itself even if it had code. It doesn't know what shape it is. Abstract classes are intended to be used by subclasses that provide implementations for the code-less methods. If a class inherits from an abstract base class, but does not provide code for all of the methods that have no code in the abstract class, the subclass will also be abstract. Any class that has methods without code, or that inherits methods without code but does not provide their code, is abstract and cannot be instantiated. Page 52 Rev ITCourseware, LLC

27 Chapter 3 Class Diagrams The following diagram shows the abstract class Graphic with an abstract method draw(). Square, Circle, and Triangle inherit Graphic and thus must implement the abstract draw() method, or be abstract also. location color Graphic draw() getcolor() draw() Circle draw() Square draw() Triangle 2013 ITCourseware, LLC Rev Page 53

28 The Unified Modeling Language Interfaces An interface is like a class that has only a public interface and no private part. An interface has no attributes (except possibly constants). An interface has public operations (method declarations), but no code for them. Interfaces are naturally abstract. They cannot be instantiated. Indicate an interface with a stereotype. «interface» draw() Graphic Circle Square We say Circle implements Graphic even though it looks like inheritance (note that the line is broken instead of solid). This means Circle and Square inherit the method declarations of Graphic. Circle and Square must provide code for Graphic's draw operation or they become abstract and cannot be instantiated. In Java and C#, interfaces are part of the language. Java and C# do not allow multiple inheritance, but a class may implement multiple interfaces, which gives some of the advantages of multiple inheritance, but few of the complications. Interfaces are not part of the C++ language, but you can get the same effect by creating abstract classes with no code or attributes. Use a stereotype to label them «interface». Page 54 Rev ITCourseware, LLC

29 Chapter 3 Class Diagrams A class may implement several interfaces to get much of the effect of multiple inheritance. Since there are no (variable) attributes in an interface, the problems we mentioned earlier do not occur. Don't be afraid of multiple inheritance in domain and specification models, if you find it useful. In design, you will probably have to stick closer to what your implementation language can do. Note that polymorphism works with classes that implement the same interface just as it does with classes that inherit from the same ancestor. Of course, the only methods that can be used polymorphically are those from the interface. There may well be more structure to an interface than just a set of operations. For example, a certain operation might need to be executed before another operation is usable for a particular purpose. In a complicated case, an interface may have associated with it a state machine or a use case model. It's impossible to create a modeling language (or any other kind of language) that will cover all possible cases. The stereotype is one of the ways we can extend the UML to communicate things that the creators did not anticipate. We can use it to create new specialized elements from existing general ones. If you can't find the «guillemets» on your keyboard, you can use double angle brackets for <<stereotype>> ITCourseware, LLC Rev Page 55

30 The Unified Modeling Language Interfaces with Ball and Socket Notation The implementation of an interface can also be expressed using a ball notation. The interface is expressed as a ball with a line to the class that implements it. The name of the interface is written below the ball. The following class diagram shows that Circle implements the Graphic interface. Circle Graphic Some classes are dependent on other classes that implement a particular interface. Classes that are dependent on a particular interface implementation are expressed using a socket with the name of the interface below the socket. The Picture class in the following diagram is dependent on other objects that implement the Graphic interface. Picture Graphic Put them together and you can see that the Picture class is using the Circle class through the Graphic interface. Picture Graphic Circle Page 56 Rev ITCourseware, LLC

31 Chapter 3 Class Diagrams The following diagram depicts an IAccount interface that is implemented by several classes. The Bank class uses the IAccount interface; thus all the other classes can work with the Bank class. «interface» IAccount deposit(float) withdraw(float) getbalance():float IAccount Checking Bank IAccount IAccount IAccount Savings CD IAccount 401K 2013 ITCourseware, LLC Rev Page 57

32 The Unified Modeling Language Visibility UML specifies four different types of visibility modifiers: public, private, protected, and package. Public data or methods are accessible by the methods of any other class. A public modifier is indicated with a + at the left of the line. Private data or methods are accessible only by the methods of the class in which it was declared. A private modifier is indicated with a - at the left of the line. Protected data or methods in the superclass are accessible by the methods of its subclasses. The exact meaning of "protected" varies between languages. A protected modifier is indicated with a # at the left of the line. Package visibility means that it is accessible to any code in the same package, including code in packages contained within this one. A package modifier is indicated with a tilde (~). Page 58 Rev ITCourseware, LLC

33 Chapter 3 Class Diagrams same for month and day Date -year:integer -month:integer -day:integer +getyear():integer +setyear(integer)... +adddays(integer) +addmonths(integer) +addyears(integer)... -cleanup() same for subtraction 2013 ITCourseware, LLC Rev Page 59

34 The Unified Modeling Language Class Scope An attribute of a class may have class scope. This means there is one copy of the attribute, regardless of how many instances of the class are created. The class scope attribute exists even if there are no instances of the class. All of the instances of the class have access to this single copy of the class scope attribute. Its visibility may be public, private, protected, or package. Generally, any class scope attributes are also constants. The UML syntax for class scope is to underline the attribute name. A method may also have class scope. A class scope method may be called on the class in a situation where there are no instances of the class or the calling code does not have access to one. Such a method may access class scope data, but not object scope attributes. Since it may be called without an object, how would it know which object's attribute to use? Class scope methods may also be public, private, protected, or package. You specify whether an attribute or a method has class scope by underlining it in the class diagram. Page 60 Rev ITCourseware, LLC

35 Chapter 3 Class Diagrams The following student class has a static field called nextid. This field exists in the class and a student object does not need to be instantiated to access this field. You also have access to a static method called getnextid() to get the value of nextid. This allows nextid to be encapsulated inside the class. nextid = 1 id Student getnextid() getid() 2013 ITCourseware, LLC Rev Page 61

36 The Unified Modeling Language Labs Create a class diagram to depict an account at a bank. Include any fields and methods that might be needed to represent any account at a bank. Create a class diagram for checking and savings account classes. Use inheritance to reuse what you developed in the previous lab. Create a class called InterestChecking. Again, use inheritance to reuse what you developed in the previous lab. Add visibility modifiers to your class diagrams. Page 62 Rev ITCourseware, LLC

The Unified Modeling Language. Student Workbook

The Unified Modeling Language. Student Workbook The Unified Modeling Language Student Workbook The Unified Modeling Language The Unified Modeling Language Lynwood Wilson Published by ITCourseware, LLC., 7245 South Havana Street, Suite 100, Centennial,

More information

Engineering Design w/embedded Systems

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

Object-Oriented Analysis & Design Using The Unified Modeling Language. Student Workbook

Object-Oriented Analysis & Design Using The Unified Modeling Language. Student Workbook Object-Oriented Analysis & Design Using The Unified Modeling Language Student Workbook Object-Oriented Analysis & Design Using the Unified Modeling Language Lynwood Wilson Published by ITCourseware, LLC.,

More information

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1

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

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

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

Introduction to Software Engineering. 5. Modeling Objects and Classes

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

Software Design And Modeling BE 2015 (w. e. f Academic Year )

Software Design And Modeling BE 2015 (w. e. f Academic Year ) Software Design And Modeling BE 2015 (w. e. f Academic Year 2018-2019) 1 The Team Prof. Ravi Patki, I 2 IT Hinjawadi Pune Prof. Sangita Jaibhaiye SCOE Prof. D.D.Londhe PICT Prof. P. A. Joshi, ZCOER 2 The

More information

Software Service Engineering

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

C++ Programming for Non-C Programmers. Supplement

C++ Programming for Non-C Programmers. Supplement C++ Programming for Non-C Programmers Supplement C++ Programming for Non-C Programmers C++ Programming for Non-C Programmers Published by ITCourseware, 7245 S. Havana St, Suite 100, Centennial, CO 80112

More information

History of object-oriented approaches

History of object-oriented approaches Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

MechEng SE3 Lecture 7 Domain Modelling

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

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

UNIT-I Introduction of Object Oriented Modeling

UNIT-I Introduction of Object Oriented Modeling UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,

More information

Object-Oriented Systems Analysis and Design Using UML

Object-Oriented Systems Analysis and Design Using UML 10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand

More information

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models CS 494 Object-Oriented Analysis & Design UML Class Models Overview How class models are used? Perspectives Classes: attributes and operations Associations Multiplicity Generalization and Inheritance Aggregation

More information

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold. T0/06-6 revision 2 Date: May 22, 2006 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular documentation

More information

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification Object Oriented Design Part 2 Analysis Design Implementation Program Design Analysis Phase Functional Specification Completely defines tasks to be solved Free from internal contradictions Readable both

More information

Object-Oriented Analysis and Design

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

administrivia today UML start design patterns Tuesday, September 28, 2010

administrivia today UML start design patterns Tuesday, September 28, 2010 administrivia Assignment 2? promise to get past assignment 1 back soon exam on monday review slides are posted your responsibility to review covers through last week today UML start design patterns 1 Unified

More information

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. OBM 7 -draft 09/02/00 1 Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. Martin L. Griss, Laboratory Scientist, Hewlett-Packard Laboratories, Palo Alto, CA. Effective

More information

UML & 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 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 information

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold. T0/06-6 revision 0 Date: March 0, 2006 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular documentation

More information

The Unified Modeling Language (UML)

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

LABORATORY 1 REVISION

LABORATORY 1 REVISION UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the

More information

Software Engineering Lab Manual

Software Engineering Lab Manual Kingdom of Saudi Arabia Ministry Education Prince Sattam Bin Abdulaziz University College of Computer Engineering and Sciences Department of Computer Science Software Engineering Lab Manual 1 Background:-

More information

Introducing the UML Eng. Mohammed T. Abo Alroos

Introducing the UML Eng. Mohammed T. Abo Alroos Introducing the UML Eng. Mohammed T. Abo Alroos Islamic University of Gaza Introduction to the UML: The UML stands for Unified Modeling Language. It was released in 1997 as a method to diagram software

More information

UML (Unified Modeling Language)

UML (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 information

Introduction to Software Engineering. 5. Modeling Objects and Classes

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

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects

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

C++ Programming for Non-C Programmers. Supplement

C++ Programming for Non-C Programmers. Supplement C++ Programming for Non-C Programmers Supplement ii C++ Programming for Non-C Programmers C++ Programming for Non-C Programmers Published by itcourseware, 10333 E. Dry Creek Rd., Suite 150, Englewood,

More information

Dr.S.S.Riaz Ahamed Principal, Sathak Institute of Technology, Ramanathapuram,India.

Dr.S.S.Riaz Ahamed Principal, Sathak Institute of Technology, Ramanathapuram,India. REVIEW AND ANALYSIS OF THE ISSUES OF UNIFIED MODELING LANGUAGE FOR VISUALIZING, SPECIFYING, CONSTRUCTING AND DOCUMENTING THE ARTIFACTS OF A SOFTWARE-INTENSIVE SYSTEM Dr.S.S.Riaz Ahamed Principal, Sathak

More information

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved Chapter 12 UML and Patterns Copyright 2008 Pearson Addison-Wesley. All rights reserved Introduction to UML and Patterns UML and patterns are two software design tools that can be used within the context

More information

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold. T0/04-023 revision 2 Date: September 06, 2005 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular

More information

BCS Higher Education Qualifications. Diploma in IT. Object Oriented Programming Syllabus

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

Object-Oriented Design

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

Software Engineering

Software Engineering Software Engineering A systematic approach to the analysis, design, implementation and maintenance of software. Software Development Method by Jan Pettersen Nytun, page 1 Software Engineering Methods Most

More information

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

Data Structures (list, dictionary, tuples, sets, strings) Data Structures (list, dictionary, tuples, sets, strings) Lists are enclosed in brackets: l = [1, 2, "a"] (access by index, is mutable sequence) Tuples are enclosed in parentheses: t = (1, 2, "a") (access

More information

Principles of Software Construction: Objects, Design and Concurrency. Just enough UML. toad

Principles of Software Construction: Objects, Design and Concurrency. Just enough UML. toad Principles of Software Construction: Objects, Design and Concurrency Just enough UML 15-214 toad Christian Kästner Charlie Garrod School of Computer Science With slides from Klaus Ostermann Learning Goals

More information

Object-Oriented Software Development Goal and Scope

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

Course 3 7 March

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

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION

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

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

Overview of OOP. Dr. Zhang COSC 1436 Summer, /18/2017 Overview of OOP Dr. Zhang COSC 1436 Summer, 2017 7/18/2017 Review Data Structures (list, dictionary, tuples, sets, strings) Lists are enclosed in square brackets: l = [1, 2, "a"] (access by index, is mutable

More information

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Course Softwaretechnik Book Chapter 2 Modeling with UML Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,

More information

Experiment no 4 Study of Class Diagram in Rational Rose

Experiment no 4 Study of Class Diagram in Rational Rose Experiment no 4 Study of Class Diagram in Rational Rose Objective-: To studyclass Diagram in Rational Rose. References-: www.developer.com The Unified Modeling Language User Guide by Grady Booch Mastering

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use

More information

Practical UML : A Hands-On Introduction for Developers

Practical UML : A Hands-On Introduction for Developers Borland.com Borland Developer Network Borland Support Center Borland University Worldwide Sites Login My Account Help Search Practical UML : A Hands-On Introduction for Developers - by Randy Miller Rating:

More information

Object Oriented Modeling

Object Oriented Modeling Overview UML Unified Modeling Language What is Modeling? What is UML? A brief history of UML Understanding the basics of UML UML diagrams UML Modeling tools 2 Modeling Object Oriented Modeling Describing

More information

Week 9 Implementation

Week 9 Implementation Week 9 Implementation Dr. Eliane l. Bodanese What is more important From a software engineering perspective: Good Gui? does what customer wants maintainable, extensible, reusable Commented Code? how is

More information

UML Primer. -Elango Sundaram

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

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

Bash Programming. Student Workbook

Bash Programming. Student Workbook Student Workbook Bash Programming Published by ITCourseware, LLC, 7245 South Havana Street, Suite 100, Englewood, CO 80112 Contributing Authors: Julie Johnson, Rob Roselius Editor: Jeff Howell Special

More information

Unified Modeling Language

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

Design and UML Class Diagrams

Design and UML Class Diagrams Design and UML Class Diagrams 1 Suggested reading: Practical UML: A hands on introduction for developers http://dn.codegear.com/article/31863 UML DistilledCh. 3, by M. Fowler How do people draw / write

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) Unified Modeling Language (UML) Troy Mockenhaupt Chi-Hang ( Alex) Lin Pejman ( PJ ) Yedidsion Overview Definition History Behavior Diagrams Interaction Diagrams Structural Diagrams Tools Effect on Software

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD Slides by: Shree Jaswal What is UML? 2 It is a standard graphical language for modeling object oriented software. It was developed in mid 90 s by collaborative

More information

Interactions A link message

Interactions A link message Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Subject Code: 17630 Model Answer Page No: 1 /32 Important Instructions to examiners: 1) The answers should be examined by keywords and not as word-to-word as given in the model answer scheme. 2) The model

More information

Lecture 2 and 3: Fundamental Object-Oriented Concepts Kenneth M. Anderson

Lecture 2 and 3: Fundamental Object-Oriented Concepts Kenneth M. Anderson Lecture 2 and 3: Fundamental Object-Oriented Concepts Kenneth M. Anderson January 13, 2005 January 18, 2005 1 of 38 Lecture Goals Introduce the basic concepts of object-oriented analysis/design/programming

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 6 UML Introduction Structural diagrams Basics What is? Please explain

More information

STUDENT LESSON A20 Inheritance, Polymorphism, and Abstract Classes

STUDENT LESSON A20 Inheritance, Polymorphism, and Abstract Classes STUDENT LESSON A20 Inheritance, Polymorphism, and Abstract Classes Java Curriculum for AP Computer Science, Student Lesson A20 1 STUDENT LESSON A20 Inheritance, Polymorphism, and Abstract Classes INTRODUCTION:

More information

CS 231 Data Structures and Algorithms, Fall 2016

CS 231 Data Structures and Algorithms, Fall 2016 CS 231 Data Structures and Algorithms, Fall 2016 Dr. Bruce A. Maxwell Department of Computer Science Colby College Course Description Focuses on the common structures used to store data and the standard

More information

Practical UML - A Hands-On Introduction for Developers

Practical UML - A Hands-On Introduction for Developers Practical UML - A Hands-On Introduction for Developers By: Randy Miller (http://gp.codegear.com/authors/edit/661.aspx) Abstract: This tutorial provides a quick introduction to the Unified Modeling Language

More information

Architectural Blueprint

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

Today s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams

Today s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams Today s Topic Lecture 5 Introduction to UML What is UML Why use UML? UML Static Use case, Class, Object Deployment, Component (Physical ) Dynamic Sequence, Collaboration (Interaction ) Activity, State

More information

Cpt S 122 Data Structures. Introduction to C++ Part II

Cpt S 122 Data Structures. Introduction to C++ Part II Cpt S 122 Data Structures Introduction to C++ Part II Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Topics Objectives Defining class with a member function

More information

UML Views of a System

UML Views of a System UML Views of a System The architecture of a system is the fundamental organization of the system as a whole. The five UML Views: Use Case View: focuses on scenarios Design View: focuses on the vocabulary

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 16.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 16 Slide 16.2 MORE ON UML 1 Chapter Overview Slide

More information

UML- a Brief Look UML and the Process

UML- a Brief Look UML and the Process UML- a Brief Look UML grew out of great variety of ways Design and develop object-oriented models and designs By mid 1990s Number of credible approaches reduced to three Work further developed and refined

More information

Chapter 2: The Object-Oriented Design Process

Chapter 2: The Object-Oriented Design Process Chapter 2: The Object-Oriented Design Process In this chapter, we will learn the development of software based on object-oriented design methodology. Chapter Topics From Problem to Code The Object and

More information

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language?

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language? Session 8: UML The Unified Modeling (or the Unstructured Muddling) language? A few observations, opinions, pros & cons COMP 320 / 420 Spring, 2018 Mr. Weisert Where did the UML come from? Object-oriented

More information

UML part I. UML part I 1/41

UML part I. UML part I 1/41 UML part I UML part I 1/41 UML part I 2/41 UML - Unified Modeling Language unified it can be shared among workers modeling it can be used for description of software model language it has defined structure

More information

OOPS Viva Questions. Object is termed as an instance of a class, and it has its own state, behavior and identity.

OOPS Viva Questions. Object is termed as an instance of a class, and it has its own state, behavior and identity. OOPS Viva Questions 1. What is OOPS? OOPS is abbreviated as Object Oriented Programming system in which programs are considered as a collection of objects. Each object is nothing but an instance of a class.

More information

Oracle 11g Real Application Clusters for Administrators. Student Workbook

Oracle 11g Real Application Clusters for Administrators. Student Workbook Oracle 11g Real Application Clusters for Administrators Student Workbook Oracle 11g RAC for Administrators Published by ITCourseware, LLC., 7245 South Havana Street, Suite 100, Centennial, CO 80112 Contributing

More information

How and Why to Use the Unified Modeling Language. among software components, architectural-based

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

What are the characteristics of Object Oriented programming language?

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

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

More information

Object-Oriented Programming in C# (VS 2015)

Object-Oriented Programming in C# (VS 2015) Object-Oriented Programming in C# (VS 2015) This thorough and comprehensive 5-day course is a practical introduction to programming in C#, utilizing the services provided by.net. This course emphasizes

More information

Object-Oriented Programming in C# (VS 2012)

Object-Oriented Programming in C# (VS 2012) Object-Oriented Programming in C# (VS 2012) This thorough and comprehensive course is a practical introduction to programming in C#, utilizing the services provided by.net. This course emphasizes the C#

More information

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Classes, Class Diagrams Values and Attributes Operations

More information

LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS

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

Object-Oriented Software Engineering Practical Software Development using UML and Java

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

COP 3330 Final Exam Review

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

The Dynamic Model. An Introduction to UML. Enterprise Architect. by Geoffrey Sparks. All material (c) Geoffrey Sparks

The Dynamic Model. An Introduction to UML. Enterprise Architect. by Geoffrey Sparks. All material (c) Geoffrey Sparks An Introduction to UML The Dynamic Model by Geoffrey Sparks All material (c) Geoffrey Sparks 2001 www.sparxsystems.com.au Geoffrey Sparks 2001 Page:1 Table of Contents THE DYNAMIC MODEL... 3 INTRODUCTION

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : , Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,

More information

Object Oriented Programming in Java. Jaanus Pöial, PhD Tallinn, Estonia

Object Oriented Programming in Java. Jaanus Pöial, PhD Tallinn, Estonia Object Oriented Programming in Java Jaanus Pöial, PhD Tallinn, Estonia Motivation for Object Oriented Programming Decrease complexity (use layers of abstraction, interfaces, modularity,...) Reuse existing

More information

Topics in Object-Oriented Design Patterns

Topics in Object-Oriented Design Patterns Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;

More information

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis. SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented

More information

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

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

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

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak CSE 403: Software Engineering, Spring 2015 courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams Emina Torlak emina@cs.washington.edu Outline Designing classes Overview of UML UML class diagrams

More information

2D1358 Object Oriented Program Construction in C++ Exercises & Labs. Course Registration / Accounts. Course Literature

2D1358 Object Oriented Program Construction in C++ Exercises & Labs. Course Registration / Accounts. Course Literature 2D1358 Object Oriented Program Construction in C++ Exercises & Labs Lecturer: Frank Hoffmann hoffmann@nada.kth.se Assistents: Danica Kragic danik @nada.kth.se Anders Orebäck oreback @nada.kth.se Peter

More information

06. Analysis Modeling

06. 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 information

Credits Details of Sessional Marks ESM 5 (3-1- 2)

Credits Details of Sessional Marks ESM 5 (3-1- 2) OBJECT ORIENTED SYSTEM (ECS-204) Teacher Name: DR. PRABHAT VERMA Course Structure Sr. No. 2 Course Code ECS- 204 Course Name Object Oriented Systems Credits Details of Sessional Marks ESM 5 (3-1- 2) CT

More information

Object Oriented Software Development CIS Today: Object Oriented Analysis

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

References: Jacquie Barker,Beginning Java Objects; Martin Fowler,UML Distilled, 1/13/ UML

References: Jacquie Barker,Beginning Java Objects; Martin Fowler,UML Distilled, 1/13/ UML References: Jacquie Barker,Beginning Java Objects; Martin Fowler, Distilled, 1/13/2004 1 Programming is like building a house. An architect creates a design, and a builder uses appropriate tools to carry

More information

Model Driven Development Unified Modeling Language (UML)

Model Driven Development Unified Modeling Language (UML) Model Driven Development Unified Modeling Language (UML) An Overview UML UML is a modeling notation standardized by OMG (proposal 1997, ver.1.1 in 1998, ver. 2.0 in 2004) now in 2.4.1 mature based on notations

More information

Object Fundamentals, Part One. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 2 08/27/2009

Object Fundamentals, Part One. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 2 08/27/2009 Object Fundamentals, Part One Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 2 08/27/2009 1 Lecture Goals Introduce basic concepts, terminology, and notations for object-oriented

More information

CS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class

CS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class CS112 Lecture: Defining Classes Last revised 2/3/06 Objectives: 1. To describe the process of defining an instantiable class Materials: 1. BlueJ SavingsAccount example project 2. Handout of code for SavingsAccount

More information