The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.

Slides:



Advertisements
Similar presentations
Requirements Elicitation and Use Case Diagrams
Advertisements

Object-oriented modeling Class/Object Diagrams
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
1 SWE Introduction to Software Engineering Lecture 15 – System Modeling Using UML.
Software Engineering I Object-Oriented Design
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Unified Modeling Language
The Unified Modeling Language (UML) Class Diagrams.
Object-Oriented Analysis and Design
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty.
Object-Oriented Systems Analysis and Design Using UML
Page 1 What is the UML? UML stands for Unified Modeling Language The UML combines the best of the best from – Data Modeling concepts (Entity Relationship.
1 A Student Guide to Object- Orientated Systems Chapter 4 Objects and Classes: the basic concepts.
OBJECT AND CLASES: THE BASIC CONCEPTS Pertemuan 8 Matakuliah: Konsep object-oriented Tahun: 2009.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 - Domain Classes.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
Unit 1 INTRODUCTION TO MODELING AND CLASS MODEL Ref : L7-UML.PDF.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
UML Diagrams: The Static Model Class Diagrams. The Static Model Define the static structure of the logical model Represent classes, class hierarchies.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Static Modeling Chapter 8 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Introduction to OOAD and the UML
UML / UML 2.0 Diagrams (Part I) 1. Overview of the 13 diagrams of UML Structure diagrams 1.Class diagram 2.Composite structure diagram (*) 3.Component.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
DESIGN OF SOFTWARE ARCHITECTURE
CS212: Object Oriented Analysis and Design Lecture 33: Class and Sequence Diagram.
Prof. Hany H. Ammar, CSEE, WVU, and
Identifying classes, Packages and drawing class Diagrams, Object Diagrams and composite structure diagrams Week 07 1.
Object Modeling THETOPPERSWAY.COM. Object Modelling Technique(OMT)  Building a model of an application domain and then adding implementation.
Object and Class Structuring Chapter 9 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
The Dynamic Analysis Model StateCharts Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
UML CSE 470 : Software Engineering. Unified Modeling Language UML is a modeling language to express and design documents, software –Particularly useful.
DOMAIN CLASSES – PART 1 BTS430 Systems Analysis and Design using UML.
Appendix 3 Object-Oriented Analysis and Design
CHAPTER
Instructor: Dr. Hany H. Ammar
UML Diagrams: Class Diagrams The Static Analysis Model
Instructor: Dr. Hany H. Ammar
UML Diagrams By Daniel Damaris Novarianto S..
Copyright © 2014 Hassan Gomaa and Robert Pettit
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
UML Diagrams Jung Woo.
UML Diagrams: The Static Model Class Diagrams
Object Oriented Analysis and Design
Software Engineering Lecture #11.
Unified Modeling Language
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix A Object-Oriented Analysis and Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
UML Diagrams: StateCharts The Dynamic Analysis Model
Appendix A Object-Oriented Analysis and Design
Introduction to OOAD and the UML
Presentation transcript:

The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University

outline UML Development, the Requirements Model and the Analysis model The Static Analysis Model – The Analysis Process –The Conceptual Level - Identifying the Classes of Objects –The Analysis Level – Identifying Class relationships, class attributes, and class operations

UML Development - Overview PROGRAM ACTORS ANALYSIS Specify Domain Objects Detailed DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S) IMPLEMENTATION Activity DIAGRAMS SEQUENCE DIAGRAMS OPERATION CONTRACTS StateChart DIAGRAMs DEPLOYMENT DIAGRAM SUBSYSTEM CLASS/ OR COMPONENT DIAGRAMS Architectural Design Include Design Objects Object Design SCENARIOS REQUIREMENTS ELICITATION DESIGN DIAGRAMS IMPLEMENTATION CHOICES DESIGN SEQUENCE DIAG. REQUIREMENTS Engineering Design

The Requirements Model and the Analysis Model Static Analysis Dynamic Analysis Functional/ Nonfunctional Requirements Use Case Diagrams/ Sequence Diagrams (the system level) - Class Diagrams - State Diagrams/ Refined Sequence Diagrams (The object level) Requirements Elicitation Process The Analysis Process

