Scis.regis.edu ● CS-432: Modern Software Engineering Week 4 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.

Slides:



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

ZEIT2301 Design of Information Systems Behavioural Design: State Machines School of Engineering and Information Technology Dr Kathryn Merrick.
Stereotypes Stereotypes provide the capability to create a new kind of modeling element. –They can be used to classify or mark modeling elements. –A type.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Inheritance Java permits you to use your user defined classes to create programs using inheritance.
Object-Oriented Analysis and Design
Systems development life cycle & development methodologies
UML – Class Diagrams.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
THE OBJECT-ORIENTED DESIGN WORKFLOW Activity Diagrams.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
© Copyright Eliyahu Brutman Programming Techniques Course.
THE OBJECT-ORIENTED DESIGN WORKFLOW Statechart Diagrams.
Functional Modeling Chapter 6.
UML Notations Activity diagrams State diagrams Class diagrams Use-case diagrams.
Object Oriented Concepts. Movement toward Objects Instead of data-oriented or process-oriented Analysis, many firms are now moving to object-oriented.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Unified Modeling Language
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Introduction To System Analysis and design
OBJECT ORIENTED PROGRAMMING CONCEPTS ISC 560. Object-oriented Concepts  Objects – things names with nouns  Classes – classifications (groups) of similar.
CS-434: Object-Oriented Programming Using Java Week 2
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Unified Modeling Language, Version 2.0
Features of Object Oriented Programming Lec.4. ABSTRACTION AND ENCAPSULATION Computer programs can be very complex, perhaps the most complicated artifact.
Scis.regis.edu ● CS-432: Modern Software Engineering Week 2 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.
Java™ How to Program, 9/e Presented by: Dr. José M. Reyes Álamo © Copyright by Pearson Education, Inc. All Rights Reserved.
Chapter 7 System models.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 Domain Classes.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Inheritance - Polymorphism ITI 1121 Nour El Kadri.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Chapter 3 Inheritance and Polymorphism Goals: 1.Superclasses and subclasses 2.Inheritance Hierarchy 3.Polymorphism 4.Type Compatibility 5.Abstract Classes.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Midterm Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of Central.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 26. Review UML behavioral Diagrams – Sequence diagram.
1 Unified Modeling Language, Version 2.0 Chapter 2.
OOP Review CS 124.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Written by: Dr. JJ Shepherd
Object Modeling THETOPPERSWAY.COM. Object Modelling Technique(OMT)  Building a model of an application domain and then adding implementation.
ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #2 1.
 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.
Inheritance and Polymorphism
Terms and Rules II Professor Evan Korth New York University (All rights reserved)
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
Basic Characteristics of Object-Oriented Systems
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
Class Inheritance Part II: Overriding and Polymorphism Corresponds with Chapter 10.
Appendix 3 Object-Oriented Analysis and Design
Object-Oriented Design
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Chapter 11 Object-Oriented Design
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:

scis.regis.edu ● CS-432: Modern Software Engineering Week 4 Dr. Jesús Borrego Lead Faculty, COS Regis University 1

Class Outline Review of Homework Key Terms Inheritance and Generalization Transitivity and Abstract Classes Sequence Diagrams Activity Diagrams Statecharts Midterm exam Questions? 2

Review of Homework All homework submitted has been graded If you have not submitted some assignments, please do so right away Do not forget about next week’s homework Let me know if you are having problems with material in the course Make sure you read the material assigned before class and before attempting the homework 3

Key Terms Anthropomorphism – antropomorfismo Axiom – axioma Boundary class – clase en la periferia Instance – instancia Interface - interfaz 4

Inheritance & Generalization Relation Inheritance is the ability to define a new class by extending an existing class – attributes and operations of existing class are included in new class 5

Inheritance Example 6 Common characteristics are moved to parent (Section) Generalization Relations are used from child to parent (Classroom and Online) Describes isa type Note #id – protected (accessible in subclasses, but private to instantiated classes)

