1. Introduction to Object Oriented Software Development

Size: px
Start display at page:

Download "1. Introduction to Object Oriented Software Development"

Transcription

1 1. Introduction to Object Oriented Software Development a) Object: A set of data together with some operations that can be performed on that data. Eg. Bank Account. Data can be account number, name of account holder etc. Operations can be Withdrawal, deposit etc. b) Model: Simplified analogy of a real entity. Paper model of a building shows its size related to other buildings. c) Object Oriented System: Collection of objects sending and receiving messages from one another. d) Predictive Approaches i. Waterfall SDLC (System Development Life Cycle): A tool for managing complex processes by breaking them down into a series of phases and activities. It outlines step by step activities for each phase of SDLC, the role that stakeholders play in each activity and the deliverables expected from each activity. In waterfall SDLC, each step is completed before moving on to the next. ii. Main Limitations to the predictive approach: It fails to take account of inevitable changes in the lifetime of the development process. These models separate data and the operations performed, and all the data and processing related to a single entity can be spread throughout the system, so changes require a lot of work. e) Adaptive Approach i. Iterative SDLC (System Development Life Cycle): With an iterative SDLC we build a small section of the system and then try it out. From the results of these tests, we may need to make changes. Once satisfied that everything is working well, we add one more functionality, and repeat the whole process. Each iteration improves or adds some functionality. Early iterations emphasize requirements as well as analysis and design; later iterations emphasize implementation and testing. ii. Iterative Plan: Describes what to do in the first elaboration iteration. Includes how long the iteration will be, who will participate, and what they will produce. iii. Object Oriented Systems Design: An example of adaptive approach 1. Class: Blueprint that define the variables (or attributes) and the methods common to all objects of the same kind. Eg. Your car is an instance of the class Cars. 2. Object: An instance of a class. Have State, Behaviour and Identity. Most important thing in Object Oriented Concept. 3. Method: Refers to a piece of code that is exclusively associated either with a class (class methods and static methods) or with an object (instance methods). A method usually has a set of input parameters, and possibly an output return value. 4. Encapsulation: Process of hiding all the details of an object that do not contribute to its essential characteristics. Only the interface of the object is externally visible. 5. Inheritance: Capability of a class to use the properties and methods of another class while adding tis own functionality. Eg. In generalisation, subclasses inherit properties and methods of the superclass. Inheritance enhance ability to reuse code, and makes designing a much simpler and cleaner process 6. Polymorphism: Capability of an action or method to do different things based on the object that its acting upon. Overloading, overriding and Dynamic method Binding are types of polymorphism. f) Unified Process (UP): The process is a published industry standard for software development process especially for object oriented systems. It has 4 phases, yet all the phases are subdivided into iterations. i. Inception: Establish the case for the viability of the proposed system ii. Elaboration: Project starts to take shape here, problem domain analysis is made, project gets its basic form. iii. Construction: Focus goes to the development of components and other features of the system being designed. Here the bulk of the coding takes place. iv. Transition: The product moves from the development to end user. Here training takes place for end users and maintainers, and beta testing of the system to validate against end user expectations.

2 g) Unified Modelling Language (UML): defines standardised models and notations for expressing different aspects of an OO design. i. Use cases: Describes event sequences for an actor to use the system. A narrative description of the process. ii. Domain Model: Visualization of concepts in the realworld domain, not a description of software objects. iii. Interaction Diagram: Flow of messages between software objects and also the invocation of method. iv. Design Class Diagram: Shows software classes, not real world concepts. It has methods and attributes of classes. h) Analysis & Design: Analysis is what needs to be provided and design is how it will be provided. i) Object Oriented Analysis (OOA): Process of defining the problem in terms of objects: real world objects with which the system must interact, and candidate software objects used to explore various solution alternatives. j) Object Oriented Design (OOD): Process of defining the components, interfaces, objects, classes, attributes, and operations that will satisfy the requirements. You typically start with the candidate objects defined during analysis, but add much more rigor to their definitions. Then you add or change objects as needed to refine a solution. In large systems, design usually occurs at two scales: i. Architectural design: Defining the components from which the system is composed; and ii. Component design: Defining the classes and interfaces within a component. k) Importance of Design: Badly designed tools or user interfaces require effort to use and consequently one frequently makes mistakes or feels frustrated. The external aspect is the user interface. The internals are concerned with reliability, ability to change, resilience to new technology. Always remember that users of a system are people. A Good Design: i. Requires an understanding of the underlying basic principles and trade offs. ii. Requires experience. iii. Is not about right or wrong, but about being better in certain circumstances than others. l) Inception Phase: Where a project begins in UP. Primary goal is to check viability of the proposed system. Starts with an idea by someone. Then others with authority, finance, knowledge or skills need to be incorporated to form a vision of the project. Since this is iterative process, we expect many versions of the same things. Vital part of the vision is the Scope. Scope has to be smallest possible yet still having the core needs as bigger scopes tend to fail more often. As far as the inception phase of the project is concerned, what we want is an initial list of the names of the use cases. i. Pareto s Principle (80/20 Rule): This rule states that 80% of the value of a group of items is generally concentrated in 20% of the items. ii. Scope of a System: The sum of its parts. iii. Functional Requirements: Parts of the system that provide functionality, liking accepting a customer order, they are best described with Use Cases. (Others are what we call nonfunctional requirements). iv. Use Case: Description of the interaction between the user and the system, doesn t tell us anything about how the system works, written in simple everyday language, can be a simple, casual narrative describing how a user s goal is satisfied. Borrow a video use case simple story The customer takes the videos they have selected and goes to the checkout counter. There the clerk confirms their membership and checks for any overdue videos. The total cost is calculated; the customer pays, and leaves with their videos.

