Object-Oriented Analysis and Design. Priorities in O-O Analysis and Design Understanding a system in terms of objects and associations between them. Representing.

Slides:



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

© 2010 Bennett, McRobb and Farmer1 Requirements Analysis 1: Requirements and Classes Based on Chapter 7 of Bennett, McRobb and Farmer: Object Oriented.
Systems Analysis and Design 8th Edition
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Introduction To System Analysis and Design
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
CS 425/625 Software Engineering System Models
Lecture 4 Class Responsibility Collaboration Cards
Requirements Analysis
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
Chapter 21 Object-Oriented Analysis
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
System Analysis and Design
Unified Modeling Language
University of Toronto at Scarborough © Bennett, McRobb and Farmer 2005 CSCC40 classes 1 Use CasesUse Case Model Campaign Management PackageModelSub-system.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
COS 240 Object-Oriented Languages 5.1 Object-Oriented Design Object-oriented thinking begins with object-oriented design.
SYSC 3100 System Analysis and Design Classes Diagrams: Class features.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Chapter 7 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
Systems Analysis & Design 7 th Edition Chapter 5.
10/27/20151 WXGC6102: Object-Oriented Techniques Requirements Analysis References: Chapter 7 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
© Bennett, McRobb and Farmer Requirements Analysis Based on Chapter 7 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
© 2010 Bennett, McRobb and Farmer1 Requirements Analysis 2: Realizing Use Cases Based on Chapter 7 of Bennett, McRobb and Farmer: Object Oriented Systems.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 classes 1 classes a class describes a group of objects with: similar properties (attributes)
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
Technical Module C Object Modeling Objects Object – a valuable resource: Money (Account Receivable) Material (Product) Machines (Delivery Truck) Personnel.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
CHAPTER 6 OBJECT ANALYSIS.
Inf 43: Introduction to Software Engineering May 7, 2016.
UML(Unified Modeling Language)
UML Diagrams By Daniel Damaris Novarianto S..
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Rumbaugh’s Objectmodeling Technique
UML Diagrams Jung Woo.
Introduction to UML Introduction to UML Shiyuan Jin September,23,2002
Object-Oriented Analysis
Introduction To System Analysis and Design PART 2
Unified Modeling Language
UML: Unified Modeling Language
Lecture 4: Sequence Interaction Diagrams
Appendix A Object-Oriented Analysis and Design
Analysis models and design models
Software Design Lecture : 15.
Systems Analysis and Design I
Systems Analysis and Design I
Appendix A Object-Oriented Analysis and Design
Chapter 4 Sequence Diagrams
Presentation transcript:

Object-Oriented Analysis and Design

Priorities in O-O Analysis and Design Understanding a system in terms of objects and associations between them. Representing the “real world” as faithfully as possible (reduces complexity?) Developing classes as reusable components. Facilitating iteration in requirements definition - not a “waterfall” model.

Unified Modelling Language An attempt to produce a standard notation for diagrams and CASE tools. A collection of techniques rather than a full- blown methodology. But is put into operation within approaches such as Rational Unified Process

“Official” representation of RUP Source:

Principles of the RUP 1.Develop software iteratively 2.Manage requirements 3.Use component-based architectures 4.Visually model software 5.Verify software quality 6.Control changes to software (Source:

Iterative Development Similar activities on other prototyping-led approaches Strong emphasis on involving users in requirements definition through the project Strong emphasis on “timeboxing” Leads to prioritisation of objectives (what is dispensible?)

A possible order of events in analysis using UML Use cases developed in collaboration with users (human “actors”) Classes derived from use cases and CRC cards Operations then used to inform sequence diagrams (each use case has a sequence)

Behavioural Models Dynamic aspects of systems behaviour Activities undertaken by one object as a result of messages passed by another Interactions between classes and users Examples - use case diagrams; sequence diagrams; collaboration diagrams

Static (or structural) models Objects and associations between them Indication of potential object activity (class responsibilities) Typically: class diagram as the structure for the system and the data dictionary Classes derived from use cases but then operations used to define messages passed between objects, e.g. on sequence diagrams

Class Diagram: Class Symbol Client companyAddress company companyFax companyName companyTelephone Class name compartment Attributes compartment Operations compartment

Class Diagram: Instance Symbol FoodCo:Client companyAddress=Evans Farm, Norfolk companyFax= companyName=FoodCo companyTelephone= Object name compartment Attribute values Instances do not have operations

Class Diagram: Attributes Attributes are: Part of the essential description of a class The common structure of what the class can ‘know’ Each object has its own value for each attribute in its class

Class Diagram: Associations StaffMember staffName staffNo staffStartDate Client companyAddress company companyFax companyName companyTelephone liaises with staffContact Association role Association Association name Direction in which name should be read

Class Diagram: Associations Associations represent: The possibility of a logical relationship or connection between objects of one class and objects of another If two objects can be linked, their classes have an association

Class Diagram: Multiplicity Associations have multiplicity Multiplicity is the range of permitted cardinalities of an association Represent enterprise (or business) rules For example: –Any bank customer may have one or more accounts –Every account is for one, and only one, customer

Class Diagram: Multiplicity StaffMember staffName staffNo staffStartDate Client companyAddress company companyFax companyName companyTelephone 1 0..* liaises with Multiplicities Exactly one staff member liaises with each client A staff member may liaise with zero, one or more clients

Class Diagram: Operations Operations are: An essential part of the description of a class The common behaviour shared by all objects of the class Services that objects of a class can provide to other objects

Class Diagram: Operations Operations describe what instances of a class can do: –Set or reveal attribute values –Perform calculations –Send messages to other objects –Create or destroy links Campaign actualCost campaignFinishDate campaignStartDate completionDate datePaid estimatedCost title checkCampaignBudget ( ) getCampaignContribution ( ) recordPayment ( ) setCompleted ( )