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

Size: px
Start display at page:

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

Transcription

1 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 technology origin In the 1990s object-oriented programming (OOP) became acdcpted into mainstream software development methogology. Structured Programming had inspired Structured Analysis, so by analogy, it was thought that we ought to be able to apply the object paradigm to systems analysis, too. How did that work out? The object-oriented paradigm (We've seen this before but it's important.) Abstraction Encapsulation Inheritance Polymorphism Object-oriented programming That sounds good. Can we extend the concept to systems analysis (OOA)? Early (pre-uml) classic OOA work (textbooks) Coad & Yourdon: Object Oriented Analysis Booch: Object-Oriented Analysis & Design Rumbaugh: Object-Oriented Modeling & Design Jacobson: Others The Object Advantage Why isn't this course using one of those books? COMP 320 /420 Spring copyright 2008 Conrad Weisert

2 The "three amigos" Booch, Rumbaugh, & Jacobson were competitors each promoted his own version of OOA (differing mostly in graphical symbols). All 3 ended up working at Rational Software! Rational told them to cooperate on a unified approach. Now they all agree on UML Rational sells the dominant C.A.S.E. tools for O.O modeling, including Rational Rose IBM has bought Rational Software. Why is the UML of interest today? Wide acceptance among I.S. professionals for "analysis and design" What's "analysis & design"? Publicized, documented, and promoted by leading gurus, including: Grady Booch, James Rumbaugh, Ivar Jacobson. Martin Fowler, Ed Yourdon, etc. What's that? Blessed as a standard by OMG (for "modeling") Many recruiting ads now call for UML expertise/experience Why? Therefore.. Any software development organization (or individual professional) has to recognize the UML: a. by embracing it as the main components of its systems analysis methodology, or b. by rejecting it and adopting a practical alternative, or c. by selectively integrating the UML's best features into an established mainstream methodology, such as structured analysis (SA) We cannot ignore the UML What is UML? A mostly graphical language for system modeling. "a modeling language for specifying, visualizing, constructing, and documenting the artifacts of a system-intensive process." -- Alhir Not specifically intended for a functional specification (ESD, detailed requirements) But many people (including some "experts" who write books and teach courses) still think it was! Illustrates (again) confusion between analysis and design. Fails the user-understandability criterion for system specifications. COMP 320 /420 Spring copyright 2008 Conrad Weisert

3 Original UML objectives 1. To model systems, from concept to executable artifact, using object-oriented techniques. 2. To address the issues of scale inherent in complex, mission-critical systems. 3. To create a modeling language usable by both humans and machines. --UML User Guide, preface Who are the creators? Who are the audience? Intended scope "A healthy software organization produces all sorts of artifacts in addition to raw executable code. These artifacts include, but are not limited to: Requirements Architecture Design Source code Project plans Tests Prototypes Releases "The UML addresses the documentation of a system's architecture and all of its details. The UML also provides a language for expressing requirements and for tests. Finally, the UML provides a language for modeling the activities of project planning and release management" -- UML User Guide, p. 16 What does that mean? UML has been immune from most criticism "It's not a methodology, only a language" Therefore UML promoters reject or ignore criticisms on methodology grounds. "It's not for system specification, but for system modeling." Therefore UML promoters reject criticisms on understandability grounds. "You must have requirements first!" --Oops! Is the UML a methodology component? Of course. When UML proponents claim that it's not, they mean only that it's not a process or a system-development life-cycle. Actually it is closely tied to its own standard life cycle! COMP 320 /420 Spring copyright 2008 Conrad Weisert