3 m) Inception Phase Artifacts: Various models, designs, documents, reports, spreadsheets, manuals and programming code that are produced during the development of a system. A methodology usually gives guidelines on which artifacts need to be produced, when they are produced in the development life cycle, the format (drawing, document, spreadsheet, etc.), and possibly who in the team should produce them. i. Inception Phase Artifacts: Vision & Business Case, Use Case Model, Supplementary Specification, Glossary, Risk List & Risk Management Plan, Prototypes & Proof of Concepts, Iteration Plan, Phase Plan & Software Development Plan, Development Case. 2. Requirement & Use Cases a) Requirements: Tells what the system will do, rather than how it will do it. b) Requirement Analysis: before we do anything at all, we have to ask ourselves what we want the system to do. To answer this question, it is necessary to consider: i. business needs ii. available resources iii. possible technologies iv. social and legal implications c) Writing the requirements involves: i. Defining the purpose of the system, prioritizing its functionality, and specifying its context (i.e. who are its users and what systems does it interact with?). ii. Identifying external interfaces, both human and system to system. The technology of an existing system with which the system must interface can constrain the requirements and design. iii. Identifying major functionality that must be provided by the system and describing it. iv. Documenting assumptions upon which the requirements are based. If the assumptions change, then so might the requirements. v. Communicating with users, clients, business analysts and developers so that the system that is developed meets the clients expectations. d) Some reasons an organization might start a new system development project: i. new business requirements, ii. replacing an old system, iii. the merging of two existing systems due to acquisition and merger, etc. e) Levels and Types of Requirements: i. Business requirements these define the high level processes that occur in an organization. For example, for a Banking system, what is the purpose of developing the new banking system? Is it going to replace an old system or is it going to be used in a new line of business, etc.? ii. System requirements what the computer system must do for its users. These are the functional requirements of the system. iii. Internal requirements relating to technology, personnel, hardware platform requirements, etc. These are the non functional requirements. f) Challenges of Writing Requirements: i. Problem Domain Complexity: The biggest challenge is finding out about the problem domain (the environment in which the system will operate, e.g. our video shop). ii. Person to Person Communication: For successful requirements analysis, groups involved need to convey information to one another effectively. iii. Constant Change: Changing requirements are an inevitable aspect of the software development life cycle. iv. Writing Requirements in UP: Key requirement artifacts; Use case Model and Supplementary Specifications.

4 g) Actors: Actors are entities outside of the system that will interact with the system. The term for Users in UML. Three kinds of Roles for Actors: i. Primary: A person in this role directly uses the system to enter, view process or extract information. ii. Secondary: A person in this role does not directly use the system, but uses or generates data for the system. iii. External: Any system that receives or generates data for the system. h) Writing Use Cases: i. Four Step Procedure to define use cases: 1. Define the right system boundary 2. Identify the primary actors 3. Identify the actors goals 4. Define and name the use cases. ii. Three types of format for writing use cases. 1. Brief use case it has one paragraph summary and normally used for main success scenario. 2. Casual use case it is an informal paragraph which has multiple paragraphs that cover various scenarios. 3. Fully dressed the most comprehensive that shows all the steps and variations. It has supporting sections, such as preconditions and success guarantees. However, detail discussion about fully dressed use case is beyond the syllabus. i) Use Case Diagrams: It provides a static view of a system to allow us to have an overview of the system and the relationship between the use cases as well as the actors of the system. j) Activity Diagram: Activity diagrams are very similar to FlowChart diagrams and they describe how things flow and connect to next actions. k) Potential Problems with use Cases: i. The system boundary is undefined or inconstant. ii. The use cases are written from the system s point of view. iii. The actor names are inconsistent. iv. There are too many use cases. v. The actor to use case relationships resemble a spider s web. vi. The use case specifications are too long. vii. The use case specifications are confusing. viii. The use case doesn t correctly describe functional entitlement. ix. The customer doesn t understand the use cases. x. The use cases are never finished. Activity Diagram l) How to Avoid Potential Problems: i. Explicitly define the system s boundary. This makes clear what is inside the system and what is outside the system. ii. Make use of a standardized template for documenting your use case specifications. iii. When writing use cases, focus on the goals of the actors. iv. Don t make use case specification synonymous with user interface design. m) Possibilities of Packaging the Use Case: i. By functional areas. For example, put everything to do with money in one package etc ii. By actor. For example, put all the cashier s use cases in one package. iii. By style of use case. For example, put all the simple setup/maintenance style use cases in one package. iv. By importance or iteration. For example, all the use cases that are going to be built first in one package. v. By physical implementation. For example, all the use cases that are delivered via the Web

