Adapted for a textbook by Blaha M. and Rumbaugh J. Object Oriented Modeling and Design Pearson Prentice Hall, 2005.



Similar documents
Information systems modelling UML and service description languages

Masters of Science in Software & Information Systems

Interaction Diagrams. Use Cases and Actors INTERACTION MODELING

How To Design Software

Chap 1. Introduction to Software Architecture

Object-Oriented Design Guidelines

A UML Introduction Tutorial

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Designing Real-Time and Embedded Systems with the COMET/UML method

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

Assuming the Role of Systems Analyst & Analysis Alternatives

Object-oriented design methodologies

UML SUPPORTED SOFTWARE DESIGN

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

Object Oriented Analysis and Design and Software Development Process Phases

A process-driven methodological approach for the design of telecommunications management systems

Syllabus M.C.A. Object Oriented Modeling and Design usung UML

Applying 4+1 View Architecture with UML 2. White Paper

Applying Use Cases to Microcontroller Code Development. Chris Gilbert Cypress Semiconductor

Rational Unified Process for Systems Engineering RUP SE1.1. A Rational Software White Paper TP 165A, 5/02

A Software Engineering Process for Operational Space Weather Systems. S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies

UML Diagram Types. Use Cases do the Following. Use Case Diagram

Programming and Software Development CTAG Alignments

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

I219 Software Design Methodology

OBJECT ORIENTED UML MODELING FOR TRAVELER MANAGEMENT SYSTEM

Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML

Object Oriented Design

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

Object-Oriented Systems Analysis and Design

MODERN OBJECT-ORIENTED SOFTWARE DEVELOPMENT

Comparison between Traditional Approach and Object-Oriented Approach in Software Engineering Development

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Computer Information Systems (CIS)

Object Oriented System Analyze and Design of Revenue Information System using UML

UML Activity Diagrams: Versatile Roadmaps for Understanding System Behavior

Classical Software Life Cycle Models

Semantic Object Language Whitepaper Jason Wells Semantic Research Inc.

Information Systems Analysis and Design CSC John Mylopoulos. Software Architectures Information Systems Analysis and Design CSC340

Software Project Management and UML

Electronic Healthcare Design and Development

Programming Language Constructs as Basis for Software Architectures

Hardware Verification with the Unified Modeling Language and Vera

Layered Approach to Development of OO War Game Models Using DEVS Framework

Aspect Oriented Strategy to model the Examination Management Systems

Information Technology Career Field Pathways and Course Structure

Object oriented design process

Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches

Lecture Overview. Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes. Prof. Dr.

UML for the C programming language.

Information and Communications Technology Courses at a Glance

Incorporating Aspects into the UML

Software Development: An Introduction

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2

Chapter 1 The Systems Development Environment

Software Architecture Document

Chapter 3. Technology review Introduction

Course Syllabus For Operations Management. Management Information Systems

B.Sc. (Computer Science) First Year

II. Conceptual Modeling

What is a life cycle model?

A Rapid Development Process with UML

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

The Unified Software Development Process

IES - Introduction to Software Engineering

INFORMATION TECHNOLOGY

Systems Analysis and Design

Application of UML in Real-Time Embedded Systems

Home Appliance Control System

UML other structural. diagrams. (Implementation Diagrams UML 1.5) Università di Padova. Facoltà di Scienze MM.FF.NN. Informatica - anno

Course Computer Science Academic year 2012/2013 Subject Software Engineering II ECTS 6

Software Development in the Large!

The Road in Software Engineering Education from Structured Programming to Object- Oriented Modelling

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language.

Object-Oriented Data Modeling

Cooperative Learning Method Based On Game Design and Visual Object Oriented Environment to Teach Object Oriented Programming Course

XXI. Object-Oriented Database Design

From Object Oriented Conceptual Modeling to Automated Programming in Java

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Using Use Cases for requirements capture. Pete McBreen McBreen.Consulting

Architecture Definitions

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

An Enterprise Knowledge Management System Based on the Use Case Model

Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

SYLLABUS CIS 3660: OBJECT-ORIENTED SYSTEM ANALYSIS AND DESIGN SPRING 2010

Types of UML Diagram. UML Diagrams OOAD. Computer Engineering Sem -IV

Towards an Integration of Business Process Modeling and Object-Oriented Software Development

Transcription:

Karlstad University Department of Information Systems Adapted for a textbook by Blaha M. and Rumbaugh J. Object Oriented Modeling and Design Pearson Prentice Hall, 2005 Modeling Concepts Remigijus GUSTAS Phone: +46-54 700 17 65 E-mail: Remigijus.Gustas@kau.se http://www.cs.kau.se/~gustas/

