Business Analysis More on Classes Chris Russell O2.41

Slides:



Advertisements
Similar presentations
Chapters 7 & 9 System Scope
Advertisements

Object-oriented modeling Class/Object Diagrams
CS 340 UML Class Diagrams. A model is an abstraction of a system, specifying the modeled system from a certain viewpoint and at a certain level of abstraction.
Software Engineering COMP 201
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Essentials of interaction diagrams Lecture Outline Collaborations Interaction on collaboration diagrams Sequence diagrams Messages from an object.
Class Diagram & Object Diagram
IMSE 11 - UML Class Diagrams
Modelling classes Drawing a Class Diagram. Class diagram First pick the classes –Choose relevant nouns, which have attributes and operations. Find the.
Unified Modeling Language
The Unified Modeling Language (UML) Class Diagrams.
Object-Oriented Analysis and Design
Relationships. In the Interaction diagrams, we began to look at how classes communicate with one another. Now, we'll focus on the relationships between.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Lab 04.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
7-1 © Prentice Hall, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
Unit 3 Conceptual Data Modeling. Key Concepts Conceptual data modeling process Classes and objects Attributes Identifiers, candidate keys, and primary.
7-1 © Prentice Hall, 2007 Week 5: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
Unit 1 INTRODUCTION TO MODELING AND CLASS MODEL Ref : L7-UML.PDF.
Activity & Class Modeling Labs Discussion p3 T120B pavasario sem.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
Chapter 16 Applying UML and Patterns Craig Larman
1 Class Diagrams: Advanced Concepts. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are the most commonly used diagrams.
UML Diagrams: The Static Model Class Diagrams. The Static Model Define the static structure of the logical model Represent classes, class hierarchies.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
Design Model Lecture p6 T120B pavasario sem.
CSCI-383 Object-Oriented Programming & Design Lecture 10.
CS212: Object Oriented Analysis and Design Lecture 33: Class and Sequence Diagram.
ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #2 1.
Activity & Class Modeling Labs Discussion p3 T120B pavasario sem.
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
Software Modelling Class Diagram. Class Diagrams The main building block in object oriented modeling They are used both for general conceptual modeling.
Business Process and Functional Modeling
Enhanced Entity-Relationship (EER) Model
CHAPTER
Unified Modeling Language (UML)
Object-Orientated Analysis, Design and Programming
UML Diagrams: Class Diagrams The Static Analysis Model
Structural Modeling.
Enhanced Entity-Relationship and Object Modeling Objectives
Business System Development
Session 2 Welcome: The sixth learning sequence
Chapter 5: Structural Modeling
Object-Oriented Analysis and Design
Chapter 7: Entity-Relationship Model
Reference: COS240 Syllabus
UML to XSD.
UML Diagrams: The Static Model Class Diagrams
Business Analysis Entity Modelling Chris Russell O2.41
Software Engineering Lecture #11.
Object Oriented Analysis and Design Using the UML
Module 8 – Database Design Using the E-R Model
UML Class Diagram.
Chapter 20 Object-Oriented Analysis and Design
Business Analysis DFD Levelling Chris Russell O2.41
Understand and Use Object Oriented Methods
Analysis models and design models
Business Analysis Introduction to Classes Chris Russell O2.41
Business Analysis Entity Life History Chris Russell O2.41d
Business Analysis Sequence Diagrams Chris Russell O2.41
Business Analysis Good Enough Software Chris Russell O2.41
AIXM 5 UML Modelling Conventions
Design Yaodong Bi.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Object Oriented System Design Class Diagrams
Chapter 6b: Database Design Using the E-R Model
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

Chris Russell O2.41 02920 41 6431 crussell@cardiffmet.ac.uk Business Analysis More on Classes Chris Russell O2.41 02920 41 6431 crussell@cardiffmet.ac.uk Lecture BA16 More on Classes

Lecture BA16 More on Classes Session schedule Business Analysis Schedule Academic Year 2014-5 Semester 2 Week Topic 1 Introduction 2 Investigate situation: rich picture, context diagrams 3 Consider perspectives: types of participation, CATWOE, Power-Interest, Thomas-Kilmann 4 Analyse needs 1: Use Cases 5 Analyse needs 2: structured techniques 6 Define requirements 1a: SSADM 7 Define requirements 1b: SSADM EASTER 8 Define requirements 2: UML 9 Generic assignment feed-forward and task review 10 Balance good enough software against quality costs; Prioritise requirements 11 Assignment submisison Lecture BA16 More on Classes

Activities and Paradigms Investigate Situation Consider Perspectives Analyse Needs Define Requirements Socio-technical Rich picture CATWOE Types of participation Thomas-Kilmann Power-Interest X Functional Level 0 diagram Structured techniques DFD, ERM and ELH Object-Oriented Context diagram Use Cases Class and Sequence diagrams Lecture BA16 More on Classes

Lecture BA16 More on Classes Contents CRC cards Types of relationships Associations Aggregation Dependency Generalization Constraints Visibility and keys Lecture BA16 More on Classes

