Object-OrientedMethodologies

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Use Case Diagrams.
Karolina Muszyńska Based on:
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
© Copyright Eliyahu Brutman Programming Techniques Course.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
UML Collaboration Diagram. Recap System Sequence Diagrams (SSD) UML for SSD Examples.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
OHT 11.1 © Marketing Insights Limited 2004 Chapter 9 Analysis and Design EC Security.
Prepared by Afra`a Sayah. Introduction. Weekly Tasks. Plane Phase. Analysis Phase. Design Phase. Report Rules. Conclusion. 2.
Unified Modeling Language, Version 2.0
1 Object orientation. 2 What benefits does OO give? Primarily –Encapsulation (Associates data & operations) –Types & specialisation –Software re-use.
Unified Modelling Language UML. Use case Diagram : A use case diagram is “a diagram that shows the relationships among actors and use cases within a system.use.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Use Case Diagrams.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
UML (Unified Modeling Language)
بسم الله الرحمن الرحيم اللهم صلي علي احمد السجايا محمد الخصال شفيع البرايا سليم النوايا صادق الاقوال.
Object Oriented Analysis and Design Using the UML
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Basic Characteristics of Object-Oriented Systems
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Fundamentals of Object Oriented Modeling
Introduction to UML.
UML Diagrams By Daniel Damaris Novarianto S..
UNIT 1.
The Movement To Objects
Evolution of UML.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Use case Diagram.
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Rumbaugh’s Objectmodeling Technique
Review By: Reham Lotfi.
UML Diagrams Jung Woo.
Object Oriented Modeling and Design
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
UNIT-II.
The Unified Modeling Language
Unified Modeling Language
University of Houston-Clear Lake
Introduction to UML.
Analysis models and design models
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Object-OrientedMethodologies –The Rumbaugh et al. OMT –The Booch methodology – Jacobson's methodologies

Methodology •A methodology is explained as the science of methods. •A method is a set of procedures in which a specific goal is approached step by step

Types of Methodologies 1986: Booch came up with the object-oriented design concept, the Booch method. •1987: Sally Shlaer and Steve Mellor came up with the concept of the recursive design approach 1989: Beck and Cunningham came up with class-responsibility collaboration (CRC) cards.

•1990: Wirfs-Brock, Wilkerson, and Wiener came up with responsibilitydriven design. 1991: Peter Coad and Ed Yourdon developed the Coad lightweight and prototype-oriented approach.

1991: Jim Rumbaugh led a team at the research labs of General Electric to develop the object modeling technique (OMT). •1994: Ivar Jacobson introduced the concept of the use case

Many methodologies are available to choose from for system development, some of them are discussed below :-

Rumbaugh et. al.’s Object Modeling Technique (OMT) OMT describes a method for the analysis, design, and implementation of a system using an object-oriented technique

OMT consists of four phases, which can be performed iteratively: –Analysis. The results are objects and dynamic and functional models. –System design. The result is a structure of the basic architecture of the system. –Object design. This phase produces a design document, consisting of detailed objects and dynamic and functional models. –Implementation. This activity produces reusable, extendible, and robust code

OMT separates modeling into three different parts: 1 OMT separates modeling into three different parts: 1. An object model, presented by the object model and the data dictionary. 2. A dynamic model, presented by the state diagrams and event flow diagrams. 3. A functional model, presented by data flow and constraints.

The Booch Methodology • The Booch methodology covers the analysis and design phases of systems development. • Booch sometimes is criticized for his large set of symbols.

The Booch Methodology The Booch method consists of the following diagrams: – Class diagrams – Object diagrams – State transition diagrams – Module diagrams – Process diagrams – Interaction diagrams

The Booch methodology Prescribes – A macro development process – A micro development process

The Macro Development Process •The macro development process consists of the following steps: – 1. Conceptualization – 2. Analysis and development of the model. – 3. Design or create the system architecture. – 4. Evolution or implementation. – 5. Maintenance.

The micro development process consists of the following steps: – 1 The micro development process consists of the following steps: – 1. Identify classes and objects. – 2. Identify class and object semantics. – 3. Identify class and object relationships. – 4. Identify class and object interfaces and implementation

The Jacobson et al. Methodologies The Jacobson et al. Methodologies (e.g., OOBE, OOSE, and Objectory) cover the entire life cycle and stress traceability between the different phases

Use cases are scenarios for understanding system requirements Use cases are scenarios for understanding system requirements. •A use case is an interaction between users and a system. •The use-case model captures the goal of the user and the responsibility of the system to its users.

UML The Unified Modeling Language was originally developed at Rational Software It is a modeling syntax aimed primarily at creating models of software-based systems, but can be used in a number of areas. It is Syntax only - UML is just a language; it tells you what model elements and diagrams are available and the rules associated with them. It does not tell you what diagrams to create.

Use Case Diagrams - shows an outside-in view of the procedures available in the use of the system. These are summary diagrams and between them should contain all use cases available in the system and so all the available functionality of the system, represented at a high level. Static Structure Diagrams - includes object and class diagrams. Most methods use class diagrams to describe the properties of the objects in the system and their relationships. Object diagrams are rarely used, except for examples of the way in which objects interact, and these are normally shown on sequence or communication diagrams.

Interaction Diagrams - these include communication and sequence diagrams, both of which show the way in which objects interact in order to fulfill the functionality of the use case. Activity Diagrams - a generic flow chart used much in business modeling and sometimes in use case modeling to indicate the overall flow of the use case. This diagram type replaces the need for dataflow diagrams but is not a main diagram type for the purposes of analysis and design. State Machine Diagrams - in information systems these tend to be used to describe the lifecycle of an important data entity. In real-time systems they tend to be used to describe state dependent behavior. Component Diagrams - show the types of components, their interfaces and dependencies in the software architecture that is the solution to the application being developed. Deployment Diagrams - show actual computing nodes, their communication relationships and the processes or components that run on them.

Use Case Diagrams

Introduction Getting started is the most difficulty part of any new process. In software modelling, the first thing you need to do is understand what are you going to model and ultimately develop. Creating a highest form details about a system--use case diagram--is an almost natural point of origin for the software design. A use case diagram is an excellent way to communicate to management, customers, and other non-development people what a system will do when it is completed.

University Record System (URS) A University record system should keep information about its students and academic staff. Records for all university members are to include their id number, surname, given name, email, address, date of birth, and telephone number. Students and academic staff each have their own unique ID number: studN (students), acadN (academic employee), where N is an integer (N>0). In addition to the attributes mentioned above: Students will also have a list of subjects they are enrolled in. A student cannot be enrolled in any more than 10 subjects. Academic employees will have a salary, and a list of subjects they teach. An academic can teach no more than 3 subjects.

Some Actions Supported by URS The system should be able to handle the following commands. Add and remove university members (students, and academic staff) Add and Delete subjects Assign and Un-assign subjects to students Assign and Un-assign subjects to academic staff.

Use Case Diagrams Use Case diagrams show the various activities the users can perform on the system. System is something that performs a function. They model the dynamic aspects of the system. Provides a user’s perspective of the system.

Use Case Diagram - URS System add member del member system user academic add subject del subject assg subject unass subject student enrol subject unenrol subject

Use Case Diagrams A set of ACTORS : roles users can play in interacting with the system. An actor is used to represent something that uses our system. A set of USE CASES: each describes a possible kind of interaction between an actor and the system. Uses cases are actions that a user takes on a system A number of RELATIONSHIPS between these entities (Actors and Use Cases). Relationships are simply illustrated with a line connecting actors to use cases.

Use Case Diagrams - Actors An actor is a user of the system playing a particular role. Actor is shown with a stick figure. employer employee client

Use Case Diagrams – Use Cases Use case is a particular activity a user can do on the system. Is represented by an ellipse. Following are two use cases for a library system. Borrow Reserve

Use Case Diagram – Example1 (Library) library system borrow client employee reserve Order title Fine payment supervisor A Library System.

Use Case Diagram for Student Assessment Management System Grade system Record grades Student View grades Teacher Distribute Report cards Create report cards Printing administrator

Use Case Vs Scenarios Each use case is one or more scenarios. Add Subject Use Case : Scenario 1 : Subject gets added successfully. Scenario 2 : Adding the subject fails since the subject is already in the database. Enroll Subject Use Case: Scenario 1 : Student is enrolled for the subject. Scenario 2 : Enrollment fails since the student is already enrolled in the subject. Each scenario has a sequence of steps.

Scenarios Each scenario has a sequence of steps. Scenario 1 : Student is enrolled for the subject. Student chooses the “enroll subject” action. Check the student has enrolled in less than 10 subjects. Check if the subject is valid. Assign the subject to the student.

Scenarios Each scenario has a sequence of steps. Scenario 2 : Enrolling fails since the student is already enrolled in 10 subjects. Student chooses the “enroll subject” action. Check the student has enrolled in less than 10 subjects. Return an error message to the student.

Use Case Diagrams - Relationships Inclusion Inclusion enables to reuse one use case's steps inside another use case. Extension Allows creating a new use case by adding steps to existing use cases Generalization Allows child use cases to inherit behavior from parent use cases

Use Case – Example (self service machine) Buy a product Self service machine customer Collect Money Collector Self service machine Restock Supplier

Use Case – Example (self service machine – includes relationship) Open Machine Restock Close Machine <<includes>> <<includes>> Open Machine Collect Close Machine <<includes>>

Use Case – Example (self service machine – extends relationship) Restock Close Machine Open Machine <<includes>> Restock According to Sales <<extends>>

Use Case – Example (self service machine – generalize relationship): Actor-to-Actor relationship generalized actor Supplier Agent specialized actor Restocker Collector

Use Case – Example (self service machine – generalize relationship): Actor-to-Actor relationship – example 2 generalized actor Cook specialized actor Mom Cook Father Cook

Use Case – Example (self service machine) Buy a product Self Service Machine <<includes>> Open Machine customer Restock Close Machine <<includes>> Restock according to sales <<includes>> Open Machine Collect <<includes>> supplier Close Machine

From Use Case to Classes

Identify Classes (Extract Nouns) A University record system should keep information about its students and academic staff. Records for all university members are to include their id number, surname, given name, email, address, date of birth, and telephone number. Students and academic staff each have their own unique ID number: studN (students), acadN (academic employee), where N is an integer (N>0). In addition to the attributes mentioned above: Students will also have a list of subjects they are enrolled in. A student cannot be enrolled in any more than 10 subjects. Academic employees will have a salary, and a list of subjects they teach. An academic can teach no more than 3 subjects.

Nouns which are potential classes A University record system should keep information about its students and academic staff. Records for all university members are to include their id number, surname, given name, email, address, date of birth, and telephone number. Students and academic staff each have their own unique ID number: studN (students), acadN (academic employee), where N is an integer (N>0). In addition to the attributes mentioned above: Students will also have a list of subjects they are enrolled in. A student cannot be enrolled in any more than 10 subjects. Academic employees will have a salary, and a list of subjects they teach. An academic can teach no more than 3 subjects.

Classes identified in the first pass UniversityRecordSystem - URS Student Academic Staff UniversityMembers Subject

URS - High Level Class Diagram URSDataBase 1 1 * has has * UniversityMember Subject 0…10 0..3 AcademicStaff Student * takes 1 teaches

VISIBILITY In domain modeling class diagrams, visibility defines whether attributes and operations of specific classes can be seen and used by other classes.