Inheritance terms Superclass – the parent of a set of classes; attributes and operations are inherited by the subclasses Subclass or Derived class – derived from the parent superclass, inheriting attributes and operations 7

Transitivity and Abstract Classes Class and Online objects are also a type of Model and inherit attributes and operations from Model 8

Transitivity and Abstract Classes (Cont’d) Abstract class – a class that is incomplete and cannot be instantiated. Denoted by using italics in the name Model and Section are abstract Classroom and Online are called concrete classes 9

Abstract Operations Some classes cannot be implemented until we determine the subclass – paintSelf, eraseSelf 10

Classifier and Instance Instance variables are variables that are created as part of the class (created when the class is instantiated) If we want to create variables that are not created every time the class is instantiated, we need to declare static variables A static variable is common to all class instantiations 11

Sequence Diagram Revisited 12 Loops

Sequence Diagram Revisited 13 Branching (opt)

Sequence Diagram Revisited 14 Referencing (ref)

Activity Diagram Activity diagrams are sometimes called “object- oriented flowcharts”. They allow you to model a process as a collection of activities and transitions between those activities. Activity diagrams are really just special cases of state diagrams where every state has an entry action that specifies some process or function that occurs when the state is entered. 15

Activity Diagram (Cont’d) Activity diagrams are used to document workflows in a system, from the business level down to the operational level. The general purpose of activity diagrams is to focus on flows driven by internal processing versus external events. 16

Activity Diagram - Elements 17

Activity Diagram – Elements (Cont’d) 18

19

Activity Diagram Process This section describes a five-step process used to create an activity diagram. 1.Since the activity diagram can be used to model any kind of process, you should first set the context or scope of the activity being modeled. Once you have determined the scope, you should give the diagram an appropriate title. 2.You must identify the activities, control flows, and object flows that occur between the activities. 3.You should identify any decisions that are part of the process being modeled. 4.You should attempt to identify any prospects for parallelism in the process. 5.You should draw the activity diagram. 20

Statechart diagram Statechart diagrams also model the dynamic behavior aspects of a system. Statechart diagrams tend to be used for modeling the lifecycle history of a single object in the system. Some objects are incredibly complicated, so complex that developers can have difficulty understanding them. 21

States The state of an object is defined by the value of its attributes and its relationships with other objects at a particular point in time. The attributes of an object affect the state it is in. The key to successful statechart modeling is to identify the states that make a difference to your system. 22

Events An event is something that takes place at a certain point in time and changes a value(s) that describes an object, which, in turn, changes the object’s state. It can be a designated condition becoming true, the receipt of the call for a method by an object, or the passage of a designated time period. The state of the object determines exactly what the response will be. 23

Transitions A transition is a relationship that represents the movement of an object from one state to another state. Some transitions will have a guard condition (represents the value of the test for that particular path to be executed)guard condition An object typically moves from one state to another based on the outcome of an action that is triggered by an event. 24

Actions and Activities An action is an atomic, non-decomposable process that cannot be interrupted. From a practical perspective, actions take zero time, and they are associated with a transition. In contrast, an activity is a decomposable process that can be interrupted. Activities take a long period of time to complete, they can be started or stopped by an action, and they are associated with states. 25

Statechart Diagram Elements 26

Building a Statechart Diagram 27

Polymorphism Is an important concept used in virtually every object-oriented design. Means many forms and concerns the ability of an object to dynamically take on a different form depending on the runtime context. Polymorphism involves the behavior of objects. This behavior is a direct result of the inherent design of a class. 28

Activity 1 Develop a state diagram for the state of a video in the Blockbuster case study Consider when the video is ordered, purchased and entered in the store for check out. Work as a group (30 min.) 29

Homework 4 This week you will begin working on your design model, which will consist of class and sequence diagrams. The models in this assignment will be assessed using the DesignModelRubrics.doc expectations rubric.DesignModelRubrics.doc Submit to WorldClass before Week 5 30

Next Class Wednesday, February 5, 2014 Make sure you turn in any assignments due by next class We review the midterm exam next week, so submit to WorldClass before week 5’s class 31