4 The critical point: We know that The end of phase 3 (in our model life cycle), External System Design, is the most important point in a project. It is the last point: at which changes can be made without huge cost, where the sponsoring end users can be expected to understand the deliverables in full detail, that is (or should be) independent of: choice of operating platform(s) make-or-buy choice for major software components development tools and methodologies etc. Weisert's Rule #2 on project failure Inadequate external design is one of the two most common reasons why projects fail. That is, the content is one or more of these: incomplete erroneous, inconsistent incomprehensible to the intended audiences mixed up with internal design especially this--why? Five views of a system (according to UML) Design view Process view use-case view Implementation view Deployment view - from UML User's Guide, p. 31 What ties them all together? Who makes sure they're consistent? How? Modeling different views "When you model a system from different views, you are in effect constructing your system simultaneously from multiple dimensions... If you do a poor job of choosing these views or if you focus on one view at the expense of all others, you run the risk of hiding issues and deferring problems that will eventually destroy any chance of success." --UML U.G., p. 98 Do we believe that? How do we decide? COMP 320 /420 Spring copyright 2008 Conrad Weisert

5 Question Is is desirable (acceptable) for the systems analyst to prepare two separate versions of the ESD deliverables? one in business-oriented language for the sponsoring end users the other in technical language for the developers What about five different versions ("views") Some UML diagrams (as of UML 2.0) Structural diagrams a. Class diagrams b. Component diagrams c. Composite structure diagrams d. Deployment diagrams e. Package diagrams f. Object diagrams Behavioral diagrams g. Activity diagrams h. Communication diagrams i. Interaction diagrams Sequence diagrams Collaboration diagrams j. State-transition diagrams k. Use-case diagrams Wow! What does this imply? Reminder: There is no such discipline as "analysis & design" Systems analysis and System Design are done at different times during a project demand very different skills and techniques Analysis describes the external view of a proposed new software system. What Design describes the internal view of a system How The UML's Life Cycle Since UML claims to be process-independent, UML gurus assure us that it's OK to follow any SDLC we like, as long as that life cycle is: use-case driven architecture centric iterative and incremental How many SDLCs can satisfy those criteria? By the way, here's one ("Objectory" -Jacobson) Inception phase Elaboration phase Construction phase Transition phase Rational has renamed it UP COMP 320 /420 Spring copyright 2008 Conrad Weisert

6 Initial Objectory (UP) phases Inception phase: Like traditional "project initiation" + "business requirements" Defines: project scope initial justification Elaboration phase Like traditional "functional specification" or "external system design" (ESD) "During the elaboration phase you need to get a good handle on the requirements and their relative priorities." -Fowler, p. 17 Objectory phases (continued) Elaboration phase (another view) "... usually uses one iteration cycle and involves the following activities: Elaborate the specification of the effort from the previous phase. Baseline and completely delimit scope, objectives, and requirements. Baseline the business case by solidifying the vision, solifying success criteria, and mitigating the highest risks. Baseline the plan with a schedule. Distribute the requirements among multiple iteration cycles within the construction phase. - (more) Objectory phases (continued) Elaboration phase (continued) "Focus on understanding or forming a notion of the problem to determine the requirements that the problem imposes on its solution... establishing and verifying the foundation for the overall solution (architectural design) and distributing the requirements among the iteration cycles of the construction development phase) - Alhir, p. 23 Clearing it all up "During the elaboration phase, as we have already noted, we build the architecture. We identify the use cases that have a significant impact on the architecture. We realize these use cases as collaborations. It is in this way that we identify most of the subsystems and interfaces--at least the ones that are architecturally interesting. Once most of the subsystems and interfaces are identified, we flesh them out, that is, write the code that implements them. Some of this work is done before we release the architectural baseline and it continues throughout all of the workflows." - Ivar Jacobson COMP 320 /420 Spring copyright 2008 Conrad Weisert