5 3. Object Oriented Modelling a) Outcome of the Inception Phase should include: i. Vision document: a general vision of the project s requirements, key features, and main constraints ii. Initial use case model (10 20% complete) iii. initial project glossary iv. Initial business case, which includes business context, success criteria (revenue projection, market recognition, and so on), and financial forecast v. Initial risk assessment vi. Project plan showing phases and iterations vii. Business model, if necessary viii. One or several simple prototypes. b) Evaluation Criteria for the Inception Phase: i. Stakeholders agree on scope definition and cost/schedule estimates ii. Requirements understanding as presented in the primary use cases iii. Credibility of the cost/schedule estimates, priorities, risks and development process iv. Depth and breadth of any architectural prototype that was developed v. Actual expenditures versus planned expenditures. c) Elaboration Phase: In the elaboration phase, an executable architecture prototype is built in one or more iterations, depending on the scope, size, risk and novelty of the project. Most Critical of the four phases. i. Outcome of the Elaboration Phase: 1. Use case model (at least 80% complete): all use cases and actors have been identified, and most use case descriptions have been developed 2. Supplementary requirements: these capture the non functional requirements and any requirements that are not associated with a specific use case 3. System Sequence Diagrams that describe the events and their order: these are generated by the actors and the system or inter system events 4. Domain model: a visualization of things in the domain of interest 5. Design model (partially complete): a set of diagrams that describes the logical design of the system 6. Software architecture document: this summarizes the key architectural issues and their resolution in the design 7. Data model (partially complete): this includes the database schema and the mapping strategies between object and non object representations 8. Test model (partially complete): this describes what will be tested 9. Executable architectural prototype 10. Revised risk list and a revised business case 11. Development plan for the overall project, including the coarse grained project plan, showing iterations and evaluation criteria for each iteration 12. Updated development case specifying the process to be used 13. Preliminary user manual (optional). d) Hierarchy of Models in UP: i. Conceptual Model End user point of view of how things would work nothing of how the processing happens ii. Logical Model How the system should be done Logically how things would happen Independent iii. Physical Model Cannot be changed from one machine to another. The final design model, showing how things will be done or built and depicting all platform details, data storage and other implementation details.

6 e) System Sequence Diagrams (SSD): illustrate events and operations sequentially, starting with the external actor s input to the system. f) Domain Model: A representation of things in the real world, simplified version of Business Model. In a domain model, we have three types of information: i. Domain object (or conceptual class) which identifies a business entity or concept, e.g. shop, video CD, member, etc. ii. Associations between domain objects which define relevant relationships, those that capture business information that needs to be preserved, and their multiplicity, e.g. a shop has many video CDs, a member borrows many video CDs. iii. Domain object attributes which are logical data values of an object, e.g. each member may have a member s number which is an attribute of the object member. g) Conceptual Classes: Represents something physical or conceptual in a business. Three kinds are: i. Concrete objects: are tangible, i.e. has a physical presence. Eg Video CD, Banana etc ii. Conceptual objects: are intangible and often far more difficult to understand. Eg. School, Video Title etc. iii. Event and state objects are highly abstract in nature. They are related in that typically when an event of any significance occurs, some or more objects will switch to a different state. An example of an event and state object in the video shop is borrow video. We can see that borrow video events will typically change the status (e.g. borrow video list) of the object. h) Specification Conceptual Classes: When it s appropriate to use: i. There is a need to describe about an item or service, independent of the current existence of these items or services ii. Deleting instances of things that they describe (for Example: Item) results in a loss of information that need to be maintained iii. It reduces duplicated information i) Associations: An object oriented term for relationship. In UML, an association is a relationship expressing the interaction between instances of two conceptual classes, represented by the verb that describes what they do to each other, and/or by the nouns for the roles that each plays in the life of the other. i. Multiplicity: The number of instances of each class that can participate in an occurrence of the association. j) Attributes: are the pieces of data we use to identify or describe things. Eg. a person has a name, date of birth and eye colour. i. Criteria to eliminate unnecessary and incorrect attributes: 1. If the independent existence of an entity is important, rather than just its value, then it is a separate class. 2. An entity that has features of its own within the given application is a separate class. 3. If the value of an attribute depends on a particular context then consider restating the attribute as a qualifier. 4. A name is a class attribute when it does not depend on context, especially when it need not be unique. 5. Do not list object identifiers that are used purely for unambiguously referencing an object. 6. If an attribute describes the internal state of a class that is invisible outside the class then eliminate it from the analysis. 7. Omit minor attributes that are unlikely to affect most operations.

