COP 4331 OO Processes for Software Development Lab1 © Dr. David A. Workman School of EE and Computer Science University of Central Florida May 11, 2005.

Slides:



Advertisements
Similar presentations
Requirements Elicitation and Use Case Diagrams
Advertisements

From use cases to classes (in UML). A use case for writing use cases Use case: writing a use case Actors: analyst, client(s) Client identifies and write.
AP Computer Science A – Healdsburg High School 1 Unit 3 - Classes and Objects - Example.
Modules Program is built out of components. Each component defines a set of logically related entities (strong internal coupling) A component has a public.
Grocery Checkout Simulation System (CSS). September 24, 2001GSS Architecture2 Grocery Store Simulation Entry Exit Aisle 1 Aisle 2 Cart Pool Conveyor 0.
Lab4 Modeling the Conveyor Agent for the Grocery Checkout System
Embedded Systems Details. Object Model: Four main system objects or classes Controller object might be made up of several controllers is the brains of.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
What is UML? A modeling language standardized by the OMG (Object Management Group), and widely used in OO analysis and design A modeling language is a.
Lecturer: Dr. AJ Bieszczad Chapter 66-1 Object-Oriented analysis and design Special nature of OO development Use cases Design with UML OO system design.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
An Introduction to Rational Rose Real-Time
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Requirements Specification with Data Flow Diagrams COP 4331 and EEL4884 OO Processes for Software Systems Development © Dr. David A. Workman School of.
Unified Modeling Language
Object-Oriented Analysis and Design
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
UML for Java Programmers Object Mentor, Inc. Copyright  by Object Mentor, Inc All Rights Reserved
PHP Tutorials 02 Olarik Surinta Management Information System Faculty of Informatics.
Introduction to Object Oriented Design. Topics Designing Your Own Classes Attributes and Behaviors Class Diagrams.
ECE 264 Object-Oriented Software Development Instructor: Dr. Honggang Wang Fall 2012 Lecture 3: Requirements Specification, C++ Basics.
ITEC 370 Lecture 10 Design. Review Design –Why is it part of the process? –Who is the audience for design?
Interaction Modeling. Overview The class model describes the objects in a system and their relationships, the state model describes the life cycles of.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
Chapter 5 Implementing UML Specification (Part II) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
An Introduction to Java Chapter 11 Object-Oriented Application Development: Part I.
Requirements Specification for Lab3 COP4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of Computer Science University.
Use Case Diagram: Exercise 5 and 6 Yong Choi BPA CSUB.
Interaction Modeling Extracted from textbook:
Lab3 Use Case Modeling Lessons Learned COP 4232: Software Systems Development © Dr. David A. Workman School of EE and Computer Science University of Central.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 13 Introduction to Classes.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: Review Session (Optional)
DFDs vs. Use Case Modeling COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University.
Chapter 9: Visual Programming Basics Object-Oriented Program Development Using Java: A Class-Centered Approach.
Real Time Systems Modeling Structure in UML (Part I)
Data Structures Using C++1 Chapter 1 -Software Engineering Principles -ADT and Classes.
Lecture 1 Introduction. 1-2 Your world is filled with objects. Many of these objects are controlled by computers. Computers rely on ___________ to determine.
Chapter 16 Applying UML and Patterns Craig Larman
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 03. Classes,
© 2005 Prentice Hall9-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
An Introduction to the Unified Modeling Language
Chapter 15 Introduction to PL/SQL. Chapter Objectives  Explain the benefits of using PL/SQL blocks versus several SQL statements  Identify the sections.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 5 Implementing UML Specification (Part II) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Chapter 10 Defining Classes. The Internal Structure of Classes and Objects Object – collection of data and operations, in which the data can be accessed.
1 Chapter 5 Modeling System Requirements Finding the Use Cases Page
Relationships Relationships between objects and between classes.
Chapter 10 Classes and Objects In-Depth. Chapter 10 A class provides the foundation for creating specific objects, each of which shares the general attributes,
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.
INFO 620Lecture #71 Information Systems Analysis and Design Design Class Diagrams and others INFO 620 Glenn Booker.
Chapter 5 Classes and Methods II Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 10: Statecharts.
UML - Development Process 1 Software Development Process Using UML.
Chapter 7 Classes and Methods III: Static Methods and Variables Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition)
Requirements Specification for Lab1 COP4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of Computer Science University.
Requirements Modeling with Data Flow Diagrams CEN5016 Software Engineering © Dr. David A. Workman School of EE and CS University of Central Florida January.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Lecture 1 Introduction. © 2006 Pearson Addison-Wesley. All rights reserved 1-2 Your world is filled with objects. Many of these objects are controlled.
UML (Unified Modeling Language)
CSCI 51 Introduction to Programming Dr. Joshua Stough February 26, 2009.
Chapter 5 Introduction to Defining Classes Fundamentals of Java.
1 Object Oriented Analysis System modeling = Functional modeling + Object modeling + Dynamic modeling Functional modeling = Use cases Object modeling =class.
Final Exam Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of.
Jim Fawcett CSE681 – Software Modeling and Analysis Fall 2017
Chapter 3: Using Methods, Classes, and Objects
Object Oriented Concepts -I
Interaction Modeling Extracted from textbook:
Design Yaodong Bi.
Software Development Process Using UML Recap
Presentation transcript:

