EVALUATION COPY. The Unified Modeling Language. Unauthorized reproduction or distribution is prohibited. Student Workbook
|
|
- Mitchell Morton
- 6 years ago
- Views:
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 The Unified Modeling Language Lynwood Wilson Published by ITCourseware, LLC., 7245 South Havana Street, Suite 100, Centennial,
More informationEngineering Design w/embedded Systems
1 / 40 Engineering Design w/embedded Systems Lecture 33 UML Patrick Lam University of Waterloo April 4, 2013 2 / 40 What is UML? Unified Modelling Language (UML): specify and document architecture of large
More informationObject-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 informationLecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1
ECE155: Engineering Design with Embedded Systems Winter 2013 Lecture 33 April 4, 2013 Patrick Lam version 1 Unied Modelling Language The Unied Modelling Language (UML) is a language for specifying and
More informationUML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools
UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide
More informationIntroduction to Software Engineering. 5. Modeling Objects and Classes
Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities
More informationSoftware 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 informationSoftware Service Engineering
Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language
More informationC++ 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 informationHistory 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 informationSOFTWARE 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 informationMechEng SE3 Lecture 7 Domain Modelling
MechEng SE3 Lecture 7 Domain Modelling Simon Gay (slides by Phil Gray) 17 February 2010 1 This week s supplementary reading Zero Balances and Zero Responsibility Michael Bolton http://www.developsense.com/essays/zero.html
More informationChapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin
Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain
More informationUNIT-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 informationObject-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 informationA - 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 information2.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 informationObject 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 informationObject-Oriented Analysis and Design
0. Object Orientation: An Subject/Topic/Focus: over this lecture Summary: Lecturer, lecture, rooms, assistants, lab classes, credit points... Need for systems analysis and software engineers Literature
More informationadministrivia 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 informationDomain 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 informationUML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011
UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011 1 Goals of the Lecture Review the material in Chapter 2 of the Textbook Cover key parts of the UML notation
More information2.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 informationThe Unified Modeling Language (UML)
The Unified Modeling Language (UML) A Very Distilled Introduction to The Unified Modeling Language (UML). A quick introduction to UML is given. Thereafter, the surface of class and activity diagrams and
More informationLABORATORY 1 REVISION
UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the
More informationSoftware 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 informationIntroducing 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 informationUML (Unified Modeling Language)
UML (Unified Modeling Language) UML Outline Software Institute of Nanjing University 2009 Instructor 刘嘉 (Liu Jia) Email : liujia@software.nju.edu.cn ext : 509 Office : 705 2 References [1] The Unified
More informationIntroduction to Software Engineering. 5. Modeling Objects and Classes
Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities
More informationCredit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects
Lecture 4: Fundamentals of Object Technology Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture
More informationC++ 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 informationDr.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 informationChapter 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 information2.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 informationBCS Higher Education Qualifications. Diploma in IT. Object Oriented Programming Syllabus
BCS Higher Education Qualifications Diploma in IT Object Oriented Programming Syllabus Version 3.0 December 2016 This is a United Kingdom government regulated qualification which is administered and approved
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationSoftware 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 informationData 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 informationPrinciples 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 informationObject-Oriented Software Development Goal and Scope
Object-Oriented Software Development Goal and Scope Koichiro Ochimizu Japan Advanced Institute of Science and Technologies School of Information Science Scope and Goal Goal enable you to understand basic
More informationCourse 3 7 March
Course 3 7 March adiftene@info.uaic.ro 1 From Courses 1, 2 Modeling Modeling Languages Graphic Languages UML History UML Definition UML Diagram Types UML Use Case Diagram Actors Use Case UML Class Diagrams
More informationREVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION
c08classandmethoddesign.indd Page 282 13/12/14 2:57 PM user 282 Chapter 8 Class and Method Design acceptance of UML as a standard object notation, standardized approaches based on work of many object methodologists
More informationOverview 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 informationCourse "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 informationExperiment 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 informationObject-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 informationPractical 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 informationObject 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 informationWeek 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 informationUML Primer. -Elango Sundaram
UML Primer -Elango Sundaram About UML UML Can be thought of as a blue print for Software Graphical notation for expressing underlying OOA&D ideas Can be used to design any type of application, hardware,
More informationUNIT 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 informationBash 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 informationUnified Modeling Language
jonas.kvarnstrom@liu.se 2015 Unified Modeling Language A Brief Introduction History In the early 1990s, three common OO modeling approaches James Rumbaugh's Object-modeling technique (OMT) 2 Grady Booch's
More informationDesign 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 informationUnified 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 informationNOTES 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 informationINTRODUCTION 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 informationInteractions 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 informationMAHARASHTRA 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 informationLecture 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 informationModellistica 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 informationSTUDENT 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 informationCS 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 informationPractical 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 informationArchitectural Blueprint
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint
More informationToday 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 informationCpt 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 informationUML 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 informationObject-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 informationUML- 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 informationChapter 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 informationSession 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 informationUML 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 informationOOPS 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 informationOracle 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 informationHow and Why to Use the Unified Modeling Language. among software components, architectural-based
This article addresses the Unified Modeling Language and its purpose, constructs, and application to defense software development applications. The Unified Modeling Language (UML) is a notation that can
More informationWhat are the characteristics of Object Oriented programming language?
What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is
More informationMAHARASHTRA 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 informationObject-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 informationObject-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 informationChapter 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 informationLESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS
LP Rev. : 00 Page 1 of 6 UNIT: I FUNDAMENTALS SEMESTER : 5 FUNDAMENTALS 8 An overview of object oriented systems development Object basics Object oriented systems development life cycle. OBJECTIVE: To
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical
More informationCOP 3330 Final Exam Review
COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time
More informationThe 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 informationFor 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 informationObject 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 informationTopics 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 informationSOFTWARE 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 informationCHAPTER 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 informationCREATED BY: Muhammad Bilal Arslan Ahmad Shaad. JAVA Chapter No 5. Instructor: Muhammad Naveed
CREATED BY: Muhammad Bilal Arslan Ahmad Shaad JAVA Chapter No 5 Instructor: Muhammad Naveed Muhammad Bilal Arslan Ahmad Shaad Chapter No 5 Object Oriented Programming Q: Explain subclass and inheritance?
More informationCSE 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 information2D1358 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 information06. Analysis Modeling
06. Analysis Modeling Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Overview of Analysis Modeling 1 Requirement Analysis 2 Analysis Modeling Approaches
More informationCredits 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 informationObject Oriented Software Development CIS Today: Object Oriented Analysis
Object Oriented Software Development CIS 50-3 Marc Conrad D104 (Park Square Building) Marc.Conrad@luton.ac.uk Today: Object Oriented Analysis The most single important ability in object oriented analysis
More informationReferences: 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 informationModel 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 informationObject 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 informationCS112 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