7 4. More Use Cases a) Three Kinds of Relationships Between Use Cases: i. Include: Typically where a set of use cases each includes some common functionality that is expressed in one shared sub use case. ii. Extend: Where the functionality of a use case is extended by referencing other use cases; and iii. Generalize: Where several use cases share something similar. b) State Diagram: A state diagram shows the life cycle of an object: what events it experiences, its transitions, and the states it is in between these events. On these diagrams we then write the use case names, which in doing so, we often discover missing use cases. c) CRUD (Create + Read + Update + Delete): Second technique that helps us to find missing use cases. We need to examine every class in the conceptual class diagram to ensure that either we have all of these operations, or we can decide not to include them. State Diagram showing Super State d) Business Rules: Probably the most basic part of requirements analysis and should be done concurrently with the use case modeling. Besides their role in the use cases, business rules are also linked to other artifacts in the software development process. e) Robustness Diagram: i. Robustness analysis (Use Case Analysis): Involves analyzing the narrative text of use cases and identifying a first guess set of objects that will participate in each use case. This technique can help us to produce a preliminary design. Robustness diagrams help us cross the divide from analysis to design. The objects on robustness diagrams can be classified into three types, namely: 1. Boundary Objects: Represent all connections between the internal objects of the system and the outside world. Eg. User Interface like Window or Dialoguebox, Barcode Readers etc 2. Entity Objects: Objects that represent data that have to be remembered by the system, either on a more permanent basis beyond the execution of the use case (such data might be stored in a database table), or for the execution of a use case. 3. Controller Objects: Represent anything else you find you need to make the whole diagram make sense. Eg. business rules or processes that are captured by a use case

8 5. Dynamic Modelling a) Design Model: In the design Model, we will produce two diagrams: i. Design class diagram: Defining classes and the relationships between them. It represents the static aspect of the design model. ii. Interaction diagrams: which define class/object interactions. They represent the dynamic aspect of the design model. There are two types of interaction diagrams, namely the sequence diagrams and the collaboration diagrams. b) Class: A collection of objects with common structures, behaviors, relationships and common semantics. i. Identifying Classes: 1. Use the requirements model/use cases/domain model, and find the nouns. These will most likely be classes. 2. Use the technique of robustness analysis to identify additional classes. 3. Suggest responsibilities. 4. Identify attributes. 5. Identify operations. ii. In UML, a class is drawn as a rectangle with three compartments: one for the class name and any modifiers, one for attributes and one for operations. iii. Attribute: The structure of a class is represented by its attributes. Has a name and type separated by a colon : iv. Operations: Behavior of a class/object that acts upon the attributes in the class/object. Can have input (in), output (out) and input/output (inout) arguments. All arguments have a name and type (separated by a colon) and are prefixed by the term describing what type of argument they are. v. Three types of operations existing in a Class Diagram: 1. Constructor operation is used to create new objects for a class by giving initial values for the attributes. The name of the constructor operation is same with the name of the class. 2. Query operation is used to access only the object s state and this operation does not change the state of a object (e.g. getname, getpay, RetrieveID, checkpassword, etc). 3. Update operation is used to update or change the value of attribute(s) of a object. This update operation will change the state of the object (e.g. setname, updateage, etc). vi. To specify an object, we also use a rectangle, but the name is underlined. c) Interaction Diagram: Used to define the class/object interactions within the system. They show the dynamic aspect of the system, e.g. the flow of messages. Two types are: i. Collaboration diagrams: Depict an interaction among elements of a system and their relationships organized in time and space. Its elements are: 1. Classes, denoted as class rectangles, to represent the objects involved in the interaction. 2. Association roles, which represent roles that links may play within the interaction. 3. Messages, denoted as labeled arrows, to represent messages sent between objects. The