7 Objectory phases (concluded) Summary: A little of this and a little of that in each of the four phases! Emphasis on system architecture from the start poses serious problems: obscures the business problem or opportunity blurs distinction between analysis and design rules out consideration of packaged software product Descriptions by gurus permeated by vagueness and lack of rigor ("get a handle on", "form a notion of", etc.) Class diagrams "Static design view" of a system A point of similarity between UML and other versions of OOA (e.g. Coad & Yourdon) For each type of data item specifies: its attributes (components / "has-a" hierarchy) its behavior (methods / interface) Relationships among classes: Inheritance ("is-a hierarchy) Entity-relationships Logical database design Some other UML diagrams that may be useful in an ESD Interaction and collaboration diagrams State-transition diagrams--what happens in response to a triggering event? Important UML issues Assumes custom architecture and in-house software development; little provision for evaluating, selecting, and integrating application program products. There's no clear starting point: for creating for reading No definite way to know when the model is complete. Relies on the system modeler to keep multiple independent diagrams and other documents consistent with one another. COMP 320 /420 Spring copyright 2008 Conrad Weisert

8 The bottom line: 5 serious UML shortcomings The user audience can't understand the specifications (ESD) in UML form There's no logical starting point or ending point Multiple views invite (and conceal) inconsistency. Weak distinction between analysis and design. Rules out buying packaged application software. The requirements crisis Large projects that try to follow UML / UP often experience a serious deficiency in gathering, organizing, understanding, and approving the users' requirements; Abandonment of structure, in particular: Where do we begin? How do we know when we're done? Overwhelming detail Compare with DeMarco's "Victorian novel" approach to system specification. How did we come to abandon requirements structure? Chronology from ca. 1991: Object-oriented analysis is good. How do we know? Analogy: Structured programming (1972) was good It led to structured analysis (1978), also good Object-oriented programming (1990) was good Object-oriented analysis must be good, too! How did we come to abandon requirements structure? Chronology from ca. 1991: Object-oriented analysis is good. UML (Booch-rumbaugh) is standard for OOA. Sponsoring users and other non-technical audience can't understand UML requirements specifications. Jacobson adds use-cases to UML Users can't understand use-cases either--oops! Unstructured "requirements lists" substituted! Back to the 1960s! What happened to our life cycle? COMP 320 /420 Spring copyright 2008 Conrad Weisert

9 An extreme reaction Chronology from ca. 1991: Object-oriented analysis is good. UML (Booch-rumbaugh) is standard for OOA. Sponsoring users and other non-technical audience can't understand UML requirements specifications. Jacobson adds use-cases to UML Users can't understand use-cases either--oops! Unstructured "requirements lists" substituted! Reject / ignore anything associated with discredited "traditional" or "structured" systems analysis (SA) A suggested 2018 way of documenting the results of systems analysis Continue using structured systems analysis (e.g. per DeMarco, Robertsons, etc.) as the framework but use O.O. class diagrams for data dictionary encapsulated behavior where appropriate, inheritance hierarchy Form your own judgment: based on your user community anything that works Sources Not a recommended bibliography, but just sources of quotes for this presentation from various UML advocates: Ivar Jacobson: The Object Advantage, AW, 1994, 330 pages Martin Fowler & Kendall Scott: UML Distilled, AW, 1997, 180 pages Grady Booch et al: The Unified Modeling Language User Guide, AW, 1999, 475 pages Si Alhir: UML in a Nutshell, O'Reilly, 1998, 275 pages Too heavy to bring all of them to a classroom in a different building from instructor's office! COMP 320 /420 Spring copyright 2008 Conrad Weisert

Session 1b: Overview of systems analysis methodology

Session 1b: Overview of systems analysis methodology Session 1b: Overview of systems analysis methodology The system specification (ESD) Ways of documenting an ESD Criteria to be satisfied Historical survey Comp 320 / 420, spring, 2018 Alternative names

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

Software Development. Modular Design and Algorithm Analysis

Software Development. Modular Design and Algorithm Analysis Software Development Modular Design and Algorithm Analysis Functional Decomposition Functional Decomposition in computer science, also known as factoring, refers to the process by which a complex problem

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

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

Software Engineering

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

More information

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

Session 2b: structured specifications Purpose and criteria Structured specification components Introduction to dataflow diagrams

Session 2b: structured specifications Purpose and criteria Structured specification components Introduction to dataflow diagrams Session 2b: structured specifications Purpose and criteria Structured specification components Introduction to dataflow diagrams COMP 320 / 420, Spring, 2018 Conrad Weisert Criteria for the ESD (from session

More information

Object Oriented System Development

Object Oriented System Development Object Oriented System Development Ratna Wardani Semester Genap, 2012 2/26/2012 Ratna W/PSBO2012 1 About This Course It shows how to apply OOAD technique to analyze and develop systems.. It gives you an

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

CS487 Midterm Exam Summer 2005

CS487 Midterm Exam Summer 2005 1. (4 Points) How does software differ from the artifacts produced by other engineering disciplines? 2. (10 Points) The waterfall model is appropriate for projects with what Characteristics? Page 1 of

More information

CISC 322 Software Architecture

CISC 322 Software Architecture CISC 322 Software Architecture UML - The Unified Modelling Language Nicolas Bettenburg 1 DEFINITION The Unified Modelling Language (UML) is a graphical language for visualizing, specifying, constructing,

More information

Requirements and Design Overview

Requirements and Design Overview Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions

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

Session 3b: Defining data items

Session 3b: Defining data items Session 3b: Defining data items Sources of data items Establishing a project data dictionary Defining an elementary item Defining a composite data item COMP 320 / 420, Spring, 2018 Mr. Weisert Q: Which

More information

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

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

More information

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

02291: System Integration

02291: System Integration 02291: System Integration Hubert Baumeister hub@imm.dtu.dk Spring 2012 Contents 1 General Information 1 2 Overview 3 3 Introduction to UML 11 4 Summary 16 1 General Information System Integration Type

More information

Systems Analysis & Design

Systems Analysis & Design Systems Analysis & Design Dr. Ahmed Lawgali Ahmed.lawgali@uob.edu.ly Slide 1 Systems Analysis & Design Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition

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

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

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1 ECE155: Engineering Design with Embedded Systems Winter 2013 Lecture 33 April 4, 2013 Patrick Lam version 1 Unied Modelling Language The Unied Modelling Language (UML) is a language for specifying and

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 4: Object-Oriented Methodologies Goals Object-Oriented Methodologies The Rumbaugh et al. OMT The Booch methodology Jacobson's

More information

CSC Advanced Object Oriented Programming, Spring Overview

CSC Advanced Object Oriented Programming, Spring Overview CSC 520 - Advanced Object Oriented Programming, Spring 2018 Overview Brief History 1960: Simula first object oriented language developed by researchers at the Norwegian Computing Center. 1970: Alan Kay

More information

Defining Data Items Conrad Weisert (2003)

Defining Data Items Conrad Weisert (2003) Defining Data Items Conrad Weisert (2003) Background -- one more missing component The failed-project documentation I described last month 2 lacked not only output specifications, but, worse, any data

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

Research Review on Basic Principles of Unified Modelling Language

Research Review on Basic Principles of Unified Modelling Language Research Review on Basic Principles of Unified Modelling Language Agha Salman Haider Sr Lecturer, Jazan University, Saudi Arabia Abstract This paper presents review of concepts, ideas and the introduction

More information

The Unified Modeling Language (UML)

The Unified Modeling Language (UML) The Unified Modeling Language (UML) A Very Distilled Introduction to The Unified Modeling Language (UML). A quick introduction to UML is given. Thereafter, the surface of class and activity diagrams and

More information

BDSA Introduction to OOAD. Jakob E. Bardram

BDSA Introduction to OOAD. Jakob E. Bardram BDSA Introduction to OOAD Jakob E. Bardram Programming is Fun Developing Quality Software is Hard. Craig Larman in [OOAD] book 2 Object-Oriented Analysis & Design (OOAD) This Lecture Unified Modeling Language

More information

Software Engineering with Objects and Components Open Issues and Course Summary

Software Engineering with Objects and Components Open Issues and Course Summary Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages

More information

1 Introduction. 1.1 Introduction

1 Introduction. 1.1 Introduction 1 Introduction 1.1 Introduction This book introduces and guides you through the use of the Unified Modeling Language (UML) and the Unified Process (both originally devised by Grady Booch, James Rumbaugh

More information

Software Design and Implementation. Example Architecture KIWC

Software Design and Implementation. Example Architecture KIWC Software Design and Implementation Example Architecture KIWC Previously on SDI What is design? What is traceability? What is architecture? Why architectures are important? Architectural styles KWIC The

More information

CHAPTER 1. Objects, UML, and Java

CHAPTER 1. Objects, UML, and Java chpt_01.fm Page 1 Tuesday, December 4, 2001 10:24 AM CHAPTER 1 Objects, UML, and Java This book is about object-oriented (OO) software development. Writing real object-oriented programs that are used by

More information

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

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

More information

White Paper. Rose PowerBuilder Link

White Paper. Rose PowerBuilder Link White Paper Rose PowerBuilder Link Contents Overview 1 Audience...1 The Software Development Landscape...1 The Nature of Software Development...1 Better Software Development Methods...1 Successful Software

More information

Lecture 2: Software Engineering (a review)

Lecture 2: Software Engineering (a review) Lecture 2: Software Engineering (a review) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture is

More information

Session 6b: Specifying constraints

Session 6b: Specifying constraints Session 6b: Specifying constraints Analysis vs. Design Constraints on the end product Constraints on the development COMP 320 / 420 Spring, 2018 Mr. Weisert "Analysis & Design" (review from session 1)

More information

Engineering Design w/embedded Systems

Engineering Design w/embedded Systems 1 / 40 Engineering Design w/embedded Systems Lecture 33 UML Patrick Lam University of Waterloo April 4, 2013 2 / 40 What is UML? Unified Modelling Language (UML): specify and document architecture of large

More information

Software Engineering Lab Manual

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

More information

Ways of documenting Session 5: detailed requirements The Data Dictionary one any The Project A data dictionary Data Dictionary may be maintained

Ways of documenting Session 5: detailed requirements The Data Dictionary one any The Project A data dictionary Data Dictionary may be maintained Session 5: The Data Dictionary relationship to systems analysis methodologies relationship to project management data definition vs. data representation taxonomy of data types COMP 477 /377, Spring, 2017

More information

SOFTWARE LIFE-CYCLE MODELS 2.1

SOFTWARE LIFE-CYCLE MODELS 2.1 SOFTWARE LIFE-CYCLE MODELS 2.1 Outline Software development in theory and practice Software life-cycle models Comparison of life-cycle models 2.2 Software Development in Theory Ideally, software is developed

More information

Systems Analysis & Design

Systems Analysis & Design Systems Analysis & Design Dr. Ahmed Lawgali Ahmed.lawgali@uob.edu.ly Slide 1 Systems Analysis & Design Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition

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

Managing Change and Complexity

Managing Change and Complexity Managing Change and Complexity The reality of software development Overview Some more Philosophy Reality, representations and descriptions Some more history Managing complexity Managing change Some more

More information

Change Management Process on Database Level within RUP Framework

Change Management Process on Database Level within RUP Framework Change Management Process on Database Level within RUP Framework ZELJKA CAR*, PETRA SVOBODA**, CORNELIA KRUSLIN** *Department of Telecommunications Faculty of Electrical Engineering Computing, University

More information

Session 2. Getting started with a well-structured system specification

Session 2. Getting started with a well-structured system specification Session 2 Getting started with a well-structured system specification COMP 320/420 Spring, 2018 Conrad Weisert The situation A representative approaches us. (or vice versa) He or she may be a. an executive

More information

Rational Software White paper

Rational Software White paper Unifying Enterprise Development Teams with the UML Grady Booch Rational Software White paper 1 There is a fundamental paradox at play in contemporary software development. On the one hand, organizations

More information

3.0 Object-Oriented Modeling Using UML

3.0 Object-Oriented Modeling Using UML 3.0 Object-Oriented Modeling Using UML Subject/Topic/Focus: Introduction to UML Summary: History of OOAD leading to UML UML Diagrams: Overview UML Models in the Objectory Software Development Process Literature:

More information

Course 3 7 March

Course 3 7 March Course 3 7 March adiftene@info.uaic.ro 1 From Courses 1, 2 Modeling Modeling Languages Graphic Languages UML History UML Definition UML Diagram Types UML Use Case Diagram Actors Use Case UML Class Diagrams

More information

Object-Oriented Analysis and Design

Object-Oriented Analysis and Design 0. Object Orientation: An Subject/Topic/Focus: over this lecture Summary: Lecturer, lecture, rooms, assistants, lab classes, credit points... Need for systems analysis and software engineers Literature

More information

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture UML Modeling Sumantra Sarkar ssarkar@cis.gsu.edu 29 th June 2010 CIS 8090 Managing Enterprise Architecture All diagrams and definitions used in this presentation have been acknowledged in the reference

More information

1 OBJECT-ORIENTED ANALYSIS

1 OBJECT-ORIENTED ANALYSIS UML and Patterns.book Page 3 Sunday, August 9, 200 2:50 PM Chapter OBJECT-ORIENTED ANALYSIS AND DESIGN The shift of focus (to patterns) will have a profound and enduring effect on the way we write programs.

More information

Ways of documenting Session 5: detailed requirements The Data Dictionary one any The Project A data dictionary Data Dictionary may be maintained

Ways of documenting Session 5: detailed requirements The Data Dictionary one any The Project A data dictionary Data Dictionary may be maintained Session 5: The Data Dictionary relationship to systems analysis methodologies relationship to project management data definition vs. data representation taxonomy of data types COMP 477 /377, Fall, 2018

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

Unified Modeling Language (UML)

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

More information

Session 4b: Review of Program Quality

Session 4b: Review of Program Quality Session 4b: Review of Program Quality What makes one program "better" than another? COMP 170 -- Fall, 2013 Mr. Weisert What is a good program? Suppose we give the same assignment to two programmers (or

More information

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

LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS LP Rev. : 00 Page 1 of 6 UNIT: I FUNDAMENTALS SEMESTER : 5 FUNDAMENTALS 8 An overview of object oriented systems development Object basics Object oriented systems development life cycle. OBJECTIVE: To

More information

NIMSAD Evaluation of the Rational Unified Process

NIMSAD Evaluation of the Rational Unified Process ارائه شده توسط: سايت ه فا مرجع جديد مقا ت ه شده از ن ت معت NIMSAD Evaluation of the Rational Unified Process Introduction Element 1: The Problem Situation Element 2: The Methodology User (Intended Problem

More information

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML Tetsuro Katayama Department of Computer Science and Systems Engineering, Faculty of Engineering, Miyazaki University

More information

Object-Oriented Analysis and Design Using UML (OO-226)

Object-Oriented Analysis and Design Using UML (OO-226) Object-Oriented Analysis and Design Using UML (OO-226) The Object-Oriented Analysis and Design Using UML course effectively combines instruction on the software development processes, objectoriented technologies,

More information

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships. Q 1) Attempt all the following questions: (a) Define the term cohesion in the context of object oriented design of systems? (b) Do you need to develop all the views of the system? Justify your answer?

More information

System Analysis and Design

System Analysis and Design System Analysis and Design 1 Introduction to Software Engineering Building Software is a complex exercise. Software is produced in several stages. Each stage attempts to deal with a different aspect of

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

OO Requirements to OO design. Csaba Veres Alan M. Davis (1995), Colorado

OO Requirements to OO design. Csaba Veres Alan M. Davis (1995), Colorado OO Requirements to OO design Csaba Veres Alan M. Davis (1995), Colorado Alan Davis? Guru? Academic and professional www.omni-vista.com? Controversial article on research into requirements engineering Requirements

More information

Design and Evolution of an Agent-Based CASE System for OOAD

Design and Evolution of an Agent-Based CASE System for OOAD Proceedings of ATS 2003 206 Design and Evolution of an -Based CASE System for OOAD Dong Liu, Kalaivani Subramaniam, Behrouz H. Far, and Armin Eberlein Department of Electrical and Computer Engineering

More information

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

OBJECT-ORIENTED MODELING AND DESIGN. Introduction OBJECT-ORIENTED MODELING AND DESIGN Introduction Contents: Introduction. Course Relevance Learning Outcomes Overview of the syllabus Introduction to Object Orientation Introduction Object Oriented Approach

More information

On behalf of ASE crew, I welcome you onboard. We will cover this journey in roughly 50 minutes.

On behalf of ASE crew, I welcome you onboard. We will cover this journey in roughly 50 minutes. On behalf of ASE crew, I welcome you onboard. We will cover this journey in roughly 50 minutes. We will fly over the basics of Object Oriented Analysis and Design. We may encounter some turbulence at times.

More information

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic Exercise Unit 2: Modeling Paradigms - RT-UML UML: The Unified Modeling Language Statecharts RT-UML in AnyLogic Simulation and Modeling I Modeling with RT-UML 1 RT-UML: UML Unified Modeling Language a mix

More information

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML D. Beltran*, LLS, Barcelona, Spain M. Gonzalez, CERN, Geneva, Switzerlan Abstract CELLS (Consorcio para la construcción, equipamiento

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping Coping with change Change is inevitable in all large software projects. Business changes lead to new and changed system requirements New technologies open up new possibilities for improving implementations

More information

A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN

A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN GARJE RAKESH RAMESHRAO RESEARCH SCHOLAR, DEPT. OF COMPUTER SCIENCE CMJ UNIVERSITY, SHILLONG, MEGHALAYA INTRODUCTION Object-oriented Analysis and Design is

More information

Introduction to the Object Model

Introduction to the Object Model Introduction to the Object Model Chapter 1 / Hour 1 2002, Delroy A. Brinkerhoff Introduction to the Object Model Slide 1 of 40 Goals and Objectives Chapters 1 and 2 # Engineering and models # Software

More information

Software Process. Software Process

Software Process. Software Process Software Process What is SW process? Definition, Development, Support phases Process models: Waterfall Prototyping Spiral, Incremental & iterative (best practices) UP process model What is it? How does

More information

A Role-based Use Case Model for Remote Data Acquisition Systems *

A Role-based Use Case Model for Remote Data Acquisition Systems * A Role-based Use Case Model for Remote Acquisition Systems * Txomin Nieva, Alain Wegmann Institute for computer Communications and Applications (ICA), Communication Systems Department (DSC), Swiss Federal

More information

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

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

More information

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

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

Index. : (colon), 80 <<>> (guillemets), 34, 56

Index. : (colon), 80 <<>> (guillemets), 34, 56 : (colon), 80 (guillemets), 34, 56 A Abstraction, 3 Acronyms, 54 Action field, 140 Actions tab, 140 ActiveX controls (Microsoft), 163 Activities. See also Activity diagrams basic description of, 241

More information

Structured Analysis and Structured Design

Structured Analysis and Structured Design Structured Analysis and Structured Design - Introduction to SASD - Structured Analysis - Structured Design Ver. 1.5 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr References Modern

More information

The Unified Modeling Language User Guide

The Unified Modeling Language User Guide The Unified Modeling Language User Guide Grady Booch James Rumbaugh Ivar Jacobson Rational Software Corporation TT ADDISON-WESLEY Boston San Francisco New York Toronto Montreal London Munich Paris Madrid

More information

Practical Model-Driven Development with the IBM Software Development Platform

Practical Model-Driven Development with the IBM Software Development Platform IBM Software Group Practical Model-Driven Development with the IBM Software Development Platform Osmond Ng (ong@hk1.ibm.com) Technical Consultant, IBM HK SWG 2005 IBM Corporation Overview The Challenges

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

More information

Briefing Date. Purpose

Briefing Date. Purpose Applying the Systems Engineering Method for the Joint Capabilities Integration and Development System (JCIDS) Chris Ryder and Dave Flanigan 27 October 2005 Purpose JCIDS prescribes a joint forces approach

More information

UML 2.0 State Machines

UML 2.0 State Machines UML 2.0 State Machines Frederic.Mallet@unice.fr Université Nice Sophia Antipolis M1 Formalisms for the functional and temporal analysis With R. de Simone Objectives UML, OMG and MDA Main diagrams in UML

More information

Lecture #2 on Object-Oriented Modeling

Lecture #2 on Object-Oriented Modeling Outline Lecture #2 on Object-Oriented Modeling Thierry Géraud EPITA Research and Development Laboratory (LRDE) 2006 Thierry Géraud Lecture #2 on Object-Oriented Modeling EPITA-LRDE 2006 1 / 38 Outline

More information

Joint Application Design & Function Point Analysis the Perfect Match By Sherry Ferrell & Roger Heller

Joint Application Design & Function Point Analysis the Perfect Match By Sherry Ferrell & Roger Heller Joint Application Design & Function Point Analysis the Perfect Match By Sherry Ferrell & Roger Heller Introduction The old adage It s not what you know but when you know it that counts is certainly true

More information

Index. Add Diagram > Sequence Diagram command,

Index. Add Diagram > Sequence Diagram command, Quatrani.book Page 183 Monday, May 8, 2006 11:56 AM Index A abstraction, 3 actions completing before processing, 54 55 data flowing through, 53 passing control between, 51 performing, 155 157 as round-cornered

More information

Introduction to the UML

Introduction to the UML c02.qxd p039-048 11/15/01 5:37 PM Page 39 CHAPTER 2 Introduction to the UML Why should I use the UML? What can it contribute to my software development effort? To effectively utilize any technology, we

More information

Incremental development A.Y. 2018/2019

Incremental development A.Y. 2018/2019 Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with

More information

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A 1. What is an object? An object is a combination of data and logic; the representation of some realworld

More information

Programming Language Constructs as Basis for Software Architectures

Programming Language Constructs as Basis for Software Architectures Programming Language Constructs as Basis for Software Architectures 1 From individual parts to components In the 50s: Machine/Assembler programs: bound to specific hardware In the 60s-70s: Higher programming

More information

Software Engineering from a

Software Engineering from a Software Engineering from a modeling perspective Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Softwaredevelopment problems Little or no prior planning

More information

L02.1 Introduction... 2

L02.1 Introduction... 2 Department of Computer Science COS121 Lecture Notes: L02 Introduction to UML and DP 25 July 2014 Copyright c 2012 by Linda Marshall and Vreda Pieterse. All rights reserved. Contents L02.1 Introduction.................................

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based

More information

1 Reference Material for these slides is taken from many UML reference books. However, the two I most often used are: UML Explained, by Kendall Scott,

1 Reference Material for these slides is taken from many UML reference books. However, the two I most often used are: UML Explained, by Kendall Scott, Reference Material for these slides is taken from many UML reference books. However, the two I most often used are: UML Explained, by Kendall Scott, 200 Addison-Wesley, ISBN: 0-20-7282- (~$30) Teach Yourself

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

Unified Modeling Language

Unified Modeling Language jonas.kvarnstrom@liu.se 2015 Unified Modeling Language A Brief Introduction History In the early 1990s, three common OO modeling approaches James Rumbaugh's Object-modeling technique (OMT) 2 Grady Booch's

More information

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

CSC 330 Object Oriented Software Design. Software Analysis Phase

CSC 330 Object Oriented Software Design. Software Analysis Phase CSC 330 Object Oriented Software Design Software Analysis Phase 1 Overview Object-oriented analysis Use-case modeling Class modeling Dynamic modeling Testing during the object-oriented analysis phase CASE

More information

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc. UML Modeling UML diagrams UML (Unified Modeling Language) is a general purpose visual modeling language that provides different types of diagrammatic techniques and notations to specify, visualize, analyze,

More information