Lecture BA16 More on Classes CRC cards Class Name: What am I? Responsibilities: What do I know? What do I do? What do I decide? Collaborations: Who do I interact with? Lecture BA16 More on Classes

Types of relationships Anything with a line Association Aggregation Dependency Generalization i.e. Inheritance Composition (not discussed further) Realizations (not discussed further) Lecture BA16 More on Classes

Lecture BA16 More on Classes Association… ‘An association is a structural relationship, specifying that objects of one element are connected to another’ (Object Management Group 2001) Association indicates a stronger coupling than dependency due to the structural nature of the relationship Lecture BA16 More on Classes

Lecture BA16 More on Classes …Association Represented by: Solid line between the same or different classes Usually labelled with a name (always if more than one association between two classes) Name usually accompanied… Cardinality should be indicated at each end of the association… Lecture BA16 More on Classes

Lecture BA16 More on Classes Types of multiplicity 0..n (1 or >1), 1..n, n..m n (1 or >1) 0..*, 1..*, n..* * ‘implies “0..*”’ (Object Management Group 2004) but can be confused with 1..* so should be avoided Lecture BA16 More on Classes

Lecture BA16 More on Classes Role names As well as the association being named, the role that each object plays in the association can also be named (at each end of the relationship) Especially important in the case of multiple relationships between classes Example: employee and manager are both roles of Person, rather than separate classes Lecture BA16 More on Classes

Reflexive associations Instances of the same class can be linked by a reflexive association In this case it is critical to identify roles Examples: a relationship ‘manages’ between role boss of Person and role staff of person; a relationship ‘is married to’ between role husband of Person and role wife of person Lecture BA16 More on Classes

Lecture BA16 More on Classes Association classes Represented by: A class connected by a dotted line to the relationship it details Examples: role boss of Person ‘manages’ role staff of person whereby mange entails an attribute performance rating and an operation evaluate Useful where attributes/operations are not characteristic of the class itself and only meaningful in the context of a relationship (an instance cannot exist independently of the relationship) Lecture BA16 More on Classes

Lecture BA16 More on Classes Aggregation Attributes that have structure and/or behaviour are depicted as objects e.g. car/engine Composite aggregation Represented by ‘filled in’ diamond at the ‘parent’ end of the relationship Used when ‘parent’ (whole) exercises complete lifecycle control over its ‘children’ (parts) e.g. order line to order Shared aggregation Represented by ‘empty’ diamond at the ‘parent’ end of the relationship Used when the ‘child’ may have a broader/longer lifecycle than the ‘parent’ e.g. an engine may outlive a car Lecture BA16 More on Classes

Lecture BA16 More on Classes Dependency… ‘A dependency is a using relationship, specifying that a change in one element may affect another element that uses it, but not necessarily the reverse’ (Object Management Group 2001) Earlier in the module we have seen examples of this between uses cases: <<include>> <<extend>> Lecture BA16 More on Classes

Lecture BA16 More on Classes …Dependency Represented by: Directional arrow with a dashed line and open arrowhead Optionally labelled with stereotype and individual name Key stereotypes <<use>> one class requires the use of another to fulfil its correct responsibilities e.g. calling an operation of another class <<instantiate>> one class creates an instance of another class <<friend>> one class is granted special visibility rights to the private parts of another class Lecture BA16 More on Classes

Lecture BA16 More on Classes Generalization Through a process of generalisation, further classes are arrived at. Generalisation with regard to classes is somewhat different than generalisation with regard to use cases. At this stage – nearer implementation – it ‘is associated with inheritance in programming languages. The subclass inherits all the methods and fields of the superclass and may override inherited methods’ (Fowler 2000). Thus, generalisation here means looking for commonality rather than looking for alternatives. This means that the generalisations previously identified are no longer apt, whilst there may be scope for generalisation elsewhere. Lecture BA16 More on Classes

Lecture BA16 More on Classes Constraints These are used to add limiting information to a class diagram e.g. {ordered} constraint next to an association indicates that objects are in a defined order and accessed by that order {Abstract} constraint after a class name indicates it is a super-class and will never be instantiated itself Lecture BA16 More on Classes

Lecture BA16 More on Classes Visibility and keys Visibility should only be shown on design diagrams + Public # Protected - Private ~ Package Do not model keys unless specifically drawing a logical or physical database schema (they are a data concept not an OO concept) Lecture BA16 More on Classes

Multiple class diagrams? Conceptually there is only one class diagram for a system, containing all the relevant (static) information about the objects in it However, it is usually clearer to have a number of class diagrams to capture different aspects, rather than clutter a single diagram with all the details This can be achieved via use of packages Lecture BA16 More on Classes

Business analysis example Cadle, Paul and Turner, 2010 Lecture BA16 More on Classes

Lecture BA16 More on Classes Where to stop ‘The nature of the associations - their multiplicity - represents a set of business rules...and these rules should properly be investigated by business analysts... However, it is less clear that the operations...are the province of business analysts’ (Cadle, Paul and Turner, 2010, p.224) They suggest leaving operations and even attributes for systems analysts, designers, software architects or software developers Lecture BA16 More on Classes