9 arrow points from the object that sends the message to the receiving object. Optionally, parameters are passed as part of the message; and also optionally, some information, or another object is passed back. ii. Sequence diagrams: Sequence diagrams depict an interaction among elements of a system organized in time sequence. Its elements are: 1. Class roles, denoted as class rectangles, represent roles that objects may play within the interaction. 2. Lifelines, denoted as dashed lines, represent the existence of an object over a period of time. 3. Activations, denoted as thin rectangles, represent the time during which an object is performing an operation. 4. Messages, denoted as labeled horizontal arrows between lifelines, represent communication between objects. d) Design Class Diagram: Describes classes that will exist in software. i. Visibility: The visibility of an attribute or method within a class determines what other objects can access it. It is a desirable design practice to keep attributes of your class private, providing access to them through accessor methods. The options are: 1. Public visibility denoted by + in UML (or by an icon in the tool) means that objects of any class can use the attribute or operation. 2. Protected visibility denoted by # in UML (or by an icon in the tool) means that only objects of that class or its subclasses can use the attribute or operation. 3. Private visibility denoted by in UML (or by an icon in the tool) means that objects of only that class can use the attribute or operation. ii. Association: An association is a connection between classes and is shown as a line connecting the related classes. If there are no arrows on the line, it is assumed to be bidirectional. iii. Composition ( Uses a Relationship): (a.k.a. composite aggregation) is a stronger form of aggregation where the part is created and destroyed with the whole. Eg. A rectangle is made up of several points. If the rectangle is destroyed, so are the points. (Filled Diamond) iv. Aggregation ( Has a Relationship): In an aggregation relationship, the part may be independent of the whole but the whole requires the part. Eg. An order is made up of several products, but a product continues to exist even if the order is destroyed. (Unfilled Diamond) v. Differences between Conceptual and Design Class Diagrams Concept Conceptual Design Classes Relationships Inheritance Cardinalities Attributes Methods Yes Represents Real World Entities Has a Navigation is irrelevant Is a Relationship Yes Show key ones Types are optional Usually very few Yes Represents Software Classes Adds direction to the Has a relationships. Pass Messages to Classes Inherit code Yes Add more Attributes Add Types Add many more, with full parameters

10 e) Inheritance ( Is a Relationship): Capability of a class to use the properties and methods of another class while adding its own functionality. (Filled Arrow) i. Polymorphism: Capability of an action or method to do different things based on the object that it is acting upon. Eg. While giving the command to print a file, the owner object does not need to know what type of document it is before giving the command. It means that the exact code of the method will change according to the class of the object that receives the message. ii. Concrete & Abstract Classes: Are Specified in either Italics or the word concrete or abstract are added within curly brackets. 1. Abstract Class: A class that never has any objects (that we can physically touch). Eg. Groupings like Fruits etc. Abstract classes should not inherit from concrete classes 2. Concrete Class: A class that has objects (that we can physically touch). Eg. Apple. Concrete classes should always be the leaves f) Design Principles: i. Coupling: Strength of association between two classes. Strong coupling is bad. Four basic forms of coupling: 1. Identity coupling: measures the level of connectivity of a design. This is shown as an association on a class diagram. A one way association is less coupled than a two way association. 2. Representational coupling: Measure of how one object accesses the data of another object. 3. Subclass coupling: When a client class directly references a subclass rather than its superclass. This is to be avoided wherever possible. 4. Inheritance coupling: A subclass is related to its superclass by inheritance coupling. ii. Cohesion: Measure of how focused the functionality of a class is. High cohesion if class represents only one idea. Eg. The class VideoSpecification defines a particular title of a movie. It tells us something about that movie (its name, the actors, year it was made, ratings, and so on). The class Video is all about one particular tape of a video specification. Thus Video and VideoSpecification are separate classes. If they were merged into one, the resulting class would not have high cohesion.

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

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

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

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

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

COSC 3351 Software Design. An Introduction to UML (I)

COSC 3351 Software Design. An Introduction to UML (I) COSC 3351 Software Design An Introduction to UML (I) This lecture contains material from: http://wps.prenhall.com/esm_pfleeger_softengtp_2 http://sunset.usc.edu/classes/cs577a_2000/lectures/05/ec-05.ppt

More information

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling

More information

Chapter 1: Programming Principles

Chapter 1: Programming Principles Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key

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

Basic Structural Modeling. Copyright Joey Paquet,

Basic Structural Modeling. Copyright Joey Paquet, Basic Structural Modeling Copyright Joey Paquet, 2000 1 Part I Classes Copyright Joey Paquet, 2000 2 Classes Description of a set of objects sharing the same attributes, operations and semantics Abstraction

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

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

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD Domain analysis Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD OOA concerned with what, not how OOA activities focus on the domain layer