Static Modeling Class Diagrams A Class is defined as –Real world entity type about which information is stored –Represents a collection of identical objects (instances)– Described by means of attributes (data items) –Has operations to access data maintained by objects –Each object instance can be uniquely identified Relationships between classes –Associations –Composition / Aggregation –Generalization / Specialization

The Static Model Defines the static structure of the logical model Represents classes, class hierarchies using packages, classes, and their relationships, Evolve in three phases the conceptual phase, the analysis phase, and the design phase.

The conceptual Level At the conceptual phase, classes are defined based on the classes found in the problem domain descriptions (based on the objects identified in step 6 in the Requirements Elicitation Process) A context class diagram is defined first, where the system under development is represented by one package, and other classes represent external classes representing the actors

Context Class Diagram Defines the Boundary of the system > Input Devices System under development > Output Devices Specify the classes of the external input/output devices and other actors (users, other systems, etc.) and the system classes See Vending Machine example in slides 5 slides no > Other Actors

The conceptual Level The system package is defined by a diagram representing the main classes and interface classes to external classes Each subsystem is represented by a class diagram defining the classes of objects needed to realize the use cases defined in the use case diagrams

The conceptual Level Identify the system classes as Interface objects, Monitors objects, controllers objects, Monitors > Input_devices or actors Controllers > Output_devices or actors

Example of System packages of E-Commerce Application 3 types of classes: Boundary, entity, and control See text p.177 Boundary entity control

The Analysis Level At the analysis level, class diagrams are refined by adding relationships between classes, attributes and methods depicting how objects of the static view are used to realize use cases in sequence diagrams Emphasis is placed on distributing behavior, resolving software interfaces, and identifying generalization relationships that will maximize the effectiveness of the object model

The Class Diagram Notation Identify classes, attributes of each class, and operations of each class Classes, their attributes and methods are specified based on the objects needed to realized use case and interfaces to external entities (see slides 3, registration system example: slides 26-43) Detailed Attributes, Data types, And operations Are defined/ refined During design

Identify Class relationships Pilot Commands Aircraft Control Association Aggregate/ Whole Aggregated/ Part Aggregation (hollow diamond)/ Composition (solid diamond) Child Parent Generalization

Associations Between Classes Associations between classes are generally shown as solid lines connecting the associated classes. A notable exceptions to the solid line rule are the use of dashed lines to depict dependencies as special case of association,

Associations Association is –static, structural relationship between classes –E.g, Employee works in Department –Multiplicity of Associations Specifies how many instances of one class may relate to a single association, Company hasPresident –1-to-many association, Bank managesAccount –Optional association (0, 1, or many) –Customer ownsCredit Card instance of another class –1-to-1 –Many-to-Many association –Course has Student, and Student attends Course

Dependency: A Special Case of Association Dependency CommandManager (Client class) depends on services provided by the other three server classes Client

Aggregation Relation Aggregation – A hollow diamond is attached to the end of the path to indicate aggregation. The diamond is attached to the class that is the aggregate. Aggregation provides a definitive conceptual whole part relationship

Aggregation Example Explore other examples of Aggregation Is an aggregate of Zero or more of

Composition: A Special Case of Aggregation Composition is shown as a solid filled diamond, with the diamond attached to the class that is the composite. Composition is a form of aggregation that requires coincident lifetime of the part with the whole and singular ownership; i.e. the part is owned by only one whole and is deleted when the whole is deleted Is composed of

Composition example

Generalization/Specialization Relation Generalization is shown as a solid-line arrow from the child (the more specific element) to the parent (the more general elementthis type of relationship is also called inheritance. Should be used to define class hierarchies based on abstraction

Generalization/Specialization Relation Controllers and Monitors are examples of abstract classes Controller Brake Controller Engine Controller

Multiplicity of Relationships Multiplici ties Meaning 0..1 zero or one instance. The notation n.. m indicates n to m instances. 0..* or * no limit on the number of instances (including none). 1exactly one instance 1..*at least one instance

Example of identifying Class Relations, Multiplicities, Attributes and operations

The Vending Machine Analysis Level Class Diagram

The Vending Machine Design Level Class Diagram

Example of Software Architecture Using UML2 SATELLITE CONTROL SYSTEM Architecture

A Simple Example of Software Architecture Using UML2 SATELLITE CONTROL SYSTEM Architecture