COP 4331 OO Processes for Software Development Lab1 © Dr. David A. Workman School of EE and Computer Science University of Central Florida May 11, 2005 January 21, 2007

January 8, 2007(c) Dr. David A. Workman2 UML Concepts and Notation Name Attributes (private) Operations (public) Respon- sibilities (public) ClassActive Class Name Packages Textual content Note Action Use case Actor Analysis Entity Class Analysis Boundary Class Analysis Control Class Relationships Association Dependency or Flow Refinement Generalization Composition Aggregation Component Name Attributes (private) Operations (public) Respon- sibilities (public) Name class 1 * 0..1 m..n exactly one zero or more optional bounded range { constraint }« stereotype »

January 8, 2007(c) Dr. David A. Workman3 Figure 1 #include “AppError.h” namespace Object { // Declare C++ functions representing methods of the namespace object. // At least one of these function must always be defined to properly initialize // the object’s environment before any other method can be called. These // initialization functions serve the same purpose as constructors of a class // type. The default initialization method is declared below. void Initialize(); } Object.h #include “Object.h” namespace Object { } Object.cpp void Initialize() { } Define encapsulated data members here. Primitive data can be directly initialized. Data members of a Class type should be defined as pointers and intialized by the initialization method(s). Define the bodies of the functions declared in the header file. The bodies are defined using The same syntax you would use for functions in C, but they have direct visibility to all data members defined at the top of the namespace.

January 8, 2007(c) Dr. David A. Workman4 Figure 2 #include “Object.h” int main() { …. Object::Initialize(); // Call Object initialization fn … Object::Function1(…); // Call Object procedure … x = Object::Function2(…); // Call Object function }

January 8, 2007(c) Dr. David A. Workman5 Figure 3 Soda Delivery Port Soda Menu & Selection Buttons Access Lock for restocking Digital Display Coin Input Slot Coin Return Port Paper Bill Input Scanner

January 8, 2007(c) Dr. David A. Workman6 Vending Machine Simulator File System Sim User Initialize Machine Execute Command Restock VM Purchase Beverage Dispense Beverage Present VM State > Sim User

January 8, 2007(c) Dr. David A. Workman7 Vending Machine Consumer Restock VM Purchase Beverage Dispense Beverage Service Guy Interaction Interface includes state of all VM boundary objects; for example, Money display, Coin return, Beverage return, Select buttons, Beverage prices.

January 8, 2007(c) Dr. David A. Workman8 Use Case Flow Initialize Machine Execute Command Restock VM Purchase Beverage Dispense Beverage Present VM State [exit] [restock] [Dispense] [Purchase]

January 8, 2007(c) Dr. David A. Workman9 System State Model StartCommand Initialize VM Restock Dispense Pay exit Halt

January 8, 2007(c) Dr. David A. Workman10 State Transition Models (Active Objects) Behavior Mode Start [C 1 ] Event/[C 2 ]Action [C 1 ] an [optional] boolean precondition that must be true before Event can trigger a transition; no precondition implies the transition will occur unconditionally whenever the Event occurs in the system. [C 2 ] an [optional] boolean precondition that must be true before Action will be executed whenever the transition occurs ; no precondition implies Action will be executed unconditionally whenever the transition occurs. Event: a signal or message received that can potenitally trigger a change in state and/or precipitate an action. Action: a computation performed in response to an event that triggers a state transition; in a simulation, this computation typically sends messages to other Agents. State: an activity or behavior mode that will continue until the next event; an activity could be a state of idleness. Stop [C 1 ] Event/[C 2 ]Action

January 8, 2007(c) Dr. David A. Workman11 Use Case: Restock VM Service Guy 1: unlock 7: lock Front Panel Access Lock 2: open 6: close Front Panel Door Beverage Rack *4: Fill with Coin [i] (quant) Coin Dispenser *3: Fill with Bev [i] (quant) 5: Empty Coin Catch Bucket restock unlock Bev[i] [1] = (Bev[i] < BevMax[i]-1) [2] = (Bev[i] = BevMax[i]) [3] = (Coin[i] < CMax[i] – 1) [4] = (Coin[i] = CMax[i]) [5] = ~(Catch Bucket Empty) [1] Add Bev[i] /Bev[i]++ [1] Add Bev[i] /Bev[i]++ (~[1]) Add Bev[i] /Bev[i]++ [2] Add Bev[i] [4] Add Coin[i] Restock Error Coin[i] [3] Add Coin[i] /Coin[i]++ [3] Add Coin[i] /Coin[i]++ (~[3]) Add Coin[i] /Coin[i]++ (~[1]&~[2]) Add Bev[i]/Bev[i]++ (~[3]&~[4]) Add Coin[i]/Coin[i]++ [5] Empty Catch Bucket lock Restock Error other Transition Conditions