More information

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester Lab Manual Object Oriented Analysis And Design TE(Computer) VI semester Index Sr. No. Title of Programming Assignment Page No. 1 2 3 4 5 6 7 8 9 10 Study of Use Case Diagram Study of Activity Diagram Study

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

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

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

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers

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

*ANSWERS * **********************************

*ANSWERS * ********************************** CS/183/17/SS07 UNIVERSITY OF SURREY BSc Programmes in Computing Level 1 Examination CS183: Systems Analysis and Design Time allowed: 2 hours Spring Semester 2007 Answer ALL questions in Section A and TWO

More information

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science Lesson 11 INTRODUCING UML W.C.Udwela Department of Mathematics & Computer Science Why we model? Central part of all the activities We build model to Communicate Visualize and control Better understand

More information

Introduction to UML. Danang Wahyu utomo

Introduction to UML. Danang Wahyu utomo Introduction to UML Danang Wahyu utomo danang.wu@dsn.dinus.ac.id 085 740 955 623 Evolution of OO Development Methods History of OOAD leading to UML Why Model? Analyse the problem domain - Simplify reality

More information

The Web Service Sample

The Web Service Sample The Web Service Sample Catapulse Pacitic Bank The Rational Unified Process is a roadmap for engineering a piece of software. It is flexible and scalable enough to be applied to projects of varying sizes.

More information

Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development

More information

Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel

Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel Enn Õunapuu enn.ounapuu@ttu.ee What is a domain model? A domain model captures the most important types of objects in the context

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

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance

More 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

SE 1: Software Requirements Specification and Analysis

SE 1: Software Requirements Specification and Analysis SE 1: Software Requirements Specification and Analysis Lecture 9: UML Class (Concept), Object, Communication Diagrams Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445

More information

ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow

ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow Box Leangsuksun SWECO Endowed Professor, Computer Science Louisiana Tech University box@latech.edu CTO, PB Tech International

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

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

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

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

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch Class diagrams Modeling with UML Chapter 2, part 2 CS 4354 Summer II 2015 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe

More information

Object Oriented Analysis and Design - Part2(Design)

Object Oriented Analysis and Design - Part2(Design) Object Oriented Analysis and Design - Part2(Design) Exam A QUESTION 1 Which statement is true about elements within the subsystem and public visibility? A. Only the subset of elements that define the subsystems

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

Unified Modeling Language (UML) Class Diagram

Unified Modeling Language (UML) Class Diagram 1 / 10 Unified Modeling Language (UML) Class Diagram Miaoqing Huang University of Arkansas Spring 2010 2 / 10 Outline 1 2 3 / 10 Class Diagram Class diagrams show the static structure of the classes that

More information

UML Tutorial. Unified Modeling Language UML Tutorial

UML Tutorial. Unified Modeling Language UML Tutorial UML Tutorial Unified Modeling Language UML Tutorial A Unified Modeling Language is a language for specifying, constructing, visualizing and documenting the software system and its components. UML is a

More information

Outline of Unified Process