Object-Oriented System Design A. The theoretical part B. The practical part (mandatory) Class diagrams State-transition diagrams Interaction diagrams (Use case, Activity and Sequence diagrams) Note: the final report must be finalised prior to the examination date! 0-2

Course Literature: M Blaha, J Rumbaugh, Object-Oriented Modelling and Design with UML, second edition, Pearson, 2005. Complementary Literature: J Martin, J J Odell. Object-Oriented Methods: A Foundation. Second UML edition, Prentice-Hall, New Jersey, 1998. L A Maciaszek. Requirements Analysis and System Design: Developing Information Systems with UML, Addison-Wesley, Harlow, 2001. G Booch, J Rumbaugh, I Jacobson. The Unified Modelling Language User Guide. Addison-Wesley, 1999. 0-3

What is Object Orientation (OO)? OO means organizing software as well as viewing analysis and design models as a collection of discrete objects that incorporate both data structure and behavior. In the previous programming approaches, structure and behavior are loosely connected. UML is the industry standard for specifying, visualizing, constructing and documenting the artifacts of information/software systems. 0-4

Features of Object-oriented approach Classification Objects with the same structure and behavior are grouped into classes Encapsulation of attributes and operations Polymorphism Same operation may behave differently for different classes Inheritance Operations and attributes can be inherited from other classes 0-5

Objects Object: an entity with a well-defined role in an application Each object has: State: defined by using the attributes, their values, and associations with other objects Behavior: represents how an object acts and reacts Identity (internal and external): uniqueness, no two objects are the same 0-6

Classes Class: a logical grouping of objects with similar attributes and behavior Operation: a function or service provided by all instances of a class Encapsulation: the technique of hiding internal implementation details of an object from external view 0-7

Types of Operations Constructor/Destructor Creates (Removes) a new instance of a class Query Accesses the state of an object Update Alters the state of an object Scope Applies to a full class rather than an individual instance 0-8

Modeling Concepts, not Implementation Most of OO literature emphasize implementation rather than analysis and design. Premature focus on implementation restricts design choices. The real payoff in system development comes from conceptual modeling. OO modeling is a conceptual process independent of programming language. It is a way of thinking, not programming. Greatest benefits come from helping system developers and customers to communicate system specification to each other. 0-9

A complete description of system requires three different viewpoints: Class model describes the static structure of objects. Class diagram State model describes the behavioral aspects of an object that change over time. State diagram Interaction model describes how the objects in a system cooperate to achieve user goals. Use case, activity and sequence diagrams 0-10

Class diagram 0-11

State transition diagram of AlarmSwithing 0-12

Use-case diagram Inactivate Clock «extends» Clock Switching On «extends» Clock Switching Off «extends» Switching Off Alarm Activate Bell «extends» «extends» User Switching On Alarm «extends» Inactivate Bell Stopping Bell «extends» «extends» TimeModule Stop Clock 0-13

Activity diagram 0-14

Sequence diagrams Clock Switching On ClockSwitchOff AlarmSwitchOff Controler ClockSwitching User ShowClockOff SC1 SC2 SwitchOnClock SetClockOn ClockOn ShowClockOn SetOnStatus Clock Switching Off AlarmSwitchOff ClockSwitchOff Controler ClockSwitching User SC2 SC1 SwitchOffClock SetClockOff ClockOff ShowClockOff SetOffStatus 0-15

Sequence diagrams SC2 SC3 Switching Off Alarm Bell Activated Alarm Switch Off Controler AlarmSwitching BellSwitching User ShowBellActivated Ring ActivateAlarm SC4 SC2 SwitchOffAlarm SetAlarmOff DisableAlarm SwitchOffBell ShowAlarmSwitchOff 0-16

Object-Orientation The Unified Modeling Language (UML ) is the industry-standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, http://www.uml.org/ UML defines 12 types of diagrams: Static diagrams (class, object, component, deployment), Dynamic diagrams (use case, sequence, activity collaboration, state transition), Diagrams that help to organize and manage system development process (packages, subsystems, models). 0-17

Model of the Architecture The models associated with a system or subsystem completely partition the elements, meaning that every element is owned by exactly one package View is a projection into a model A view typically may not cross system boundary <<subsystem>> B <<system>> A <<subsystem>> C 0-18

Modeling Views Model is a special kind of package. Five architecture views are organized into a set of nonoverlapping models 0-19

Diagram Types Use Case view Use case diagram Logical view Class diagram Process View State diagram Sequence diagram Activity diagram Implementation view Component (database, software) diagrams Deployment view Hardware topology diagram with components 0-20