Outline of Unified Process Outline of Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule(3/3) March 12 13:00 Unified Process and COMET 14:30 Case Study of Elevator Control System (problem definition,

More information

Unified Modeling Language (UML) and Modeling

Unified Modeling Language (UML) and Modeling LECTURE-11 Unified Modeling Language (UML) and Modeling UML is a graphical notation useful for OO analysis and design Allows representing various aspects of the system Various notations are used to build

More information

Meltem Özturan

Meltem Özturan Meltem Özturan www.mis.boun.edu.tr/ozturan/samd 1 2 Modeling System Requirements Object Oriented Approach to Requirements OOA considers an IS as a set of objects that work together to carry out the function.

More information

2 UML for OOAD. 2.1 What is UML? 2.2 Classes in UML 2.3 Relations in UML 2.4 Static and Dynamic Design with UML. UML for OOAD Stefan Kluth 1

2 UML for OOAD. 2.1 What is UML? 2.2 Classes in UML 2.3 Relations in UML 2.4 Static and Dynamic Design with UML. UML for OOAD Stefan Kluth 1 2 UML for OOAD 2.1 What is UML? 2.2 Classes in UML 2.3 Relations in UML 2.4 Static and Dynamic Design with UML UML for OOAD Stefan Kluth 1 2.1 UML Background "The Unified Modelling Language (UML) is a

More information

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop detailed sequence diagrams

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

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

Unified Modeling Language (UML)

Unified Modeling Language (UML) 1 / 45 Unified Modeling Language (UML) Miaoqing Huang University of Arkansas 2 / 45 Outline 1 Introduction 2 Use Case Diagram 3 Class Diagram 4 Sequence Diagram 3 / 45 Outline 1 Introduction 2 Use Case

More information

Object-Oriented Design and Modeling Using the UML

Object-Oriented Design and Modeling Using the UML Design Classes Object-Oriented Design and Modeling Using the UML Based on Chapter 18 of Whitten, Bentley, and Dittman: Systems Analysis and Design for the Global Enterprise (7th Ed). McGraw Hill. 2007

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT OBJECT ORIENTED PROGRAMMING

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT OBJECT ORIENTED PROGRAMMING BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT OBJECT ORIENTED PROGRAMMING Wednesady 23 rd March 2016 Afternoon Answer any FOUR questions out of SIX. All

More information

UML Is Not a Methodology

UML Is Not a Methodology UML COSC 4354 1 UML Is Not a Methodology UML is an acronym for Unified Modeling Language UML is a language A language is simply a tool for communication and exchanging ideas UML is a notation, not a methodology

More information

Object-Oriented Programming Paradigm

Object-Oriented Programming Paradigm Object-Oriented Programming Paradigm Sample Courseware Object-Oriented Programming Paradigm Object-oriented programming approach allows programmers to write computer programs by representing elements of

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

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all

More 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

Structured and Object Oriented Analysis and Design

Structured and Object Oriented Analysis and Design RAMRAO ADIK INSTITUTE OF TECHNOLOGY, NERUL Department of Computer Engineering Lab Manual Structured and Object Oriented Analysis and Design 2015-2016 List of Experiments Subject: Structured and object

More information

Vidyalankar. T.Y. Diploma : Sem. VI [IF/CM] Object Oriented Modeling and Design Prelim Question Paper Solution

Vidyalankar. T.Y. Diploma : Sem. VI [IF/CM] Object Oriented Modeling and Design Prelim Question Paper Solution T.Y. Diploma : Sem. VI [IF/CM] Object Oriented Modeling and Design Prelim Question Paper Solution Q.1(a) Attempt any THREE of the following [12] Q.1(a) (i) What is modeling? Also state its four features.

More information

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1. Outline of UML and Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule Feb. 27th 13:00 Scope and Goal 14:30 Basic Concepts on Representing the World (object, class, association,

More information

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Class Diagram What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification

More information

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51 What is a Class Diagram? Class Diagram A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification

More information

VEL TECH HIGH TECH Dr. RANGARAJAN Dr. SAKUNTHALA ENGINEERING COLLEGE UNIT 1 UML DIAGRAMS

VEL TECH HIGH TECH Dr. RANGARAJAN Dr. SAKUNTHALA ENGINEERING COLLEGE UNIT 1 UML DIAGRAMS UNIT 1 UML DIAGRAMS Introduction to OOAD Unified Process - UML diagrams Use Case Class Diagrams Interaction Diagrams State Diagrams Activity Diagrams Package, component and Deployment Diagrams. INTRODUCTION

More information

Object-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered

Object-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered Object-oriented development Object-oriented Design Object-oriented analysis, design and programming are related but distinct. OOA is concerned with developing an object model of the application domain.

More 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 : Analysis Modeling

Chapter : Analysis Modeling Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints

More information

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus UML 2.0 Division of Computer Science, College of Computing Hanyang University ERICA Campus Introduction to UML 2.0 UML Unified Modeling Language Visual language for specifying, constructing and documenting

More information

Patterns and Testing

Patterns and Testing and Lecture # 7 Department of Computer Science and Technology University of Bedfordshire Written by David Goodwin, based on the lectures of Marc Conrad and Dayou Li and on the book Applying UML and (3

More information

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I Introduction to OOAD What is OOAD? What is UML? What are the United process(up) phases - Case study the NextGen POS system, Inception -Use case Modeling

More information

SEEM4570 System Design and Implementation Lecture 11 UML

SEEM4570 System Design and Implementation Lecture 11 UML SEEM4570 System Design and Implementation Lecture 11 UML Introduction In the previous lecture, we talked about software development life cycle in a conceptual level E.g. we need to write documents, diagrams,

More 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

12 Tutorial on UML. TIMe TIMe Electronic Textbook

12 Tutorial on UML. TIMe TIMe Electronic Textbook TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3

More information

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering Module UFC016QM Object-Oriented Design and Programming O-O Design Unit 2: Objects and Classes Faculty of Computing, Engineering and Mathematical Sciences Schedule Quick recap on Use Case diagrams UWE Flix

More information

20. Business Process Analysis (2)

20. Business Process Analysis (2) 20. Business Process Analysis (2) DE + IA (INFO 243) - 31 March 2008 Bob Glushko 1 of 38 3/31/2008 8:00 AM Plan for Today's Class Process Patterns at Different Levels in the "Abstraction Hierarchy" Control

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

Design of Embedded Systems

Design of Embedded Systems Design of Embedded Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-01-02 José Costa (DEI/IST) Design of Embedded Systems 1

More information

LECTURE 3: SOFTWARE DESIGN. Software Engineering Mike Wooldridge

LECTURE 3: SOFTWARE DESIGN. Software Engineering Mike Wooldridge LECTURE 3: SOFTWARE DESIGN Mike Wooldridge 1 Design Computer systems are not monolithic: they are usually composed of multiple, interacting modules. Modularity has long been seen as a key to cheap, high

More information

Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER. Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE. gile 1.

Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER. Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE. gile 1. THE OBJECT PRIMER THIRD EDITION Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE gile 1 odeling Contents Acknowledgments Foreword Preface

More information

Analysis and Design with UML

Analysis and Design with UML Analysis and Design with UML Page 1 Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process Page 2 What is Visual Modeling? Item Order

More information

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Modeling Applications using Language Mappings Programmer s Reference Manual How to use this Reference Card: The consists of a set of fundamental modeling elements which appear

More information

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process Quatrani_Ch.01.fm Page 1 Friday, October 27, 2000 9:02 AM Chapter 1 Introduction What Is Visual Modeling? The Triangle for Success The Role of Notation History of the UML The Role of Process What Is Iterative

More information

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

Examples. Object Orientated Analysis and Design. Benjamin Kenwright Examples Object Orientated Analysis and Design Benjamin Kenwright Outline Revision Questions Group Project Review Deliverables Example System Problem Case Studey Group Project Case-Study Example Vision

More information

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch Class diagrams Modeling with UML Chapter 2, part 2 CS 4354 Summer II 2014 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe

More information

OO Project Management

OO Project Management OO Project Management Twin Cities Java User s Group November 17, 1999 Mary Poppendieck Poppendieck.LLC Object Oriented Development Objects Simulate the Real World Example: Process Control On/Off Switch

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

UML REFERENCE SHEETS. 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site:

UML REFERENCE SHEETS. 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site: UML Reference Sheets 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site: http://www.tatanka.com/ Revision Information This document was last revised 2014.03.02. The current

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

Object-Oriented Analysis and Design Using UML

Object-Oriented Analysis and Design Using UML Object-Oriented Analysis and Design Using UML Student Guide - Volume 1 OO-226 Rev C D61808GC10 Edition 1.0 D62408 Copyright 2003, 2009, Oracle and/or its affiliates. All rights reserved. Disclaimer This

More information

CaseComplete Roadmap

CaseComplete Roadmap CaseComplete Roadmap Copyright 2004-2014 Serlio Software Development Corporation Contents Get started... 1 Create a project... 1 Set the vision and scope... 1 Brainstorm for primary actors and their goals...

More information

UML & OO Fundamentals. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012

UML & OO Fundamentals. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012 UML & OO Fundamentals CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012 1 Goals of the Lecture Review the material in Chapter 2 of the Textbook Cover key parts of the UML notation

More information

Software Life-Cycle Models

Software Life-Cycle Models Software Life-Cycle Models CMPSC 487 Lecture 03 Topics: UML Class Diagram Rosenburg Chap 2. Domain Modeling A. UML: Unified Modeling Language UML is a general-purpose, developmental, modeling language

More information

Introduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M

Introduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M Introduction to UML Part I 1 What is UML? Unified Modeling Language, a standard language for designing and documenting a system in an object- oriented manner. It s a language by which technical architects

More information

Chapter 5: Structural Modeling

Chapter 5: Structural Modeling Chapter 5: Structural Modeling Objectives Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. Understand the processes used to create CRC cards, class

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

1: Introduction to Object (1)

1: Introduction to Object (1) 1: Introduction to Object (1) 김동원 2003.01.20 Overview (1) The progress of abstraction Smalltalk Class & Object Interface The hidden implementation Reusing the implementation Inheritance: Reusing the interface

More information

user.book Page 45 Friday, April 8, :05 AM Part 2 BASIC STRUCTURAL MODELING

user.book Page 45 Friday, April 8, :05 AM Part 2 BASIC STRUCTURAL MODELING user.book Page 45 Friday, April 8, 2005 10:05 AM Part 2 BASIC STRUCTURAL MODELING user.book Page 46 Friday, April 8, 2005 10:05 AM user.book Page 47 Friday, April 8, 2005 10:05 AM Chapter 4 CLASSES In

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

defined. defined. defined. defined. defined. defined. defined. defined. defined.

defined. defined. defined. defined. defined. defined. defined. defined. defined. Table of Contents Week 1 Software Development... 2 Software Eng Life-Cycle Development Phases... 2 Methodologies... 2 Week 2 - XP, Scrum, Agile... 3 Extreme Programming (XP)... 3 Values of XP Programming...

More information

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

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER 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